diff --git a/.codspeed/results_1740207625903.json b/.codspeed/results_1740207625903.json new file mode 100644 index 00000000..8494d3b7 --- /dev/null +++ b/.codspeed/results_1740207625903.json @@ -0,0 +1,1205 @@ +{ + "creator": { + "name": "pytest-codspeed", + "version": "3.2.0", + "pid": 63790 + }, + "python": { + "sysconfig": { + "prefix": "/Users/pablo/.asdf/installs/python/3.12.8", + "exec_prefix": "/Users/pablo/.asdf/installs/python/3.12.8", + "py_version": "3.12.8", + "py_version_short": "3.12", + "py_version_nodot": "312", + "installed_base": "/Users/pablo/.asdf/installs/python/3.12.8", + "base": "/Users/pablo/.asdf/installs/python/3.12.8", + "installed_platbase": "/Users/pablo/.asdf/installs/python/3.12.8", + "platbase": "/Users/pablo/.asdf/installs/python/3.12.8", + "projectbase": "/Users/pablo/.asdf/installs/python/3.12.8/bin", + "platlibdir": "lib", + "abiflags": "", + "py_version_nodot_plat": "", + "ABIFLAGS": "", + "AC_APPLE_UNIVERSAL_BUILD": 0, + "AIX_BUILDDATE": 0, + "AIX_GENUINE_CPLUSPLUS": 0, + "ALIGNOF_LONG": 8, + "ALIGNOF_MAX_ALIGN_T": 8, + "ALIGNOF_SIZE_T": 8, + "ALT_SOABI": 0, + "ANDROID_API_LEVEL": 0, + "AR": "ar", + "ARFLAGS": "rcs", + "BASECFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code", + "BASECPPFLAGS": "", + "BASEMODLIBS": "", + "BINDIR": "/Users/pablo/.asdf/installs/python/3.12.8/bin", + "BINLIBDEST": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "BLDLIBRARY": "-L. -lpython3.12", + "BLDSHARED": "clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "BOOTSTRAP_HEADERS": "\\", + "BUILDEXE": ".exe", + "BUILDPYTHON": "python.exe", + "BUILD_GNU_TYPE": "aarch64-apple-darwin24.1.0", + "BUILD_SCRIPTS_DIR": "build/scripts-3.12", + "BYTESTR_DEPS": "\\", + "CC": "clang", + "CCSHARED": "", + "CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall", + "CFLAGSFORSHARED": "", + "CFLAGS_ALIASING": "-fno-strict-aliasing", + "CFLAGS_NODIST": "", + "CODECS_COMMON_HEADERS": "./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "COMPILEALL_OPTS": "-j0", + "CONFIGFILES": "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in", + "CONFIGURE_CFLAGS": "", + "CONFIGURE_CFLAGS_NODIST": "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden", + "CONFIGURE_CPPFLAGS": "-I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "CONFIGURE_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "CONFIGURE_LDFLAGS_NODIST": "", + "CONFIGURE_LDFLAGS_NOLTO": "", + "CONFIG_ARGS": "'--prefix=/Users/pablo/.asdf/installs/python/3.12.8' '--enable-shared' '--libdir=/Users/pablo/.asdf/installs/python/3.12.8/lib' '--with-openssl=/opt/homebrew/opt/openssl@3' 'PKG_CONFIG_PATH=/opt/homebrew/opt/openssl@3/lib/pkgconfig/:' 'CC=clang' 'LDFLAGS=-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib' 'LIBS=-L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib' 'CPPFLAGS=-I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include'", + "CONFINCLUDEDIR": "/Users/pablo/.asdf/installs/python/3.12.8/include", + "CONFINCLUDEPY": "/Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "COREPYTHONPATH": "", + "COVERAGE_INFO": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8/coverage.info", + "COVERAGE_LCOV_OPTIONS": "--rc lcov_branch_coverage=1", + "COVERAGE_REPORT": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8/lcov-report", + "COVERAGE_REPORT_OPTIONS": "--rc lcov_branch_coverage=1 --branch-coverage --title \"CPython 3.12 LCOV report [commit $(shell )]\"", + "CPPFLAGS": "-I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "CXX": "clang++", + "DEEPFREEZE_C": "Python/deepfreeze/deepfreeze.c", + "DEEPFREEZE_DEPS": "./Tools/build/deepfreeze.py _bootstrap_python ./Programs/_freeze_module.py \\", + "DEEPFREEZE_OBJS": "Python/deepfreeze/deepfreeze.o", + "DESTDIRS": "/Users/pablo/.asdf/installs/python/3.12.8 /Users/pablo/.asdf/installs/python/3.12.8/lib /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12 /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/lib-dynload", + "DESTLIB": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "DESTPATH": "", + "DESTSHARED": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/lib-dynload", + "DFLAGS": "", + "DIRMODE": 755, + "DIST": "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy", + "DISTDIRS": "Include Lib Misc Ext-dummy", + "DISTFILES": "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in", + "DLINCLDIR": ".", + "DLLLIBRARY": "", + "DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754": 0, + "DOUBLE_IS_BIG_ENDIAN_IEEE754": 0, + "DOUBLE_IS_LITTLE_ENDIAN_IEEE754": 1, + "DSYMUTIL": "", + "DSYMUTIL_PATH": "", + "DTRACE": "", + "DTRACE_DEPS": "\\", + "DTRACE_HEADERS": "", + "DTRACE_OBJS": "", + "DYNLOADFILE": "dynload_shlib.o", + "ENABLE_IPV6": 1, + "ENSUREPIP": "upgrade", + "EXE": "", + "EXEMODE": 755, + "EXENAME": "/Users/pablo/.asdf/installs/python/3.12.8/bin/python3.12", + "EXPORTSFROM": "", + "EXPORTSYMS": "", + "EXTRATESTOPTS": "", + "EXTRA_CFLAGS": "", + "EXT_SUFFIX": ".cpython-312-darwin.so", + "FILEMODE": 644, + "FREEZE_MODULE": "./_bootstrap_python ./Programs/_freeze_module.py", + "FREEZE_MODULE_BOOTSTRAP": "./Programs/_freeze_module", + "FREEZE_MODULE_BOOTSTRAP_DEPS": "Programs/_freeze_module", + "FREEZE_MODULE_DEPS": "_bootstrap_python ./Programs/_freeze_module.py", + "FROZEN_FILES_IN": "\\", + "FROZEN_FILES_OUT": "\\", + "GETPGRP_HAVE_ARG": 0, + "GITBRANCH": "", + "GITTAG": "", + "GITVERSION": "", + "GNULD": "no", + "HAVE_ACCEPT": 1, + "HAVE_ACCEPT4": 0, + "HAVE_ACOSH": 1, + "HAVE_ADDRINFO": 1, + "HAVE_ALARM": 1, + "HAVE_ALIGNED_REQUIRED": 0, + "HAVE_ALLOCA_H": 1, + "HAVE_ALTZONE": 0, + "HAVE_ASINH": 1, + "HAVE_ASM_TYPES_H": 0, + "HAVE_ATANH": 1, + "HAVE_BIND": 1, + "HAVE_BIND_TEXTDOMAIN_CODESET": 1, + "HAVE_BLUETOOTH_BLUETOOTH_H": 0, + "HAVE_BLUETOOTH_H": 0, + "HAVE_BROKEN_MBSTOWCS": 0, + "HAVE_BROKEN_NICE": 0, + "HAVE_BROKEN_PIPE_BUF": 0, + "HAVE_BROKEN_POLL": 0, + "HAVE_BROKEN_POSIX_SEMAPHORES": 0, + "HAVE_BROKEN_PTHREAD_SIGMASK": 0, + "HAVE_BROKEN_SEM_GETVALUE": 1, + "HAVE_BROKEN_UNSETENV": 0, + "HAVE_BUILTIN_ATOMIC": 1, + "HAVE_BZLIB_H": 1, + "HAVE_CHFLAGS": 1, + "HAVE_CHMOD": 1, + "HAVE_CHOWN": 1, + "HAVE_CHROOT": 1, + "HAVE_CLOCK": 1, + "HAVE_CLOCK_GETRES": 1, + "HAVE_CLOCK_GETTIME": 1, + "HAVE_CLOCK_NANOSLEEP": 0, + "HAVE_CLOCK_SETTIME": 1, + "HAVE_CLOSE_RANGE": 0, + "HAVE_COMPUTED_GOTOS": 1, + "HAVE_CONFSTR": 1, + "HAVE_CONIO_H": 0, + "HAVE_CONNECT": 1, + "HAVE_COPY_FILE_RANGE": 0, + "HAVE_CRYPT_H": 0, + "HAVE_CRYPT_R": 0, + "HAVE_CTERMID": 1, + "HAVE_CTERMID_R": 1, + "HAVE_CURSES_FILTER": 1, + "HAVE_CURSES_H": 1, + "HAVE_CURSES_HAS_KEY": 1, + "HAVE_CURSES_IMMEDOK": 1, + "HAVE_CURSES_IS_PAD": 1, + "HAVE_CURSES_IS_TERM_RESIZED": 1, + "HAVE_CURSES_RESIZETERM": 1, + "HAVE_CURSES_RESIZE_TERM": 1, + "HAVE_CURSES_SYNCOK": 1, + "HAVE_CURSES_TYPEAHEAD": 1, + "HAVE_CURSES_USE_ENV": 1, + "HAVE_CURSES_WCHGAT": 1, + "HAVE_DB_H": 1, + "HAVE_DECL_RTLD_DEEPBIND": 0, + "HAVE_DECL_RTLD_GLOBAL": 1, + "HAVE_DECL_RTLD_LAZY": 1, + "HAVE_DECL_RTLD_LOCAL": 1, + "HAVE_DECL_RTLD_MEMBER": 0, + "HAVE_DECL_RTLD_NODELETE": 1, + "HAVE_DECL_RTLD_NOLOAD": 1, + "HAVE_DECL_RTLD_NOW": 1, + "HAVE_DECL_TZNAME": 0, + "HAVE_DEVICE_MACROS": 1, + "HAVE_DEV_PTC": 0, + "HAVE_DEV_PTMX": 1, + "HAVE_DIRECT_H": 0, + "HAVE_DIRENT_D_TYPE": 1, + "HAVE_DIRENT_H": 1, + "HAVE_DIRFD": 1, + "HAVE_DLFCN_H": 1, + "HAVE_DLOPEN": 1, + "HAVE_DUP": 1, + "HAVE_DUP2": 1, + "HAVE_DUP3": 0, + "HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH": 1, + "HAVE_DYNAMIC_LOADING": 1, + "HAVE_EDITLINE_READLINE_H": 0, + "HAVE_ENDIAN_H": 0, + "HAVE_EPOLL": 0, + "HAVE_EPOLL_CREATE1": 0, + "HAVE_ERF": 1, + "HAVE_ERFC": 1, + "HAVE_ERRNO_H": 1, + "HAVE_EVENTFD": 0, + "HAVE_EXECV": 1, + "HAVE_EXPLICIT_BZERO": 0, + "HAVE_EXPLICIT_MEMSET": 0, + "HAVE_EXPM1": 1, + "HAVE_FACCESSAT": 1, + "HAVE_FCHDIR": 1, + "HAVE_FCHMOD": 1, + "HAVE_FCHMODAT": 1, + "HAVE_FCHOWN": 1, + "HAVE_FCHOWNAT": 1, + "HAVE_FCNTL_H": 1, + "HAVE_FDATASYNC": 0, + "HAVE_FDOPENDIR": 1, + "HAVE_FDWALK": 0, + "HAVE_FEXECVE": 0, + "HAVE_FFI_CLOSURE_ALLOC": 1, + "HAVE_FFI_PREP_CIF_VAR": 1, + "HAVE_FFI_PREP_CLOSURE_LOC": 1, + "HAVE_FLOCK": 1, + "HAVE_FORK": 1, + "HAVE_FORK1": 0, + "HAVE_FORKPTY": 1, + "HAVE_FPATHCONF": 1, + "HAVE_FSEEK64": 0, + "HAVE_FSEEKO": 1, + "HAVE_FSTATAT": 1, + "HAVE_FSTATVFS": 1, + "HAVE_FSYNC": 1, + "HAVE_FTELL64": 0, + "HAVE_FTELLO": 1, + "HAVE_FTIME": 1, + "HAVE_FTRUNCATE": 1, + "HAVE_FUTIMENS": 1, + "HAVE_FUTIMES": 1, + "HAVE_FUTIMESAT": 0, + "HAVE_GAI_STRERROR": 1, + "HAVE_GCC_ASM_FOR_MC68881": 0, + "HAVE_GCC_ASM_FOR_X64": 0, + "HAVE_GCC_ASM_FOR_X87": 0, + "HAVE_GCC_UINT128_T": 1, + "HAVE_GDBM_DASH_NDBM_H": 0, + "HAVE_GDBM_H": 0, + "HAVE_GDBM_NDBM_H": 0, + "HAVE_GETADDRINFO": 1, + "HAVE_GETC_UNLOCKED": 1, + "HAVE_GETEGID": 1, + "HAVE_GETENTROPY": 1, + "HAVE_GETEUID": 1, + "HAVE_GETGID": 1, + "HAVE_GETGRGID": 1, + "HAVE_GETGRGID_R": 1, + "HAVE_GETGRNAM_R": 1, + "HAVE_GETGROUPLIST": 1, + "HAVE_GETGROUPS": 1, + "HAVE_GETHOSTBYADDR": 1, + "HAVE_GETHOSTBYNAME": 1, + "HAVE_GETHOSTBYNAME_R": 0, + "HAVE_GETHOSTBYNAME_R_3_ARG": 0, + "HAVE_GETHOSTBYNAME_R_5_ARG": 0, + "HAVE_GETHOSTBYNAME_R_6_ARG": 0, + "HAVE_GETHOSTNAME": 1, + "HAVE_GETITIMER": 1, + "HAVE_GETLOADAVG": 1, + "HAVE_GETLOGIN": 1, + "HAVE_GETNAMEINFO": 1, + "HAVE_GETPAGESIZE": 1, + "HAVE_GETPEERNAME": 1, + "HAVE_GETPGID": 1, + "HAVE_GETPGRP": 1, + "HAVE_GETPID": 1, + "HAVE_GETPPID": 1, + "HAVE_GETPRIORITY": 1, + "HAVE_GETPROTOBYNAME": 1, + "HAVE_GETPWENT": 1, + "HAVE_GETPWNAM_R": 1, + "HAVE_GETPWUID": 1, + "HAVE_GETPWUID_R": 1, + "HAVE_GETRANDOM": 0, + "HAVE_GETRANDOM_SYSCALL": 0, + "HAVE_GETRESGID": 0, + "HAVE_GETRESUID": 0, + "HAVE_GETRUSAGE": 1, + "HAVE_GETSERVBYNAME": 1, + "HAVE_GETSERVBYPORT": 1, + "HAVE_GETSID": 1, + "HAVE_GETSOCKNAME": 1, + "HAVE_GETSPENT": 0, + "HAVE_GETSPNAM": 0, + "HAVE_GETUID": 1, + "HAVE_GETWD": 1, + "HAVE_GLIBC_MEMMOVE_BUG": 0, + "HAVE_GRP_H": 1, + "HAVE_HSTRERROR": 1, + "HAVE_HTOLE64": 0, + "HAVE_IEEEFP_H": 0, + "HAVE_IF_NAMEINDEX": 1, + "HAVE_INET_ATON": 1, + "HAVE_INET_NTOA": 1, + "HAVE_INET_PTON": 1, + "HAVE_INITGROUPS": 1, + "HAVE_INTTYPES_H": 1, + "HAVE_IO_H": 0, + "HAVE_IPA_PURE_CONST_BUG": 0, + "HAVE_KILL": 1, + "HAVE_KILLPG": 1, + "HAVE_KQUEUE": 1, + "HAVE_LANGINFO_H": 1, + "HAVE_LARGEFILE_SUPPORT": 0, + "HAVE_LCHFLAGS": 1, + "HAVE_LCHMOD": 1, + "HAVE_LCHOWN": 1, + "HAVE_LIBB2": 0, + "HAVE_LIBDB": 0, + "HAVE_LIBDL": 1, + "HAVE_LIBDLD": 0, + "HAVE_LIBIEEE": 0, + "HAVE_LIBINTL_H": 1, + "HAVE_LIBRESOLV": 0, + "HAVE_LIBSENDFILE": 0, + "HAVE_LIBSQLITE3": 1, + "HAVE_LIBUTIL_H": 0, + "HAVE_LINK": 1, + "HAVE_LINKAT": 1, + "HAVE_LINUX_AUXVEC_H": 0, + "HAVE_LINUX_CAN_BCM_H": 0, + "HAVE_LINUX_CAN_H": 0, + "HAVE_LINUX_CAN_J1939_H": 0, + "HAVE_LINUX_CAN_RAW_FD_FRAMES": 0, + "HAVE_LINUX_CAN_RAW_H": 0, + "HAVE_LINUX_CAN_RAW_JOIN_FILTERS": 0, + "HAVE_LINUX_FS_H": 0, + "HAVE_LINUX_LIMITS_H": 0, + "HAVE_LINUX_MEMFD_H": 0, + "HAVE_LINUX_NETLINK_H": 0, + "HAVE_LINUX_QRTR_H": 0, + "HAVE_LINUX_RANDOM_H": 0, + "HAVE_LINUX_SOUNDCARD_H": 0, + "HAVE_LINUX_TIPC_H": 0, + "HAVE_LINUX_VM_SOCKETS_H": 0, + "HAVE_LINUX_WAIT_H": 0, + "HAVE_LISTEN": 1, + "HAVE_LOCKF": 1, + "HAVE_LOG1P": 1, + "HAVE_LOG2": 1, + "HAVE_LOGIN_TTY": 1, + "HAVE_LONG_DOUBLE": 1, + "HAVE_LSTAT": 1, + "HAVE_LUTIMES": 1, + "HAVE_LZMA_H": 1, + "HAVE_MADVISE": 1, + "HAVE_MAKEDEV": 1, + "HAVE_MBRTOWC": 1, + "HAVE_MEMFD_CREATE": 0, + "HAVE_MEMRCHR": 0, + "HAVE_MINIX_CONFIG_H": 0, + "HAVE_MKDIRAT": 1, + "HAVE_MKFIFO": 1, + "HAVE_MKFIFOAT": 1, + "HAVE_MKNOD": 1, + "HAVE_MKNODAT": 1, + "HAVE_MKTIME": 1, + "HAVE_MMAP": 1, + "HAVE_MREMAP": 0, + "HAVE_NANOSLEEP": 1, + "HAVE_NCURSESW": 1, + "HAVE_NCURSES_H": 1, + "HAVE_NDBM_H": 1, + "HAVE_NDIR_H": 0, + "HAVE_NETCAN_CAN_H": 0, + "HAVE_NETDB_H": 1, + "HAVE_NETINET_IN_H": 1, + "HAVE_NETPACKET_PACKET_H": 0, + "HAVE_NET_ETHERNET_H": 1, + "HAVE_NET_IF_H": 1, + "HAVE_NICE": 1, + "HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION": 0, + "HAVE_OPENAT": 1, + "HAVE_OPENDIR": 1, + "HAVE_OPENPTY": 1, + "HAVE_PANEL_H": 1, + "HAVE_PATHCONF": 1, + "HAVE_PAUSE": 1, + "HAVE_PIPE": 1, + "HAVE_PIPE2": 0, + "HAVE_PLOCK": 0, + "HAVE_POLL": 1, + "HAVE_POLL_H": 1, + "HAVE_POSIX_FADVISE": 0, + "HAVE_POSIX_FALLOCATE": 0, + "HAVE_POSIX_SPAWN": 1, + "HAVE_POSIX_SPAWNP": 1, + "HAVE_PREAD": 1, + "HAVE_PREADV": 1, + "HAVE_PREADV2": 0, + "HAVE_PRLIMIT": 0, + "HAVE_PROCESS_H": 0, + "HAVE_PROTOTYPES": 1, + "HAVE_PTHREAD_CONDATTR_SETCLOCK": 0, + "HAVE_PTHREAD_DESTRUCTOR": 0, + "HAVE_PTHREAD_GETCPUCLOCKID": 0, + "HAVE_PTHREAD_H": 1, + "HAVE_PTHREAD_INIT": 0, + "HAVE_PTHREAD_KILL": 1, + "HAVE_PTHREAD_SIGMASK": 1, + "HAVE_PTHREAD_STUBS": 0, + "HAVE_PTY_H": 0, + "HAVE_PWRITE": 1, + "HAVE_PWRITEV": 1, + "HAVE_PWRITEV2": 0, + "HAVE_READLINE_READLINE_H": 1, + "HAVE_READLINK": 1, + "HAVE_READLINKAT": 1, + "HAVE_READV": 1, + "HAVE_REALPATH": 1, + "HAVE_RECVFROM": 1, + "HAVE_RENAMEAT": 1, + "HAVE_RL_APPEND_HISTORY": 1, + "HAVE_RL_CATCH_SIGNAL": 1, + "HAVE_RL_COMPDISP_FUNC_T": 1, + "HAVE_RL_COMPLETION_APPEND_CHARACTER": 1, + "HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK": 1, + "HAVE_RL_COMPLETION_MATCHES": 1, + "HAVE_RL_COMPLETION_SUPPRESS_APPEND": 1, + "HAVE_RL_PRE_INPUT_HOOK": 1, + "HAVE_RL_RESIZE_TERMINAL": 1, + "HAVE_RPC_RPC_H": 1, + "HAVE_RTPSPAWN": 0, + "HAVE_SCHED_GET_PRIORITY_MAX": 1, + "HAVE_SCHED_H": 1, + "HAVE_SCHED_RR_GET_INTERVAL": 0, + "HAVE_SCHED_SETAFFINITY": 0, + "HAVE_SCHED_SETPARAM": 0, + "HAVE_SCHED_SETSCHEDULER": 0, + "HAVE_SEM_CLOCKWAIT": 0, + "HAVE_SEM_GETVALUE": 1, + "HAVE_SEM_OPEN": 1, + "HAVE_SEM_TIMEDWAIT": 0, + "HAVE_SEM_UNLINK": 1, + "HAVE_SENDFILE": 1, + "HAVE_SENDTO": 1, + "HAVE_SETEGID": 1, + "HAVE_SETEUID": 1, + "HAVE_SETGID": 1, + "HAVE_SETGROUPS": 1, + "HAVE_SETHOSTNAME": 1, + "HAVE_SETITIMER": 1, + "HAVE_SETJMP_H": 1, + "HAVE_SETLOCALE": 1, + "HAVE_SETNS": 0, + "HAVE_SETPGID": 1, + "HAVE_SETPGRP": 1, + "HAVE_SETPRIORITY": 1, + "HAVE_SETREGID": 1, + "HAVE_SETRESGID": 0, + "HAVE_SETRESUID": 0, + "HAVE_SETREUID": 1, + "HAVE_SETSID": 1, + "HAVE_SETSOCKOPT": 1, + "HAVE_SETUID": 1, + "HAVE_SETVBUF": 1, + "HAVE_SHADOW_H": 0, + "HAVE_SHM_OPEN": 1, + "HAVE_SHM_UNLINK": 1, + "HAVE_SHUTDOWN": 1, + "HAVE_SIGACTION": 1, + "HAVE_SIGALTSTACK": 1, + "HAVE_SIGFILLSET": 1, + "HAVE_SIGINFO_T_SI_BAND": 1, + "HAVE_SIGINTERRUPT": 1, + "HAVE_SIGNAL_H": 1, + "HAVE_SIGPENDING": 1, + "HAVE_SIGRELSE": 1, + "HAVE_SIGTIMEDWAIT": 0, + "HAVE_SIGWAIT": 1, + "HAVE_SIGWAITINFO": 0, + "HAVE_SNPRINTF": 1, + "HAVE_SOCKADDR_ALG": 0, + "HAVE_SOCKADDR_SA_LEN": 1, + "HAVE_SOCKADDR_STORAGE": 1, + "HAVE_SOCKET": 1, + "HAVE_SOCKETPAIR": 1, + "HAVE_SPAWN_H": 1, + "HAVE_SPLICE": 0, + "HAVE_SSIZE_T": 1, + "HAVE_STATVFS": 1, + "HAVE_STAT_TV_NSEC": 0, + "HAVE_STAT_TV_NSEC2": 1, + "HAVE_STDINT_H": 1, + "HAVE_STDIO_H": 1, + "HAVE_STDLIB_H": 1, + "HAVE_STD_ATOMIC": 1, + "HAVE_STRFTIME": 1, + "HAVE_STRINGS_H": 1, + "HAVE_STRING_H": 1, + "HAVE_STRLCPY": 1, + "HAVE_STROPTS_H": 0, + "HAVE_STRSIGNAL": 1, + "HAVE_STRUCT_PASSWD_PW_GECOS": 1, + "HAVE_STRUCT_PASSWD_PW_PASSWD": 1, + "HAVE_STRUCT_STAT_ST_BIRTHTIME": 1, + "HAVE_STRUCT_STAT_ST_BLKSIZE": 1, + "HAVE_STRUCT_STAT_ST_BLOCKS": 1, + "HAVE_STRUCT_STAT_ST_FLAGS": 1, + "HAVE_STRUCT_STAT_ST_GEN": 1, + "HAVE_STRUCT_STAT_ST_RDEV": 1, + "HAVE_STRUCT_TM_TM_ZONE": 1, + "HAVE_SYMLINK": 1, + "HAVE_SYMLINKAT": 1, + "HAVE_SYNC": 1, + "HAVE_SYSCONF": 1, + "HAVE_SYSEXITS_H": 1, + "HAVE_SYSLOG_H": 1, + "HAVE_SYSTEM": 1, + "HAVE_SYS_AUDIOIO_H": 0, + "HAVE_SYS_AUXV_H": 0, + "HAVE_SYS_BSDTTY_H": 0, + "HAVE_SYS_DEVPOLL_H": 0, + "HAVE_SYS_DIR_H": 0, + "HAVE_SYS_ENDIAN_H": 0, + "HAVE_SYS_EPOLL_H": 0, + "HAVE_SYS_EVENTFD_H": 0, + "HAVE_SYS_EVENT_H": 1, + "HAVE_SYS_FILE_H": 1, + "HAVE_SYS_IOCTL_H": 1, + "HAVE_SYS_KERN_CONTROL_H": 1, + "HAVE_SYS_LOADAVG_H": 0, + "HAVE_SYS_LOCK_H": 1, + "HAVE_SYS_MEMFD_H": 0, + "HAVE_SYS_MKDEV_H": 0, + "HAVE_SYS_MMAN_H": 1, + "HAVE_SYS_MODEM_H": 0, + "HAVE_SYS_NDIR_H": 0, + "HAVE_SYS_PARAM_H": 1, + "HAVE_SYS_POLL_H": 1, + "HAVE_SYS_RANDOM_H": 1, + "HAVE_SYS_RESOURCE_H": 1, + "HAVE_SYS_SELECT_H": 1, + "HAVE_SYS_SENDFILE_H": 0, + "HAVE_SYS_SOCKET_H": 1, + "HAVE_SYS_SOUNDCARD_H": 0, + "HAVE_SYS_STATVFS_H": 1, + "HAVE_SYS_STAT_H": 1, + "HAVE_SYS_SYSCALL_H": 1, + "HAVE_SYS_SYSMACROS_H": 0, + "HAVE_SYS_SYS_DOMAIN_H": 1, + "HAVE_SYS_TERMIO_H": 0, + "HAVE_SYS_TIMES_H": 1, + "HAVE_SYS_TIME_H": 1, + "HAVE_SYS_TYPES_H": 1, + "HAVE_SYS_UIO_H": 1, + "HAVE_SYS_UN_H": 1, + "HAVE_SYS_UTSNAME_H": 1, + "HAVE_SYS_WAIT_H": 1, + "HAVE_SYS_XATTR_H": 1, + "HAVE_TCGETPGRP": 1, + "HAVE_TCSETPGRP": 1, + "HAVE_TEMPNAM": 1, + "HAVE_TERMIOS_H": 1, + "HAVE_TERM_H": 1, + "HAVE_TIMEGM": 1, + "HAVE_TIMES": 1, + "HAVE_TMPFILE": 1, + "HAVE_TMPNAM": 1, + "HAVE_TMPNAM_R": 0, + "HAVE_TM_ZONE": 1, + "HAVE_TRUNCATE": 1, + "HAVE_TTYNAME": 1, + "HAVE_TZNAME": 0, + "HAVE_UMASK": 1, + "HAVE_UNAME": 1, + "HAVE_UNISTD_H": 1, + "HAVE_UNLINKAT": 1, + "HAVE_UNSHARE": 0, + "HAVE_USABLE_WCHAR_T": 0, + "HAVE_UTIL_H": 1, + "HAVE_UTIMENSAT": 1, + "HAVE_UTIMES": 1, + "HAVE_UTIME_H": 1, + "HAVE_UTMP_H": 1, + "HAVE_UUID_CREATE": 0, + "HAVE_UUID_ENC_BE": 0, + "HAVE_UUID_GENERATE_TIME_SAFE": 0, + "HAVE_UUID_H": 0, + "HAVE_UUID_UUID_H": 1, + "HAVE_VFORK": 1, + "HAVE_WAIT": 1, + "HAVE_WAIT3": 1, + "HAVE_WAIT4": 1, + "HAVE_WAITID": 1, + "HAVE_WAITPID": 1, + "HAVE_WCHAR_H": 1, + "HAVE_WCSCOLL": 1, + "HAVE_WCSFTIME": 1, + "HAVE_WCSXFRM": 1, + "HAVE_WMEMCMP": 1, + "HAVE_WORKING_TZSET": 1, + "HAVE_WRITEV": 1, + "HAVE_ZLIB_COPY": 1, + "HAVE_ZLIB_H": 1, + "HAVE__GETPTY": 0, + "HOSTRUNNER": "", + "HOST_GNU_TYPE": "aarch64-apple-darwin24.1.0", + "INCLDIRSTOMAKE": "/Users/pablo/.asdf/installs/python/3.12.8/include /Users/pablo/.asdf/installs/python/3.12.8/include /Users/pablo/.asdf/installs/python/3.12.8/include/python3.12 /Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "INCLUDEDIR": "/Users/pablo/.asdf/installs/python/3.12.8/include", + "INCLUDEPY": "/Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "INSTALL": "/opt/homebrew/bin/ginstall -c", + "INSTALL_DATA": "/opt/homebrew/bin/ginstall -c -m 644", + "INSTALL_PROGRAM": "/opt/homebrew/bin/ginstall -c", + "INSTALL_SCRIPT": "/opt/homebrew/bin/ginstall -c", + "INSTALL_SHARED": "/opt/homebrew/bin/ginstall -c -m 755", + "INSTSONAME": "libpython3.12.dylib", + "IO_H": "Modules/_io/_iomodule.h", + "IO_OBJS": "\\", + "LDCXXSHARED": "clang++ -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDFLAGS_NODIST": "", + "LDLIBRARY": "libpython3.12.dylib", + "LDLIBRARYDIR": "", + "LDSHARED": "clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDVERSION": "3.12", + "LIBC": "", + "LIBDEST": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "LIBDIR": "/Users/pablo/.asdf/installs/python/3.12.8/lib", + "LIBEXPAT_A": "Modules/expat/libexpat.a", + "LIBEXPAT_CFLAGS": "-I./Modules/expat -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBEXPAT_HEADERS": "\\", + "LIBEXPAT_OBJS": "\\", + "LIBHACL_CFLAGS": "-I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBHACL_HEADERS": "\\", + "LIBHACL_SHA2_A": "Modules/_hacl/libHacl_Hash_SHA2.a", + "LIBHACL_SHA2_HEADERS": "\\", + "LIBHACL_SHA2_OBJS": "\\", + "LIBM": "", + "LIBMPDEC_A": "Modules/_decimal/libmpdec/libmpdec.a", + "LIBMPDEC_CFLAGS": "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1 -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBMPDEC_HEADERS": "\\", + "LIBMPDEC_OBJS": "\\", + "LIBOBJDIR": "Python/", + "LIBOBJS": "", + "LIBPC": "/Users/pablo/.asdf/installs/python/3.12.8/lib/pkgconfig", + "LIBPL": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/config-3.12-darwin", + "LIBPYTHON": "", + "LIBRARY": "libpython3.12.a", + "LIBRARY_DEPS": "libpython3.12.a libpython3.12.dylib", + "LIBRARY_OBJS": "\\", + "LIBRARY_OBJS_OMIT_FROZEN": "\\", + "LIBS": "-lintl -ldl -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -framework CoreFoundation", + "LIBSUBDIRS": "asyncio \\", + "LINKCC": "clang", + "LINKFORSHARED": "-Wl,-stack_size,1000000 -framework CoreFoundation", + "LINK_PYTHON_DEPS": "libpython3.12.a libpython3.12.dylib", + "LINK_PYTHON_OBJS": "-L. -lpython3.12", + "LIPO_32BIT_FLAGS": "", + "LIPO_INTEL64_FLAGS": "", + "LLVM_PROF_ERR": "no", + "LLVM_PROF_FILE": "LLVM_PROFILE_FILE=\"$(shell pwd)/code-%p.profclangr\"", + "LLVM_PROF_MERGER": "/usr/bin/xcrun llvm-profdata merge -output=\"$(shell pwd)/code.profclangd\" \"$(shell pwd)\"/*.profclangr", + "LN": "ln", + "LOCALMODLIBS": "", + "MACHDEP": "darwin", + "MACHDEP_OBJS": "", + "MACHDESTLIB": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "MACOSX_DEPLOYMENT_TARGET": "15.1", + "MAJOR_IN_MKDEV": 0, + "MAJOR_IN_SYSMACROS": 0, + "MAKESETUP": "./Modules/makesetup", + "MANDIR": "/Users/pablo/.asdf/installs/python/3.12.8/share/man", + "MKDIR_P": "/opt/homebrew/bin/gmkdir -p", + "MODBUILT_NAMES": "array _asyncio _bisect _contextvars _csv _heapq _json _lsprof _opcode _pickle _queue _random _struct _xxsubinterpreters _xxinterpchannels _zoneinfo audioop math cmath _statistics _datetime _decimal binascii _bz2 _lzma zlib _dbm readline _md5 _sha1 _sha2 _sha3 _blake2 pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata _crypt fcntl grp mmap nis _posixsubprocess resource select _socket syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _scproxy xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35 atexit faulthandler posix _signal _tracemalloc _codecs _collections errno _io itertools _sre _thread time _typing _weakref _abc _functools _locale _operator _stat _symtable pwd", + "MODDISABLED_NAMES": "", + "MODLIBS": "", + "MODOBJS": "Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_threadmodule.o Modules/timemodule.o Modules/_typingmodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/pwdmodule.o", + "MODSHARED_NAMES": "array _asyncio _bisect _contextvars _csv _heapq _json _lsprof _opcode _pickle _queue _random _struct _xxsubinterpreters _xxinterpchannels _zoneinfo audioop math cmath _statistics _datetime _decimal binascii _bz2 _lzma zlib _dbm readline _md5 _sha1 _sha2 _sha3 _blake2 pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata _crypt fcntl grp mmap nis _posixsubprocess resource select _socket syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _scproxy xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35", + "MODULE_ARRAY_STATE": "yes", + "MODULE_ATEXIT_LDFLAGS": "", + "MODULE_AUDIOOP_LDFLAGS": "", + "MODULE_AUDIOOP_STATE": "yes", + "MODULE_BINASCII_CFLAGS": "-DUSE_ZLIB_CRC32", + "MODULE_BINASCII_LDFLAGS": "-lz", + "MODULE_BINASCII_STATE": "yes", + "MODULE_CMATH_DEPS": "./Modules/_math.h", + "MODULE_CMATH_LDFLAGS": "", + "MODULE_CMATH_STATE": "yes", + "MODULE_DEPS_SHARED": "Modules/config.c", + "MODULE_DEPS_STATIC": "Modules/config.c", + "MODULE_ERRNO_LDFLAGS": "", + "MODULE_FAULTHANDLER_LDFLAGS": "", + "MODULE_FCNTL_LDFLAGS": "", + "MODULE_FCNTL_STATE": "yes", + "MODULE_GRP_STATE": "yes", + "MODULE_ITERTOOLS_LDFLAGS": "", + "MODULE_MATH_DEPS": "./Modules/_math.h", + "MODULE_MATH_LDFLAGS": "", + "MODULE_MATH_STATE": "yes", + "MODULE_MMAP_STATE": "yes", + "MODULE_NIS_CFLAGS": "", + "MODULE_NIS_LDFLAGS": "", + "MODULE_NIS_STATE": "yes", + "MODULE_OBJS": "\\", + "MODULE_OSSAUDIODEV_STATE": "n/a", + "MODULE_POSIX_LDFLAGS": "", + "MODULE_PWD_LDFLAGS": "", + "MODULE_PWD_STATE": "yes", + "MODULE_PYEXPAT_CFLAGS": "-I./Modules/expat", + "MODULE_PYEXPAT_DEPS": "\\ Modules/expat/libexpat.a", + "MODULE_PYEXPAT_LDFLAGS": "-lm Modules/expat/libexpat.a", + "MODULE_PYEXPAT_STATE": "yes", + "MODULE_READLINE_CFLAGS": "", + "MODULE_READLINE_LDFLAGS": "-lreadline", + "MODULE_READLINE_STATE": "yes", + "MODULE_RESOURCE_STATE": "yes", + "MODULE_SELECT_STATE": "yes", + "MODULE_SPWD_STATE": "n/a", + "MODULE_SYSLOG_STATE": "yes", + "MODULE_TERMIOS_STATE": "yes", + "MODULE_TIME_LDFLAGS": "", + "MODULE_TIME_STATE": "yes", + "MODULE_UNICODEDATA_DEPS": "./Modules/unicodedata_db.h ./Modules/unicodename_db.h", + "MODULE_UNICODEDATA_STATE": "yes", + "MODULE_XXLIMITED_35_STATE": "yes", + "MODULE_XXLIMITED_STATE": "yes", + "MODULE_XXSUBTYPE_STATE": "yes", + "MODULE_ZLIB_CFLAGS": "", + "MODULE_ZLIB_LDFLAGS": "-lz", + "MODULE_ZLIB_STATE": "yes", + "MODULE__ABC_LDFLAGS": "", + "MODULE__ASYNCIO_STATE": "yes", + "MODULE__BISECT_STATE": "yes", + "MODULE__BLAKE2_CFLAGS": "", + "MODULE__BLAKE2_DEPS": "./Modules/_blake2/impl/blake2-config.h ./Modules/_blake2/impl/blake2-impl.h ./Modules/_blake2/impl/blake2.h ./Modules/_blake2/impl/blake2b-load-sse2.h ./Modules/_blake2/impl/blake2b-load-sse41.h ./Modules/_blake2/impl/blake2b-ref.c ./Modules/_blake2/impl/blake2b-round.h ./Modules/_blake2/impl/blake2b.c ./Modules/_blake2/impl/blake2s-load-sse2.h ./Modules/_blake2/impl/blake2s-load-sse41.h ./Modules/_blake2/impl/blake2s-load-xop.h ./Modules/_blake2/impl/blake2s-ref.c ./Modules/_blake2/impl/blake2s-round.h ./Modules/_blake2/impl/blake2s.c ./Modules/_blake2/blake2module.h ./Modules/hashlib.h", + "MODULE__BLAKE2_LDFLAGS": "", + "MODULE__BLAKE2_STATE": "yes", + "MODULE__BZ2_CFLAGS": "", + "MODULE__BZ2_LDFLAGS": "-lbz2", + "MODULE__BZ2_STATE": "yes", + "MODULE__CODECS_CN_DEPS": "./Modules/cjkcodecs/mappings_cn.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_CN_STATE": "yes", + "MODULE__CODECS_HK_DEPS": "./Modules/cjkcodecs/mappings_hk.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_HK_STATE": "yes", + "MODULE__CODECS_ISO2022_DEPS": "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_ISO2022_STATE": "yes", + "MODULE__CODECS_JP_DEPS": "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/mappings_jp.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_JP_STATE": "yes", + "MODULE__CODECS_KR_DEPS": "./Modules/cjkcodecs/mappings_kr.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_KR_STATE": "yes", + "MODULE__CODECS_LDFLAGS": "", + "MODULE__CODECS_TW_DEPS": "./Modules/cjkcodecs/mappings_tw.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_TW_STATE": "yes", + "MODULE__COLLECTIONS_LDFLAGS": "", + "MODULE__CONTEXTVARS_STATE": "yes", + "MODULE__CRYPT_CFLAGS": "", + "MODULE__CRYPT_LDFLAGS": "", + "MODULE__CRYPT_STATE": "yes", + "MODULE__CSV_STATE": "yes", + "MODULE__CTYPES_CFLAGS": "-fno-strict-overflow -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi -DUSING_APPLE_OS_LIBFFI=1 -DUSING_MALLOC_CLOSURE_DOT_C=1", + "MODULE__CTYPES_DEPS": "./Modules/_ctypes/ctypes.h", + "MODULE__CTYPES_LDFLAGS": "-lffi -ldl", + "MODULE__CTYPES_MALLOC_CLOSURE": "_ctypes/malloc_closure.c", + "MODULE__CTYPES_STATE": "yes", + "MODULE__CTYPES_TEST_LDFLAGS": "", + "MODULE__CTYPES_TEST_STATE": "yes", + "MODULE__CURSES_CFLAGS": "-D_XOPEN_SOURCE_EXTENDED=1", + "MODULE__CURSES_LDFLAGS": "-lncurses", + "MODULE__CURSES_PANEL_CFLAGS": "-D_XOPEN_SOURCE_EXTENDED=1", + "MODULE__CURSES_PANEL_LDFLAGS": "-lpanel -lncurses", + "MODULE__CURSES_PANEL_STATE": "yes", + "MODULE__CURSES_STATE": "yes", + "MODULE__DATETIME_LDFLAGS": "", + "MODULE__DATETIME_STATE": "yes", + "MODULE__DBM_CFLAGS": "-DUSE_NDBM", + "MODULE__DBM_LDFLAGS": "", + "MODULE__DBM_STATE": "yes", + "MODULE__DECIMAL_CFLAGS": "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1", + "MODULE__DECIMAL_DEPS": "./Modules/_decimal/docstrings.h \\ Modules/_decimal/libmpdec/libmpdec.a", + "MODULE__DECIMAL_LDFLAGS": "-lm Modules/_decimal/libmpdec/libmpdec.a", + "MODULE__DECIMAL_STATE": "yes", + "MODULE__ELEMENTTREE_CFLAGS": "-I./Modules/expat", + "MODULE__ELEMENTTREE_DEPS": "./Modules/pyexpat.c \\ Modules/expat/libexpat.a", + "MODULE__ELEMENTTREE_STATE": "yes", + "MODULE__FUNCTOOLS_LDFLAGS": "", + "MODULE__GDBM_STATE": "missing", + "MODULE__HASHLIB_CFLAGS": "-I/opt/homebrew/opt/openssl@3/include", + "MODULE__HASHLIB_DEPS": "./Modules/hashlib.h", + "MODULE__HASHLIB_LDFLAGS": "-L/opt/homebrew/opt/openssl@3/lib -lcrypto", + "MODULE__HASHLIB_STATE": "yes", + "MODULE__HEAPQ_STATE": "yes", + "MODULE__IO_CFLAGS": "-I./Modules/_io", + "MODULE__IO_DEPS": "./Modules/_io/_iomodule.h", + "MODULE__IO_LDFLAGS": "", + "MODULE__IO_STATE": "yes", + "MODULE__JSON_STATE": "yes", + "MODULE__LOCALE_LDFLAGS": "", + "MODULE__LSPROF_STATE": "yes", + "MODULE__LZMA_CFLAGS": "", + "MODULE__LZMA_LDFLAGS": "-llzma", + "MODULE__LZMA_STATE": "yes", + "MODULE__MD5_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__MD5_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_MD5.h Modules/_hacl/Hacl_Hash_MD5.c", + "MODULE__MD5_STATE": "yes", + "MODULE__MULTIBYTECODEC_DEPS": "./Modules/cjkcodecs/multibytecodec.h", + "MODULE__MULTIBYTECODEC_STATE": "yes", + "MODULE__MULTIPROCESSING_CFLAGS": "-I./Modules/_multiprocessing", + "MODULE__MULTIPROCESSING_STATE": "yes", + "MODULE__OPCODE_STATE": "yes", + "MODULE__OPERATOR_LDFLAGS": "", + "MODULE__PICKLE_STATE": "yes", + "MODULE__POSIXSHMEM_CFLAGS": "-I./Modules/_multiprocessing", + "MODULE__POSIXSHMEM_LDFLAGS": "", + "MODULE__POSIXSHMEM_STATE": "yes", + "MODULE__POSIXSUBPROCESS_STATE": "yes", + "MODULE__QUEUE_STATE": "yes", + "MODULE__RANDOM_STATE": "yes", + "MODULE__SCPROXY_LDFLAGS": "-framework SystemConfiguration -framework CoreFoundation", + "MODULE__SCPROXY_STATE": "yes", + "MODULE__SHA1_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__SHA1_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_SHA1.h Modules/_hacl/Hacl_Hash_SHA1.c", + "MODULE__SHA1_STATE": "yes", + "MODULE__SHA2_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__SHA2_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/libHacl_Hash_SHA2.a", + "MODULE__SHA2_STATE": "yes", + "MODULE__SHA3_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_SHA3.h Modules/_hacl/Hacl_Hash_SHA3.c", + "MODULE__SHA3_STATE": "yes", + "MODULE__SIGNAL_LDFLAGS": "", + "MODULE__SOCKET_DEPS": "./Modules/socketmodule.h ./Modules/addrinfo.h ./Modules/getaddrinfo.c ./Modules/getnameinfo.c", + "MODULE__SOCKET_STATE": "yes", + "MODULE__SQLITE3_CFLAGS": "-I./Modules/_sqlite", + "MODULE__SQLITE3_DEPS": "./Modules/_sqlite/connection.h ./Modules/_sqlite/cursor.h ./Modules/_sqlite/microprotocols.h ./Modules/_sqlite/module.h ./Modules/_sqlite/prepare_protocol.h ./Modules/_sqlite/row.h ./Modules/_sqlite/util.h", + "MODULE__SQLITE3_LDFLAGS": "-lsqlite3", + "MODULE__SQLITE3_STATE": "yes", + "MODULE__SRE_LDFLAGS": "", + "MODULE__SSL_CFLAGS": "-I/opt/homebrew/opt/openssl@3/include", + "MODULE__SSL_DEPS": "./Modules/_ssl.h ./Modules/_ssl/cert.c ./Modules/_ssl/debughelpers.c ./Modules/_ssl/misc.c ./Modules/_ssl_data.h ./Modules/_ssl_data_111.h ./Modules/_ssl_data_300.h ./Modules/socketmodule.h", + "MODULE__SSL_LDFLAGS": "-L/opt/homebrew/opt/openssl@3/lib -lssl -lcrypto", + "MODULE__SSL_STATE": "yes", + "MODULE__STATISTICS_LDFLAGS": "", + "MODULE__STATISTICS_STATE": "yes", + "MODULE__STAT_LDFLAGS": "", + "MODULE__STRUCT_STATE": "yes", + "MODULE__SYMTABLE_LDFLAGS": "", + "MODULE__TESTBUFFER_STATE": "yes", + "MODULE__TESTCAPI_DEPS": "./Modules/_testcapi/testcapi_long.h ./Modules/_testcapi/parts.h ./Modules/_testcapi/util.h", + "MODULE__TESTCAPI_STATE": "yes", + "MODULE__TESTCLINIC_STATE": "yes", + "MODULE__TESTIMPORTMULTIPLE_STATE": "yes", + "MODULE__TESTINTERNALCAPI_STATE": "yes", + "MODULE__TESTMULTIPHASE_STATE": "yes", + "MODULE__THREAD_LDFLAGS": "", + "MODULE__TKINTER_STATE": "missing", + "MODULE__TRACEMALLOC_LDFLAGS": "", + "MODULE__TYPING_LDFLAGS": "", + "MODULE__TYPING_STATE": "yes", + "MODULE__UUID_CFLAGS": "", + "MODULE__UUID_LDFLAGS": "", + "MODULE__UUID_STATE": "yes", + "MODULE__WEAKREF_LDFLAGS": "", + "MODULE__XXINTERPCHANNELS_STATE": "yes", + "MODULE__XXSUBINTERPRETERS_STATE": "yes", + "MODULE__XXTESTFUZZ_STATE": "yes", + "MODULE__ZONEINFO_STATE": "yes", + "MULTIARCH": "darwin", + "MULTIARCH_CPPFLAGS": "-DMULTIARCH=\\\"darwin\\\"", + "MVWDELCH_IS_EXPRESSION": 1, + "NO_AS_NEEDED": "", + "OBJECT_OBJS": "\\", + "OPT": "-DNDEBUG -g -O3 -Wall", + "PACKAGE_BUGREPORT": 0, + "PACKAGE_NAME": 0, + "PACKAGE_STRING": 0, + "PACKAGE_TARNAME": 0, + "PACKAGE_URL": 0, + "PACKAGE_VERSION": 0, + "PARSER_HEADERS": "\\", + "PARSER_OBJS": "\\ \\ Parser/myreadline.o Parser/tokenizer.o", + "PEGEN_HEADERS": "\\", + "PEGEN_OBJS": "\\", + "PGO_PROF_GEN_FLAG": "-fprofile-instr-generate", + "PGO_PROF_USE_FLAG": "-fprofile-instr-use=\"$(shell pwd)/code.profclangd\"", + "PLATLIBDIR": "lib", + "POBJS": "\\", + "POSIX_SEMAPHORES_NOT_ENABLED": 0, + "PROFILE_TASK": "-m test --pgo --timeout=1200", + "PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT": 0, + "PTHREAD_SYSTEM_SCHED_SUPPORTED": 1, + "PURIFY": "", + "PY3LIBRARY": "", + "PYLONG_BITS_IN_DIGIT": 0, + "PYTHON": "python", + "PYTHONFRAMEWORK": "", + "PYTHONFRAMEWORKDIR": "no-framework", + "PYTHONFRAMEWORKINSTALLDIR": "", + "PYTHONFRAMEWORKPREFIX": "", + "PYTHONPATH": "", + "PYTHON_FOR_BUILD": "./python.exe -E", + "PYTHON_FOR_BUILD_DEPS": "python.exe", + "PYTHON_FOR_FREEZE": "./_bootstrap_python", + "PYTHON_FOR_REGEN": "", + "PYTHON_HEADERS": "\\", + "PYTHON_OBJS": "\\", + "PY_BUILTIN_HASHLIB_HASHES": "\"md5,sha1,sha2,sha3,blake2\"", + "PY_BUILTIN_MODULE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -DPy_BUILD_CORE_BUILTIN", + "PY_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall", + "PY_CFLAGS_NODIST": "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal", + "PY_COERCE_C_LOCALE": 1, + "PY_CORE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -DPy_BUILD_CORE", + "PY_CORE_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_CPPFLAGS": "-I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "PY_ENABLE_SHARED": 1, + "PY_HAVE_PERF_TRAMPOLINE": 0, + "PY_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_LDFLAGS_NODIST": "", + "PY_LDFLAGS_NOLTO": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_SQLITE_ENABLE_LOAD_EXTENSION": 0, + "PY_SQLITE_HAVE_SERIALIZE": 1, + "PY_SSL_DEFAULT_CIPHERS": 1, + "PY_SSL_DEFAULT_CIPHER_STRING": 0, + "PY_STDMODULE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "PY_SUPPORT_TIER": 2, + "Py_DEBUG": 0, + "Py_ENABLE_SHARED": 1, + "Py_HASH_ALGORITHM": 0, + "Py_STATS": 0, + "Py_SUNOS_VERSION": 0, + "Py_TRACE_REFS": 0, + "QUICKTESTOPTS": "-x test_subprocess test_io test_lib2to3 \\", + "READELF": "@READELF@", + "RESSRCDIR": "Mac/Resources/framework", + "RETSIGTYPE": "void", + "RUNSHARED": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "SCRIPTDIR": "/Users/pablo/.asdf/installs/python/3.12.8/lib", + "SCRIPT_2TO3": "build/scripts-3.12/2to3-3.12", + "SCRIPT_IDLE": "build/scripts-3.12/idle3.12", + "SCRIPT_PYDOC": "build/scripts-3.12/pydoc3.12", + "SETPGRP_HAVE_ARG": 0, + "SHAREDMODS": "Modules/array.cpython-312-darwin.so Modules/_asyncio.cpython-312-darwin.so Modules/_bisect.cpython-312-darwin.so Modules/_contextvars.cpython-312-darwin.so Modules/_csv.cpython-312-darwin.so Modules/_heapq.cpython-312-darwin.so Modules/_json.cpython-312-darwin.so Modules/_lsprof.cpython-312-darwin.so Modules/_opcode.cpython-312-darwin.so Modules/_pickle.cpython-312-darwin.so Modules/_queue.cpython-312-darwin.so Modules/_random.cpython-312-darwin.so Modules/_struct.cpython-312-darwin.so Modules/_xxsubinterpreters.cpython-312-darwin.so Modules/_xxinterpchannels.cpython-312-darwin.so Modules/_zoneinfo.cpython-312-darwin.so Modules/audioop.cpython-312-darwin.so Modules/math.cpython-312-darwin.so Modules/cmath.cpython-312-darwin.so Modules/_statistics.cpython-312-darwin.so Modules/_datetime.cpython-312-darwin.so Modules/_decimal.cpython-312-darwin.so Modules/binascii.cpython-312-darwin.so Modules/_bz2.cpython-312-darwin.so Modules/_lzma.cpython-312-darwin.so Modules/zlib.cpython-312-darwin.so Modules/_dbm.cpython-312-darwin.so Modules/readline.cpython-312-darwin.so Modules/_md5.cpython-312-darwin.so Modules/_sha1.cpython-312-darwin.so Modules/_sha2.cpython-312-darwin.so Modules/_sha3.cpython-312-darwin.so Modules/_blake2.cpython-312-darwin.so Modules/pyexpat.cpython-312-darwin.so Modules/_elementtree.cpython-312-darwin.so Modules/_codecs_cn.cpython-312-darwin.so Modules/_codecs_hk.cpython-312-darwin.so Modules/_codecs_iso2022.cpython-312-darwin.so Modules/_codecs_jp.cpython-312-darwin.so Modules/_codecs_kr.cpython-312-darwin.so Modules/_codecs_tw.cpython-312-darwin.so Modules/_multibytecodec.cpython-312-darwin.so Modules/unicodedata.cpython-312-darwin.so Modules/_crypt.cpython-312-darwin.so Modules/fcntl.cpython-312-darwin.so Modules/grp.cpython-312-darwin.so Modules/mmap.cpython-312-darwin.so Modules/nis.cpython-312-darwin.so Modules/_posixsubprocess.cpython-312-darwin.so Modules/resource.cpython-312-darwin.so Modules/select.cpython-312-darwin.so Modules/_socket.cpython-312-darwin.so Modules/syslog.cpython-312-darwin.so Modules/termios.cpython-312-darwin.so Modules/_posixshmem.cpython-312-darwin.so Modules/_multiprocessing.cpython-312-darwin.so Modules/_ctypes.cpython-312-darwin.so Modules/_curses.cpython-312-darwin.so Modules/_curses_panel.cpython-312-darwin.so Modules/_sqlite3.cpython-312-darwin.so Modules/_ssl.cpython-312-darwin.so Modules/_hashlib.cpython-312-darwin.so Modules/_uuid.cpython-312-darwin.so Modules/_scproxy.cpython-312-darwin.so Modules/xxsubtype.cpython-312-darwin.so Modules/_xxtestfuzz.cpython-312-darwin.so Modules/_testbuffer.cpython-312-darwin.so Modules/_testinternalcapi.cpython-312-darwin.so Modules/_testcapi.cpython-312-darwin.so Modules/_testclinic.cpython-312-darwin.so Modules/_testimportmultiple.cpython-312-darwin.so Modules/_testmultiphase.cpython-312-darwin.so Modules/_testsinglephase.cpython-312-darwin.so Modules/_ctypes_test.cpython-312-darwin.so Modules/xxlimited.cpython-312-darwin.so Modules/xxlimited_35.cpython-312-darwin.so", + "SHELL": "/bin/sh -e", + "SHLIBS": "-lintl -ldl -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -framework CoreFoundation", + "SHLIB_SUFFIX": ".so", + "SIGNED_RIGHT_SHIFT_ZERO_FILLS": 0, + "SITEPATH": "", + "SIZEOF_DOUBLE": 8, + "SIZEOF_FLOAT": 4, + "SIZEOF_FPOS_T": 8, + "SIZEOF_INT": 4, + "SIZEOF_LONG": 8, + "SIZEOF_LONG_DOUBLE": 8, + "SIZEOF_LONG_LONG": 8, + "SIZEOF_OFF_T": 8, + "SIZEOF_PID_T": 4, + "SIZEOF_PTHREAD_KEY_T": 8, + "SIZEOF_PTHREAD_T": 8, + "SIZEOF_SHORT": 2, + "SIZEOF_SIZE_T": 8, + "SIZEOF_TIME_T": 8, + "SIZEOF_UINTPTR_T": 8, + "SIZEOF_VOID_P": 8, + "SIZEOF_WCHAR_T": 4, + "SIZEOF__BOOL": 1, + "SOABI": "cpython-312-darwin", + "SRCDIRS": "Modules Modules/_blake2 Modules/_ctypes Modules/_decimal Modules/_decimal/libmpdec Modules/_hacl Modules/_io Modules/_multiprocessing Modules/_sqlite Modules/_sre Modules/_testcapi Modules/_xxtestfuzz Modules/cjkcodecs Modules/expat Objects Parser Programs Python Python/frozen_modules Python/deepfreeze", + "SRC_GDB_HOOKS": "./Tools/gdb/libpython.py", + "STATIC_LIBPYTHON": 1, + "STDC_HEADERS": 1, + "STRICT_SYSV_CURSES": "/* Don't use ncurses extensions */", + "STRIPFLAG": "-s", + "SUBDIRS": "", + "SUBDIRSTOO": "Include Lib Misc", + "SYSLIBS": "", + "SYS_SELECT_WITH_SYS_TIME": 1, + "TESTOPTS": "", + "TESTPATH": "", + "TESTPYTHON": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8 ./python.exe -E", + "TESTPYTHONOPTS": "", + "TESTRUNNER": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8 ./python.exe -E ./Tools/scripts/run_tests.py", + "TESTSUBDIRS": "idlelib/idle_test \\", + "TESTTIMEOUT": 1200, + "TEST_MODULES": "yes", + "THREAD_STACK_SIZE": "0x1000000", + "TIMEMODULE_LIB": 0, + "TM_IN_SYS_TIME": 0, + "TZPATH": "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo", + "UNICODE_DEPS": "\\", + "UNIVERSALSDK": "", + "UPDATE_FILE": "./Tools/build/update_file.py", + "USE_COMPUTED_GOTOS": 0, + "VERSION": "3.12", + "WASM_ASSETS_DIR": "./Users/pablo/.asdf/installs/python/3.12.8", + "WASM_STDLIB": "./Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/os.py", + "WHEEL_PKG_DIR": "", + "WINDOW_HAS_FLAGS": 0, + "WITH_DECIMAL_CONTEXTVAR": 1, + "WITH_DOC_STRINGS": 1, + "WITH_DTRACE": 0, + "WITH_DYLD": 1, + "WITH_EDITLINE": 0, + "WITH_FREELISTS": 1, + "WITH_LIBINTL": 1, + "WITH_NEXT_FRAMEWORK": 0, + "WITH_PYMALLOC": 1, + "WITH_VALGRIND": 0, + "X87_DOUBLE_ROUNDING": 0, + "XMLLIBSUBDIRS": "xml xml/dom xml/etree xml/parsers xml/sax", + "abs_builddir": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "abs_srcdir": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "datarootdir": "/Users/pablo/.asdf/installs/python/3.12.8/share", + "srcdir": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/config-3.12-darwin", + "userbase": "/Users/pablo/.local" + }, + "dependencies": { + "python-binance": "1.0.27", + "dateparser": "1.2.0", + "shellingham": "1.5.4", + "opentelemetry-api": "1.29.0", + "langchain-anthropic": "0.3.3", + "Pygments": "2.19.1", + "pycodestyle": "2.12.1", + "pandas": "2.2.3", + "importlib_metadata": "8.5.0", + "filelock": "3.16.1", + "idna": "3.10", + "langsmith": "0.2.11", + "msal-extensions": "1.2.0", + "aioresponses": "0.7.7", + "pydub": "0.25.1", + "pytest-cov": "6.0.0", + "ujson": "5.10.0", + "distlib": "0.3.9", + "python-socks": "2.5.3", + "pip": "24.3.1", + "multidict": "6.1.0", + "pytest-flake8": "1.3.0", + "fastapi": "0.115.6", + "pillow": "11.1.0", + "lxml": "5.3.0", + "pyproject-api": "1.8.0", + "langgraph-checkpoint": "2.0.10", + "urllib3": "2.2.3", + "colorama": "0.4.6", + "uvicorn": "0.34.0", + "zipp": "3.21.0", + "typer": "0.15.1", + "ruff": "0.8.4", + "setuptools": "75.6.0", + "msgpack": "1.1.0", + "flake8": "7.1.1", + "pycryptodome": "3.21.0", + "defusedxml": "0.7.1", + "autogen-ext": "0.4.2", + "requests": "2.32.3", + "frozenlist": "1.5.0", + "openpyxl": "3.1.5", + "psycopg": "3.2.4", + "soupsieve": "2.6", + "anthropic": "0.43.1", + "markdown-it-py": "3.0.0", + "pytest": "8.3.4", + "puremagic": "1.28", + "mammoth": "1.9.0", + "h11": "0.14.0", + "magentic-one-cli": "0.2.2", + "pyee": "12.0.0", + "python-pptx": "1.0.2", + "msal": "1.31.1", + "et_xmlfile": "2.0.0", + "protobuf": "4.25.5", + "autogen-core": "0.4.2", + "aiohttp": "3.10.11", + "markdownify": "0.14.1", + "pathvalidate": "3.2.3", + "iniconfig": "2.0.0", + "rich": "13.9.4", + "tqdm": "4.67.1", + "autogenstudio": "0.4.0.3", + "Mako": "1.3.8", + "jsonpatch": "1.33", + "click": "8.1.8", + "jsonpointer": "3.0.0", + "numpy": "1.26.4", + "ccxt": "4.4.57", + "tenacity": "9.0.0", + "cffi": "1.17.1", + "openai": "1.58.1", + "propcache": "0.2.1", + "autogen-agentchat": "0.4.2", + "cachetools": "5.5.0", + "portalocker": "2.10.1", + "youtube-transcript-api": "0.6.3", + "PyJWT": "2.10.1", + "XlsxWriter": "3.2.0", + "langchain-core": "0.3.30", + "psutil": "6.1.1", + "aiofiles": "24.1.0", + "python-dotenv": "1.0.1", + "websockets_proxy": "0.1.3", + "regex": "2024.11.6", + "loguru": "0.7.3", + "pyright": "1.1.391", + "sniffio": "1.3.1", + "nodeenv": "1.9.1", + "mdurl": "0.1.2", + "python-dateutil": "2.9.0.post0", + "aiodns": "3.2.0", + "pytz": "2024.2", + "yarl": "1.18.3", + "mccabe": "0.7.0", + "jsonref": "1.1.0", + "Deprecated": "1.2.15", + "packaging": "24.2", + "SpeechRecognition": "3.14.0", + "cobble": "0.1.4", + "sqlmodel": "0.0.22", + "tzlocal": "5.2", + "chardet": "5.2.0", + "pytest-codspeed": "3.2.0", + "pydantic_core": "2.27.2", + "coverage": "7.6.9", + "httpcore": "1.0.7", + "tox": "4.23.2", + "pycparser": "2.22", + "websockets": "14.1", + "langgraph": "0.2.64", + "pydantic": "2.10.4", + "pytest-benchmark": "5.1.0", + "pluggy": "1.5.0", + "playwright": "1.49.1", + "pytest-asyncio": "0.25.0", + "starlette": "0.41.3", + "markitdown": "0.0.1a3", + "alembic": "1.14.0", + "distro": "1.9.0", + "pdfminer.six": "20240706", + "SQLAlchemy": "2.0.37", + "jiter": "0.8.2", + "cryptography": "44.0.0", + "pydantic-settings": "2.7.1", + "requests-toolbelt": "1.0.0", + "wrapt": "1.17.2", + "bs4": "0.0.2", + "py-cpuinfo": "9.0.0", + "aiosignal": "1.3.2", + "typing_extensions": "4.12.2", + "PyYAML": "6.0.2", + "httpx": "0.28.1", + "attrs": "24.3.0", + "anyio": "4.7.0", + "azure-core": "1.32.0", + "charset-normalizer": "3.4.0", + "langgraph-sdk": "0.1.51", + "tzdata": "2024.2", + "tiktoken": "0.8.0", + "beautifulsoup4": "4.12.3", + "aiohappyeyeballs": "2.4.4", + "platformdirs": "4.3.6", + "pycares": "4.5.0", + "annotated-types": "0.7.0", + "certifi": "2024.12.14", + "virtualenv": "20.28.0", + "six": "1.17.0", + "greenlet": "3.1.1", + "requests-mock": "1.12.1", + "pyflakes": "3.2.0", + "azure-identity": "1.19.0", + "MarkupSafe": "3.0.2" + } + }, + "instrument": { + "type": "walltime", + "clock_info": { + "implementation": "mach_absolute_time()", + "monotonic": true, + "adjustable": false, + "resolution": 4.166666666666667e-08 + } + }, + "benchmarks": [ + { + "name": "test_ws_api_public_endpoint_2", + "uri": "tests/test_ws_api.py::test_ws_api_public_endpoint_2", + "config": { + "warmup_time_ns": 1000000000, + "min_round_time_ns": 41666666.66666667, + "max_time_ns": 3000000000, + "max_rounds": null + }, + "stats": { + "min_ns": 947.8516796466349, + "max_ns": 3595.406796078887, + "mean_ns": 1065.7614292406806, + "stdev_ns": 394.2229101093585, + "q1_ns": 958.0104420938433, + "median_ns": 962.4920957805417, + "q3_ns": 970.9387616722848, + "rounds": 71, + "total_time": 3.025781125, + "iqr_outlier_rounds": 9, + "stdev_outlier_rounds": 1, + "iter_per_round": 51618, + "warmup_iters": 1110728 + } + } + ] +} diff --git a/.codspeed/results_1740207797034.json b/.codspeed/results_1740207797034.json new file mode 100644 index 00000000..718f225f --- /dev/null +++ b/.codspeed/results_1740207797034.json @@ -0,0 +1,1205 @@ +{ + "creator": { + "name": "pytest-codspeed", + "version": "3.2.0", + "pid": 68832 + }, + "python": { + "sysconfig": { + "prefix": "/Users/pablo/.asdf/installs/python/3.12.8", + "exec_prefix": "/Users/pablo/.asdf/installs/python/3.12.8", + "py_version": "3.12.8", + "py_version_short": "3.12", + "py_version_nodot": "312", + "installed_base": "/Users/pablo/.asdf/installs/python/3.12.8", + "base": "/Users/pablo/.asdf/installs/python/3.12.8", + "installed_platbase": "/Users/pablo/.asdf/installs/python/3.12.8", + "platbase": "/Users/pablo/.asdf/installs/python/3.12.8", + "projectbase": "/Users/pablo/.asdf/installs/python/3.12.8/bin", + "platlibdir": "lib", + "abiflags": "", + "py_version_nodot_plat": "", + "ABIFLAGS": "", + "AC_APPLE_UNIVERSAL_BUILD": 0, + "AIX_BUILDDATE": 0, + "AIX_GENUINE_CPLUSPLUS": 0, + "ALIGNOF_LONG": 8, + "ALIGNOF_MAX_ALIGN_T": 8, + "ALIGNOF_SIZE_T": 8, + "ALT_SOABI": 0, + "ANDROID_API_LEVEL": 0, + "AR": "ar", + "ARFLAGS": "rcs", + "BASECFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code", + "BASECPPFLAGS": "", + "BASEMODLIBS": "", + "BINDIR": "/Users/pablo/.asdf/installs/python/3.12.8/bin", + "BINLIBDEST": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "BLDLIBRARY": "-L. -lpython3.12", + "BLDSHARED": "clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "BOOTSTRAP_HEADERS": "\\", + "BUILDEXE": ".exe", + "BUILDPYTHON": "python.exe", + "BUILD_GNU_TYPE": "aarch64-apple-darwin24.1.0", + "BUILD_SCRIPTS_DIR": "build/scripts-3.12", + "BYTESTR_DEPS": "\\", + "CC": "clang", + "CCSHARED": "", + "CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall", + "CFLAGSFORSHARED": "", + "CFLAGS_ALIASING": "-fno-strict-aliasing", + "CFLAGS_NODIST": "", + "CODECS_COMMON_HEADERS": "./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "COMPILEALL_OPTS": "-j0", + "CONFIGFILES": "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in", + "CONFIGURE_CFLAGS": "", + "CONFIGURE_CFLAGS_NODIST": "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden", + "CONFIGURE_CPPFLAGS": "-I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "CONFIGURE_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "CONFIGURE_LDFLAGS_NODIST": "", + "CONFIGURE_LDFLAGS_NOLTO": "", + "CONFIG_ARGS": "'--prefix=/Users/pablo/.asdf/installs/python/3.12.8' '--enable-shared' '--libdir=/Users/pablo/.asdf/installs/python/3.12.8/lib' '--with-openssl=/opt/homebrew/opt/openssl@3' 'PKG_CONFIG_PATH=/opt/homebrew/opt/openssl@3/lib/pkgconfig/:' 'CC=clang' 'LDFLAGS=-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib' 'LIBS=-L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib' 'CPPFLAGS=-I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include'", + "CONFINCLUDEDIR": "/Users/pablo/.asdf/installs/python/3.12.8/include", + "CONFINCLUDEPY": "/Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "COREPYTHONPATH": "", + "COVERAGE_INFO": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8/coverage.info", + "COVERAGE_LCOV_OPTIONS": "--rc lcov_branch_coverage=1", + "COVERAGE_REPORT": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8/lcov-report", + "COVERAGE_REPORT_OPTIONS": "--rc lcov_branch_coverage=1 --branch-coverage --title \"CPython 3.12 LCOV report [commit $(shell )]\"", + "CPPFLAGS": "-I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "CXX": "clang++", + "DEEPFREEZE_C": "Python/deepfreeze/deepfreeze.c", + "DEEPFREEZE_DEPS": "./Tools/build/deepfreeze.py _bootstrap_python ./Programs/_freeze_module.py \\", + "DEEPFREEZE_OBJS": "Python/deepfreeze/deepfreeze.o", + "DESTDIRS": "/Users/pablo/.asdf/installs/python/3.12.8 /Users/pablo/.asdf/installs/python/3.12.8/lib /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12 /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/lib-dynload", + "DESTLIB": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "DESTPATH": "", + "DESTSHARED": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/lib-dynload", + "DFLAGS": "", + "DIRMODE": 755, + "DIST": "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy", + "DISTDIRS": "Include Lib Misc Ext-dummy", + "DISTFILES": "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in", + "DLINCLDIR": ".", + "DLLLIBRARY": "", + "DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754": 0, + "DOUBLE_IS_BIG_ENDIAN_IEEE754": 0, + "DOUBLE_IS_LITTLE_ENDIAN_IEEE754": 1, + "DSYMUTIL": "", + "DSYMUTIL_PATH": "", + "DTRACE": "", + "DTRACE_DEPS": "\\", + "DTRACE_HEADERS": "", + "DTRACE_OBJS": "", + "DYNLOADFILE": "dynload_shlib.o", + "ENABLE_IPV6": 1, + "ENSUREPIP": "upgrade", + "EXE": "", + "EXEMODE": 755, + "EXENAME": "/Users/pablo/.asdf/installs/python/3.12.8/bin/python3.12", + "EXPORTSFROM": "", + "EXPORTSYMS": "", + "EXTRATESTOPTS": "", + "EXTRA_CFLAGS": "", + "EXT_SUFFIX": ".cpython-312-darwin.so", + "FILEMODE": 644, + "FREEZE_MODULE": "./_bootstrap_python ./Programs/_freeze_module.py", + "FREEZE_MODULE_BOOTSTRAP": "./Programs/_freeze_module", + "FREEZE_MODULE_BOOTSTRAP_DEPS": "Programs/_freeze_module", + "FREEZE_MODULE_DEPS": "_bootstrap_python ./Programs/_freeze_module.py", + "FROZEN_FILES_IN": "\\", + "FROZEN_FILES_OUT": "\\", + "GETPGRP_HAVE_ARG": 0, + "GITBRANCH": "", + "GITTAG": "", + "GITVERSION": "", + "GNULD": "no", + "HAVE_ACCEPT": 1, + "HAVE_ACCEPT4": 0, + "HAVE_ACOSH": 1, + "HAVE_ADDRINFO": 1, + "HAVE_ALARM": 1, + "HAVE_ALIGNED_REQUIRED": 0, + "HAVE_ALLOCA_H": 1, + "HAVE_ALTZONE": 0, + "HAVE_ASINH": 1, + "HAVE_ASM_TYPES_H": 0, + "HAVE_ATANH": 1, + "HAVE_BIND": 1, + "HAVE_BIND_TEXTDOMAIN_CODESET": 1, + "HAVE_BLUETOOTH_BLUETOOTH_H": 0, + "HAVE_BLUETOOTH_H": 0, + "HAVE_BROKEN_MBSTOWCS": 0, + "HAVE_BROKEN_NICE": 0, + "HAVE_BROKEN_PIPE_BUF": 0, + "HAVE_BROKEN_POLL": 0, + "HAVE_BROKEN_POSIX_SEMAPHORES": 0, + "HAVE_BROKEN_PTHREAD_SIGMASK": 0, + "HAVE_BROKEN_SEM_GETVALUE": 1, + "HAVE_BROKEN_UNSETENV": 0, + "HAVE_BUILTIN_ATOMIC": 1, + "HAVE_BZLIB_H": 1, + "HAVE_CHFLAGS": 1, + "HAVE_CHMOD": 1, + "HAVE_CHOWN": 1, + "HAVE_CHROOT": 1, + "HAVE_CLOCK": 1, + "HAVE_CLOCK_GETRES": 1, + "HAVE_CLOCK_GETTIME": 1, + "HAVE_CLOCK_NANOSLEEP": 0, + "HAVE_CLOCK_SETTIME": 1, + "HAVE_CLOSE_RANGE": 0, + "HAVE_COMPUTED_GOTOS": 1, + "HAVE_CONFSTR": 1, + "HAVE_CONIO_H": 0, + "HAVE_CONNECT": 1, + "HAVE_COPY_FILE_RANGE": 0, + "HAVE_CRYPT_H": 0, + "HAVE_CRYPT_R": 0, + "HAVE_CTERMID": 1, + "HAVE_CTERMID_R": 1, + "HAVE_CURSES_FILTER": 1, + "HAVE_CURSES_H": 1, + "HAVE_CURSES_HAS_KEY": 1, + "HAVE_CURSES_IMMEDOK": 1, + "HAVE_CURSES_IS_PAD": 1, + "HAVE_CURSES_IS_TERM_RESIZED": 1, + "HAVE_CURSES_RESIZETERM": 1, + "HAVE_CURSES_RESIZE_TERM": 1, + "HAVE_CURSES_SYNCOK": 1, + "HAVE_CURSES_TYPEAHEAD": 1, + "HAVE_CURSES_USE_ENV": 1, + "HAVE_CURSES_WCHGAT": 1, + "HAVE_DB_H": 1, + "HAVE_DECL_RTLD_DEEPBIND": 0, + "HAVE_DECL_RTLD_GLOBAL": 1, + "HAVE_DECL_RTLD_LAZY": 1, + "HAVE_DECL_RTLD_LOCAL": 1, + "HAVE_DECL_RTLD_MEMBER": 0, + "HAVE_DECL_RTLD_NODELETE": 1, + "HAVE_DECL_RTLD_NOLOAD": 1, + "HAVE_DECL_RTLD_NOW": 1, + "HAVE_DECL_TZNAME": 0, + "HAVE_DEVICE_MACROS": 1, + "HAVE_DEV_PTC": 0, + "HAVE_DEV_PTMX": 1, + "HAVE_DIRECT_H": 0, + "HAVE_DIRENT_D_TYPE": 1, + "HAVE_DIRENT_H": 1, + "HAVE_DIRFD": 1, + "HAVE_DLFCN_H": 1, + "HAVE_DLOPEN": 1, + "HAVE_DUP": 1, + "HAVE_DUP2": 1, + "HAVE_DUP3": 0, + "HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH": 1, + "HAVE_DYNAMIC_LOADING": 1, + "HAVE_EDITLINE_READLINE_H": 0, + "HAVE_ENDIAN_H": 0, + "HAVE_EPOLL": 0, + "HAVE_EPOLL_CREATE1": 0, + "HAVE_ERF": 1, + "HAVE_ERFC": 1, + "HAVE_ERRNO_H": 1, + "HAVE_EVENTFD": 0, + "HAVE_EXECV": 1, + "HAVE_EXPLICIT_BZERO": 0, + "HAVE_EXPLICIT_MEMSET": 0, + "HAVE_EXPM1": 1, + "HAVE_FACCESSAT": 1, + "HAVE_FCHDIR": 1, + "HAVE_FCHMOD": 1, + "HAVE_FCHMODAT": 1, + "HAVE_FCHOWN": 1, + "HAVE_FCHOWNAT": 1, + "HAVE_FCNTL_H": 1, + "HAVE_FDATASYNC": 0, + "HAVE_FDOPENDIR": 1, + "HAVE_FDWALK": 0, + "HAVE_FEXECVE": 0, + "HAVE_FFI_CLOSURE_ALLOC": 1, + "HAVE_FFI_PREP_CIF_VAR": 1, + "HAVE_FFI_PREP_CLOSURE_LOC": 1, + "HAVE_FLOCK": 1, + "HAVE_FORK": 1, + "HAVE_FORK1": 0, + "HAVE_FORKPTY": 1, + "HAVE_FPATHCONF": 1, + "HAVE_FSEEK64": 0, + "HAVE_FSEEKO": 1, + "HAVE_FSTATAT": 1, + "HAVE_FSTATVFS": 1, + "HAVE_FSYNC": 1, + "HAVE_FTELL64": 0, + "HAVE_FTELLO": 1, + "HAVE_FTIME": 1, + "HAVE_FTRUNCATE": 1, + "HAVE_FUTIMENS": 1, + "HAVE_FUTIMES": 1, + "HAVE_FUTIMESAT": 0, + "HAVE_GAI_STRERROR": 1, + "HAVE_GCC_ASM_FOR_MC68881": 0, + "HAVE_GCC_ASM_FOR_X64": 0, + "HAVE_GCC_ASM_FOR_X87": 0, + "HAVE_GCC_UINT128_T": 1, + "HAVE_GDBM_DASH_NDBM_H": 0, + "HAVE_GDBM_H": 0, + "HAVE_GDBM_NDBM_H": 0, + "HAVE_GETADDRINFO": 1, + "HAVE_GETC_UNLOCKED": 1, + "HAVE_GETEGID": 1, + "HAVE_GETENTROPY": 1, + "HAVE_GETEUID": 1, + "HAVE_GETGID": 1, + "HAVE_GETGRGID": 1, + "HAVE_GETGRGID_R": 1, + "HAVE_GETGRNAM_R": 1, + "HAVE_GETGROUPLIST": 1, + "HAVE_GETGROUPS": 1, + "HAVE_GETHOSTBYADDR": 1, + "HAVE_GETHOSTBYNAME": 1, + "HAVE_GETHOSTBYNAME_R": 0, + "HAVE_GETHOSTBYNAME_R_3_ARG": 0, + "HAVE_GETHOSTBYNAME_R_5_ARG": 0, + "HAVE_GETHOSTBYNAME_R_6_ARG": 0, + "HAVE_GETHOSTNAME": 1, + "HAVE_GETITIMER": 1, + "HAVE_GETLOADAVG": 1, + "HAVE_GETLOGIN": 1, + "HAVE_GETNAMEINFO": 1, + "HAVE_GETPAGESIZE": 1, + "HAVE_GETPEERNAME": 1, + "HAVE_GETPGID": 1, + "HAVE_GETPGRP": 1, + "HAVE_GETPID": 1, + "HAVE_GETPPID": 1, + "HAVE_GETPRIORITY": 1, + "HAVE_GETPROTOBYNAME": 1, + "HAVE_GETPWENT": 1, + "HAVE_GETPWNAM_R": 1, + "HAVE_GETPWUID": 1, + "HAVE_GETPWUID_R": 1, + "HAVE_GETRANDOM": 0, + "HAVE_GETRANDOM_SYSCALL": 0, + "HAVE_GETRESGID": 0, + "HAVE_GETRESUID": 0, + "HAVE_GETRUSAGE": 1, + "HAVE_GETSERVBYNAME": 1, + "HAVE_GETSERVBYPORT": 1, + "HAVE_GETSID": 1, + "HAVE_GETSOCKNAME": 1, + "HAVE_GETSPENT": 0, + "HAVE_GETSPNAM": 0, + "HAVE_GETUID": 1, + "HAVE_GETWD": 1, + "HAVE_GLIBC_MEMMOVE_BUG": 0, + "HAVE_GRP_H": 1, + "HAVE_HSTRERROR": 1, + "HAVE_HTOLE64": 0, + "HAVE_IEEEFP_H": 0, + "HAVE_IF_NAMEINDEX": 1, + "HAVE_INET_ATON": 1, + "HAVE_INET_NTOA": 1, + "HAVE_INET_PTON": 1, + "HAVE_INITGROUPS": 1, + "HAVE_INTTYPES_H": 1, + "HAVE_IO_H": 0, + "HAVE_IPA_PURE_CONST_BUG": 0, + "HAVE_KILL": 1, + "HAVE_KILLPG": 1, + "HAVE_KQUEUE": 1, + "HAVE_LANGINFO_H": 1, + "HAVE_LARGEFILE_SUPPORT": 0, + "HAVE_LCHFLAGS": 1, + "HAVE_LCHMOD": 1, + "HAVE_LCHOWN": 1, + "HAVE_LIBB2": 0, + "HAVE_LIBDB": 0, + "HAVE_LIBDL": 1, + "HAVE_LIBDLD": 0, + "HAVE_LIBIEEE": 0, + "HAVE_LIBINTL_H": 1, + "HAVE_LIBRESOLV": 0, + "HAVE_LIBSENDFILE": 0, + "HAVE_LIBSQLITE3": 1, + "HAVE_LIBUTIL_H": 0, + "HAVE_LINK": 1, + "HAVE_LINKAT": 1, + "HAVE_LINUX_AUXVEC_H": 0, + "HAVE_LINUX_CAN_BCM_H": 0, + "HAVE_LINUX_CAN_H": 0, + "HAVE_LINUX_CAN_J1939_H": 0, + "HAVE_LINUX_CAN_RAW_FD_FRAMES": 0, + "HAVE_LINUX_CAN_RAW_H": 0, + "HAVE_LINUX_CAN_RAW_JOIN_FILTERS": 0, + "HAVE_LINUX_FS_H": 0, + "HAVE_LINUX_LIMITS_H": 0, + "HAVE_LINUX_MEMFD_H": 0, + "HAVE_LINUX_NETLINK_H": 0, + "HAVE_LINUX_QRTR_H": 0, + "HAVE_LINUX_RANDOM_H": 0, + "HAVE_LINUX_SOUNDCARD_H": 0, + "HAVE_LINUX_TIPC_H": 0, + "HAVE_LINUX_VM_SOCKETS_H": 0, + "HAVE_LINUX_WAIT_H": 0, + "HAVE_LISTEN": 1, + "HAVE_LOCKF": 1, + "HAVE_LOG1P": 1, + "HAVE_LOG2": 1, + "HAVE_LOGIN_TTY": 1, + "HAVE_LONG_DOUBLE": 1, + "HAVE_LSTAT": 1, + "HAVE_LUTIMES": 1, + "HAVE_LZMA_H": 1, + "HAVE_MADVISE": 1, + "HAVE_MAKEDEV": 1, + "HAVE_MBRTOWC": 1, + "HAVE_MEMFD_CREATE": 0, + "HAVE_MEMRCHR": 0, + "HAVE_MINIX_CONFIG_H": 0, + "HAVE_MKDIRAT": 1, + "HAVE_MKFIFO": 1, + "HAVE_MKFIFOAT": 1, + "HAVE_MKNOD": 1, + "HAVE_MKNODAT": 1, + "HAVE_MKTIME": 1, + "HAVE_MMAP": 1, + "HAVE_MREMAP": 0, + "HAVE_NANOSLEEP": 1, + "HAVE_NCURSESW": 1, + "HAVE_NCURSES_H": 1, + "HAVE_NDBM_H": 1, + "HAVE_NDIR_H": 0, + "HAVE_NETCAN_CAN_H": 0, + "HAVE_NETDB_H": 1, + "HAVE_NETINET_IN_H": 1, + "HAVE_NETPACKET_PACKET_H": 0, + "HAVE_NET_ETHERNET_H": 1, + "HAVE_NET_IF_H": 1, + "HAVE_NICE": 1, + "HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION": 0, + "HAVE_OPENAT": 1, + "HAVE_OPENDIR": 1, + "HAVE_OPENPTY": 1, + "HAVE_PANEL_H": 1, + "HAVE_PATHCONF": 1, + "HAVE_PAUSE": 1, + "HAVE_PIPE": 1, + "HAVE_PIPE2": 0, + "HAVE_PLOCK": 0, + "HAVE_POLL": 1, + "HAVE_POLL_H": 1, + "HAVE_POSIX_FADVISE": 0, + "HAVE_POSIX_FALLOCATE": 0, + "HAVE_POSIX_SPAWN": 1, + "HAVE_POSIX_SPAWNP": 1, + "HAVE_PREAD": 1, + "HAVE_PREADV": 1, + "HAVE_PREADV2": 0, + "HAVE_PRLIMIT": 0, + "HAVE_PROCESS_H": 0, + "HAVE_PROTOTYPES": 1, + "HAVE_PTHREAD_CONDATTR_SETCLOCK": 0, + "HAVE_PTHREAD_DESTRUCTOR": 0, + "HAVE_PTHREAD_GETCPUCLOCKID": 0, + "HAVE_PTHREAD_H": 1, + "HAVE_PTHREAD_INIT": 0, + "HAVE_PTHREAD_KILL": 1, + "HAVE_PTHREAD_SIGMASK": 1, + "HAVE_PTHREAD_STUBS": 0, + "HAVE_PTY_H": 0, + "HAVE_PWRITE": 1, + "HAVE_PWRITEV": 1, + "HAVE_PWRITEV2": 0, + "HAVE_READLINE_READLINE_H": 1, + "HAVE_READLINK": 1, + "HAVE_READLINKAT": 1, + "HAVE_READV": 1, + "HAVE_REALPATH": 1, + "HAVE_RECVFROM": 1, + "HAVE_RENAMEAT": 1, + "HAVE_RL_APPEND_HISTORY": 1, + "HAVE_RL_CATCH_SIGNAL": 1, + "HAVE_RL_COMPDISP_FUNC_T": 1, + "HAVE_RL_COMPLETION_APPEND_CHARACTER": 1, + "HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK": 1, + "HAVE_RL_COMPLETION_MATCHES": 1, + "HAVE_RL_COMPLETION_SUPPRESS_APPEND": 1, + "HAVE_RL_PRE_INPUT_HOOK": 1, + "HAVE_RL_RESIZE_TERMINAL": 1, + "HAVE_RPC_RPC_H": 1, + "HAVE_RTPSPAWN": 0, + "HAVE_SCHED_GET_PRIORITY_MAX": 1, + "HAVE_SCHED_H": 1, + "HAVE_SCHED_RR_GET_INTERVAL": 0, + "HAVE_SCHED_SETAFFINITY": 0, + "HAVE_SCHED_SETPARAM": 0, + "HAVE_SCHED_SETSCHEDULER": 0, + "HAVE_SEM_CLOCKWAIT": 0, + "HAVE_SEM_GETVALUE": 1, + "HAVE_SEM_OPEN": 1, + "HAVE_SEM_TIMEDWAIT": 0, + "HAVE_SEM_UNLINK": 1, + "HAVE_SENDFILE": 1, + "HAVE_SENDTO": 1, + "HAVE_SETEGID": 1, + "HAVE_SETEUID": 1, + "HAVE_SETGID": 1, + "HAVE_SETGROUPS": 1, + "HAVE_SETHOSTNAME": 1, + "HAVE_SETITIMER": 1, + "HAVE_SETJMP_H": 1, + "HAVE_SETLOCALE": 1, + "HAVE_SETNS": 0, + "HAVE_SETPGID": 1, + "HAVE_SETPGRP": 1, + "HAVE_SETPRIORITY": 1, + "HAVE_SETREGID": 1, + "HAVE_SETRESGID": 0, + "HAVE_SETRESUID": 0, + "HAVE_SETREUID": 1, + "HAVE_SETSID": 1, + "HAVE_SETSOCKOPT": 1, + "HAVE_SETUID": 1, + "HAVE_SETVBUF": 1, + "HAVE_SHADOW_H": 0, + "HAVE_SHM_OPEN": 1, + "HAVE_SHM_UNLINK": 1, + "HAVE_SHUTDOWN": 1, + "HAVE_SIGACTION": 1, + "HAVE_SIGALTSTACK": 1, + "HAVE_SIGFILLSET": 1, + "HAVE_SIGINFO_T_SI_BAND": 1, + "HAVE_SIGINTERRUPT": 1, + "HAVE_SIGNAL_H": 1, + "HAVE_SIGPENDING": 1, + "HAVE_SIGRELSE": 1, + "HAVE_SIGTIMEDWAIT": 0, + "HAVE_SIGWAIT": 1, + "HAVE_SIGWAITINFO": 0, + "HAVE_SNPRINTF": 1, + "HAVE_SOCKADDR_ALG": 0, + "HAVE_SOCKADDR_SA_LEN": 1, + "HAVE_SOCKADDR_STORAGE": 1, + "HAVE_SOCKET": 1, + "HAVE_SOCKETPAIR": 1, + "HAVE_SPAWN_H": 1, + "HAVE_SPLICE": 0, + "HAVE_SSIZE_T": 1, + "HAVE_STATVFS": 1, + "HAVE_STAT_TV_NSEC": 0, + "HAVE_STAT_TV_NSEC2": 1, + "HAVE_STDINT_H": 1, + "HAVE_STDIO_H": 1, + "HAVE_STDLIB_H": 1, + "HAVE_STD_ATOMIC": 1, + "HAVE_STRFTIME": 1, + "HAVE_STRINGS_H": 1, + "HAVE_STRING_H": 1, + "HAVE_STRLCPY": 1, + "HAVE_STROPTS_H": 0, + "HAVE_STRSIGNAL": 1, + "HAVE_STRUCT_PASSWD_PW_GECOS": 1, + "HAVE_STRUCT_PASSWD_PW_PASSWD": 1, + "HAVE_STRUCT_STAT_ST_BIRTHTIME": 1, + "HAVE_STRUCT_STAT_ST_BLKSIZE": 1, + "HAVE_STRUCT_STAT_ST_BLOCKS": 1, + "HAVE_STRUCT_STAT_ST_FLAGS": 1, + "HAVE_STRUCT_STAT_ST_GEN": 1, + "HAVE_STRUCT_STAT_ST_RDEV": 1, + "HAVE_STRUCT_TM_TM_ZONE": 1, + "HAVE_SYMLINK": 1, + "HAVE_SYMLINKAT": 1, + "HAVE_SYNC": 1, + "HAVE_SYSCONF": 1, + "HAVE_SYSEXITS_H": 1, + "HAVE_SYSLOG_H": 1, + "HAVE_SYSTEM": 1, + "HAVE_SYS_AUDIOIO_H": 0, + "HAVE_SYS_AUXV_H": 0, + "HAVE_SYS_BSDTTY_H": 0, + "HAVE_SYS_DEVPOLL_H": 0, + "HAVE_SYS_DIR_H": 0, + "HAVE_SYS_ENDIAN_H": 0, + "HAVE_SYS_EPOLL_H": 0, + "HAVE_SYS_EVENTFD_H": 0, + "HAVE_SYS_EVENT_H": 1, + "HAVE_SYS_FILE_H": 1, + "HAVE_SYS_IOCTL_H": 1, + "HAVE_SYS_KERN_CONTROL_H": 1, + "HAVE_SYS_LOADAVG_H": 0, + "HAVE_SYS_LOCK_H": 1, + "HAVE_SYS_MEMFD_H": 0, + "HAVE_SYS_MKDEV_H": 0, + "HAVE_SYS_MMAN_H": 1, + "HAVE_SYS_MODEM_H": 0, + "HAVE_SYS_NDIR_H": 0, + "HAVE_SYS_PARAM_H": 1, + "HAVE_SYS_POLL_H": 1, + "HAVE_SYS_RANDOM_H": 1, + "HAVE_SYS_RESOURCE_H": 1, + "HAVE_SYS_SELECT_H": 1, + "HAVE_SYS_SENDFILE_H": 0, + "HAVE_SYS_SOCKET_H": 1, + "HAVE_SYS_SOUNDCARD_H": 0, + "HAVE_SYS_STATVFS_H": 1, + "HAVE_SYS_STAT_H": 1, + "HAVE_SYS_SYSCALL_H": 1, + "HAVE_SYS_SYSMACROS_H": 0, + "HAVE_SYS_SYS_DOMAIN_H": 1, + "HAVE_SYS_TERMIO_H": 0, + "HAVE_SYS_TIMES_H": 1, + "HAVE_SYS_TIME_H": 1, + "HAVE_SYS_TYPES_H": 1, + "HAVE_SYS_UIO_H": 1, + "HAVE_SYS_UN_H": 1, + "HAVE_SYS_UTSNAME_H": 1, + "HAVE_SYS_WAIT_H": 1, + "HAVE_SYS_XATTR_H": 1, + "HAVE_TCGETPGRP": 1, + "HAVE_TCSETPGRP": 1, + "HAVE_TEMPNAM": 1, + "HAVE_TERMIOS_H": 1, + "HAVE_TERM_H": 1, + "HAVE_TIMEGM": 1, + "HAVE_TIMES": 1, + "HAVE_TMPFILE": 1, + "HAVE_TMPNAM": 1, + "HAVE_TMPNAM_R": 0, + "HAVE_TM_ZONE": 1, + "HAVE_TRUNCATE": 1, + "HAVE_TTYNAME": 1, + "HAVE_TZNAME": 0, + "HAVE_UMASK": 1, + "HAVE_UNAME": 1, + "HAVE_UNISTD_H": 1, + "HAVE_UNLINKAT": 1, + "HAVE_UNSHARE": 0, + "HAVE_USABLE_WCHAR_T": 0, + "HAVE_UTIL_H": 1, + "HAVE_UTIMENSAT": 1, + "HAVE_UTIMES": 1, + "HAVE_UTIME_H": 1, + "HAVE_UTMP_H": 1, + "HAVE_UUID_CREATE": 0, + "HAVE_UUID_ENC_BE": 0, + "HAVE_UUID_GENERATE_TIME_SAFE": 0, + "HAVE_UUID_H": 0, + "HAVE_UUID_UUID_H": 1, + "HAVE_VFORK": 1, + "HAVE_WAIT": 1, + "HAVE_WAIT3": 1, + "HAVE_WAIT4": 1, + "HAVE_WAITID": 1, + "HAVE_WAITPID": 1, + "HAVE_WCHAR_H": 1, + "HAVE_WCSCOLL": 1, + "HAVE_WCSFTIME": 1, + "HAVE_WCSXFRM": 1, + "HAVE_WMEMCMP": 1, + "HAVE_WORKING_TZSET": 1, + "HAVE_WRITEV": 1, + "HAVE_ZLIB_COPY": 1, + "HAVE_ZLIB_H": 1, + "HAVE__GETPTY": 0, + "HOSTRUNNER": "", + "HOST_GNU_TYPE": "aarch64-apple-darwin24.1.0", + "INCLDIRSTOMAKE": "/Users/pablo/.asdf/installs/python/3.12.8/include /Users/pablo/.asdf/installs/python/3.12.8/include /Users/pablo/.asdf/installs/python/3.12.8/include/python3.12 /Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "INCLUDEDIR": "/Users/pablo/.asdf/installs/python/3.12.8/include", + "INCLUDEPY": "/Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "INSTALL": "/opt/homebrew/bin/ginstall -c", + "INSTALL_DATA": "/opt/homebrew/bin/ginstall -c -m 644", + "INSTALL_PROGRAM": "/opt/homebrew/bin/ginstall -c", + "INSTALL_SCRIPT": "/opt/homebrew/bin/ginstall -c", + "INSTALL_SHARED": "/opt/homebrew/bin/ginstall -c -m 755", + "INSTSONAME": "libpython3.12.dylib", + "IO_H": "Modules/_io/_iomodule.h", + "IO_OBJS": "\\", + "LDCXXSHARED": "clang++ -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDFLAGS_NODIST": "", + "LDLIBRARY": "libpython3.12.dylib", + "LDLIBRARYDIR": "", + "LDSHARED": "clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDVERSION": "3.12", + "LIBC": "", + "LIBDEST": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "LIBDIR": "/Users/pablo/.asdf/installs/python/3.12.8/lib", + "LIBEXPAT_A": "Modules/expat/libexpat.a", + "LIBEXPAT_CFLAGS": "-I./Modules/expat -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBEXPAT_HEADERS": "\\", + "LIBEXPAT_OBJS": "\\", + "LIBHACL_CFLAGS": "-I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBHACL_HEADERS": "\\", + "LIBHACL_SHA2_A": "Modules/_hacl/libHacl_Hash_SHA2.a", + "LIBHACL_SHA2_HEADERS": "\\", + "LIBHACL_SHA2_OBJS": "\\", + "LIBM": "", + "LIBMPDEC_A": "Modules/_decimal/libmpdec/libmpdec.a", + "LIBMPDEC_CFLAGS": "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1 -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBMPDEC_HEADERS": "\\", + "LIBMPDEC_OBJS": "\\", + "LIBOBJDIR": "Python/", + "LIBOBJS": "", + "LIBPC": "/Users/pablo/.asdf/installs/python/3.12.8/lib/pkgconfig", + "LIBPL": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/config-3.12-darwin", + "LIBPYTHON": "", + "LIBRARY": "libpython3.12.a", + "LIBRARY_DEPS": "libpython3.12.a libpython3.12.dylib", + "LIBRARY_OBJS": "\\", + "LIBRARY_OBJS_OMIT_FROZEN": "\\", + "LIBS": "-lintl -ldl -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -framework CoreFoundation", + "LIBSUBDIRS": "asyncio \\", + "LINKCC": "clang", + "LINKFORSHARED": "-Wl,-stack_size,1000000 -framework CoreFoundation", + "LINK_PYTHON_DEPS": "libpython3.12.a libpython3.12.dylib", + "LINK_PYTHON_OBJS": "-L. -lpython3.12", + "LIPO_32BIT_FLAGS": "", + "LIPO_INTEL64_FLAGS": "", + "LLVM_PROF_ERR": "no", + "LLVM_PROF_FILE": "LLVM_PROFILE_FILE=\"$(shell pwd)/code-%p.profclangr\"", + "LLVM_PROF_MERGER": "/usr/bin/xcrun llvm-profdata merge -output=\"$(shell pwd)/code.profclangd\" \"$(shell pwd)\"/*.profclangr", + "LN": "ln", + "LOCALMODLIBS": "", + "MACHDEP": "darwin", + "MACHDEP_OBJS": "", + "MACHDESTLIB": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "MACOSX_DEPLOYMENT_TARGET": "15.1", + "MAJOR_IN_MKDEV": 0, + "MAJOR_IN_SYSMACROS": 0, + "MAKESETUP": "./Modules/makesetup", + "MANDIR": "/Users/pablo/.asdf/installs/python/3.12.8/share/man", + "MKDIR_P": "/opt/homebrew/bin/gmkdir -p", + "MODBUILT_NAMES": "array _asyncio _bisect _contextvars _csv _heapq _json _lsprof _opcode _pickle _queue _random _struct _xxsubinterpreters _xxinterpchannels _zoneinfo audioop math cmath _statistics _datetime _decimal binascii _bz2 _lzma zlib _dbm readline _md5 _sha1 _sha2 _sha3 _blake2 pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata _crypt fcntl grp mmap nis _posixsubprocess resource select _socket syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _scproxy xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35 atexit faulthandler posix _signal _tracemalloc _codecs _collections errno _io itertools _sre _thread time _typing _weakref _abc _functools _locale _operator _stat _symtable pwd", + "MODDISABLED_NAMES": "", + "MODLIBS": "", + "MODOBJS": "Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_threadmodule.o Modules/timemodule.o Modules/_typingmodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/pwdmodule.o", + "MODSHARED_NAMES": "array _asyncio _bisect _contextvars _csv _heapq _json _lsprof _opcode _pickle _queue _random _struct _xxsubinterpreters _xxinterpchannels _zoneinfo audioop math cmath _statistics _datetime _decimal binascii _bz2 _lzma zlib _dbm readline _md5 _sha1 _sha2 _sha3 _blake2 pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata _crypt fcntl grp mmap nis _posixsubprocess resource select _socket syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _scproxy xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35", + "MODULE_ARRAY_STATE": "yes", + "MODULE_ATEXIT_LDFLAGS": "", + "MODULE_AUDIOOP_LDFLAGS": "", + "MODULE_AUDIOOP_STATE": "yes", + "MODULE_BINASCII_CFLAGS": "-DUSE_ZLIB_CRC32", + "MODULE_BINASCII_LDFLAGS": "-lz", + "MODULE_BINASCII_STATE": "yes", + "MODULE_CMATH_DEPS": "./Modules/_math.h", + "MODULE_CMATH_LDFLAGS": "", + "MODULE_CMATH_STATE": "yes", + "MODULE_DEPS_SHARED": "Modules/config.c", + "MODULE_DEPS_STATIC": "Modules/config.c", + "MODULE_ERRNO_LDFLAGS": "", + "MODULE_FAULTHANDLER_LDFLAGS": "", + "MODULE_FCNTL_LDFLAGS": "", + "MODULE_FCNTL_STATE": "yes", + "MODULE_GRP_STATE": "yes", + "MODULE_ITERTOOLS_LDFLAGS": "", + "MODULE_MATH_DEPS": "./Modules/_math.h", + "MODULE_MATH_LDFLAGS": "", + "MODULE_MATH_STATE": "yes", + "MODULE_MMAP_STATE": "yes", + "MODULE_NIS_CFLAGS": "", + "MODULE_NIS_LDFLAGS": "", + "MODULE_NIS_STATE": "yes", + "MODULE_OBJS": "\\", + "MODULE_OSSAUDIODEV_STATE": "n/a", + "MODULE_POSIX_LDFLAGS": "", + "MODULE_PWD_LDFLAGS": "", + "MODULE_PWD_STATE": "yes", + "MODULE_PYEXPAT_CFLAGS": "-I./Modules/expat", + "MODULE_PYEXPAT_DEPS": "\\ Modules/expat/libexpat.a", + "MODULE_PYEXPAT_LDFLAGS": "-lm Modules/expat/libexpat.a", + "MODULE_PYEXPAT_STATE": "yes", + "MODULE_READLINE_CFLAGS": "", + "MODULE_READLINE_LDFLAGS": "-lreadline", + "MODULE_READLINE_STATE": "yes", + "MODULE_RESOURCE_STATE": "yes", + "MODULE_SELECT_STATE": "yes", + "MODULE_SPWD_STATE": "n/a", + "MODULE_SYSLOG_STATE": "yes", + "MODULE_TERMIOS_STATE": "yes", + "MODULE_TIME_LDFLAGS": "", + "MODULE_TIME_STATE": "yes", + "MODULE_UNICODEDATA_DEPS": "./Modules/unicodedata_db.h ./Modules/unicodename_db.h", + "MODULE_UNICODEDATA_STATE": "yes", + "MODULE_XXLIMITED_35_STATE": "yes", + "MODULE_XXLIMITED_STATE": "yes", + "MODULE_XXSUBTYPE_STATE": "yes", + "MODULE_ZLIB_CFLAGS": "", + "MODULE_ZLIB_LDFLAGS": "-lz", + "MODULE_ZLIB_STATE": "yes", + "MODULE__ABC_LDFLAGS": "", + "MODULE__ASYNCIO_STATE": "yes", + "MODULE__BISECT_STATE": "yes", + "MODULE__BLAKE2_CFLAGS": "", + "MODULE__BLAKE2_DEPS": "./Modules/_blake2/impl/blake2-config.h ./Modules/_blake2/impl/blake2-impl.h ./Modules/_blake2/impl/blake2.h ./Modules/_blake2/impl/blake2b-load-sse2.h ./Modules/_blake2/impl/blake2b-load-sse41.h ./Modules/_blake2/impl/blake2b-ref.c ./Modules/_blake2/impl/blake2b-round.h ./Modules/_blake2/impl/blake2b.c ./Modules/_blake2/impl/blake2s-load-sse2.h ./Modules/_blake2/impl/blake2s-load-sse41.h ./Modules/_blake2/impl/blake2s-load-xop.h ./Modules/_blake2/impl/blake2s-ref.c ./Modules/_blake2/impl/blake2s-round.h ./Modules/_blake2/impl/blake2s.c ./Modules/_blake2/blake2module.h ./Modules/hashlib.h", + "MODULE__BLAKE2_LDFLAGS": "", + "MODULE__BLAKE2_STATE": "yes", + "MODULE__BZ2_CFLAGS": "", + "MODULE__BZ2_LDFLAGS": "-lbz2", + "MODULE__BZ2_STATE": "yes", + "MODULE__CODECS_CN_DEPS": "./Modules/cjkcodecs/mappings_cn.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_CN_STATE": "yes", + "MODULE__CODECS_HK_DEPS": "./Modules/cjkcodecs/mappings_hk.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_HK_STATE": "yes", + "MODULE__CODECS_ISO2022_DEPS": "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_ISO2022_STATE": "yes", + "MODULE__CODECS_JP_DEPS": "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/mappings_jp.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_JP_STATE": "yes", + "MODULE__CODECS_KR_DEPS": "./Modules/cjkcodecs/mappings_kr.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_KR_STATE": "yes", + "MODULE__CODECS_LDFLAGS": "", + "MODULE__CODECS_TW_DEPS": "./Modules/cjkcodecs/mappings_tw.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_TW_STATE": "yes", + "MODULE__COLLECTIONS_LDFLAGS": "", + "MODULE__CONTEXTVARS_STATE": "yes", + "MODULE__CRYPT_CFLAGS": "", + "MODULE__CRYPT_LDFLAGS": "", + "MODULE__CRYPT_STATE": "yes", + "MODULE__CSV_STATE": "yes", + "MODULE__CTYPES_CFLAGS": "-fno-strict-overflow -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi -DUSING_APPLE_OS_LIBFFI=1 -DUSING_MALLOC_CLOSURE_DOT_C=1", + "MODULE__CTYPES_DEPS": "./Modules/_ctypes/ctypes.h", + "MODULE__CTYPES_LDFLAGS": "-lffi -ldl", + "MODULE__CTYPES_MALLOC_CLOSURE": "_ctypes/malloc_closure.c", + "MODULE__CTYPES_STATE": "yes", + "MODULE__CTYPES_TEST_LDFLAGS": "", + "MODULE__CTYPES_TEST_STATE": "yes", + "MODULE__CURSES_CFLAGS": "-D_XOPEN_SOURCE_EXTENDED=1", + "MODULE__CURSES_LDFLAGS": "-lncurses", + "MODULE__CURSES_PANEL_CFLAGS": "-D_XOPEN_SOURCE_EXTENDED=1", + "MODULE__CURSES_PANEL_LDFLAGS": "-lpanel -lncurses", + "MODULE__CURSES_PANEL_STATE": "yes", + "MODULE__CURSES_STATE": "yes", + "MODULE__DATETIME_LDFLAGS": "", + "MODULE__DATETIME_STATE": "yes", + "MODULE__DBM_CFLAGS": "-DUSE_NDBM", + "MODULE__DBM_LDFLAGS": "", + "MODULE__DBM_STATE": "yes", + "MODULE__DECIMAL_CFLAGS": "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1", + "MODULE__DECIMAL_DEPS": "./Modules/_decimal/docstrings.h \\ Modules/_decimal/libmpdec/libmpdec.a", + "MODULE__DECIMAL_LDFLAGS": "-lm Modules/_decimal/libmpdec/libmpdec.a", + "MODULE__DECIMAL_STATE": "yes", + "MODULE__ELEMENTTREE_CFLAGS": "-I./Modules/expat", + "MODULE__ELEMENTTREE_DEPS": "./Modules/pyexpat.c \\ Modules/expat/libexpat.a", + "MODULE__ELEMENTTREE_STATE": "yes", + "MODULE__FUNCTOOLS_LDFLAGS": "", + "MODULE__GDBM_STATE": "missing", + "MODULE__HASHLIB_CFLAGS": "-I/opt/homebrew/opt/openssl@3/include", + "MODULE__HASHLIB_DEPS": "./Modules/hashlib.h", + "MODULE__HASHLIB_LDFLAGS": "-L/opt/homebrew/opt/openssl@3/lib -lcrypto", + "MODULE__HASHLIB_STATE": "yes", + "MODULE__HEAPQ_STATE": "yes", + "MODULE__IO_CFLAGS": "-I./Modules/_io", + "MODULE__IO_DEPS": "./Modules/_io/_iomodule.h", + "MODULE__IO_LDFLAGS": "", + "MODULE__IO_STATE": "yes", + "MODULE__JSON_STATE": "yes", + "MODULE__LOCALE_LDFLAGS": "", + "MODULE__LSPROF_STATE": "yes", + "MODULE__LZMA_CFLAGS": "", + "MODULE__LZMA_LDFLAGS": "-llzma", + "MODULE__LZMA_STATE": "yes", + "MODULE__MD5_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__MD5_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_MD5.h Modules/_hacl/Hacl_Hash_MD5.c", + "MODULE__MD5_STATE": "yes", + "MODULE__MULTIBYTECODEC_DEPS": "./Modules/cjkcodecs/multibytecodec.h", + "MODULE__MULTIBYTECODEC_STATE": "yes", + "MODULE__MULTIPROCESSING_CFLAGS": "-I./Modules/_multiprocessing", + "MODULE__MULTIPROCESSING_STATE": "yes", + "MODULE__OPCODE_STATE": "yes", + "MODULE__OPERATOR_LDFLAGS": "", + "MODULE__PICKLE_STATE": "yes", + "MODULE__POSIXSHMEM_CFLAGS": "-I./Modules/_multiprocessing", + "MODULE__POSIXSHMEM_LDFLAGS": "", + "MODULE__POSIXSHMEM_STATE": "yes", + "MODULE__POSIXSUBPROCESS_STATE": "yes", + "MODULE__QUEUE_STATE": "yes", + "MODULE__RANDOM_STATE": "yes", + "MODULE__SCPROXY_LDFLAGS": "-framework SystemConfiguration -framework CoreFoundation", + "MODULE__SCPROXY_STATE": "yes", + "MODULE__SHA1_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__SHA1_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_SHA1.h Modules/_hacl/Hacl_Hash_SHA1.c", + "MODULE__SHA1_STATE": "yes", + "MODULE__SHA2_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__SHA2_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/libHacl_Hash_SHA2.a", + "MODULE__SHA2_STATE": "yes", + "MODULE__SHA3_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_SHA3.h Modules/_hacl/Hacl_Hash_SHA3.c", + "MODULE__SHA3_STATE": "yes", + "MODULE__SIGNAL_LDFLAGS": "", + "MODULE__SOCKET_DEPS": "./Modules/socketmodule.h ./Modules/addrinfo.h ./Modules/getaddrinfo.c ./Modules/getnameinfo.c", + "MODULE__SOCKET_STATE": "yes", + "MODULE__SQLITE3_CFLAGS": "-I./Modules/_sqlite", + "MODULE__SQLITE3_DEPS": "./Modules/_sqlite/connection.h ./Modules/_sqlite/cursor.h ./Modules/_sqlite/microprotocols.h ./Modules/_sqlite/module.h ./Modules/_sqlite/prepare_protocol.h ./Modules/_sqlite/row.h ./Modules/_sqlite/util.h", + "MODULE__SQLITE3_LDFLAGS": "-lsqlite3", + "MODULE__SQLITE3_STATE": "yes", + "MODULE__SRE_LDFLAGS": "", + "MODULE__SSL_CFLAGS": "-I/opt/homebrew/opt/openssl@3/include", + "MODULE__SSL_DEPS": "./Modules/_ssl.h ./Modules/_ssl/cert.c ./Modules/_ssl/debughelpers.c ./Modules/_ssl/misc.c ./Modules/_ssl_data.h ./Modules/_ssl_data_111.h ./Modules/_ssl_data_300.h ./Modules/socketmodule.h", + "MODULE__SSL_LDFLAGS": "-L/opt/homebrew/opt/openssl@3/lib -lssl -lcrypto", + "MODULE__SSL_STATE": "yes", + "MODULE__STATISTICS_LDFLAGS": "", + "MODULE__STATISTICS_STATE": "yes", + "MODULE__STAT_LDFLAGS": "", + "MODULE__STRUCT_STATE": "yes", + "MODULE__SYMTABLE_LDFLAGS": "", + "MODULE__TESTBUFFER_STATE": "yes", + "MODULE__TESTCAPI_DEPS": "./Modules/_testcapi/testcapi_long.h ./Modules/_testcapi/parts.h ./Modules/_testcapi/util.h", + "MODULE__TESTCAPI_STATE": "yes", + "MODULE__TESTCLINIC_STATE": "yes", + "MODULE__TESTIMPORTMULTIPLE_STATE": "yes", + "MODULE__TESTINTERNALCAPI_STATE": "yes", + "MODULE__TESTMULTIPHASE_STATE": "yes", + "MODULE__THREAD_LDFLAGS": "", + "MODULE__TKINTER_STATE": "missing", + "MODULE__TRACEMALLOC_LDFLAGS": "", + "MODULE__TYPING_LDFLAGS": "", + "MODULE__TYPING_STATE": "yes", + "MODULE__UUID_CFLAGS": "", + "MODULE__UUID_LDFLAGS": "", + "MODULE__UUID_STATE": "yes", + "MODULE__WEAKREF_LDFLAGS": "", + "MODULE__XXINTERPCHANNELS_STATE": "yes", + "MODULE__XXSUBINTERPRETERS_STATE": "yes", + "MODULE__XXTESTFUZZ_STATE": "yes", + "MODULE__ZONEINFO_STATE": "yes", + "MULTIARCH": "darwin", + "MULTIARCH_CPPFLAGS": "-DMULTIARCH=\\\"darwin\\\"", + "MVWDELCH_IS_EXPRESSION": 1, + "NO_AS_NEEDED": "", + "OBJECT_OBJS": "\\", + "OPT": "-DNDEBUG -g -O3 -Wall", + "PACKAGE_BUGREPORT": 0, + "PACKAGE_NAME": 0, + "PACKAGE_STRING": 0, + "PACKAGE_TARNAME": 0, + "PACKAGE_URL": 0, + "PACKAGE_VERSION": 0, + "PARSER_HEADERS": "\\", + "PARSER_OBJS": "\\ \\ Parser/myreadline.o Parser/tokenizer.o", + "PEGEN_HEADERS": "\\", + "PEGEN_OBJS": "\\", + "PGO_PROF_GEN_FLAG": "-fprofile-instr-generate", + "PGO_PROF_USE_FLAG": "-fprofile-instr-use=\"$(shell pwd)/code.profclangd\"", + "PLATLIBDIR": "lib", + "POBJS": "\\", + "POSIX_SEMAPHORES_NOT_ENABLED": 0, + "PROFILE_TASK": "-m test --pgo --timeout=1200", + "PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT": 0, + "PTHREAD_SYSTEM_SCHED_SUPPORTED": 1, + "PURIFY": "", + "PY3LIBRARY": "", + "PYLONG_BITS_IN_DIGIT": 0, + "PYTHON": "python", + "PYTHONFRAMEWORK": "", + "PYTHONFRAMEWORKDIR": "no-framework", + "PYTHONFRAMEWORKINSTALLDIR": "", + "PYTHONFRAMEWORKPREFIX": "", + "PYTHONPATH": "", + "PYTHON_FOR_BUILD": "./python.exe -E", + "PYTHON_FOR_BUILD_DEPS": "python.exe", + "PYTHON_FOR_FREEZE": "./_bootstrap_python", + "PYTHON_FOR_REGEN": "", + "PYTHON_HEADERS": "\\", + "PYTHON_OBJS": "\\", + "PY_BUILTIN_HASHLIB_HASHES": "\"md5,sha1,sha2,sha3,blake2\"", + "PY_BUILTIN_MODULE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -DPy_BUILD_CORE_BUILTIN", + "PY_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall", + "PY_CFLAGS_NODIST": "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal", + "PY_COERCE_C_LOCALE": 1, + "PY_CORE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -DPy_BUILD_CORE", + "PY_CORE_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_CPPFLAGS": "-I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "PY_ENABLE_SHARED": 1, + "PY_HAVE_PERF_TRAMPOLINE": 0, + "PY_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_LDFLAGS_NODIST": "", + "PY_LDFLAGS_NOLTO": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_SQLITE_ENABLE_LOAD_EXTENSION": 0, + "PY_SQLITE_HAVE_SERIALIZE": 1, + "PY_SSL_DEFAULT_CIPHERS": 1, + "PY_SSL_DEFAULT_CIPHER_STRING": 0, + "PY_STDMODULE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "PY_SUPPORT_TIER": 2, + "Py_DEBUG": 0, + "Py_ENABLE_SHARED": 1, + "Py_HASH_ALGORITHM": 0, + "Py_STATS": 0, + "Py_SUNOS_VERSION": 0, + "Py_TRACE_REFS": 0, + "QUICKTESTOPTS": "-x test_subprocess test_io test_lib2to3 \\", + "READELF": "@READELF@", + "RESSRCDIR": "Mac/Resources/framework", + "RETSIGTYPE": "void", + "RUNSHARED": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "SCRIPTDIR": "/Users/pablo/.asdf/installs/python/3.12.8/lib", + "SCRIPT_2TO3": "build/scripts-3.12/2to3-3.12", + "SCRIPT_IDLE": "build/scripts-3.12/idle3.12", + "SCRIPT_PYDOC": "build/scripts-3.12/pydoc3.12", + "SETPGRP_HAVE_ARG": 0, + "SHAREDMODS": "Modules/array.cpython-312-darwin.so Modules/_asyncio.cpython-312-darwin.so Modules/_bisect.cpython-312-darwin.so Modules/_contextvars.cpython-312-darwin.so Modules/_csv.cpython-312-darwin.so Modules/_heapq.cpython-312-darwin.so Modules/_json.cpython-312-darwin.so Modules/_lsprof.cpython-312-darwin.so Modules/_opcode.cpython-312-darwin.so Modules/_pickle.cpython-312-darwin.so Modules/_queue.cpython-312-darwin.so Modules/_random.cpython-312-darwin.so Modules/_struct.cpython-312-darwin.so Modules/_xxsubinterpreters.cpython-312-darwin.so Modules/_xxinterpchannels.cpython-312-darwin.so Modules/_zoneinfo.cpython-312-darwin.so Modules/audioop.cpython-312-darwin.so Modules/math.cpython-312-darwin.so Modules/cmath.cpython-312-darwin.so Modules/_statistics.cpython-312-darwin.so Modules/_datetime.cpython-312-darwin.so Modules/_decimal.cpython-312-darwin.so Modules/binascii.cpython-312-darwin.so Modules/_bz2.cpython-312-darwin.so Modules/_lzma.cpython-312-darwin.so Modules/zlib.cpython-312-darwin.so Modules/_dbm.cpython-312-darwin.so Modules/readline.cpython-312-darwin.so Modules/_md5.cpython-312-darwin.so Modules/_sha1.cpython-312-darwin.so Modules/_sha2.cpython-312-darwin.so Modules/_sha3.cpython-312-darwin.so Modules/_blake2.cpython-312-darwin.so Modules/pyexpat.cpython-312-darwin.so Modules/_elementtree.cpython-312-darwin.so Modules/_codecs_cn.cpython-312-darwin.so Modules/_codecs_hk.cpython-312-darwin.so Modules/_codecs_iso2022.cpython-312-darwin.so Modules/_codecs_jp.cpython-312-darwin.so Modules/_codecs_kr.cpython-312-darwin.so Modules/_codecs_tw.cpython-312-darwin.so Modules/_multibytecodec.cpython-312-darwin.so Modules/unicodedata.cpython-312-darwin.so Modules/_crypt.cpython-312-darwin.so Modules/fcntl.cpython-312-darwin.so Modules/grp.cpython-312-darwin.so Modules/mmap.cpython-312-darwin.so Modules/nis.cpython-312-darwin.so Modules/_posixsubprocess.cpython-312-darwin.so Modules/resource.cpython-312-darwin.so Modules/select.cpython-312-darwin.so Modules/_socket.cpython-312-darwin.so Modules/syslog.cpython-312-darwin.so Modules/termios.cpython-312-darwin.so Modules/_posixshmem.cpython-312-darwin.so Modules/_multiprocessing.cpython-312-darwin.so Modules/_ctypes.cpython-312-darwin.so Modules/_curses.cpython-312-darwin.so Modules/_curses_panel.cpython-312-darwin.so Modules/_sqlite3.cpython-312-darwin.so Modules/_ssl.cpython-312-darwin.so Modules/_hashlib.cpython-312-darwin.so Modules/_uuid.cpython-312-darwin.so Modules/_scproxy.cpython-312-darwin.so Modules/xxsubtype.cpython-312-darwin.so Modules/_xxtestfuzz.cpython-312-darwin.so Modules/_testbuffer.cpython-312-darwin.so Modules/_testinternalcapi.cpython-312-darwin.so Modules/_testcapi.cpython-312-darwin.so Modules/_testclinic.cpython-312-darwin.so Modules/_testimportmultiple.cpython-312-darwin.so Modules/_testmultiphase.cpython-312-darwin.so Modules/_testsinglephase.cpython-312-darwin.so Modules/_ctypes_test.cpython-312-darwin.so Modules/xxlimited.cpython-312-darwin.so Modules/xxlimited_35.cpython-312-darwin.so", + "SHELL": "/bin/sh -e", + "SHLIBS": "-lintl -ldl -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -framework CoreFoundation", + "SHLIB_SUFFIX": ".so", + "SIGNED_RIGHT_SHIFT_ZERO_FILLS": 0, + "SITEPATH": "", + "SIZEOF_DOUBLE": 8, + "SIZEOF_FLOAT": 4, + "SIZEOF_FPOS_T": 8, + "SIZEOF_INT": 4, + "SIZEOF_LONG": 8, + "SIZEOF_LONG_DOUBLE": 8, + "SIZEOF_LONG_LONG": 8, + "SIZEOF_OFF_T": 8, + "SIZEOF_PID_T": 4, + "SIZEOF_PTHREAD_KEY_T": 8, + "SIZEOF_PTHREAD_T": 8, + "SIZEOF_SHORT": 2, + "SIZEOF_SIZE_T": 8, + "SIZEOF_TIME_T": 8, + "SIZEOF_UINTPTR_T": 8, + "SIZEOF_VOID_P": 8, + "SIZEOF_WCHAR_T": 4, + "SIZEOF__BOOL": 1, + "SOABI": "cpython-312-darwin", + "SRCDIRS": "Modules Modules/_blake2 Modules/_ctypes Modules/_decimal Modules/_decimal/libmpdec Modules/_hacl Modules/_io Modules/_multiprocessing Modules/_sqlite Modules/_sre Modules/_testcapi Modules/_xxtestfuzz Modules/cjkcodecs Modules/expat Objects Parser Programs Python Python/frozen_modules Python/deepfreeze", + "SRC_GDB_HOOKS": "./Tools/gdb/libpython.py", + "STATIC_LIBPYTHON": 1, + "STDC_HEADERS": 1, + "STRICT_SYSV_CURSES": "/* Don't use ncurses extensions */", + "STRIPFLAG": "-s", + "SUBDIRS": "", + "SUBDIRSTOO": "Include Lib Misc", + "SYSLIBS": "", + "SYS_SELECT_WITH_SYS_TIME": 1, + "TESTOPTS": "", + "TESTPATH": "", + "TESTPYTHON": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8 ./python.exe -E", + "TESTPYTHONOPTS": "", + "TESTRUNNER": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8 ./python.exe -E ./Tools/scripts/run_tests.py", + "TESTSUBDIRS": "idlelib/idle_test \\", + "TESTTIMEOUT": 1200, + "TEST_MODULES": "yes", + "THREAD_STACK_SIZE": "0x1000000", + "TIMEMODULE_LIB": 0, + "TM_IN_SYS_TIME": 0, + "TZPATH": "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo", + "UNICODE_DEPS": "\\", + "UNIVERSALSDK": "", + "UPDATE_FILE": "./Tools/build/update_file.py", + "USE_COMPUTED_GOTOS": 0, + "VERSION": "3.12", + "WASM_ASSETS_DIR": "./Users/pablo/.asdf/installs/python/3.12.8", + "WASM_STDLIB": "./Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/os.py", + "WHEEL_PKG_DIR": "", + "WINDOW_HAS_FLAGS": 0, + "WITH_DECIMAL_CONTEXTVAR": 1, + "WITH_DOC_STRINGS": 1, + "WITH_DTRACE": 0, + "WITH_DYLD": 1, + "WITH_EDITLINE": 0, + "WITH_FREELISTS": 1, + "WITH_LIBINTL": 1, + "WITH_NEXT_FRAMEWORK": 0, + "WITH_PYMALLOC": 1, + "WITH_VALGRIND": 0, + "X87_DOUBLE_ROUNDING": 0, + "XMLLIBSUBDIRS": "xml xml/dom xml/etree xml/parsers xml/sax", + "abs_builddir": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "abs_srcdir": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "datarootdir": "/Users/pablo/.asdf/installs/python/3.12.8/share", + "srcdir": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/config-3.12-darwin", + "userbase": "/Users/pablo/.local" + }, + "dependencies": { + "python-binance": "1.0.27", + "dateparser": "1.2.0", + "shellingham": "1.5.4", + "opentelemetry-api": "1.29.0", + "langchain-anthropic": "0.3.3", + "Pygments": "2.19.1", + "pycodestyle": "2.12.1", + "pandas": "2.2.3", + "importlib_metadata": "8.5.0", + "filelock": "3.16.1", + "idna": "3.10", + "langsmith": "0.2.11", + "msal-extensions": "1.2.0", + "aioresponses": "0.7.7", + "pydub": "0.25.1", + "pytest-cov": "6.0.0", + "ujson": "5.10.0", + "distlib": "0.3.9", + "python-socks": "2.5.3", + "pip": "24.3.1", + "multidict": "6.1.0", + "pytest-flake8": "1.3.0", + "fastapi": "0.115.6", + "pillow": "11.1.0", + "lxml": "5.3.0", + "pyproject-api": "1.8.0", + "langgraph-checkpoint": "2.0.10", + "urllib3": "2.2.3", + "colorama": "0.4.6", + "uvicorn": "0.34.0", + "zipp": "3.21.0", + "typer": "0.15.1", + "ruff": "0.8.4", + "setuptools": "75.6.0", + "msgpack": "1.1.0", + "flake8": "7.1.1", + "pycryptodome": "3.21.0", + "defusedxml": "0.7.1", + "autogen-ext": "0.4.2", + "requests": "2.32.3", + "frozenlist": "1.5.0", + "openpyxl": "3.1.5", + "psycopg": "3.2.4", + "soupsieve": "2.6", + "anthropic": "0.43.1", + "markdown-it-py": "3.0.0", + "pytest": "8.3.4", + "puremagic": "1.28", + "mammoth": "1.9.0", + "h11": "0.14.0", + "magentic-one-cli": "0.2.2", + "pyee": "12.0.0", + "python-pptx": "1.0.2", + "msal": "1.31.1", + "et_xmlfile": "2.0.0", + "protobuf": "4.25.5", + "autogen-core": "0.4.2", + "aiohttp": "3.10.11", + "markdownify": "0.14.1", + "pathvalidate": "3.2.3", + "iniconfig": "2.0.0", + "rich": "13.9.4", + "tqdm": "4.67.1", + "autogenstudio": "0.4.0.3", + "Mako": "1.3.8", + "jsonpatch": "1.33", + "click": "8.1.8", + "jsonpointer": "3.0.0", + "numpy": "1.26.4", + "ccxt": "4.4.57", + "tenacity": "9.0.0", + "cffi": "1.17.1", + "openai": "1.58.1", + "propcache": "0.2.1", + "autogen-agentchat": "0.4.2", + "cachetools": "5.5.0", + "portalocker": "2.10.1", + "youtube-transcript-api": "0.6.3", + "PyJWT": "2.10.1", + "XlsxWriter": "3.2.0", + "langchain-core": "0.3.30", + "psutil": "6.1.1", + "aiofiles": "24.1.0", + "python-dotenv": "1.0.1", + "websockets_proxy": "0.1.3", + "regex": "2024.11.6", + "loguru": "0.7.3", + "pyright": "1.1.391", + "sniffio": "1.3.1", + "nodeenv": "1.9.1", + "mdurl": "0.1.2", + "python-dateutil": "2.9.0.post0", + "aiodns": "3.2.0", + "pytz": "2024.2", + "yarl": "1.18.3", + "mccabe": "0.7.0", + "jsonref": "1.1.0", + "Deprecated": "1.2.15", + "packaging": "24.2", + "SpeechRecognition": "3.14.0", + "cobble": "0.1.4", + "sqlmodel": "0.0.22", + "tzlocal": "5.2", + "chardet": "5.2.0", + "pytest-codspeed": "3.2.0", + "pydantic_core": "2.27.2", + "coverage": "7.6.9", + "httpcore": "1.0.7", + "tox": "4.23.2", + "pycparser": "2.22", + "websockets": "14.1", + "langgraph": "0.2.64", + "pydantic": "2.10.4", + "pytest-benchmark": "5.1.0", + "pluggy": "1.5.0", + "playwright": "1.49.1", + "pytest-asyncio": "0.25.0", + "starlette": "0.41.3", + "markitdown": "0.0.1a3", + "alembic": "1.14.0", + "distro": "1.9.0", + "pdfminer.six": "20240706", + "SQLAlchemy": "2.0.37", + "jiter": "0.8.2", + "cryptography": "44.0.0", + "pydantic-settings": "2.7.1", + "requests-toolbelt": "1.0.0", + "wrapt": "1.17.2", + "bs4": "0.0.2", + "py-cpuinfo": "9.0.0", + "aiosignal": "1.3.2", + "typing_extensions": "4.12.2", + "PyYAML": "6.0.2", + "httpx": "0.28.1", + "attrs": "24.3.0", + "anyio": "4.7.0", + "azure-core": "1.32.0", + "charset-normalizer": "3.4.0", + "langgraph-sdk": "0.1.51", + "tzdata": "2024.2", + "tiktoken": "0.8.0", + "beautifulsoup4": "4.12.3", + "aiohappyeyeballs": "2.4.4", + "platformdirs": "4.3.6", + "pycares": "4.5.0", + "annotated-types": "0.7.0", + "certifi": "2024.12.14", + "virtualenv": "20.28.0", + "six": "1.17.0", + "greenlet": "3.1.1", + "requests-mock": "1.12.1", + "pyflakes": "3.2.0", + "azure-identity": "1.19.0", + "MarkupSafe": "3.0.2" + } + }, + "instrument": { + "type": "walltime", + "clock_info": { + "implementation": "mach_absolute_time()", + "monotonic": true, + "adjustable": false, + "resolution": 4.166666666666667e-08 + } + }, + "benchmarks": [ + { + "name": "test_ws_api_public_endpoint_2", + "uri": "tests/test_ws_api.py::test_ws_api_public_endpoint_2", + "config": { + "warmup_time_ns": 1000000000, + "min_round_time_ns": 41666666.66666667, + "max_time_ns": 3000000000, + "max_rounds": null + }, + "stats": { + "min_ns": 953.5818918918919, + "max_ns": 1340.2815444015444, + "mean_ns": 991.8752728879, + "stdev_ns": 69.85445524437303, + "q1_ns": 965.2139575289575, + "median_ns": 971.6779343629344, + "q3_ns": 979.9364478764479, + "rounds": 71, + "total_time": 3.031484333, + "iqr_outlier_rounds": 8, + "stdev_outlier_rounds": 2, + "iter_per_round": 51800, + "warmup_iters": 1115364 + } + } + ] +} diff --git a/.codspeed/results_1740207841123.json b/.codspeed/results_1740207841123.json new file mode 100644 index 00000000..223fcd7e --- /dev/null +++ b/.codspeed/results_1740207841123.json @@ -0,0 +1,1205 @@ +{ + "creator": { + "name": "pytest-codspeed", + "version": "3.2.0", + "pid": 70871 + }, + "python": { + "sysconfig": { + "prefix": "/Users/pablo/.asdf/installs/python/3.12.8", + "exec_prefix": "/Users/pablo/.asdf/installs/python/3.12.8", + "py_version": "3.12.8", + "py_version_short": "3.12", + "py_version_nodot": "312", + "installed_base": "/Users/pablo/.asdf/installs/python/3.12.8", + "base": "/Users/pablo/.asdf/installs/python/3.12.8", + "installed_platbase": "/Users/pablo/.asdf/installs/python/3.12.8", + "platbase": "/Users/pablo/.asdf/installs/python/3.12.8", + "projectbase": "/Users/pablo/.asdf/installs/python/3.12.8/bin", + "platlibdir": "lib", + "abiflags": "", + "py_version_nodot_plat": "", + "ABIFLAGS": "", + "AC_APPLE_UNIVERSAL_BUILD": 0, + "AIX_BUILDDATE": 0, + "AIX_GENUINE_CPLUSPLUS": 0, + "ALIGNOF_LONG": 8, + "ALIGNOF_MAX_ALIGN_T": 8, + "ALIGNOF_SIZE_T": 8, + "ALT_SOABI": 0, + "ANDROID_API_LEVEL": 0, + "AR": "ar", + "ARFLAGS": "rcs", + "BASECFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code", + "BASECPPFLAGS": "", + "BASEMODLIBS": "", + "BINDIR": "/Users/pablo/.asdf/installs/python/3.12.8/bin", + "BINLIBDEST": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "BLDLIBRARY": "-L. -lpython3.12", + "BLDSHARED": "clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "BOOTSTRAP_HEADERS": "\\", + "BUILDEXE": ".exe", + "BUILDPYTHON": "python.exe", + "BUILD_GNU_TYPE": "aarch64-apple-darwin24.1.0", + "BUILD_SCRIPTS_DIR": "build/scripts-3.12", + "BYTESTR_DEPS": "\\", + "CC": "clang", + "CCSHARED": "", + "CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall", + "CFLAGSFORSHARED": "", + "CFLAGS_ALIASING": "-fno-strict-aliasing", + "CFLAGS_NODIST": "", + "CODECS_COMMON_HEADERS": "./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "COMPILEALL_OPTS": "-j0", + "CONFIGFILES": "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in", + "CONFIGURE_CFLAGS": "", + "CONFIGURE_CFLAGS_NODIST": "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden", + "CONFIGURE_CPPFLAGS": "-I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "CONFIGURE_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "CONFIGURE_LDFLAGS_NODIST": "", + "CONFIGURE_LDFLAGS_NOLTO": "", + "CONFIG_ARGS": "'--prefix=/Users/pablo/.asdf/installs/python/3.12.8' '--enable-shared' '--libdir=/Users/pablo/.asdf/installs/python/3.12.8/lib' '--with-openssl=/opt/homebrew/opt/openssl@3' 'PKG_CONFIG_PATH=/opt/homebrew/opt/openssl@3/lib/pkgconfig/:' 'CC=clang' 'LDFLAGS=-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib' 'LIBS=-L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib' 'CPPFLAGS=-I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include'", + "CONFINCLUDEDIR": "/Users/pablo/.asdf/installs/python/3.12.8/include", + "CONFINCLUDEPY": "/Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "COREPYTHONPATH": "", + "COVERAGE_INFO": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8/coverage.info", + "COVERAGE_LCOV_OPTIONS": "--rc lcov_branch_coverage=1", + "COVERAGE_REPORT": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8/lcov-report", + "COVERAGE_REPORT_OPTIONS": "--rc lcov_branch_coverage=1 --branch-coverage --title \"CPython 3.12 LCOV report [commit $(shell )]\"", + "CPPFLAGS": "-I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "CXX": "clang++", + "DEEPFREEZE_C": "Python/deepfreeze/deepfreeze.c", + "DEEPFREEZE_DEPS": "./Tools/build/deepfreeze.py _bootstrap_python ./Programs/_freeze_module.py \\", + "DEEPFREEZE_OBJS": "Python/deepfreeze/deepfreeze.o", + "DESTDIRS": "/Users/pablo/.asdf/installs/python/3.12.8 /Users/pablo/.asdf/installs/python/3.12.8/lib /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12 /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/lib-dynload", + "DESTLIB": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "DESTPATH": "", + "DESTSHARED": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/lib-dynload", + "DFLAGS": "", + "DIRMODE": 755, + "DIST": "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy", + "DISTDIRS": "Include Lib Misc Ext-dummy", + "DISTFILES": "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in", + "DLINCLDIR": ".", + "DLLLIBRARY": "", + "DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754": 0, + "DOUBLE_IS_BIG_ENDIAN_IEEE754": 0, + "DOUBLE_IS_LITTLE_ENDIAN_IEEE754": 1, + "DSYMUTIL": "", + "DSYMUTIL_PATH": "", + "DTRACE": "", + "DTRACE_DEPS": "\\", + "DTRACE_HEADERS": "", + "DTRACE_OBJS": "", + "DYNLOADFILE": "dynload_shlib.o", + "ENABLE_IPV6": 1, + "ENSUREPIP": "upgrade", + "EXE": "", + "EXEMODE": 755, + "EXENAME": "/Users/pablo/.asdf/installs/python/3.12.8/bin/python3.12", + "EXPORTSFROM": "", + "EXPORTSYMS": "", + "EXTRATESTOPTS": "", + "EXTRA_CFLAGS": "", + "EXT_SUFFIX": ".cpython-312-darwin.so", + "FILEMODE": 644, + "FREEZE_MODULE": "./_bootstrap_python ./Programs/_freeze_module.py", + "FREEZE_MODULE_BOOTSTRAP": "./Programs/_freeze_module", + "FREEZE_MODULE_BOOTSTRAP_DEPS": "Programs/_freeze_module", + "FREEZE_MODULE_DEPS": "_bootstrap_python ./Programs/_freeze_module.py", + "FROZEN_FILES_IN": "\\", + "FROZEN_FILES_OUT": "\\", + "GETPGRP_HAVE_ARG": 0, + "GITBRANCH": "", + "GITTAG": "", + "GITVERSION": "", + "GNULD": "no", + "HAVE_ACCEPT": 1, + "HAVE_ACCEPT4": 0, + "HAVE_ACOSH": 1, + "HAVE_ADDRINFO": 1, + "HAVE_ALARM": 1, + "HAVE_ALIGNED_REQUIRED": 0, + "HAVE_ALLOCA_H": 1, + "HAVE_ALTZONE": 0, + "HAVE_ASINH": 1, + "HAVE_ASM_TYPES_H": 0, + "HAVE_ATANH": 1, + "HAVE_BIND": 1, + "HAVE_BIND_TEXTDOMAIN_CODESET": 1, + "HAVE_BLUETOOTH_BLUETOOTH_H": 0, + "HAVE_BLUETOOTH_H": 0, + "HAVE_BROKEN_MBSTOWCS": 0, + "HAVE_BROKEN_NICE": 0, + "HAVE_BROKEN_PIPE_BUF": 0, + "HAVE_BROKEN_POLL": 0, + "HAVE_BROKEN_POSIX_SEMAPHORES": 0, + "HAVE_BROKEN_PTHREAD_SIGMASK": 0, + "HAVE_BROKEN_SEM_GETVALUE": 1, + "HAVE_BROKEN_UNSETENV": 0, + "HAVE_BUILTIN_ATOMIC": 1, + "HAVE_BZLIB_H": 1, + "HAVE_CHFLAGS": 1, + "HAVE_CHMOD": 1, + "HAVE_CHOWN": 1, + "HAVE_CHROOT": 1, + "HAVE_CLOCK": 1, + "HAVE_CLOCK_GETRES": 1, + "HAVE_CLOCK_GETTIME": 1, + "HAVE_CLOCK_NANOSLEEP": 0, + "HAVE_CLOCK_SETTIME": 1, + "HAVE_CLOSE_RANGE": 0, + "HAVE_COMPUTED_GOTOS": 1, + "HAVE_CONFSTR": 1, + "HAVE_CONIO_H": 0, + "HAVE_CONNECT": 1, + "HAVE_COPY_FILE_RANGE": 0, + "HAVE_CRYPT_H": 0, + "HAVE_CRYPT_R": 0, + "HAVE_CTERMID": 1, + "HAVE_CTERMID_R": 1, + "HAVE_CURSES_FILTER": 1, + "HAVE_CURSES_H": 1, + "HAVE_CURSES_HAS_KEY": 1, + "HAVE_CURSES_IMMEDOK": 1, + "HAVE_CURSES_IS_PAD": 1, + "HAVE_CURSES_IS_TERM_RESIZED": 1, + "HAVE_CURSES_RESIZETERM": 1, + "HAVE_CURSES_RESIZE_TERM": 1, + "HAVE_CURSES_SYNCOK": 1, + "HAVE_CURSES_TYPEAHEAD": 1, + "HAVE_CURSES_USE_ENV": 1, + "HAVE_CURSES_WCHGAT": 1, + "HAVE_DB_H": 1, + "HAVE_DECL_RTLD_DEEPBIND": 0, + "HAVE_DECL_RTLD_GLOBAL": 1, + "HAVE_DECL_RTLD_LAZY": 1, + "HAVE_DECL_RTLD_LOCAL": 1, + "HAVE_DECL_RTLD_MEMBER": 0, + "HAVE_DECL_RTLD_NODELETE": 1, + "HAVE_DECL_RTLD_NOLOAD": 1, + "HAVE_DECL_RTLD_NOW": 1, + "HAVE_DECL_TZNAME": 0, + "HAVE_DEVICE_MACROS": 1, + "HAVE_DEV_PTC": 0, + "HAVE_DEV_PTMX": 1, + "HAVE_DIRECT_H": 0, + "HAVE_DIRENT_D_TYPE": 1, + "HAVE_DIRENT_H": 1, + "HAVE_DIRFD": 1, + "HAVE_DLFCN_H": 1, + "HAVE_DLOPEN": 1, + "HAVE_DUP": 1, + "HAVE_DUP2": 1, + "HAVE_DUP3": 0, + "HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH": 1, + "HAVE_DYNAMIC_LOADING": 1, + "HAVE_EDITLINE_READLINE_H": 0, + "HAVE_ENDIAN_H": 0, + "HAVE_EPOLL": 0, + "HAVE_EPOLL_CREATE1": 0, + "HAVE_ERF": 1, + "HAVE_ERFC": 1, + "HAVE_ERRNO_H": 1, + "HAVE_EVENTFD": 0, + "HAVE_EXECV": 1, + "HAVE_EXPLICIT_BZERO": 0, + "HAVE_EXPLICIT_MEMSET": 0, + "HAVE_EXPM1": 1, + "HAVE_FACCESSAT": 1, + "HAVE_FCHDIR": 1, + "HAVE_FCHMOD": 1, + "HAVE_FCHMODAT": 1, + "HAVE_FCHOWN": 1, + "HAVE_FCHOWNAT": 1, + "HAVE_FCNTL_H": 1, + "HAVE_FDATASYNC": 0, + "HAVE_FDOPENDIR": 1, + "HAVE_FDWALK": 0, + "HAVE_FEXECVE": 0, + "HAVE_FFI_CLOSURE_ALLOC": 1, + "HAVE_FFI_PREP_CIF_VAR": 1, + "HAVE_FFI_PREP_CLOSURE_LOC": 1, + "HAVE_FLOCK": 1, + "HAVE_FORK": 1, + "HAVE_FORK1": 0, + "HAVE_FORKPTY": 1, + "HAVE_FPATHCONF": 1, + "HAVE_FSEEK64": 0, + "HAVE_FSEEKO": 1, + "HAVE_FSTATAT": 1, + "HAVE_FSTATVFS": 1, + "HAVE_FSYNC": 1, + "HAVE_FTELL64": 0, + "HAVE_FTELLO": 1, + "HAVE_FTIME": 1, + "HAVE_FTRUNCATE": 1, + "HAVE_FUTIMENS": 1, + "HAVE_FUTIMES": 1, + "HAVE_FUTIMESAT": 0, + "HAVE_GAI_STRERROR": 1, + "HAVE_GCC_ASM_FOR_MC68881": 0, + "HAVE_GCC_ASM_FOR_X64": 0, + "HAVE_GCC_ASM_FOR_X87": 0, + "HAVE_GCC_UINT128_T": 1, + "HAVE_GDBM_DASH_NDBM_H": 0, + "HAVE_GDBM_H": 0, + "HAVE_GDBM_NDBM_H": 0, + "HAVE_GETADDRINFO": 1, + "HAVE_GETC_UNLOCKED": 1, + "HAVE_GETEGID": 1, + "HAVE_GETENTROPY": 1, + "HAVE_GETEUID": 1, + "HAVE_GETGID": 1, + "HAVE_GETGRGID": 1, + "HAVE_GETGRGID_R": 1, + "HAVE_GETGRNAM_R": 1, + "HAVE_GETGROUPLIST": 1, + "HAVE_GETGROUPS": 1, + "HAVE_GETHOSTBYADDR": 1, + "HAVE_GETHOSTBYNAME": 1, + "HAVE_GETHOSTBYNAME_R": 0, + "HAVE_GETHOSTBYNAME_R_3_ARG": 0, + "HAVE_GETHOSTBYNAME_R_5_ARG": 0, + "HAVE_GETHOSTBYNAME_R_6_ARG": 0, + "HAVE_GETHOSTNAME": 1, + "HAVE_GETITIMER": 1, + "HAVE_GETLOADAVG": 1, + "HAVE_GETLOGIN": 1, + "HAVE_GETNAMEINFO": 1, + "HAVE_GETPAGESIZE": 1, + "HAVE_GETPEERNAME": 1, + "HAVE_GETPGID": 1, + "HAVE_GETPGRP": 1, + "HAVE_GETPID": 1, + "HAVE_GETPPID": 1, + "HAVE_GETPRIORITY": 1, + "HAVE_GETPROTOBYNAME": 1, + "HAVE_GETPWENT": 1, + "HAVE_GETPWNAM_R": 1, + "HAVE_GETPWUID": 1, + "HAVE_GETPWUID_R": 1, + "HAVE_GETRANDOM": 0, + "HAVE_GETRANDOM_SYSCALL": 0, + "HAVE_GETRESGID": 0, + "HAVE_GETRESUID": 0, + "HAVE_GETRUSAGE": 1, + "HAVE_GETSERVBYNAME": 1, + "HAVE_GETSERVBYPORT": 1, + "HAVE_GETSID": 1, + "HAVE_GETSOCKNAME": 1, + "HAVE_GETSPENT": 0, + "HAVE_GETSPNAM": 0, + "HAVE_GETUID": 1, + "HAVE_GETWD": 1, + "HAVE_GLIBC_MEMMOVE_BUG": 0, + "HAVE_GRP_H": 1, + "HAVE_HSTRERROR": 1, + "HAVE_HTOLE64": 0, + "HAVE_IEEEFP_H": 0, + "HAVE_IF_NAMEINDEX": 1, + "HAVE_INET_ATON": 1, + "HAVE_INET_NTOA": 1, + "HAVE_INET_PTON": 1, + "HAVE_INITGROUPS": 1, + "HAVE_INTTYPES_H": 1, + "HAVE_IO_H": 0, + "HAVE_IPA_PURE_CONST_BUG": 0, + "HAVE_KILL": 1, + "HAVE_KILLPG": 1, + "HAVE_KQUEUE": 1, + "HAVE_LANGINFO_H": 1, + "HAVE_LARGEFILE_SUPPORT": 0, + "HAVE_LCHFLAGS": 1, + "HAVE_LCHMOD": 1, + "HAVE_LCHOWN": 1, + "HAVE_LIBB2": 0, + "HAVE_LIBDB": 0, + "HAVE_LIBDL": 1, + "HAVE_LIBDLD": 0, + "HAVE_LIBIEEE": 0, + "HAVE_LIBINTL_H": 1, + "HAVE_LIBRESOLV": 0, + "HAVE_LIBSENDFILE": 0, + "HAVE_LIBSQLITE3": 1, + "HAVE_LIBUTIL_H": 0, + "HAVE_LINK": 1, + "HAVE_LINKAT": 1, + "HAVE_LINUX_AUXVEC_H": 0, + "HAVE_LINUX_CAN_BCM_H": 0, + "HAVE_LINUX_CAN_H": 0, + "HAVE_LINUX_CAN_J1939_H": 0, + "HAVE_LINUX_CAN_RAW_FD_FRAMES": 0, + "HAVE_LINUX_CAN_RAW_H": 0, + "HAVE_LINUX_CAN_RAW_JOIN_FILTERS": 0, + "HAVE_LINUX_FS_H": 0, + "HAVE_LINUX_LIMITS_H": 0, + "HAVE_LINUX_MEMFD_H": 0, + "HAVE_LINUX_NETLINK_H": 0, + "HAVE_LINUX_QRTR_H": 0, + "HAVE_LINUX_RANDOM_H": 0, + "HAVE_LINUX_SOUNDCARD_H": 0, + "HAVE_LINUX_TIPC_H": 0, + "HAVE_LINUX_VM_SOCKETS_H": 0, + "HAVE_LINUX_WAIT_H": 0, + "HAVE_LISTEN": 1, + "HAVE_LOCKF": 1, + "HAVE_LOG1P": 1, + "HAVE_LOG2": 1, + "HAVE_LOGIN_TTY": 1, + "HAVE_LONG_DOUBLE": 1, + "HAVE_LSTAT": 1, + "HAVE_LUTIMES": 1, + "HAVE_LZMA_H": 1, + "HAVE_MADVISE": 1, + "HAVE_MAKEDEV": 1, + "HAVE_MBRTOWC": 1, + "HAVE_MEMFD_CREATE": 0, + "HAVE_MEMRCHR": 0, + "HAVE_MINIX_CONFIG_H": 0, + "HAVE_MKDIRAT": 1, + "HAVE_MKFIFO": 1, + "HAVE_MKFIFOAT": 1, + "HAVE_MKNOD": 1, + "HAVE_MKNODAT": 1, + "HAVE_MKTIME": 1, + "HAVE_MMAP": 1, + "HAVE_MREMAP": 0, + "HAVE_NANOSLEEP": 1, + "HAVE_NCURSESW": 1, + "HAVE_NCURSES_H": 1, + "HAVE_NDBM_H": 1, + "HAVE_NDIR_H": 0, + "HAVE_NETCAN_CAN_H": 0, + "HAVE_NETDB_H": 1, + "HAVE_NETINET_IN_H": 1, + "HAVE_NETPACKET_PACKET_H": 0, + "HAVE_NET_ETHERNET_H": 1, + "HAVE_NET_IF_H": 1, + "HAVE_NICE": 1, + "HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION": 0, + "HAVE_OPENAT": 1, + "HAVE_OPENDIR": 1, + "HAVE_OPENPTY": 1, + "HAVE_PANEL_H": 1, + "HAVE_PATHCONF": 1, + "HAVE_PAUSE": 1, + "HAVE_PIPE": 1, + "HAVE_PIPE2": 0, + "HAVE_PLOCK": 0, + "HAVE_POLL": 1, + "HAVE_POLL_H": 1, + "HAVE_POSIX_FADVISE": 0, + "HAVE_POSIX_FALLOCATE": 0, + "HAVE_POSIX_SPAWN": 1, + "HAVE_POSIX_SPAWNP": 1, + "HAVE_PREAD": 1, + "HAVE_PREADV": 1, + "HAVE_PREADV2": 0, + "HAVE_PRLIMIT": 0, + "HAVE_PROCESS_H": 0, + "HAVE_PROTOTYPES": 1, + "HAVE_PTHREAD_CONDATTR_SETCLOCK": 0, + "HAVE_PTHREAD_DESTRUCTOR": 0, + "HAVE_PTHREAD_GETCPUCLOCKID": 0, + "HAVE_PTHREAD_H": 1, + "HAVE_PTHREAD_INIT": 0, + "HAVE_PTHREAD_KILL": 1, + "HAVE_PTHREAD_SIGMASK": 1, + "HAVE_PTHREAD_STUBS": 0, + "HAVE_PTY_H": 0, + "HAVE_PWRITE": 1, + "HAVE_PWRITEV": 1, + "HAVE_PWRITEV2": 0, + "HAVE_READLINE_READLINE_H": 1, + "HAVE_READLINK": 1, + "HAVE_READLINKAT": 1, + "HAVE_READV": 1, + "HAVE_REALPATH": 1, + "HAVE_RECVFROM": 1, + "HAVE_RENAMEAT": 1, + "HAVE_RL_APPEND_HISTORY": 1, + "HAVE_RL_CATCH_SIGNAL": 1, + "HAVE_RL_COMPDISP_FUNC_T": 1, + "HAVE_RL_COMPLETION_APPEND_CHARACTER": 1, + "HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK": 1, + "HAVE_RL_COMPLETION_MATCHES": 1, + "HAVE_RL_COMPLETION_SUPPRESS_APPEND": 1, + "HAVE_RL_PRE_INPUT_HOOK": 1, + "HAVE_RL_RESIZE_TERMINAL": 1, + "HAVE_RPC_RPC_H": 1, + "HAVE_RTPSPAWN": 0, + "HAVE_SCHED_GET_PRIORITY_MAX": 1, + "HAVE_SCHED_H": 1, + "HAVE_SCHED_RR_GET_INTERVAL": 0, + "HAVE_SCHED_SETAFFINITY": 0, + "HAVE_SCHED_SETPARAM": 0, + "HAVE_SCHED_SETSCHEDULER": 0, + "HAVE_SEM_CLOCKWAIT": 0, + "HAVE_SEM_GETVALUE": 1, + "HAVE_SEM_OPEN": 1, + "HAVE_SEM_TIMEDWAIT": 0, + "HAVE_SEM_UNLINK": 1, + "HAVE_SENDFILE": 1, + "HAVE_SENDTO": 1, + "HAVE_SETEGID": 1, + "HAVE_SETEUID": 1, + "HAVE_SETGID": 1, + "HAVE_SETGROUPS": 1, + "HAVE_SETHOSTNAME": 1, + "HAVE_SETITIMER": 1, + "HAVE_SETJMP_H": 1, + "HAVE_SETLOCALE": 1, + "HAVE_SETNS": 0, + "HAVE_SETPGID": 1, + "HAVE_SETPGRP": 1, + "HAVE_SETPRIORITY": 1, + "HAVE_SETREGID": 1, + "HAVE_SETRESGID": 0, + "HAVE_SETRESUID": 0, + "HAVE_SETREUID": 1, + "HAVE_SETSID": 1, + "HAVE_SETSOCKOPT": 1, + "HAVE_SETUID": 1, + "HAVE_SETVBUF": 1, + "HAVE_SHADOW_H": 0, + "HAVE_SHM_OPEN": 1, + "HAVE_SHM_UNLINK": 1, + "HAVE_SHUTDOWN": 1, + "HAVE_SIGACTION": 1, + "HAVE_SIGALTSTACK": 1, + "HAVE_SIGFILLSET": 1, + "HAVE_SIGINFO_T_SI_BAND": 1, + "HAVE_SIGINTERRUPT": 1, + "HAVE_SIGNAL_H": 1, + "HAVE_SIGPENDING": 1, + "HAVE_SIGRELSE": 1, + "HAVE_SIGTIMEDWAIT": 0, + "HAVE_SIGWAIT": 1, + "HAVE_SIGWAITINFO": 0, + "HAVE_SNPRINTF": 1, + "HAVE_SOCKADDR_ALG": 0, + "HAVE_SOCKADDR_SA_LEN": 1, + "HAVE_SOCKADDR_STORAGE": 1, + "HAVE_SOCKET": 1, + "HAVE_SOCKETPAIR": 1, + "HAVE_SPAWN_H": 1, + "HAVE_SPLICE": 0, + "HAVE_SSIZE_T": 1, + "HAVE_STATVFS": 1, + "HAVE_STAT_TV_NSEC": 0, + "HAVE_STAT_TV_NSEC2": 1, + "HAVE_STDINT_H": 1, + "HAVE_STDIO_H": 1, + "HAVE_STDLIB_H": 1, + "HAVE_STD_ATOMIC": 1, + "HAVE_STRFTIME": 1, + "HAVE_STRINGS_H": 1, + "HAVE_STRING_H": 1, + "HAVE_STRLCPY": 1, + "HAVE_STROPTS_H": 0, + "HAVE_STRSIGNAL": 1, + "HAVE_STRUCT_PASSWD_PW_GECOS": 1, + "HAVE_STRUCT_PASSWD_PW_PASSWD": 1, + "HAVE_STRUCT_STAT_ST_BIRTHTIME": 1, + "HAVE_STRUCT_STAT_ST_BLKSIZE": 1, + "HAVE_STRUCT_STAT_ST_BLOCKS": 1, + "HAVE_STRUCT_STAT_ST_FLAGS": 1, + "HAVE_STRUCT_STAT_ST_GEN": 1, + "HAVE_STRUCT_STAT_ST_RDEV": 1, + "HAVE_STRUCT_TM_TM_ZONE": 1, + "HAVE_SYMLINK": 1, + "HAVE_SYMLINKAT": 1, + "HAVE_SYNC": 1, + "HAVE_SYSCONF": 1, + "HAVE_SYSEXITS_H": 1, + "HAVE_SYSLOG_H": 1, + "HAVE_SYSTEM": 1, + "HAVE_SYS_AUDIOIO_H": 0, + "HAVE_SYS_AUXV_H": 0, + "HAVE_SYS_BSDTTY_H": 0, + "HAVE_SYS_DEVPOLL_H": 0, + "HAVE_SYS_DIR_H": 0, + "HAVE_SYS_ENDIAN_H": 0, + "HAVE_SYS_EPOLL_H": 0, + "HAVE_SYS_EVENTFD_H": 0, + "HAVE_SYS_EVENT_H": 1, + "HAVE_SYS_FILE_H": 1, + "HAVE_SYS_IOCTL_H": 1, + "HAVE_SYS_KERN_CONTROL_H": 1, + "HAVE_SYS_LOADAVG_H": 0, + "HAVE_SYS_LOCK_H": 1, + "HAVE_SYS_MEMFD_H": 0, + "HAVE_SYS_MKDEV_H": 0, + "HAVE_SYS_MMAN_H": 1, + "HAVE_SYS_MODEM_H": 0, + "HAVE_SYS_NDIR_H": 0, + "HAVE_SYS_PARAM_H": 1, + "HAVE_SYS_POLL_H": 1, + "HAVE_SYS_RANDOM_H": 1, + "HAVE_SYS_RESOURCE_H": 1, + "HAVE_SYS_SELECT_H": 1, + "HAVE_SYS_SENDFILE_H": 0, + "HAVE_SYS_SOCKET_H": 1, + "HAVE_SYS_SOUNDCARD_H": 0, + "HAVE_SYS_STATVFS_H": 1, + "HAVE_SYS_STAT_H": 1, + "HAVE_SYS_SYSCALL_H": 1, + "HAVE_SYS_SYSMACROS_H": 0, + "HAVE_SYS_SYS_DOMAIN_H": 1, + "HAVE_SYS_TERMIO_H": 0, + "HAVE_SYS_TIMES_H": 1, + "HAVE_SYS_TIME_H": 1, + "HAVE_SYS_TYPES_H": 1, + "HAVE_SYS_UIO_H": 1, + "HAVE_SYS_UN_H": 1, + "HAVE_SYS_UTSNAME_H": 1, + "HAVE_SYS_WAIT_H": 1, + "HAVE_SYS_XATTR_H": 1, + "HAVE_TCGETPGRP": 1, + "HAVE_TCSETPGRP": 1, + "HAVE_TEMPNAM": 1, + "HAVE_TERMIOS_H": 1, + "HAVE_TERM_H": 1, + "HAVE_TIMEGM": 1, + "HAVE_TIMES": 1, + "HAVE_TMPFILE": 1, + "HAVE_TMPNAM": 1, + "HAVE_TMPNAM_R": 0, + "HAVE_TM_ZONE": 1, + "HAVE_TRUNCATE": 1, + "HAVE_TTYNAME": 1, + "HAVE_TZNAME": 0, + "HAVE_UMASK": 1, + "HAVE_UNAME": 1, + "HAVE_UNISTD_H": 1, + "HAVE_UNLINKAT": 1, + "HAVE_UNSHARE": 0, + "HAVE_USABLE_WCHAR_T": 0, + "HAVE_UTIL_H": 1, + "HAVE_UTIMENSAT": 1, + "HAVE_UTIMES": 1, + "HAVE_UTIME_H": 1, + "HAVE_UTMP_H": 1, + "HAVE_UUID_CREATE": 0, + "HAVE_UUID_ENC_BE": 0, + "HAVE_UUID_GENERATE_TIME_SAFE": 0, + "HAVE_UUID_H": 0, + "HAVE_UUID_UUID_H": 1, + "HAVE_VFORK": 1, + "HAVE_WAIT": 1, + "HAVE_WAIT3": 1, + "HAVE_WAIT4": 1, + "HAVE_WAITID": 1, + "HAVE_WAITPID": 1, + "HAVE_WCHAR_H": 1, + "HAVE_WCSCOLL": 1, + "HAVE_WCSFTIME": 1, + "HAVE_WCSXFRM": 1, + "HAVE_WMEMCMP": 1, + "HAVE_WORKING_TZSET": 1, + "HAVE_WRITEV": 1, + "HAVE_ZLIB_COPY": 1, + "HAVE_ZLIB_H": 1, + "HAVE__GETPTY": 0, + "HOSTRUNNER": "", + "HOST_GNU_TYPE": "aarch64-apple-darwin24.1.0", + "INCLDIRSTOMAKE": "/Users/pablo/.asdf/installs/python/3.12.8/include /Users/pablo/.asdf/installs/python/3.12.8/include /Users/pablo/.asdf/installs/python/3.12.8/include/python3.12 /Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "INCLUDEDIR": "/Users/pablo/.asdf/installs/python/3.12.8/include", + "INCLUDEPY": "/Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "INSTALL": "/opt/homebrew/bin/ginstall -c", + "INSTALL_DATA": "/opt/homebrew/bin/ginstall -c -m 644", + "INSTALL_PROGRAM": "/opt/homebrew/bin/ginstall -c", + "INSTALL_SCRIPT": "/opt/homebrew/bin/ginstall -c", + "INSTALL_SHARED": "/opt/homebrew/bin/ginstall -c -m 755", + "INSTSONAME": "libpython3.12.dylib", + "IO_H": "Modules/_io/_iomodule.h", + "IO_OBJS": "\\", + "LDCXXSHARED": "clang++ -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDFLAGS_NODIST": "", + "LDLIBRARY": "libpython3.12.dylib", + "LDLIBRARYDIR": "", + "LDSHARED": "clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDVERSION": "3.12", + "LIBC": "", + "LIBDEST": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "LIBDIR": "/Users/pablo/.asdf/installs/python/3.12.8/lib", + "LIBEXPAT_A": "Modules/expat/libexpat.a", + "LIBEXPAT_CFLAGS": "-I./Modules/expat -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBEXPAT_HEADERS": "\\", + "LIBEXPAT_OBJS": "\\", + "LIBHACL_CFLAGS": "-I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBHACL_HEADERS": "\\", + "LIBHACL_SHA2_A": "Modules/_hacl/libHacl_Hash_SHA2.a", + "LIBHACL_SHA2_HEADERS": "\\", + "LIBHACL_SHA2_OBJS": "\\", + "LIBM": "", + "LIBMPDEC_A": "Modules/_decimal/libmpdec/libmpdec.a", + "LIBMPDEC_CFLAGS": "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1 -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBMPDEC_HEADERS": "\\", + "LIBMPDEC_OBJS": "\\", + "LIBOBJDIR": "Python/", + "LIBOBJS": "", + "LIBPC": "/Users/pablo/.asdf/installs/python/3.12.8/lib/pkgconfig", + "LIBPL": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/config-3.12-darwin", + "LIBPYTHON": "", + "LIBRARY": "libpython3.12.a", + "LIBRARY_DEPS": "libpython3.12.a libpython3.12.dylib", + "LIBRARY_OBJS": "\\", + "LIBRARY_OBJS_OMIT_FROZEN": "\\", + "LIBS": "-lintl -ldl -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -framework CoreFoundation", + "LIBSUBDIRS": "asyncio \\", + "LINKCC": "clang", + "LINKFORSHARED": "-Wl,-stack_size,1000000 -framework CoreFoundation", + "LINK_PYTHON_DEPS": "libpython3.12.a libpython3.12.dylib", + "LINK_PYTHON_OBJS": "-L. -lpython3.12", + "LIPO_32BIT_FLAGS": "", + "LIPO_INTEL64_FLAGS": "", + "LLVM_PROF_ERR": "no", + "LLVM_PROF_FILE": "LLVM_PROFILE_FILE=\"$(shell pwd)/code-%p.profclangr\"", + "LLVM_PROF_MERGER": "/usr/bin/xcrun llvm-profdata merge -output=\"$(shell pwd)/code.profclangd\" \"$(shell pwd)\"/*.profclangr", + "LN": "ln", + "LOCALMODLIBS": "", + "MACHDEP": "darwin", + "MACHDEP_OBJS": "", + "MACHDESTLIB": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "MACOSX_DEPLOYMENT_TARGET": "15.1", + "MAJOR_IN_MKDEV": 0, + "MAJOR_IN_SYSMACROS": 0, + "MAKESETUP": "./Modules/makesetup", + "MANDIR": "/Users/pablo/.asdf/installs/python/3.12.8/share/man", + "MKDIR_P": "/opt/homebrew/bin/gmkdir -p", + "MODBUILT_NAMES": "array _asyncio _bisect _contextvars _csv _heapq _json _lsprof _opcode _pickle _queue _random _struct _xxsubinterpreters _xxinterpchannels _zoneinfo audioop math cmath _statistics _datetime _decimal binascii _bz2 _lzma zlib _dbm readline _md5 _sha1 _sha2 _sha3 _blake2 pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata _crypt fcntl grp mmap nis _posixsubprocess resource select _socket syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _scproxy xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35 atexit faulthandler posix _signal _tracemalloc _codecs _collections errno _io itertools _sre _thread time _typing _weakref _abc _functools _locale _operator _stat _symtable pwd", + "MODDISABLED_NAMES": "", + "MODLIBS": "", + "MODOBJS": "Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_threadmodule.o Modules/timemodule.o Modules/_typingmodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/pwdmodule.o", + "MODSHARED_NAMES": "array _asyncio _bisect _contextvars _csv _heapq _json _lsprof _opcode _pickle _queue _random _struct _xxsubinterpreters _xxinterpchannels _zoneinfo audioop math cmath _statistics _datetime _decimal binascii _bz2 _lzma zlib _dbm readline _md5 _sha1 _sha2 _sha3 _blake2 pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata _crypt fcntl grp mmap nis _posixsubprocess resource select _socket syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _scproxy xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35", + "MODULE_ARRAY_STATE": "yes", + "MODULE_ATEXIT_LDFLAGS": "", + "MODULE_AUDIOOP_LDFLAGS": "", + "MODULE_AUDIOOP_STATE": "yes", + "MODULE_BINASCII_CFLAGS": "-DUSE_ZLIB_CRC32", + "MODULE_BINASCII_LDFLAGS": "-lz", + "MODULE_BINASCII_STATE": "yes", + "MODULE_CMATH_DEPS": "./Modules/_math.h", + "MODULE_CMATH_LDFLAGS": "", + "MODULE_CMATH_STATE": "yes", + "MODULE_DEPS_SHARED": "Modules/config.c", + "MODULE_DEPS_STATIC": "Modules/config.c", + "MODULE_ERRNO_LDFLAGS": "", + "MODULE_FAULTHANDLER_LDFLAGS": "", + "MODULE_FCNTL_LDFLAGS": "", + "MODULE_FCNTL_STATE": "yes", + "MODULE_GRP_STATE": "yes", + "MODULE_ITERTOOLS_LDFLAGS": "", + "MODULE_MATH_DEPS": "./Modules/_math.h", + "MODULE_MATH_LDFLAGS": "", + "MODULE_MATH_STATE": "yes", + "MODULE_MMAP_STATE": "yes", + "MODULE_NIS_CFLAGS": "", + "MODULE_NIS_LDFLAGS": "", + "MODULE_NIS_STATE": "yes", + "MODULE_OBJS": "\\", + "MODULE_OSSAUDIODEV_STATE": "n/a", + "MODULE_POSIX_LDFLAGS": "", + "MODULE_PWD_LDFLAGS": "", + "MODULE_PWD_STATE": "yes", + "MODULE_PYEXPAT_CFLAGS": "-I./Modules/expat", + "MODULE_PYEXPAT_DEPS": "\\ Modules/expat/libexpat.a", + "MODULE_PYEXPAT_LDFLAGS": "-lm Modules/expat/libexpat.a", + "MODULE_PYEXPAT_STATE": "yes", + "MODULE_READLINE_CFLAGS": "", + "MODULE_READLINE_LDFLAGS": "-lreadline", + "MODULE_READLINE_STATE": "yes", + "MODULE_RESOURCE_STATE": "yes", + "MODULE_SELECT_STATE": "yes", + "MODULE_SPWD_STATE": "n/a", + "MODULE_SYSLOG_STATE": "yes", + "MODULE_TERMIOS_STATE": "yes", + "MODULE_TIME_LDFLAGS": "", + "MODULE_TIME_STATE": "yes", + "MODULE_UNICODEDATA_DEPS": "./Modules/unicodedata_db.h ./Modules/unicodename_db.h", + "MODULE_UNICODEDATA_STATE": "yes", + "MODULE_XXLIMITED_35_STATE": "yes", + "MODULE_XXLIMITED_STATE": "yes", + "MODULE_XXSUBTYPE_STATE": "yes", + "MODULE_ZLIB_CFLAGS": "", + "MODULE_ZLIB_LDFLAGS": "-lz", + "MODULE_ZLIB_STATE": "yes", + "MODULE__ABC_LDFLAGS": "", + "MODULE__ASYNCIO_STATE": "yes", + "MODULE__BISECT_STATE": "yes", + "MODULE__BLAKE2_CFLAGS": "", + "MODULE__BLAKE2_DEPS": "./Modules/_blake2/impl/blake2-config.h ./Modules/_blake2/impl/blake2-impl.h ./Modules/_blake2/impl/blake2.h ./Modules/_blake2/impl/blake2b-load-sse2.h ./Modules/_blake2/impl/blake2b-load-sse41.h ./Modules/_blake2/impl/blake2b-ref.c ./Modules/_blake2/impl/blake2b-round.h ./Modules/_blake2/impl/blake2b.c ./Modules/_blake2/impl/blake2s-load-sse2.h ./Modules/_blake2/impl/blake2s-load-sse41.h ./Modules/_blake2/impl/blake2s-load-xop.h ./Modules/_blake2/impl/blake2s-ref.c ./Modules/_blake2/impl/blake2s-round.h ./Modules/_blake2/impl/blake2s.c ./Modules/_blake2/blake2module.h ./Modules/hashlib.h", + "MODULE__BLAKE2_LDFLAGS": "", + "MODULE__BLAKE2_STATE": "yes", + "MODULE__BZ2_CFLAGS": "", + "MODULE__BZ2_LDFLAGS": "-lbz2", + "MODULE__BZ2_STATE": "yes", + "MODULE__CODECS_CN_DEPS": "./Modules/cjkcodecs/mappings_cn.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_CN_STATE": "yes", + "MODULE__CODECS_HK_DEPS": "./Modules/cjkcodecs/mappings_hk.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_HK_STATE": "yes", + "MODULE__CODECS_ISO2022_DEPS": "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_ISO2022_STATE": "yes", + "MODULE__CODECS_JP_DEPS": "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/mappings_jp.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_JP_STATE": "yes", + "MODULE__CODECS_KR_DEPS": "./Modules/cjkcodecs/mappings_kr.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_KR_STATE": "yes", + "MODULE__CODECS_LDFLAGS": "", + "MODULE__CODECS_TW_DEPS": "./Modules/cjkcodecs/mappings_tw.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_TW_STATE": "yes", + "MODULE__COLLECTIONS_LDFLAGS": "", + "MODULE__CONTEXTVARS_STATE": "yes", + "MODULE__CRYPT_CFLAGS": "", + "MODULE__CRYPT_LDFLAGS": "", + "MODULE__CRYPT_STATE": "yes", + "MODULE__CSV_STATE": "yes", + "MODULE__CTYPES_CFLAGS": "-fno-strict-overflow -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi -DUSING_APPLE_OS_LIBFFI=1 -DUSING_MALLOC_CLOSURE_DOT_C=1", + "MODULE__CTYPES_DEPS": "./Modules/_ctypes/ctypes.h", + "MODULE__CTYPES_LDFLAGS": "-lffi -ldl", + "MODULE__CTYPES_MALLOC_CLOSURE": "_ctypes/malloc_closure.c", + "MODULE__CTYPES_STATE": "yes", + "MODULE__CTYPES_TEST_LDFLAGS": "", + "MODULE__CTYPES_TEST_STATE": "yes", + "MODULE__CURSES_CFLAGS": "-D_XOPEN_SOURCE_EXTENDED=1", + "MODULE__CURSES_LDFLAGS": "-lncurses", + "MODULE__CURSES_PANEL_CFLAGS": "-D_XOPEN_SOURCE_EXTENDED=1", + "MODULE__CURSES_PANEL_LDFLAGS": "-lpanel -lncurses", + "MODULE__CURSES_PANEL_STATE": "yes", + "MODULE__CURSES_STATE": "yes", + "MODULE__DATETIME_LDFLAGS": "", + "MODULE__DATETIME_STATE": "yes", + "MODULE__DBM_CFLAGS": "-DUSE_NDBM", + "MODULE__DBM_LDFLAGS": "", + "MODULE__DBM_STATE": "yes", + "MODULE__DECIMAL_CFLAGS": "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1", + "MODULE__DECIMAL_DEPS": "./Modules/_decimal/docstrings.h \\ Modules/_decimal/libmpdec/libmpdec.a", + "MODULE__DECIMAL_LDFLAGS": "-lm Modules/_decimal/libmpdec/libmpdec.a", + "MODULE__DECIMAL_STATE": "yes", + "MODULE__ELEMENTTREE_CFLAGS": "-I./Modules/expat", + "MODULE__ELEMENTTREE_DEPS": "./Modules/pyexpat.c \\ Modules/expat/libexpat.a", + "MODULE__ELEMENTTREE_STATE": "yes", + "MODULE__FUNCTOOLS_LDFLAGS": "", + "MODULE__GDBM_STATE": "missing", + "MODULE__HASHLIB_CFLAGS": "-I/opt/homebrew/opt/openssl@3/include", + "MODULE__HASHLIB_DEPS": "./Modules/hashlib.h", + "MODULE__HASHLIB_LDFLAGS": "-L/opt/homebrew/opt/openssl@3/lib -lcrypto", + "MODULE__HASHLIB_STATE": "yes", + "MODULE__HEAPQ_STATE": "yes", + "MODULE__IO_CFLAGS": "-I./Modules/_io", + "MODULE__IO_DEPS": "./Modules/_io/_iomodule.h", + "MODULE__IO_LDFLAGS": "", + "MODULE__IO_STATE": "yes", + "MODULE__JSON_STATE": "yes", + "MODULE__LOCALE_LDFLAGS": "", + "MODULE__LSPROF_STATE": "yes", + "MODULE__LZMA_CFLAGS": "", + "MODULE__LZMA_LDFLAGS": "-llzma", + "MODULE__LZMA_STATE": "yes", + "MODULE__MD5_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__MD5_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_MD5.h Modules/_hacl/Hacl_Hash_MD5.c", + "MODULE__MD5_STATE": "yes", + "MODULE__MULTIBYTECODEC_DEPS": "./Modules/cjkcodecs/multibytecodec.h", + "MODULE__MULTIBYTECODEC_STATE": "yes", + "MODULE__MULTIPROCESSING_CFLAGS": "-I./Modules/_multiprocessing", + "MODULE__MULTIPROCESSING_STATE": "yes", + "MODULE__OPCODE_STATE": "yes", + "MODULE__OPERATOR_LDFLAGS": "", + "MODULE__PICKLE_STATE": "yes", + "MODULE__POSIXSHMEM_CFLAGS": "-I./Modules/_multiprocessing", + "MODULE__POSIXSHMEM_LDFLAGS": "", + "MODULE__POSIXSHMEM_STATE": "yes", + "MODULE__POSIXSUBPROCESS_STATE": "yes", + "MODULE__QUEUE_STATE": "yes", + "MODULE__RANDOM_STATE": "yes", + "MODULE__SCPROXY_LDFLAGS": "-framework SystemConfiguration -framework CoreFoundation", + "MODULE__SCPROXY_STATE": "yes", + "MODULE__SHA1_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__SHA1_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_SHA1.h Modules/_hacl/Hacl_Hash_SHA1.c", + "MODULE__SHA1_STATE": "yes", + "MODULE__SHA2_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__SHA2_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/libHacl_Hash_SHA2.a", + "MODULE__SHA2_STATE": "yes", + "MODULE__SHA3_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_SHA3.h Modules/_hacl/Hacl_Hash_SHA3.c", + "MODULE__SHA3_STATE": "yes", + "MODULE__SIGNAL_LDFLAGS": "", + "MODULE__SOCKET_DEPS": "./Modules/socketmodule.h ./Modules/addrinfo.h ./Modules/getaddrinfo.c ./Modules/getnameinfo.c", + "MODULE__SOCKET_STATE": "yes", + "MODULE__SQLITE3_CFLAGS": "-I./Modules/_sqlite", + "MODULE__SQLITE3_DEPS": "./Modules/_sqlite/connection.h ./Modules/_sqlite/cursor.h ./Modules/_sqlite/microprotocols.h ./Modules/_sqlite/module.h ./Modules/_sqlite/prepare_protocol.h ./Modules/_sqlite/row.h ./Modules/_sqlite/util.h", + "MODULE__SQLITE3_LDFLAGS": "-lsqlite3", + "MODULE__SQLITE3_STATE": "yes", + "MODULE__SRE_LDFLAGS": "", + "MODULE__SSL_CFLAGS": "-I/opt/homebrew/opt/openssl@3/include", + "MODULE__SSL_DEPS": "./Modules/_ssl.h ./Modules/_ssl/cert.c ./Modules/_ssl/debughelpers.c ./Modules/_ssl/misc.c ./Modules/_ssl_data.h ./Modules/_ssl_data_111.h ./Modules/_ssl_data_300.h ./Modules/socketmodule.h", + "MODULE__SSL_LDFLAGS": "-L/opt/homebrew/opt/openssl@3/lib -lssl -lcrypto", + "MODULE__SSL_STATE": "yes", + "MODULE__STATISTICS_LDFLAGS": "", + "MODULE__STATISTICS_STATE": "yes", + "MODULE__STAT_LDFLAGS": "", + "MODULE__STRUCT_STATE": "yes", + "MODULE__SYMTABLE_LDFLAGS": "", + "MODULE__TESTBUFFER_STATE": "yes", + "MODULE__TESTCAPI_DEPS": "./Modules/_testcapi/testcapi_long.h ./Modules/_testcapi/parts.h ./Modules/_testcapi/util.h", + "MODULE__TESTCAPI_STATE": "yes", + "MODULE__TESTCLINIC_STATE": "yes", + "MODULE__TESTIMPORTMULTIPLE_STATE": "yes", + "MODULE__TESTINTERNALCAPI_STATE": "yes", + "MODULE__TESTMULTIPHASE_STATE": "yes", + "MODULE__THREAD_LDFLAGS": "", + "MODULE__TKINTER_STATE": "missing", + "MODULE__TRACEMALLOC_LDFLAGS": "", + "MODULE__TYPING_LDFLAGS": "", + "MODULE__TYPING_STATE": "yes", + "MODULE__UUID_CFLAGS": "", + "MODULE__UUID_LDFLAGS": "", + "MODULE__UUID_STATE": "yes", + "MODULE__WEAKREF_LDFLAGS": "", + "MODULE__XXINTERPCHANNELS_STATE": "yes", + "MODULE__XXSUBINTERPRETERS_STATE": "yes", + "MODULE__XXTESTFUZZ_STATE": "yes", + "MODULE__ZONEINFO_STATE": "yes", + "MULTIARCH": "darwin", + "MULTIARCH_CPPFLAGS": "-DMULTIARCH=\\\"darwin\\\"", + "MVWDELCH_IS_EXPRESSION": 1, + "NO_AS_NEEDED": "", + "OBJECT_OBJS": "\\", + "OPT": "-DNDEBUG -g -O3 -Wall", + "PACKAGE_BUGREPORT": 0, + "PACKAGE_NAME": 0, + "PACKAGE_STRING": 0, + "PACKAGE_TARNAME": 0, + "PACKAGE_URL": 0, + "PACKAGE_VERSION": 0, + "PARSER_HEADERS": "\\", + "PARSER_OBJS": "\\ \\ Parser/myreadline.o Parser/tokenizer.o", + "PEGEN_HEADERS": "\\", + "PEGEN_OBJS": "\\", + "PGO_PROF_GEN_FLAG": "-fprofile-instr-generate", + "PGO_PROF_USE_FLAG": "-fprofile-instr-use=\"$(shell pwd)/code.profclangd\"", + "PLATLIBDIR": "lib", + "POBJS": "\\", + "POSIX_SEMAPHORES_NOT_ENABLED": 0, + "PROFILE_TASK": "-m test --pgo --timeout=1200", + "PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT": 0, + "PTHREAD_SYSTEM_SCHED_SUPPORTED": 1, + "PURIFY": "", + "PY3LIBRARY": "", + "PYLONG_BITS_IN_DIGIT": 0, + "PYTHON": "python", + "PYTHONFRAMEWORK": "", + "PYTHONFRAMEWORKDIR": "no-framework", + "PYTHONFRAMEWORKINSTALLDIR": "", + "PYTHONFRAMEWORKPREFIX": "", + "PYTHONPATH": "", + "PYTHON_FOR_BUILD": "./python.exe -E", + "PYTHON_FOR_BUILD_DEPS": "python.exe", + "PYTHON_FOR_FREEZE": "./_bootstrap_python", + "PYTHON_FOR_REGEN": "", + "PYTHON_HEADERS": "\\", + "PYTHON_OBJS": "\\", + "PY_BUILTIN_HASHLIB_HASHES": "\"md5,sha1,sha2,sha3,blake2\"", + "PY_BUILTIN_MODULE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -DPy_BUILD_CORE_BUILTIN", + "PY_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall", + "PY_CFLAGS_NODIST": "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal", + "PY_COERCE_C_LOCALE": 1, + "PY_CORE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -DPy_BUILD_CORE", + "PY_CORE_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_CPPFLAGS": "-I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "PY_ENABLE_SHARED": 1, + "PY_HAVE_PERF_TRAMPOLINE": 0, + "PY_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_LDFLAGS_NODIST": "", + "PY_LDFLAGS_NOLTO": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_SQLITE_ENABLE_LOAD_EXTENSION": 0, + "PY_SQLITE_HAVE_SERIALIZE": 1, + "PY_SSL_DEFAULT_CIPHERS": 1, + "PY_SSL_DEFAULT_CIPHER_STRING": 0, + "PY_STDMODULE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "PY_SUPPORT_TIER": 2, + "Py_DEBUG": 0, + "Py_ENABLE_SHARED": 1, + "Py_HASH_ALGORITHM": 0, + "Py_STATS": 0, + "Py_SUNOS_VERSION": 0, + "Py_TRACE_REFS": 0, + "QUICKTESTOPTS": "-x test_subprocess test_io test_lib2to3 \\", + "READELF": "@READELF@", + "RESSRCDIR": "Mac/Resources/framework", + "RETSIGTYPE": "void", + "RUNSHARED": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "SCRIPTDIR": "/Users/pablo/.asdf/installs/python/3.12.8/lib", + "SCRIPT_2TO3": "build/scripts-3.12/2to3-3.12", + "SCRIPT_IDLE": "build/scripts-3.12/idle3.12", + "SCRIPT_PYDOC": "build/scripts-3.12/pydoc3.12", + "SETPGRP_HAVE_ARG": 0, + "SHAREDMODS": "Modules/array.cpython-312-darwin.so Modules/_asyncio.cpython-312-darwin.so Modules/_bisect.cpython-312-darwin.so Modules/_contextvars.cpython-312-darwin.so Modules/_csv.cpython-312-darwin.so Modules/_heapq.cpython-312-darwin.so Modules/_json.cpython-312-darwin.so Modules/_lsprof.cpython-312-darwin.so Modules/_opcode.cpython-312-darwin.so Modules/_pickle.cpython-312-darwin.so Modules/_queue.cpython-312-darwin.so Modules/_random.cpython-312-darwin.so Modules/_struct.cpython-312-darwin.so Modules/_xxsubinterpreters.cpython-312-darwin.so Modules/_xxinterpchannels.cpython-312-darwin.so Modules/_zoneinfo.cpython-312-darwin.so Modules/audioop.cpython-312-darwin.so Modules/math.cpython-312-darwin.so Modules/cmath.cpython-312-darwin.so Modules/_statistics.cpython-312-darwin.so Modules/_datetime.cpython-312-darwin.so Modules/_decimal.cpython-312-darwin.so Modules/binascii.cpython-312-darwin.so Modules/_bz2.cpython-312-darwin.so Modules/_lzma.cpython-312-darwin.so Modules/zlib.cpython-312-darwin.so Modules/_dbm.cpython-312-darwin.so Modules/readline.cpython-312-darwin.so Modules/_md5.cpython-312-darwin.so Modules/_sha1.cpython-312-darwin.so Modules/_sha2.cpython-312-darwin.so Modules/_sha3.cpython-312-darwin.so Modules/_blake2.cpython-312-darwin.so Modules/pyexpat.cpython-312-darwin.so Modules/_elementtree.cpython-312-darwin.so Modules/_codecs_cn.cpython-312-darwin.so Modules/_codecs_hk.cpython-312-darwin.so Modules/_codecs_iso2022.cpython-312-darwin.so Modules/_codecs_jp.cpython-312-darwin.so Modules/_codecs_kr.cpython-312-darwin.so Modules/_codecs_tw.cpython-312-darwin.so Modules/_multibytecodec.cpython-312-darwin.so Modules/unicodedata.cpython-312-darwin.so Modules/_crypt.cpython-312-darwin.so Modules/fcntl.cpython-312-darwin.so Modules/grp.cpython-312-darwin.so Modules/mmap.cpython-312-darwin.so Modules/nis.cpython-312-darwin.so Modules/_posixsubprocess.cpython-312-darwin.so Modules/resource.cpython-312-darwin.so Modules/select.cpython-312-darwin.so Modules/_socket.cpython-312-darwin.so Modules/syslog.cpython-312-darwin.so Modules/termios.cpython-312-darwin.so Modules/_posixshmem.cpython-312-darwin.so Modules/_multiprocessing.cpython-312-darwin.so Modules/_ctypes.cpython-312-darwin.so Modules/_curses.cpython-312-darwin.so Modules/_curses_panel.cpython-312-darwin.so Modules/_sqlite3.cpython-312-darwin.so Modules/_ssl.cpython-312-darwin.so Modules/_hashlib.cpython-312-darwin.so Modules/_uuid.cpython-312-darwin.so Modules/_scproxy.cpython-312-darwin.so Modules/xxsubtype.cpython-312-darwin.so Modules/_xxtestfuzz.cpython-312-darwin.so Modules/_testbuffer.cpython-312-darwin.so Modules/_testinternalcapi.cpython-312-darwin.so Modules/_testcapi.cpython-312-darwin.so Modules/_testclinic.cpython-312-darwin.so Modules/_testimportmultiple.cpython-312-darwin.so Modules/_testmultiphase.cpython-312-darwin.so Modules/_testsinglephase.cpython-312-darwin.so Modules/_ctypes_test.cpython-312-darwin.so Modules/xxlimited.cpython-312-darwin.so Modules/xxlimited_35.cpython-312-darwin.so", + "SHELL": "/bin/sh -e", + "SHLIBS": "-lintl -ldl -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -framework CoreFoundation", + "SHLIB_SUFFIX": ".so", + "SIGNED_RIGHT_SHIFT_ZERO_FILLS": 0, + "SITEPATH": "", + "SIZEOF_DOUBLE": 8, + "SIZEOF_FLOAT": 4, + "SIZEOF_FPOS_T": 8, + "SIZEOF_INT": 4, + "SIZEOF_LONG": 8, + "SIZEOF_LONG_DOUBLE": 8, + "SIZEOF_LONG_LONG": 8, + "SIZEOF_OFF_T": 8, + "SIZEOF_PID_T": 4, + "SIZEOF_PTHREAD_KEY_T": 8, + "SIZEOF_PTHREAD_T": 8, + "SIZEOF_SHORT": 2, + "SIZEOF_SIZE_T": 8, + "SIZEOF_TIME_T": 8, + "SIZEOF_UINTPTR_T": 8, + "SIZEOF_VOID_P": 8, + "SIZEOF_WCHAR_T": 4, + "SIZEOF__BOOL": 1, + "SOABI": "cpython-312-darwin", + "SRCDIRS": "Modules Modules/_blake2 Modules/_ctypes Modules/_decimal Modules/_decimal/libmpdec Modules/_hacl Modules/_io Modules/_multiprocessing Modules/_sqlite Modules/_sre Modules/_testcapi Modules/_xxtestfuzz Modules/cjkcodecs Modules/expat Objects Parser Programs Python Python/frozen_modules Python/deepfreeze", + "SRC_GDB_HOOKS": "./Tools/gdb/libpython.py", + "STATIC_LIBPYTHON": 1, + "STDC_HEADERS": 1, + "STRICT_SYSV_CURSES": "/* Don't use ncurses extensions */", + "STRIPFLAG": "-s", + "SUBDIRS": "", + "SUBDIRSTOO": "Include Lib Misc", + "SYSLIBS": "", + "SYS_SELECT_WITH_SYS_TIME": 1, + "TESTOPTS": "", + "TESTPATH": "", + "TESTPYTHON": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8 ./python.exe -E", + "TESTPYTHONOPTS": "", + "TESTRUNNER": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8 ./python.exe -E ./Tools/scripts/run_tests.py", + "TESTSUBDIRS": "idlelib/idle_test \\", + "TESTTIMEOUT": 1200, + "TEST_MODULES": "yes", + "THREAD_STACK_SIZE": "0x1000000", + "TIMEMODULE_LIB": 0, + "TM_IN_SYS_TIME": 0, + "TZPATH": "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo", + "UNICODE_DEPS": "\\", + "UNIVERSALSDK": "", + "UPDATE_FILE": "./Tools/build/update_file.py", + "USE_COMPUTED_GOTOS": 0, + "VERSION": "3.12", + "WASM_ASSETS_DIR": "./Users/pablo/.asdf/installs/python/3.12.8", + "WASM_STDLIB": "./Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/os.py", + "WHEEL_PKG_DIR": "", + "WINDOW_HAS_FLAGS": 0, + "WITH_DECIMAL_CONTEXTVAR": 1, + "WITH_DOC_STRINGS": 1, + "WITH_DTRACE": 0, + "WITH_DYLD": 1, + "WITH_EDITLINE": 0, + "WITH_FREELISTS": 1, + "WITH_LIBINTL": 1, + "WITH_NEXT_FRAMEWORK": 0, + "WITH_PYMALLOC": 1, + "WITH_VALGRIND": 0, + "X87_DOUBLE_ROUNDING": 0, + "XMLLIBSUBDIRS": "xml xml/dom xml/etree xml/parsers xml/sax", + "abs_builddir": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "abs_srcdir": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "datarootdir": "/Users/pablo/.asdf/installs/python/3.12.8/share", + "srcdir": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/config-3.12-darwin", + "userbase": "/Users/pablo/.local" + }, + "dependencies": { + "python-binance": "1.0.27", + "dateparser": "1.2.0", + "shellingham": "1.5.4", + "opentelemetry-api": "1.29.0", + "langchain-anthropic": "0.3.3", + "Pygments": "2.19.1", + "pycodestyle": "2.12.1", + "pandas": "2.2.3", + "importlib_metadata": "8.5.0", + "filelock": "3.16.1", + "idna": "3.10", + "langsmith": "0.2.11", + "msal-extensions": "1.2.0", + "aioresponses": "0.7.7", + "pydub": "0.25.1", + "pytest-cov": "6.0.0", + "ujson": "5.10.0", + "distlib": "0.3.9", + "python-socks": "2.5.3", + "pip": "24.3.1", + "multidict": "6.1.0", + "pytest-flake8": "1.3.0", + "fastapi": "0.115.6", + "pillow": "11.1.0", + "lxml": "5.3.0", + "pyproject-api": "1.8.0", + "langgraph-checkpoint": "2.0.10", + "urllib3": "2.2.3", + "colorama": "0.4.6", + "uvicorn": "0.34.0", + "zipp": "3.21.0", + "typer": "0.15.1", + "ruff": "0.8.4", + "setuptools": "75.6.0", + "msgpack": "1.1.0", + "flake8": "7.1.1", + "pycryptodome": "3.21.0", + "defusedxml": "0.7.1", + "autogen-ext": "0.4.2", + "requests": "2.32.3", + "frozenlist": "1.5.0", + "openpyxl": "3.1.5", + "psycopg": "3.2.4", + "soupsieve": "2.6", + "anthropic": "0.43.1", + "markdown-it-py": "3.0.0", + "pytest": "8.3.4", + "puremagic": "1.28", + "mammoth": "1.9.0", + "h11": "0.14.0", + "magentic-one-cli": "0.2.2", + "pyee": "12.0.0", + "python-pptx": "1.0.2", + "msal": "1.31.1", + "et_xmlfile": "2.0.0", + "protobuf": "4.25.5", + "autogen-core": "0.4.2", + "aiohttp": "3.10.11", + "markdownify": "0.14.1", + "pathvalidate": "3.2.3", + "iniconfig": "2.0.0", + "rich": "13.9.4", + "tqdm": "4.67.1", + "autogenstudio": "0.4.0.3", + "Mako": "1.3.8", + "jsonpatch": "1.33", + "click": "8.1.8", + "jsonpointer": "3.0.0", + "numpy": "1.26.4", + "ccxt": "4.4.57", + "tenacity": "9.0.0", + "cffi": "1.17.1", + "openai": "1.58.1", + "propcache": "0.2.1", + "autogen-agentchat": "0.4.2", + "cachetools": "5.5.0", + "portalocker": "2.10.1", + "youtube-transcript-api": "0.6.3", + "PyJWT": "2.10.1", + "XlsxWriter": "3.2.0", + "langchain-core": "0.3.30", + "psutil": "6.1.1", + "aiofiles": "24.1.0", + "python-dotenv": "1.0.1", + "websockets_proxy": "0.1.3", + "regex": "2024.11.6", + "loguru": "0.7.3", + "pyright": "1.1.391", + "sniffio": "1.3.1", + "nodeenv": "1.9.1", + "mdurl": "0.1.2", + "python-dateutil": "2.9.0.post0", + "aiodns": "3.2.0", + "pytz": "2024.2", + "yarl": "1.18.3", + "mccabe": "0.7.0", + "jsonref": "1.1.0", + "Deprecated": "1.2.15", + "packaging": "24.2", + "SpeechRecognition": "3.14.0", + "cobble": "0.1.4", + "sqlmodel": "0.0.22", + "tzlocal": "5.2", + "chardet": "5.2.0", + "pytest-codspeed": "3.2.0", + "pydantic_core": "2.27.2", + "coverage": "7.6.9", + "httpcore": "1.0.7", + "tox": "4.23.2", + "pycparser": "2.22", + "websockets": "14.1", + "langgraph": "0.2.64", + "pydantic": "2.10.4", + "pytest-benchmark": "5.1.0", + "pluggy": "1.5.0", + "playwright": "1.49.1", + "pytest-asyncio": "0.25.0", + "starlette": "0.41.3", + "markitdown": "0.0.1a3", + "alembic": "1.14.0", + "distro": "1.9.0", + "pdfminer.six": "20240706", + "SQLAlchemy": "2.0.37", + "jiter": "0.8.2", + "cryptography": "44.0.0", + "pydantic-settings": "2.7.1", + "requests-toolbelt": "1.0.0", + "wrapt": "1.17.2", + "bs4": "0.0.2", + "py-cpuinfo": "9.0.0", + "aiosignal": "1.3.2", + "typing_extensions": "4.12.2", + "PyYAML": "6.0.2", + "httpx": "0.28.1", + "attrs": "24.3.0", + "anyio": "4.7.0", + "azure-core": "1.32.0", + "charset-normalizer": "3.4.0", + "langgraph-sdk": "0.1.51", + "tzdata": "2024.2", + "tiktoken": "0.8.0", + "beautifulsoup4": "4.12.3", + "aiohappyeyeballs": "2.4.4", + "platformdirs": "4.3.6", + "pycares": "4.5.0", + "annotated-types": "0.7.0", + "certifi": "2024.12.14", + "virtualenv": "20.28.0", + "six": "1.17.0", + "greenlet": "3.1.1", + "requests-mock": "1.12.1", + "pyflakes": "3.2.0", + "azure-identity": "1.19.0", + "MarkupSafe": "3.0.2" + } + }, + "instrument": { + "type": "walltime", + "clock_info": { + "implementation": "mach_absolute_time()", + "monotonic": true, + "adjustable": false, + "resolution": 4.166666666666667e-08 + } + }, + "benchmarks": [ + { + "name": "test_ws_api_public_endpoint_2", + "uri": "tests/test_ws_api.py::test_ws_api_public_endpoint_2", + "config": { + "warmup_time_ns": 1000000000, + "min_round_time_ns": 41666666.66666667, + "max_time_ns": 3000000000, + "max_rounds": null + }, + "stats": { + "min_ns": 930.6569535557832, + "max_ns": 1540.3753459887105, + "mean_ns": 984.9068708502905, + "stdev_ns": 102.04703830259194, + "q1_ns": 948.5530152779896, + "median_ns": 958.9326983850228, + "q3_ns": 975.0597389011181, + "rounds": 71, + "total_time": 3.027918833, + "iqr_outlier_rounds": 6, + "stdev_outlier_rounds": 2, + "iter_per_round": 45883, + "warmup_iters": 989275 + } + } + ] +} diff --git a/.codspeed/results_1740207936629.json b/.codspeed/results_1740207936629.json new file mode 100644 index 00000000..945d4198 --- /dev/null +++ b/.codspeed/results_1740207936629.json @@ -0,0 +1,1205 @@ +{ + "creator": { + "name": "pytest-codspeed", + "version": "3.2.0", + "pid": 74215 + }, + "python": { + "sysconfig": { + "prefix": "/Users/pablo/.asdf/installs/python/3.12.8", + "exec_prefix": "/Users/pablo/.asdf/installs/python/3.12.8", + "py_version": "3.12.8", + "py_version_short": "3.12", + "py_version_nodot": "312", + "installed_base": "/Users/pablo/.asdf/installs/python/3.12.8", + "base": "/Users/pablo/.asdf/installs/python/3.12.8", + "installed_platbase": "/Users/pablo/.asdf/installs/python/3.12.8", + "platbase": "/Users/pablo/.asdf/installs/python/3.12.8", + "projectbase": "/Users/pablo/.asdf/installs/python/3.12.8/bin", + "platlibdir": "lib", + "abiflags": "", + "py_version_nodot_plat": "", + "ABIFLAGS": "", + "AC_APPLE_UNIVERSAL_BUILD": 0, + "AIX_BUILDDATE": 0, + "AIX_GENUINE_CPLUSPLUS": 0, + "ALIGNOF_LONG": 8, + "ALIGNOF_MAX_ALIGN_T": 8, + "ALIGNOF_SIZE_T": 8, + "ALT_SOABI": 0, + "ANDROID_API_LEVEL": 0, + "AR": "ar", + "ARFLAGS": "rcs", + "BASECFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code", + "BASECPPFLAGS": "", + "BASEMODLIBS": "", + "BINDIR": "/Users/pablo/.asdf/installs/python/3.12.8/bin", + "BINLIBDEST": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "BLDLIBRARY": "-L. -lpython3.12", + "BLDSHARED": "clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "BOOTSTRAP_HEADERS": "\\", + "BUILDEXE": ".exe", + "BUILDPYTHON": "python.exe", + "BUILD_GNU_TYPE": "aarch64-apple-darwin24.1.0", + "BUILD_SCRIPTS_DIR": "build/scripts-3.12", + "BYTESTR_DEPS": "\\", + "CC": "clang", + "CCSHARED": "", + "CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall", + "CFLAGSFORSHARED": "", + "CFLAGS_ALIASING": "-fno-strict-aliasing", + "CFLAGS_NODIST": "", + "CODECS_COMMON_HEADERS": "./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "COMPILEALL_OPTS": "-j0", + "CONFIGFILES": "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in", + "CONFIGURE_CFLAGS": "", + "CONFIGURE_CFLAGS_NODIST": "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden", + "CONFIGURE_CPPFLAGS": "-I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "CONFIGURE_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "CONFIGURE_LDFLAGS_NODIST": "", + "CONFIGURE_LDFLAGS_NOLTO": "", + "CONFIG_ARGS": "'--prefix=/Users/pablo/.asdf/installs/python/3.12.8' '--enable-shared' '--libdir=/Users/pablo/.asdf/installs/python/3.12.8/lib' '--with-openssl=/opt/homebrew/opt/openssl@3' 'PKG_CONFIG_PATH=/opt/homebrew/opt/openssl@3/lib/pkgconfig/:' 'CC=clang' 'LDFLAGS=-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib' 'LIBS=-L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib' 'CPPFLAGS=-I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include'", + "CONFINCLUDEDIR": "/Users/pablo/.asdf/installs/python/3.12.8/include", + "CONFINCLUDEPY": "/Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "COREPYTHONPATH": "", + "COVERAGE_INFO": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8/coverage.info", + "COVERAGE_LCOV_OPTIONS": "--rc lcov_branch_coverage=1", + "COVERAGE_REPORT": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8/lcov-report", + "COVERAGE_REPORT_OPTIONS": "--rc lcov_branch_coverage=1 --branch-coverage --title \"CPython 3.12 LCOV report [commit $(shell )]\"", + "CPPFLAGS": "-I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "CXX": "clang++", + "DEEPFREEZE_C": "Python/deepfreeze/deepfreeze.c", + "DEEPFREEZE_DEPS": "./Tools/build/deepfreeze.py _bootstrap_python ./Programs/_freeze_module.py \\", + "DEEPFREEZE_OBJS": "Python/deepfreeze/deepfreeze.o", + "DESTDIRS": "/Users/pablo/.asdf/installs/python/3.12.8 /Users/pablo/.asdf/installs/python/3.12.8/lib /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12 /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/lib-dynload", + "DESTLIB": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "DESTPATH": "", + "DESTSHARED": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/lib-dynload", + "DFLAGS": "", + "DIRMODE": 755, + "DIST": "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy", + "DISTDIRS": "Include Lib Misc Ext-dummy", + "DISTFILES": "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in", + "DLINCLDIR": ".", + "DLLLIBRARY": "", + "DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754": 0, + "DOUBLE_IS_BIG_ENDIAN_IEEE754": 0, + "DOUBLE_IS_LITTLE_ENDIAN_IEEE754": 1, + "DSYMUTIL": "", + "DSYMUTIL_PATH": "", + "DTRACE": "", + "DTRACE_DEPS": "\\", + "DTRACE_HEADERS": "", + "DTRACE_OBJS": "", + "DYNLOADFILE": "dynload_shlib.o", + "ENABLE_IPV6": 1, + "ENSUREPIP": "upgrade", + "EXE": "", + "EXEMODE": 755, + "EXENAME": "/Users/pablo/.asdf/installs/python/3.12.8/bin/python3.12", + "EXPORTSFROM": "", + "EXPORTSYMS": "", + "EXTRATESTOPTS": "", + "EXTRA_CFLAGS": "", + "EXT_SUFFIX": ".cpython-312-darwin.so", + "FILEMODE": 644, + "FREEZE_MODULE": "./_bootstrap_python ./Programs/_freeze_module.py", + "FREEZE_MODULE_BOOTSTRAP": "./Programs/_freeze_module", + "FREEZE_MODULE_BOOTSTRAP_DEPS": "Programs/_freeze_module", + "FREEZE_MODULE_DEPS": "_bootstrap_python ./Programs/_freeze_module.py", + "FROZEN_FILES_IN": "\\", + "FROZEN_FILES_OUT": "\\", + "GETPGRP_HAVE_ARG": 0, + "GITBRANCH": "", + "GITTAG": "", + "GITVERSION": "", + "GNULD": "no", + "HAVE_ACCEPT": 1, + "HAVE_ACCEPT4": 0, + "HAVE_ACOSH": 1, + "HAVE_ADDRINFO": 1, + "HAVE_ALARM": 1, + "HAVE_ALIGNED_REQUIRED": 0, + "HAVE_ALLOCA_H": 1, + "HAVE_ALTZONE": 0, + "HAVE_ASINH": 1, + "HAVE_ASM_TYPES_H": 0, + "HAVE_ATANH": 1, + "HAVE_BIND": 1, + "HAVE_BIND_TEXTDOMAIN_CODESET": 1, + "HAVE_BLUETOOTH_BLUETOOTH_H": 0, + "HAVE_BLUETOOTH_H": 0, + "HAVE_BROKEN_MBSTOWCS": 0, + "HAVE_BROKEN_NICE": 0, + "HAVE_BROKEN_PIPE_BUF": 0, + "HAVE_BROKEN_POLL": 0, + "HAVE_BROKEN_POSIX_SEMAPHORES": 0, + "HAVE_BROKEN_PTHREAD_SIGMASK": 0, + "HAVE_BROKEN_SEM_GETVALUE": 1, + "HAVE_BROKEN_UNSETENV": 0, + "HAVE_BUILTIN_ATOMIC": 1, + "HAVE_BZLIB_H": 1, + "HAVE_CHFLAGS": 1, + "HAVE_CHMOD": 1, + "HAVE_CHOWN": 1, + "HAVE_CHROOT": 1, + "HAVE_CLOCK": 1, + "HAVE_CLOCK_GETRES": 1, + "HAVE_CLOCK_GETTIME": 1, + "HAVE_CLOCK_NANOSLEEP": 0, + "HAVE_CLOCK_SETTIME": 1, + "HAVE_CLOSE_RANGE": 0, + "HAVE_COMPUTED_GOTOS": 1, + "HAVE_CONFSTR": 1, + "HAVE_CONIO_H": 0, + "HAVE_CONNECT": 1, + "HAVE_COPY_FILE_RANGE": 0, + "HAVE_CRYPT_H": 0, + "HAVE_CRYPT_R": 0, + "HAVE_CTERMID": 1, + "HAVE_CTERMID_R": 1, + "HAVE_CURSES_FILTER": 1, + "HAVE_CURSES_H": 1, + "HAVE_CURSES_HAS_KEY": 1, + "HAVE_CURSES_IMMEDOK": 1, + "HAVE_CURSES_IS_PAD": 1, + "HAVE_CURSES_IS_TERM_RESIZED": 1, + "HAVE_CURSES_RESIZETERM": 1, + "HAVE_CURSES_RESIZE_TERM": 1, + "HAVE_CURSES_SYNCOK": 1, + "HAVE_CURSES_TYPEAHEAD": 1, + "HAVE_CURSES_USE_ENV": 1, + "HAVE_CURSES_WCHGAT": 1, + "HAVE_DB_H": 1, + "HAVE_DECL_RTLD_DEEPBIND": 0, + "HAVE_DECL_RTLD_GLOBAL": 1, + "HAVE_DECL_RTLD_LAZY": 1, + "HAVE_DECL_RTLD_LOCAL": 1, + "HAVE_DECL_RTLD_MEMBER": 0, + "HAVE_DECL_RTLD_NODELETE": 1, + "HAVE_DECL_RTLD_NOLOAD": 1, + "HAVE_DECL_RTLD_NOW": 1, + "HAVE_DECL_TZNAME": 0, + "HAVE_DEVICE_MACROS": 1, + "HAVE_DEV_PTC": 0, + "HAVE_DEV_PTMX": 1, + "HAVE_DIRECT_H": 0, + "HAVE_DIRENT_D_TYPE": 1, + "HAVE_DIRENT_H": 1, + "HAVE_DIRFD": 1, + "HAVE_DLFCN_H": 1, + "HAVE_DLOPEN": 1, + "HAVE_DUP": 1, + "HAVE_DUP2": 1, + "HAVE_DUP3": 0, + "HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH": 1, + "HAVE_DYNAMIC_LOADING": 1, + "HAVE_EDITLINE_READLINE_H": 0, + "HAVE_ENDIAN_H": 0, + "HAVE_EPOLL": 0, + "HAVE_EPOLL_CREATE1": 0, + "HAVE_ERF": 1, + "HAVE_ERFC": 1, + "HAVE_ERRNO_H": 1, + "HAVE_EVENTFD": 0, + "HAVE_EXECV": 1, + "HAVE_EXPLICIT_BZERO": 0, + "HAVE_EXPLICIT_MEMSET": 0, + "HAVE_EXPM1": 1, + "HAVE_FACCESSAT": 1, + "HAVE_FCHDIR": 1, + "HAVE_FCHMOD": 1, + "HAVE_FCHMODAT": 1, + "HAVE_FCHOWN": 1, + "HAVE_FCHOWNAT": 1, + "HAVE_FCNTL_H": 1, + "HAVE_FDATASYNC": 0, + "HAVE_FDOPENDIR": 1, + "HAVE_FDWALK": 0, + "HAVE_FEXECVE": 0, + "HAVE_FFI_CLOSURE_ALLOC": 1, + "HAVE_FFI_PREP_CIF_VAR": 1, + "HAVE_FFI_PREP_CLOSURE_LOC": 1, + "HAVE_FLOCK": 1, + "HAVE_FORK": 1, + "HAVE_FORK1": 0, + "HAVE_FORKPTY": 1, + "HAVE_FPATHCONF": 1, + "HAVE_FSEEK64": 0, + "HAVE_FSEEKO": 1, + "HAVE_FSTATAT": 1, + "HAVE_FSTATVFS": 1, + "HAVE_FSYNC": 1, + "HAVE_FTELL64": 0, + "HAVE_FTELLO": 1, + "HAVE_FTIME": 1, + "HAVE_FTRUNCATE": 1, + "HAVE_FUTIMENS": 1, + "HAVE_FUTIMES": 1, + "HAVE_FUTIMESAT": 0, + "HAVE_GAI_STRERROR": 1, + "HAVE_GCC_ASM_FOR_MC68881": 0, + "HAVE_GCC_ASM_FOR_X64": 0, + "HAVE_GCC_ASM_FOR_X87": 0, + "HAVE_GCC_UINT128_T": 1, + "HAVE_GDBM_DASH_NDBM_H": 0, + "HAVE_GDBM_H": 0, + "HAVE_GDBM_NDBM_H": 0, + "HAVE_GETADDRINFO": 1, + "HAVE_GETC_UNLOCKED": 1, + "HAVE_GETEGID": 1, + "HAVE_GETENTROPY": 1, + "HAVE_GETEUID": 1, + "HAVE_GETGID": 1, + "HAVE_GETGRGID": 1, + "HAVE_GETGRGID_R": 1, + "HAVE_GETGRNAM_R": 1, + "HAVE_GETGROUPLIST": 1, + "HAVE_GETGROUPS": 1, + "HAVE_GETHOSTBYADDR": 1, + "HAVE_GETHOSTBYNAME": 1, + "HAVE_GETHOSTBYNAME_R": 0, + "HAVE_GETHOSTBYNAME_R_3_ARG": 0, + "HAVE_GETHOSTBYNAME_R_5_ARG": 0, + "HAVE_GETHOSTBYNAME_R_6_ARG": 0, + "HAVE_GETHOSTNAME": 1, + "HAVE_GETITIMER": 1, + "HAVE_GETLOADAVG": 1, + "HAVE_GETLOGIN": 1, + "HAVE_GETNAMEINFO": 1, + "HAVE_GETPAGESIZE": 1, + "HAVE_GETPEERNAME": 1, + "HAVE_GETPGID": 1, + "HAVE_GETPGRP": 1, + "HAVE_GETPID": 1, + "HAVE_GETPPID": 1, + "HAVE_GETPRIORITY": 1, + "HAVE_GETPROTOBYNAME": 1, + "HAVE_GETPWENT": 1, + "HAVE_GETPWNAM_R": 1, + "HAVE_GETPWUID": 1, + "HAVE_GETPWUID_R": 1, + "HAVE_GETRANDOM": 0, + "HAVE_GETRANDOM_SYSCALL": 0, + "HAVE_GETRESGID": 0, + "HAVE_GETRESUID": 0, + "HAVE_GETRUSAGE": 1, + "HAVE_GETSERVBYNAME": 1, + "HAVE_GETSERVBYPORT": 1, + "HAVE_GETSID": 1, + "HAVE_GETSOCKNAME": 1, + "HAVE_GETSPENT": 0, + "HAVE_GETSPNAM": 0, + "HAVE_GETUID": 1, + "HAVE_GETWD": 1, + "HAVE_GLIBC_MEMMOVE_BUG": 0, + "HAVE_GRP_H": 1, + "HAVE_HSTRERROR": 1, + "HAVE_HTOLE64": 0, + "HAVE_IEEEFP_H": 0, + "HAVE_IF_NAMEINDEX": 1, + "HAVE_INET_ATON": 1, + "HAVE_INET_NTOA": 1, + "HAVE_INET_PTON": 1, + "HAVE_INITGROUPS": 1, + "HAVE_INTTYPES_H": 1, + "HAVE_IO_H": 0, + "HAVE_IPA_PURE_CONST_BUG": 0, + "HAVE_KILL": 1, + "HAVE_KILLPG": 1, + "HAVE_KQUEUE": 1, + "HAVE_LANGINFO_H": 1, + "HAVE_LARGEFILE_SUPPORT": 0, + "HAVE_LCHFLAGS": 1, + "HAVE_LCHMOD": 1, + "HAVE_LCHOWN": 1, + "HAVE_LIBB2": 0, + "HAVE_LIBDB": 0, + "HAVE_LIBDL": 1, + "HAVE_LIBDLD": 0, + "HAVE_LIBIEEE": 0, + "HAVE_LIBINTL_H": 1, + "HAVE_LIBRESOLV": 0, + "HAVE_LIBSENDFILE": 0, + "HAVE_LIBSQLITE3": 1, + "HAVE_LIBUTIL_H": 0, + "HAVE_LINK": 1, + "HAVE_LINKAT": 1, + "HAVE_LINUX_AUXVEC_H": 0, + "HAVE_LINUX_CAN_BCM_H": 0, + "HAVE_LINUX_CAN_H": 0, + "HAVE_LINUX_CAN_J1939_H": 0, + "HAVE_LINUX_CAN_RAW_FD_FRAMES": 0, + "HAVE_LINUX_CAN_RAW_H": 0, + "HAVE_LINUX_CAN_RAW_JOIN_FILTERS": 0, + "HAVE_LINUX_FS_H": 0, + "HAVE_LINUX_LIMITS_H": 0, + "HAVE_LINUX_MEMFD_H": 0, + "HAVE_LINUX_NETLINK_H": 0, + "HAVE_LINUX_QRTR_H": 0, + "HAVE_LINUX_RANDOM_H": 0, + "HAVE_LINUX_SOUNDCARD_H": 0, + "HAVE_LINUX_TIPC_H": 0, + "HAVE_LINUX_VM_SOCKETS_H": 0, + "HAVE_LINUX_WAIT_H": 0, + "HAVE_LISTEN": 1, + "HAVE_LOCKF": 1, + "HAVE_LOG1P": 1, + "HAVE_LOG2": 1, + "HAVE_LOGIN_TTY": 1, + "HAVE_LONG_DOUBLE": 1, + "HAVE_LSTAT": 1, + "HAVE_LUTIMES": 1, + "HAVE_LZMA_H": 1, + "HAVE_MADVISE": 1, + "HAVE_MAKEDEV": 1, + "HAVE_MBRTOWC": 1, + "HAVE_MEMFD_CREATE": 0, + "HAVE_MEMRCHR": 0, + "HAVE_MINIX_CONFIG_H": 0, + "HAVE_MKDIRAT": 1, + "HAVE_MKFIFO": 1, + "HAVE_MKFIFOAT": 1, + "HAVE_MKNOD": 1, + "HAVE_MKNODAT": 1, + "HAVE_MKTIME": 1, + "HAVE_MMAP": 1, + "HAVE_MREMAP": 0, + "HAVE_NANOSLEEP": 1, + "HAVE_NCURSESW": 1, + "HAVE_NCURSES_H": 1, + "HAVE_NDBM_H": 1, + "HAVE_NDIR_H": 0, + "HAVE_NETCAN_CAN_H": 0, + "HAVE_NETDB_H": 1, + "HAVE_NETINET_IN_H": 1, + "HAVE_NETPACKET_PACKET_H": 0, + "HAVE_NET_ETHERNET_H": 1, + "HAVE_NET_IF_H": 1, + "HAVE_NICE": 1, + "HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION": 0, + "HAVE_OPENAT": 1, + "HAVE_OPENDIR": 1, + "HAVE_OPENPTY": 1, + "HAVE_PANEL_H": 1, + "HAVE_PATHCONF": 1, + "HAVE_PAUSE": 1, + "HAVE_PIPE": 1, + "HAVE_PIPE2": 0, + "HAVE_PLOCK": 0, + "HAVE_POLL": 1, + "HAVE_POLL_H": 1, + "HAVE_POSIX_FADVISE": 0, + "HAVE_POSIX_FALLOCATE": 0, + "HAVE_POSIX_SPAWN": 1, + "HAVE_POSIX_SPAWNP": 1, + "HAVE_PREAD": 1, + "HAVE_PREADV": 1, + "HAVE_PREADV2": 0, + "HAVE_PRLIMIT": 0, + "HAVE_PROCESS_H": 0, + "HAVE_PROTOTYPES": 1, + "HAVE_PTHREAD_CONDATTR_SETCLOCK": 0, + "HAVE_PTHREAD_DESTRUCTOR": 0, + "HAVE_PTHREAD_GETCPUCLOCKID": 0, + "HAVE_PTHREAD_H": 1, + "HAVE_PTHREAD_INIT": 0, + "HAVE_PTHREAD_KILL": 1, + "HAVE_PTHREAD_SIGMASK": 1, + "HAVE_PTHREAD_STUBS": 0, + "HAVE_PTY_H": 0, + "HAVE_PWRITE": 1, + "HAVE_PWRITEV": 1, + "HAVE_PWRITEV2": 0, + "HAVE_READLINE_READLINE_H": 1, + "HAVE_READLINK": 1, + "HAVE_READLINKAT": 1, + "HAVE_READV": 1, + "HAVE_REALPATH": 1, + "HAVE_RECVFROM": 1, + "HAVE_RENAMEAT": 1, + "HAVE_RL_APPEND_HISTORY": 1, + "HAVE_RL_CATCH_SIGNAL": 1, + "HAVE_RL_COMPDISP_FUNC_T": 1, + "HAVE_RL_COMPLETION_APPEND_CHARACTER": 1, + "HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK": 1, + "HAVE_RL_COMPLETION_MATCHES": 1, + "HAVE_RL_COMPLETION_SUPPRESS_APPEND": 1, + "HAVE_RL_PRE_INPUT_HOOK": 1, + "HAVE_RL_RESIZE_TERMINAL": 1, + "HAVE_RPC_RPC_H": 1, + "HAVE_RTPSPAWN": 0, + "HAVE_SCHED_GET_PRIORITY_MAX": 1, + "HAVE_SCHED_H": 1, + "HAVE_SCHED_RR_GET_INTERVAL": 0, + "HAVE_SCHED_SETAFFINITY": 0, + "HAVE_SCHED_SETPARAM": 0, + "HAVE_SCHED_SETSCHEDULER": 0, + "HAVE_SEM_CLOCKWAIT": 0, + "HAVE_SEM_GETVALUE": 1, + "HAVE_SEM_OPEN": 1, + "HAVE_SEM_TIMEDWAIT": 0, + "HAVE_SEM_UNLINK": 1, + "HAVE_SENDFILE": 1, + "HAVE_SENDTO": 1, + "HAVE_SETEGID": 1, + "HAVE_SETEUID": 1, + "HAVE_SETGID": 1, + "HAVE_SETGROUPS": 1, + "HAVE_SETHOSTNAME": 1, + "HAVE_SETITIMER": 1, + "HAVE_SETJMP_H": 1, + "HAVE_SETLOCALE": 1, + "HAVE_SETNS": 0, + "HAVE_SETPGID": 1, + "HAVE_SETPGRP": 1, + "HAVE_SETPRIORITY": 1, + "HAVE_SETREGID": 1, + "HAVE_SETRESGID": 0, + "HAVE_SETRESUID": 0, + "HAVE_SETREUID": 1, + "HAVE_SETSID": 1, + "HAVE_SETSOCKOPT": 1, + "HAVE_SETUID": 1, + "HAVE_SETVBUF": 1, + "HAVE_SHADOW_H": 0, + "HAVE_SHM_OPEN": 1, + "HAVE_SHM_UNLINK": 1, + "HAVE_SHUTDOWN": 1, + "HAVE_SIGACTION": 1, + "HAVE_SIGALTSTACK": 1, + "HAVE_SIGFILLSET": 1, + "HAVE_SIGINFO_T_SI_BAND": 1, + "HAVE_SIGINTERRUPT": 1, + "HAVE_SIGNAL_H": 1, + "HAVE_SIGPENDING": 1, + "HAVE_SIGRELSE": 1, + "HAVE_SIGTIMEDWAIT": 0, + "HAVE_SIGWAIT": 1, + "HAVE_SIGWAITINFO": 0, + "HAVE_SNPRINTF": 1, + "HAVE_SOCKADDR_ALG": 0, + "HAVE_SOCKADDR_SA_LEN": 1, + "HAVE_SOCKADDR_STORAGE": 1, + "HAVE_SOCKET": 1, + "HAVE_SOCKETPAIR": 1, + "HAVE_SPAWN_H": 1, + "HAVE_SPLICE": 0, + "HAVE_SSIZE_T": 1, + "HAVE_STATVFS": 1, + "HAVE_STAT_TV_NSEC": 0, + "HAVE_STAT_TV_NSEC2": 1, + "HAVE_STDINT_H": 1, + "HAVE_STDIO_H": 1, + "HAVE_STDLIB_H": 1, + "HAVE_STD_ATOMIC": 1, + "HAVE_STRFTIME": 1, + "HAVE_STRINGS_H": 1, + "HAVE_STRING_H": 1, + "HAVE_STRLCPY": 1, + "HAVE_STROPTS_H": 0, + "HAVE_STRSIGNAL": 1, + "HAVE_STRUCT_PASSWD_PW_GECOS": 1, + "HAVE_STRUCT_PASSWD_PW_PASSWD": 1, + "HAVE_STRUCT_STAT_ST_BIRTHTIME": 1, + "HAVE_STRUCT_STAT_ST_BLKSIZE": 1, + "HAVE_STRUCT_STAT_ST_BLOCKS": 1, + "HAVE_STRUCT_STAT_ST_FLAGS": 1, + "HAVE_STRUCT_STAT_ST_GEN": 1, + "HAVE_STRUCT_STAT_ST_RDEV": 1, + "HAVE_STRUCT_TM_TM_ZONE": 1, + "HAVE_SYMLINK": 1, + "HAVE_SYMLINKAT": 1, + "HAVE_SYNC": 1, + "HAVE_SYSCONF": 1, + "HAVE_SYSEXITS_H": 1, + "HAVE_SYSLOG_H": 1, + "HAVE_SYSTEM": 1, + "HAVE_SYS_AUDIOIO_H": 0, + "HAVE_SYS_AUXV_H": 0, + "HAVE_SYS_BSDTTY_H": 0, + "HAVE_SYS_DEVPOLL_H": 0, + "HAVE_SYS_DIR_H": 0, + "HAVE_SYS_ENDIAN_H": 0, + "HAVE_SYS_EPOLL_H": 0, + "HAVE_SYS_EVENTFD_H": 0, + "HAVE_SYS_EVENT_H": 1, + "HAVE_SYS_FILE_H": 1, + "HAVE_SYS_IOCTL_H": 1, + "HAVE_SYS_KERN_CONTROL_H": 1, + "HAVE_SYS_LOADAVG_H": 0, + "HAVE_SYS_LOCK_H": 1, + "HAVE_SYS_MEMFD_H": 0, + "HAVE_SYS_MKDEV_H": 0, + "HAVE_SYS_MMAN_H": 1, + "HAVE_SYS_MODEM_H": 0, + "HAVE_SYS_NDIR_H": 0, + "HAVE_SYS_PARAM_H": 1, + "HAVE_SYS_POLL_H": 1, + "HAVE_SYS_RANDOM_H": 1, + "HAVE_SYS_RESOURCE_H": 1, + "HAVE_SYS_SELECT_H": 1, + "HAVE_SYS_SENDFILE_H": 0, + "HAVE_SYS_SOCKET_H": 1, + "HAVE_SYS_SOUNDCARD_H": 0, + "HAVE_SYS_STATVFS_H": 1, + "HAVE_SYS_STAT_H": 1, + "HAVE_SYS_SYSCALL_H": 1, + "HAVE_SYS_SYSMACROS_H": 0, + "HAVE_SYS_SYS_DOMAIN_H": 1, + "HAVE_SYS_TERMIO_H": 0, + "HAVE_SYS_TIMES_H": 1, + "HAVE_SYS_TIME_H": 1, + "HAVE_SYS_TYPES_H": 1, + "HAVE_SYS_UIO_H": 1, + "HAVE_SYS_UN_H": 1, + "HAVE_SYS_UTSNAME_H": 1, + "HAVE_SYS_WAIT_H": 1, + "HAVE_SYS_XATTR_H": 1, + "HAVE_TCGETPGRP": 1, + "HAVE_TCSETPGRP": 1, + "HAVE_TEMPNAM": 1, + "HAVE_TERMIOS_H": 1, + "HAVE_TERM_H": 1, + "HAVE_TIMEGM": 1, + "HAVE_TIMES": 1, + "HAVE_TMPFILE": 1, + "HAVE_TMPNAM": 1, + "HAVE_TMPNAM_R": 0, + "HAVE_TM_ZONE": 1, + "HAVE_TRUNCATE": 1, + "HAVE_TTYNAME": 1, + "HAVE_TZNAME": 0, + "HAVE_UMASK": 1, + "HAVE_UNAME": 1, + "HAVE_UNISTD_H": 1, + "HAVE_UNLINKAT": 1, + "HAVE_UNSHARE": 0, + "HAVE_USABLE_WCHAR_T": 0, + "HAVE_UTIL_H": 1, + "HAVE_UTIMENSAT": 1, + "HAVE_UTIMES": 1, + "HAVE_UTIME_H": 1, + "HAVE_UTMP_H": 1, + "HAVE_UUID_CREATE": 0, + "HAVE_UUID_ENC_BE": 0, + "HAVE_UUID_GENERATE_TIME_SAFE": 0, + "HAVE_UUID_H": 0, + "HAVE_UUID_UUID_H": 1, + "HAVE_VFORK": 1, + "HAVE_WAIT": 1, + "HAVE_WAIT3": 1, + "HAVE_WAIT4": 1, + "HAVE_WAITID": 1, + "HAVE_WAITPID": 1, + "HAVE_WCHAR_H": 1, + "HAVE_WCSCOLL": 1, + "HAVE_WCSFTIME": 1, + "HAVE_WCSXFRM": 1, + "HAVE_WMEMCMP": 1, + "HAVE_WORKING_TZSET": 1, + "HAVE_WRITEV": 1, + "HAVE_ZLIB_COPY": 1, + "HAVE_ZLIB_H": 1, + "HAVE__GETPTY": 0, + "HOSTRUNNER": "", + "HOST_GNU_TYPE": "aarch64-apple-darwin24.1.0", + "INCLDIRSTOMAKE": "/Users/pablo/.asdf/installs/python/3.12.8/include /Users/pablo/.asdf/installs/python/3.12.8/include /Users/pablo/.asdf/installs/python/3.12.8/include/python3.12 /Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "INCLUDEDIR": "/Users/pablo/.asdf/installs/python/3.12.8/include", + "INCLUDEPY": "/Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "INSTALL": "/opt/homebrew/bin/ginstall -c", + "INSTALL_DATA": "/opt/homebrew/bin/ginstall -c -m 644", + "INSTALL_PROGRAM": "/opt/homebrew/bin/ginstall -c", + "INSTALL_SCRIPT": "/opt/homebrew/bin/ginstall -c", + "INSTALL_SHARED": "/opt/homebrew/bin/ginstall -c -m 755", + "INSTSONAME": "libpython3.12.dylib", + "IO_H": "Modules/_io/_iomodule.h", + "IO_OBJS": "\\", + "LDCXXSHARED": "clang++ -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDFLAGS_NODIST": "", + "LDLIBRARY": "libpython3.12.dylib", + "LDLIBRARYDIR": "", + "LDSHARED": "clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDVERSION": "3.12", + "LIBC": "", + "LIBDEST": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "LIBDIR": "/Users/pablo/.asdf/installs/python/3.12.8/lib", + "LIBEXPAT_A": "Modules/expat/libexpat.a", + "LIBEXPAT_CFLAGS": "-I./Modules/expat -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBEXPAT_HEADERS": "\\", + "LIBEXPAT_OBJS": "\\", + "LIBHACL_CFLAGS": "-I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBHACL_HEADERS": "\\", + "LIBHACL_SHA2_A": "Modules/_hacl/libHacl_Hash_SHA2.a", + "LIBHACL_SHA2_HEADERS": "\\", + "LIBHACL_SHA2_OBJS": "\\", + "LIBM": "", + "LIBMPDEC_A": "Modules/_decimal/libmpdec/libmpdec.a", + "LIBMPDEC_CFLAGS": "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1 -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBMPDEC_HEADERS": "\\", + "LIBMPDEC_OBJS": "\\", + "LIBOBJDIR": "Python/", + "LIBOBJS": "", + "LIBPC": "/Users/pablo/.asdf/installs/python/3.12.8/lib/pkgconfig", + "LIBPL": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/config-3.12-darwin", + "LIBPYTHON": "", + "LIBRARY": "libpython3.12.a", + "LIBRARY_DEPS": "libpython3.12.a libpython3.12.dylib", + "LIBRARY_OBJS": "\\", + "LIBRARY_OBJS_OMIT_FROZEN": "\\", + "LIBS": "-lintl -ldl -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -framework CoreFoundation", + "LIBSUBDIRS": "asyncio \\", + "LINKCC": "clang", + "LINKFORSHARED": "-Wl,-stack_size,1000000 -framework CoreFoundation", + "LINK_PYTHON_DEPS": "libpython3.12.a libpython3.12.dylib", + "LINK_PYTHON_OBJS": "-L. -lpython3.12", + "LIPO_32BIT_FLAGS": "", + "LIPO_INTEL64_FLAGS": "", + "LLVM_PROF_ERR": "no", + "LLVM_PROF_FILE": "LLVM_PROFILE_FILE=\"$(shell pwd)/code-%p.profclangr\"", + "LLVM_PROF_MERGER": "/usr/bin/xcrun llvm-profdata merge -output=\"$(shell pwd)/code.profclangd\" \"$(shell pwd)\"/*.profclangr", + "LN": "ln", + "LOCALMODLIBS": "", + "MACHDEP": "darwin", + "MACHDEP_OBJS": "", + "MACHDESTLIB": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "MACOSX_DEPLOYMENT_TARGET": "15.1", + "MAJOR_IN_MKDEV": 0, + "MAJOR_IN_SYSMACROS": 0, + "MAKESETUP": "./Modules/makesetup", + "MANDIR": "/Users/pablo/.asdf/installs/python/3.12.8/share/man", + "MKDIR_P": "/opt/homebrew/bin/gmkdir -p", + "MODBUILT_NAMES": "array _asyncio _bisect _contextvars _csv _heapq _json _lsprof _opcode _pickle _queue _random _struct _xxsubinterpreters _xxinterpchannels _zoneinfo audioop math cmath _statistics _datetime _decimal binascii _bz2 _lzma zlib _dbm readline _md5 _sha1 _sha2 _sha3 _blake2 pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata _crypt fcntl grp mmap nis _posixsubprocess resource select _socket syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _scproxy xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35 atexit faulthandler posix _signal _tracemalloc _codecs _collections errno _io itertools _sre _thread time _typing _weakref _abc _functools _locale _operator _stat _symtable pwd", + "MODDISABLED_NAMES": "", + "MODLIBS": "", + "MODOBJS": "Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_threadmodule.o Modules/timemodule.o Modules/_typingmodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/pwdmodule.o", + "MODSHARED_NAMES": "array _asyncio _bisect _contextvars _csv _heapq _json _lsprof _opcode _pickle _queue _random _struct _xxsubinterpreters _xxinterpchannels _zoneinfo audioop math cmath _statistics _datetime _decimal binascii _bz2 _lzma zlib _dbm readline _md5 _sha1 _sha2 _sha3 _blake2 pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata _crypt fcntl grp mmap nis _posixsubprocess resource select _socket syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _scproxy xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35", + "MODULE_ARRAY_STATE": "yes", + "MODULE_ATEXIT_LDFLAGS": "", + "MODULE_AUDIOOP_LDFLAGS": "", + "MODULE_AUDIOOP_STATE": "yes", + "MODULE_BINASCII_CFLAGS": "-DUSE_ZLIB_CRC32", + "MODULE_BINASCII_LDFLAGS": "-lz", + "MODULE_BINASCII_STATE": "yes", + "MODULE_CMATH_DEPS": "./Modules/_math.h", + "MODULE_CMATH_LDFLAGS": "", + "MODULE_CMATH_STATE": "yes", + "MODULE_DEPS_SHARED": "Modules/config.c", + "MODULE_DEPS_STATIC": "Modules/config.c", + "MODULE_ERRNO_LDFLAGS": "", + "MODULE_FAULTHANDLER_LDFLAGS": "", + "MODULE_FCNTL_LDFLAGS": "", + "MODULE_FCNTL_STATE": "yes", + "MODULE_GRP_STATE": "yes", + "MODULE_ITERTOOLS_LDFLAGS": "", + "MODULE_MATH_DEPS": "./Modules/_math.h", + "MODULE_MATH_LDFLAGS": "", + "MODULE_MATH_STATE": "yes", + "MODULE_MMAP_STATE": "yes", + "MODULE_NIS_CFLAGS": "", + "MODULE_NIS_LDFLAGS": "", + "MODULE_NIS_STATE": "yes", + "MODULE_OBJS": "\\", + "MODULE_OSSAUDIODEV_STATE": "n/a", + "MODULE_POSIX_LDFLAGS": "", + "MODULE_PWD_LDFLAGS": "", + "MODULE_PWD_STATE": "yes", + "MODULE_PYEXPAT_CFLAGS": "-I./Modules/expat", + "MODULE_PYEXPAT_DEPS": "\\ Modules/expat/libexpat.a", + "MODULE_PYEXPAT_LDFLAGS": "-lm Modules/expat/libexpat.a", + "MODULE_PYEXPAT_STATE": "yes", + "MODULE_READLINE_CFLAGS": "", + "MODULE_READLINE_LDFLAGS": "-lreadline", + "MODULE_READLINE_STATE": "yes", + "MODULE_RESOURCE_STATE": "yes", + "MODULE_SELECT_STATE": "yes", + "MODULE_SPWD_STATE": "n/a", + "MODULE_SYSLOG_STATE": "yes", + "MODULE_TERMIOS_STATE": "yes", + "MODULE_TIME_LDFLAGS": "", + "MODULE_TIME_STATE": "yes", + "MODULE_UNICODEDATA_DEPS": "./Modules/unicodedata_db.h ./Modules/unicodename_db.h", + "MODULE_UNICODEDATA_STATE": "yes", + "MODULE_XXLIMITED_35_STATE": "yes", + "MODULE_XXLIMITED_STATE": "yes", + "MODULE_XXSUBTYPE_STATE": "yes", + "MODULE_ZLIB_CFLAGS": "", + "MODULE_ZLIB_LDFLAGS": "-lz", + "MODULE_ZLIB_STATE": "yes", + "MODULE__ABC_LDFLAGS": "", + "MODULE__ASYNCIO_STATE": "yes", + "MODULE__BISECT_STATE": "yes", + "MODULE__BLAKE2_CFLAGS": "", + "MODULE__BLAKE2_DEPS": "./Modules/_blake2/impl/blake2-config.h ./Modules/_blake2/impl/blake2-impl.h ./Modules/_blake2/impl/blake2.h ./Modules/_blake2/impl/blake2b-load-sse2.h ./Modules/_blake2/impl/blake2b-load-sse41.h ./Modules/_blake2/impl/blake2b-ref.c ./Modules/_blake2/impl/blake2b-round.h ./Modules/_blake2/impl/blake2b.c ./Modules/_blake2/impl/blake2s-load-sse2.h ./Modules/_blake2/impl/blake2s-load-sse41.h ./Modules/_blake2/impl/blake2s-load-xop.h ./Modules/_blake2/impl/blake2s-ref.c ./Modules/_blake2/impl/blake2s-round.h ./Modules/_blake2/impl/blake2s.c ./Modules/_blake2/blake2module.h ./Modules/hashlib.h", + "MODULE__BLAKE2_LDFLAGS": "", + "MODULE__BLAKE2_STATE": "yes", + "MODULE__BZ2_CFLAGS": "", + "MODULE__BZ2_LDFLAGS": "-lbz2", + "MODULE__BZ2_STATE": "yes", + "MODULE__CODECS_CN_DEPS": "./Modules/cjkcodecs/mappings_cn.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_CN_STATE": "yes", + "MODULE__CODECS_HK_DEPS": "./Modules/cjkcodecs/mappings_hk.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_HK_STATE": "yes", + "MODULE__CODECS_ISO2022_DEPS": "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_ISO2022_STATE": "yes", + "MODULE__CODECS_JP_DEPS": "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/mappings_jp.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_JP_STATE": "yes", + "MODULE__CODECS_KR_DEPS": "./Modules/cjkcodecs/mappings_kr.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_KR_STATE": "yes", + "MODULE__CODECS_LDFLAGS": "", + "MODULE__CODECS_TW_DEPS": "./Modules/cjkcodecs/mappings_tw.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_TW_STATE": "yes", + "MODULE__COLLECTIONS_LDFLAGS": "", + "MODULE__CONTEXTVARS_STATE": "yes", + "MODULE__CRYPT_CFLAGS": "", + "MODULE__CRYPT_LDFLAGS": "", + "MODULE__CRYPT_STATE": "yes", + "MODULE__CSV_STATE": "yes", + "MODULE__CTYPES_CFLAGS": "-fno-strict-overflow -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi -DUSING_APPLE_OS_LIBFFI=1 -DUSING_MALLOC_CLOSURE_DOT_C=1", + "MODULE__CTYPES_DEPS": "./Modules/_ctypes/ctypes.h", + "MODULE__CTYPES_LDFLAGS": "-lffi -ldl", + "MODULE__CTYPES_MALLOC_CLOSURE": "_ctypes/malloc_closure.c", + "MODULE__CTYPES_STATE": "yes", + "MODULE__CTYPES_TEST_LDFLAGS": "", + "MODULE__CTYPES_TEST_STATE": "yes", + "MODULE__CURSES_CFLAGS": "-D_XOPEN_SOURCE_EXTENDED=1", + "MODULE__CURSES_LDFLAGS": "-lncurses", + "MODULE__CURSES_PANEL_CFLAGS": "-D_XOPEN_SOURCE_EXTENDED=1", + "MODULE__CURSES_PANEL_LDFLAGS": "-lpanel -lncurses", + "MODULE__CURSES_PANEL_STATE": "yes", + "MODULE__CURSES_STATE": "yes", + "MODULE__DATETIME_LDFLAGS": "", + "MODULE__DATETIME_STATE": "yes", + "MODULE__DBM_CFLAGS": "-DUSE_NDBM", + "MODULE__DBM_LDFLAGS": "", + "MODULE__DBM_STATE": "yes", + "MODULE__DECIMAL_CFLAGS": "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1", + "MODULE__DECIMAL_DEPS": "./Modules/_decimal/docstrings.h \\ Modules/_decimal/libmpdec/libmpdec.a", + "MODULE__DECIMAL_LDFLAGS": "-lm Modules/_decimal/libmpdec/libmpdec.a", + "MODULE__DECIMAL_STATE": "yes", + "MODULE__ELEMENTTREE_CFLAGS": "-I./Modules/expat", + "MODULE__ELEMENTTREE_DEPS": "./Modules/pyexpat.c \\ Modules/expat/libexpat.a", + "MODULE__ELEMENTTREE_STATE": "yes", + "MODULE__FUNCTOOLS_LDFLAGS": "", + "MODULE__GDBM_STATE": "missing", + "MODULE__HASHLIB_CFLAGS": "-I/opt/homebrew/opt/openssl@3/include", + "MODULE__HASHLIB_DEPS": "./Modules/hashlib.h", + "MODULE__HASHLIB_LDFLAGS": "-L/opt/homebrew/opt/openssl@3/lib -lcrypto", + "MODULE__HASHLIB_STATE": "yes", + "MODULE__HEAPQ_STATE": "yes", + "MODULE__IO_CFLAGS": "-I./Modules/_io", + "MODULE__IO_DEPS": "./Modules/_io/_iomodule.h", + "MODULE__IO_LDFLAGS": "", + "MODULE__IO_STATE": "yes", + "MODULE__JSON_STATE": "yes", + "MODULE__LOCALE_LDFLAGS": "", + "MODULE__LSPROF_STATE": "yes", + "MODULE__LZMA_CFLAGS": "", + "MODULE__LZMA_LDFLAGS": "-llzma", + "MODULE__LZMA_STATE": "yes", + "MODULE__MD5_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__MD5_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_MD5.h Modules/_hacl/Hacl_Hash_MD5.c", + "MODULE__MD5_STATE": "yes", + "MODULE__MULTIBYTECODEC_DEPS": "./Modules/cjkcodecs/multibytecodec.h", + "MODULE__MULTIBYTECODEC_STATE": "yes", + "MODULE__MULTIPROCESSING_CFLAGS": "-I./Modules/_multiprocessing", + "MODULE__MULTIPROCESSING_STATE": "yes", + "MODULE__OPCODE_STATE": "yes", + "MODULE__OPERATOR_LDFLAGS": "", + "MODULE__PICKLE_STATE": "yes", + "MODULE__POSIXSHMEM_CFLAGS": "-I./Modules/_multiprocessing", + "MODULE__POSIXSHMEM_LDFLAGS": "", + "MODULE__POSIXSHMEM_STATE": "yes", + "MODULE__POSIXSUBPROCESS_STATE": "yes", + "MODULE__QUEUE_STATE": "yes", + "MODULE__RANDOM_STATE": "yes", + "MODULE__SCPROXY_LDFLAGS": "-framework SystemConfiguration -framework CoreFoundation", + "MODULE__SCPROXY_STATE": "yes", + "MODULE__SHA1_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__SHA1_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_SHA1.h Modules/_hacl/Hacl_Hash_SHA1.c", + "MODULE__SHA1_STATE": "yes", + "MODULE__SHA2_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__SHA2_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/libHacl_Hash_SHA2.a", + "MODULE__SHA2_STATE": "yes", + "MODULE__SHA3_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_SHA3.h Modules/_hacl/Hacl_Hash_SHA3.c", + "MODULE__SHA3_STATE": "yes", + "MODULE__SIGNAL_LDFLAGS": "", + "MODULE__SOCKET_DEPS": "./Modules/socketmodule.h ./Modules/addrinfo.h ./Modules/getaddrinfo.c ./Modules/getnameinfo.c", + "MODULE__SOCKET_STATE": "yes", + "MODULE__SQLITE3_CFLAGS": "-I./Modules/_sqlite", + "MODULE__SQLITE3_DEPS": "./Modules/_sqlite/connection.h ./Modules/_sqlite/cursor.h ./Modules/_sqlite/microprotocols.h ./Modules/_sqlite/module.h ./Modules/_sqlite/prepare_protocol.h ./Modules/_sqlite/row.h ./Modules/_sqlite/util.h", + "MODULE__SQLITE3_LDFLAGS": "-lsqlite3", + "MODULE__SQLITE3_STATE": "yes", + "MODULE__SRE_LDFLAGS": "", + "MODULE__SSL_CFLAGS": "-I/opt/homebrew/opt/openssl@3/include", + "MODULE__SSL_DEPS": "./Modules/_ssl.h ./Modules/_ssl/cert.c ./Modules/_ssl/debughelpers.c ./Modules/_ssl/misc.c ./Modules/_ssl_data.h ./Modules/_ssl_data_111.h ./Modules/_ssl_data_300.h ./Modules/socketmodule.h", + "MODULE__SSL_LDFLAGS": "-L/opt/homebrew/opt/openssl@3/lib -lssl -lcrypto", + "MODULE__SSL_STATE": "yes", + "MODULE__STATISTICS_LDFLAGS": "", + "MODULE__STATISTICS_STATE": "yes", + "MODULE__STAT_LDFLAGS": "", + "MODULE__STRUCT_STATE": "yes", + "MODULE__SYMTABLE_LDFLAGS": "", + "MODULE__TESTBUFFER_STATE": "yes", + "MODULE__TESTCAPI_DEPS": "./Modules/_testcapi/testcapi_long.h ./Modules/_testcapi/parts.h ./Modules/_testcapi/util.h", + "MODULE__TESTCAPI_STATE": "yes", + "MODULE__TESTCLINIC_STATE": "yes", + "MODULE__TESTIMPORTMULTIPLE_STATE": "yes", + "MODULE__TESTINTERNALCAPI_STATE": "yes", + "MODULE__TESTMULTIPHASE_STATE": "yes", + "MODULE__THREAD_LDFLAGS": "", + "MODULE__TKINTER_STATE": "missing", + "MODULE__TRACEMALLOC_LDFLAGS": "", + "MODULE__TYPING_LDFLAGS": "", + "MODULE__TYPING_STATE": "yes", + "MODULE__UUID_CFLAGS": "", + "MODULE__UUID_LDFLAGS": "", + "MODULE__UUID_STATE": "yes", + "MODULE__WEAKREF_LDFLAGS": "", + "MODULE__XXINTERPCHANNELS_STATE": "yes", + "MODULE__XXSUBINTERPRETERS_STATE": "yes", + "MODULE__XXTESTFUZZ_STATE": "yes", + "MODULE__ZONEINFO_STATE": "yes", + "MULTIARCH": "darwin", + "MULTIARCH_CPPFLAGS": "-DMULTIARCH=\\\"darwin\\\"", + "MVWDELCH_IS_EXPRESSION": 1, + "NO_AS_NEEDED": "", + "OBJECT_OBJS": "\\", + "OPT": "-DNDEBUG -g -O3 -Wall", + "PACKAGE_BUGREPORT": 0, + "PACKAGE_NAME": 0, + "PACKAGE_STRING": 0, + "PACKAGE_TARNAME": 0, + "PACKAGE_URL": 0, + "PACKAGE_VERSION": 0, + "PARSER_HEADERS": "\\", + "PARSER_OBJS": "\\ \\ Parser/myreadline.o Parser/tokenizer.o", + "PEGEN_HEADERS": "\\", + "PEGEN_OBJS": "\\", + "PGO_PROF_GEN_FLAG": "-fprofile-instr-generate", + "PGO_PROF_USE_FLAG": "-fprofile-instr-use=\"$(shell pwd)/code.profclangd\"", + "PLATLIBDIR": "lib", + "POBJS": "\\", + "POSIX_SEMAPHORES_NOT_ENABLED": 0, + "PROFILE_TASK": "-m test --pgo --timeout=1200", + "PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT": 0, + "PTHREAD_SYSTEM_SCHED_SUPPORTED": 1, + "PURIFY": "", + "PY3LIBRARY": "", + "PYLONG_BITS_IN_DIGIT": 0, + "PYTHON": "python", + "PYTHONFRAMEWORK": "", + "PYTHONFRAMEWORKDIR": "no-framework", + "PYTHONFRAMEWORKINSTALLDIR": "", + "PYTHONFRAMEWORKPREFIX": "", + "PYTHONPATH": "", + "PYTHON_FOR_BUILD": "./python.exe -E", + "PYTHON_FOR_BUILD_DEPS": "python.exe", + "PYTHON_FOR_FREEZE": "./_bootstrap_python", + "PYTHON_FOR_REGEN": "", + "PYTHON_HEADERS": "\\", + "PYTHON_OBJS": "\\", + "PY_BUILTIN_HASHLIB_HASHES": "\"md5,sha1,sha2,sha3,blake2\"", + "PY_BUILTIN_MODULE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -DPy_BUILD_CORE_BUILTIN", + "PY_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall", + "PY_CFLAGS_NODIST": "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal", + "PY_COERCE_C_LOCALE": 1, + "PY_CORE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -DPy_BUILD_CORE", + "PY_CORE_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_CPPFLAGS": "-I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "PY_ENABLE_SHARED": 1, + "PY_HAVE_PERF_TRAMPOLINE": 0, + "PY_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_LDFLAGS_NODIST": "", + "PY_LDFLAGS_NOLTO": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_SQLITE_ENABLE_LOAD_EXTENSION": 0, + "PY_SQLITE_HAVE_SERIALIZE": 1, + "PY_SSL_DEFAULT_CIPHERS": 1, + "PY_SSL_DEFAULT_CIPHER_STRING": 0, + "PY_STDMODULE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "PY_SUPPORT_TIER": 2, + "Py_DEBUG": 0, + "Py_ENABLE_SHARED": 1, + "Py_HASH_ALGORITHM": 0, + "Py_STATS": 0, + "Py_SUNOS_VERSION": 0, + "Py_TRACE_REFS": 0, + "QUICKTESTOPTS": "-x test_subprocess test_io test_lib2to3 \\", + "READELF": "@READELF@", + "RESSRCDIR": "Mac/Resources/framework", + "RETSIGTYPE": "void", + "RUNSHARED": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "SCRIPTDIR": "/Users/pablo/.asdf/installs/python/3.12.8/lib", + "SCRIPT_2TO3": "build/scripts-3.12/2to3-3.12", + "SCRIPT_IDLE": "build/scripts-3.12/idle3.12", + "SCRIPT_PYDOC": "build/scripts-3.12/pydoc3.12", + "SETPGRP_HAVE_ARG": 0, + "SHAREDMODS": "Modules/array.cpython-312-darwin.so Modules/_asyncio.cpython-312-darwin.so Modules/_bisect.cpython-312-darwin.so Modules/_contextvars.cpython-312-darwin.so Modules/_csv.cpython-312-darwin.so Modules/_heapq.cpython-312-darwin.so Modules/_json.cpython-312-darwin.so Modules/_lsprof.cpython-312-darwin.so Modules/_opcode.cpython-312-darwin.so Modules/_pickle.cpython-312-darwin.so Modules/_queue.cpython-312-darwin.so Modules/_random.cpython-312-darwin.so Modules/_struct.cpython-312-darwin.so Modules/_xxsubinterpreters.cpython-312-darwin.so Modules/_xxinterpchannels.cpython-312-darwin.so Modules/_zoneinfo.cpython-312-darwin.so Modules/audioop.cpython-312-darwin.so Modules/math.cpython-312-darwin.so Modules/cmath.cpython-312-darwin.so Modules/_statistics.cpython-312-darwin.so Modules/_datetime.cpython-312-darwin.so Modules/_decimal.cpython-312-darwin.so Modules/binascii.cpython-312-darwin.so Modules/_bz2.cpython-312-darwin.so Modules/_lzma.cpython-312-darwin.so Modules/zlib.cpython-312-darwin.so Modules/_dbm.cpython-312-darwin.so Modules/readline.cpython-312-darwin.so Modules/_md5.cpython-312-darwin.so Modules/_sha1.cpython-312-darwin.so Modules/_sha2.cpython-312-darwin.so Modules/_sha3.cpython-312-darwin.so Modules/_blake2.cpython-312-darwin.so Modules/pyexpat.cpython-312-darwin.so Modules/_elementtree.cpython-312-darwin.so Modules/_codecs_cn.cpython-312-darwin.so Modules/_codecs_hk.cpython-312-darwin.so Modules/_codecs_iso2022.cpython-312-darwin.so Modules/_codecs_jp.cpython-312-darwin.so Modules/_codecs_kr.cpython-312-darwin.so Modules/_codecs_tw.cpython-312-darwin.so Modules/_multibytecodec.cpython-312-darwin.so Modules/unicodedata.cpython-312-darwin.so Modules/_crypt.cpython-312-darwin.so Modules/fcntl.cpython-312-darwin.so Modules/grp.cpython-312-darwin.so Modules/mmap.cpython-312-darwin.so Modules/nis.cpython-312-darwin.so Modules/_posixsubprocess.cpython-312-darwin.so Modules/resource.cpython-312-darwin.so Modules/select.cpython-312-darwin.so Modules/_socket.cpython-312-darwin.so Modules/syslog.cpython-312-darwin.so Modules/termios.cpython-312-darwin.so Modules/_posixshmem.cpython-312-darwin.so Modules/_multiprocessing.cpython-312-darwin.so Modules/_ctypes.cpython-312-darwin.so Modules/_curses.cpython-312-darwin.so Modules/_curses_panel.cpython-312-darwin.so Modules/_sqlite3.cpython-312-darwin.so Modules/_ssl.cpython-312-darwin.so Modules/_hashlib.cpython-312-darwin.so Modules/_uuid.cpython-312-darwin.so Modules/_scproxy.cpython-312-darwin.so Modules/xxsubtype.cpython-312-darwin.so Modules/_xxtestfuzz.cpython-312-darwin.so Modules/_testbuffer.cpython-312-darwin.so Modules/_testinternalcapi.cpython-312-darwin.so Modules/_testcapi.cpython-312-darwin.so Modules/_testclinic.cpython-312-darwin.so Modules/_testimportmultiple.cpython-312-darwin.so Modules/_testmultiphase.cpython-312-darwin.so Modules/_testsinglephase.cpython-312-darwin.so Modules/_ctypes_test.cpython-312-darwin.so Modules/xxlimited.cpython-312-darwin.so Modules/xxlimited_35.cpython-312-darwin.so", + "SHELL": "/bin/sh -e", + "SHLIBS": "-lintl -ldl -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -framework CoreFoundation", + "SHLIB_SUFFIX": ".so", + "SIGNED_RIGHT_SHIFT_ZERO_FILLS": 0, + "SITEPATH": "", + "SIZEOF_DOUBLE": 8, + "SIZEOF_FLOAT": 4, + "SIZEOF_FPOS_T": 8, + "SIZEOF_INT": 4, + "SIZEOF_LONG": 8, + "SIZEOF_LONG_DOUBLE": 8, + "SIZEOF_LONG_LONG": 8, + "SIZEOF_OFF_T": 8, + "SIZEOF_PID_T": 4, + "SIZEOF_PTHREAD_KEY_T": 8, + "SIZEOF_PTHREAD_T": 8, + "SIZEOF_SHORT": 2, + "SIZEOF_SIZE_T": 8, + "SIZEOF_TIME_T": 8, + "SIZEOF_UINTPTR_T": 8, + "SIZEOF_VOID_P": 8, + "SIZEOF_WCHAR_T": 4, + "SIZEOF__BOOL": 1, + "SOABI": "cpython-312-darwin", + "SRCDIRS": "Modules Modules/_blake2 Modules/_ctypes Modules/_decimal Modules/_decimal/libmpdec Modules/_hacl Modules/_io Modules/_multiprocessing Modules/_sqlite Modules/_sre Modules/_testcapi Modules/_xxtestfuzz Modules/cjkcodecs Modules/expat Objects Parser Programs Python Python/frozen_modules Python/deepfreeze", + "SRC_GDB_HOOKS": "./Tools/gdb/libpython.py", + "STATIC_LIBPYTHON": 1, + "STDC_HEADERS": 1, + "STRICT_SYSV_CURSES": "/* Don't use ncurses extensions */", + "STRIPFLAG": "-s", + "SUBDIRS": "", + "SUBDIRSTOO": "Include Lib Misc", + "SYSLIBS": "", + "SYS_SELECT_WITH_SYS_TIME": 1, + "TESTOPTS": "", + "TESTPATH": "", + "TESTPYTHON": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8 ./python.exe -E", + "TESTPYTHONOPTS": "", + "TESTRUNNER": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8 ./python.exe -E ./Tools/scripts/run_tests.py", + "TESTSUBDIRS": "idlelib/idle_test \\", + "TESTTIMEOUT": 1200, + "TEST_MODULES": "yes", + "THREAD_STACK_SIZE": "0x1000000", + "TIMEMODULE_LIB": 0, + "TM_IN_SYS_TIME": 0, + "TZPATH": "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo", + "UNICODE_DEPS": "\\", + "UNIVERSALSDK": "", + "UPDATE_FILE": "./Tools/build/update_file.py", + "USE_COMPUTED_GOTOS": 0, + "VERSION": "3.12", + "WASM_ASSETS_DIR": "./Users/pablo/.asdf/installs/python/3.12.8", + "WASM_STDLIB": "./Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/os.py", + "WHEEL_PKG_DIR": "", + "WINDOW_HAS_FLAGS": 0, + "WITH_DECIMAL_CONTEXTVAR": 1, + "WITH_DOC_STRINGS": 1, + "WITH_DTRACE": 0, + "WITH_DYLD": 1, + "WITH_EDITLINE": 0, + "WITH_FREELISTS": 1, + "WITH_LIBINTL": 1, + "WITH_NEXT_FRAMEWORK": 0, + "WITH_PYMALLOC": 1, + "WITH_VALGRIND": 0, + "X87_DOUBLE_ROUNDING": 0, + "XMLLIBSUBDIRS": "xml xml/dom xml/etree xml/parsers xml/sax", + "abs_builddir": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "abs_srcdir": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "datarootdir": "/Users/pablo/.asdf/installs/python/3.12.8/share", + "srcdir": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/config-3.12-darwin", + "userbase": "/Users/pablo/.local" + }, + "dependencies": { + "python-binance": "1.0.27", + "dateparser": "1.2.0", + "shellingham": "1.5.4", + "opentelemetry-api": "1.29.0", + "langchain-anthropic": "0.3.3", + "Pygments": "2.19.1", + "pycodestyle": "2.12.1", + "pandas": "2.2.3", + "importlib_metadata": "8.5.0", + "filelock": "3.16.1", + "idna": "3.10", + "langsmith": "0.2.11", + "msal-extensions": "1.2.0", + "aioresponses": "0.7.7", + "pydub": "0.25.1", + "pytest-cov": "6.0.0", + "ujson": "5.10.0", + "distlib": "0.3.9", + "python-socks": "2.5.3", + "pip": "24.3.1", + "multidict": "6.1.0", + "pytest-flake8": "1.3.0", + "fastapi": "0.115.6", + "pillow": "11.1.0", + "lxml": "5.3.0", + "pyproject-api": "1.8.0", + "langgraph-checkpoint": "2.0.10", + "urllib3": "2.2.3", + "colorama": "0.4.6", + "uvicorn": "0.34.0", + "zipp": "3.21.0", + "typer": "0.15.1", + "ruff": "0.8.4", + "setuptools": "75.6.0", + "msgpack": "1.1.0", + "flake8": "7.1.1", + "pycryptodome": "3.21.0", + "defusedxml": "0.7.1", + "autogen-ext": "0.4.2", + "requests": "2.32.3", + "frozenlist": "1.5.0", + "openpyxl": "3.1.5", + "psycopg": "3.2.4", + "soupsieve": "2.6", + "anthropic": "0.43.1", + "markdown-it-py": "3.0.0", + "pytest": "8.3.4", + "puremagic": "1.28", + "mammoth": "1.9.0", + "h11": "0.14.0", + "magentic-one-cli": "0.2.2", + "pyee": "12.0.0", + "python-pptx": "1.0.2", + "msal": "1.31.1", + "et_xmlfile": "2.0.0", + "protobuf": "4.25.5", + "autogen-core": "0.4.2", + "aiohttp": "3.10.11", + "markdownify": "0.14.1", + "pathvalidate": "3.2.3", + "iniconfig": "2.0.0", + "rich": "13.9.4", + "tqdm": "4.67.1", + "autogenstudio": "0.4.0.3", + "Mako": "1.3.8", + "jsonpatch": "1.33", + "click": "8.1.8", + "jsonpointer": "3.0.0", + "numpy": "1.26.4", + "ccxt": "4.4.57", + "tenacity": "9.0.0", + "cffi": "1.17.1", + "openai": "1.58.1", + "propcache": "0.2.1", + "autogen-agentchat": "0.4.2", + "cachetools": "5.5.0", + "portalocker": "2.10.1", + "youtube-transcript-api": "0.6.3", + "PyJWT": "2.10.1", + "XlsxWriter": "3.2.0", + "langchain-core": "0.3.30", + "psutil": "6.1.1", + "aiofiles": "24.1.0", + "python-dotenv": "1.0.1", + "websockets_proxy": "0.1.3", + "regex": "2024.11.6", + "loguru": "0.7.3", + "pyright": "1.1.391", + "sniffio": "1.3.1", + "nodeenv": "1.9.1", + "mdurl": "0.1.2", + "python-dateutil": "2.9.0.post0", + "aiodns": "3.2.0", + "pytz": "2024.2", + "yarl": "1.18.3", + "mccabe": "0.7.0", + "jsonref": "1.1.0", + "Deprecated": "1.2.15", + "packaging": "24.2", + "SpeechRecognition": "3.14.0", + "cobble": "0.1.4", + "sqlmodel": "0.0.22", + "tzlocal": "5.2", + "chardet": "5.2.0", + "pytest-codspeed": "3.2.0", + "pydantic_core": "2.27.2", + "coverage": "7.6.9", + "httpcore": "1.0.7", + "tox": "4.23.2", + "pycparser": "2.22", + "websockets": "14.1", + "langgraph": "0.2.64", + "pydantic": "2.10.4", + "pytest-benchmark": "5.1.0", + "pluggy": "1.5.0", + "playwright": "1.49.1", + "pytest-asyncio": "0.25.0", + "starlette": "0.41.3", + "markitdown": "0.0.1a3", + "alembic": "1.14.0", + "distro": "1.9.0", + "pdfminer.six": "20240706", + "SQLAlchemy": "2.0.37", + "jiter": "0.8.2", + "cryptography": "44.0.0", + "pydantic-settings": "2.7.1", + "requests-toolbelt": "1.0.0", + "wrapt": "1.17.2", + "bs4": "0.0.2", + "py-cpuinfo": "9.0.0", + "aiosignal": "1.3.2", + "typing_extensions": "4.12.2", + "PyYAML": "6.0.2", + "httpx": "0.28.1", + "attrs": "24.3.0", + "anyio": "4.7.0", + "azure-core": "1.32.0", + "charset-normalizer": "3.4.0", + "langgraph-sdk": "0.1.51", + "tzdata": "2024.2", + "tiktoken": "0.8.0", + "beautifulsoup4": "4.12.3", + "aiohappyeyeballs": "2.4.4", + "platformdirs": "4.3.6", + "pycares": "4.5.0", + "annotated-types": "0.7.0", + "certifi": "2024.12.14", + "virtualenv": "20.28.0", + "six": "1.17.0", + "greenlet": "3.1.1", + "requests-mock": "1.12.1", + "pyflakes": "3.2.0", + "azure-identity": "1.19.0", + "MarkupSafe": "3.0.2" + } + }, + "instrument": { + "type": "walltime", + "clock_info": { + "implementation": "mach_absolute_time()", + "monotonic": true, + "adjustable": false, + "resolution": 4.166666666666667e-08 + } + }, + "benchmarks": [ + { + "name": "test_ws_api_public_endpoint_2", + "uri": "tests/test_ws_api.py::test_ws_api_public_endpoint_2", + "config": { + "warmup_time_ns": 1000000000, + "min_round_time_ns": 41666666.66666667, + "max_time_ns": 3000000000, + "max_rounds": null + }, + "stats": { + "min_ns": 890.9202411683582, + "max_ns": 1216.349428904841, + "mean_ns": 918.9098377497131, + "stdev_ns": 44.75728202304252, + "q1_ns": 907.4607880405955, + "median_ns": 911.1575639166873, + "q3_ns": 915.253673220411, + "rounds": 71, + "total_time": 3.014453125, + "iqr_outlier_rounds": 5, + "stdev_outlier_rounds": 2, + "iter_per_round": 56558, + "warmup_iters": 1205558 + } + } + ] +} diff --git a/.codspeed/results_1740208013406.json b/.codspeed/results_1740208013406.json new file mode 100644 index 00000000..f43fc987 --- /dev/null +++ b/.codspeed/results_1740208013406.json @@ -0,0 +1,1179 @@ +{ + "creator": { + "name": "pytest-codspeed", + "version": "3.2.0", + "pid": 77171 + }, + "python": { + "sysconfig": { + "prefix": "/Users/pablo/.asdf/installs/python/3.12.8", + "exec_prefix": "/Users/pablo/.asdf/installs/python/3.12.8", + "py_version": "3.12.8", + "py_version_short": "3.12", + "py_version_nodot": "312", + "installed_base": "/Users/pablo/.asdf/installs/python/3.12.8", + "base": "/Users/pablo/.asdf/installs/python/3.12.8", + "installed_platbase": "/Users/pablo/.asdf/installs/python/3.12.8", + "platbase": "/Users/pablo/.asdf/installs/python/3.12.8", + "projectbase": "/Users/pablo/.asdf/installs/python/3.12.8/bin", + "platlibdir": "lib", + "abiflags": "", + "py_version_nodot_plat": "", + "ABIFLAGS": "", + "AC_APPLE_UNIVERSAL_BUILD": 0, + "AIX_BUILDDATE": 0, + "AIX_GENUINE_CPLUSPLUS": 0, + "ALIGNOF_LONG": 8, + "ALIGNOF_MAX_ALIGN_T": 8, + "ALIGNOF_SIZE_T": 8, + "ALT_SOABI": 0, + "ANDROID_API_LEVEL": 0, + "AR": "ar", + "ARFLAGS": "rcs", + "BASECFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code", + "BASECPPFLAGS": "", + "BASEMODLIBS": "", + "BINDIR": "/Users/pablo/.asdf/installs/python/3.12.8/bin", + "BINLIBDEST": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "BLDLIBRARY": "-L. -lpython3.12", + "BLDSHARED": "clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "BOOTSTRAP_HEADERS": "\\", + "BUILDEXE": ".exe", + "BUILDPYTHON": "python.exe", + "BUILD_GNU_TYPE": "aarch64-apple-darwin24.1.0", + "BUILD_SCRIPTS_DIR": "build/scripts-3.12", + "BYTESTR_DEPS": "\\", + "CC": "clang", + "CCSHARED": "", + "CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall", + "CFLAGSFORSHARED": "", + "CFLAGS_ALIASING": "-fno-strict-aliasing", + "CFLAGS_NODIST": "", + "CODECS_COMMON_HEADERS": "./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "COMPILEALL_OPTS": "-j0", + "CONFIGFILES": "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in", + "CONFIGURE_CFLAGS": "", + "CONFIGURE_CFLAGS_NODIST": "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden", + "CONFIGURE_CPPFLAGS": "-I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "CONFIGURE_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "CONFIGURE_LDFLAGS_NODIST": "", + "CONFIGURE_LDFLAGS_NOLTO": "", + "CONFIG_ARGS": "'--prefix=/Users/pablo/.asdf/installs/python/3.12.8' '--enable-shared' '--libdir=/Users/pablo/.asdf/installs/python/3.12.8/lib' '--with-openssl=/opt/homebrew/opt/openssl@3' 'PKG_CONFIG_PATH=/opt/homebrew/opt/openssl@3/lib/pkgconfig/:' 'CC=clang' 'LDFLAGS=-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib' 'LIBS=-L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib' 'CPPFLAGS=-I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include'", + "CONFINCLUDEDIR": "/Users/pablo/.asdf/installs/python/3.12.8/include", + "CONFINCLUDEPY": "/Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "COREPYTHONPATH": "", + "COVERAGE_INFO": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8/coverage.info", + "COVERAGE_LCOV_OPTIONS": "--rc lcov_branch_coverage=1", + "COVERAGE_REPORT": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8/lcov-report", + "COVERAGE_REPORT_OPTIONS": "--rc lcov_branch_coverage=1 --branch-coverage --title \"CPython 3.12 LCOV report [commit $(shell )]\"", + "CPPFLAGS": "-I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "CXX": "clang++", + "DEEPFREEZE_C": "Python/deepfreeze/deepfreeze.c", + "DEEPFREEZE_DEPS": "./Tools/build/deepfreeze.py _bootstrap_python ./Programs/_freeze_module.py \\", + "DEEPFREEZE_OBJS": "Python/deepfreeze/deepfreeze.o", + "DESTDIRS": "/Users/pablo/.asdf/installs/python/3.12.8 /Users/pablo/.asdf/installs/python/3.12.8/lib /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12 /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/lib-dynload", + "DESTLIB": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "DESTPATH": "", + "DESTSHARED": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/lib-dynload", + "DFLAGS": "", + "DIRMODE": 755, + "DIST": "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy", + "DISTDIRS": "Include Lib Misc Ext-dummy", + "DISTFILES": "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in", + "DLINCLDIR": ".", + "DLLLIBRARY": "", + "DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754": 0, + "DOUBLE_IS_BIG_ENDIAN_IEEE754": 0, + "DOUBLE_IS_LITTLE_ENDIAN_IEEE754": 1, + "DSYMUTIL": "", + "DSYMUTIL_PATH": "", + "DTRACE": "", + "DTRACE_DEPS": "\\", + "DTRACE_HEADERS": "", + "DTRACE_OBJS": "", + "DYNLOADFILE": "dynload_shlib.o", + "ENABLE_IPV6": 1, + "ENSUREPIP": "upgrade", + "EXE": "", + "EXEMODE": 755, + "EXENAME": "/Users/pablo/.asdf/installs/python/3.12.8/bin/python3.12", + "EXPORTSFROM": "", + "EXPORTSYMS": "", + "EXTRATESTOPTS": "", + "EXTRA_CFLAGS": "", + "EXT_SUFFIX": ".cpython-312-darwin.so", + "FILEMODE": 644, + "FREEZE_MODULE": "./_bootstrap_python ./Programs/_freeze_module.py", + "FREEZE_MODULE_BOOTSTRAP": "./Programs/_freeze_module", + "FREEZE_MODULE_BOOTSTRAP_DEPS": "Programs/_freeze_module", + "FREEZE_MODULE_DEPS": "_bootstrap_python ./Programs/_freeze_module.py", + "FROZEN_FILES_IN": "\\", + "FROZEN_FILES_OUT": "\\", + "GETPGRP_HAVE_ARG": 0, + "GITBRANCH": "", + "GITTAG": "", + "GITVERSION": "", + "GNULD": "no", + "HAVE_ACCEPT": 1, + "HAVE_ACCEPT4": 0, + "HAVE_ACOSH": 1, + "HAVE_ADDRINFO": 1, + "HAVE_ALARM": 1, + "HAVE_ALIGNED_REQUIRED": 0, + "HAVE_ALLOCA_H": 1, + "HAVE_ALTZONE": 0, + "HAVE_ASINH": 1, + "HAVE_ASM_TYPES_H": 0, + "HAVE_ATANH": 1, + "HAVE_BIND": 1, + "HAVE_BIND_TEXTDOMAIN_CODESET": 1, + "HAVE_BLUETOOTH_BLUETOOTH_H": 0, + "HAVE_BLUETOOTH_H": 0, + "HAVE_BROKEN_MBSTOWCS": 0, + "HAVE_BROKEN_NICE": 0, + "HAVE_BROKEN_PIPE_BUF": 0, + "HAVE_BROKEN_POLL": 0, + "HAVE_BROKEN_POSIX_SEMAPHORES": 0, + "HAVE_BROKEN_PTHREAD_SIGMASK": 0, + "HAVE_BROKEN_SEM_GETVALUE": 1, + "HAVE_BROKEN_UNSETENV": 0, + "HAVE_BUILTIN_ATOMIC": 1, + "HAVE_BZLIB_H": 1, + "HAVE_CHFLAGS": 1, + "HAVE_CHMOD": 1, + "HAVE_CHOWN": 1, + "HAVE_CHROOT": 1, + "HAVE_CLOCK": 1, + "HAVE_CLOCK_GETRES": 1, + "HAVE_CLOCK_GETTIME": 1, + "HAVE_CLOCK_NANOSLEEP": 0, + "HAVE_CLOCK_SETTIME": 1, + "HAVE_CLOSE_RANGE": 0, + "HAVE_COMPUTED_GOTOS": 1, + "HAVE_CONFSTR": 1, + "HAVE_CONIO_H": 0, + "HAVE_CONNECT": 1, + "HAVE_COPY_FILE_RANGE": 0, + "HAVE_CRYPT_H": 0, + "HAVE_CRYPT_R": 0, + "HAVE_CTERMID": 1, + "HAVE_CTERMID_R": 1, + "HAVE_CURSES_FILTER": 1, + "HAVE_CURSES_H": 1, + "HAVE_CURSES_HAS_KEY": 1, + "HAVE_CURSES_IMMEDOK": 1, + "HAVE_CURSES_IS_PAD": 1, + "HAVE_CURSES_IS_TERM_RESIZED": 1, + "HAVE_CURSES_RESIZETERM": 1, + "HAVE_CURSES_RESIZE_TERM": 1, + "HAVE_CURSES_SYNCOK": 1, + "HAVE_CURSES_TYPEAHEAD": 1, + "HAVE_CURSES_USE_ENV": 1, + "HAVE_CURSES_WCHGAT": 1, + "HAVE_DB_H": 1, + "HAVE_DECL_RTLD_DEEPBIND": 0, + "HAVE_DECL_RTLD_GLOBAL": 1, + "HAVE_DECL_RTLD_LAZY": 1, + "HAVE_DECL_RTLD_LOCAL": 1, + "HAVE_DECL_RTLD_MEMBER": 0, + "HAVE_DECL_RTLD_NODELETE": 1, + "HAVE_DECL_RTLD_NOLOAD": 1, + "HAVE_DECL_RTLD_NOW": 1, + "HAVE_DECL_TZNAME": 0, + "HAVE_DEVICE_MACROS": 1, + "HAVE_DEV_PTC": 0, + "HAVE_DEV_PTMX": 1, + "HAVE_DIRECT_H": 0, + "HAVE_DIRENT_D_TYPE": 1, + "HAVE_DIRENT_H": 1, + "HAVE_DIRFD": 1, + "HAVE_DLFCN_H": 1, + "HAVE_DLOPEN": 1, + "HAVE_DUP": 1, + "HAVE_DUP2": 1, + "HAVE_DUP3": 0, + "HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH": 1, + "HAVE_DYNAMIC_LOADING": 1, + "HAVE_EDITLINE_READLINE_H": 0, + "HAVE_ENDIAN_H": 0, + "HAVE_EPOLL": 0, + "HAVE_EPOLL_CREATE1": 0, + "HAVE_ERF": 1, + "HAVE_ERFC": 1, + "HAVE_ERRNO_H": 1, + "HAVE_EVENTFD": 0, + "HAVE_EXECV": 1, + "HAVE_EXPLICIT_BZERO": 0, + "HAVE_EXPLICIT_MEMSET": 0, + "HAVE_EXPM1": 1, + "HAVE_FACCESSAT": 1, + "HAVE_FCHDIR": 1, + "HAVE_FCHMOD": 1, + "HAVE_FCHMODAT": 1, + "HAVE_FCHOWN": 1, + "HAVE_FCHOWNAT": 1, + "HAVE_FCNTL_H": 1, + "HAVE_FDATASYNC": 0, + "HAVE_FDOPENDIR": 1, + "HAVE_FDWALK": 0, + "HAVE_FEXECVE": 0, + "HAVE_FFI_CLOSURE_ALLOC": 1, + "HAVE_FFI_PREP_CIF_VAR": 1, + "HAVE_FFI_PREP_CLOSURE_LOC": 1, + "HAVE_FLOCK": 1, + "HAVE_FORK": 1, + "HAVE_FORK1": 0, + "HAVE_FORKPTY": 1, + "HAVE_FPATHCONF": 1, + "HAVE_FSEEK64": 0, + "HAVE_FSEEKO": 1, + "HAVE_FSTATAT": 1, + "HAVE_FSTATVFS": 1, + "HAVE_FSYNC": 1, + "HAVE_FTELL64": 0, + "HAVE_FTELLO": 1, + "HAVE_FTIME": 1, + "HAVE_FTRUNCATE": 1, + "HAVE_FUTIMENS": 1, + "HAVE_FUTIMES": 1, + "HAVE_FUTIMESAT": 0, + "HAVE_GAI_STRERROR": 1, + "HAVE_GCC_ASM_FOR_MC68881": 0, + "HAVE_GCC_ASM_FOR_X64": 0, + "HAVE_GCC_ASM_FOR_X87": 0, + "HAVE_GCC_UINT128_T": 1, + "HAVE_GDBM_DASH_NDBM_H": 0, + "HAVE_GDBM_H": 0, + "HAVE_GDBM_NDBM_H": 0, + "HAVE_GETADDRINFO": 1, + "HAVE_GETC_UNLOCKED": 1, + "HAVE_GETEGID": 1, + "HAVE_GETENTROPY": 1, + "HAVE_GETEUID": 1, + "HAVE_GETGID": 1, + "HAVE_GETGRGID": 1, + "HAVE_GETGRGID_R": 1, + "HAVE_GETGRNAM_R": 1, + "HAVE_GETGROUPLIST": 1, + "HAVE_GETGROUPS": 1, + "HAVE_GETHOSTBYADDR": 1, + "HAVE_GETHOSTBYNAME": 1, + "HAVE_GETHOSTBYNAME_R": 0, + "HAVE_GETHOSTBYNAME_R_3_ARG": 0, + "HAVE_GETHOSTBYNAME_R_5_ARG": 0, + "HAVE_GETHOSTBYNAME_R_6_ARG": 0, + "HAVE_GETHOSTNAME": 1, + "HAVE_GETITIMER": 1, + "HAVE_GETLOADAVG": 1, + "HAVE_GETLOGIN": 1, + "HAVE_GETNAMEINFO": 1, + "HAVE_GETPAGESIZE": 1, + "HAVE_GETPEERNAME": 1, + "HAVE_GETPGID": 1, + "HAVE_GETPGRP": 1, + "HAVE_GETPID": 1, + "HAVE_GETPPID": 1, + "HAVE_GETPRIORITY": 1, + "HAVE_GETPROTOBYNAME": 1, + "HAVE_GETPWENT": 1, + "HAVE_GETPWNAM_R": 1, + "HAVE_GETPWUID": 1, + "HAVE_GETPWUID_R": 1, + "HAVE_GETRANDOM": 0, + "HAVE_GETRANDOM_SYSCALL": 0, + "HAVE_GETRESGID": 0, + "HAVE_GETRESUID": 0, + "HAVE_GETRUSAGE": 1, + "HAVE_GETSERVBYNAME": 1, + "HAVE_GETSERVBYPORT": 1, + "HAVE_GETSID": 1, + "HAVE_GETSOCKNAME": 1, + "HAVE_GETSPENT": 0, + "HAVE_GETSPNAM": 0, + "HAVE_GETUID": 1, + "HAVE_GETWD": 1, + "HAVE_GLIBC_MEMMOVE_BUG": 0, + "HAVE_GRP_H": 1, + "HAVE_HSTRERROR": 1, + "HAVE_HTOLE64": 0, + "HAVE_IEEEFP_H": 0, + "HAVE_IF_NAMEINDEX": 1, + "HAVE_INET_ATON": 1, + "HAVE_INET_NTOA": 1, + "HAVE_INET_PTON": 1, + "HAVE_INITGROUPS": 1, + "HAVE_INTTYPES_H": 1, + "HAVE_IO_H": 0, + "HAVE_IPA_PURE_CONST_BUG": 0, + "HAVE_KILL": 1, + "HAVE_KILLPG": 1, + "HAVE_KQUEUE": 1, + "HAVE_LANGINFO_H": 1, + "HAVE_LARGEFILE_SUPPORT": 0, + "HAVE_LCHFLAGS": 1, + "HAVE_LCHMOD": 1, + "HAVE_LCHOWN": 1, + "HAVE_LIBB2": 0, + "HAVE_LIBDB": 0, + "HAVE_LIBDL": 1, + "HAVE_LIBDLD": 0, + "HAVE_LIBIEEE": 0, + "HAVE_LIBINTL_H": 1, + "HAVE_LIBRESOLV": 0, + "HAVE_LIBSENDFILE": 0, + "HAVE_LIBSQLITE3": 1, + "HAVE_LIBUTIL_H": 0, + "HAVE_LINK": 1, + "HAVE_LINKAT": 1, + "HAVE_LINUX_AUXVEC_H": 0, + "HAVE_LINUX_CAN_BCM_H": 0, + "HAVE_LINUX_CAN_H": 0, + "HAVE_LINUX_CAN_J1939_H": 0, + "HAVE_LINUX_CAN_RAW_FD_FRAMES": 0, + "HAVE_LINUX_CAN_RAW_H": 0, + "HAVE_LINUX_CAN_RAW_JOIN_FILTERS": 0, + "HAVE_LINUX_FS_H": 0, + "HAVE_LINUX_LIMITS_H": 0, + "HAVE_LINUX_MEMFD_H": 0, + "HAVE_LINUX_NETLINK_H": 0, + "HAVE_LINUX_QRTR_H": 0, + "HAVE_LINUX_RANDOM_H": 0, + "HAVE_LINUX_SOUNDCARD_H": 0, + "HAVE_LINUX_TIPC_H": 0, + "HAVE_LINUX_VM_SOCKETS_H": 0, + "HAVE_LINUX_WAIT_H": 0, + "HAVE_LISTEN": 1, + "HAVE_LOCKF": 1, + "HAVE_LOG1P": 1, + "HAVE_LOG2": 1, + "HAVE_LOGIN_TTY": 1, + "HAVE_LONG_DOUBLE": 1, + "HAVE_LSTAT": 1, + "HAVE_LUTIMES": 1, + "HAVE_LZMA_H": 1, + "HAVE_MADVISE": 1, + "HAVE_MAKEDEV": 1, + "HAVE_MBRTOWC": 1, + "HAVE_MEMFD_CREATE": 0, + "HAVE_MEMRCHR": 0, + "HAVE_MINIX_CONFIG_H": 0, + "HAVE_MKDIRAT": 1, + "HAVE_MKFIFO": 1, + "HAVE_MKFIFOAT": 1, + "HAVE_MKNOD": 1, + "HAVE_MKNODAT": 1, + "HAVE_MKTIME": 1, + "HAVE_MMAP": 1, + "HAVE_MREMAP": 0, + "HAVE_NANOSLEEP": 1, + "HAVE_NCURSESW": 1, + "HAVE_NCURSES_H": 1, + "HAVE_NDBM_H": 1, + "HAVE_NDIR_H": 0, + "HAVE_NETCAN_CAN_H": 0, + "HAVE_NETDB_H": 1, + "HAVE_NETINET_IN_H": 1, + "HAVE_NETPACKET_PACKET_H": 0, + "HAVE_NET_ETHERNET_H": 1, + "HAVE_NET_IF_H": 1, + "HAVE_NICE": 1, + "HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION": 0, + "HAVE_OPENAT": 1, + "HAVE_OPENDIR": 1, + "HAVE_OPENPTY": 1, + "HAVE_PANEL_H": 1, + "HAVE_PATHCONF": 1, + "HAVE_PAUSE": 1, + "HAVE_PIPE": 1, + "HAVE_PIPE2": 0, + "HAVE_PLOCK": 0, + "HAVE_POLL": 1, + "HAVE_POLL_H": 1, + "HAVE_POSIX_FADVISE": 0, + "HAVE_POSIX_FALLOCATE": 0, + "HAVE_POSIX_SPAWN": 1, + "HAVE_POSIX_SPAWNP": 1, + "HAVE_PREAD": 1, + "HAVE_PREADV": 1, + "HAVE_PREADV2": 0, + "HAVE_PRLIMIT": 0, + "HAVE_PROCESS_H": 0, + "HAVE_PROTOTYPES": 1, + "HAVE_PTHREAD_CONDATTR_SETCLOCK": 0, + "HAVE_PTHREAD_DESTRUCTOR": 0, + "HAVE_PTHREAD_GETCPUCLOCKID": 0, + "HAVE_PTHREAD_H": 1, + "HAVE_PTHREAD_INIT": 0, + "HAVE_PTHREAD_KILL": 1, + "HAVE_PTHREAD_SIGMASK": 1, + "HAVE_PTHREAD_STUBS": 0, + "HAVE_PTY_H": 0, + "HAVE_PWRITE": 1, + "HAVE_PWRITEV": 1, + "HAVE_PWRITEV2": 0, + "HAVE_READLINE_READLINE_H": 1, + "HAVE_READLINK": 1, + "HAVE_READLINKAT": 1, + "HAVE_READV": 1, + "HAVE_REALPATH": 1, + "HAVE_RECVFROM": 1, + "HAVE_RENAMEAT": 1, + "HAVE_RL_APPEND_HISTORY": 1, + "HAVE_RL_CATCH_SIGNAL": 1, + "HAVE_RL_COMPDISP_FUNC_T": 1, + "HAVE_RL_COMPLETION_APPEND_CHARACTER": 1, + "HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK": 1, + "HAVE_RL_COMPLETION_MATCHES": 1, + "HAVE_RL_COMPLETION_SUPPRESS_APPEND": 1, + "HAVE_RL_PRE_INPUT_HOOK": 1, + "HAVE_RL_RESIZE_TERMINAL": 1, + "HAVE_RPC_RPC_H": 1, + "HAVE_RTPSPAWN": 0, + "HAVE_SCHED_GET_PRIORITY_MAX": 1, + "HAVE_SCHED_H": 1, + "HAVE_SCHED_RR_GET_INTERVAL": 0, + "HAVE_SCHED_SETAFFINITY": 0, + "HAVE_SCHED_SETPARAM": 0, + "HAVE_SCHED_SETSCHEDULER": 0, + "HAVE_SEM_CLOCKWAIT": 0, + "HAVE_SEM_GETVALUE": 1, + "HAVE_SEM_OPEN": 1, + "HAVE_SEM_TIMEDWAIT": 0, + "HAVE_SEM_UNLINK": 1, + "HAVE_SENDFILE": 1, + "HAVE_SENDTO": 1, + "HAVE_SETEGID": 1, + "HAVE_SETEUID": 1, + "HAVE_SETGID": 1, + "HAVE_SETGROUPS": 1, + "HAVE_SETHOSTNAME": 1, + "HAVE_SETITIMER": 1, + "HAVE_SETJMP_H": 1, + "HAVE_SETLOCALE": 1, + "HAVE_SETNS": 0, + "HAVE_SETPGID": 1, + "HAVE_SETPGRP": 1, + "HAVE_SETPRIORITY": 1, + "HAVE_SETREGID": 1, + "HAVE_SETRESGID": 0, + "HAVE_SETRESUID": 0, + "HAVE_SETREUID": 1, + "HAVE_SETSID": 1, + "HAVE_SETSOCKOPT": 1, + "HAVE_SETUID": 1, + "HAVE_SETVBUF": 1, + "HAVE_SHADOW_H": 0, + "HAVE_SHM_OPEN": 1, + "HAVE_SHM_UNLINK": 1, + "HAVE_SHUTDOWN": 1, + "HAVE_SIGACTION": 1, + "HAVE_SIGALTSTACK": 1, + "HAVE_SIGFILLSET": 1, + "HAVE_SIGINFO_T_SI_BAND": 1, + "HAVE_SIGINTERRUPT": 1, + "HAVE_SIGNAL_H": 1, + "HAVE_SIGPENDING": 1, + "HAVE_SIGRELSE": 1, + "HAVE_SIGTIMEDWAIT": 0, + "HAVE_SIGWAIT": 1, + "HAVE_SIGWAITINFO": 0, + "HAVE_SNPRINTF": 1, + "HAVE_SOCKADDR_ALG": 0, + "HAVE_SOCKADDR_SA_LEN": 1, + "HAVE_SOCKADDR_STORAGE": 1, + "HAVE_SOCKET": 1, + "HAVE_SOCKETPAIR": 1, + "HAVE_SPAWN_H": 1, + "HAVE_SPLICE": 0, + "HAVE_SSIZE_T": 1, + "HAVE_STATVFS": 1, + "HAVE_STAT_TV_NSEC": 0, + "HAVE_STAT_TV_NSEC2": 1, + "HAVE_STDINT_H": 1, + "HAVE_STDIO_H": 1, + "HAVE_STDLIB_H": 1, + "HAVE_STD_ATOMIC": 1, + "HAVE_STRFTIME": 1, + "HAVE_STRINGS_H": 1, + "HAVE_STRING_H": 1, + "HAVE_STRLCPY": 1, + "HAVE_STROPTS_H": 0, + "HAVE_STRSIGNAL": 1, + "HAVE_STRUCT_PASSWD_PW_GECOS": 1, + "HAVE_STRUCT_PASSWD_PW_PASSWD": 1, + "HAVE_STRUCT_STAT_ST_BIRTHTIME": 1, + "HAVE_STRUCT_STAT_ST_BLKSIZE": 1, + "HAVE_STRUCT_STAT_ST_BLOCKS": 1, + "HAVE_STRUCT_STAT_ST_FLAGS": 1, + "HAVE_STRUCT_STAT_ST_GEN": 1, + "HAVE_STRUCT_STAT_ST_RDEV": 1, + "HAVE_STRUCT_TM_TM_ZONE": 1, + "HAVE_SYMLINK": 1, + "HAVE_SYMLINKAT": 1, + "HAVE_SYNC": 1, + "HAVE_SYSCONF": 1, + "HAVE_SYSEXITS_H": 1, + "HAVE_SYSLOG_H": 1, + "HAVE_SYSTEM": 1, + "HAVE_SYS_AUDIOIO_H": 0, + "HAVE_SYS_AUXV_H": 0, + "HAVE_SYS_BSDTTY_H": 0, + "HAVE_SYS_DEVPOLL_H": 0, + "HAVE_SYS_DIR_H": 0, + "HAVE_SYS_ENDIAN_H": 0, + "HAVE_SYS_EPOLL_H": 0, + "HAVE_SYS_EVENTFD_H": 0, + "HAVE_SYS_EVENT_H": 1, + "HAVE_SYS_FILE_H": 1, + "HAVE_SYS_IOCTL_H": 1, + "HAVE_SYS_KERN_CONTROL_H": 1, + "HAVE_SYS_LOADAVG_H": 0, + "HAVE_SYS_LOCK_H": 1, + "HAVE_SYS_MEMFD_H": 0, + "HAVE_SYS_MKDEV_H": 0, + "HAVE_SYS_MMAN_H": 1, + "HAVE_SYS_MODEM_H": 0, + "HAVE_SYS_NDIR_H": 0, + "HAVE_SYS_PARAM_H": 1, + "HAVE_SYS_POLL_H": 1, + "HAVE_SYS_RANDOM_H": 1, + "HAVE_SYS_RESOURCE_H": 1, + "HAVE_SYS_SELECT_H": 1, + "HAVE_SYS_SENDFILE_H": 0, + "HAVE_SYS_SOCKET_H": 1, + "HAVE_SYS_SOUNDCARD_H": 0, + "HAVE_SYS_STATVFS_H": 1, + "HAVE_SYS_STAT_H": 1, + "HAVE_SYS_SYSCALL_H": 1, + "HAVE_SYS_SYSMACROS_H": 0, + "HAVE_SYS_SYS_DOMAIN_H": 1, + "HAVE_SYS_TERMIO_H": 0, + "HAVE_SYS_TIMES_H": 1, + "HAVE_SYS_TIME_H": 1, + "HAVE_SYS_TYPES_H": 1, + "HAVE_SYS_UIO_H": 1, + "HAVE_SYS_UN_H": 1, + "HAVE_SYS_UTSNAME_H": 1, + "HAVE_SYS_WAIT_H": 1, + "HAVE_SYS_XATTR_H": 1, + "HAVE_TCGETPGRP": 1, + "HAVE_TCSETPGRP": 1, + "HAVE_TEMPNAM": 1, + "HAVE_TERMIOS_H": 1, + "HAVE_TERM_H": 1, + "HAVE_TIMEGM": 1, + "HAVE_TIMES": 1, + "HAVE_TMPFILE": 1, + "HAVE_TMPNAM": 1, + "HAVE_TMPNAM_R": 0, + "HAVE_TM_ZONE": 1, + "HAVE_TRUNCATE": 1, + "HAVE_TTYNAME": 1, + "HAVE_TZNAME": 0, + "HAVE_UMASK": 1, + "HAVE_UNAME": 1, + "HAVE_UNISTD_H": 1, + "HAVE_UNLINKAT": 1, + "HAVE_UNSHARE": 0, + "HAVE_USABLE_WCHAR_T": 0, + "HAVE_UTIL_H": 1, + "HAVE_UTIMENSAT": 1, + "HAVE_UTIMES": 1, + "HAVE_UTIME_H": 1, + "HAVE_UTMP_H": 1, + "HAVE_UUID_CREATE": 0, + "HAVE_UUID_ENC_BE": 0, + "HAVE_UUID_GENERATE_TIME_SAFE": 0, + "HAVE_UUID_H": 0, + "HAVE_UUID_UUID_H": 1, + "HAVE_VFORK": 1, + "HAVE_WAIT": 1, + "HAVE_WAIT3": 1, + "HAVE_WAIT4": 1, + "HAVE_WAITID": 1, + "HAVE_WAITPID": 1, + "HAVE_WCHAR_H": 1, + "HAVE_WCSCOLL": 1, + "HAVE_WCSFTIME": 1, + "HAVE_WCSXFRM": 1, + "HAVE_WMEMCMP": 1, + "HAVE_WORKING_TZSET": 1, + "HAVE_WRITEV": 1, + "HAVE_ZLIB_COPY": 1, + "HAVE_ZLIB_H": 1, + "HAVE__GETPTY": 0, + "HOSTRUNNER": "", + "HOST_GNU_TYPE": "aarch64-apple-darwin24.1.0", + "INCLDIRSTOMAKE": "/Users/pablo/.asdf/installs/python/3.12.8/include /Users/pablo/.asdf/installs/python/3.12.8/include /Users/pablo/.asdf/installs/python/3.12.8/include/python3.12 /Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "INCLUDEDIR": "/Users/pablo/.asdf/installs/python/3.12.8/include", + "INCLUDEPY": "/Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "INSTALL": "/opt/homebrew/bin/ginstall -c", + "INSTALL_DATA": "/opt/homebrew/bin/ginstall -c -m 644", + "INSTALL_PROGRAM": "/opt/homebrew/bin/ginstall -c", + "INSTALL_SCRIPT": "/opt/homebrew/bin/ginstall -c", + "INSTALL_SHARED": "/opt/homebrew/bin/ginstall -c -m 755", + "INSTSONAME": "libpython3.12.dylib", + "IO_H": "Modules/_io/_iomodule.h", + "IO_OBJS": "\\", + "LDCXXSHARED": "clang++ -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDFLAGS_NODIST": "", + "LDLIBRARY": "libpython3.12.dylib", + "LDLIBRARYDIR": "", + "LDSHARED": "clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDVERSION": "3.12", + "LIBC": "", + "LIBDEST": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "LIBDIR": "/Users/pablo/.asdf/installs/python/3.12.8/lib", + "LIBEXPAT_A": "Modules/expat/libexpat.a", + "LIBEXPAT_CFLAGS": "-I./Modules/expat -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBEXPAT_HEADERS": "\\", + "LIBEXPAT_OBJS": "\\", + "LIBHACL_CFLAGS": "-I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBHACL_HEADERS": "\\", + "LIBHACL_SHA2_A": "Modules/_hacl/libHacl_Hash_SHA2.a", + "LIBHACL_SHA2_HEADERS": "\\", + "LIBHACL_SHA2_OBJS": "\\", + "LIBM": "", + "LIBMPDEC_A": "Modules/_decimal/libmpdec/libmpdec.a", + "LIBMPDEC_CFLAGS": "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1 -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBMPDEC_HEADERS": "\\", + "LIBMPDEC_OBJS": "\\", + "LIBOBJDIR": "Python/", + "LIBOBJS": "", + "LIBPC": "/Users/pablo/.asdf/installs/python/3.12.8/lib/pkgconfig", + "LIBPL": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/config-3.12-darwin", + "LIBPYTHON": "", + "LIBRARY": "libpython3.12.a", + "LIBRARY_DEPS": "libpython3.12.a libpython3.12.dylib", + "LIBRARY_OBJS": "\\", + "LIBRARY_OBJS_OMIT_FROZEN": "\\", + "LIBS": "-lintl -ldl -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -framework CoreFoundation", + "LIBSUBDIRS": "asyncio \\", + "LINKCC": "clang", + "LINKFORSHARED": "-Wl,-stack_size,1000000 -framework CoreFoundation", + "LINK_PYTHON_DEPS": "libpython3.12.a libpython3.12.dylib", + "LINK_PYTHON_OBJS": "-L. -lpython3.12", + "LIPO_32BIT_FLAGS": "", + "LIPO_INTEL64_FLAGS": "", + "LLVM_PROF_ERR": "no", + "LLVM_PROF_FILE": "LLVM_PROFILE_FILE=\"$(shell pwd)/code-%p.profclangr\"", + "LLVM_PROF_MERGER": "/usr/bin/xcrun llvm-profdata merge -output=\"$(shell pwd)/code.profclangd\" \"$(shell pwd)\"/*.profclangr", + "LN": "ln", + "LOCALMODLIBS": "", + "MACHDEP": "darwin", + "MACHDEP_OBJS": "", + "MACHDESTLIB": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "MACOSX_DEPLOYMENT_TARGET": "15.1", + "MAJOR_IN_MKDEV": 0, + "MAJOR_IN_SYSMACROS": 0, + "MAKESETUP": "./Modules/makesetup", + "MANDIR": "/Users/pablo/.asdf/installs/python/3.12.8/share/man", + "MKDIR_P": "/opt/homebrew/bin/gmkdir -p", + "MODBUILT_NAMES": "array _asyncio _bisect _contextvars _csv _heapq _json _lsprof _opcode _pickle _queue _random _struct _xxsubinterpreters _xxinterpchannels _zoneinfo audioop math cmath _statistics _datetime _decimal binascii _bz2 _lzma zlib _dbm readline _md5 _sha1 _sha2 _sha3 _blake2 pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata _crypt fcntl grp mmap nis _posixsubprocess resource select _socket syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _scproxy xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35 atexit faulthandler posix _signal _tracemalloc _codecs _collections errno _io itertools _sre _thread time _typing _weakref _abc _functools _locale _operator _stat _symtable pwd", + "MODDISABLED_NAMES": "", + "MODLIBS": "", + "MODOBJS": "Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_threadmodule.o Modules/timemodule.o Modules/_typingmodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/pwdmodule.o", + "MODSHARED_NAMES": "array _asyncio _bisect _contextvars _csv _heapq _json _lsprof _opcode _pickle _queue _random _struct _xxsubinterpreters _xxinterpchannels _zoneinfo audioop math cmath _statistics _datetime _decimal binascii _bz2 _lzma zlib _dbm readline _md5 _sha1 _sha2 _sha3 _blake2 pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata _crypt fcntl grp mmap nis _posixsubprocess resource select _socket syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _scproxy xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35", + "MODULE_ARRAY_STATE": "yes", + "MODULE_ATEXIT_LDFLAGS": "", + "MODULE_AUDIOOP_LDFLAGS": "", + "MODULE_AUDIOOP_STATE": "yes", + "MODULE_BINASCII_CFLAGS": "-DUSE_ZLIB_CRC32", + "MODULE_BINASCII_LDFLAGS": "-lz", + "MODULE_BINASCII_STATE": "yes", + "MODULE_CMATH_DEPS": "./Modules/_math.h", + "MODULE_CMATH_LDFLAGS": "", + "MODULE_CMATH_STATE": "yes", + "MODULE_DEPS_SHARED": "Modules/config.c", + "MODULE_DEPS_STATIC": "Modules/config.c", + "MODULE_ERRNO_LDFLAGS": "", + "MODULE_FAULTHANDLER_LDFLAGS": "", + "MODULE_FCNTL_LDFLAGS": "", + "MODULE_FCNTL_STATE": "yes", + "MODULE_GRP_STATE": "yes", + "MODULE_ITERTOOLS_LDFLAGS": "", + "MODULE_MATH_DEPS": "./Modules/_math.h", + "MODULE_MATH_LDFLAGS": "", + "MODULE_MATH_STATE": "yes", + "MODULE_MMAP_STATE": "yes", + "MODULE_NIS_CFLAGS": "", + "MODULE_NIS_LDFLAGS": "", + "MODULE_NIS_STATE": "yes", + "MODULE_OBJS": "\\", + "MODULE_OSSAUDIODEV_STATE": "n/a", + "MODULE_POSIX_LDFLAGS": "", + "MODULE_PWD_LDFLAGS": "", + "MODULE_PWD_STATE": "yes", + "MODULE_PYEXPAT_CFLAGS": "-I./Modules/expat", + "MODULE_PYEXPAT_DEPS": "\\ Modules/expat/libexpat.a", + "MODULE_PYEXPAT_LDFLAGS": "-lm Modules/expat/libexpat.a", + "MODULE_PYEXPAT_STATE": "yes", + "MODULE_READLINE_CFLAGS": "", + "MODULE_READLINE_LDFLAGS": "-lreadline", + "MODULE_READLINE_STATE": "yes", + "MODULE_RESOURCE_STATE": "yes", + "MODULE_SELECT_STATE": "yes", + "MODULE_SPWD_STATE": "n/a", + "MODULE_SYSLOG_STATE": "yes", + "MODULE_TERMIOS_STATE": "yes", + "MODULE_TIME_LDFLAGS": "", + "MODULE_TIME_STATE": "yes", + "MODULE_UNICODEDATA_DEPS": "./Modules/unicodedata_db.h ./Modules/unicodename_db.h", + "MODULE_UNICODEDATA_STATE": "yes", + "MODULE_XXLIMITED_35_STATE": "yes", + "MODULE_XXLIMITED_STATE": "yes", + "MODULE_XXSUBTYPE_STATE": "yes", + "MODULE_ZLIB_CFLAGS": "", + "MODULE_ZLIB_LDFLAGS": "-lz", + "MODULE_ZLIB_STATE": "yes", + "MODULE__ABC_LDFLAGS": "", + "MODULE__ASYNCIO_STATE": "yes", + "MODULE__BISECT_STATE": "yes", + "MODULE__BLAKE2_CFLAGS": "", + "MODULE__BLAKE2_DEPS": "./Modules/_blake2/impl/blake2-config.h ./Modules/_blake2/impl/blake2-impl.h ./Modules/_blake2/impl/blake2.h ./Modules/_blake2/impl/blake2b-load-sse2.h ./Modules/_blake2/impl/blake2b-load-sse41.h ./Modules/_blake2/impl/blake2b-ref.c ./Modules/_blake2/impl/blake2b-round.h ./Modules/_blake2/impl/blake2b.c ./Modules/_blake2/impl/blake2s-load-sse2.h ./Modules/_blake2/impl/blake2s-load-sse41.h ./Modules/_blake2/impl/blake2s-load-xop.h ./Modules/_blake2/impl/blake2s-ref.c ./Modules/_blake2/impl/blake2s-round.h ./Modules/_blake2/impl/blake2s.c ./Modules/_blake2/blake2module.h ./Modules/hashlib.h", + "MODULE__BLAKE2_LDFLAGS": "", + "MODULE__BLAKE2_STATE": "yes", + "MODULE__BZ2_CFLAGS": "", + "MODULE__BZ2_LDFLAGS": "-lbz2", + "MODULE__BZ2_STATE": "yes", + "MODULE__CODECS_CN_DEPS": "./Modules/cjkcodecs/mappings_cn.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_CN_STATE": "yes", + "MODULE__CODECS_HK_DEPS": "./Modules/cjkcodecs/mappings_hk.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_HK_STATE": "yes", + "MODULE__CODECS_ISO2022_DEPS": "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_ISO2022_STATE": "yes", + "MODULE__CODECS_JP_DEPS": "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/mappings_jp.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_JP_STATE": "yes", + "MODULE__CODECS_KR_DEPS": "./Modules/cjkcodecs/mappings_kr.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_KR_STATE": "yes", + "MODULE__CODECS_LDFLAGS": "", + "MODULE__CODECS_TW_DEPS": "./Modules/cjkcodecs/mappings_tw.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_TW_STATE": "yes", + "MODULE__COLLECTIONS_LDFLAGS": "", + "MODULE__CONTEXTVARS_STATE": "yes", + "MODULE__CRYPT_CFLAGS": "", + "MODULE__CRYPT_LDFLAGS": "", + "MODULE__CRYPT_STATE": "yes", + "MODULE__CSV_STATE": "yes", + "MODULE__CTYPES_CFLAGS": "-fno-strict-overflow -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi -DUSING_APPLE_OS_LIBFFI=1 -DUSING_MALLOC_CLOSURE_DOT_C=1", + "MODULE__CTYPES_DEPS": "./Modules/_ctypes/ctypes.h", + "MODULE__CTYPES_LDFLAGS": "-lffi -ldl", + "MODULE__CTYPES_MALLOC_CLOSURE": "_ctypes/malloc_closure.c", + "MODULE__CTYPES_STATE": "yes", + "MODULE__CTYPES_TEST_LDFLAGS": "", + "MODULE__CTYPES_TEST_STATE": "yes", + "MODULE__CURSES_CFLAGS": "-D_XOPEN_SOURCE_EXTENDED=1", + "MODULE__CURSES_LDFLAGS": "-lncurses", + "MODULE__CURSES_PANEL_CFLAGS": "-D_XOPEN_SOURCE_EXTENDED=1", + "MODULE__CURSES_PANEL_LDFLAGS": "-lpanel -lncurses", + "MODULE__CURSES_PANEL_STATE": "yes", + "MODULE__CURSES_STATE": "yes", + "MODULE__DATETIME_LDFLAGS": "", + "MODULE__DATETIME_STATE": "yes", + "MODULE__DBM_CFLAGS": "-DUSE_NDBM", + "MODULE__DBM_LDFLAGS": "", + "MODULE__DBM_STATE": "yes", + "MODULE__DECIMAL_CFLAGS": "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1", + "MODULE__DECIMAL_DEPS": "./Modules/_decimal/docstrings.h \\ Modules/_decimal/libmpdec/libmpdec.a", + "MODULE__DECIMAL_LDFLAGS": "-lm Modules/_decimal/libmpdec/libmpdec.a", + "MODULE__DECIMAL_STATE": "yes", + "MODULE__ELEMENTTREE_CFLAGS": "-I./Modules/expat", + "MODULE__ELEMENTTREE_DEPS": "./Modules/pyexpat.c \\ Modules/expat/libexpat.a", + "MODULE__ELEMENTTREE_STATE": "yes", + "MODULE__FUNCTOOLS_LDFLAGS": "", + "MODULE__GDBM_STATE": "missing", + "MODULE__HASHLIB_CFLAGS": "-I/opt/homebrew/opt/openssl@3/include", + "MODULE__HASHLIB_DEPS": "./Modules/hashlib.h", + "MODULE__HASHLIB_LDFLAGS": "-L/opt/homebrew/opt/openssl@3/lib -lcrypto", + "MODULE__HASHLIB_STATE": "yes", + "MODULE__HEAPQ_STATE": "yes", + "MODULE__IO_CFLAGS": "-I./Modules/_io", + "MODULE__IO_DEPS": "./Modules/_io/_iomodule.h", + "MODULE__IO_LDFLAGS": "", + "MODULE__IO_STATE": "yes", + "MODULE__JSON_STATE": "yes", + "MODULE__LOCALE_LDFLAGS": "", + "MODULE__LSPROF_STATE": "yes", + "MODULE__LZMA_CFLAGS": "", + "MODULE__LZMA_LDFLAGS": "-llzma", + "MODULE__LZMA_STATE": "yes", + "MODULE__MD5_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__MD5_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_MD5.h Modules/_hacl/Hacl_Hash_MD5.c", + "MODULE__MD5_STATE": "yes", + "MODULE__MULTIBYTECODEC_DEPS": "./Modules/cjkcodecs/multibytecodec.h", + "MODULE__MULTIBYTECODEC_STATE": "yes", + "MODULE__MULTIPROCESSING_CFLAGS": "-I./Modules/_multiprocessing", + "MODULE__MULTIPROCESSING_STATE": "yes", + "MODULE__OPCODE_STATE": "yes", + "MODULE__OPERATOR_LDFLAGS": "", + "MODULE__PICKLE_STATE": "yes", + "MODULE__POSIXSHMEM_CFLAGS": "-I./Modules/_multiprocessing", + "MODULE__POSIXSHMEM_LDFLAGS": "", + "MODULE__POSIXSHMEM_STATE": "yes", + "MODULE__POSIXSUBPROCESS_STATE": "yes", + "MODULE__QUEUE_STATE": "yes", + "MODULE__RANDOM_STATE": "yes", + "MODULE__SCPROXY_LDFLAGS": "-framework SystemConfiguration -framework CoreFoundation", + "MODULE__SCPROXY_STATE": "yes", + "MODULE__SHA1_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__SHA1_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_SHA1.h Modules/_hacl/Hacl_Hash_SHA1.c", + "MODULE__SHA1_STATE": "yes", + "MODULE__SHA2_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__SHA2_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/libHacl_Hash_SHA2.a", + "MODULE__SHA2_STATE": "yes", + "MODULE__SHA3_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_SHA3.h Modules/_hacl/Hacl_Hash_SHA3.c", + "MODULE__SHA3_STATE": "yes", + "MODULE__SIGNAL_LDFLAGS": "", + "MODULE__SOCKET_DEPS": "./Modules/socketmodule.h ./Modules/addrinfo.h ./Modules/getaddrinfo.c ./Modules/getnameinfo.c", + "MODULE__SOCKET_STATE": "yes", + "MODULE__SQLITE3_CFLAGS": "-I./Modules/_sqlite", + "MODULE__SQLITE3_DEPS": "./Modules/_sqlite/connection.h ./Modules/_sqlite/cursor.h ./Modules/_sqlite/microprotocols.h ./Modules/_sqlite/module.h ./Modules/_sqlite/prepare_protocol.h ./Modules/_sqlite/row.h ./Modules/_sqlite/util.h", + "MODULE__SQLITE3_LDFLAGS": "-lsqlite3", + "MODULE__SQLITE3_STATE": "yes", + "MODULE__SRE_LDFLAGS": "", + "MODULE__SSL_CFLAGS": "-I/opt/homebrew/opt/openssl@3/include", + "MODULE__SSL_DEPS": "./Modules/_ssl.h ./Modules/_ssl/cert.c ./Modules/_ssl/debughelpers.c ./Modules/_ssl/misc.c ./Modules/_ssl_data.h ./Modules/_ssl_data_111.h ./Modules/_ssl_data_300.h ./Modules/socketmodule.h", + "MODULE__SSL_LDFLAGS": "-L/opt/homebrew/opt/openssl@3/lib -lssl -lcrypto", + "MODULE__SSL_STATE": "yes", + "MODULE__STATISTICS_LDFLAGS": "", + "MODULE__STATISTICS_STATE": "yes", + "MODULE__STAT_LDFLAGS": "", + "MODULE__STRUCT_STATE": "yes", + "MODULE__SYMTABLE_LDFLAGS": "", + "MODULE__TESTBUFFER_STATE": "yes", + "MODULE__TESTCAPI_DEPS": "./Modules/_testcapi/testcapi_long.h ./Modules/_testcapi/parts.h ./Modules/_testcapi/util.h", + "MODULE__TESTCAPI_STATE": "yes", + "MODULE__TESTCLINIC_STATE": "yes", + "MODULE__TESTIMPORTMULTIPLE_STATE": "yes", + "MODULE__TESTINTERNALCAPI_STATE": "yes", + "MODULE__TESTMULTIPHASE_STATE": "yes", + "MODULE__THREAD_LDFLAGS": "", + "MODULE__TKINTER_STATE": "missing", + "MODULE__TRACEMALLOC_LDFLAGS": "", + "MODULE__TYPING_LDFLAGS": "", + "MODULE__TYPING_STATE": "yes", + "MODULE__UUID_CFLAGS": "", + "MODULE__UUID_LDFLAGS": "", + "MODULE__UUID_STATE": "yes", + "MODULE__WEAKREF_LDFLAGS": "", + "MODULE__XXINTERPCHANNELS_STATE": "yes", + "MODULE__XXSUBINTERPRETERS_STATE": "yes", + "MODULE__XXTESTFUZZ_STATE": "yes", + "MODULE__ZONEINFO_STATE": "yes", + "MULTIARCH": "darwin", + "MULTIARCH_CPPFLAGS": "-DMULTIARCH=\\\"darwin\\\"", + "MVWDELCH_IS_EXPRESSION": 1, + "NO_AS_NEEDED": "", + "OBJECT_OBJS": "\\", + "OPT": "-DNDEBUG -g -O3 -Wall", + "PACKAGE_BUGREPORT": 0, + "PACKAGE_NAME": 0, + "PACKAGE_STRING": 0, + "PACKAGE_TARNAME": 0, + "PACKAGE_URL": 0, + "PACKAGE_VERSION": 0, + "PARSER_HEADERS": "\\", + "PARSER_OBJS": "\\ \\ Parser/myreadline.o Parser/tokenizer.o", + "PEGEN_HEADERS": "\\", + "PEGEN_OBJS": "\\", + "PGO_PROF_GEN_FLAG": "-fprofile-instr-generate", + "PGO_PROF_USE_FLAG": "-fprofile-instr-use=\"$(shell pwd)/code.profclangd\"", + "PLATLIBDIR": "lib", + "POBJS": "\\", + "POSIX_SEMAPHORES_NOT_ENABLED": 0, + "PROFILE_TASK": "-m test --pgo --timeout=1200", + "PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT": 0, + "PTHREAD_SYSTEM_SCHED_SUPPORTED": 1, + "PURIFY": "", + "PY3LIBRARY": "", + "PYLONG_BITS_IN_DIGIT": 0, + "PYTHON": "python", + "PYTHONFRAMEWORK": "", + "PYTHONFRAMEWORKDIR": "no-framework", + "PYTHONFRAMEWORKINSTALLDIR": "", + "PYTHONFRAMEWORKPREFIX": "", + "PYTHONPATH": "", + "PYTHON_FOR_BUILD": "./python.exe -E", + "PYTHON_FOR_BUILD_DEPS": "python.exe", + "PYTHON_FOR_FREEZE": "./_bootstrap_python", + "PYTHON_FOR_REGEN": "", + "PYTHON_HEADERS": "\\", + "PYTHON_OBJS": "\\", + "PY_BUILTIN_HASHLIB_HASHES": "\"md5,sha1,sha2,sha3,blake2\"", + "PY_BUILTIN_MODULE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -DPy_BUILD_CORE_BUILTIN", + "PY_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall", + "PY_CFLAGS_NODIST": "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal", + "PY_COERCE_C_LOCALE": 1, + "PY_CORE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -DPy_BUILD_CORE", + "PY_CORE_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_CPPFLAGS": "-I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "PY_ENABLE_SHARED": 1, + "PY_HAVE_PERF_TRAMPOLINE": 0, + "PY_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_LDFLAGS_NODIST": "", + "PY_LDFLAGS_NOLTO": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_SQLITE_ENABLE_LOAD_EXTENSION": 0, + "PY_SQLITE_HAVE_SERIALIZE": 1, + "PY_SSL_DEFAULT_CIPHERS": 1, + "PY_SSL_DEFAULT_CIPHER_STRING": 0, + "PY_STDMODULE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "PY_SUPPORT_TIER": 2, + "Py_DEBUG": 0, + "Py_ENABLE_SHARED": 1, + "Py_HASH_ALGORITHM": 0, + "Py_STATS": 0, + "Py_SUNOS_VERSION": 0, + "Py_TRACE_REFS": 0, + "QUICKTESTOPTS": "-x test_subprocess test_io test_lib2to3 \\", + "READELF": "@READELF@", + "RESSRCDIR": "Mac/Resources/framework", + "RETSIGTYPE": "void", + "RUNSHARED": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "SCRIPTDIR": "/Users/pablo/.asdf/installs/python/3.12.8/lib", + "SCRIPT_2TO3": "build/scripts-3.12/2to3-3.12", + "SCRIPT_IDLE": "build/scripts-3.12/idle3.12", + "SCRIPT_PYDOC": "build/scripts-3.12/pydoc3.12", + "SETPGRP_HAVE_ARG": 0, + "SHAREDMODS": "Modules/array.cpython-312-darwin.so Modules/_asyncio.cpython-312-darwin.so Modules/_bisect.cpython-312-darwin.so Modules/_contextvars.cpython-312-darwin.so Modules/_csv.cpython-312-darwin.so Modules/_heapq.cpython-312-darwin.so Modules/_json.cpython-312-darwin.so Modules/_lsprof.cpython-312-darwin.so Modules/_opcode.cpython-312-darwin.so Modules/_pickle.cpython-312-darwin.so Modules/_queue.cpython-312-darwin.so Modules/_random.cpython-312-darwin.so Modules/_struct.cpython-312-darwin.so Modules/_xxsubinterpreters.cpython-312-darwin.so Modules/_xxinterpchannels.cpython-312-darwin.so Modules/_zoneinfo.cpython-312-darwin.so Modules/audioop.cpython-312-darwin.so Modules/math.cpython-312-darwin.so Modules/cmath.cpython-312-darwin.so Modules/_statistics.cpython-312-darwin.so Modules/_datetime.cpython-312-darwin.so Modules/_decimal.cpython-312-darwin.so Modules/binascii.cpython-312-darwin.so Modules/_bz2.cpython-312-darwin.so Modules/_lzma.cpython-312-darwin.so Modules/zlib.cpython-312-darwin.so Modules/_dbm.cpython-312-darwin.so Modules/readline.cpython-312-darwin.so Modules/_md5.cpython-312-darwin.so Modules/_sha1.cpython-312-darwin.so Modules/_sha2.cpython-312-darwin.so Modules/_sha3.cpython-312-darwin.so Modules/_blake2.cpython-312-darwin.so Modules/pyexpat.cpython-312-darwin.so Modules/_elementtree.cpython-312-darwin.so Modules/_codecs_cn.cpython-312-darwin.so Modules/_codecs_hk.cpython-312-darwin.so Modules/_codecs_iso2022.cpython-312-darwin.so Modules/_codecs_jp.cpython-312-darwin.so Modules/_codecs_kr.cpython-312-darwin.so Modules/_codecs_tw.cpython-312-darwin.so Modules/_multibytecodec.cpython-312-darwin.so Modules/unicodedata.cpython-312-darwin.so Modules/_crypt.cpython-312-darwin.so Modules/fcntl.cpython-312-darwin.so Modules/grp.cpython-312-darwin.so Modules/mmap.cpython-312-darwin.so Modules/nis.cpython-312-darwin.so Modules/_posixsubprocess.cpython-312-darwin.so Modules/resource.cpython-312-darwin.so Modules/select.cpython-312-darwin.so Modules/_socket.cpython-312-darwin.so Modules/syslog.cpython-312-darwin.so Modules/termios.cpython-312-darwin.so Modules/_posixshmem.cpython-312-darwin.so Modules/_multiprocessing.cpython-312-darwin.so Modules/_ctypes.cpython-312-darwin.so Modules/_curses.cpython-312-darwin.so Modules/_curses_panel.cpython-312-darwin.so Modules/_sqlite3.cpython-312-darwin.so Modules/_ssl.cpython-312-darwin.so Modules/_hashlib.cpython-312-darwin.so Modules/_uuid.cpython-312-darwin.so Modules/_scproxy.cpython-312-darwin.so Modules/xxsubtype.cpython-312-darwin.so Modules/_xxtestfuzz.cpython-312-darwin.so Modules/_testbuffer.cpython-312-darwin.so Modules/_testinternalcapi.cpython-312-darwin.so Modules/_testcapi.cpython-312-darwin.so Modules/_testclinic.cpython-312-darwin.so Modules/_testimportmultiple.cpython-312-darwin.so Modules/_testmultiphase.cpython-312-darwin.so Modules/_testsinglephase.cpython-312-darwin.so Modules/_ctypes_test.cpython-312-darwin.so Modules/xxlimited.cpython-312-darwin.so Modules/xxlimited_35.cpython-312-darwin.so", + "SHELL": "/bin/sh -e", + "SHLIBS": "-lintl -ldl -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -framework CoreFoundation", + "SHLIB_SUFFIX": ".so", + "SIGNED_RIGHT_SHIFT_ZERO_FILLS": 0, + "SITEPATH": "", + "SIZEOF_DOUBLE": 8, + "SIZEOF_FLOAT": 4, + "SIZEOF_FPOS_T": 8, + "SIZEOF_INT": 4, + "SIZEOF_LONG": 8, + "SIZEOF_LONG_DOUBLE": 8, + "SIZEOF_LONG_LONG": 8, + "SIZEOF_OFF_T": 8, + "SIZEOF_PID_T": 4, + "SIZEOF_PTHREAD_KEY_T": 8, + "SIZEOF_PTHREAD_T": 8, + "SIZEOF_SHORT": 2, + "SIZEOF_SIZE_T": 8, + "SIZEOF_TIME_T": 8, + "SIZEOF_UINTPTR_T": 8, + "SIZEOF_VOID_P": 8, + "SIZEOF_WCHAR_T": 4, + "SIZEOF__BOOL": 1, + "SOABI": "cpython-312-darwin", + "SRCDIRS": "Modules Modules/_blake2 Modules/_ctypes Modules/_decimal Modules/_decimal/libmpdec Modules/_hacl Modules/_io Modules/_multiprocessing Modules/_sqlite Modules/_sre Modules/_testcapi Modules/_xxtestfuzz Modules/cjkcodecs Modules/expat Objects Parser Programs Python Python/frozen_modules Python/deepfreeze", + "SRC_GDB_HOOKS": "./Tools/gdb/libpython.py", + "STATIC_LIBPYTHON": 1, + "STDC_HEADERS": 1, + "STRICT_SYSV_CURSES": "/* Don't use ncurses extensions */", + "STRIPFLAG": "-s", + "SUBDIRS": "", + "SUBDIRSTOO": "Include Lib Misc", + "SYSLIBS": "", + "SYS_SELECT_WITH_SYS_TIME": 1, + "TESTOPTS": "", + "TESTPATH": "", + "TESTPYTHON": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8 ./python.exe -E", + "TESTPYTHONOPTS": "", + "TESTRUNNER": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8 ./python.exe -E ./Tools/scripts/run_tests.py", + "TESTSUBDIRS": "idlelib/idle_test \\", + "TESTTIMEOUT": 1200, + "TEST_MODULES": "yes", + "THREAD_STACK_SIZE": "0x1000000", + "TIMEMODULE_LIB": 0, + "TM_IN_SYS_TIME": 0, + "TZPATH": "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo", + "UNICODE_DEPS": "\\", + "UNIVERSALSDK": "", + "UPDATE_FILE": "./Tools/build/update_file.py", + "USE_COMPUTED_GOTOS": 0, + "VERSION": "3.12", + "WASM_ASSETS_DIR": "./Users/pablo/.asdf/installs/python/3.12.8", + "WASM_STDLIB": "./Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/os.py", + "WHEEL_PKG_DIR": "", + "WINDOW_HAS_FLAGS": 0, + "WITH_DECIMAL_CONTEXTVAR": 1, + "WITH_DOC_STRINGS": 1, + "WITH_DTRACE": 0, + "WITH_DYLD": 1, + "WITH_EDITLINE": 0, + "WITH_FREELISTS": 1, + "WITH_LIBINTL": 1, + "WITH_NEXT_FRAMEWORK": 0, + "WITH_PYMALLOC": 1, + "WITH_VALGRIND": 0, + "X87_DOUBLE_ROUNDING": 0, + "XMLLIBSUBDIRS": "xml xml/dom xml/etree xml/parsers xml/sax", + "abs_builddir": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "abs_srcdir": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "datarootdir": "/Users/pablo/.asdf/installs/python/3.12.8/share", + "srcdir": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/config-3.12-darwin", + "userbase": "/Users/pablo/.local" + }, + "dependencies": { + "python-binance": "1.0.27", + "dateparser": "1.2.0", + "shellingham": "1.5.4", + "opentelemetry-api": "1.29.0", + "langchain-anthropic": "0.3.3", + "Pygments": "2.19.1", + "pycodestyle": "2.12.1", + "pandas": "2.2.3", + "importlib_metadata": "8.5.0", + "filelock": "3.16.1", + "idna": "3.10", + "langsmith": "0.2.11", + "msal-extensions": "1.2.0", + "aioresponses": "0.7.7", + "pydub": "0.25.1", + "pytest-cov": "6.0.0", + "ujson": "5.10.0", + "distlib": "0.3.9", + "python-socks": "2.5.3", + "pip": "24.3.1", + "multidict": "6.1.0", + "pytest-flake8": "1.3.0", + "fastapi": "0.115.6", + "pillow": "11.1.0", + "lxml": "5.3.0", + "pyproject-api": "1.8.0", + "langgraph-checkpoint": "2.0.10", + "urllib3": "2.2.3", + "colorama": "0.4.6", + "uvicorn": "0.34.0", + "zipp": "3.21.0", + "typer": "0.15.1", + "ruff": "0.8.4", + "setuptools": "75.6.0", + "msgpack": "1.1.0", + "flake8": "7.1.1", + "pycryptodome": "3.21.0", + "defusedxml": "0.7.1", + "autogen-ext": "0.4.2", + "requests": "2.32.3", + "frozenlist": "1.5.0", + "openpyxl": "3.1.5", + "psycopg": "3.2.4", + "soupsieve": "2.6", + "anthropic": "0.43.1", + "markdown-it-py": "3.0.0", + "pytest": "8.3.4", + "puremagic": "1.28", + "mammoth": "1.9.0", + "h11": "0.14.0", + "magentic-one-cli": "0.2.2", + "pyee": "12.0.0", + "python-pptx": "1.0.2", + "msal": "1.31.1", + "et_xmlfile": "2.0.0", + "protobuf": "4.25.5", + "autogen-core": "0.4.2", + "aiohttp": "3.10.11", + "markdownify": "0.14.1", + "pathvalidate": "3.2.3", + "iniconfig": "2.0.0", + "rich": "13.9.4", + "tqdm": "4.67.1", + "autogenstudio": "0.4.0.3", + "Mako": "1.3.8", + "jsonpatch": "1.33", + "click": "8.1.8", + "jsonpointer": "3.0.0", + "numpy": "1.26.4", + "ccxt": "4.4.57", + "tenacity": "9.0.0", + "cffi": "1.17.1", + "openai": "1.58.1", + "propcache": "0.2.1", + "autogen-agentchat": "0.4.2", + "cachetools": "5.5.0", + "portalocker": "2.10.1", + "youtube-transcript-api": "0.6.3", + "PyJWT": "2.10.1", + "XlsxWriter": "3.2.0", + "langchain-core": "0.3.30", + "psutil": "6.1.1", + "aiofiles": "24.1.0", + "python-dotenv": "1.0.1", + "websockets_proxy": "0.1.3", + "regex": "2024.11.6", + "loguru": "0.7.3", + "pyright": "1.1.391", + "sniffio": "1.3.1", + "nodeenv": "1.9.1", + "mdurl": "0.1.2", + "python-dateutil": "2.9.0.post0", + "aiodns": "3.2.0", + "pytz": "2024.2", + "yarl": "1.18.3", + "mccabe": "0.7.0", + "jsonref": "1.1.0", + "Deprecated": "1.2.15", + "packaging": "24.2", + "SpeechRecognition": "3.14.0", + "cobble": "0.1.4", + "sqlmodel": "0.0.22", + "tzlocal": "5.2", + "chardet": "5.2.0", + "pytest-codspeed": "3.2.0", + "pydantic_core": "2.27.2", + "coverage": "7.6.9", + "httpcore": "1.0.7", + "tox": "4.23.2", + "pycparser": "2.22", + "websockets": "14.1", + "langgraph": "0.2.64", + "pydantic": "2.10.4", + "pytest-benchmark": "5.1.0", + "pluggy": "1.5.0", + "playwright": "1.49.1", + "pytest-asyncio": "0.25.0", + "starlette": "0.41.3", + "markitdown": "0.0.1a3", + "alembic": "1.14.0", + "distro": "1.9.0", + "pdfminer.six": "20240706", + "SQLAlchemy": "2.0.37", + "jiter": "0.8.2", + "cryptography": "44.0.0", + "pydantic-settings": "2.7.1", + "requests-toolbelt": "1.0.0", + "wrapt": "1.17.2", + "bs4": "0.0.2", + "py-cpuinfo": "9.0.0", + "aiosignal": "1.3.2", + "typing_extensions": "4.12.2", + "PyYAML": "6.0.2", + "httpx": "0.28.1", + "attrs": "24.3.0", + "anyio": "4.7.0", + "azure-core": "1.32.0", + "charset-normalizer": "3.4.0", + "langgraph-sdk": "0.1.51", + "tzdata": "2024.2", + "tiktoken": "0.8.0", + "beautifulsoup4": "4.12.3", + "aiohappyeyeballs": "2.4.4", + "platformdirs": "4.3.6", + "pycares": "4.5.0", + "annotated-types": "0.7.0", + "certifi": "2024.12.14", + "virtualenv": "20.28.0", + "six": "1.17.0", + "greenlet": "3.1.1", + "requests-mock": "1.12.1", + "pyflakes": "3.2.0", + "azure-identity": "1.19.0", + "MarkupSafe": "3.0.2" + } + }, + "instrument": { + "type": "walltime", + "clock_info": { + "implementation": "mach_absolute_time()", + "monotonic": true, + "adjustable": false, + "resolution": 4.166666666666667e-08 + } + }, + "benchmarks": [] +} diff --git a/.codspeed/results_1740208367753.json b/.codspeed/results_1740208367753.json new file mode 100644 index 00000000..45cf00d2 --- /dev/null +++ b/.codspeed/results_1740208367753.json @@ -0,0 +1,1205 @@ +{ + "creator": { + "name": "pytest-codspeed", + "version": "3.2.0", + "pid": 85955 + }, + "python": { + "sysconfig": { + "prefix": "/Users/pablo/.asdf/installs/python/3.12.8", + "exec_prefix": "/Users/pablo/.asdf/installs/python/3.12.8", + "py_version": "3.12.8", + "py_version_short": "3.12", + "py_version_nodot": "312", + "installed_base": "/Users/pablo/.asdf/installs/python/3.12.8", + "base": "/Users/pablo/.asdf/installs/python/3.12.8", + "installed_platbase": "/Users/pablo/.asdf/installs/python/3.12.8", + "platbase": "/Users/pablo/.asdf/installs/python/3.12.8", + "projectbase": "/Users/pablo/.asdf/installs/python/3.12.8/bin", + "platlibdir": "lib", + "abiflags": "", + "py_version_nodot_plat": "", + "ABIFLAGS": "", + "AC_APPLE_UNIVERSAL_BUILD": 0, + "AIX_BUILDDATE": 0, + "AIX_GENUINE_CPLUSPLUS": 0, + "ALIGNOF_LONG": 8, + "ALIGNOF_MAX_ALIGN_T": 8, + "ALIGNOF_SIZE_T": 8, + "ALT_SOABI": 0, + "ANDROID_API_LEVEL": 0, + "AR": "ar", + "ARFLAGS": "rcs", + "BASECFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code", + "BASECPPFLAGS": "", + "BASEMODLIBS": "", + "BINDIR": "/Users/pablo/.asdf/installs/python/3.12.8/bin", + "BINLIBDEST": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "BLDLIBRARY": "-L. -lpython3.12", + "BLDSHARED": "clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "BOOTSTRAP_HEADERS": "\\", + "BUILDEXE": ".exe", + "BUILDPYTHON": "python.exe", + "BUILD_GNU_TYPE": "aarch64-apple-darwin24.1.0", + "BUILD_SCRIPTS_DIR": "build/scripts-3.12", + "BYTESTR_DEPS": "\\", + "CC": "clang", + "CCSHARED": "", + "CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall", + "CFLAGSFORSHARED": "", + "CFLAGS_ALIASING": "-fno-strict-aliasing", + "CFLAGS_NODIST": "", + "CODECS_COMMON_HEADERS": "./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "COMPILEALL_OPTS": "-j0", + "CONFIGFILES": "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in", + "CONFIGURE_CFLAGS": "", + "CONFIGURE_CFLAGS_NODIST": "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden", + "CONFIGURE_CPPFLAGS": "-I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "CONFIGURE_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "CONFIGURE_LDFLAGS_NODIST": "", + "CONFIGURE_LDFLAGS_NOLTO": "", + "CONFIG_ARGS": "'--prefix=/Users/pablo/.asdf/installs/python/3.12.8' '--enable-shared' '--libdir=/Users/pablo/.asdf/installs/python/3.12.8/lib' '--with-openssl=/opt/homebrew/opt/openssl@3' 'PKG_CONFIG_PATH=/opt/homebrew/opt/openssl@3/lib/pkgconfig/:' 'CC=clang' 'LDFLAGS=-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib' 'LIBS=-L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib' 'CPPFLAGS=-I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include'", + "CONFINCLUDEDIR": "/Users/pablo/.asdf/installs/python/3.12.8/include", + "CONFINCLUDEPY": "/Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "COREPYTHONPATH": "", + "COVERAGE_INFO": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8/coverage.info", + "COVERAGE_LCOV_OPTIONS": "--rc lcov_branch_coverage=1", + "COVERAGE_REPORT": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8/lcov-report", + "COVERAGE_REPORT_OPTIONS": "--rc lcov_branch_coverage=1 --branch-coverage --title \"CPython 3.12 LCOV report [commit $(shell )]\"", + "CPPFLAGS": "-I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "CXX": "clang++", + "DEEPFREEZE_C": "Python/deepfreeze/deepfreeze.c", + "DEEPFREEZE_DEPS": "./Tools/build/deepfreeze.py _bootstrap_python ./Programs/_freeze_module.py \\", + "DEEPFREEZE_OBJS": "Python/deepfreeze/deepfreeze.o", + "DESTDIRS": "/Users/pablo/.asdf/installs/python/3.12.8 /Users/pablo/.asdf/installs/python/3.12.8/lib /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12 /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/lib-dynload", + "DESTLIB": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "DESTPATH": "", + "DESTSHARED": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/lib-dynload", + "DFLAGS": "", + "DIRMODE": 755, + "DIST": "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy", + "DISTDIRS": "Include Lib Misc Ext-dummy", + "DISTFILES": "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in", + "DLINCLDIR": ".", + "DLLLIBRARY": "", + "DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754": 0, + "DOUBLE_IS_BIG_ENDIAN_IEEE754": 0, + "DOUBLE_IS_LITTLE_ENDIAN_IEEE754": 1, + "DSYMUTIL": "", + "DSYMUTIL_PATH": "", + "DTRACE": "", + "DTRACE_DEPS": "\\", + "DTRACE_HEADERS": "", + "DTRACE_OBJS": "", + "DYNLOADFILE": "dynload_shlib.o", + "ENABLE_IPV6": 1, + "ENSUREPIP": "upgrade", + "EXE": "", + "EXEMODE": 755, + "EXENAME": "/Users/pablo/.asdf/installs/python/3.12.8/bin/python3.12", + "EXPORTSFROM": "", + "EXPORTSYMS": "", + "EXTRATESTOPTS": "", + "EXTRA_CFLAGS": "", + "EXT_SUFFIX": ".cpython-312-darwin.so", + "FILEMODE": 644, + "FREEZE_MODULE": "./_bootstrap_python ./Programs/_freeze_module.py", + "FREEZE_MODULE_BOOTSTRAP": "./Programs/_freeze_module", + "FREEZE_MODULE_BOOTSTRAP_DEPS": "Programs/_freeze_module", + "FREEZE_MODULE_DEPS": "_bootstrap_python ./Programs/_freeze_module.py", + "FROZEN_FILES_IN": "\\", + "FROZEN_FILES_OUT": "\\", + "GETPGRP_HAVE_ARG": 0, + "GITBRANCH": "", + "GITTAG": "", + "GITVERSION": "", + "GNULD": "no", + "HAVE_ACCEPT": 1, + "HAVE_ACCEPT4": 0, + "HAVE_ACOSH": 1, + "HAVE_ADDRINFO": 1, + "HAVE_ALARM": 1, + "HAVE_ALIGNED_REQUIRED": 0, + "HAVE_ALLOCA_H": 1, + "HAVE_ALTZONE": 0, + "HAVE_ASINH": 1, + "HAVE_ASM_TYPES_H": 0, + "HAVE_ATANH": 1, + "HAVE_BIND": 1, + "HAVE_BIND_TEXTDOMAIN_CODESET": 1, + "HAVE_BLUETOOTH_BLUETOOTH_H": 0, + "HAVE_BLUETOOTH_H": 0, + "HAVE_BROKEN_MBSTOWCS": 0, + "HAVE_BROKEN_NICE": 0, + "HAVE_BROKEN_PIPE_BUF": 0, + "HAVE_BROKEN_POLL": 0, + "HAVE_BROKEN_POSIX_SEMAPHORES": 0, + "HAVE_BROKEN_PTHREAD_SIGMASK": 0, + "HAVE_BROKEN_SEM_GETVALUE": 1, + "HAVE_BROKEN_UNSETENV": 0, + "HAVE_BUILTIN_ATOMIC": 1, + "HAVE_BZLIB_H": 1, + "HAVE_CHFLAGS": 1, + "HAVE_CHMOD": 1, + "HAVE_CHOWN": 1, + "HAVE_CHROOT": 1, + "HAVE_CLOCK": 1, + "HAVE_CLOCK_GETRES": 1, + "HAVE_CLOCK_GETTIME": 1, + "HAVE_CLOCK_NANOSLEEP": 0, + "HAVE_CLOCK_SETTIME": 1, + "HAVE_CLOSE_RANGE": 0, + "HAVE_COMPUTED_GOTOS": 1, + "HAVE_CONFSTR": 1, + "HAVE_CONIO_H": 0, + "HAVE_CONNECT": 1, + "HAVE_COPY_FILE_RANGE": 0, + "HAVE_CRYPT_H": 0, + "HAVE_CRYPT_R": 0, + "HAVE_CTERMID": 1, + "HAVE_CTERMID_R": 1, + "HAVE_CURSES_FILTER": 1, + "HAVE_CURSES_H": 1, + "HAVE_CURSES_HAS_KEY": 1, + "HAVE_CURSES_IMMEDOK": 1, + "HAVE_CURSES_IS_PAD": 1, + "HAVE_CURSES_IS_TERM_RESIZED": 1, + "HAVE_CURSES_RESIZETERM": 1, + "HAVE_CURSES_RESIZE_TERM": 1, + "HAVE_CURSES_SYNCOK": 1, + "HAVE_CURSES_TYPEAHEAD": 1, + "HAVE_CURSES_USE_ENV": 1, + "HAVE_CURSES_WCHGAT": 1, + "HAVE_DB_H": 1, + "HAVE_DECL_RTLD_DEEPBIND": 0, + "HAVE_DECL_RTLD_GLOBAL": 1, + "HAVE_DECL_RTLD_LAZY": 1, + "HAVE_DECL_RTLD_LOCAL": 1, + "HAVE_DECL_RTLD_MEMBER": 0, + "HAVE_DECL_RTLD_NODELETE": 1, + "HAVE_DECL_RTLD_NOLOAD": 1, + "HAVE_DECL_RTLD_NOW": 1, + "HAVE_DECL_TZNAME": 0, + "HAVE_DEVICE_MACROS": 1, + "HAVE_DEV_PTC": 0, + "HAVE_DEV_PTMX": 1, + "HAVE_DIRECT_H": 0, + "HAVE_DIRENT_D_TYPE": 1, + "HAVE_DIRENT_H": 1, + "HAVE_DIRFD": 1, + "HAVE_DLFCN_H": 1, + "HAVE_DLOPEN": 1, + "HAVE_DUP": 1, + "HAVE_DUP2": 1, + "HAVE_DUP3": 0, + "HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH": 1, + "HAVE_DYNAMIC_LOADING": 1, + "HAVE_EDITLINE_READLINE_H": 0, + "HAVE_ENDIAN_H": 0, + "HAVE_EPOLL": 0, + "HAVE_EPOLL_CREATE1": 0, + "HAVE_ERF": 1, + "HAVE_ERFC": 1, + "HAVE_ERRNO_H": 1, + "HAVE_EVENTFD": 0, + "HAVE_EXECV": 1, + "HAVE_EXPLICIT_BZERO": 0, + "HAVE_EXPLICIT_MEMSET": 0, + "HAVE_EXPM1": 1, + "HAVE_FACCESSAT": 1, + "HAVE_FCHDIR": 1, + "HAVE_FCHMOD": 1, + "HAVE_FCHMODAT": 1, + "HAVE_FCHOWN": 1, + "HAVE_FCHOWNAT": 1, + "HAVE_FCNTL_H": 1, + "HAVE_FDATASYNC": 0, + "HAVE_FDOPENDIR": 1, + "HAVE_FDWALK": 0, + "HAVE_FEXECVE": 0, + "HAVE_FFI_CLOSURE_ALLOC": 1, + "HAVE_FFI_PREP_CIF_VAR": 1, + "HAVE_FFI_PREP_CLOSURE_LOC": 1, + "HAVE_FLOCK": 1, + "HAVE_FORK": 1, + "HAVE_FORK1": 0, + "HAVE_FORKPTY": 1, + "HAVE_FPATHCONF": 1, + "HAVE_FSEEK64": 0, + "HAVE_FSEEKO": 1, + "HAVE_FSTATAT": 1, + "HAVE_FSTATVFS": 1, + "HAVE_FSYNC": 1, + "HAVE_FTELL64": 0, + "HAVE_FTELLO": 1, + "HAVE_FTIME": 1, + "HAVE_FTRUNCATE": 1, + "HAVE_FUTIMENS": 1, + "HAVE_FUTIMES": 1, + "HAVE_FUTIMESAT": 0, + "HAVE_GAI_STRERROR": 1, + "HAVE_GCC_ASM_FOR_MC68881": 0, + "HAVE_GCC_ASM_FOR_X64": 0, + "HAVE_GCC_ASM_FOR_X87": 0, + "HAVE_GCC_UINT128_T": 1, + "HAVE_GDBM_DASH_NDBM_H": 0, + "HAVE_GDBM_H": 0, + "HAVE_GDBM_NDBM_H": 0, + "HAVE_GETADDRINFO": 1, + "HAVE_GETC_UNLOCKED": 1, + "HAVE_GETEGID": 1, + "HAVE_GETENTROPY": 1, + "HAVE_GETEUID": 1, + "HAVE_GETGID": 1, + "HAVE_GETGRGID": 1, + "HAVE_GETGRGID_R": 1, + "HAVE_GETGRNAM_R": 1, + "HAVE_GETGROUPLIST": 1, + "HAVE_GETGROUPS": 1, + "HAVE_GETHOSTBYADDR": 1, + "HAVE_GETHOSTBYNAME": 1, + "HAVE_GETHOSTBYNAME_R": 0, + "HAVE_GETHOSTBYNAME_R_3_ARG": 0, + "HAVE_GETHOSTBYNAME_R_5_ARG": 0, + "HAVE_GETHOSTBYNAME_R_6_ARG": 0, + "HAVE_GETHOSTNAME": 1, + "HAVE_GETITIMER": 1, + "HAVE_GETLOADAVG": 1, + "HAVE_GETLOGIN": 1, + "HAVE_GETNAMEINFO": 1, + "HAVE_GETPAGESIZE": 1, + "HAVE_GETPEERNAME": 1, + "HAVE_GETPGID": 1, + "HAVE_GETPGRP": 1, + "HAVE_GETPID": 1, + "HAVE_GETPPID": 1, + "HAVE_GETPRIORITY": 1, + "HAVE_GETPROTOBYNAME": 1, + "HAVE_GETPWENT": 1, + "HAVE_GETPWNAM_R": 1, + "HAVE_GETPWUID": 1, + "HAVE_GETPWUID_R": 1, + "HAVE_GETRANDOM": 0, + "HAVE_GETRANDOM_SYSCALL": 0, + "HAVE_GETRESGID": 0, + "HAVE_GETRESUID": 0, + "HAVE_GETRUSAGE": 1, + "HAVE_GETSERVBYNAME": 1, + "HAVE_GETSERVBYPORT": 1, + "HAVE_GETSID": 1, + "HAVE_GETSOCKNAME": 1, + "HAVE_GETSPENT": 0, + "HAVE_GETSPNAM": 0, + "HAVE_GETUID": 1, + "HAVE_GETWD": 1, + "HAVE_GLIBC_MEMMOVE_BUG": 0, + "HAVE_GRP_H": 1, + "HAVE_HSTRERROR": 1, + "HAVE_HTOLE64": 0, + "HAVE_IEEEFP_H": 0, + "HAVE_IF_NAMEINDEX": 1, + "HAVE_INET_ATON": 1, + "HAVE_INET_NTOA": 1, + "HAVE_INET_PTON": 1, + "HAVE_INITGROUPS": 1, + "HAVE_INTTYPES_H": 1, + "HAVE_IO_H": 0, + "HAVE_IPA_PURE_CONST_BUG": 0, + "HAVE_KILL": 1, + "HAVE_KILLPG": 1, + "HAVE_KQUEUE": 1, + "HAVE_LANGINFO_H": 1, + "HAVE_LARGEFILE_SUPPORT": 0, + "HAVE_LCHFLAGS": 1, + "HAVE_LCHMOD": 1, + "HAVE_LCHOWN": 1, + "HAVE_LIBB2": 0, + "HAVE_LIBDB": 0, + "HAVE_LIBDL": 1, + "HAVE_LIBDLD": 0, + "HAVE_LIBIEEE": 0, + "HAVE_LIBINTL_H": 1, + "HAVE_LIBRESOLV": 0, + "HAVE_LIBSENDFILE": 0, + "HAVE_LIBSQLITE3": 1, + "HAVE_LIBUTIL_H": 0, + "HAVE_LINK": 1, + "HAVE_LINKAT": 1, + "HAVE_LINUX_AUXVEC_H": 0, + "HAVE_LINUX_CAN_BCM_H": 0, + "HAVE_LINUX_CAN_H": 0, + "HAVE_LINUX_CAN_J1939_H": 0, + "HAVE_LINUX_CAN_RAW_FD_FRAMES": 0, + "HAVE_LINUX_CAN_RAW_H": 0, + "HAVE_LINUX_CAN_RAW_JOIN_FILTERS": 0, + "HAVE_LINUX_FS_H": 0, + "HAVE_LINUX_LIMITS_H": 0, + "HAVE_LINUX_MEMFD_H": 0, + "HAVE_LINUX_NETLINK_H": 0, + "HAVE_LINUX_QRTR_H": 0, + "HAVE_LINUX_RANDOM_H": 0, + "HAVE_LINUX_SOUNDCARD_H": 0, + "HAVE_LINUX_TIPC_H": 0, + "HAVE_LINUX_VM_SOCKETS_H": 0, + "HAVE_LINUX_WAIT_H": 0, + "HAVE_LISTEN": 1, + "HAVE_LOCKF": 1, + "HAVE_LOG1P": 1, + "HAVE_LOG2": 1, + "HAVE_LOGIN_TTY": 1, + "HAVE_LONG_DOUBLE": 1, + "HAVE_LSTAT": 1, + "HAVE_LUTIMES": 1, + "HAVE_LZMA_H": 1, + "HAVE_MADVISE": 1, + "HAVE_MAKEDEV": 1, + "HAVE_MBRTOWC": 1, + "HAVE_MEMFD_CREATE": 0, + "HAVE_MEMRCHR": 0, + "HAVE_MINIX_CONFIG_H": 0, + "HAVE_MKDIRAT": 1, + "HAVE_MKFIFO": 1, + "HAVE_MKFIFOAT": 1, + "HAVE_MKNOD": 1, + "HAVE_MKNODAT": 1, + "HAVE_MKTIME": 1, + "HAVE_MMAP": 1, + "HAVE_MREMAP": 0, + "HAVE_NANOSLEEP": 1, + "HAVE_NCURSESW": 1, + "HAVE_NCURSES_H": 1, + "HAVE_NDBM_H": 1, + "HAVE_NDIR_H": 0, + "HAVE_NETCAN_CAN_H": 0, + "HAVE_NETDB_H": 1, + "HAVE_NETINET_IN_H": 1, + "HAVE_NETPACKET_PACKET_H": 0, + "HAVE_NET_ETHERNET_H": 1, + "HAVE_NET_IF_H": 1, + "HAVE_NICE": 1, + "HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION": 0, + "HAVE_OPENAT": 1, + "HAVE_OPENDIR": 1, + "HAVE_OPENPTY": 1, + "HAVE_PANEL_H": 1, + "HAVE_PATHCONF": 1, + "HAVE_PAUSE": 1, + "HAVE_PIPE": 1, + "HAVE_PIPE2": 0, + "HAVE_PLOCK": 0, + "HAVE_POLL": 1, + "HAVE_POLL_H": 1, + "HAVE_POSIX_FADVISE": 0, + "HAVE_POSIX_FALLOCATE": 0, + "HAVE_POSIX_SPAWN": 1, + "HAVE_POSIX_SPAWNP": 1, + "HAVE_PREAD": 1, + "HAVE_PREADV": 1, + "HAVE_PREADV2": 0, + "HAVE_PRLIMIT": 0, + "HAVE_PROCESS_H": 0, + "HAVE_PROTOTYPES": 1, + "HAVE_PTHREAD_CONDATTR_SETCLOCK": 0, + "HAVE_PTHREAD_DESTRUCTOR": 0, + "HAVE_PTHREAD_GETCPUCLOCKID": 0, + "HAVE_PTHREAD_H": 1, + "HAVE_PTHREAD_INIT": 0, + "HAVE_PTHREAD_KILL": 1, + "HAVE_PTHREAD_SIGMASK": 1, + "HAVE_PTHREAD_STUBS": 0, + "HAVE_PTY_H": 0, + "HAVE_PWRITE": 1, + "HAVE_PWRITEV": 1, + "HAVE_PWRITEV2": 0, + "HAVE_READLINE_READLINE_H": 1, + "HAVE_READLINK": 1, + "HAVE_READLINKAT": 1, + "HAVE_READV": 1, + "HAVE_REALPATH": 1, + "HAVE_RECVFROM": 1, + "HAVE_RENAMEAT": 1, + "HAVE_RL_APPEND_HISTORY": 1, + "HAVE_RL_CATCH_SIGNAL": 1, + "HAVE_RL_COMPDISP_FUNC_T": 1, + "HAVE_RL_COMPLETION_APPEND_CHARACTER": 1, + "HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK": 1, + "HAVE_RL_COMPLETION_MATCHES": 1, + "HAVE_RL_COMPLETION_SUPPRESS_APPEND": 1, + "HAVE_RL_PRE_INPUT_HOOK": 1, + "HAVE_RL_RESIZE_TERMINAL": 1, + "HAVE_RPC_RPC_H": 1, + "HAVE_RTPSPAWN": 0, + "HAVE_SCHED_GET_PRIORITY_MAX": 1, + "HAVE_SCHED_H": 1, + "HAVE_SCHED_RR_GET_INTERVAL": 0, + "HAVE_SCHED_SETAFFINITY": 0, + "HAVE_SCHED_SETPARAM": 0, + "HAVE_SCHED_SETSCHEDULER": 0, + "HAVE_SEM_CLOCKWAIT": 0, + "HAVE_SEM_GETVALUE": 1, + "HAVE_SEM_OPEN": 1, + "HAVE_SEM_TIMEDWAIT": 0, + "HAVE_SEM_UNLINK": 1, + "HAVE_SENDFILE": 1, + "HAVE_SENDTO": 1, + "HAVE_SETEGID": 1, + "HAVE_SETEUID": 1, + "HAVE_SETGID": 1, + "HAVE_SETGROUPS": 1, + "HAVE_SETHOSTNAME": 1, + "HAVE_SETITIMER": 1, + "HAVE_SETJMP_H": 1, + "HAVE_SETLOCALE": 1, + "HAVE_SETNS": 0, + "HAVE_SETPGID": 1, + "HAVE_SETPGRP": 1, + "HAVE_SETPRIORITY": 1, + "HAVE_SETREGID": 1, + "HAVE_SETRESGID": 0, + "HAVE_SETRESUID": 0, + "HAVE_SETREUID": 1, + "HAVE_SETSID": 1, + "HAVE_SETSOCKOPT": 1, + "HAVE_SETUID": 1, + "HAVE_SETVBUF": 1, + "HAVE_SHADOW_H": 0, + "HAVE_SHM_OPEN": 1, + "HAVE_SHM_UNLINK": 1, + "HAVE_SHUTDOWN": 1, + "HAVE_SIGACTION": 1, + "HAVE_SIGALTSTACK": 1, + "HAVE_SIGFILLSET": 1, + "HAVE_SIGINFO_T_SI_BAND": 1, + "HAVE_SIGINTERRUPT": 1, + "HAVE_SIGNAL_H": 1, + "HAVE_SIGPENDING": 1, + "HAVE_SIGRELSE": 1, + "HAVE_SIGTIMEDWAIT": 0, + "HAVE_SIGWAIT": 1, + "HAVE_SIGWAITINFO": 0, + "HAVE_SNPRINTF": 1, + "HAVE_SOCKADDR_ALG": 0, + "HAVE_SOCKADDR_SA_LEN": 1, + "HAVE_SOCKADDR_STORAGE": 1, + "HAVE_SOCKET": 1, + "HAVE_SOCKETPAIR": 1, + "HAVE_SPAWN_H": 1, + "HAVE_SPLICE": 0, + "HAVE_SSIZE_T": 1, + "HAVE_STATVFS": 1, + "HAVE_STAT_TV_NSEC": 0, + "HAVE_STAT_TV_NSEC2": 1, + "HAVE_STDINT_H": 1, + "HAVE_STDIO_H": 1, + "HAVE_STDLIB_H": 1, + "HAVE_STD_ATOMIC": 1, + "HAVE_STRFTIME": 1, + "HAVE_STRINGS_H": 1, + "HAVE_STRING_H": 1, + "HAVE_STRLCPY": 1, + "HAVE_STROPTS_H": 0, + "HAVE_STRSIGNAL": 1, + "HAVE_STRUCT_PASSWD_PW_GECOS": 1, + "HAVE_STRUCT_PASSWD_PW_PASSWD": 1, + "HAVE_STRUCT_STAT_ST_BIRTHTIME": 1, + "HAVE_STRUCT_STAT_ST_BLKSIZE": 1, + "HAVE_STRUCT_STAT_ST_BLOCKS": 1, + "HAVE_STRUCT_STAT_ST_FLAGS": 1, + "HAVE_STRUCT_STAT_ST_GEN": 1, + "HAVE_STRUCT_STAT_ST_RDEV": 1, + "HAVE_STRUCT_TM_TM_ZONE": 1, + "HAVE_SYMLINK": 1, + "HAVE_SYMLINKAT": 1, + "HAVE_SYNC": 1, + "HAVE_SYSCONF": 1, + "HAVE_SYSEXITS_H": 1, + "HAVE_SYSLOG_H": 1, + "HAVE_SYSTEM": 1, + "HAVE_SYS_AUDIOIO_H": 0, + "HAVE_SYS_AUXV_H": 0, + "HAVE_SYS_BSDTTY_H": 0, + "HAVE_SYS_DEVPOLL_H": 0, + "HAVE_SYS_DIR_H": 0, + "HAVE_SYS_ENDIAN_H": 0, + "HAVE_SYS_EPOLL_H": 0, + "HAVE_SYS_EVENTFD_H": 0, + "HAVE_SYS_EVENT_H": 1, + "HAVE_SYS_FILE_H": 1, + "HAVE_SYS_IOCTL_H": 1, + "HAVE_SYS_KERN_CONTROL_H": 1, + "HAVE_SYS_LOADAVG_H": 0, + "HAVE_SYS_LOCK_H": 1, + "HAVE_SYS_MEMFD_H": 0, + "HAVE_SYS_MKDEV_H": 0, + "HAVE_SYS_MMAN_H": 1, + "HAVE_SYS_MODEM_H": 0, + "HAVE_SYS_NDIR_H": 0, + "HAVE_SYS_PARAM_H": 1, + "HAVE_SYS_POLL_H": 1, + "HAVE_SYS_RANDOM_H": 1, + "HAVE_SYS_RESOURCE_H": 1, + "HAVE_SYS_SELECT_H": 1, + "HAVE_SYS_SENDFILE_H": 0, + "HAVE_SYS_SOCKET_H": 1, + "HAVE_SYS_SOUNDCARD_H": 0, + "HAVE_SYS_STATVFS_H": 1, + "HAVE_SYS_STAT_H": 1, + "HAVE_SYS_SYSCALL_H": 1, + "HAVE_SYS_SYSMACROS_H": 0, + "HAVE_SYS_SYS_DOMAIN_H": 1, + "HAVE_SYS_TERMIO_H": 0, + "HAVE_SYS_TIMES_H": 1, + "HAVE_SYS_TIME_H": 1, + "HAVE_SYS_TYPES_H": 1, + "HAVE_SYS_UIO_H": 1, + "HAVE_SYS_UN_H": 1, + "HAVE_SYS_UTSNAME_H": 1, + "HAVE_SYS_WAIT_H": 1, + "HAVE_SYS_XATTR_H": 1, + "HAVE_TCGETPGRP": 1, + "HAVE_TCSETPGRP": 1, + "HAVE_TEMPNAM": 1, + "HAVE_TERMIOS_H": 1, + "HAVE_TERM_H": 1, + "HAVE_TIMEGM": 1, + "HAVE_TIMES": 1, + "HAVE_TMPFILE": 1, + "HAVE_TMPNAM": 1, + "HAVE_TMPNAM_R": 0, + "HAVE_TM_ZONE": 1, + "HAVE_TRUNCATE": 1, + "HAVE_TTYNAME": 1, + "HAVE_TZNAME": 0, + "HAVE_UMASK": 1, + "HAVE_UNAME": 1, + "HAVE_UNISTD_H": 1, + "HAVE_UNLINKAT": 1, + "HAVE_UNSHARE": 0, + "HAVE_USABLE_WCHAR_T": 0, + "HAVE_UTIL_H": 1, + "HAVE_UTIMENSAT": 1, + "HAVE_UTIMES": 1, + "HAVE_UTIME_H": 1, + "HAVE_UTMP_H": 1, + "HAVE_UUID_CREATE": 0, + "HAVE_UUID_ENC_BE": 0, + "HAVE_UUID_GENERATE_TIME_SAFE": 0, + "HAVE_UUID_H": 0, + "HAVE_UUID_UUID_H": 1, + "HAVE_VFORK": 1, + "HAVE_WAIT": 1, + "HAVE_WAIT3": 1, + "HAVE_WAIT4": 1, + "HAVE_WAITID": 1, + "HAVE_WAITPID": 1, + "HAVE_WCHAR_H": 1, + "HAVE_WCSCOLL": 1, + "HAVE_WCSFTIME": 1, + "HAVE_WCSXFRM": 1, + "HAVE_WMEMCMP": 1, + "HAVE_WORKING_TZSET": 1, + "HAVE_WRITEV": 1, + "HAVE_ZLIB_COPY": 1, + "HAVE_ZLIB_H": 1, + "HAVE__GETPTY": 0, + "HOSTRUNNER": "", + "HOST_GNU_TYPE": "aarch64-apple-darwin24.1.0", + "INCLDIRSTOMAKE": "/Users/pablo/.asdf/installs/python/3.12.8/include /Users/pablo/.asdf/installs/python/3.12.8/include /Users/pablo/.asdf/installs/python/3.12.8/include/python3.12 /Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "INCLUDEDIR": "/Users/pablo/.asdf/installs/python/3.12.8/include", + "INCLUDEPY": "/Users/pablo/.asdf/installs/python/3.12.8/include/python3.12", + "INSTALL": "/opt/homebrew/bin/ginstall -c", + "INSTALL_DATA": "/opt/homebrew/bin/ginstall -c -m 644", + "INSTALL_PROGRAM": "/opt/homebrew/bin/ginstall -c", + "INSTALL_SCRIPT": "/opt/homebrew/bin/ginstall -c", + "INSTALL_SHARED": "/opt/homebrew/bin/ginstall -c -m 755", + "INSTSONAME": "libpython3.12.dylib", + "IO_H": "Modules/_io/_iomodule.h", + "IO_OBJS": "\\", + "LDCXXSHARED": "clang++ -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDFLAGS_NODIST": "", + "LDLIBRARY": "libpython3.12.dylib", + "LDLIBRARYDIR": "", + "LDSHARED": "clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "LDVERSION": "3.12", + "LIBC": "", + "LIBDEST": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "LIBDIR": "/Users/pablo/.asdf/installs/python/3.12.8/lib", + "LIBEXPAT_A": "Modules/expat/libexpat.a", + "LIBEXPAT_CFLAGS": "-I./Modules/expat -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBEXPAT_HEADERS": "\\", + "LIBEXPAT_OBJS": "\\", + "LIBHACL_CFLAGS": "-I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBHACL_HEADERS": "\\", + "LIBHACL_SHA2_A": "Modules/_hacl/libHacl_Hash_SHA2.a", + "LIBHACL_SHA2_HEADERS": "\\", + "LIBHACL_SHA2_OBJS": "\\", + "LIBM": "", + "LIBMPDEC_A": "Modules/_decimal/libmpdec/libmpdec.a", + "LIBMPDEC_CFLAGS": "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1 -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "LIBMPDEC_HEADERS": "\\", + "LIBMPDEC_OBJS": "\\", + "LIBOBJDIR": "Python/", + "LIBOBJS": "", + "LIBPC": "/Users/pablo/.asdf/installs/python/3.12.8/lib/pkgconfig", + "LIBPL": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/config-3.12-darwin", + "LIBPYTHON": "", + "LIBRARY": "libpython3.12.a", + "LIBRARY_DEPS": "libpython3.12.a libpython3.12.dylib", + "LIBRARY_OBJS": "\\", + "LIBRARY_OBJS_OMIT_FROZEN": "\\", + "LIBS": "-lintl -ldl -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -framework CoreFoundation", + "LIBSUBDIRS": "asyncio \\", + "LINKCC": "clang", + "LINKFORSHARED": "-Wl,-stack_size,1000000 -framework CoreFoundation", + "LINK_PYTHON_DEPS": "libpython3.12.a libpython3.12.dylib", + "LINK_PYTHON_OBJS": "-L. -lpython3.12", + "LIPO_32BIT_FLAGS": "", + "LIPO_INTEL64_FLAGS": "", + "LLVM_PROF_ERR": "no", + "LLVM_PROF_FILE": "LLVM_PROFILE_FILE=\"$(shell pwd)/code-%p.profclangr\"", + "LLVM_PROF_MERGER": "/usr/bin/xcrun llvm-profdata merge -output=\"$(shell pwd)/code.profclangd\" \"$(shell pwd)\"/*.profclangr", + "LN": "ln", + "LOCALMODLIBS": "", + "MACHDEP": "darwin", + "MACHDEP_OBJS": "", + "MACHDESTLIB": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12", + "MACOSX_DEPLOYMENT_TARGET": "15.1", + "MAJOR_IN_MKDEV": 0, + "MAJOR_IN_SYSMACROS": 0, + "MAKESETUP": "./Modules/makesetup", + "MANDIR": "/Users/pablo/.asdf/installs/python/3.12.8/share/man", + "MKDIR_P": "/opt/homebrew/bin/gmkdir -p", + "MODBUILT_NAMES": "array _asyncio _bisect _contextvars _csv _heapq _json _lsprof _opcode _pickle _queue _random _struct _xxsubinterpreters _xxinterpchannels _zoneinfo audioop math cmath _statistics _datetime _decimal binascii _bz2 _lzma zlib _dbm readline _md5 _sha1 _sha2 _sha3 _blake2 pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata _crypt fcntl grp mmap nis _posixsubprocess resource select _socket syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _scproxy xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35 atexit faulthandler posix _signal _tracemalloc _codecs _collections errno _io itertools _sre _thread time _typing _weakref _abc _functools _locale _operator _stat _symtable pwd", + "MODDISABLED_NAMES": "", + "MODLIBS": "", + "MODOBJS": "Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_threadmodule.o Modules/timemodule.o Modules/_typingmodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/pwdmodule.o", + "MODSHARED_NAMES": "array _asyncio _bisect _contextvars _csv _heapq _json _lsprof _opcode _pickle _queue _random _struct _xxsubinterpreters _xxinterpchannels _zoneinfo audioop math cmath _statistics _datetime _decimal binascii _bz2 _lzma zlib _dbm readline _md5 _sha1 _sha2 _sha3 _blake2 pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata _crypt fcntl grp mmap nis _posixsubprocess resource select _socket syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _scproxy xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35", + "MODULE_ARRAY_STATE": "yes", + "MODULE_ATEXIT_LDFLAGS": "", + "MODULE_AUDIOOP_LDFLAGS": "", + "MODULE_AUDIOOP_STATE": "yes", + "MODULE_BINASCII_CFLAGS": "-DUSE_ZLIB_CRC32", + "MODULE_BINASCII_LDFLAGS": "-lz", + "MODULE_BINASCII_STATE": "yes", + "MODULE_CMATH_DEPS": "./Modules/_math.h", + "MODULE_CMATH_LDFLAGS": "", + "MODULE_CMATH_STATE": "yes", + "MODULE_DEPS_SHARED": "Modules/config.c", + "MODULE_DEPS_STATIC": "Modules/config.c", + "MODULE_ERRNO_LDFLAGS": "", + "MODULE_FAULTHANDLER_LDFLAGS": "", + "MODULE_FCNTL_LDFLAGS": "", + "MODULE_FCNTL_STATE": "yes", + "MODULE_GRP_STATE": "yes", + "MODULE_ITERTOOLS_LDFLAGS": "", + "MODULE_MATH_DEPS": "./Modules/_math.h", + "MODULE_MATH_LDFLAGS": "", + "MODULE_MATH_STATE": "yes", + "MODULE_MMAP_STATE": "yes", + "MODULE_NIS_CFLAGS": "", + "MODULE_NIS_LDFLAGS": "", + "MODULE_NIS_STATE": "yes", + "MODULE_OBJS": "\\", + "MODULE_OSSAUDIODEV_STATE": "n/a", + "MODULE_POSIX_LDFLAGS": "", + "MODULE_PWD_LDFLAGS": "", + "MODULE_PWD_STATE": "yes", + "MODULE_PYEXPAT_CFLAGS": "-I./Modules/expat", + "MODULE_PYEXPAT_DEPS": "\\ Modules/expat/libexpat.a", + "MODULE_PYEXPAT_LDFLAGS": "-lm Modules/expat/libexpat.a", + "MODULE_PYEXPAT_STATE": "yes", + "MODULE_READLINE_CFLAGS": "", + "MODULE_READLINE_LDFLAGS": "-lreadline", + "MODULE_READLINE_STATE": "yes", + "MODULE_RESOURCE_STATE": "yes", + "MODULE_SELECT_STATE": "yes", + "MODULE_SPWD_STATE": "n/a", + "MODULE_SYSLOG_STATE": "yes", + "MODULE_TERMIOS_STATE": "yes", + "MODULE_TIME_LDFLAGS": "", + "MODULE_TIME_STATE": "yes", + "MODULE_UNICODEDATA_DEPS": "./Modules/unicodedata_db.h ./Modules/unicodename_db.h", + "MODULE_UNICODEDATA_STATE": "yes", + "MODULE_XXLIMITED_35_STATE": "yes", + "MODULE_XXLIMITED_STATE": "yes", + "MODULE_XXSUBTYPE_STATE": "yes", + "MODULE_ZLIB_CFLAGS": "", + "MODULE_ZLIB_LDFLAGS": "-lz", + "MODULE_ZLIB_STATE": "yes", + "MODULE__ABC_LDFLAGS": "", + "MODULE__ASYNCIO_STATE": "yes", + "MODULE__BISECT_STATE": "yes", + "MODULE__BLAKE2_CFLAGS": "", + "MODULE__BLAKE2_DEPS": "./Modules/_blake2/impl/blake2-config.h ./Modules/_blake2/impl/blake2-impl.h ./Modules/_blake2/impl/blake2.h ./Modules/_blake2/impl/blake2b-load-sse2.h ./Modules/_blake2/impl/blake2b-load-sse41.h ./Modules/_blake2/impl/blake2b-ref.c ./Modules/_blake2/impl/blake2b-round.h ./Modules/_blake2/impl/blake2b.c ./Modules/_blake2/impl/blake2s-load-sse2.h ./Modules/_blake2/impl/blake2s-load-sse41.h ./Modules/_blake2/impl/blake2s-load-xop.h ./Modules/_blake2/impl/blake2s-ref.c ./Modules/_blake2/impl/blake2s-round.h ./Modules/_blake2/impl/blake2s.c ./Modules/_blake2/blake2module.h ./Modules/hashlib.h", + "MODULE__BLAKE2_LDFLAGS": "", + "MODULE__BLAKE2_STATE": "yes", + "MODULE__BZ2_CFLAGS": "", + "MODULE__BZ2_LDFLAGS": "-lbz2", + "MODULE__BZ2_STATE": "yes", + "MODULE__CODECS_CN_DEPS": "./Modules/cjkcodecs/mappings_cn.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_CN_STATE": "yes", + "MODULE__CODECS_HK_DEPS": "./Modules/cjkcodecs/mappings_hk.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_HK_STATE": "yes", + "MODULE__CODECS_ISO2022_DEPS": "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_ISO2022_STATE": "yes", + "MODULE__CODECS_JP_DEPS": "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/mappings_jp.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_JP_STATE": "yes", + "MODULE__CODECS_KR_DEPS": "./Modules/cjkcodecs/mappings_kr.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_KR_STATE": "yes", + "MODULE__CODECS_LDFLAGS": "", + "MODULE__CODECS_TW_DEPS": "./Modules/cjkcodecs/mappings_tw.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h", + "MODULE__CODECS_TW_STATE": "yes", + "MODULE__COLLECTIONS_LDFLAGS": "", + "MODULE__CONTEXTVARS_STATE": "yes", + "MODULE__CRYPT_CFLAGS": "", + "MODULE__CRYPT_LDFLAGS": "", + "MODULE__CRYPT_STATE": "yes", + "MODULE__CSV_STATE": "yes", + "MODULE__CTYPES_CFLAGS": "-fno-strict-overflow -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi -DUSING_APPLE_OS_LIBFFI=1 -DUSING_MALLOC_CLOSURE_DOT_C=1", + "MODULE__CTYPES_DEPS": "./Modules/_ctypes/ctypes.h", + "MODULE__CTYPES_LDFLAGS": "-lffi -ldl", + "MODULE__CTYPES_MALLOC_CLOSURE": "_ctypes/malloc_closure.c", + "MODULE__CTYPES_STATE": "yes", + "MODULE__CTYPES_TEST_LDFLAGS": "", + "MODULE__CTYPES_TEST_STATE": "yes", + "MODULE__CURSES_CFLAGS": "-D_XOPEN_SOURCE_EXTENDED=1", + "MODULE__CURSES_LDFLAGS": "-lncurses", + "MODULE__CURSES_PANEL_CFLAGS": "-D_XOPEN_SOURCE_EXTENDED=1", + "MODULE__CURSES_PANEL_LDFLAGS": "-lpanel -lncurses", + "MODULE__CURSES_PANEL_STATE": "yes", + "MODULE__CURSES_STATE": "yes", + "MODULE__DATETIME_LDFLAGS": "", + "MODULE__DATETIME_STATE": "yes", + "MODULE__DBM_CFLAGS": "-DUSE_NDBM", + "MODULE__DBM_LDFLAGS": "", + "MODULE__DBM_STATE": "yes", + "MODULE__DECIMAL_CFLAGS": "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1", + "MODULE__DECIMAL_DEPS": "./Modules/_decimal/docstrings.h \\ Modules/_decimal/libmpdec/libmpdec.a", + "MODULE__DECIMAL_LDFLAGS": "-lm Modules/_decimal/libmpdec/libmpdec.a", + "MODULE__DECIMAL_STATE": "yes", + "MODULE__ELEMENTTREE_CFLAGS": "-I./Modules/expat", + "MODULE__ELEMENTTREE_DEPS": "./Modules/pyexpat.c \\ Modules/expat/libexpat.a", + "MODULE__ELEMENTTREE_STATE": "yes", + "MODULE__FUNCTOOLS_LDFLAGS": "", + "MODULE__GDBM_STATE": "missing", + "MODULE__HASHLIB_CFLAGS": "-I/opt/homebrew/opt/openssl@3/include", + "MODULE__HASHLIB_DEPS": "./Modules/hashlib.h", + "MODULE__HASHLIB_LDFLAGS": "-L/opt/homebrew/opt/openssl@3/lib -lcrypto", + "MODULE__HASHLIB_STATE": "yes", + "MODULE__HEAPQ_STATE": "yes", + "MODULE__IO_CFLAGS": "-I./Modules/_io", + "MODULE__IO_DEPS": "./Modules/_io/_iomodule.h", + "MODULE__IO_LDFLAGS": "", + "MODULE__IO_STATE": "yes", + "MODULE__JSON_STATE": "yes", + "MODULE__LOCALE_LDFLAGS": "", + "MODULE__LSPROF_STATE": "yes", + "MODULE__LZMA_CFLAGS": "", + "MODULE__LZMA_LDFLAGS": "-llzma", + "MODULE__LZMA_STATE": "yes", + "MODULE__MD5_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__MD5_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_MD5.h Modules/_hacl/Hacl_Hash_MD5.c", + "MODULE__MD5_STATE": "yes", + "MODULE__MULTIBYTECODEC_DEPS": "./Modules/cjkcodecs/multibytecodec.h", + "MODULE__MULTIBYTECODEC_STATE": "yes", + "MODULE__MULTIPROCESSING_CFLAGS": "-I./Modules/_multiprocessing", + "MODULE__MULTIPROCESSING_STATE": "yes", + "MODULE__OPCODE_STATE": "yes", + "MODULE__OPERATOR_LDFLAGS": "", + "MODULE__PICKLE_STATE": "yes", + "MODULE__POSIXSHMEM_CFLAGS": "-I./Modules/_multiprocessing", + "MODULE__POSIXSHMEM_LDFLAGS": "", + "MODULE__POSIXSHMEM_STATE": "yes", + "MODULE__POSIXSUBPROCESS_STATE": "yes", + "MODULE__QUEUE_STATE": "yes", + "MODULE__RANDOM_STATE": "yes", + "MODULE__SCPROXY_LDFLAGS": "-framework SystemConfiguration -framework CoreFoundation", + "MODULE__SCPROXY_STATE": "yes", + "MODULE__SHA1_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__SHA1_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_SHA1.h Modules/_hacl/Hacl_Hash_SHA1.c", + "MODULE__SHA1_STATE": "yes", + "MODULE__SHA2_CFLAGS": "-I./Modules/_hacl/include -I./Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE", + "MODULE__SHA2_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/libHacl_Hash_SHA2.a", + "MODULE__SHA2_STATE": "yes", + "MODULE__SHA3_DEPS": "./Modules/hashlib.h \\ Modules/_hacl/Hacl_Hash_SHA3.h Modules/_hacl/Hacl_Hash_SHA3.c", + "MODULE__SHA3_STATE": "yes", + "MODULE__SIGNAL_LDFLAGS": "", + "MODULE__SOCKET_DEPS": "./Modules/socketmodule.h ./Modules/addrinfo.h ./Modules/getaddrinfo.c ./Modules/getnameinfo.c", + "MODULE__SOCKET_STATE": "yes", + "MODULE__SQLITE3_CFLAGS": "-I./Modules/_sqlite", + "MODULE__SQLITE3_DEPS": "./Modules/_sqlite/connection.h ./Modules/_sqlite/cursor.h ./Modules/_sqlite/microprotocols.h ./Modules/_sqlite/module.h ./Modules/_sqlite/prepare_protocol.h ./Modules/_sqlite/row.h ./Modules/_sqlite/util.h", + "MODULE__SQLITE3_LDFLAGS": "-lsqlite3", + "MODULE__SQLITE3_STATE": "yes", + "MODULE__SRE_LDFLAGS": "", + "MODULE__SSL_CFLAGS": "-I/opt/homebrew/opt/openssl@3/include", + "MODULE__SSL_DEPS": "./Modules/_ssl.h ./Modules/_ssl/cert.c ./Modules/_ssl/debughelpers.c ./Modules/_ssl/misc.c ./Modules/_ssl_data.h ./Modules/_ssl_data_111.h ./Modules/_ssl_data_300.h ./Modules/socketmodule.h", + "MODULE__SSL_LDFLAGS": "-L/opt/homebrew/opt/openssl@3/lib -lssl -lcrypto", + "MODULE__SSL_STATE": "yes", + "MODULE__STATISTICS_LDFLAGS": "", + "MODULE__STATISTICS_STATE": "yes", + "MODULE__STAT_LDFLAGS": "", + "MODULE__STRUCT_STATE": "yes", + "MODULE__SYMTABLE_LDFLAGS": "", + "MODULE__TESTBUFFER_STATE": "yes", + "MODULE__TESTCAPI_DEPS": "./Modules/_testcapi/testcapi_long.h ./Modules/_testcapi/parts.h ./Modules/_testcapi/util.h", + "MODULE__TESTCAPI_STATE": "yes", + "MODULE__TESTCLINIC_STATE": "yes", + "MODULE__TESTIMPORTMULTIPLE_STATE": "yes", + "MODULE__TESTINTERNALCAPI_STATE": "yes", + "MODULE__TESTMULTIPHASE_STATE": "yes", + "MODULE__THREAD_LDFLAGS": "", + "MODULE__TKINTER_STATE": "missing", + "MODULE__TRACEMALLOC_LDFLAGS": "", + "MODULE__TYPING_LDFLAGS": "", + "MODULE__TYPING_STATE": "yes", + "MODULE__UUID_CFLAGS": "", + "MODULE__UUID_LDFLAGS": "", + "MODULE__UUID_STATE": "yes", + "MODULE__WEAKREF_LDFLAGS": "", + "MODULE__XXINTERPCHANNELS_STATE": "yes", + "MODULE__XXSUBINTERPRETERS_STATE": "yes", + "MODULE__XXTESTFUZZ_STATE": "yes", + "MODULE__ZONEINFO_STATE": "yes", + "MULTIARCH": "darwin", + "MULTIARCH_CPPFLAGS": "-DMULTIARCH=\\\"darwin\\\"", + "MVWDELCH_IS_EXPRESSION": 1, + "NO_AS_NEEDED": "", + "OBJECT_OBJS": "\\", + "OPT": "-DNDEBUG -g -O3 -Wall", + "PACKAGE_BUGREPORT": 0, + "PACKAGE_NAME": 0, + "PACKAGE_STRING": 0, + "PACKAGE_TARNAME": 0, + "PACKAGE_URL": 0, + "PACKAGE_VERSION": 0, + "PARSER_HEADERS": "\\", + "PARSER_OBJS": "\\ \\ Parser/myreadline.o Parser/tokenizer.o", + "PEGEN_HEADERS": "\\", + "PEGEN_OBJS": "\\", + "PGO_PROF_GEN_FLAG": "-fprofile-instr-generate", + "PGO_PROF_USE_FLAG": "-fprofile-instr-use=\"$(shell pwd)/code.profclangd\"", + "PLATLIBDIR": "lib", + "POBJS": "\\", + "POSIX_SEMAPHORES_NOT_ENABLED": 0, + "PROFILE_TASK": "-m test --pgo --timeout=1200", + "PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT": 0, + "PTHREAD_SYSTEM_SCHED_SUPPORTED": 1, + "PURIFY": "", + "PY3LIBRARY": "", + "PYLONG_BITS_IN_DIGIT": 0, + "PYTHON": "python", + "PYTHONFRAMEWORK": "", + "PYTHONFRAMEWORKDIR": "no-framework", + "PYTHONFRAMEWORKINSTALLDIR": "", + "PYTHONFRAMEWORKPREFIX": "", + "PYTHONPATH": "", + "PYTHON_FOR_BUILD": "./python.exe -E", + "PYTHON_FOR_BUILD_DEPS": "python.exe", + "PYTHON_FOR_FREEZE": "./_bootstrap_python", + "PYTHON_FOR_REGEN": "", + "PYTHON_HEADERS": "\\", + "PYTHON_OBJS": "\\", + "PY_BUILTIN_HASHLIB_HASHES": "\"md5,sha1,sha2,sha3,blake2\"", + "PY_BUILTIN_MODULE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -DPy_BUILD_CORE_BUILTIN", + "PY_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall", + "PY_CFLAGS_NODIST": "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal", + "PY_COERCE_C_LOCALE": 1, + "PY_CORE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -DPy_BUILD_CORE", + "PY_CORE_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_CPPFLAGS": "-I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "PY_ENABLE_SHARED": 1, + "PY_HAVE_PERF_TRAMPOLINE": 0, + "PY_LDFLAGS": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_LDFLAGS_NODIST": "", + "PY_LDFLAGS_NOLTO": "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", + "PY_SQLITE_ENABLE_LOAD_EXTENSION": 0, + "PY_SQLITE_HAVE_SERIALIZE": 1, + "PY_SSL_DEFAULT_CIPHERS": 1, + "PY_SSL_DEFAULT_CIPHER_STRING": 0, + "PY_STDMODULE_CFLAGS": "-fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/pablo/.asdf/installs/python/3.12.8/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include", + "PY_SUPPORT_TIER": 2, + "Py_DEBUG": 0, + "Py_ENABLE_SHARED": 1, + "Py_HASH_ALGORITHM": 0, + "Py_STATS": 0, + "Py_SUNOS_VERSION": 0, + "Py_TRACE_REFS": 0, + "QUICKTESTOPTS": "-x test_subprocess test_io test_lib2to3 \\", + "READELF": "@READELF@", + "RESSRCDIR": "Mac/Resources/framework", + "RETSIGTYPE": "void", + "RUNSHARED": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "SCRIPTDIR": "/Users/pablo/.asdf/installs/python/3.12.8/lib", + "SCRIPT_2TO3": "build/scripts-3.12/2to3-3.12", + "SCRIPT_IDLE": "build/scripts-3.12/idle3.12", + "SCRIPT_PYDOC": "build/scripts-3.12/pydoc3.12", + "SETPGRP_HAVE_ARG": 0, + "SHAREDMODS": "Modules/array.cpython-312-darwin.so Modules/_asyncio.cpython-312-darwin.so Modules/_bisect.cpython-312-darwin.so Modules/_contextvars.cpython-312-darwin.so Modules/_csv.cpython-312-darwin.so Modules/_heapq.cpython-312-darwin.so Modules/_json.cpython-312-darwin.so Modules/_lsprof.cpython-312-darwin.so Modules/_opcode.cpython-312-darwin.so Modules/_pickle.cpython-312-darwin.so Modules/_queue.cpython-312-darwin.so Modules/_random.cpython-312-darwin.so Modules/_struct.cpython-312-darwin.so Modules/_xxsubinterpreters.cpython-312-darwin.so Modules/_xxinterpchannels.cpython-312-darwin.so Modules/_zoneinfo.cpython-312-darwin.so Modules/audioop.cpython-312-darwin.so Modules/math.cpython-312-darwin.so Modules/cmath.cpython-312-darwin.so Modules/_statistics.cpython-312-darwin.so Modules/_datetime.cpython-312-darwin.so Modules/_decimal.cpython-312-darwin.so Modules/binascii.cpython-312-darwin.so Modules/_bz2.cpython-312-darwin.so Modules/_lzma.cpython-312-darwin.so Modules/zlib.cpython-312-darwin.so Modules/_dbm.cpython-312-darwin.so Modules/readline.cpython-312-darwin.so Modules/_md5.cpython-312-darwin.so Modules/_sha1.cpython-312-darwin.so Modules/_sha2.cpython-312-darwin.so Modules/_sha3.cpython-312-darwin.so Modules/_blake2.cpython-312-darwin.so Modules/pyexpat.cpython-312-darwin.so Modules/_elementtree.cpython-312-darwin.so Modules/_codecs_cn.cpython-312-darwin.so Modules/_codecs_hk.cpython-312-darwin.so Modules/_codecs_iso2022.cpython-312-darwin.so Modules/_codecs_jp.cpython-312-darwin.so Modules/_codecs_kr.cpython-312-darwin.so Modules/_codecs_tw.cpython-312-darwin.so Modules/_multibytecodec.cpython-312-darwin.so Modules/unicodedata.cpython-312-darwin.so Modules/_crypt.cpython-312-darwin.so Modules/fcntl.cpython-312-darwin.so Modules/grp.cpython-312-darwin.so Modules/mmap.cpython-312-darwin.so Modules/nis.cpython-312-darwin.so Modules/_posixsubprocess.cpython-312-darwin.so Modules/resource.cpython-312-darwin.so Modules/select.cpython-312-darwin.so Modules/_socket.cpython-312-darwin.so Modules/syslog.cpython-312-darwin.so Modules/termios.cpython-312-darwin.so Modules/_posixshmem.cpython-312-darwin.so Modules/_multiprocessing.cpython-312-darwin.so Modules/_ctypes.cpython-312-darwin.so Modules/_curses.cpython-312-darwin.so Modules/_curses_panel.cpython-312-darwin.so Modules/_sqlite3.cpython-312-darwin.so Modules/_ssl.cpython-312-darwin.so Modules/_hashlib.cpython-312-darwin.so Modules/_uuid.cpython-312-darwin.so Modules/_scproxy.cpython-312-darwin.so Modules/xxsubtype.cpython-312-darwin.so Modules/_xxtestfuzz.cpython-312-darwin.so Modules/_testbuffer.cpython-312-darwin.so Modules/_testinternalcapi.cpython-312-darwin.so Modules/_testcapi.cpython-312-darwin.so Modules/_testclinic.cpython-312-darwin.so Modules/_testimportmultiple.cpython-312-darwin.so Modules/_testmultiphase.cpython-312-darwin.so Modules/_testsinglephase.cpython-312-darwin.so Modules/_ctypes_test.cpython-312-darwin.so Modules/xxlimited.cpython-312-darwin.so Modules/xxlimited_35.cpython-312-darwin.so", + "SHELL": "/bin/sh -e", + "SHLIBS": "-lintl -ldl -L/Users/pablo/.asdf/installs/python/3.12.8/lib -Wl,-rpath,/Users/pablo/.asdf/installs/python/3.12.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -framework CoreFoundation", + "SHLIB_SUFFIX": ".so", + "SIGNED_RIGHT_SHIFT_ZERO_FILLS": 0, + "SITEPATH": "", + "SIZEOF_DOUBLE": 8, + "SIZEOF_FLOAT": 4, + "SIZEOF_FPOS_T": 8, + "SIZEOF_INT": 4, + "SIZEOF_LONG": 8, + "SIZEOF_LONG_DOUBLE": 8, + "SIZEOF_LONG_LONG": 8, + "SIZEOF_OFF_T": 8, + "SIZEOF_PID_T": 4, + "SIZEOF_PTHREAD_KEY_T": 8, + "SIZEOF_PTHREAD_T": 8, + "SIZEOF_SHORT": 2, + "SIZEOF_SIZE_T": 8, + "SIZEOF_TIME_T": 8, + "SIZEOF_UINTPTR_T": 8, + "SIZEOF_VOID_P": 8, + "SIZEOF_WCHAR_T": 4, + "SIZEOF__BOOL": 1, + "SOABI": "cpython-312-darwin", + "SRCDIRS": "Modules Modules/_blake2 Modules/_ctypes Modules/_decimal Modules/_decimal/libmpdec Modules/_hacl Modules/_io Modules/_multiprocessing Modules/_sqlite Modules/_sre Modules/_testcapi Modules/_xxtestfuzz Modules/cjkcodecs Modules/expat Objects Parser Programs Python Python/frozen_modules Python/deepfreeze", + "SRC_GDB_HOOKS": "./Tools/gdb/libpython.py", + "STATIC_LIBPYTHON": 1, + "STDC_HEADERS": 1, + "STRICT_SYSV_CURSES": "/* Don't use ncurses extensions */", + "STRIPFLAG": "-s", + "SUBDIRS": "", + "SUBDIRSTOO": "Include Lib Misc", + "SYSLIBS": "", + "SYS_SELECT_WITH_SYS_TIME": 1, + "TESTOPTS": "", + "TESTPATH": "", + "TESTPYTHON": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8 ./python.exe -E", + "TESTPYTHONOPTS": "", + "TESTRUNNER": "DYLD_LIBRARY_PATH=/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8 ./python.exe -E ./Tools/scripts/run_tests.py", + "TESTSUBDIRS": "idlelib/idle_test \\", + "TESTTIMEOUT": 1200, + "TEST_MODULES": "yes", + "THREAD_STACK_SIZE": "0x1000000", + "TIMEMODULE_LIB": 0, + "TM_IN_SYS_TIME": 0, + "TZPATH": "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo", + "UNICODE_DEPS": "\\", + "UNIVERSALSDK": "", + "UPDATE_FILE": "./Tools/build/update_file.py", + "USE_COMPUTED_GOTOS": 0, + "VERSION": "3.12", + "WASM_ASSETS_DIR": "./Users/pablo/.asdf/installs/python/3.12.8", + "WASM_STDLIB": "./Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/os.py", + "WHEEL_PKG_DIR": "", + "WINDOW_HAS_FLAGS": 0, + "WITH_DECIMAL_CONTEXTVAR": 1, + "WITH_DOC_STRINGS": 1, + "WITH_DTRACE": 0, + "WITH_DYLD": 1, + "WITH_EDITLINE": 0, + "WITH_FREELISTS": 1, + "WITH_LIBINTL": 1, + "WITH_NEXT_FRAMEWORK": 0, + "WITH_PYMALLOC": 1, + "WITH_VALGRIND": 0, + "X87_DOUBLE_ROUNDING": 0, + "XMLLIBSUBDIRS": "xml xml/dom xml/etree xml/parsers xml/sax", + "abs_builddir": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "abs_srcdir": "/var/folders/j_/br8hhjvn4cn35m45kwhcj1z40000gn/T/python-build.20241221121840.62637/Python-3.12.8", + "datarootdir": "/Users/pablo/.asdf/installs/python/3.12.8/share", + "srcdir": "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/config-3.12-darwin", + "userbase": "/Users/pablo/.local" + }, + "dependencies": { + "python-binance": "1.0.27", + "dateparser": "1.2.0", + "shellingham": "1.5.4", + "opentelemetry-api": "1.29.0", + "langchain-anthropic": "0.3.3", + "Pygments": "2.19.1", + "pycodestyle": "2.12.1", + "pandas": "2.2.3", + "importlib_metadata": "8.5.0", + "filelock": "3.16.1", + "idna": "3.10", + "langsmith": "0.2.11", + "msal-extensions": "1.2.0", + "aioresponses": "0.7.7", + "pydub": "0.25.1", + "pytest-cov": "6.0.0", + "ujson": "5.10.0", + "distlib": "0.3.9", + "python-socks": "2.5.3", + "pip": "24.3.1", + "multidict": "6.1.0", + "pytest-flake8": "1.3.0", + "fastapi": "0.115.6", + "pillow": "11.1.0", + "lxml": "5.3.0", + "pyproject-api": "1.8.0", + "langgraph-checkpoint": "2.0.10", + "urllib3": "2.2.3", + "colorama": "0.4.6", + "uvicorn": "0.34.0", + "zipp": "3.21.0", + "typer": "0.15.1", + "ruff": "0.8.4", + "setuptools": "75.6.0", + "msgpack": "1.1.0", + "flake8": "7.1.1", + "pycryptodome": "3.21.0", + "defusedxml": "0.7.1", + "autogen-ext": "0.4.2", + "requests": "2.32.3", + "frozenlist": "1.5.0", + "openpyxl": "3.1.5", + "psycopg": "3.2.4", + "soupsieve": "2.6", + "anthropic": "0.43.1", + "markdown-it-py": "3.0.0", + "pytest": "8.3.4", + "puremagic": "1.28", + "mammoth": "1.9.0", + "h11": "0.14.0", + "magentic-one-cli": "0.2.2", + "pyee": "12.0.0", + "python-pptx": "1.0.2", + "msal": "1.31.1", + "et_xmlfile": "2.0.0", + "protobuf": "4.25.5", + "autogen-core": "0.4.2", + "aiohttp": "3.10.11", + "markdownify": "0.14.1", + "pathvalidate": "3.2.3", + "iniconfig": "2.0.0", + "rich": "13.9.4", + "tqdm": "4.67.1", + "autogenstudio": "0.4.0.3", + "Mako": "1.3.8", + "jsonpatch": "1.33", + "click": "8.1.8", + "jsonpointer": "3.0.0", + "numpy": "1.26.4", + "ccxt": "4.4.57", + "tenacity": "9.0.0", + "cffi": "1.17.1", + "openai": "1.58.1", + "propcache": "0.2.1", + "autogen-agentchat": "0.4.2", + "cachetools": "5.5.0", + "portalocker": "2.10.1", + "youtube-transcript-api": "0.6.3", + "PyJWT": "2.10.1", + "XlsxWriter": "3.2.0", + "langchain-core": "0.3.30", + "psutil": "6.1.1", + "aiofiles": "24.1.0", + "python-dotenv": "1.0.1", + "websockets_proxy": "0.1.3", + "regex": "2024.11.6", + "loguru": "0.7.3", + "pyright": "1.1.391", + "sniffio": "1.3.1", + "nodeenv": "1.9.1", + "mdurl": "0.1.2", + "python-dateutil": "2.9.0.post0", + "aiodns": "3.2.0", + "pytz": "2024.2", + "yarl": "1.18.3", + "mccabe": "0.7.0", + "jsonref": "1.1.0", + "Deprecated": "1.2.15", + "packaging": "24.2", + "SpeechRecognition": "3.14.0", + "cobble": "0.1.4", + "sqlmodel": "0.0.22", + "tzlocal": "5.2", + "chardet": "5.2.0", + "pytest-codspeed": "3.2.0", + "pydantic_core": "2.27.2", + "coverage": "7.6.9", + "httpcore": "1.0.7", + "tox": "4.23.2", + "pycparser": "2.22", + "websockets": "14.1", + "langgraph": "0.2.64", + "pydantic": "2.10.4", + "pytest-benchmark": "5.1.0", + "pluggy": "1.5.0", + "playwright": "1.49.1", + "pytest-asyncio": "0.25.0", + "starlette": "0.41.3", + "markitdown": "0.0.1a3", + "alembic": "1.14.0", + "distro": "1.9.0", + "pdfminer.six": "20240706", + "SQLAlchemy": "2.0.37", + "jiter": "0.8.2", + "cryptography": "44.0.0", + "pydantic-settings": "2.7.1", + "requests-toolbelt": "1.0.0", + "wrapt": "1.17.2", + "bs4": "0.0.2", + "py-cpuinfo": "9.0.0", + "aiosignal": "1.3.2", + "typing_extensions": "4.12.2", + "PyYAML": "6.0.2", + "httpx": "0.28.1", + "attrs": "24.3.0", + "anyio": "4.7.0", + "azure-core": "1.32.0", + "charset-normalizer": "3.4.0", + "langgraph-sdk": "0.1.51", + "tzdata": "2024.2", + "tiktoken": "0.8.0", + "beautifulsoup4": "4.12.3", + "aiohappyeyeballs": "2.4.4", + "platformdirs": "4.3.6", + "pycares": "4.5.0", + "annotated-types": "0.7.0", + "certifi": "2024.12.14", + "virtualenv": "20.28.0", + "six": "1.17.0", + "greenlet": "3.1.1", + "requests-mock": "1.12.1", + "pyflakes": "3.2.0", + "azure-identity": "1.19.0", + "MarkupSafe": "3.0.2" + } + }, + "instrument": { + "type": "walltime", + "clock_info": { + "implementation": "mach_absolute_time()", + "monotonic": true, + "adjustable": false, + "resolution": 4.166666666666667e-08 + } + }, + "benchmarks": [ + { + "name": "test_ws_api_public_endpoint_2", + "uri": "tests/test_ws_api.py::test_ws_api_public_endpoint_2", + "config": { + "warmup_time_ns": 1000000000, + "min_round_time_ns": 41666666.66666667, + "max_time_ns": 3000000000, + "max_rounds": null + }, + "stats": { + "min_ns": 924.0172437908366, + "max_ns": 1208.0111295382342, + "mean_ns": 963.4881446361055, + "stdev_ns": 39.11287018342256, + "q1_ns": 949.1902611545147, + "median_ns": 955.231242631926, + "q3_ns": 964.5424900593442, + "rounds": 71, + "total_time": 3.037957959, + "iqr_outlier_rounds": 6, + "stdev_outlier_rounds": 1, + "iter_per_round": 50047, + "warmup_iters": 1061748 + } + } + ] +} diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 153c9bab..8abf6019 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -34,11 +34,7 @@ jobs: test: needs: lint runs-on: ubuntu-22.04 - timeout-minutes: 40 - strategy: - max-parallel: 2 - matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + timeout-minutes: 20 env: PROXY: "http://188.245.226.105:8911" TEST_TESTNET: "true" diff --git a/.source/index.ts b/.source/index.ts new file mode 100644 index 00000000..2e77ba34 --- /dev/null +++ b/.source/index.ts @@ -0,0 +1,5 @@ +// @ts-nocheck -- skip type checking +import { _runtime } from "fumadocs-mdx/runtime/next" +import _source from "../source.config" + +export const map = _runtime.docs(_source.docs || [], _source.meta || []).toFumadocsSource() diff --git a/.source/source.config.mjs b/.source/source.config.mjs new file mode 100644 index 00000000..a035567f --- /dev/null +++ b/.source/source.config.mjs @@ -0,0 +1,10 @@ +// source.config.ts +import { defineConfig, defineDocs } from "fumadocs-mdx/config"; +var source_config_default = defineConfig({ + docs: defineDocs({ + dir: "content/docs" + }) +}); +export { + source_config_default as default +}; diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 00000000..ecefe3aa --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +python 3.12.8 diff --git a/1530.py b/1530.py new file mode 100644 index 00000000..88cc0237 --- /dev/null +++ b/1530.py @@ -0,0 +1,41 @@ +import asyncio +import sys + +sys.path.append(".") +from binance.async_client import AsyncClient +from binance import BinanceSocketManager + +# set log level to debug AND PRINT TO CONSOLE +import logging + +logging.basicConfig(level=logging.DEBUG) + + +async def handle_user_socket(): + # Initialize the client + client = await AsyncClient.create() + try: + # Initialize socket manager + bm = BinanceSocketManager(client) + # Start user socket with proper context management + async with bm.ticker_socket() as socket: + while True: + res = await socket.recv() + finished = do_something(res) + if finished: + break + finally: + # Ensure client is properly closed + print("Closing client") + await client.close_connection() + + +def do_something(res): + # Implement your message handling logic here + print(f"Received message: {res}") + return True # Return True when you want to stop the loop + + +# Run the async function +if __name__ == "__main__": + asyncio.run(handle_user_socket()) diff --git a/1543.py b/1543.py new file mode 100644 index 00000000..bd04a3f3 --- /dev/null +++ b/1543.py @@ -0,0 +1,46 @@ +from binance import ThreadedWebsocketManager + +import time +import threading + +twm: ThreadedWebsocketManager +symbol = "BTCUSDT" + + +def handle_socket_message(msg): + print("handle_socket_message", msg) + + +def test_threaded_socket_manager(): + """This thread will only process messages""" + print("test_threaded_socket_manager run") + print("id:", id(twm)) + print("type:", type(twm)) + + # Just wait and process messages + time.sleep(10) + + print("test_threaded_socket_manager stop") + + +if __name__ == "__main__": + # Create and start TWM in main thread + twm = ThreadedWebsocketManager(api_key="", api_secret="", testnet=False) + twm.start() + print("id:", id(twm)) + print("type:", type(twm)) + + # Start socket in main thread where TWM was created + sock_id = twm.start_kline_futures_socket( + callback=handle_socket_message, symbol=symbol + ) + + # Create thread for processing + t = threading.Thread(target=test_threaded_socket_manager) + t.start() + t.join() + + # Cleanup in main thread + twm.stop_socket(sock_id) + twm.stop() + print("quit") diff --git a/1575.py b/1575.py new file mode 100644 index 00000000..a599ee3b --- /dev/null +++ b/1575.py @@ -0,0 +1,44 @@ +from binance import ThreadedWebsocketManager, AsyncClient +import asyncio + +api_key = "" +api_secret = "" + + +async def run_websocket_operations(): + symbol = "BNBBTC" + + # Create async client + client = await AsyncClient.create(api_key=api_key, api_secret=api_secret) + + try: + # Get account status using async call + account = await client.ws_get_symbol_ticker(symbol=symbol) + print(f"account: {account}") + finally: + await client.close_connection() + + +def handle_socket_message(msg): + print(f"message type: {msg['e']}") + # print(msg) + + +def main(): + # Start ThreadedWebsocketManager + twm = ThreadedWebsocketManager(api_key=api_key, api_secret=api_secret) + twm.start() + + # Start kline socket + twm.start_kline_socket(callback=handle_socket_message, symbol="BNBBTC") + + # Run async operations in a separate event loop + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + loop.run_until_complete(run_websocket_operations()) + + twm.join() + + +if __name__ == "__main__": + main() diff --git a/1589.py b/1589.py new file mode 100644 index 00000000..7c7a3e49 --- /dev/null +++ b/1589.py @@ -0,0 +1,42 @@ +import asyncio +import logging +from binance import AsyncClient, BinanceSocketManager +from binance.ws.reconnecting_websocket import ReconnectingWebsocket + +logging.basicConfig(level=logging.DEBUG) + +# Explicitly set the log level for the binance package +logging.getLogger("binance").setLevel(logging.DEBUG) + +logger = logging.getLogger(__name__) + + +async def main(): + # Set MAX_RECONNECTS to 0 to simulate permanent disconnect + ReconnectingWebsocket.MAX_RECONNECTS = 3 + + client = await AsyncClient.create() + bm = BinanceSocketManager(client) + + async with bm.multiplex_socket(["btcusdt@kline_1s"]) as tscm: + logger.info("Websocket started") + count = 0 + while True: + logger.info("Awaiting message...") + t = await tscm.recv() + logger.info("Message received") + count += 1 + try: + if count == 5: + logger.info("Simulating connection drop (code 1001)") + await tscm.ws.close(code=1001, reason="going away") + print(t["data"]) + except KeyError as e: + logger.warning(f"Error: {e} with data {t}") + logger.info("Loop continues") + + await client.close_connection() + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/1608.py b/1608.py new file mode 100644 index 00000000..29cb0802 --- /dev/null +++ b/1608.py @@ -0,0 +1,101 @@ +import asyncio +import logging +import subprocess +import time +from binance import AsyncClient, BinanceSocketManager +from binance.ws.reconnecting_websocket import ReconnectingWebsocket + +logging.basicConfig(level=logging.DEBUG) + +# Explicitly set the log level for the binance package +logging.getLogger("binance").setLevel(logging.DEBUG) + +logger = logging.getLogger(__name__) + + +async def simulate_network_disconnect(): + """Simulate network disconnect by temporarily disabling network interface""" + logger.info("=== SIMULATING NETWORK DISCONNECT ===") + try: + # Get the active network interface + result = subprocess.run( + ["route", "get", "default"], capture_output=True, text=True, check=True + ) + interface = None + for line in result.stdout.split("\n"): + if "interface:" in line: + interface = line.split(":")[1].strip() + break + + if not interface: + logger.error("Could not determine network interface") + return False + + logger.info(f"Temporarily disabling network interface: {interface}") + + # Disable the network interface + subprocess.run(["sudo", "ifconfig", interface, "down"], check=True) + + # Wait for disconnect to take effect + logger.info("Network interface disabled - waiting 10 seconds...") + await asyncio.sleep(10) + + # Re-enable the network interface + logger.info(f"Re-enabling network interface: {interface}") + subprocess.run(["sudo", "ifconfig", interface, "up"], check=True) + + # Wait a bit for network to come back up + await asyncio.sleep(3) + logger.info("Network interface restored") + + except Exception as e: + logger.error(f"Network interface manipulation failed: {e}") + logger.info("This method requires sudo privileges") + return False + + return True + + +async def main(): + client = await AsyncClient.create() + bm = BinanceSocketManager(client) + + # Test futures kline socket to reproduce the 1001 reconnection issue + async with bm.multiplex_socket(["btcusdt@kline_1s"]) as tscm: + logger.info("Futures kline websocket started") + count = 0 + while True: + try: + logger.info("Awaiting message...") + t = await tscm.recv() + logger.info("Message received") + count += 1 + + # Simulate realistic network disconnect after receiving some messages + if count == 5: + logger.info("Triggering network disconnect simulation...") + # Run network disconnect simulation in background + asyncio.create_task(simulate_network_disconnect()) + + print(f"Message {count}: {t}") + + except Exception as e: + logger.error(f"Error occurred: {e}") + logger.error(f"Error type: {type(e)}") + # Check if we get the ConnectionClosedOK error + if "ConnectionClosedOK" in str(e) or "1001" in str(e): + logger.error( + "Got the 1001 'going away' error - this should trigger reconnection" + ) + logger.error( + "Waiting to see if websocket reconnects automatically..." + ) + await asyncio.sleep(5) # Wait to see if reconnection happens + else: + raise e + + await client.close_connection() + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/FUMADOCS_SETUP.md b/FUMADOCS_SETUP.md new file mode 100644 index 00000000..36734e4f --- /dev/null +++ b/FUMADOCS_SETUP.md @@ -0,0 +1,246 @@ +# Fumadocs Setup for python-binance + +This document describes the Fumadocs setup for generating and serving API documentation for the python-binance library. + +## Overview + +Fumadocs is a documentation framework that generates beautiful, searchable documentation from Python docstrings. This setup converts the python-binance package into a Next.js-powered documentation website. + +## Project Structure + +``` +python-binance/ +├── app/ # Next.js app directory +│ ├── docs/ # Documentation pages +│ │ ├── layout.tsx # Docs layout +│ │ └── [[...slug]]/ # Dynamic doc pages +│ ├── globals.css # Global styles with Fumadocs themes +│ ├── layout.tsx # Root layout +│ └── page.tsx # Home page +├── content/ # Generated MDX documentation +│ └── docs/ # API docs (auto-generated) +│ └── (api)/ # API reference +├── lib/ # Library code +│ └── source.ts # Fumadocs content source configuration +├── scripts/ # Build scripts +│ └── generate-docs.mjs # MDX generation script +├── generate_docs.py # Python script to generate JSON from binance package +├── mdx-components.tsx # MDX components configuration +├── next.config.mjs # Next.js configuration +├── tsconfig.json # TypeScript configuration +└── package.json # Node.js dependencies and scripts +``` + +## Installation + +### Prerequisites + +- Python 3.9+ with python-binance installed in development mode +- Node.js 18+ and npm + +### Setup Steps + +1. **Install Python dependencies**: + ```bash + pip install -e . + pip install ./node_modules/fumadocs-python + ``` + +2. **Install Node.js dependencies**: + ```bash + npm install + ``` + +## Usage + +### Generate Documentation + +Generate API documentation from the python-binance package: + +```bash +npm run generate-docs +``` + +This command runs two sub-commands: +- `generate-json`: Extracts API documentation from Python docstrings into `binance.json` +- `generate-mdx`: Converts the JSON into MDX files in `content/docs/(api)/` + +### Development + +Start the development server: + +```bash +npm run dev +``` + +Visit http://localhost:3000 to see the documentation site. + +### Production Build + +Build the documentation site for production: + +```bash +npm run build +``` + +This will: +1. Generate the latest API documentation +2. Build the Next.js application + +Start the production server: + +```bash +npm run start +``` + +## How It Works + +### 1. Documentation Extraction (generate_docs.py) + +The Python script uses `griffe` and `fumadocs-python` to extract documentation from the binance package: + +- Loads the `binance` module using griffe +- Patches the version lookup to handle the package name mismatch (module: "binance", package: "python-binance") +- Parses all classes, functions, and modules with their docstrings +- Outputs structured JSON to `binance.json` + +### 2. MDX Conversion (scripts/generate-docs.mjs) + +The Node.js script converts the JSON into MDX files: + +- Reads `binance.json` +- Uses `fumadocs-python` to convert the structure into MDX format +- Generates files in `content/docs/(api)/` with proper frontmatter and components + +### 3. Next.js Integration + +The Next.js app serves the documentation: + +- **lib/source.ts**: Configures fumadocs to load MDX files +- **app/docs/layout.tsx**: Provides the documentation layout with sidebar navigation +- **app/docs/[[...slug]]/page.tsx**: Renders individual documentation pages +- **mdx-components.tsx**: Registers Python-specific MDX components + +### 4. Styling + +Fumadocs comes with pre-built themes: + +- `fumadocs-ui/css/neutral.css`: Neutral color theme +- `fumadocs-ui/css/preset.css`: Base styles +- `fumadocs-python/preset.css`: Python-specific component styles + +## Customization + +### Changing the Theme + +Edit `app/globals.css` to use a different color theme: + +```css +@import 'tailwindcss'; +@import 'fumadocs-ui/css/ocean.css'; /* ocean theme */ +@import 'fumadocs-ui/css/preset.css'; +@import 'fumadocs-python/preset.css'; +``` + +Available themes: `neutral`, `ocean`, `catppuccin` + +### Adding Custom Pages + +Add MDX files to `content/docs/` (outside of `(api)/`) to create custom documentation pages: + +``` +content/docs/ +├── (api)/ # Auto-generated API docs (don't edit) +├── getting-started.mdx +├── examples.mdx +└── guides/ + └── trading.mdx +``` + +### Modifying the Layout + +Edit `app/docs/layout.tsx` to customize: + +- Navigation title +- Sidebar structure +- Footer content +- Search configuration + +## Troubleshooting + +### Package Name Mismatch + +If you see `PackageNotFoundError: No package metadata was found for binance`, ensure: + +1. python-binance is installed: `pip install -e .` +2. The `generate_docs.py` script correctly patches the version lookup + +### MDX Generation Fails + +If `npm run generate-mdx` fails: + +1. Ensure `binance.json` exists and is valid +2. Check that all fumadocs packages are installed +3. Try removing `content/docs/(api)/` and regenerating + +### TypeScript Errors + +Run the TypeScript compiler to check for errors: + +```bash +npx tsc --noEmit +``` + +### Development Server Issues + +If the development server won't start: + +1. Delete `.next/` directory: `rm -rf .next` +2. Clear node_modules: `rm -rf node_modules && npm install` +3. Regenerate docs: `npm run generate-docs` + +## CI/CD Integration + +To integrate documentation generation into your CI/CD pipeline: + +```yaml +# .github/workflows/docs.yml +name: Generate Docs + +on: + push: + branches: [main, master] + +jobs: + docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.9' + - uses: actions/setup-node@v3 + with: + node-version: '18' + + - name: Install dependencies + run: | + pip install -e . + npm install + pip install ./node_modules/fumadocs-python + + - name: Generate docs + run: npm run generate-docs + + - name: Build site + run: npm run build + + # Deploy to your hosting platform +``` + +## Additional Resources + +- [Fumadocs Documentation](https://fumadocs.dev) +- [Fumadocs Python Plugin](https://fumadocs.dev/docs/headless/python) +- [Next.js Documentation](https://nextjs.org/docs) +- [python-binance Repository](https://github.com/sammchardy/python-binance) diff --git a/IMPLEMENTATION_SUMMARY.md b/IMPLEMENTATION_SUMMARY.md new file mode 100644 index 00000000..6f53cbcd --- /dev/null +++ b/IMPLEMENTATION_SUMMARY.md @@ -0,0 +1,180 @@ +# Verbose Mode Implementation Summary + +## Overview +Added verbose mode functionality to python-binance for enhanced debugging capabilities, similar to other popular Python libraries like ccxt. + +## Changes Made + +### Code Changes + +#### 1. `binance/base_client.py` +- Added `logging` import +- Added `verbose` parameter to `__init__()` method (default: `False`) +- Initialized logger with proper configuration +- Set logging level to DEBUG when verbose=True, INFO otherwise + +#### 2. `binance/client.py` +- Added `verbose` parameter to `Client.__init__()` method +- Passed verbose parameter to parent `BaseClient` +- Modified `_request()` method to log detailed information when verbose mode is enabled +- Logs include: HTTP method, URL, headers, request body, status code, response headers, response body (truncated to 1000 chars) + +#### 3. `binance/async_client.py` +- Added `verbose` parameter to `AsyncClient.__init__()` method +- Added `verbose` parameter to `AsyncClient.create()` class method +- Passed verbose parameter to parent `BaseClient` +- Modified `_request()` method to log detailed information when verbose mode is enabled +- Same logging format as synchronous client + +### Documentation Changes + +#### 1. `docs/overview.rst` +- Added "Verbose Mode" subsection under the Logging section +- Included usage examples for both sync and async clients +- Documented what information is logged +- Provided sample log output +- Added note about production usage + +#### 2. `docs/faqs.rst` +- Added new FAQ entry: "How can I debug API issues?" +- Provided quick example of enabling verbose mode +- Linked to detailed documentation in overview.rst + +#### 3. `docs/changelog.rst` +- Added entry for v1.0.33 documenting the new verbose mode feature + +### Examples + +#### 1. `examples/verbose_mode.py` +- Basic example demonstrating verbose mode usage +- Shows comparison between verbose and non-verbose output + +#### 2. `examples/verbose_debugging.py` +- Advanced example showing debugging scenarios +- Demonstrates debugging public API calls, authenticated calls, and comparing outputs +- Includes helpful notes about when to use verbose mode + +### Additional Documentation + +#### 1. `VERBOSE_MODE.md` +- Comprehensive standalone documentation +- Covers features, usage, log format, use cases, and performance considerations +- Provides examples for both sync and async clients + +### Tests + +#### 1. `tests/test_verbose_mode.py` +- Tests for Client verbose initialization +- Tests for AsyncClient verbose initialization +- Verifies default behavior (verbose=False) +- Verifies logger configuration +- All tests pass successfully + +## Features + +### Verbose Mode Characteristics +- **Two logging levels**: + - `verbose=True`: Detailed request/response logging with formatted output + - `verbose=False` (default): Standard debug logging only +- **Response truncation**: Response bodies limited to 1000 characters to prevent excessive output +- **Standard logging integration**: Uses Python's built-in logging module +- **Backward compatible**: Default behavior unchanged (verbose=False) + +### Logged Information (when verbose=True) +- Request method (GET, POST, etc.) +- Full request URL +- Request headers +- Request body (if present) +- Response status code +- Response headers +- Response body (truncated to 1000 chars) + +## Testing Results + +### Test Coverage +- ✅ All existing tests pass +- ✅ New verbose mode tests pass (6/6) +- ✅ Client initialization tests pass +- ✅ AsyncClient initialization tests pass +- ✅ API request tests pass + +### Manual Testing +- ✅ Tested with sync Client +- ✅ Tested with AsyncClient +- ✅ Verified logging output format +- ✅ Verified verbose and non-verbose modes work correctly + +## Usage Examples + +### Synchronous Client +```python +from binance.client import Client + +# Enable verbose mode +client = Client(api_key='your_key', api_secret='your_secret', verbose=True) + +# All API calls will now log detailed information +server_time = client.get_server_time() +``` + +### Async Client +```python +import asyncio +from binance.async_client import AsyncClient + +async def main(): + client = await AsyncClient.create( + api_key='your_key', + api_secret='your_secret', + verbose=True + ) + server_time = await client.get_server_time() + await client.close_connection() + +asyncio.run(main()) +``` + +## Benefits + +1. **Enhanced Debugging**: See exactly what's being sent and received +2. **Troubleshooting**: Diagnose authentication, signature, and network issues +3. **Development Aid**: Understand API behavior during development +4. **Educational**: Learn how the library interacts with Binance API +5. **Production Safe**: Disabled by default, minimal overhead when enabled + +## Performance Considerations + +- Minimal overhead when verbose=False (default) +- Response truncation prevents excessive memory usage +- Uses Python's standard logging framework for flexibility +- Can be easily integrated with existing logging configurations + +## Comparison with Other Libraries + +This implementation follows the pattern used by popular Python libraries: +- Similar to ccxt's `verbose` parameter +- Follows Python logging best practices +- Maintains consistency with library's existing architecture + +## Files Modified +- `binance/base_client.py` +- `binance/client.py` +- `binance/async_client.py` +- `docs/overview.rst` +- `docs/faqs.rst` +- `docs/changelog.rst` + +## Files Created +- `examples/verbose_mode.py` +- `examples/verbose_debugging.py` +- `tests/test_verbose_mode.py` +- `VERBOSE_MODE.md` +- `IMPLEMENTATION_SUMMARY.md` (this file) + +## Backward Compatibility + +✅ **Fully backward compatible** +- Default behavior unchanged (verbose=False) +- No breaking changes to existing code +- Optional parameter that doesn't affect existing usage +- All existing tests pass without modification diff --git a/VERBOSE_MODE.md b/VERBOSE_MODE.md new file mode 100644 index 00000000..41e5a884 --- /dev/null +++ b/VERBOSE_MODE.md @@ -0,0 +1,274 @@ +# Verbose Mode + +The python-binance library supports verbose mode for debugging purposes. When enabled, verbose mode provides detailed logging of all HTTP requests and responses. + +## Features + +- Detailed request logging (method, URL, headers, body) +- Detailed response logging (status code, headers, body) +- Compatible with both `Client` and `AsyncClient` +- Standard Python logging framework integration +- Two ways to enable: `verbose` parameter or Python's logging module + +## Usage + +### Method 1: Using the `verbose` Parameter (Quick & Easy) + +This is the quickest way to enable verbose logging, similar to libraries like ccxt. + +#### Synchronous Client + +```python +from binance.client import Client +import logging + +# Configure logging to see output +logging.basicConfig(level=logging.DEBUG) + +# Enable verbose mode +client = Client(api_key='your_api_key', api_secret='your_api_secret', verbose=True) + +# All API calls will now log detailed information +server_time = client.get_server_time() +``` + +#### Async Client + +```python +import asyncio +import logging +from binance.async_client import AsyncClient + +logging.basicConfig(level=logging.DEBUG) + +async def main(): + # Enable verbose mode + client = await AsyncClient.create( + api_key='your_api_key', + api_secret='your_api_secret', + verbose=True + ) + + # All API calls will now log detailed information + server_time = await client.get_server_time() + + await client.close_connection() + +asyncio.run(main()) +``` + +### Method 2: Using Python's Logging Module (More Control) + +For production environments or when you need fine-grained control over logging, use Python's standard logging module. + +```python +import logging +from binance.client import Client + +# Configure logging +logging.basicConfig( + level=logging.INFO, # Set root level + format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' +) + +# Enable debug logging for binance only +logging.getLogger('binance.base_client').setLevel(logging.DEBUG) + +# Create client (no verbose parameter needed) +client = Client(api_key='your_api_key', api_secret='your_api_secret') + +# Detailed logs will be shown +server_time = client.get_server_time() +``` + +This approach is more Pythonic and integrates better with existing logging infrastructure. + +## Log Output Format + +When verbose mode is enabled, you'll see logs in the following format: + +``` +2025-11-30 22:01:26,957 - binance.base_client - DEBUG - +Request: GET https://api.binance.com/api/v3/time +RequestHeaders: {'Accept': 'application/json', 'Content-Type': 'application/json'} +RequestBody: None +Response: 200 +ResponseHeaders: {'Content-Type': 'application/json;charset=UTF-8', ...} +ResponseBody: {"serverTime":1764536487218} +``` + +## Logging Configuration + +The verbose mode uses Python's standard `logging` module. You can customize the logging behavior: + +```python +import logging +from binance.client import Client + +# Configure logging format and level +logging.basicConfig( + level=logging.DEBUG, + format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' +) + +client = Client(verbose=True) +``` + +## Use Cases + +Verbose mode is particularly useful for: + +1. **Debugging API issues**: See exactly what's being sent and received +2. **Development**: Understand the API behavior during development +3. **Troubleshooting**: Diagnose connection or authentication problems +4. **Learning**: Understand how the library interacts with the Binance API + +## Performance Considerations + +- Verbose mode logs can be large, especially for responses with lots of data +- Response bodies are truncated to 1000 characters in logs to prevent excessive output +- For production use, keep verbose mode disabled (default) to minimize overhead + +## WebSocket Verbose Logging + +WebSocket connections support verbose mode just like REST API calls. + +### Method 1: Using the `verbose` Parameter + +The quickest way to enable verbose logging for WebSocket connections: + +```python +import asyncio +import logging +from binance import AsyncClient, BinanceSocketManager + +# Configure logging to see output +logging.basicConfig(level=logging.DEBUG) + +async def main(): + client = await AsyncClient.create() + + # Enable verbose mode for WebSocket connections + bm = BinanceSocketManager(client, verbose=True) + + # WebSocket messages will be logged at DEBUG level + ts = bm.trade_socket('BTCUSDT') + async with ts as tscm: + msg = await tscm.recv() + print(msg) + + await client.close_connection() + +asyncio.run(main()) +``` + +### Method 2: Using Python's Logging Module + +For more control, use Python's standard logging module: + +```python +import asyncio +import logging +from binance import AsyncClient, BinanceSocketManager + +# Configure logging +logging.basicConfig(level=logging.DEBUG) + +# Enable debug logging for all WebSocket connections +logging.getLogger('binance.ws').setLevel(logging.DEBUG) + +async def main(): + client = await AsyncClient.create() + bm = BinanceSocketManager(client) + + # WebSocket messages will be logged at DEBUG level + ts = bm.trade_socket('BTCUSDT') + async with ts as tscm: + msg = await tscm.recv() + print(msg) + + await client.close_connection() + +asyncio.run(main()) +``` + +### Threaded WebSocket Manager + +Enable verbose mode for the threaded WebSocket manager: + +```python +import logging +from binance.ws.threaded_stream import ThreadedApiManager + +logging.basicConfig(level=logging.DEBUG) + +# Enable verbose mode +twm = ThreadedApiManager( + api_key='your_api_key', + api_secret='your_api_secret', + verbose=True +) +twm.start() + +# Use the manager... +``` + +### Granular WebSocket Logging + +Enable logging for specific WebSocket components: + +```python +# Log only WebSocket API messages +logging.getLogger('binance.ws.websocket_api').setLevel(logging.DEBUG) + +# Log reconnection events +logging.getLogger('binance.ws.reconnecting_websocket').setLevel(logging.DEBUG) + +# Log stream events +logging.getLogger('binance.ws.streams').setLevel(logging.DEBUG) +``` + +### WebSocket Debug Information + +When WebSocket debug logging is enabled, you'll see: +- Raw received messages +- Connection state changes +- Reconnection attempts +- Subscription events +- Error messages + +### Combined REST + WebSocket Verbose Logging + +For comprehensive debugging, enable verbose mode for both: + +```python +import asyncio +import logging +from binance import AsyncClient, BinanceSocketManager + +logging.basicConfig(level=logging.DEBUG) + +async def main(): + # Enable verbose for both REST API and WebSocket + client = await AsyncClient.create(verbose=True) + bm = BinanceSocketManager(client, verbose=True) + + # Now both REST and WebSocket will log detailed information + await client.get_server_time() # Verbose REST logging + + ts = bm.trade_socket('BTCUSDT') + async with ts as tscm: + msg = await tscm.recv() # Verbose WebSocket logging + print(msg) + + await client.close_connection() + +asyncio.run(main()) +``` + +## Comparison with Standard Debug Logging + +- **Verbose mode OFF** (default): Only minimal debug logs are produced +- **Verbose mode ON**: Detailed request/response information is logged + +This is similar to how other popular Python libraries handle debugging, such as the `ccxt` library. diff --git a/benchmarks.json b/benchmarks.json new file mode 100644 index 00000000..623d7194 --- /dev/null +++ b/benchmarks.json @@ -0,0 +1,45278 @@ +{ + "machine_info": { + "node": "Pablos-MacBook-Pro.local", + "processor": "arm", + "machine": "arm64", + "python_compiler": "Clang 16.0.0 (clang-1600.0.26.6)", + "python_implementation": "CPython", + "python_implementation_version": "3.12.8", + "python_version": "3.12.8", + "python_build": [ + "main", + "Dec 21 2024 12:19:35" + ], + "release": "24.2.0", + "system": "Darwin", + "cpu": { + "python_version": "3.12.8.final.0 (64 bit)", + "cpuinfo_version": [ + 9, + 0, + 0 + ], + "cpuinfo_version_string": "9.0.0", + "arch": "ARM_8", + "bits": 64, + "count": 14, + "arch_string_raw": "arm64", + "brand_raw": "Apple M4 Pro" + } + }, + "commit_info": { + "id": "cf7debb9a92f97ebca0899dd9fafd6ab803ebafd", + "time": "2025-02-21T16:38:22-06:00", + "author_time": "2025-02-21T16:38:22-06:00", + "dirty": true, + "project": "python-binance", + "branch": "master" + }, + "benchmarks": [ + { + "group": "ws-api", + "name": "test_benchmark_ws_api_get_order_book", + "fullname": "tests/test_ws_api.py::test_benchmark_ws_api_get_order_book", + "params": null, + "param": null, + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.67001586407423e-07, + "max": 5.645898636430502e-05, + "mean": 8.32452662917195e-07, + "stddev": 5.054586402686939e-07, + "rounds": 45198, + "median": 7.919734343886375e-07, + "iqr": 8.300412446260452e-08, + "q1": 7.500057108700275e-07, + "q3": 8.330098353326321e-07, + "iqr_outliers": 3661, + "stddev_outliers": 379, + "outliers": "379;3661", + "ld15iqr": 6.67001586407423e-07, + "hd15iqr": 9.579816833138466e-07, + "ops": 1201269.5070199699, + "total": 0.03762519545853138, + "data": [ + 4.208995960652828e-06, + 1.8330174498260021e-06, + 1.0420335456728935e-06, + 1.0829535312950611e-06, + 9.170034900307655e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 9.5803989097476e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 9.589712135493755e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 9.169452823698521e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 1.8749851733446121e-06, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 2.874992787837982e-06, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 8.750357665121555e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 9.5803989097476e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 1.167005393654108e-06, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 3.917026333510876e-06, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 9.159557521343231e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.5803989097476e-07, + 1.0829535312950611e-06, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.5803989097476e-07, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 9.5803989097476e-07, + 9.999494068324566e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 1.0840012691915035e-06, + 1.0830117389559746e-06, + 1.04197533801198e-06, + 9.170034900307655e-07, + 9.999494068324566e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.0830117389559746e-06, + 7.919734343886375e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 3.834022209048271e-06, + 9.170034900307655e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 1.0410440154373646e-06, + 1.0840012691915035e-06, + 1.0830117389559746e-06, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.0410440154373646e-06, + 9.579816833138466e-07, + 9.999494068324566e-07, + 1.0410440154373646e-06, + 1.0840012691915035e-06, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.579816833138466e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 2.416956704109907e-06, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.340575732290745e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 9.579816833138466e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.159557521343231e-07, + 1.0420335456728935e-06, + 1.04197533801198e-06, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 9.160139597952366e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 2.500019036233425e-06, + 9.170034900307655e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 9.159557521343231e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.295795664191246e-05, + 6.166985258460045e-06, + 1.7919810488820076e-06, + 1.167005393654108e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 1.3329554349184036e-06, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 2.4170149117708206e-06, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.160139597952366e-07, + 9.169452823698521e-07, + 9.5803989097476e-07, + 1.0830117389559746e-06, + 1.0420335456728935e-06, + 9.5803989097476e-07, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 3.5829725675284863e-06, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 1.0409858077764511e-06, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 4.082976374775171e-06, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 1.0409858077764511e-06, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 9.159557521343231e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 9.160139597952366e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 4.292000085115433e-06, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 1.166015863418579e-06, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 9.159557521343231e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 2.749962732195854e-06, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 9.169452823698521e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 2.2919848561286926e-06, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 1.5410478226840496e-06, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.159557521343231e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.04197533801198e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.5803989097476e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 9.999494068324566e-07, + 1.00000761449337e-06, + 1.125037670135498e-06, + 9.579816833138466e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 1.0829535312950611e-06, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 9.579816833138466e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 9.999494068324566e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.04197533801198e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 1.0840012691915035e-06, + 9.5803989097476e-07, + 1.04197533801198e-06, + 9.579816833138466e-07, + 1.5409896150231361e-06, + 1.00000761449337e-06, + 3.2499665394425392e-06, + 1.00000761449337e-06, + 1.1249794624745846e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 1.0420335456728935e-06, + 1.0830117389559746e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.04197533801198e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.0420335456728935e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.208973117172718e-06, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.5803989097476e-07, + 1.0830117389559746e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 9.589712135493755e-07, + 1.04197533801198e-06, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 1.0840012691915035e-06, + 1.0410440154373646e-06, + 9.999494068324566e-07, + 1.0830117389559746e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 9.169452823698521e-07, + 1.04197533801198e-06, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 1.04197533801198e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.708976924419403e-06, + 9.579816833138466e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 1.1249794624745846e-06, + 1.125037670135498e-06, + 1.0409858077764511e-06, + 1.0840012691915035e-06, + 9.579816833138466e-07, + 1.0830117389559746e-06, + 1.0410440154373646e-06, + 9.5803989097476e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.0830117389559746e-06, + 1.04197533801198e-06, + 1.0410440154373646e-06, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 1.0830117389559746e-06, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 9.999494068324566e-07, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 9.579816833138466e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.59029421210289e-07, + 1.04197533801198e-06, + 9.579816833138466e-07, + 1.0410440154373646e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 1.1249794624745846e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 1.0410440154373646e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 1.0410440154373646e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 1.00000761449337e-06, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 1.00000761449337e-06, + 9.169452823698521e-07, + 1.0410440154373646e-06, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 1.0420335456728935e-06, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.579816833138466e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.0830117389559746e-06, + 1.3583980035036802e-05, + 1.387501833960414e-05, + 2.1249870769679546e-06, + 1.167005393654108e-06, + 1.0830117389559746e-06, + 8.750357665121555e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 9.169452823698521e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 1.500011421740055e-06, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 2.625049091875553e-06, + 9.5803989097476e-07, + 1.04197533801198e-06, + 1.500011421740055e-06, + 1.0840012691915035e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.1249794624745846e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 8.750357665121555e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.589712135493755e-07, + 9.5803989097476e-07, + 1.6660196706652641e-06, + 1.00000761449337e-06, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 1.0410440154373646e-06, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 1.0830117389559746e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.0829535312950611e-06, + 9.5803989097476e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.999494068324566e-07, + 9.5803989097476e-07, + 9.5803989097476e-07, + 9.999494068324566e-07, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 9.999494068324566e-07, + 1.00000761449337e-06, + 1.7079873941838741e-06, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 2.416956704109907e-06, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 2.3329630494117737e-06, + 8.750357665121555e-07, + 9.579816833138466e-07, + 1.0830117389559746e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.999494068324566e-07, + 9.160139597952366e-07, + 1.00000761449337e-06, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 9.169452823698521e-07, + 1.1249794624745846e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 2.666027285158634e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.0409858077764511e-06, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.1249794624745846e-06, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.169452823698521e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.340575732290745e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 1.2080417945981026e-06, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 1.541979145258665e-06, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 1.0830117389559746e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.207983586937189e-06, + 1.0830117389559746e-06, + 1.0830117389559746e-06, + 9.5803989097476e-07, + 1.0409858077764511e-06, + 9.5803989097476e-07, + 1.04197533801198e-06, + 1.0409858077764511e-06, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 2.4170149117708206e-06, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 2.2500171326100826e-06, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 1.3750395737588406e-06, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 2.292043063789606e-06, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 1.2500095181167126e-06, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 9.170034900307655e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 1.4160177670419216e-06, + 8.749775588512421e-07, + 9.160139597952366e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 9.579816833138466e-07, + 1.04197533801198e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.5803989097476e-07, + 1.04197533801198e-06, + 3.1249946914613247e-06, + 1.1249794624745846e-06, + 9.59029421210289e-07, + 1.1249794624745846e-06, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 1.00000761449337e-06, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 1.1249794624745846e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 2.0830193534493446e-06, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 9.159557521343231e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 1.0410440154373646e-06, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.749775588512421e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 2.4579931050539017e-06, + 8.329516276717186e-07, + 3.0829687602818012e-06, + 8.749775588512421e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 1.458043698221445e-06, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 9.169452823698521e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 1.5420373529195786e-06, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.340575732290745e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.04197533801198e-06, + 9.59029421210289e-07, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 9.589712135493755e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 1.834006980061531e-06, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 1.5409896150231361e-06, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 1.207983586937189e-06, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 1.4999532140791416e-06, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 3.5830307751893997e-06, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 2.2919848561286926e-06, + 8.33999365568161e-07, + 7.919734343886375e-07, + 1.4579854905605316e-06, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 1.2500095181167126e-06, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 3.04199056699872e-06, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 1.8750433810055256e-06, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.5803989097476e-07, + 1.04197533801198e-06, + 1.0840012691915035e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.0830117389559746e-06, + 2.0840088836848736e-06, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.5803989097476e-07, + 1.0420335456728935e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.9579892978072166e-06, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 1.459033228456974e-06, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 2.04198295250535e-06, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 1.541979145258665e-06, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 1.4579854905605316e-06, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 2.500019036233425e-06, + 1.0840012691915035e-06, + 9.579816833138466e-07, + 9.5803989097476e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 9.170034900307655e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 1.4170072972774506e-06, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 2.708984538912773e-06, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 1.8749851733446121e-06, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 2.500019036233425e-06, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 2.7500209398567677e-06, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 1.915963366627693e-06, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 1.167005393654108e-06, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.999494068324566e-07, + 9.579816833138466e-07, + 1.458043698221445e-06, + 9.999494068324566e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.04197533801198e-06, + 1.0420335456728935e-06, + 1.1249794624745846e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 1.2125005014240742e-05, + 3.4580007195472717e-06, + 1.125037670135498e-06, + 1.00000761449337e-06, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 1.04197533801198e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 1.0420335456728935e-06, + 9.170034900307655e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.0410440154373646e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.0410440154373646e-06, + 1.0409858077764511e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 9.999494068324566e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 7.500057108700275e-07, + 1.6249832697212696e-06, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 1.0420335456728935e-06, + 1.04197533801198e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 1.0409858077764511e-06, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 9.159557521343231e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 9.579816833138466e-07, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 9.999494068324566e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.160139597952366e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.5803989097476e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 1.0410440154373646e-06, + 9.170034900307655e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 1.04197533801198e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.160139597952366e-07, + 1.04197533801198e-06, + 9.170034900307655e-07, + 9.999494068324566e-07, + 1.0409858077764511e-06, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 7.079797796905041e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.0829535312950611e-06, + 1.0840012691915035e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.999494068324566e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 2.334010787308216e-06, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 9.170034900307655e-07, + 1.0420335456728935e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.159557521343231e-07, + 9.59029421210289e-07, + 9.5803989097476e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 1.0840012691915035e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.1249794624745846e-06, + 1.04197533801198e-06, + 1.0830117389559746e-06, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 3.2919924706220627e-06, + 1.04197533801198e-06, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 9.999494068324566e-07, + 1.04197533801198e-06, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.159557521343231e-07, + 9.59029421210289e-07, + 1.0830117389559746e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 9.160139597952366e-07, + 9.5803989097476e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.079797796905041e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 1.00000761449337e-06, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 7.08969309926033e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.170034900307655e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.169452823698521e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 1.0829535312950611e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.0410440154373646e-06, + 2.040993422269821e-06, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 9.169452823698521e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.999494068324566e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.0830117389559746e-06, + 9.589712135493755e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.169452823698521e-07, + 9.170034900307655e-07, + 1.0410440154373646e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0830117389559746e-06, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 2.834014594554901e-06, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 1.8330174498260021e-06, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 2.707995008677244e-06, + 9.5803989097476e-07, + 1.0830117389559746e-06, + 1.0420335456728935e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.999494068324566e-07, + 1.04197533801198e-06, + 9.589712135493755e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.159557521343231e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.0840012691915035e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.999494068324566e-07, + 1.04197533801198e-06, + 9.5803989097476e-07, + 1.0409858077764511e-06, + 1.0420335456728935e-06, + 1.0420335456728935e-06, + 1.04197533801198e-06, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 9.579816833138466e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.340575732290745e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.340575732290745e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 9.159557521343231e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.159557521343231e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 2.834014594554901e-06, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 9.160139597952366e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 9.159557521343231e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.589712135493755e-07, + 1.125037670135498e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.5803989097476e-07, + 9.999494068324566e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 4.375004209578037e-06, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 1.0829535312950611e-06, + 9.5803989097476e-07, + 1.0410440154373646e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 9.5803989097476e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 1.5829573385417461e-06, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 9.59029421210289e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.0840012691915035e-06, + 9.579816833138466e-07, + 9.5803989097476e-07, + 9.5803989097476e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 1.5410478226840496e-06, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.340575732290745e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 2.707995008677244e-06, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 2.1249870769679546e-06, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 2.2500171326100826e-06, + 8.330098353326321e-07, + 9.159557521343231e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 9.589712135493755e-07, + 1.0420335456728935e-06, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 1.0829535312950611e-06, + 9.170034900307655e-07, + 9.5803989097476e-07, + 1.0420335456728935e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 1.7500133253633976e-06, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 9.999494068324566e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 9.999494068324566e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0840012691915035e-06, + 1.00000761449337e-06, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 1.0829535312950611e-06, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 3.5829725675284863e-06, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 2.1249870769679546e-06, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.04197533801198e-06, + 1.04197533801198e-06, + 1.0420335456728935e-06, + 9.170034900307655e-07, + 8.750357665121555e-07, + 1.125037670135498e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.159557521343231e-07, + 9.59029421210289e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.589712135493755e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 9.160139597952366e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.00000761449337e-06, + 7.080379873514175e-07, + 9.5803989097476e-07, + 1.04197533801198e-06, + 9.5803989097476e-07, + 9.5803989097476e-07, + 9.169452823698521e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.04197533801198e-06, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 9.999494068324566e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.999494068324566e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 9.169452823698521e-07, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.160139597952366e-07, + 1.08394306153059e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.04197533801198e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 2.4160253815352917e-06, + 8.750357665121555e-07, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 9.59029421210289e-07, + 1.04197533801198e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.160139597952366e-07, + 8.750357665121555e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.999494068324566e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 9.159557521343231e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.5803989097476e-07, + 1.04197533801198e-06, + 9.579816833138466e-07, + 9.5803989097476e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.333013642579317e-06, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.999494068324566e-07, + 9.5803989097476e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 1.0830117389559746e-06, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.59029421210289e-07, + 1.04197533801198e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 8.749775588512421e-07, + 9.5803989097476e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.589712135493755e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 9.999494068324566e-07, + 1.0830117389559746e-06, + 1.0840012691915035e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.170034900307655e-07, + 1.04197533801198e-06, + 1.04197533801198e-06, + 9.5803989097476e-07, + 9.169452823698521e-07, + 1.0830117389559746e-06, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.5803989097476e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 9.999494068324566e-07, + 1.0410440154373646e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.59029421210289e-07, + 9.999494068324566e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.59029421210289e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 1.0830117389559746e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.160139597952366e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 9.5803989097476e-07, + 9.59029421210289e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.0420335456728935e-06, + 9.5803989097476e-07, + 9.5803989097476e-07, + 9.999494068324566e-07, + 1.0409858077764511e-06, + 1.1249794624745846e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.160139597952366e-07, + 1.00000761449337e-06, + 9.159557521343231e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.04197533801198e-06, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 9.160139597952366e-07, + 9.170034900307655e-07, + 1.1249794624745846e-06, + 1.00000761449337e-06, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 1.0420335456728935e-06, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.170034900307655e-07, + 1.0830117389559746e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.0409858077764511e-06, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.04197533801198e-06, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 1.0840012691915035e-06, + 1.0830117389559746e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 3.7910067476332188e-06, + 1.04197533801198e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.2500095181167126e-06, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 9.170034900307655e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.169452823698521e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.0410440154373646e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.159557521343231e-07, + 1.5409896150231361e-06, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 9.5803989097476e-07, + 1.04197533801198e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.0409858077764511e-06, + 9.5803989097476e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 1.00000761449337e-06, + 9.169452823698521e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 1.1249794624745846e-06, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 1.4579854905605316e-06, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 9.5803989097476e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.125037670135498e-06, + 9.5803989097476e-07, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 9.160139597952366e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.0829535312950611e-06, + 1.00000761449337e-06, + 8.750357665121555e-07, + 9.579816833138466e-07, + 1.0830117389559746e-06, + 9.589712135493755e-07, + 9.160139597952366e-07, + 9.999494068324566e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 1.0410440154373646e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.0420335456728935e-06, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.04197533801198e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.169452823698521e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 9.169452823698521e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0410440154373646e-06, + 9.5803989097476e-07, + 1.6660196706652641e-06, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.160139597952366e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.0829535312950611e-06, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 9.159557521343231e-07, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 4.125002305954695e-06, + 1.04197533801198e-06, + 9.5803989097476e-07, + 9.579816833138466e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.999494068324566e-07, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.0829535312950611e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0829535312950611e-06, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 1.0830117389559746e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.999494068324566e-07, + 9.589712135493755e-07, + 9.170034900307655e-07, + 9.159557521343231e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.0410440154373646e-06, + 1.04197533801198e-06, + 9.59029421210289e-07, + 1.0830117389559746e-06, + 1.0420335456728935e-06, + 9.999494068324566e-07, + 9.5803989097476e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 2.7919886633753777e-06, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 1.04197533801198e-06, + 9.5803989097476e-07, + 8.749775588512421e-07, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.59029421210289e-07, + 1.0829535312950611e-06, + 9.589712135493755e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.159557521343231e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.9999570213258266e-06, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 1.5830155462026596e-06, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 1.04197533801198e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 1.0840012691915035e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0829535312950611e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 3.833032678812742e-06, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 1.0420335456728935e-06, + 9.999494068324566e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0830117389559746e-06, + 9.589712135493755e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.160139597952366e-07, + 9.999494068324566e-07, + 9.579816833138466e-07, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 1.0409858077764511e-06, + 9.160139597952366e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.160139597952366e-07, + 1.00000761449337e-06, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.170034900307655e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.579816833138466e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 1.5840050764381886e-06, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 3.334018401801586e-06, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.5803989097476e-07, + 1.0410440154373646e-06, + 1.0409858077764511e-06, + 9.160139597952366e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 2.7909991331398487e-06, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 9.160139597952366e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.169452823698521e-07, + 9.5803989097476e-07, + 1.0410440154373646e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.0410440154373646e-06, + 9.169452823698521e-07, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 2.2080494090914726e-06, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 2.208980731666088e-06, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.169452823698521e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 1.5249999705702066e-05, + 3.04199056699872e-06, + 1.2909877113997936e-06, + 1.0840012691915035e-06, + 1.00000761449337e-06, + 8.749775588512421e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 9.5803989097476e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.9579892978072166e-06, + 9.59029421210289e-07, + 9.999494068324566e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 2.1249870769679546e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.0840012691915035e-06, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.999494068324566e-07, + 9.5803989097476e-07, + 1.0410440154373646e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 3.667024429887533e-06, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 3.04199056699872e-06, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 2.6659690774977207e-06, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 9.159557521343231e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 1.0409858077764511e-06, + 9.5803989097476e-07, + 1.0840012691915035e-06, + 1.0409858077764511e-06, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.999494068324566e-07, + 9.5803989097476e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 1.8749851733446121e-06, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.04197533801198e-06, + 9.5803989097476e-07, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0829535312950611e-06, + 9.589712135493755e-07, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 1.3750395737588406e-06, + 1.374981366097927e-06, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 9.159557521343231e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 2.9999646358191967e-06, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 2.125045284628868e-06, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 1.167005393654108e-06, + 8.750357665121555e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 5.645898636430502e-05, + 3.374996595084667e-06, + 1.5840050764381886e-06, + 1.1249794624745846e-06, + 8.749775588512421e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 8.750357665121555e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 1.3329554349184036e-06, + 9.579816833138466e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 1.2919772416353226e-06, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 1.4170072972774506e-06, + 9.5803989097476e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 1.708976924419403e-06, + 8.330098353326321e-07, + 3.4999684430658817e-06, + 9.579816833138466e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 1.5420373529195786e-06, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 1.00000761449337e-06, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 9.159557521343231e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 4.415982402861118e-06, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 2.374988980591297e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.04197533801198e-06, + 2.8750509954988956e-06, + 9.999494068324566e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.04197533801198e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 2.707995008677244e-06, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 2.1249870769679546e-06, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 1.6249832697212696e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.7090351320803165e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.04197533801198e-06, + 1.0420335456728935e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 1.500011421740055e-06, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 1.541979145258665e-06, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 9.169452823698521e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 1.916952896863222e-06, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 3.5829725675284863e-06, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.0420335456728935e-06, + 9.160139597952366e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.0410440154373646e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 3.5829725675284863e-06, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 1.00000761449337e-06, + 8.750357665121555e-07, + 7.910421118140221e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.916952896863222e-06, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.04197533801198e-06, + 1.0410440154373646e-06, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 2.9579969123005867e-06, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 3.999972250312567e-06, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.340575732290745e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 9.159557521343231e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 1.416949089616537e-06, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 2.9160291887819767e-06, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 2.708984538912773e-06, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 3.832974471151829e-06, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 1.500011421740055e-06, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 1.3750395737588406e-06, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 3.2079988159239292e-06, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 1.5830155462026596e-06, + 9.160139597952366e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 8.340575732290745e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.167005393654108e-06, + 1.0840012691915035e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.5803989097476e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.999494068324566e-07, + 9.170034900307655e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.5803989097476e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.0410440154373646e-06, + 1.04197533801198e-06, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 2.00001522898674e-06, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 2.00001522898674e-06, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 6.082991603761911e-06, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 1.333013642579317e-06, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 3.500026650726795e-06, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 9.159557521343231e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 4.66697383671999e-06, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.579816833138466e-07, + 2.749962732195854e-06, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.159557521343231e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 1.5840050764381886e-06, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 1.207983586937189e-06, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 9.160139597952366e-07, + 9.579816833138466e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 2.0420411601662636e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 9.999494068324566e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 1.0409858077764511e-06, + 9.589712135493755e-07, + 1.500011421740055e-06, + 1.0409858077764511e-06, + 9.999494068324566e-07, + 1.04197533801198e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 2.00001522898674e-06, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.080379873514175e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 2.1249870769679546e-06, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 2.6249908842146397e-06, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 2.00001522898674e-06, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 9.159557521343231e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 2.207991201430559e-06, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 1.667009200900793e-06, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 9.59029421210289e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 9.160139597952366e-07, + 6.332993507385254e-06, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.999494068324566e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 2.374988980591297e-06, + 1.0830117389559746e-06, + 1.04197533801198e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.0420335456728935e-06, + 9.999494068324566e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 1.5420373529195786e-06, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 3.4589902497828007e-06, + 7.92031642049551e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.59029421210289e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 9.999494068324566e-07, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 2.2500171326100826e-06, + 1.0840012691915035e-06, + 1.0409858077764511e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.04197533801198e-06, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0410440154373646e-06, + 9.999494068324566e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 9.5803989097476e-07, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.0829535312950611e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 2.4170149117708206e-06, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 9.5803989097476e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 1.4579854905605316e-06, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 3.7499703466892242e-06, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 1.9170111045241356e-06, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 1.3750395737588406e-06, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 2.874992787837982e-06, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 2.0830193534493446e-06, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 3.1249946914613247e-06, + 1.00000761449337e-06, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 1.4375022146850824e-05, + 1.9170111045241356e-06, + 1.00000761449337e-06, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 1.4579854905605316e-06, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 3.5829725675284863e-06, + 9.160139597952366e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.207983586937189e-06, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 1.333013642579317e-06, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 5.332985892891884e-06, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 1.0409858077764511e-06, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 3.208988346159458e-06, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.090275175869465e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 1.834006980061531e-06, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 1.0409858077764511e-06, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 2.167013008147478e-06, + 7.92031642049551e-07, + 8.750357665121555e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.1249794624745846e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 2.792046871036291e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 1.9170111045241356e-06, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 1.5457975678145885e-05, + 3.1660310924053192e-06, + 1.4589750207960606e-06, + 1.04197533801198e-06, + 9.160139597952366e-07, + 9.579816833138466e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 9.170034900307655e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.910421118140221e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.340575732290745e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 9.159557521343231e-07, + 9.170034900307655e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 1.8329592421650887e-06, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.169452823698521e-07, + 9.160139597952366e-07, + 1.2909877113997936e-06, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 1.7499551177024841e-06, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 3.758305683732033e-05, + 3.3329706639051437e-06, + 1.458043698221445e-06, + 1.04197533801198e-06, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 9.160139597952366e-07, + 7.910421118140221e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.340575732290745e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 1.5830155462026596e-06, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 9.169452823698521e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.169452823698521e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 9.999494068324566e-07, + 9.59029421210289e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 1.254095695912838e-05, + 1.6249832697212696e-06, + 9.579816833138466e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 1.292035449296236e-06, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 1.667009200900793e-06, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 9.159557521343231e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 1.4579854905605316e-06, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 2.874992787837982e-06, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 9.159557521343231e-07, + 9.170034900307655e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.1249794624745846e-06, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 1.0409858077764511e-06, + 1.1249794624745846e-06, + 1.00000761449337e-06, + 8.330098353326321e-07, + 7.500057108700275e-07, + 1.04197533801198e-06, + 1.0830117389559746e-06, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.04197533801198e-06, + 1.0420335456728935e-06, + 9.999494068324566e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 9.170034900307655e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 2.374988980591297e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 9.999494068324566e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.125037670135498e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 9.999494068324566e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.1249794624745846e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 3.2499665394425392e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.04197533801198e-06, + 9.589712135493755e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 1.7500133253633976e-06, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 1.0410440154373646e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 1.04197533801198e-06, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 1.0840012691915035e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.5803989097476e-07, + 1.04197533801198e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 1.667009200900793e-06, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 9.579816833138466e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 1.334003172814846e-06, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 3.4580007195472717e-06, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 2.7909991331398487e-06, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 1.5830155462026596e-06, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 3.500026650726795e-06, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 1.8749851733446121e-06, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.7079873941838741e-06, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.167005393654108e-06, + 8.750357665121555e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 2.540997229516506e-06, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.040973287075758e-06, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 3.2079988159239292e-06, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.159557521343231e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 1.5409896150231361e-06, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 1.0624993592500687e-05, + 2.7500209398567677e-06, + 1.0840012691915035e-06, + 1.0409858077764511e-06, + 8.749775588512421e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 9.170034900307655e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 1.1669471859931946e-06, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 1.2909877113997936e-06, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.291045919060707e-06, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 1.6249832697212696e-06, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 2.125045284628868e-06, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.08969309926033e-07, + 1.6669509932398796e-06, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 1.959037035703659e-06, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 1.541979145258665e-06, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.160139597952366e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 1.500011421740055e-06, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 1.4579854905605316e-06, + 7.909839041531086e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 2.666027285158634e-06, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 1.5830155462026596e-06, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 3.7080026231706142e-06, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 1.1249794624745846e-06, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 9.160139597952366e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 1.500011421740055e-06, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 3.500026650726795e-06, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.1249794624745846e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.04197533801198e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0830117389559746e-06, + 9.5803989097476e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 2.333021257072687e-06, + 1.0830117389559746e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0840012691915035e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.5803989097476e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 9.170034900307655e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 1.249951310455799e-06, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 1.4160177670419216e-06, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 1.334003172814846e-06, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.159557521343231e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.340575732290745e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.999494068324566e-07, + 9.5803989097476e-07, + 9.999494068324566e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.159557521343231e-07, + 9.170034900307655e-07, + 1.0420335456728935e-06, + 9.159557521343231e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.04197533801198e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.160139597952366e-07, + 9.59029421210289e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.589712135493755e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 5.249981768429279e-06, + 9.159557521343231e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 1.2832984793931246e-05, + 1.2909877113997936e-06, + 3.4159747883677483e-06, + 9.579816833138466e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 3.333028871566057e-06, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.340575732290745e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 2.541986759752035e-06, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 1.4579854905605316e-06, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 9.59029421210289e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.999494068324566e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 1.8750433810055256e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 2.416956704109907e-06, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 1.125037670135498e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 1.04197533801198e-06, + 3.5830307751893997e-06, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.04197533801198e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 2.708984538912773e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 2.00001522898674e-06, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 1.6669509932398796e-06, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 1.04197533801198e-06, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 8.750357665121555e-07, + 1.0830117389559746e-06, + 9.169452823698521e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.500011421740055e-06, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 1.00000761449337e-06, + 4.416971933096647e-06, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.04197533801198e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 9.579816833138466e-07, + 1.500011421740055e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 1.04197533801198e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.04197533801198e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 1.667009200900793e-06, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 1.9160215742886066e-06, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 4.125002305954695e-06, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 3.00002284348011e-06, + 1.0410440154373646e-06, + 9.589712135493755e-07, + 9.5803989097476e-07, + 1.0410440154373646e-06, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.5803989097476e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.999494068324566e-07, + 1.0410440154373646e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.0409858077764511e-06, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.159557521343231e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 8.749775588512421e-07, + 1.0420335456728935e-06, + 1.0409858077764511e-06, + 1.6874982975423336e-05, + 2.833025064319372e-06, + 1.0830117389559746e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 2.500019036233425e-06, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0829535312950611e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.7919810488820076e-06, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 1.0410440154373646e-06, + 9.5803989097476e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 9.5803989097476e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 1.8750433810055256e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 9.170034900307655e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 1.0830117389559746e-06, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 1.8330174498260021e-06, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 1.6660196706652641e-06, + 8.330098353326321e-07, + 7.499475032091141e-07, + 1.0830117389559746e-06, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.5803989097476e-07, + 1.0410440154373646e-06, + 9.169452823698521e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.170034900307655e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 2.666027285158634e-06, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.080379873514175e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.169452823698521e-07, + 9.589712135493755e-07, + 1.04197533801198e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.0409858077764511e-06, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.160139597952366e-07, + 1.0410440154373646e-06, + 9.5803989097476e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.04197533801198e-06, + 1.7500133253633976e-06, + 9.170034900307655e-07, + 8.330098353326321e-07, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 9.160139597952366e-07, + 1.00000761449337e-06, + 9.159557521343231e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.04197533801198e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.5803989097476e-07, + 9.999494068324566e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0420335456728935e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.090275175869465e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 1.4579854905605316e-06, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 9.589712135493755e-07, + 9.589712135493755e-07, + 1.0840012691915035e-06, + 9.5803989097476e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 9.169452823698521e-07, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.159557521343231e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.1249794624745846e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.160139597952366e-07, + 9.169452823698521e-07, + 1.541979145258665e-06, + 9.5803989097476e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 1.0410440154373646e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 1.3749988283962011e-05, + 2.207991201430559e-06, + 1.291045919060707e-06, + 1.1249794624745846e-06, + 1.0409858077764511e-06, + 1.125037670135498e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 1.00000761449337e-06, + 9.159557521343231e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 8.749775588512421e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.340575732290745e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.0830117389559746e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.04197533801198e-06, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.169452823698521e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.04197533801198e-06, + 9.59029421210289e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0830117389559746e-06, + 8.749775588512421e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.04197533801198e-06, + 9.160139597952366e-07, + 8.750357665121555e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 1.6660196706652641e-06, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 1.00000761449337e-06, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 1.00000761449337e-06, + 8.749775588512421e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.589712135493755e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 1.4170072972774506e-06, + 1.0420335456728935e-06, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.999494068324566e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 1.0829535312950611e-06, + 8.749775588512421e-07, + 7.500057108700275e-07, + 2.540997229516506e-06, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 2.7919886633753777e-06, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 1.500011421740055e-06, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 1.2090313248336315e-06, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 2.334010787308216e-06, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.541979145258665e-06, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 9.5803989097476e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 2.874992787837982e-06, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 3.1249946914613247e-06, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 9.159557521343231e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.167005393654108e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 1.0829535312950611e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.169452823698521e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.59029421210289e-07, + 9.159557521343231e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.160139597952366e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 3.7909485399723053e-06, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 2.4589826352894306e-06, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 1.0410440154373646e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 2.082961145788431e-06, + 9.579816833138466e-07, + 1.04197533801198e-06, + 9.170034900307655e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 3.04199056699872e-06, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 2.9159709811210632e-06, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 1.00000761449337e-06, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 2.2500171326100826e-06, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.4579854905605316e-06, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 2.1249870769679546e-06, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 2.5830231606960297e-06, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.340575732290745e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 2.167013008147478e-06, + 7.499475032091141e-07, + 9.579816833138466e-07, + 9.5803989097476e-07, + 9.999494068324566e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 9.159557521343231e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 2.249958924949169e-06, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.080379873514175e-07, + 1.500011421740055e-06, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 3.0830269679427147e-06, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 3.958004526793957e-06, + 9.159557521343231e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.0410440154373646e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.0830117389559746e-06, + 1.04197533801198e-06, + 9.170034900307655e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0830117389559746e-06, + 1.0409858077764511e-06, + 9.999494068324566e-07, + 9.5803989097476e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.340575732290745e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.999494068324566e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 8.749775588512421e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 3.6249984987080097e-06, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 1.6669509932398796e-06, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 9.170034900307655e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 2.5840126909315586e-06, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 3.7499703466892242e-06, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 9.170034900307655e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 2.4579931050539017e-06, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.04197533801198e-06, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.579816833138466e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.579816833138466e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.0830117389559746e-06, + 9.169452823698521e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.340575732290745e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.340575732290745e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.1249794624745846e-06, + 9.5803989097476e-07, + 9.999494068324566e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.159557521343231e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 5.04200579598546e-06, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 2.9159709811210632e-06, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 2.207991201430559e-06, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.159557521343231e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 3.459048457443714e-06, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 1.9999570213258266e-06, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 3.833032678812742e-06, + 9.170034900307655e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 8.749775588512421e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 9.159557521343231e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.999494068324566e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 1.0409858077764511e-06, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.5803989097476e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 1.04197533801198e-06, + 1.04197533801198e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.159557521343231e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.169452823698521e-07, + 9.5803989097476e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.160139597952366e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 9.999494068324566e-07, + 9.170034900307655e-07, + 1.0410440154373646e-06, + 9.579816833138466e-07, + 9.5803989097476e-07, + 1.0410440154373646e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.160139597952366e-07, + 9.589712135493755e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.159557521343231e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.59029421210289e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 9.589712135493755e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.170034900307655e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 9.589712135493755e-07, + 9.160139597952366e-07, + 1.0420335456728935e-06, + 1.04197533801198e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 1.04197533801198e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.999494068324566e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.160139597952366e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0829535312950611e-06, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 9.5803989097476e-07, + 1.04197533801198e-06, + 1.04197533801198e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 1.0410440154373646e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 1.04197533801198e-06, + 1.0410440154373646e-06, + 1.0830117389559746e-06, + 1.0840012691915035e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.579816833138466e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 9.579816833138466e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.5803989097476e-07, + 9.59029421210289e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 1.0409858077764511e-06, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.589712135493755e-07, + 9.5803989097476e-07, + 1.0420335456728935e-06, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.5803989097476e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 9.579816833138466e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 3.5410048440098763e-06, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.59029421210289e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.04197533801198e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 2.540997229516506e-06, + 1.1249794624745846e-06, + 9.579816833138466e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 9.579816833138466e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 1.0420335456728935e-06, + 1.0829535312950611e-06, + 9.5803989097476e-07, + 1.04197533801198e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.0410440154373646e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.5803989097476e-07, + 1.04197533801198e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 9.170034900307655e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 3.5830307751893997e-06, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 2.4579931050539017e-06, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 2.0840088836848736e-06, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.5803989097476e-07, + 9.5803989097476e-07, + 1.04197533801198e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 2.00001522898674e-06, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 1.8749851733446121e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.999494068324566e-07, + 9.160139597952366e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 1.00000761449337e-06, + 1.0840012691915035e-06, + 9.579816833138466e-07, + 1.04197533801198e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.0409858077764511e-06, + 9.160139597952366e-07, + 9.5803989097476e-07, + 9.160139597952366e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.0840012691915035e-06, + 9.5803989097476e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.589712135493755e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 4.165980499237776e-06, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.340575732290745e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 5.209003575146198e-06, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 2.9589864425361156e-06, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.166015863418579e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.579816833138466e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 9.999494068324566e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 1.4579854905605316e-06, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 9.160139597952366e-07, + 8.750357665121555e-07, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 9.589712135493755e-07, + 9.999494068324566e-07, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 9.59029421210289e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 4.040950443595648e-06, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 2.541986759752035e-06, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 2.9999646358191967e-06, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 9.59029421210289e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.0410440154373646e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.160139597952366e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 9.999494068324566e-07, + 9.160139597952366e-07, + 1.0420335456728935e-06, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 9.159557521343231e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 3.1249946914613247e-06, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 4.133302718400955e-05, + 1.7909915186464787e-06, + 1.125037670135498e-06, + 9.59029421210289e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 1.6669509932398796e-06, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 2.666027285158634e-06, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.04197533801198e-06, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.0829535312950611e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 9.159557521343231e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 1.2500095181167126e-06, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 1.500011421740055e-06, + 8.330098353326321e-07, + 9.159557521343231e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 1.5840050764381886e-06, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 1.4170072972774506e-06, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 1.2919772416353226e-06, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 6.04201341047883e-06, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 3.333028871566057e-06, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 9.579816833138466e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 5.00003807246685e-06, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 1.9999570213258266e-06, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 2.04198295250535e-06, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 9.5803989097476e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 2.2909953258931637e-06, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 9.160139597952366e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.579816833138466e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 2.4579931050539017e-06, + 8.750357665121555e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 9.159557521343231e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 9.159557521343231e-07, + 1.625041477382183e-06, + 9.160139597952366e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 2.5840126909315586e-06, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 1.5410478226840496e-06, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 1.334003172814846e-06, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 1.2919772416353226e-06, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 1.2500095181167126e-06, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.08969309926033e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 2.207991201430559e-06, + 7.910421118140221e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 2.2500171326100826e-06, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 9.589712135493755e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 1.500011421740055e-06, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.8749851733446121e-06, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.08969309926033e-07, + 8.33999365568161e-07, + 7.090275175869465e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 2.333021257072687e-06, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 2.333021257072687e-06, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 2.4589826352894306e-06, + 7.500057108700275e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 3.0829687602818012e-06, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 1.0420335456728935e-06, + 1.04197533801198e-06, + 1.0409858077764511e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.169452823698521e-07, + 1.0410440154373646e-06, + 1.0410440154373646e-06, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.5803989097476e-07, + 9.589712135493755e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.1249794624745846e-06, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 3.834022209048271e-06, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 4.3290958274155855e-05, + 2.249958924949169e-06, + 1.0420335456728935e-06, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 3.2079988159239292e-06, + 8.33999365568161e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 9.160139597952366e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.340575732290745e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 2.1249870769679546e-06, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 9.999494068324566e-07, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.169452823698521e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.0410440154373646e-06, + 9.5803989097476e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 3.04199056699872e-06, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 2.00001522898674e-06, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 1.4159595593810081e-06, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.159557521343231e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 4.62500611320138e-06, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 2.374988980591297e-06, + 7.909839041531086e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 1.207983586937189e-06, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 3.167020622640848e-06, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 1.792039256542921e-06, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.0409858077764511e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0829535312950611e-06, + 1.0840012691915035e-06, + 1.125037670135498e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 9.589712135493755e-07, + 2.4160253815352917e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 1.9170111045241356e-06, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 1.4579854905605316e-06, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.340575732290745e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 1.333013642579317e-06, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 1.9170111045241356e-06, + 7.909839041531086e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.749775588512421e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.080379873514175e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 3.374996595084667e-06, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 2.125045284628868e-06, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 9.159557521343231e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.04197533801198e-06, + 9.160139597952366e-07, + 9.579816833138466e-07, + 8.749775588512421e-07, + 1.00000761449337e-06, + 9.159557521343231e-07, + 1.00000761449337e-06, + 1.0830117389559746e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 9.160139597952366e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.04197533801198e-06, + 4.66697383671999e-06, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.5803989097476e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.159557521343231e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 9.59029421210289e-07, + 9.160139597952366e-07, + 1.00000761449337e-06, + 9.169452823698521e-07, + 9.160139597952366e-07, + 4.708999767899513e-06, + 9.160139597952366e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.159557521343231e-07, + 9.160139597952366e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.160139597952366e-07, + 9.160139597952366e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0420335456728935e-06, + 1.0420335456728935e-06, + 8.749775588512421e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.5803989097476e-07, + 1.0410440154373646e-06, + 9.169452823698521e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.08969309926033e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.090275175869465e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.090275175869465e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 3.334018401801586e-06, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 2.5830231606960297e-06, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.9170111045241356e-06, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 1.834006980061531e-06, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.59029421210289e-07, + 9.999494068324566e-07, + 9.5803989097476e-07, + 8.749775588512421e-07, + 2.7500209398567677e-06, + 9.59029421210289e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.160139597952366e-07, + 9.5803989097476e-07, + 9.59029421210289e-07, + 9.5803989097476e-07, + 8.750357665121555e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 9.159557521343231e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 2.4999608285725117e-06, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.08969309926033e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.910421118140221e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.08969309926033e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 1.6249832697212696e-06, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 8.749775588512421e-07, + 9.160139597952366e-07, + 9.160139597952366e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 1.292035449296236e-06, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 9.160139597952366e-07, + 1.00000761449337e-06, + 9.159557521343231e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.170034900307655e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.0829535312950611e-06, + 1.00000761449337e-06, + 1.0420335456728935e-06, + 9.159557521343231e-07, + 9.170034900307655e-07, + 1.04197533801198e-06, + 1.0420335456728935e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.999494068324566e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.340575732290745e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.589712135493755e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.999494068324566e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.160139597952366e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.0420335456728935e-06, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 7.080379873514175e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 4.333036486059427e-06, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 1.9999570213258266e-06, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.080379873514175e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.080379873514175e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.0410440154373646e-06, + 9.160139597952366e-07, + 9.160139597952366e-07, + 1.0410440154373646e-06, + 9.999494068324566e-07, + 9.160139597952366e-07, + 9.589712135493755e-07, + 9.160139597952366e-07, + 1.0409858077764511e-06, + 9.160139597952366e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.160139597952366e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.080379873514175e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 7.080379873514175e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.340575732290745e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 1.4579854905605316e-06, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 1.916952896863222e-06, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 1.6249832697212696e-06, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.080379873514175e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.090275175869465e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.750357665121555e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.159557521343231e-07, + 8.750357665121555e-07, + 9.589712135493755e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 9.159557521343231e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 1.04197533801198e-06, + 1.00000761449337e-06, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 6.67001586407423e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.340575732290745e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.589712135493755e-07, + 8.750357665121555e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 8.749775588512421e-07, + 9.160139597952366e-07, + 1.0829535312950611e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 1.9589788280427456e-06, + 9.160139597952366e-07, + 1.00000761449337e-06, + 8.750357665121555e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.160139597952366e-07, + 2.7080532163381577e-06, + 9.169452823698521e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 8.749775588512421e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 1.0420335456728935e-06, + 9.159557521343231e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.080379873514175e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.080379873514175e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 4.791014362126589e-06, + 8.749775588512421e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.080379873514175e-07, + 8.329516276717186e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.08969309926033e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 8.329516276717186e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 9.159557521343231e-07, + 3.7910067476332188e-06, + 9.170034900307655e-07, + 1.0410440154373646e-06, + 9.5803989097476e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.159557521343231e-07, + 9.159557521343231e-07, + 9.160139597952366e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.04197533801198e-06, + 9.170034900307655e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.080379873514175e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.749775588512421e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 1.04197533801198e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0840012691915035e-06, + 9.999494068324566e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.090275175869465e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 8.329516276717186e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 9.169452823698521e-07, + 9.579816833138466e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 8.750357665121555e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 8.749775588512421e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 1.0410440154373646e-06, + 1.0409858077764511e-06, + 9.160139597952366e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 1.0420335456728935e-06, + 9.159557521343231e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.159557521343231e-07, + 1.00000761449337e-06, + 8.749775588512421e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.159557521343231e-07, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 9.160139597952366e-07, + 1.00000761449337e-06, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.160139597952366e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.159557521343231e-07, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.5803989097476e-07, + 9.589712135493755e-07, + 9.160139597952366e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 8.750357665121555e-07, + 9.579816833138466e-07, + 1.0829535312950611e-06, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.160139597952366e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 8.750357665121555e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.999494068324566e-07, + 9.160139597952366e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.090275175869465e-07, + 7.080379873514175e-07, + 3.5830307751893997e-06, + 8.330098353326321e-07, + 7.500057108700275e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 9.160139597952366e-07, + 9.999494068324566e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.0410440154373646e-06, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.080379873514175e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 8.750357665121555e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 8.330098353326321e-07, + 8.749775588512421e-07, + 9.579816833138466e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.0410440154373646e-06, + 9.160139597952366e-07, + 1.0409858077764511e-06, + 9.5803989097476e-07, + 1.0420335456728935e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 8.749775588512421e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 9.59029421210289e-07, + 9.159557521343231e-07, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.169452823698521e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.59029421210289e-07, + 9.170034900307655e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 9.160139597952366e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 1.0840012691915035e-06, + 9.5803989097476e-07, + 9.160139597952366e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 1.00000761449337e-06, + 1.04197533801198e-06, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.169452823698521e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 8.750357665121555e-07, + 1.6659614630043507e-06, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 3.2079988159239292e-06, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 3.3750548027455807e-06, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.08969309926033e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.090275175869465e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.169452823698521e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 9.170034900307655e-07, + 9.160139597952366e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.59029421210289e-07, + 9.160139597952366e-07, + 9.59029421210289e-07, + 9.159557521343231e-07, + 8.750357665121555e-07, + 9.5803989097476e-07, + 9.5803989097476e-07, + 1.04197533801198e-06, + 1.00000761449337e-06, + 9.589712135493755e-07, + 9.589712135493755e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 8.749775588512421e-07, + 9.170034900307655e-07, + 9.160139597952366e-07, + 9.589712135493755e-07, + 9.160139597952366e-07, + 9.589712135493755e-07, + 9.160139597952366e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.160139597952366e-07, + 9.160139597952366e-07, + 9.589712135493755e-07, + 9.170034900307655e-07, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.170034900307655e-07, + 9.169452823698521e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.159557521343231e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 6.67001586407423e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 1.0410440154373646e-06, + 9.160139597952366e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.160139597952366e-07, + 9.589712135493755e-07, + 1.0830117389559746e-06, + 1.00000761449337e-06, + 9.5803989097476e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.160139597952366e-07, + 9.579816833138466e-07, + 9.59029421210289e-07, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.749775588512421e-07, + 7.079797796905041e-07, + 7.080379873514175e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.08969309926033e-07, + 7.910421118140221e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.090275175869465e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.080379873514175e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.080379873514175e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 8.749775588512421e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.090275175869465e-07, + 7.090275175869465e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 9.5803989097476e-07, + 9.59029421210289e-07, + 9.159557521343231e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 8.749775588512421e-07, + 9.589712135493755e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.59029421210289e-07, + 9.5803989097476e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 7.910421118140221e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.329516276717186e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.080379873514175e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 2.415967173874378e-06, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.08969309926033e-07, + 7.079797796905041e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.340575732290745e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.08969309926033e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 3.3329706639051437e-06, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.910421118140221e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.33999365568161e-07, + 1.8750433810055256e-06, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 8.330098353326321e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.579816833138466e-07, + 9.59029421210289e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 9.170034900307655e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 1.0409858077764511e-06, + 9.160139597952366e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.08969309926033e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 4.624947905540466e-06, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 5.832989700138569e-06, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.0409858077764511e-06, + 9.160139597952366e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 9.579816833138466e-07, + 9.579816833138466e-07, + 9.170034900307655e-07, + 1.0420335456728935e-06, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.5803989097476e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.08969309926033e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.080379873514175e-07, + 7.080379873514175e-07, + 7.08969309926033e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 1.00000761449337e-06, + 1.00000761449337e-06, + 9.160139597952366e-07, + 9.160139597952366e-07, + 9.5803989097476e-07, + 9.5803989097476e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 8.749775588512421e-07, + 9.59029421210289e-07, + 9.159557521343231e-07, + 1.00000761449337e-06, + 9.160139597952366e-07, + 1.00000761449337e-06, + 9.59029421210289e-07, + 9.579816833138466e-07, + 9.159557521343231e-07, + 9.160139597952366e-07, + 1.00000761449337e-06, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.090275175869465e-07, + 7.080379873514175e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.080379873514175e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.079797796905041e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 8.329516276717186e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.08969309926033e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 1.00000761449337e-06, + 9.170034900307655e-07, + 9.159557521343231e-07, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.0409858077764511e-06, + 9.579816833138466e-07, + 9.589712135493755e-07, + 9.579816833138466e-07, + 1.00000761449337e-06, + 9.159557521343231e-07, + 9.170034900307655e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.079797796905041e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.079797796905041e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.499475032091141e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.080379873514175e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.090275175869465e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.910421118140221e-07, + 7.079797796905041e-07, + 7.909839041531086e-07, + 7.080379873514175e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.08969309926033e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 2.541986759752035e-06, + 1.0830117389559746e-06, + 8.750357665121555e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 9.5803989097476e-07, + 7.499475032091141e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 3.6249984987080097e-06, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.92031642049551e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 3.2500247471034527e-06, + 8.749775588512421e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 9.170034900307655e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 9.59029421210289e-07, + 3.1249946914613247e-06, + 9.160139597952366e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.750357665121555e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.499475032091141e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.919734343886375e-07, + 8.340575732290745e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 7.079797796905041e-07, + 7.910421118140221e-07, + 7.910421118140221e-07, + 7.919734343886375e-07, + 7.499475032091141e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 9.170034900307655e-07, + 8.33999365568161e-07, + 8.330098353326321e-07, + 8.750357665121555e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.33999365568161e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.919734343886375e-07, + 7.500057108700275e-07, + 7.499475032091141e-07, + 7.919734343886375e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.919734343886375e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.750357665121555e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 8.330098353326321e-07, + 7.910421118140221e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 8.329516276717186e-07, + 7.500057108700275e-07, + 8.749775588512421e-07, + 7.500057108700275e-07, + 7.92031642049551e-07, + 7.909839041531086e-07, + 7.92031642049551e-07, + 7.92031642049551e-07, + 8.330098353326321e-07, + 8.330098353326321e-07, + 7.500057108700275e-07, + 8.33999365568161e-07, + 7.92031642049551e-07, + 7.500057108700275e-07, + 7.909839041531086e-07, + 7.909839041531086e-07 + ], + "iterations": 1 + } + } + ], + "datetime": "2025-02-22T06:58:05.005137+00:00", + "version": "5.1.0" +} diff --git a/binance.json b/binance.json new file mode 100644 index 00000000..d24cdb12 --- /dev/null +++ b/binance.json @@ -0,0 +1,55931 @@ +{ + "name": "binance", + "path": "binance", + "filepath": "/Users/pablo/github/python-binance/binance/__init__.py", + "description": "An unofficial Python wrapper for the Binance exchange API v3\n\n.. moduleauthor:: Sam McHardy", + "docstring": [], + "attributes": [ + { + "name": "__version__", + "annotation": null, + "description": null, + "value": "'1.0.29'" + } + ], + "modules": { + "enums": { + "name": "enums", + "path": "binance.enums", + "filepath": "/Users/pablo/github/python-binance/binance/enums.py", + "description": null, + "docstring": [], + "attributes": [ + { + "name": "SYMBOL_TYPE_SPOT", + "annotation": null, + "description": null, + "value": "'SPOT'" + }, + { + "name": "ORDER_STATUS_NEW", + "annotation": null, + "description": null, + "value": "'NEW'" + }, + { + "name": "ORDER_STATUS_PARTIALLY_FILLED", + "annotation": null, + "description": null, + "value": "'PARTIALLY_FILLED'" + }, + { + "name": "ORDER_STATUS_FILLED", + "annotation": null, + "description": null, + "value": "'FILLED'" + }, + { + "name": "ORDER_STATUS_CANCELED", + "annotation": null, + "description": null, + "value": "'CANCELED'" + }, + { + "name": "ORDER_STATUS_PENDING_CANCEL", + "annotation": null, + "description": null, + "value": "'PENDING_CANCEL'" + }, + { + "name": "ORDER_STATUS_REJECTED", + "annotation": null, + "description": null, + "value": "'REJECTED'" + }, + { + "name": "ORDER_STATUS_EXPIRED", + "annotation": null, + "description": null, + "value": "'EXPIRED'" + }, + { + "name": "KLINE_INTERVAL_1SECOND", + "annotation": null, + "description": null, + "value": "'1s'" + }, + { + "name": "KLINE_INTERVAL_1MINUTE", + "annotation": null, + "description": null, + "value": "'1m'" + }, + { + "name": "KLINE_INTERVAL_3MINUTE", + "annotation": null, + "description": null, + "value": "'3m'" + }, + { + "name": "KLINE_INTERVAL_5MINUTE", + "annotation": null, + "description": null, + "value": "'5m'" + }, + { + "name": "KLINE_INTERVAL_15MINUTE", + "annotation": null, + "description": null, + "value": "'15m'" + }, + { + "name": "KLINE_INTERVAL_30MINUTE", + "annotation": null, + "description": null, + "value": "'30m'" + }, + { + "name": "KLINE_INTERVAL_1HOUR", + "annotation": null, + "description": null, + "value": "'1h'" + }, + { + "name": "KLINE_INTERVAL_2HOUR", + "annotation": null, + "description": null, + "value": "'2h'" + }, + { + "name": "KLINE_INTERVAL_4HOUR", + "annotation": null, + "description": null, + "value": "'4h'" + }, + { + "name": "KLINE_INTERVAL_6HOUR", + "annotation": null, + "description": null, + "value": "'6h'" + }, + { + "name": "KLINE_INTERVAL_8HOUR", + "annotation": null, + "description": null, + "value": "'8h'" + }, + { + "name": "KLINE_INTERVAL_12HOUR", + "annotation": null, + "description": null, + "value": "'12h'" + }, + { + "name": "KLINE_INTERVAL_1DAY", + "annotation": null, + "description": null, + "value": "'1d'" + }, + { + "name": "KLINE_INTERVAL_3DAY", + "annotation": null, + "description": null, + "value": "'3d'" + }, + { + "name": "KLINE_INTERVAL_1WEEK", + "annotation": null, + "description": null, + "value": "'1w'" + }, + { + "name": "KLINE_INTERVAL_1MONTH", + "annotation": null, + "description": null, + "value": "'1M'" + }, + { + "name": "SIDE_BUY", + "annotation": null, + "description": null, + "value": "'BUY'" + }, + { + "name": "SIDE_SELL", + "annotation": null, + "description": null, + "value": "'SELL'" + }, + { + "name": "ORDER_TYPE_LIMIT", + "annotation": null, + "description": null, + "value": "'LIMIT'" + }, + { + "name": "ORDER_TYPE_MARKET", + "annotation": null, + "description": null, + "value": "'MARKET'" + }, + { + "name": "ORDER_TYPE_STOP_LOSS", + "annotation": null, + "description": null, + "value": "'STOP_LOSS'" + }, + { + "name": "ORDER_TYPE_STOP_LOSS_LIMIT", + "annotation": null, + "description": null, + "value": "'STOP_LOSS_LIMIT'" + }, + { + "name": "ORDER_TYPE_TAKE_PROFIT", + "annotation": null, + "description": null, + "value": "'TAKE_PROFIT'" + }, + { + "name": "ORDER_TYPE_TAKE_PROFIT_LIMIT", + "annotation": null, + "description": null, + "value": "'TAKE_PROFIT_LIMIT'" + }, + { + "name": "ORDER_TYPE_LIMIT_MAKER", + "annotation": null, + "description": null, + "value": "'LIMIT_MAKER'" + }, + { + "name": "FUTURE_ORDER_TYPE_LIMIT", + "annotation": null, + "description": null, + "value": "'LIMIT'" + }, + { + "name": "FUTURE_ORDER_TYPE_MARKET", + "annotation": null, + "description": null, + "value": "'MARKET'" + }, + { + "name": "FUTURE_ORDER_TYPE_STOP", + "annotation": null, + "description": null, + "value": "'STOP'" + }, + { + "name": "FUTURE_ORDER_TYPE_STOP_MARKET", + "annotation": null, + "description": null, + "value": "'STOP_MARKET'" + }, + { + "name": "FUTURE_ORDER_TYPE_TAKE_PROFIT", + "annotation": null, + "description": null, + "value": "'TAKE_PROFIT'" + }, + { + "name": "FUTURE_ORDER_TYPE_TAKE_PROFIT_MARKET", + "annotation": null, + "description": null, + "value": "'TAKE_PROFIT_MARKET'" + }, + { + "name": "FUTURE_ORDER_TYPE_LIMIT_MAKER", + "annotation": null, + "description": null, + "value": "'LIMIT_MAKER'" + }, + { + "name": "FUTURE_ORDER_TYPE_TRAILING_STOP_MARKET", + "annotation": null, + "description": null, + "value": "'TRAILING_STOP_MARKET'" + }, + { + "name": "TIME_IN_FORCE_GTC", + "annotation": null, + "description": null, + "value": "'GTC'" + }, + { + "name": "TIME_IN_FORCE_IOC", + "annotation": null, + "description": null, + "value": "'IOC'" + }, + { + "name": "TIME_IN_FORCE_FOK", + "annotation": null, + "description": null, + "value": "'FOK'" + }, + { + "name": "TIME_IN_FORCE_GTX", + "annotation": null, + "description": null, + "value": "'GTX'" + }, + { + "name": "TIME_IN_FORCE_GTD", + "annotation": null, + "description": null, + "value": "'GTD'" + }, + { + "name": "ORDER_RESP_TYPE_ACK", + "annotation": null, + "description": null, + "value": "'ACK'" + }, + { + "name": "ORDER_RESP_TYPE_RESULT", + "annotation": null, + "description": null, + "value": "'RESULT'" + }, + { + "name": "ORDER_RESP_TYPE_FULL", + "annotation": null, + "description": null, + "value": "'FULL'" + }, + { + "name": "WEBSOCKET_DEPTH_5", + "annotation": null, + "description": null, + "value": "'5'" + }, + { + "name": "WEBSOCKET_DEPTH_10", + "annotation": null, + "description": null, + "value": "'10'" + }, + { + "name": "WEBSOCKET_DEPTH_20", + "annotation": null, + "description": null, + "value": "'20'" + }, + { + "name": "NO_SIDE_EFFECT_TYPE", + "annotation": null, + "description": null, + "value": "'NO_SIDE_EFFECT'" + }, + { + "name": "MARGIN_BUY_TYPE", + "annotation": null, + "description": null, + "value": "'MARGIN_BUY'" + }, + { + "name": "AUTO_REPAY_TYPE", + "annotation": null, + "description": null, + "value": "'AUTO_REPAY'" + } + ], + "modules": {}, + "classes": { + "HistoricalKlinesType": { + "name": "HistoricalKlinesType", + "path": "binance.enums.HistoricalKlinesType", + "description": null, + "parameters": [], + "attributes": [ + { + "name": "SPOT", + "annotation": null, + "description": null, + "value": "1" + }, + { + "name": "FUTURES", + "annotation": null, + "description": null, + "value": "2" + }, + { + "name": "FUTURES_COIN", + "annotation": null, + "description": null, + "value": "3" + }, + { + "name": "FUTURES_MARK_PRICE", + "annotation": null, + "description": null, + "value": "4" + }, + { + "name": "FUTURES_INDEX_PRICE", + "annotation": null, + "description": null, + "value": "5" + }, + { + "name": "FUTURES_COIN_MARK_PRICE", + "annotation": null, + "description": null, + "value": "6" + }, + { + "name": "FUTURES_COIN_INDEX_PRICE", + "annotation": null, + "description": null, + "value": "7" + } + ], + "docstring": [], + "functions": {}, + "source": "class HistoricalKlinesType(Enum):\n SPOT = 1\n FUTURES = 2\n FUTURES_COIN = 3\n FUTURES_MARK_PRICE = 4\n FUTURES_INDEX_PRICE = 5\n FUTURES_COIN_MARK_PRICE = 6\n FUTURES_COIN_INDEX_PRICE = 7", + "inherited_members": {} + }, + "FuturesType": { + "name": "FuturesType", + "path": "binance.enums.FuturesType", + "description": null, + "parameters": [], + "attributes": [ + { + "name": "USD_M", + "annotation": null, + "description": null, + "value": "1" + }, + { + "name": "COIN_M", + "annotation": null, + "description": null, + "value": "2" + } + ], + "docstring": [], + "functions": {}, + "source": "class FuturesType(Enum):\n USD_M = 1\n COIN_M = 2", + "inherited_members": {} + }, + "ContractType": { + "name": "ContractType", + "path": "binance.enums.ContractType", + "description": null, + "parameters": [], + "attributes": [ + { + "name": "PERPETUAL", + "annotation": null, + "description": null, + "value": "'perpetual'" + }, + { + "name": "CURRENT_QUARTER", + "annotation": null, + "description": null, + "value": "'current_quarter'" + }, + { + "name": "NEXT_QUARTER", + "annotation": null, + "description": null, + "value": "'next_quarter'" + } + ], + "docstring": [], + "functions": {}, + "source": "class ContractType(Enum):\n PERPETUAL = \"perpetual\"\n CURRENT_QUARTER = \"current_quarter\"\n NEXT_QUARTER = \"next_quarter\"", + "inherited_members": {} + } + }, + "functions": {} + }, + "base_client": { + "name": "base_client", + "path": "binance.base_client", + "filepath": "/Users/pablo/github/python-binance/binance/base_client.py", + "description": null, + "docstring": [], + "attributes": [], + "modules": {}, + "classes": { + "BaseClient": { + "name": "BaseClient", + "path": "binance.base_client.BaseClient", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "api_key", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "api_secret", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "requests_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "base_endpoint", + "annotation": "str", + "description": null, + "value": "BASE_ENDPOINT_DEFAULT" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "demo", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "private_key", + "annotation": "Optional[Union[str, Path]]", + "description": null, + "value": "None" + }, + { + "name": "private_key_pass", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "loop", + "annotation": "Optional[asyncio.AbstractEventLoop]", + "description": null, + "value": "None" + }, + { + "name": "time_unit", + "annotation": "Optional[str]", + "description": null, + "value": "None" + } + ], + "attributes": [ + { + "name": "API_URL", + "annotation": null, + "description": null, + "value": "self.API_URL.format(base_endpoint, tld)" + }, + { + "name": "API_TESTNET_URL", + "annotation": null, + "description": null, + "value": "'https://testnet.binance.vision/api'" + }, + { + "name": "API_DEMO_URL", + "annotation": null, + "description": null, + "value": "'https://demo-api.binance.com/api'" + }, + { + "name": "MARGIN_API_URL", + "annotation": null, + "description": null, + "value": "self.MARGIN_API_URL.format(base_endpoint, tld)" + }, + { + "name": "WEBSITE_URL", + "annotation": null, + "description": null, + "value": "self.WEBSITE_URL.format(tld)" + }, + { + "name": "FUTURES_URL", + "annotation": null, + "description": null, + "value": "self.FUTURES_URL.format(tld)" + }, + { + "name": "FUTURES_TESTNET_URL", + "annotation": null, + "description": null, + "value": "'https://testnet.binancefuture.com/fapi'" + }, + { + "name": "FUTURES_DEMO_URL", + "annotation": null, + "description": null, + "value": "'https://demo-fapi.binance.com/fapi'" + }, + { + "name": "FUTURES_DATA_URL", + "annotation": null, + "description": null, + "value": "self.FUTURES_DATA_URL.format(tld)" + }, + { + "name": "FUTURES_DATA_TESTNET_URL", + "annotation": null, + "description": null, + "value": "'https://testnet.binancefuture.com/futures/data'" + }, + { + "name": "FUTURES_COIN_URL", + "annotation": null, + "description": null, + "value": "self.FUTURES_COIN_URL.format(tld)" + }, + { + "name": "FUTURES_COIN_TESTNET_URL", + "annotation": null, + "description": null, + "value": "'https://testnet.binancefuture.com/dapi'" + }, + { + "name": "FUTURES_COIN_DEMO_URL", + "annotation": null, + "description": null, + "value": "'https://demo-dapi.binance.com/dapi'" + }, + { + "name": "FUTURES_COIN_DATA_URL", + "annotation": null, + "description": null, + "value": "self.FUTURES_COIN_DATA_URL.format(tld)" + }, + { + "name": "FUTURES_COIN_DATA_TESTNET_URL", + "annotation": null, + "description": null, + "value": "'https://testnet.binancefuture.com/futures/data'" + }, + { + "name": "OPTIONS_URL", + "annotation": null, + "description": null, + "value": "self.OPTIONS_URL.format(tld)" + }, + { + "name": "OPTIONS_TESTNET_URL", + "annotation": null, + "description": null, + "value": "self.OPTIONS_TESTNET_URL.format(tld)" + }, + { + "name": "PAPI_URL", + "annotation": null, + "description": null, + "value": "'https://papi.binance.{}/papi'" + }, + { + "name": "WS_API_URL", + "annotation": null, + "description": null, + "value": "'wss://ws-api.binance.{}/ws-api/v3'" + }, + { + "name": "WS_API_TESTNET_URL", + "annotation": null, + "description": null, + "value": "'wss://ws-api.testnet.binance.vision/ws-api/v3'" + }, + { + "name": "WS_API_DEMO_URL", + "annotation": null, + "description": null, + "value": "'wss://demo-ws-api.binance.com/ws-api/v3'" + }, + { + "name": "WS_FUTURES_URL", + "annotation": null, + "description": null, + "value": "'wss://ws-fapi.binance.{}/ws-fapi/v1'" + }, + { + "name": "WS_FUTURES_TESTNET_URL", + "annotation": null, + "description": null, + "value": "'wss://testnet.binancefuture.com/ws-fapi/v1'" + }, + { + "name": "WS_FUTURES_DEMO_URL", + "annotation": null, + "description": null, + "value": "'wss://testnet.binancefuture.com/ws-fapi/v1'" + }, + { + "name": "PUBLIC_API_VERSION", + "annotation": null, + "description": null, + "value": "'v3'" + }, + { + "name": "PRIVATE_API_VERSION", + "annotation": null, + "description": null, + "value": "'v3'" + }, + { + "name": "MARGIN_API_VERSION", + "annotation": null, + "description": null, + "value": "'v1'" + }, + { + "name": "MARGIN_API_VERSION2", + "annotation": null, + "description": null, + "value": "'v2'" + }, + { + "name": "MARGIN_API_VERSION3", + "annotation": null, + "description": null, + "value": "'v3'" + }, + { + "name": "MARGIN_API_VERSION4", + "annotation": null, + "description": null, + "value": "'v4'" + }, + { + "name": "FUTURES_API_VERSION", + "annotation": null, + "description": null, + "value": "'v1'" + }, + { + "name": "FUTURES_API_VERSION2", + "annotation": null, + "description": null, + "value": "'v2'" + }, + { + "name": "FUTURES_API_VERSION3", + "annotation": null, + "description": null, + "value": "'v3'" + }, + { + "name": "OPTIONS_API_VERSION", + "annotation": null, + "description": null, + "value": "'v1'" + }, + { + "name": "PORTFOLIO_API_VERSION", + "annotation": null, + "description": null, + "value": "'v1'" + }, + { + "name": "PORTFOLIO_API_VERSION2", + "annotation": null, + "description": null, + "value": "'v2'" + }, + { + "name": "BASE_ENDPOINT_DEFAULT", + "annotation": null, + "description": null, + "value": "''" + }, + { + "name": "BASE_ENDPOINT_1", + "annotation": null, + "description": null, + "value": "'1'" + }, + { + "name": "BASE_ENDPOINT_2", + "annotation": null, + "description": null, + "value": "'2'" + }, + { + "name": "BASE_ENDPOINT_3", + "annotation": null, + "description": null, + "value": "'3'" + }, + { + "name": "BASE_ENDPOINT_4", + "annotation": null, + "description": null, + "value": "'4'" + }, + { + "name": "REQUEST_TIMEOUT", + "annotation": "float", + "description": null, + "value": "10" + }, + { + "name": "REQUEST_RECVWINDOW", + "annotation": "int", + "description": null, + "value": "10000" + }, + { + "name": "SYMBOL_TYPE_SPOT", + "annotation": null, + "description": null, + "value": "'SPOT'" + }, + { + "name": "ORDER_STATUS_NEW", + "annotation": null, + "description": null, + "value": "'NEW'" + }, + { + "name": "ORDER_STATUS_PARTIALLY_FILLED", + "annotation": null, + "description": null, + "value": "'PARTIALLY_FILLED'" + }, + { + "name": "ORDER_STATUS_FILLED", + "annotation": null, + "description": null, + "value": "'FILLED'" + }, + { + "name": "ORDER_STATUS_CANCELED", + "annotation": null, + "description": null, + "value": "'CANCELED'" + }, + { + "name": "ORDER_STATUS_PENDING_CANCEL", + "annotation": null, + "description": null, + "value": "'PENDING_CANCEL'" + }, + { + "name": "ORDER_STATUS_REJECTED", + "annotation": null, + "description": null, + "value": "'REJECTED'" + }, + { + "name": "ORDER_STATUS_EXPIRED", + "annotation": null, + "description": null, + "value": "'EXPIRED'" + }, + { + "name": "KLINE_INTERVAL_1SECOND", + "annotation": null, + "description": null, + "value": "'1s'" + }, + { + "name": "KLINE_INTERVAL_1MINUTE", + "annotation": null, + "description": null, + "value": "'1m'" + }, + { + "name": "KLINE_INTERVAL_3MINUTE", + "annotation": null, + "description": null, + "value": "'3m'" + }, + { + "name": "KLINE_INTERVAL_5MINUTE", + "annotation": null, + "description": null, + "value": "'5m'" + }, + { + "name": "KLINE_INTERVAL_15MINUTE", + "annotation": null, + "description": null, + "value": "'15m'" + }, + { + "name": "KLINE_INTERVAL_30MINUTE", + "annotation": null, + "description": null, + "value": "'30m'" + }, + { + "name": "KLINE_INTERVAL_1HOUR", + "annotation": null, + "description": null, + "value": "'1h'" + }, + { + "name": "KLINE_INTERVAL_2HOUR", + "annotation": null, + "description": null, + "value": "'2h'" + }, + { + "name": "KLINE_INTERVAL_4HOUR", + "annotation": null, + "description": null, + "value": "'4h'" + }, + { + "name": "KLINE_INTERVAL_6HOUR", + "annotation": null, + "description": null, + "value": "'6h'" + }, + { + "name": "KLINE_INTERVAL_8HOUR", + "annotation": null, + "description": null, + "value": "'8h'" + }, + { + "name": "KLINE_INTERVAL_12HOUR", + "annotation": null, + "description": null, + "value": "'12h'" + }, + { + "name": "KLINE_INTERVAL_1DAY", + "annotation": null, + "description": null, + "value": "'1d'" + }, + { + "name": "KLINE_INTERVAL_3DAY", + "annotation": null, + "description": null, + "value": "'3d'" + }, + { + "name": "KLINE_INTERVAL_1WEEK", + "annotation": null, + "description": null, + "value": "'1w'" + }, + { + "name": "KLINE_INTERVAL_1MONTH", + "annotation": null, + "description": null, + "value": "'1M'" + }, + { + "name": "SIDE_BUY", + "annotation": null, + "description": null, + "value": "'BUY'" + }, + { + "name": "SIDE_SELL", + "annotation": null, + "description": null, + "value": "'SELL'" + }, + { + "name": "ORDER_TYPE_LIMIT", + "annotation": null, + "description": null, + "value": "'LIMIT'" + }, + { + "name": "ORDER_TYPE_MARKET", + "annotation": null, + "description": null, + "value": "'MARKET'" + }, + { + "name": "ORDER_TYPE_STOP_LOSS", + "annotation": null, + "description": null, + "value": "'STOP_LOSS'" + }, + { + "name": "ORDER_TYPE_STOP_LOSS_LIMIT", + "annotation": null, + "description": null, + "value": "'STOP_LOSS_LIMIT'" + }, + { + "name": "ORDER_TYPE_TAKE_PROFIT", + "annotation": null, + "description": null, + "value": "'TAKE_PROFIT'" + }, + { + "name": "ORDER_TYPE_TAKE_PROFIT_LIMIT", + "annotation": null, + "description": null, + "value": "'TAKE_PROFIT_LIMIT'" + }, + { + "name": "ORDER_TYPE_LIMIT_MAKER", + "annotation": null, + "description": null, + "value": "'LIMIT_MAKER'" + }, + { + "name": "FUTURE_ORDER_TYPE_LIMIT", + "annotation": null, + "description": null, + "value": "'LIMIT'" + }, + { + "name": "FUTURE_ORDER_TYPE_MARKET", + "annotation": null, + "description": null, + "value": "'MARKET'" + }, + { + "name": "FUTURE_ORDER_TYPE_STOP", + "annotation": null, + "description": null, + "value": "'STOP'" + }, + { + "name": "FUTURE_ORDER_TYPE_STOP_MARKET", + "annotation": null, + "description": null, + "value": "'STOP_MARKET'" + }, + { + "name": "FUTURE_ORDER_TYPE_TAKE_PROFIT", + "annotation": null, + "description": null, + "value": "'TAKE_PROFIT'" + }, + { + "name": "FUTURE_ORDER_TYPE_TAKE_PROFIT_MARKET", + "annotation": null, + "description": null, + "value": "'TAKE_PROFIT_MARKET'" + }, + { + "name": "FUTURE_ORDER_TYPE_LIMIT_MAKER", + "annotation": null, + "description": null, + "value": "'LIMIT_MAKER'" + }, + { + "name": "TIME_IN_FORCE_GTC", + "annotation": null, + "description": null, + "value": "'GTC'" + }, + { + "name": "TIME_IN_FORCE_IOC", + "annotation": null, + "description": null, + "value": "'IOC'" + }, + { + "name": "TIME_IN_FORCE_FOK", + "annotation": null, + "description": null, + "value": "'FOK'" + }, + { + "name": "ORDER_RESP_TYPE_ACK", + "annotation": null, + "description": null, + "value": "'ACK'" + }, + { + "name": "ORDER_RESP_TYPE_RESULT", + "annotation": null, + "description": null, + "value": "'RESULT'" + }, + { + "name": "ORDER_RESP_TYPE_FULL", + "annotation": null, + "description": null, + "value": "'FULL'" + }, + { + "name": "AGG_ID", + "annotation": null, + "description": null, + "value": "'a'" + }, + { + "name": "AGG_PRICE", + "annotation": null, + "description": null, + "value": "'p'" + }, + { + "name": "AGG_QUANTITY", + "annotation": null, + "description": null, + "value": "'q'" + }, + { + "name": "AGG_FIRST_TRADE_ID", + "annotation": null, + "description": null, + "value": "'f'" + }, + { + "name": "AGG_LAST_TRADE_ID", + "annotation": null, + "description": null, + "value": "'l'" + }, + { + "name": "AGG_TIME", + "annotation": null, + "description": null, + "value": "'T'" + }, + { + "name": "AGG_BUYER_MAKES", + "annotation": null, + "description": null, + "value": "'m'" + }, + { + "name": "AGG_BEST_MATCH", + "annotation": null, + "description": null, + "value": "'M'" + }, + { + "name": "SPOT_TO_FIAT", + "annotation": null, + "description": null, + "value": "'MAIN_C2C'" + }, + { + "name": "SPOT_TO_USDT_FUTURE", + "annotation": null, + "description": null, + "value": "'MAIN_UMFUTURE'" + }, + { + "name": "SPOT_TO_COIN_FUTURE", + "annotation": null, + "description": null, + "value": "'MAIN_CMFUTURE'" + }, + { + "name": "SPOT_TO_MARGIN_CROSS", + "annotation": null, + "description": null, + "value": "'MAIN_MARGIN'" + }, + { + "name": "SPOT_TO_MINING", + "annotation": null, + "description": null, + "value": "'MAIN_MINING'" + }, + { + "name": "FIAT_TO_SPOT", + "annotation": null, + "description": null, + "value": "'C2C_MAIN'" + }, + { + "name": "FIAT_TO_USDT_FUTURE", + "annotation": null, + "description": null, + "value": "'C2C_UMFUTURE'" + }, + { + "name": "FIAT_TO_MINING", + "annotation": null, + "description": null, + "value": "'C2C_MINING'" + }, + { + "name": "USDT_FUTURE_TO_SPOT", + "annotation": null, + "description": null, + "value": "'UMFUTURE_MAIN'" + }, + { + "name": "USDT_FUTURE_TO_FIAT", + "annotation": null, + "description": null, + "value": "'UMFUTURE_C2C'" + }, + { + "name": "USDT_FUTURE_TO_MARGIN_CROSS", + "annotation": null, + "description": null, + "value": "'UMFUTURE_MARGIN'" + }, + { + "name": "COIN_FUTURE_TO_SPOT", + "annotation": null, + "description": null, + "value": "'CMFUTURE_MAIN'" + }, + { + "name": "MARGIN_CROSS_TO_SPOT", + "annotation": null, + "description": null, + "value": "'MARGIN_MAIN'" + }, + { + "name": "MARGIN_CROSS_TO_USDT_FUTURE", + "annotation": null, + "description": null, + "value": "'MARGIN_UMFUTURE'" + }, + { + "name": "MINING_TO_SPOT", + "annotation": null, + "description": null, + "value": "'MINING_MAIN'" + }, + { + "name": "MINING_TO_USDT_FUTURE", + "annotation": null, + "description": null, + "value": "'MINING_UMFUTURE'" + }, + { + "name": "MINING_TO_FIAT", + "annotation": null, + "description": null, + "value": "'MINING_C2C'" + }, + { + "name": "SPOT_ORDER_PREFIX", + "annotation": null, + "description": null, + "value": "'x-HNA2TXFJ'" + }, + { + "name": "CONTRACT_ORDER_PREFIX", + "annotation": null, + "description": null, + "value": "'x-Cb7ytekJ'" + }, + { + "name": "tld", + "annotation": null, + "description": null, + "value": "tld" + }, + { + "name": "API_KEY", + "annotation": null, + "description": null, + "value": "api_key" + }, + { + "name": "API_SECRET", + "annotation": null, + "description": null, + "value": "api_secret" + }, + { + "name": "TIME_UNIT", + "annotation": null, + "description": null, + "value": "time_unit" + }, + { + "name": "PRIVATE_KEY", + "annotation": "Any", + "description": null, + "value": "self._init_private_key(private_key, private_key_pass)" + }, + { + "name": "session", + "annotation": null, + "description": null, + "value": "self._init_session()" + }, + { + "name": "response", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "testnet", + "annotation": null, + "description": null, + "value": "testnet" + }, + { + "name": "demo", + "annotation": null, + "description": null, + "value": "demo" + }, + { + "name": "timestamp_offset", + "annotation": null, + "description": null, + "value": "0" + }, + { + "name": "ws_api", + "annotation": null, + "description": null, + "value": "WebsocketAPI(url=ws_api_url, tld=tld, https_proxy=https_proxy)" + }, + { + "name": "ws_future", + "annotation": null, + "description": null, + "value": "WebsocketAPI(url=ws_future_url, tld=tld, https_proxy=https_proxy)" + }, + { + "name": "loop", + "annotation": null, + "description": null, + "value": "loop or get_loop()" + } + ], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.base_client.BaseClient.__init__", + "signature": "(self, api_key=None, api_secret=None, requests_params=None, tld='com', base_endpoint=BASE_ENDPOINT_DEFAULT, testnet=False, demo=False, private_key=None, private_key_pass=None, loop=None, time_unit=None)", + "description": "Binance API Client constructor\n\n:param api_key: Api Key\n:type api_key: str.\n:param api_secret: Api Secret\n:type api_secret: str.\n:param requests_params: optional - Dictionary of requests params to use for all calls\n:type requests_params: dict.\n:param testnet: Use testnet environment - only available for vanilla options at the moment\n:type testnet: bool\n:param private_key: Path to private key, or string of file contents\n:type private_key: optional - str or Path\n:param private_key_pass: Password of private key\n:type private_key_pass: optional - str\n:param time_unit: Time unit to use for requests. Supported values: \"MILLISECOND\", \"MICROSECOND\"\n:type time_unit: optional - str", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "api_key", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "api_secret", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "requests_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "base_endpoint", + "annotation": "str", + "description": null, + "value": "BASE_ENDPOINT_DEFAULT" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "demo", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "private_key", + "annotation": "Optional[Union[str, Path]]", + "description": null, + "value": "None" + }, + { + "name": "private_key_pass", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "loop", + "annotation": "Optional[asyncio.AbstractEventLoop]", + "description": null, + "value": "None" + }, + { + "name": "time_unit", + "annotation": "Optional[str]", + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(\n self,\n api_key: Optional[str] = None,\n api_secret: Optional[str] = None,\n requests_params: Optional[Dict[str, Any]] = None,\n tld: str = \"com\",\n base_endpoint: str = BASE_ENDPOINT_DEFAULT,\n testnet: bool = False,\n demo: bool = False,\n private_key: Optional[Union[str, Path]] = None,\n private_key_pass: Optional[str] = None,\n loop: Optional[asyncio.AbstractEventLoop] = None,\n time_unit: Optional[str] = None,\n):\n \"\"\"Binance API Client constructor\n\n :param api_key: Api Key\n :type api_key: str.\n :param api_secret: Api Secret\n :type api_secret: str.\n :param requests_params: optional - Dictionary of requests params to use for all calls\n :type requests_params: dict.\n :param testnet: Use testnet environment - only available for vanilla options at the moment\n :type testnet: bool\n :param private_key: Path to private key, or string of file contents\n :type private_key: optional - str or Path\n :param private_key_pass: Password of private key\n :type private_key_pass: optional - str\n :param time_unit: Time unit to use for requests. Supported values: \"MILLISECOND\", \"MICROSECOND\"\n :type time_unit: optional - str\n\n \"\"\"\n\n self.tld = tld\n self.API_URL = self.API_URL.format(base_endpoint, tld)\n self.MARGIN_API_URL = self.MARGIN_API_URL.format(base_endpoint, tld)\n self.WEBSITE_URL = self.WEBSITE_URL.format(tld)\n self.FUTURES_URL = self.FUTURES_URL.format(tld)\n self.FUTURES_DATA_URL = self.FUTURES_DATA_URL.format(tld)\n self.FUTURES_COIN_URL = self.FUTURES_COIN_URL.format(tld)\n self.FUTURES_COIN_DATA_URL = self.FUTURES_COIN_DATA_URL.format(tld)\n self.OPTIONS_URL = self.OPTIONS_URL.format(tld)\n self.OPTIONS_TESTNET_URL = self.OPTIONS_TESTNET_URL.format(tld)\n\n self.API_KEY = api_key\n self.API_SECRET = api_secret\n self.TIME_UNIT = time_unit\n self._is_rsa = False\n self.PRIVATE_KEY: Any = self._init_private_key(private_key, private_key_pass)\n self.session = self._init_session()\n self._requests_params = requests_params\n self.response = None\n self.testnet = testnet\n self.demo = demo\n self.timestamp_offset = 0\n ws_api_url = self.WS_API_URL.format(tld)\n if testnet:\n ws_api_url = self.WS_API_TESTNET_URL\n elif demo:\n ws_api_url = self.WS_API_DEMO_URL\n if self.TIME_UNIT:\n ws_api_url += f\"?timeUnit={self.TIME_UNIT}\"\n # Extract proxy from requests_params for WebSocket connections\n https_proxy = None\n if requests_params and 'proxies' in requests_params:\n https_proxy = requests_params['proxies'].get('https') or requests_params['proxies'].get('http')\n\n self.ws_api = WebsocketAPI(url=ws_api_url, tld=tld, https_proxy=https_proxy)\n ws_future_url = self.WS_FUTURES_URL.format(tld)\n if testnet:\n ws_future_url = self.WS_FUTURES_TESTNET_URL\n elif demo:\n ws_future_url = self.WS_FUTURES_DEMO_URL\n self.ws_future = WebsocketAPI(url=ws_future_url, tld=tld, https_proxy=https_proxy)\n self.loop = loop or get_loop()" + }, + "_get_headers": { + "name": "_get_headers", + "path": "binance.base_client.BaseClient._get_headers", + "signature": "(self) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def _get_headers(self) -> Dict:\n headers = {\n \"Accept\": \"application/json\",\n \"Content-Type\": \"application/json\",\n \"User-Agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36\", # noqa\n }\n if self.API_KEY:\n assert self.API_KEY\n headers[\"X-MBX-APIKEY\"] = self.API_KEY\n if self.TIME_UNIT:\n assert self.TIME_UNIT\n headers[\"X-MBX-TIME-UNIT\"] = self.TIME_UNIT\n return headers" + }, + "_init_session": { + "name": "_init_session", + "path": "binance.base_client.BaseClient._init_session", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _init_session(self):\n raise NotImplementedError" + }, + "_init_private_key": { + "name": "_init_private_key", + "path": "binance.base_client.BaseClient._init_private_key", + "signature": "(self, private_key, private_key_pass=None)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "private_key", + "annotation": "Optional[Union[str, Path]]", + "description": null, + "value": null + }, + { + "name": "private_key_pass", + "annotation": "Optional[str]", + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _init_private_key(\n self,\n private_key: Optional[Union[str, Path]],\n private_key_pass: Optional[str] = None,\n):\n if not private_key:\n return\n if isinstance(private_key, Path):\n with open(private_key, \"r\") as f:\n private_key = f.read()\n if len(private_key) > 120:\n self._is_rsa = True\n return RSA.import_key(private_key, passphrase=private_key_pass)\n return ECC.import_key(private_key)" + }, + "_create_api_uri": { + "name": "_create_api_uri", + "path": "binance.base_client.BaseClient._create_api_uri", + "signature": "(self, path, signed=True, version=PUBLIC_API_VERSION) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": "bool", + "description": null, + "value": "True" + }, + { + "name": "version", + "annotation": "str", + "description": null, + "value": "PUBLIC_API_VERSION" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def _create_api_uri(\n self, path: str, signed: bool = True, version: str = PUBLIC_API_VERSION\n) -> str:\n url = self.API_URL\n if self.testnet:\n url = self.API_TESTNET_URL\n elif self.demo:\n url = self.API_DEMO_URL\n v = self.PRIVATE_API_VERSION if signed else version\n return url + \"/\" + v + \"/\" + path" + }, + "_create_margin_api_uri": { + "name": "_create_margin_api_uri", + "path": "binance.base_client.BaseClient._create_margin_api_uri", + "signature": "(self, path, version=1) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "version", + "annotation": "int", + "description": null, + "value": "1" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def _create_margin_api_uri(self, path: str, version: int = 1) -> str:\n options = {\n 1: self.MARGIN_API_VERSION,\n 2: self.MARGIN_API_VERSION2,\n 3: self.MARGIN_API_VERSION3,\n 4: self.MARGIN_API_VERSION4,\n }\n return self.MARGIN_API_URL + \"/\" + options[version] + \"/\" + path" + }, + "_create_papi_api_uri": { + "name": "_create_papi_api_uri", + "path": "binance.base_client.BaseClient._create_papi_api_uri", + "signature": "(self, path, version=1) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "version", + "annotation": "int", + "description": null, + "value": "1" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def _create_papi_api_uri(self, path: str, version: int = 1) -> str:\n options = {1: self.PORTFOLIO_API_VERSION, 2: self.PORTFOLIO_API_VERSION2}\n return self.PAPI_URL.format(self.tld) + \"/\" + options[version] + \"/\" + path" + }, + "_create_website_uri": { + "name": "_create_website_uri", + "path": "binance.base_client.BaseClient._create_website_uri", + "signature": "(self, path) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def _create_website_uri(self, path: str) -> str:\n return self.WEBSITE_URL + \"/\" + path" + }, + "_create_futures_api_uri": { + "name": "_create_futures_api_uri", + "path": "binance.base_client.BaseClient._create_futures_api_uri", + "signature": "(self, path, version=1) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "version", + "annotation": "int", + "description": null, + "value": "1" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def _create_futures_api_uri(self, path: str, version: int = 1) -> str:\n url = self.FUTURES_URL\n if self.testnet:\n url = self.FUTURES_TESTNET_URL\n elif self.demo:\n url = self.FUTURES_DEMO_URL\n options = {\n 1: self.FUTURES_API_VERSION,\n 2: self.FUTURES_API_VERSION2,\n 3: self.FUTURES_API_VERSION3,\n }\n return url + \"/\" + options[version] + \"/\" + path" + }, + "_create_futures_data_api_uri": { + "name": "_create_futures_data_api_uri", + "path": "binance.base_client.BaseClient._create_futures_data_api_uri", + "signature": "(self, path) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def _create_futures_data_api_uri(self, path: str) -> str:\n url = self.FUTURES_DATA_URL\n if self.testnet:\n url = self.FUTURES_DATA_TESTNET_URL\n return url + \"/\" + path" + }, + "_create_futures_coin_api_url": { + "name": "_create_futures_coin_api_url", + "path": "binance.base_client.BaseClient._create_futures_coin_api_url", + "signature": "(self, path, version=1) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "version", + "annotation": "int", + "description": null, + "value": "1" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def _create_futures_coin_api_url(self, path: str, version: int = 1) -> str:\n url = self.FUTURES_COIN_URL\n if self.testnet:\n url = self.FUTURES_COIN_TESTNET_URL\n elif self.demo:\n url = self.FUTURES_COIN_DEMO_URL\n options = {\n 1: self.FUTURES_API_VERSION,\n 2: self.FUTURES_API_VERSION2,\n 3: self.FUTURES_API_VERSION3,\n }\n return url + \"/\" + options[version] + \"/\" + path" + }, + "_create_futures_coin_data_api_url": { + "name": "_create_futures_coin_data_api_url", + "path": "binance.base_client.BaseClient._create_futures_coin_data_api_url", + "signature": "(self, path, version=1) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "version", + "annotation": "int", + "description": null, + "value": "1" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def _create_futures_coin_data_api_url(self, path: str, version: int = 1) -> str:\n url = self.FUTURES_COIN_DATA_URL\n if self.testnet:\n url = self.FUTURES_COIN_DATA_TESTNET_URL\n return url + \"/\" + path" + }, + "_create_options_api_uri": { + "name": "_create_options_api_uri", + "path": "binance.base_client.BaseClient._create_options_api_uri", + "signature": "(self, path) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def _create_options_api_uri(self, path: str) -> str:\n url = self.OPTIONS_URL\n if self.testnet:\n url = self.OPTIONS_TESTNET_URL\n return url + \"/\" + self.OPTIONS_API_VERSION + \"/\" + path" + }, + "_rsa_signature": { + "name": "_rsa_signature", + "path": "binance.base_client.BaseClient._rsa_signature", + "signature": "(self, query_string)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "query_string", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _rsa_signature(self, query_string: str):\n assert self.PRIVATE_KEY\n h = SHA256.new(query_string.encode(\"utf-8\"))\n signature = pkcs1_15.new(self.PRIVATE_KEY).sign(h) # type: ignore\n res = b64encode(signature).decode()\n # return self.encode_uri_component(res)\n return res" + }, + "encode_uri_component": { + "name": "encode_uri_component", + "path": "binance.base_client.BaseClient.encode_uri_component", + "signature": "(uri, safe=\"~()*!.'\")", + "description": null, + "parameters": [ + { + "name": "uri", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "safe", + "annotation": null, + "description": null, + "value": "\"~()*!.'\"" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "@staticmethod\ndef encode_uri_component(uri, safe=\"~()*!.'\"):\n return _urlencode.quote(uri, safe=safe)" + }, + "convert_to_dict": { + "name": "convert_to_dict", + "path": "binance.base_client.BaseClient.convert_to_dict", + "signature": "(list_tuples)", + "description": null, + "parameters": [ + { + "name": "list_tuples", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "@staticmethod\ndef convert_to_dict(list_tuples):\n dictionary = dict((key, value) for key, value in list_tuples)\n return dictionary" + }, + "_ed25519_signature": { + "name": "_ed25519_signature", + "path": "binance.base_client.BaseClient._ed25519_signature", + "signature": "(self, query_string)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "query_string", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _ed25519_signature(self, query_string: str):\n assert self.PRIVATE_KEY\n res = b64encode(\n eddsa.new(self.PRIVATE_KEY, \"rfc8032\").sign(query_string.encode())\n ).decode() # type: ignore\n # return self.encode_uri_component(res)\n return res" + }, + "_hmac_signature": { + "name": "_hmac_signature", + "path": "binance.base_client.BaseClient._hmac_signature", + "signature": "(self, query_string) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "query_string", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def _hmac_signature(self, query_string: str) -> str:\n assert self.API_SECRET, \"API Secret required for private endpoints\"\n m = hmac.new(\n self.API_SECRET.encode(\"utf-8\"),\n query_string.encode(\"utf-8\"),\n hashlib.sha256,\n )\n return m.hexdigest()" + }, + "_generate_signature": { + "name": "_generate_signature", + "path": "binance.base_client.BaseClient._generate_signature", + "signature": "(self, data, uri_encode=True) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "data", + "annotation": "Dict", + "description": null, + "value": null + }, + { + "name": "uri_encode", + "annotation": null, + "description": null, + "value": "True" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def _generate_signature(self, data: Dict, uri_encode=True) -> str:\n sig_func = self._hmac_signature\n if self.PRIVATE_KEY:\n if self._is_rsa:\n sig_func = self._rsa_signature\n else:\n sig_func = self._ed25519_signature\n query_string = \"&\".join([f\"{d[0]}={d[1]}\" for d in self._order_params(data)])\n res = sig_func(query_string)\n return self.encode_uri_component(res) if uri_encode else res" + }, + "_sign_ws_params": { + "name": "_sign_ws_params", + "path": "binance.base_client.BaseClient._sign_ws_params", + "signature": "(self, params, signature_func)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signature_func", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _sign_ws_params(self, params, signature_func):\n if \"signature\" in params:\n return params\n params.setdefault(\"apiKey\", self.API_KEY)\n params.setdefault(\"timestamp\", int(time.time() * 1000 + self.timestamp_offset))\n params = dict(sorted(params.items()))\n return {**params, \"signature\": signature_func(params)}" + }, + "_generate_ws_api_signature": { + "name": "_generate_ws_api_signature", + "path": "binance.base_client.BaseClient._generate_ws_api_signature", + "signature": "(self, data) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "data", + "annotation": "Dict", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def _generate_ws_api_signature(self, data: Dict) -> str:\n sig_func = self._hmac_signature\n if self.PRIVATE_KEY:\n if self._is_rsa:\n sig_func = self._rsa_signature\n else:\n sig_func = self._ed25519_signature\n query_string = urlencode(data)\n return sig_func(query_string)" + }, + "_ws_futures_api_request": { + "name": "_ws_futures_api_request", + "path": "binance.base_client.BaseClient._ws_futures_api_request", + "signature": "(self, method, signed, params)", + "description": "Send request and wait for response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": "bool", + "description": null, + "value": null + }, + { + "name": "params", + "annotation": "dict", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _ws_futures_api_request(self, method: str, signed: bool, params: dict):\n \"\"\"Send request and wait for response\"\"\"\n id = params.pop(\"id\", self.uuid22())\n payload = {\n \"id\": id,\n \"method\": method,\n \"params\": params,\n }\n if signed:\n payload[\"params\"] = self._sign_ws_params(params, self._generate_signature)\n return await self.ws_future.request(id, payload)" + }, + "_ws_futures_api_request_sync": { + "name": "_ws_futures_api_request_sync", + "path": "binance.base_client.BaseClient._ws_futures_api_request_sync", + "signature": "(self, method, signed, params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": "bool", + "description": null, + "value": null + }, + { + "name": "params", + "annotation": "dict", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _ws_futures_api_request_sync(self, method: str, signed: bool, params: dict):\n self.loop = get_loop()\n return self.loop.run_until_complete(\n self._ws_futures_api_request(method, signed, params)\n )" + }, + "_make_sync": { + "name": "_make_sync", + "path": "binance.base_client.BaseClient._make_sync", + "signature": "(self, method)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _make_sync(self, method):\n return asyncio.run(method)" + }, + "_ws_api_request": { + "name": "_ws_api_request", + "path": "binance.base_client.BaseClient._ws_api_request", + "signature": "(self, method, signed, params)", + "description": "Send request and wait for response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": "bool", + "description": null, + "value": null + }, + { + "name": "params", + "annotation": "dict", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _ws_api_request(self, method: str, signed: bool, params: dict):\n \"\"\"Send request and wait for response\"\"\"\n id = params.pop(\"id\", self.uuid22())\n payload = {\n \"id\": id,\n \"method\": method,\n \"params\": params,\n }\n if signed:\n payload[\"params\"] = self._sign_ws_params(\n params, self._generate_ws_api_signature\n )\n return await self.ws_api.request(id, payload)" + }, + "_ws_api_request_sync": { + "name": "_ws_api_request_sync", + "path": "binance.base_client.BaseClient._ws_api_request_sync", + "signature": "(self, method, signed, params)", + "description": "Send request to WS API and wait for response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": "bool", + "description": null, + "value": null + }, + { + "name": "params", + "annotation": "dict", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _ws_api_request_sync(self, method: str, signed: bool, params: dict):\n \"\"\"Send request to WS API and wait for response\"\"\"\n self.loop = get_loop()\n return self.loop.run_until_complete(\n self._ws_api_request(method, signed, params)\n )" + }, + "_get_version": { + "name": "_get_version", + "path": "binance.base_client.BaseClient._get_version", + "signature": "(version, **kwargs) -> int", + "description": null, + "parameters": [ + { + "name": "version", + "annotation": "int", + "description": null, + "value": null + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "int", + "description": null + }, + "docstring": [], + "source": "@staticmethod\ndef _get_version(version: int, **kwargs) -> int:\n if \"data\" in kwargs and \"version\" in kwargs[\"data\"]:\n version_override = kwargs[\"data\"].get(\"version\")\n del kwargs[\"data\"][\"version\"]\n return version_override\n return version" + }, + "uuid22": { + "name": "uuid22", + "path": "binance.base_client.BaseClient.uuid22", + "signature": "(length=22)", + "description": null, + "parameters": [ + { + "name": "length", + "annotation": null, + "description": null, + "value": "22" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "@staticmethod\ndef uuid22(length=22):\n return format(random.getrandbits(length * 4), \"x\")" + }, + "_order_params": { + "name": "_order_params", + "path": "binance.base_client.BaseClient._order_params", + "signature": "(data) -> List[Tuple[str, str]]", + "description": "Convert params to list with signature as last element\n\n:param data:\n:return:", + "parameters": [ + { + "name": "data", + "annotation": "Dict", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "typing.List[typing.Tuple[str, str]]", + "description": null + }, + "docstring": [], + "source": "@staticmethod\ndef _order_params(data: Dict) -> List[Tuple[str, str]]:\n \"\"\"Convert params to list with signature as last element\n\n :param data:\n :return:\n\n \"\"\"\n data = dict(filter(lambda el: el[1] is not None, data.items()))\n has_signature = False\n params = []\n for key, value in data.items():\n if key == \"signature\":\n has_signature = True\n else:\n params.append((key, str(value)))\n # sort parameters by key\n params.sort(key=itemgetter(0))\n if has_signature:\n params.append((\"signature\", data[\"signature\"]))\n return params" + }, + "_get_request_kwargs": { + "name": "_get_request_kwargs", + "path": "binance.base_client.BaseClient._get_request_kwargs", + "signature": "(self, method, signed, force_params=False, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": "bool", + "description": null, + "value": null + }, + { + "name": "force_params", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def _get_request_kwargs(\n self, method, signed: bool, force_params: bool = False, **kwargs\n) -> Dict:\n # set default requests timeout\n kwargs[\"timeout\"] = self.REQUEST_TIMEOUT\n\n # add our global requests params\n if self._requests_params:\n kwargs.update(self._requests_params)\n\n data = kwargs.get(\"data\", None)\n if data and isinstance(data, dict):\n kwargs[\"data\"] = data\n # find any requests params passed and apply them\n if \"requests_params\" in kwargs[\"data\"]:\n # merge requests params into kwargs\n kwargs.update(kwargs[\"data\"][\"requests_params\"])\n del kwargs[\"data\"][\"requests_params\"]\n\n if signed:\n # generate signature\n kwargs[\"data\"][\"timestamp\"] = int(\n time.time() * 1000 + self.timestamp_offset\n )\n if self.REQUEST_RECVWINDOW:\n kwargs[\"data\"][\"recvWindow\"] = self.REQUEST_RECVWINDOW\n kwargs[\"data\"][\"signature\"] = self._generate_signature(kwargs[\"data\"])\n\n # sort get and post params to match signature order\n if data:\n # sort post params and remove any arguments with values of None\n kwargs[\"data\"] = self._order_params(kwargs[\"data\"])\n # Remove any arguments with values of None.\n null_args = [\n i for i, (key, value) in enumerate(kwargs[\"data\"]) if value is None\n ]\n for i in reversed(null_args):\n del kwargs[\"data\"][i]\n\n # if get request assign data array to params value for requests lib\n if data and (method == \"get\" or force_params):\n kwargs[\"params\"] = \"&\".join(\n \"%s=%s\" % (data[0], data[1]) for data in kwargs[\"data\"]\n )\n del kwargs[\"data\"]\n\n # Temporary fix for Signature issue while using batchOrders in AsyncClient\n if \"params\" in kwargs.keys():\n if (\n \"batchOrders\" in kwargs[\"params\"]\n or \"orderidlist\" in kwargs[\"params\"]\n or \"origclientorderidlist\" in kwargs[\"params\"]\n ):\n kwargs[\"data\"] = kwargs[\"params\"]\n del kwargs[\"params\"]\n\n return kwargs" + } + }, + "source": "class BaseClient:\n API_URL = \"https://api{}.binance.{}/api\"\n API_TESTNET_URL = \"https://testnet.binance.vision/api\"\n API_DEMO_URL = \"https://demo-api.binance.com/api\"\n MARGIN_API_URL = \"https://api{}.binance.{}/sapi\"\n WEBSITE_URL = \"https://www.binance.{}\"\n FUTURES_URL = \"https://fapi.binance.{}/fapi\"\n FUTURES_TESTNET_URL = \"https://testnet.binancefuture.com/fapi\"\n FUTURES_DEMO_URL = \"https://demo-fapi.binance.com/fapi\"\n FUTURES_DATA_URL = \"https://fapi.binance.{}/futures/data\"\n FUTURES_DATA_TESTNET_URL = \"https://testnet.binancefuture.com/futures/data\"\n FUTURES_COIN_URL = \"https://dapi.binance.{}/dapi\"\n FUTURES_COIN_TESTNET_URL = \"https://testnet.binancefuture.com/dapi\"\n FUTURES_COIN_DEMO_URL = \"https://demo-dapi.binance.com/dapi\"\n FUTURES_COIN_DATA_URL = \"https://dapi.binance.{}/futures/data\"\n FUTURES_COIN_DATA_TESTNET_URL = \"https://testnet.binancefuture.com/futures/data\"\n OPTIONS_URL = \"https://eapi.binance.{}/eapi\"\n OPTIONS_TESTNET_URL = \"https://testnet.binanceops.{}/eapi\"\n PAPI_URL = \"https://papi.binance.{}/papi\"\n WS_API_URL = \"wss://ws-api.binance.{}/ws-api/v3\"\n WS_API_TESTNET_URL = \"wss://ws-api.testnet.binance.vision/ws-api/v3\"\n WS_API_DEMO_URL = \"wss://demo-ws-api.binance.com/ws-api/v3\"\n WS_FUTURES_URL = \"wss://ws-fapi.binance.{}/ws-fapi/v1\"\n WS_FUTURES_TESTNET_URL = \"wss://testnet.binancefuture.com/ws-fapi/v1\"\n WS_FUTURES_DEMO_URL = \"wss://testnet.binancefuture.com/ws-fapi/v1\"\n PUBLIC_API_VERSION = \"v3\"\n PRIVATE_API_VERSION = \"v3\"\n MARGIN_API_VERSION = \"v1\"\n MARGIN_API_VERSION2 = \"v2\"\n MARGIN_API_VERSION3 = \"v3\"\n MARGIN_API_VERSION4 = \"v4\"\n FUTURES_API_VERSION = \"v1\"\n FUTURES_API_VERSION2 = \"v2\"\n FUTURES_API_VERSION3 = \"v3\"\n OPTIONS_API_VERSION = \"v1\"\n PORTFOLIO_API_VERSION = \"v1\"\n PORTFOLIO_API_VERSION2 = \"v2\"\n\n BASE_ENDPOINT_DEFAULT = \"\"\n BASE_ENDPOINT_1 = \"1\"\n BASE_ENDPOINT_2 = \"2\"\n BASE_ENDPOINT_3 = \"3\"\n BASE_ENDPOINT_4 = \"4\"\n\n REQUEST_TIMEOUT: float = 10\n\n REQUEST_RECVWINDOW: int = 10000 # 10 seconds\n\n SYMBOL_TYPE_SPOT = \"SPOT\"\n\n ORDER_STATUS_NEW = \"NEW\"\n ORDER_STATUS_PARTIALLY_FILLED = \"PARTIALLY_FILLED\"\n ORDER_STATUS_FILLED = \"FILLED\"\n ORDER_STATUS_CANCELED = \"CANCELED\"\n ORDER_STATUS_PENDING_CANCEL = \"PENDING_CANCEL\"\n ORDER_STATUS_REJECTED = \"REJECTED\"\n ORDER_STATUS_EXPIRED = \"EXPIRED\"\n\n KLINE_INTERVAL_1SECOND = \"1s\"\n KLINE_INTERVAL_1MINUTE = \"1m\"\n KLINE_INTERVAL_3MINUTE = \"3m\"\n KLINE_INTERVAL_5MINUTE = \"5m\"\n KLINE_INTERVAL_15MINUTE = \"15m\"\n KLINE_INTERVAL_30MINUTE = \"30m\"\n KLINE_INTERVAL_1HOUR = \"1h\"\n KLINE_INTERVAL_2HOUR = \"2h\"\n KLINE_INTERVAL_4HOUR = \"4h\"\n KLINE_INTERVAL_6HOUR = \"6h\"\n KLINE_INTERVAL_8HOUR = \"8h\"\n KLINE_INTERVAL_12HOUR = \"12h\"\n KLINE_INTERVAL_1DAY = \"1d\"\n KLINE_INTERVAL_3DAY = \"3d\"\n KLINE_INTERVAL_1WEEK = \"1w\"\n KLINE_INTERVAL_1MONTH = \"1M\"\n\n SIDE_BUY = \"BUY\"\n SIDE_SELL = \"SELL\"\n\n ORDER_TYPE_LIMIT = \"LIMIT\"\n ORDER_TYPE_MARKET = \"MARKET\"\n ORDER_TYPE_STOP_LOSS = \"STOP_LOSS\"\n ORDER_TYPE_STOP_LOSS_LIMIT = \"STOP_LOSS_LIMIT\"\n ORDER_TYPE_TAKE_PROFIT = \"TAKE_PROFIT\"\n ORDER_TYPE_TAKE_PROFIT_LIMIT = \"TAKE_PROFIT_LIMIT\"\n ORDER_TYPE_LIMIT_MAKER = \"LIMIT_MAKER\"\n\n FUTURE_ORDER_TYPE_LIMIT = \"LIMIT\"\n FUTURE_ORDER_TYPE_MARKET = \"MARKET\"\n FUTURE_ORDER_TYPE_STOP = \"STOP\"\n FUTURE_ORDER_TYPE_STOP_MARKET = \"STOP_MARKET\"\n FUTURE_ORDER_TYPE_TAKE_PROFIT = \"TAKE_PROFIT\"\n FUTURE_ORDER_TYPE_TAKE_PROFIT_MARKET = \"TAKE_PROFIT_MARKET\"\n FUTURE_ORDER_TYPE_LIMIT_MAKER = \"LIMIT_MAKER\"\n\n TIME_IN_FORCE_GTC = \"GTC\" # Good till cancelled\n TIME_IN_FORCE_IOC = \"IOC\" # Immediate or cancel\n TIME_IN_FORCE_FOK = \"FOK\" # Fill or kill\n\n ORDER_RESP_TYPE_ACK = \"ACK\"\n ORDER_RESP_TYPE_RESULT = \"RESULT\"\n ORDER_RESP_TYPE_FULL = \"FULL\"\n\n # For accessing the data returned by Client.aggregate_trades().\n AGG_ID = \"a\"\n AGG_PRICE = \"p\"\n AGG_QUANTITY = \"q\"\n AGG_FIRST_TRADE_ID = \"f\"\n AGG_LAST_TRADE_ID = \"l\"\n AGG_TIME = \"T\"\n AGG_BUYER_MAKES = \"m\"\n AGG_BEST_MATCH = \"M\"\n\n # new asset transfer api enum\n SPOT_TO_FIAT = \"MAIN_C2C\"\n SPOT_TO_USDT_FUTURE = \"MAIN_UMFUTURE\"\n SPOT_TO_COIN_FUTURE = \"MAIN_CMFUTURE\"\n SPOT_TO_MARGIN_CROSS = \"MAIN_MARGIN\"\n SPOT_TO_MINING = \"MAIN_MINING\"\n FIAT_TO_SPOT = \"C2C_MAIN\"\n FIAT_TO_USDT_FUTURE = \"C2C_UMFUTURE\"\n FIAT_TO_MINING = \"C2C_MINING\"\n USDT_FUTURE_TO_SPOT = \"UMFUTURE_MAIN\"\n USDT_FUTURE_TO_FIAT = \"UMFUTURE_C2C\"\n USDT_FUTURE_TO_MARGIN_CROSS = \"UMFUTURE_MARGIN\"\n COIN_FUTURE_TO_SPOT = \"CMFUTURE_MAIN\"\n MARGIN_CROSS_TO_SPOT = \"MARGIN_MAIN\"\n MARGIN_CROSS_TO_USDT_FUTURE = \"MARGIN_UMFUTURE\"\n MINING_TO_SPOT = \"MINING_MAIN\"\n MINING_TO_USDT_FUTURE = \"MINING_UMFUTURE\"\n MINING_TO_FIAT = \"MINING_C2C\"\n\n ## order ids\n SPOT_ORDER_PREFIX = \"x-HNA2TXFJ\"\n CONTRACT_ORDER_PREFIX = \"x-Cb7ytekJ\"\n\n def __init__(\n self,\n api_key: Optional[str] = None,\n api_secret: Optional[str] = None,\n requests_params: Optional[Dict[str, Any]] = None,\n tld: str = \"com\",\n base_endpoint: str = BASE_ENDPOINT_DEFAULT,\n testnet: bool = False,\n demo: bool = False,\n private_key: Optional[Union[str, Path]] = None,\n private_key_pass: Optional[str] = None,\n loop: Optional[asyncio.AbstractEventLoop] = None,\n time_unit: Optional[str] = None,\n ):\n \"\"\"Binance API Client constructor\n\n :param api_key: Api Key\n :type api_key: str.\n :param api_secret: Api Secret\n :type api_secret: str.\n :param requests_params: optional - Dictionary of requests params to use for all calls\n :type requests_params: dict.\n :param testnet: Use testnet environment - only available for vanilla options at the moment\n :type testnet: bool\n :param private_key: Path to private key, or string of file contents\n :type private_key: optional - str or Path\n :param private_key_pass: Password of private key\n :type private_key_pass: optional - str\n :param time_unit: Time unit to use for requests. Supported values: \"MILLISECOND\", \"MICROSECOND\"\n :type time_unit: optional - str\n\n \"\"\"\n\n self.tld = tld\n self.API_URL = self.API_URL.format(base_endpoint, tld)\n self.MARGIN_API_URL = self.MARGIN_API_URL.format(base_endpoint, tld)\n self.WEBSITE_URL = self.WEBSITE_URL.format(tld)\n self.FUTURES_URL = self.FUTURES_URL.format(tld)\n self.FUTURES_DATA_URL = self.FUTURES_DATA_URL.format(tld)\n self.FUTURES_COIN_URL = self.FUTURES_COIN_URL.format(tld)\n self.FUTURES_COIN_DATA_URL = self.FUTURES_COIN_DATA_URL.format(tld)\n self.OPTIONS_URL = self.OPTIONS_URL.format(tld)\n self.OPTIONS_TESTNET_URL = self.OPTIONS_TESTNET_URL.format(tld)\n\n self.API_KEY = api_key\n self.API_SECRET = api_secret\n self.TIME_UNIT = time_unit\n self._is_rsa = False\n self.PRIVATE_KEY: Any = self._init_private_key(private_key, private_key_pass)\n self.session = self._init_session()\n self._requests_params = requests_params\n self.response = None\n self.testnet = testnet\n self.demo = demo\n self.timestamp_offset = 0\n ws_api_url = self.WS_API_URL.format(tld)\n if testnet:\n ws_api_url = self.WS_API_TESTNET_URL\n elif demo:\n ws_api_url = self.WS_API_DEMO_URL\n if self.TIME_UNIT:\n ws_api_url += f\"?timeUnit={self.TIME_UNIT}\"\n # Extract proxy from requests_params for WebSocket connections\n https_proxy = None\n if requests_params and 'proxies' in requests_params:\n https_proxy = requests_params['proxies'].get('https') or requests_params['proxies'].get('http')\n\n self.ws_api = WebsocketAPI(url=ws_api_url, tld=tld, https_proxy=https_proxy)\n ws_future_url = self.WS_FUTURES_URL.format(tld)\n if testnet:\n ws_future_url = self.WS_FUTURES_TESTNET_URL\n elif demo:\n ws_future_url = self.WS_FUTURES_DEMO_URL\n self.ws_future = WebsocketAPI(url=ws_future_url, tld=tld, https_proxy=https_proxy)\n self.loop = loop or get_loop()\n\n def _get_headers(self) -> Dict:\n headers = {\n \"Accept\": \"application/json\",\n \"Content-Type\": \"application/json\",\n \"User-Agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36\", # noqa\n }\n if self.API_KEY:\n assert self.API_KEY\n headers[\"X-MBX-APIKEY\"] = self.API_KEY\n if self.TIME_UNIT:\n assert self.TIME_UNIT\n headers[\"X-MBX-TIME-UNIT\"] = self.TIME_UNIT\n return headers\n\n def _init_session(self):\n raise NotImplementedError\n\n def _init_private_key(\n self,\n private_key: Optional[Union[str, Path]],\n private_key_pass: Optional[str] = None,\n ):\n if not private_key:\n return\n if isinstance(private_key, Path):\n with open(private_key, \"r\") as f:\n private_key = f.read()\n if len(private_key) > 120:\n self._is_rsa = True\n return RSA.import_key(private_key, passphrase=private_key_pass)\n return ECC.import_key(private_key)\n\n def _create_api_uri(\n self, path: str, signed: bool = True, version: str = PUBLIC_API_VERSION\n ) -> str:\n url = self.API_URL\n if self.testnet:\n url = self.API_TESTNET_URL\n elif self.demo:\n url = self.API_DEMO_URL\n v = self.PRIVATE_API_VERSION if signed else version\n return url + \"/\" + v + \"/\" + path\n\n def _create_margin_api_uri(self, path: str, version: int = 1) -> str:\n options = {\n 1: self.MARGIN_API_VERSION,\n 2: self.MARGIN_API_VERSION2,\n 3: self.MARGIN_API_VERSION3,\n 4: self.MARGIN_API_VERSION4,\n }\n return self.MARGIN_API_URL + \"/\" + options[version] + \"/\" + path\n\n def _create_papi_api_uri(self, path: str, version: int = 1) -> str:\n options = {1: self.PORTFOLIO_API_VERSION, 2: self.PORTFOLIO_API_VERSION2}\n return self.PAPI_URL.format(self.tld) + \"/\" + options[version] + \"/\" + path\n\n def _create_website_uri(self, path: str) -> str:\n return self.WEBSITE_URL + \"/\" + path\n\n def _create_futures_api_uri(self, path: str, version: int = 1) -> str:\n url = self.FUTURES_URL\n if self.testnet:\n url = self.FUTURES_TESTNET_URL\n elif self.demo:\n url = self.FUTURES_DEMO_URL\n options = {\n 1: self.FUTURES_API_VERSION,\n 2: self.FUTURES_API_VERSION2,\n 3: self.FUTURES_API_VERSION3,\n }\n return url + \"/\" + options[version] + \"/\" + path\n\n def _create_futures_data_api_uri(self, path: str) -> str:\n url = self.FUTURES_DATA_URL\n if self.testnet:\n url = self.FUTURES_DATA_TESTNET_URL\n return url + \"/\" + path\n\n def _create_futures_coin_api_url(self, path: str, version: int = 1) -> str:\n url = self.FUTURES_COIN_URL\n if self.testnet:\n url = self.FUTURES_COIN_TESTNET_URL\n elif self.demo:\n url = self.FUTURES_COIN_DEMO_URL\n options = {\n 1: self.FUTURES_API_VERSION,\n 2: self.FUTURES_API_VERSION2,\n 3: self.FUTURES_API_VERSION3,\n }\n return url + \"/\" + options[version] + \"/\" + path\n\n def _create_futures_coin_data_api_url(self, path: str, version: int = 1) -> str:\n url = self.FUTURES_COIN_DATA_URL\n if self.testnet:\n url = self.FUTURES_COIN_DATA_TESTNET_URL\n return url + \"/\" + path\n\n def _create_options_api_uri(self, path: str) -> str:\n url = self.OPTIONS_URL\n if self.testnet:\n url = self.OPTIONS_TESTNET_URL\n return url + \"/\" + self.OPTIONS_API_VERSION + \"/\" + path\n\n def _rsa_signature(self, query_string: str):\n assert self.PRIVATE_KEY\n h = SHA256.new(query_string.encode(\"utf-8\"))\n signature = pkcs1_15.new(self.PRIVATE_KEY).sign(h) # type: ignore\n res = b64encode(signature).decode()\n # return self.encode_uri_component(res)\n return res\n\n @staticmethod\n def encode_uri_component(uri, safe=\"~()*!.'\"):\n return _urlencode.quote(uri, safe=safe)\n\n @staticmethod\n def convert_to_dict(list_tuples):\n dictionary = dict((key, value) for key, value in list_tuples)\n return dictionary\n\n def _ed25519_signature(self, query_string: str):\n assert self.PRIVATE_KEY\n res = b64encode(\n eddsa.new(self.PRIVATE_KEY, \"rfc8032\").sign(query_string.encode())\n ).decode() # type: ignore\n # return self.encode_uri_component(res)\n return res\n\n def _hmac_signature(self, query_string: str) -> str:\n assert self.API_SECRET, \"API Secret required for private endpoints\"\n m = hmac.new(\n self.API_SECRET.encode(\"utf-8\"),\n query_string.encode(\"utf-8\"),\n hashlib.sha256,\n )\n return m.hexdigest()\n\n def _generate_signature(self, data: Dict, uri_encode=True) -> str:\n sig_func = self._hmac_signature\n if self.PRIVATE_KEY:\n if self._is_rsa:\n sig_func = self._rsa_signature\n else:\n sig_func = self._ed25519_signature\n query_string = \"&\".join([f\"{d[0]}={d[1]}\" for d in self._order_params(data)])\n res = sig_func(query_string)\n return self.encode_uri_component(res) if uri_encode else res\n\n def _sign_ws_params(self, params, signature_func):\n if \"signature\" in params:\n return params\n params.setdefault(\"apiKey\", self.API_KEY)\n params.setdefault(\"timestamp\", int(time.time() * 1000 + self.timestamp_offset))\n params = dict(sorted(params.items()))\n return {**params, \"signature\": signature_func(params)}\n\n def _generate_ws_api_signature(self, data: Dict) -> str:\n sig_func = self._hmac_signature\n if self.PRIVATE_KEY:\n if self._is_rsa:\n sig_func = self._rsa_signature\n else:\n sig_func = self._ed25519_signature\n query_string = urlencode(data)\n return sig_func(query_string)\n\n async def _ws_futures_api_request(self, method: str, signed: bool, params: dict):\n \"\"\"Send request and wait for response\"\"\"\n id = params.pop(\"id\", self.uuid22())\n payload = {\n \"id\": id,\n \"method\": method,\n \"params\": params,\n }\n if signed:\n payload[\"params\"] = self._sign_ws_params(params, self._generate_signature)\n return await self.ws_future.request(id, payload)\n\n def _ws_futures_api_request_sync(self, method: str, signed: bool, params: dict):\n self.loop = get_loop()\n return self.loop.run_until_complete(\n self._ws_futures_api_request(method, signed, params)\n )\n\n async def _make_sync(self, method):\n return asyncio.run(method)\n\n async def _ws_api_request(self, method: str, signed: bool, params: dict):\n \"\"\"Send request and wait for response\"\"\"\n id = params.pop(\"id\", self.uuid22())\n payload = {\n \"id\": id,\n \"method\": method,\n \"params\": params,\n }\n if signed:\n payload[\"params\"] = self._sign_ws_params(\n params, self._generate_ws_api_signature\n )\n return await self.ws_api.request(id, payload)\n\n def _ws_api_request_sync(self, method: str, signed: bool, params: dict):\n \"\"\"Send request to WS API and wait for response\"\"\"\n self.loop = get_loop()\n return self.loop.run_until_complete(\n self._ws_api_request(method, signed, params)\n )\n\n @staticmethod\n def _get_version(version: int, **kwargs) -> int:\n if \"data\" in kwargs and \"version\" in kwargs[\"data\"]:\n version_override = kwargs[\"data\"].get(\"version\")\n del kwargs[\"data\"][\"version\"]\n return version_override\n return version\n\n @staticmethod\n def uuid22(length=22):\n return format(random.getrandbits(length * 4), \"x\")\n\n @staticmethod\n def _order_params(data: Dict) -> List[Tuple[str, str]]:\n \"\"\"Convert params to list with signature as last element\n\n :param data:\n :return:\n\n \"\"\"\n data = dict(filter(lambda el: el[1] is not None, data.items()))\n has_signature = False\n params = []\n for key, value in data.items():\n if key == \"signature\":\n has_signature = True\n else:\n params.append((key, str(value)))\n # sort parameters by key\n params.sort(key=itemgetter(0))\n if has_signature:\n params.append((\"signature\", data[\"signature\"]))\n return params\n\n def _get_request_kwargs(\n self, method, signed: bool, force_params: bool = False, **kwargs\n ) -> Dict:\n # set default requests timeout\n kwargs[\"timeout\"] = self.REQUEST_TIMEOUT\n\n # add our global requests params\n if self._requests_params:\n kwargs.update(self._requests_params)\n\n data = kwargs.get(\"data\", None)\n if data and isinstance(data, dict):\n kwargs[\"data\"] = data\n # find any requests params passed and apply them\n if \"requests_params\" in kwargs[\"data\"]:\n # merge requests params into kwargs\n kwargs.update(kwargs[\"data\"][\"requests_params\"])\n del kwargs[\"data\"][\"requests_params\"]\n\n if signed:\n # generate signature\n kwargs[\"data\"][\"timestamp\"] = int(\n time.time() * 1000 + self.timestamp_offset\n )\n if self.REQUEST_RECVWINDOW:\n kwargs[\"data\"][\"recvWindow\"] = self.REQUEST_RECVWINDOW\n kwargs[\"data\"][\"signature\"] = self._generate_signature(kwargs[\"data\"])\n\n # sort get and post params to match signature order\n if data:\n # sort post params and remove any arguments with values of None\n kwargs[\"data\"] = self._order_params(kwargs[\"data\"])\n # Remove any arguments with values of None.\n null_args = [\n i for i, (key, value) in enumerate(kwargs[\"data\"]) if value is None\n ]\n for i in reversed(null_args):\n del kwargs[\"data\"][i]\n\n # if get request assign data array to params value for requests lib\n if data and (method == \"get\" or force_params):\n kwargs[\"params\"] = \"&\".join(\n \"%s=%s\" % (data[0], data[1]) for data in kwargs[\"data\"]\n )\n del kwargs[\"data\"]\n\n # Temporary fix for Signature issue while using batchOrders in AsyncClient\n if \"params\" in kwargs.keys():\n if (\n \"batchOrders\" in kwargs[\"params\"]\n or \"orderidlist\" in kwargs[\"params\"]\n or \"origclientorderidlist\" in kwargs[\"params\"]\n ):\n kwargs[\"data\"] = kwargs[\"params\"]\n del kwargs[\"params\"]\n\n return kwargs", + "inherited_members": {} + } + }, + "functions": {} + }, + "client": { + "name": "client", + "path": "binance.client", + "filepath": "/Users/pablo/github/python-binance/binance/client.py", + "description": null, + "docstring": [], + "attributes": [], + "modules": {}, + "classes": { + "Client": { + "name": "Client", + "path": "binance.client.Client", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "api_key", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "api_secret", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "requests_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "base_endpoint", + "annotation": "str", + "description": null, + "value": "BaseClient.BASE_ENDPOINT_DEFAULT" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "demo", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "private_key", + "annotation": "Optional[Union[str, Path]]", + "description": null, + "value": "None" + }, + { + "name": "private_key_pass", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "ping", + "annotation": "Optional[bool]", + "description": null, + "value": "True" + }, + { + "name": "time_unit", + "annotation": "Optional[str]", + "description": null, + "value": "None" + } + ], + "attributes": [], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.client.Client.__init__", + "signature": "(self, api_key=None, api_secret=None, requests_params=None, tld='com', base_endpoint=BaseClient.BASE_ENDPOINT_DEFAULT, testnet=False, demo=False, private_key=None, private_key_pass=None, ping=True, time_unit=None)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "api_key", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "api_secret", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "requests_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "base_endpoint", + "annotation": "str", + "description": null, + "value": "BaseClient.BASE_ENDPOINT_DEFAULT" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "demo", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "private_key", + "annotation": "Optional[Union[str, Path]]", + "description": null, + "value": "None" + }, + { + "name": "private_key_pass", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "ping", + "annotation": "Optional[bool]", + "description": null, + "value": "True" + }, + { + "name": "time_unit", + "annotation": "Optional[str]", + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(\n self,\n api_key: Optional[str] = None,\n api_secret: Optional[str] = None,\n requests_params: Optional[Dict[str, Any]] = None,\n tld: str = \"com\",\n base_endpoint: str = BaseClient.BASE_ENDPOINT_DEFAULT,\n testnet: bool = False,\n demo: bool = False,\n private_key: Optional[Union[str, Path]] = None,\n private_key_pass: Optional[str] = None,\n ping: Optional[bool] = True,\n time_unit: Optional[str] = None,\n):\n super().__init__(\n api_key,\n api_secret,\n requests_params,\n tld,\n base_endpoint,\n testnet,\n demo,\n private_key,\n private_key_pass,\n time_unit=time_unit,\n )\n\n # init DNS and SSL cert\n if ping:\n self.ping()" + }, + "_init_session": { + "name": "_init_session", + "path": "binance.client.Client._init_session", + "signature": "(self) -> requests.Session", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "requests.requests.Session", + "description": null + }, + "docstring": [], + "source": "def _init_session(self) -> requests.Session:\n headers = self._get_headers()\n\n session = requests.session()\n session.headers.update(headers)\n return session" + }, + "_request": { + "name": "_request", + "path": "binance.client.Client._request", + "signature": "(self, method, uri, signed, force_params=False, **kwargs)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "uri", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": "bool", + "description": null, + "value": null + }, + { + "name": "force_params", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _request(\n self, method, uri: str, signed: bool, force_params: bool = False, **kwargs\n):\n headers = {}\n if method.upper() in [\"POST\", \"PUT\", \"DELETE\"]:\n headers.update({\"Content-Type\": \"application/x-www-form-urlencoded\"})\n\n if \"data\" in kwargs:\n for key in kwargs[\"data\"]:\n if key == \"headers\":\n headers.update(kwargs[\"data\"][key])\n del kwargs[\"data\"][key]\n break\n\n kwargs = self._get_request_kwargs(method, signed, force_params, **kwargs)\n\n data = kwargs.get(\"data\")\n if data is not None:\n del kwargs[\"data\"]\n\n if signed and self.PRIVATE_KEY and data: # handle issues with signing using eddsa/rsa and POST requests\n dict_data = Client.convert_to_dict(data)\n signature = dict_data[\"signature\"] if \"signature\" in dict_data else None\n if signature:\n del dict_data[\"signature\"]\n url_encoded_data = urlencode(dict_data)\n data = f\"{url_encoded_data}&signature={signature}\"\n\n self.response = getattr(self.session, method)(uri, headers=headers, data=data, **kwargs)\n return self._handle_response(self.response)" + }, + "_handle_response": { + "name": "_handle_response", + "path": "binance.client.Client._handle_response", + "signature": "(response)", + "description": "Internal helper for handling API responses from the Binance server.\nRaises the appropriate exceptions when necessary; otherwise, returns the\nresponse.", + "parameters": [ + { + "name": "response", + "annotation": "requests.Response", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "@staticmethod\ndef _handle_response(response: requests.Response):\n \"\"\"Internal helper for handling API responses from the Binance server.\n Raises the appropriate exceptions when necessary; otherwise, returns the\n response.\n \"\"\"\n if not (200 <= response.status_code < 300):\n raise BinanceAPIException(response, response.status_code, response.text)\n\n if response.text == \"\":\n return {}\n\n try:\n return response.json()\n except ValueError:\n raise BinanceRequestException(\"Invalid Response: %s\" % response.text)" + }, + "_request_api": { + "name": "_request_api", + "path": "binance.client.Client._request_api", + "signature": "(self, method, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "BaseClient.PUBLIC_API_VERSION" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _request_api(\n self,\n method,\n path: str,\n signed: bool = False,\n version=BaseClient.PUBLIC_API_VERSION,\n **kwargs,\n):\n uri = self._create_api_uri(path, signed, version)\n return self._request(method, uri, signed, **kwargs)" + }, + "_request_futures_api": { + "name": "_request_futures_api", + "path": "binance.client.Client._request_futures_api", + "signature": "(self, method, path, signed=False, version=1, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": "int", + "description": null, + "value": "1" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def _request_futures_api(\n self, method, path, signed=False, version: int = 1, **kwargs\n) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_futures_api_uri(path, version)\n force_params = kwargs.pop(\"force_params\", False)\n\n return self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_futures_data_api": { + "name": "_request_futures_data_api", + "path": "binance.client.Client._request_futures_data_api", + "signature": "(self, method, path, signed=False, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def _request_futures_data_api(self, method, path, signed=False, **kwargs) -> Dict:\n uri = self._create_futures_data_api_uri(path)\n\n force_params = kwargs.pop(\"force_params\", True)\n return self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_futures_coin_api": { + "name": "_request_futures_coin_api", + "path": "binance.client.Client._request_futures_coin_api", + "signature": "(self, method, path, signed=False, version=1, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "1" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def _request_futures_coin_api(\n self, method, path, signed=False, version=1, **kwargs\n) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_futures_coin_api_url(path, version=version)\n\n force_params = kwargs.pop(\"force_params\", False)\n return self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_futures_coin_data_api": { + "name": "_request_futures_coin_data_api", + "path": "binance.client.Client._request_futures_coin_data_api", + "signature": "(self, method, path, signed=False, version=1, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "1" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def _request_futures_coin_data_api(\n self, method, path, signed=False, version=1, **kwargs\n) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_futures_coin_data_api_url(path, version=version)\n\n force_params = kwargs.pop(\"force_params\", True)\n return self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_options_api": { + "name": "_request_options_api", + "path": "binance.client.Client._request_options_api", + "signature": "(self, method, path, signed=False, **kwargs) -> Dict", + "description": "https://developers.binance.com/docs/derivatives/option/market-data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def _request_options_api(self, method, path, signed=False, **kwargs) -> Dict:\n \"\"\"\n https://developers.binance.com/docs/derivatives/option/market-data\n \"\"\"\n uri = self._create_options_api_uri(path)\n\n force_params = kwargs.pop(\"force_params\", True)\n return self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_margin_api": { + "name": "_request_margin_api", + "path": "binance.client.Client._request_margin_api", + "signature": "(self, method, path, signed=False, version=1, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "1" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def _request_margin_api(\n self, method, path, signed=False, version=1, **kwargs\n) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_margin_api_uri(path, version)\n\n force_params = kwargs.pop(\"force_params\", False)\n return self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_papi_api": { + "name": "_request_papi_api", + "path": "binance.client.Client._request_papi_api", + "signature": "(self, method, path, signed=False, version=1, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "1" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def _request_papi_api(\n self, method, path, signed=False, version=1, **kwargs\n) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_papi_api_uri(path, version)\n force_params = kwargs.pop(\"force_params\", False)\n return self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_website": { + "name": "_request_website", + "path": "binance.client.Client._request_website", + "signature": "(self, method, path, signed=False, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def _request_website(self, method, path, signed=False, **kwargs) -> Dict:\n uri = self._create_website_uri(path)\n return self._request(method, uri, signed, **kwargs)" + }, + "_get": { + "name": "_get", + "path": "binance.client.Client._get", + "signature": "(self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "BaseClient.PUBLIC_API_VERSION" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _get(self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs):\n return self._request_api(\"get\", path, signed, version, **kwargs)" + }, + "_post": { + "name": "_post", + "path": "binance.client.Client._post", + "signature": "(self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "BaseClient.PUBLIC_API_VERSION" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def _post(\n self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs\n) -> Dict:\n return self._request_api(\"post\", path, signed, version, **kwargs)" + }, + "_put": { + "name": "_put", + "path": "binance.client.Client._put", + "signature": "(self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "BaseClient.PUBLIC_API_VERSION" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def _put(\n self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs\n) -> Dict:\n return self._request_api(\"put\", path, signed, version, **kwargs)" + }, + "_delete": { + "name": "_delete", + "path": "binance.client.Client._delete", + "signature": "(self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "BaseClient.PUBLIC_API_VERSION" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def _delete(\n self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs\n) -> Dict:\n return self._request_api(\"delete\", path, signed, version, **kwargs)" + }, + "get_products": { + "name": "get_products", + "path": "binance.client.Client.get_products", + "signature": "(self) -> Dict", + "description": "Return list of products currently listed on Binance\n\nUse get_exchange_info() call instead\n\n:returns: list - List of product dictionaries\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def get_products(self) -> Dict:\n \"\"\"Return list of products currently listed on Binance\n\n Use get_exchange_info() call instead\n\n :returns: list - List of product dictionaries\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n products = self._request_website(\n \"get\",\n \"bapi/asset/v2/public/asset-service/product/get-products?includeEtf=true\",\n )\n return products" + }, + "get_exchange_info": { + "name": "get_exchange_info", + "path": "binance.client.Client.get_exchange_info", + "signature": "(self) -> Dict", + "description": "Return rate limits and list of symbols\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-endpoints#exchange-information\n\n:returns: list - List of product dictionaries\n\n.. code-block:: python\n\n {\n \"timezone\": \"UTC\",\n \"serverTime\": 1508631584636,\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUESTS\",\n \"interval\": \"MINUTE\",\n \"limit\": 1200\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"limit\": 10\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"limit\": 100000\n }\n ],\n \"exchangeFilters\": [],\n \"symbols\": [\n {\n \"symbol\": \"ETHBTC\",\n \"status\": \"TRADING\",\n \"baseAsset\": \"ETH\",\n \"baseAssetPrecision\": 8,\n \"quoteAsset\": \"BTC\",\n \"quotePrecision\": 8,\n \"orderTypes\": [\"LIMIT\", \"MARKET\"],\n \"icebergAllowed\": false,\n \"filters\": [\n {\n \"filterType\": \"PRICE_FILTER\",\n \"minPrice\": \"0.00000100\",\n \"maxPrice\": \"100000.00000000\",\n \"tickSize\": \"0.00000100\"\n }, {\n \"filterType\": \"LOT_SIZE\",\n \"minQty\": \"0.00100000\",\n \"maxQty\": \"100000.00000000\",\n \"stepSize\": \"0.00100000\"\n }, {\n \"filterType\": \"MIN_NOTIONAL\",\n \"minNotional\": \"0.00100000\"\n }\n ]\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def get_exchange_info(self) -> Dict:\n \"\"\"Return rate limits and list of symbols\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-endpoints#exchange-information\n\n :returns: list - List of product dictionaries\n\n .. code-block:: python\n\n {\n \"timezone\": \"UTC\",\n \"serverTime\": 1508631584636,\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUESTS\",\n \"interval\": \"MINUTE\",\n \"limit\": 1200\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"limit\": 10\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"limit\": 100000\n }\n ],\n \"exchangeFilters\": [],\n \"symbols\": [\n {\n \"symbol\": \"ETHBTC\",\n \"status\": \"TRADING\",\n \"baseAsset\": \"ETH\",\n \"baseAssetPrecision\": 8,\n \"quoteAsset\": \"BTC\",\n \"quotePrecision\": 8,\n \"orderTypes\": [\"LIMIT\", \"MARKET\"],\n \"icebergAllowed\": false,\n \"filters\": [\n {\n \"filterType\": \"PRICE_FILTER\",\n \"minPrice\": \"0.00000100\",\n \"maxPrice\": \"100000.00000000\",\n \"tickSize\": \"0.00000100\"\n }, {\n \"filterType\": \"LOT_SIZE\",\n \"minQty\": \"0.00100000\",\n \"maxQty\": \"100000.00000000\",\n \"stepSize\": \"0.00100000\"\n }, {\n \"filterType\": \"MIN_NOTIONAL\",\n \"minNotional\": \"0.00100000\"\n }\n ]\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n\n return self._get(\"exchangeInfo\")" + }, + "get_symbol_info": { + "name": "get_symbol_info", + "path": "binance.client.Client.get_symbol_info", + "signature": "(self, symbol) -> Optional[Dict]", + "description": "Return information about a symbol\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-endpoints#exchange-information\n\n:param symbol: required e.g. BNBBTC\n:type symbol: str\n\n:returns: Dict if found, None if not\n\n.. code-block:: python\n\n {\n \"symbol\": \"ETHBTC\",\n \"status\": \"TRADING\",\n \"baseAsset\": \"ETH\",\n \"baseAssetPrecision\": 8,\n \"quoteAsset\": \"BTC\",\n \"quotePrecision\": 8,\n \"orderTypes\": [\"LIMIT\", \"MARKET\"],\n \"icebergAllowed\": false,\n \"filters\": [\n {\n \"filterType\": \"PRICE_FILTER\",\n \"minPrice\": \"0.00000100\",\n \"maxPrice\": \"100000.00000000\",\n \"tickSize\": \"0.00000100\"\n }, {\n \"filterType\": \"LOT_SIZE\",\n \"minQty\": \"0.00100000\",\n \"maxQty\": \"100000.00000000\",\n \"stepSize\": \"0.00100000\"\n }, {\n \"filterType\": \"MIN_NOTIONAL\",\n \"minNotional\": \"0.00100000\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "typing.Optional[typing.Dict]", + "description": null + }, + "docstring": [], + "source": "def get_symbol_info(self, symbol) -> Optional[Dict]:\n \"\"\"Return information about a symbol\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-endpoints#exchange-information\n\n :param symbol: required e.g. BNBBTC\n :type symbol: str\n\n :returns: Dict if found, None if not\n\n .. code-block:: python\n\n {\n \"symbol\": \"ETHBTC\",\n \"status\": \"TRADING\",\n \"baseAsset\": \"ETH\",\n \"baseAssetPrecision\": 8,\n \"quoteAsset\": \"BTC\",\n \"quotePrecision\": 8,\n \"orderTypes\": [\"LIMIT\", \"MARKET\"],\n \"icebergAllowed\": false,\n \"filters\": [\n {\n \"filterType\": \"PRICE_FILTER\",\n \"minPrice\": \"0.00000100\",\n \"maxPrice\": \"100000.00000000\",\n \"tickSize\": \"0.00000100\"\n }, {\n \"filterType\": \"LOT_SIZE\",\n \"minQty\": \"0.00100000\",\n \"maxQty\": \"100000.00000000\",\n \"stepSize\": \"0.00100000\"\n }, {\n \"filterType\": \"MIN_NOTIONAL\",\n \"minNotional\": \"0.00100000\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n\n res = self.get_exchange_info()\n\n for item in res[\"symbols\"]:\n if item[\"symbol\"] == symbol.upper():\n return item\n\n return None" + }, + "ping": { + "name": "ping", + "path": "binance.client.Client.ping", + "signature": "(self) -> Dict", + "description": "Test connectivity to the Rest API.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-endpoints#test-connectivity\n\n:returns: Empty array\n\n.. code-block:: python\n\n {}\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def ping(self) -> Dict:\n \"\"\"Test connectivity to the Rest API.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-endpoints#test-connectivity\n\n :returns: Empty array\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"ping\")" + }, + "get_server_time": { + "name": "get_server_time", + "path": "binance.client.Client.get_server_time", + "signature": "(self) -> Dict", + "description": "Test connectivity to the Rest API and get the current server time.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-endpoints#check-server-time\n\n:returns: Current server time\n\n.. code-block:: python\n\n {\n \"serverTime\": 1499827319559\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def get_server_time(self) -> Dict:\n \"\"\"Test connectivity to the Rest API and get the current server time.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-endpoints#check-server-time\n\n :returns: Current server time\n\n .. code-block:: python\n\n {\n \"serverTime\": 1499827319559\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"time\")" + }, + "get_all_tickers": { + "name": "get_all_tickers", + "path": "binance.client.Client.get_all_tickers", + "signature": "(self) -> List[Dict[str, str]]", + "description": "Latest price for all symbols.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-price-ticker\n\n:returns: List of market tickers\n\n.. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"price\": \"0.07946600\"\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "typing.List[typing.Dict[str, str]]", + "description": null + }, + "docstring": [], + "source": "def get_all_tickers(self) -> List[Dict[str, str]]:\n \"\"\"Latest price for all symbols.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-price-ticker\n\n :returns: List of market tickers\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"price\": \"0.07946600\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n response = self._get(\"ticker/price\")\n if isinstance(response, list) and all(isinstance(item, dict) for item in response):\n return response\n raise TypeError(\"Expected a list of dictionaries\")" + }, + "get_orderbook_tickers": { + "name": "get_orderbook_tickers", + "path": "binance.client.Client.get_orderbook_tickers", + "signature": "(self, **params) -> Dict", + "description": "Best price/qty on the order book for all symbols.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-order-book-ticker\n\n:param symbol: optional\n:type symbol: str\n:param symbols: optional accepted format [\"BTCUSDT\",\"BNBUSDT\"] or %5B%22BTCUSDT%22,%22BNBUSDT%22%5D\n:type symbols: str\n\n:returns: List of order book market entries\n\n.. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"bidPrice\": \"4.00000000\",\n \"bidQty\": \"431.00000000\",\n \"askPrice\": \"4.00000200\",\n \"askQty\": \"9.00000000\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"bidPrice\": \"0.07946700\",\n \"bidQty\": \"9.00000000\",\n \"askPrice\": \"100000.00000000\",\n \"askQty\": \"1000.00000000\"\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def get_orderbook_tickers(self, **params) -> Dict:\n \"\"\"Best price/qty on the order book for all symbols.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-order-book-ticker\n\n :param symbol: optional\n :type symbol: str\n :param symbols: optional accepted format [\"BTCUSDT\",\"BNBUSDT\"] or %5B%22BTCUSDT%22,%22BNBUSDT%22%5D\n :type symbols: str\n\n :returns: List of order book market entries\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"bidPrice\": \"4.00000000\",\n \"bidQty\": \"431.00000000\",\n \"askPrice\": \"4.00000200\",\n \"askQty\": \"9.00000000\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"bidPrice\": \"0.07946700\",\n \"bidQty\": \"9.00000000\",\n \"askPrice\": \"100000.00000000\",\n \"askQty\": \"1000.00000000\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n data = {}\n if \"symbol\" in params:\n data[\"symbol\"] = params[\"symbol\"]\n elif \"symbols\" in params:\n data[\"symbols\"] = params[\"symbols\"]\n return self._get(\n \"ticker/bookTicker\", data=data\n )" + }, + "get_order_book": { + "name": "get_order_book", + "path": "binance.client.Client.get_order_book", + "signature": "(self, **params) -> Dict", + "description": "Get the Order Book for the market\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#order-book\n\n:param symbol: required\n:type symbol: str\n:param limit: Default 100; max 1000\n:type limit: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"lastUpdateId\": 1027024,\n \"bids\": [\n [\n \"4.00000000\", # PRICE\n \"431.00000000\", # QTY\n [] # Can be ignored\n ]\n ],\n \"asks\": [\n [\n \"4.00000200\",\n \"12.00000000\",\n []\n ]\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def get_order_book(self, **params) -> Dict:\n \"\"\"Get the Order Book for the market\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#order-book\n\n :param symbol: required\n :type symbol: str\n :param limit: Default 100; max 1000\n :type limit: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"lastUpdateId\": 1027024,\n \"bids\": [\n [\n \"4.00000000\", # PRICE\n \"431.00000000\", # QTY\n [] # Can be ignored\n ]\n ],\n \"asks\": [\n [\n \"4.00000200\",\n \"12.00000000\",\n []\n ]\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"depth\", data=params)" + }, + "get_recent_trades": { + "name": "get_recent_trades", + "path": "binance.client.Client.get_recent_trades", + "signature": "(self, **params) -> Dict", + "description": "Get recent trades (up to last 500).\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#recent-trades-list\n\n:param symbol: required\n:type symbol: str\n:param limit: Default 500; max 1000.\n:type limit: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"id\": 28457,\n \"price\": \"4.00000100\",\n \"qty\": \"12.00000000\",\n \"time\": 1499865549590,\n \"isBuyerMaker\": true,\n \"isBestMatch\": true\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def get_recent_trades(self, **params) -> Dict:\n \"\"\"Get recent trades (up to last 500).\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#recent-trades-list\n\n :param symbol: required\n :type symbol: str\n :param limit: Default 500; max 1000.\n :type limit: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"id\": 28457,\n \"price\": \"4.00000100\",\n \"qty\": \"12.00000000\",\n \"time\": 1499865549590,\n \"isBuyerMaker\": true,\n \"isBestMatch\": true\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"trades\", data=params)" + }, + "get_historical_trades": { + "name": "get_historical_trades", + "path": "binance.client.Client.get_historical_trades", + "signature": "(self, **params) -> Dict", + "description": "Get older trades.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#old-trade-lookup\n\n:param symbol: required\n:type symbol: str\n:param limit: Default 500; max 1000.\n:type limit: int\n:param fromId: TradeId to fetch from. Default gets most recent trades.\n:type fromId: str\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"id\": 28457,\n \"price\": \"4.00000100\",\n \"qty\": \"12.00000000\",\n \"time\": 1499865549590,\n \"isBuyerMaker\": true,\n \"isBestMatch\": true\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def get_historical_trades(self, **params) -> Dict:\n \"\"\"Get older trades.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#old-trade-lookup\n\n :param symbol: required\n :type symbol: str\n :param limit: Default 500; max 1000.\n :type limit: int\n :param fromId: TradeId to fetch from. Default gets most recent trades.\n :type fromId: str\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"id\": 28457,\n \"price\": \"4.00000100\",\n \"qty\": \"12.00000000\",\n \"time\": 1499865549590,\n \"isBuyerMaker\": true,\n \"isBestMatch\": true\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\n \"historicalTrades\", data=params\n )" + }, + "get_aggregate_trades": { + "name": "get_aggregate_trades", + "path": "binance.client.Client.get_aggregate_trades", + "signature": "(self, **params) -> Dict", + "description": "Get compressed, aggregate trades. Trades that fill at the time,\nfrom the same order, with the same price will have the quantity aggregated.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#compressedaggregate-trades-list\n\n:param symbol: required\n:type symbol: str\n:param fromId: ID to get aggregate trades from INCLUSIVE.\n:type fromId: str\n:param startTime: Timestamp in ms to get aggregate trades from INCLUSIVE.\n:type startTime: int\n:param endTime: Timestamp in ms to get aggregate trades until INCLUSIVE.\n:type endTime: int\n:param limit: Default 500; max 1000.\n:type limit: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"a\": 26129, # Aggregate tradeId\n \"p\": \"0.01633102\", # Price\n \"q\": \"4.70443515\", # Quantity\n \"f\": 27781, # First tradeId\n \"l\": 27781, # Last tradeId\n \"T\": 1498793709153, # Timestamp\n \"m\": true, # Was the buyer the maker?\n \"M\": true # Was the trade the best price match?\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def get_aggregate_trades(self, **params) -> Dict:\n \"\"\"Get compressed, aggregate trades. Trades that fill at the time,\n from the same order, with the same price will have the quantity aggregated.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#compressedaggregate-trades-list\n\n :param symbol: required\n :type symbol: str\n :param fromId: ID to get aggregate trades from INCLUSIVE.\n :type fromId: str\n :param startTime: Timestamp in ms to get aggregate trades from INCLUSIVE.\n :type startTime: int\n :param endTime: Timestamp in ms to get aggregate trades until INCLUSIVE.\n :type endTime: int\n :param limit: Default 500; max 1000.\n :type limit: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"a\": 26129, # Aggregate tradeId\n \"p\": \"0.01633102\", # Price\n \"q\": \"4.70443515\", # Quantity\n \"f\": 27781, # First tradeId\n \"l\": 27781, # Last tradeId\n \"T\": 1498793709153, # Timestamp\n \"m\": true, # Was the buyer the maker?\n \"M\": true # Was the trade the best price match?\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"aggTrades\", data=params)" + }, + "aggregate_trade_iter": { + "name": "aggregate_trade_iter", + "path": "binance.client.Client.aggregate_trade_iter", + "signature": "(self, symbol, start_str=None, last_id=None)", + "description": "Iterate over aggregate trade data from (start_time or last_id) to\nthe end of the history so far.\n\nIf start_time is specified, start with the first trade after\nstart_time. Meant to initialise a local cache of trade data.\n\nIf last_id is specified, start with the trade after it. This is meant\nfor updating a pre-existing local trade data cache.\n\nOnly allows start_str or last_id\u2014not both. Not guaranteed to work\nright if you're running more than one of these simultaneously. You\nwill probably hit your rate limit.\n\nSee dateparser docs for valid start and end string formats http://dateparser.readthedocs.io/en/latest/\n\nIf using offset strings for dates add \"UTC\" to date string e.g. \"now UTC\", \"11 hours ago UTC\"\n\n:param symbol: Symbol string e.g. ETHBTC\n:type symbol: str\n:param start_str: Start date string in UTC format or timestamp in milliseconds. The iterator will\nreturn the first trade occurring later than this time.\n:type start_str: str|int\n:param last_id: aggregate trade ID of the last known aggregate trade.\nNot a regular trade ID. See https://binance-docs.github.io/apidocs/spot/en/#compressed-aggregate-trades-list\n\n:returns: an iterator of JSON objects, one per trade. The format of\neach object is identical to Client.aggregate_trades().\n\n:type last_id: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "last_id", + "annotation": null, + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def aggregate_trade_iter(self, symbol: str, start_str=None, last_id=None):\n \"\"\"Iterate over aggregate trade data from (start_time or last_id) to\n the end of the history so far.\n\n If start_time is specified, start with the first trade after\n start_time. Meant to initialise a local cache of trade data.\n\n If last_id is specified, start with the trade after it. This is meant\n for updating a pre-existing local trade data cache.\n\n Only allows start_str or last_id\u2014not both. Not guaranteed to work\n right if you're running more than one of these simultaneously. You\n will probably hit your rate limit.\n\n See dateparser docs for valid start and end string formats http://dateparser.readthedocs.io/en/latest/\n\n If using offset strings for dates add \"UTC\" to date string e.g. \"now UTC\", \"11 hours ago UTC\"\n\n :param symbol: Symbol string e.g. ETHBTC\n :type symbol: str\n :param start_str: Start date string in UTC format or timestamp in milliseconds. The iterator will\n return the first trade occurring later than this time.\n :type start_str: str|int\n :param last_id: aggregate trade ID of the last known aggregate trade.\n Not a regular trade ID. See https://binance-docs.github.io/apidocs/spot/en/#compressed-aggregate-trades-list\n\n :returns: an iterator of JSON objects, one per trade. The format of\n each object is identical to Client.aggregate_trades().\n\n :type last_id: int\n \"\"\"\n if start_str is not None and last_id is not None:\n raise ValueError(\n \"start_time and last_id may not be simultaneously specified.\"\n )\n\n # If there's no last_id, get one.\n if last_id is None:\n # Without a last_id, we actually need the first trade. Normally,\n # we'd get rid of it. See the next loop.\n if start_str is None:\n trades = self.get_aggregate_trades(symbol=symbol, fromId=0)\n else:\n # The difference between startTime and endTime should be less\n # or equal than an hour and the result set should contain at\n # least one trade.\n start_ts = convert_ts_str(start_str)\n # If the resulting set is empty (i.e. no trades in that interval)\n # then we just move forward hour by hour until we find at least one\n # trade or reach present moment\n while True:\n end_ts = start_ts + (60 * 60 * 1000)\n trades = self.get_aggregate_trades(\n symbol=symbol, startTime=start_ts, endTime=end_ts\n )\n if len(trades) > 0:\n break\n # If we reach present moment and find no trades then there is\n # nothing to iterate, so we're done\n if end_ts > int(time.time() * 1000):\n return\n start_ts = end_ts\n for t in trades:\n yield t\n last_id = trades[-1][self.AGG_ID]\n\n while True:\n # There is no need to wait between queries, to avoid hitting the\n # rate limit. We're using blocking IO, and as long as we're the\n # only thread running calls like this, Binance will automatically\n # add the right delay time on their end, forcing us to wait for\n # data. That really simplifies this function's job. Binance is\n # fucking awesome.\n trades = self.get_aggregate_trades(symbol=symbol, fromId=last_id)\n # fromId=n returns a set starting with id n, but we already have\n # that one. So get rid of the first item in the result set.\n trades = trades[1:]\n if len(trades) == 0:\n return\n for t in trades:\n yield t\n last_id = trades[-1][self.AGG_ID]" + }, + "get_ui_klines": { + "name": "get_ui_klines", + "path": "binance.client.Client.get_ui_klines", + "signature": "(self, **params) -> Dict", + "description": "Kline/candlestick bars for a symbol with UI enhancements. Klines are uniquely identified by their open time.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#uiklines\n\n:param symbol: required\n:type symbol: str\n:param interval: required - The interval for the klines (e.g., 1m, 3m, 5m, etc.)\n:type interval: str\n:param limit: optional - Default 500; max 1000.\n:type limit: int\n:param startTime: optional - Start time in milliseconds\n:type startTime: int\n:param endTime: optional - End time in milliseconds\n:type endTime: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n [\n 1499040000000, # Open time\n \"0.01634790\", # Open\n \"0.80000000\", # High\n \"0.01575800\", # Low\n \"0.01577100\", # Close\n \"148976.11427815\", # Volume\n 1499644799999, # Close time\n \"2434.19055334\", # Quote asset volume\n 308, # Number of trades\n \"1756.87402397\", # Taker buy base asset volume\n \"28.46694368\", # Taker buy quote asset volume\n \"17928899.62484339\" # Can be ignored\n ]\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def get_ui_klines(self, **params) -> Dict:\n \"\"\"Kline/candlestick bars for a symbol with UI enhancements. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#uiklines\n\n :param symbol: required\n :type symbol: str\n :param interval: required - The interval for the klines (e.g., 1m, 3m, 5m, etc.)\n :type interval: str\n :param limit: optional - Default 500; max 1000.\n :type limit: int\n :param startTime: optional - Start time in milliseconds\n :type startTime: int\n :param endTime: optional - End time in milliseconds\n :type endTime: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n [\n 1499040000000, # Open time\n \"0.01634790\", # Open\n \"0.80000000\", # High\n \"0.01575800\", # Low\n \"0.01577100\", # Close\n \"148976.11427815\", # Volume\n 1499644799999, # Close time\n \"2434.19055334\", # Quote asset volume\n 308, # Number of trades\n \"1756.87402397\", # Taker buy base asset volume\n \"28.46694368\", # Taker buy quote asset volume\n \"17928899.62484339\" # Can be ignored\n ]\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"uiKlines\", data=params)" + }, + "get_klines": { + "name": "get_klines", + "path": "binance.client.Client.get_klines", + "signature": "(self, **params) -> Dict", + "description": "Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\n\n:param symbol: required\n:type symbol: str\n:param interval: -\n:type interval: str\n:param limit: - Default 500; max 1000.\n:type limit: int\n:param startTime:\n:type startTime: int\n:param endTime:\n:type endTime: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n [\n 1499040000000, # Open time\n \"0.01634790\", # Open\n \"0.80000000\", # High\n \"0.01575800\", # Low\n \"0.01577100\", # Close\n \"148976.11427815\", # Volume\n 1499644799999, # Close time\n \"2434.19055334\", # Quote asset volume\n 308, # Number of trades\n \"1756.87402397\", # Taker buy base asset volume\n \"28.46694368\", # Taker buy quote asset volume\n \"17928899.62484339\" # Can be ignored\n ]\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def get_klines(self, **params) -> Dict:\n \"\"\"Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\n\n :param symbol: required\n :type symbol: str\n :param interval: -\n :type interval: str\n :param limit: - Default 500; max 1000.\n :type limit: int\n :param startTime:\n :type startTime: int\n :param endTime:\n :type endTime: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n [\n 1499040000000, # Open time\n \"0.01634790\", # Open\n \"0.80000000\", # High\n \"0.01575800\", # Low\n \"0.01577100\", # Close\n \"148976.11427815\", # Volume\n 1499644799999, # Close time\n \"2434.19055334\", # Quote asset volume\n 308, # Number of trades\n \"1756.87402397\", # Taker buy base asset volume\n \"28.46694368\", # Taker buy quote asset volume\n \"17928899.62484339\" # Can be ignored\n ]\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"klines\", data=params)" + }, + "_klines": { + "name": "_klines", + "path": "binance.client.Client._klines", + "signature": "(self, klines_type=HistoricalKlinesType.SPOT, **params) -> Dict", + "description": "Get klines of spot (get_klines) or futures (futures_klines) endpoints.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\nhttps://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n:param klines_type: Historical klines type: SPOT or FUTURES\n:type klines_type: HistoricalKlinesType\n\n:return: klines, see get_klines", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "klines_type", + "annotation": "HistoricalKlinesType", + "description": null, + "value": "HistoricalKlinesType.SPOT" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "def _klines(\n self, klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT, **params\n) -> Dict:\n \"\"\"Get klines of spot (get_klines) or futures (futures_klines) endpoints.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\n https://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n :param klines_type: Historical klines type: SPOT or FUTURES\n :type klines_type: HistoricalKlinesType\n\n :return: klines, see get_klines\n\n \"\"\"\n if \"endTime\" in params and not params[\"endTime\"]:\n del params[\"endTime\"]\n\n if HistoricalKlinesType.SPOT == klines_type:\n return self.get_klines(**params)\n elif HistoricalKlinesType.FUTURES == klines_type:\n return self.futures_klines(**params)\n elif HistoricalKlinesType.FUTURES_COIN == klines_type:\n return self.futures_coin_klines(**params)\n elif HistoricalKlinesType.FUTURES_MARK_PRICE == klines_type:\n return self.futures_mark_price_klines(**params)\n elif HistoricalKlinesType.FUTURES_INDEX_PRICE == klines_type:\n return self.futures_index_price_klines(**params)\n elif HistoricalKlinesType.FUTURES_COIN_MARK_PRICE == klines_type:\n return self.futures_coin_mark_price_klines(**params)\n elif HistoricalKlinesType.FUTURES_COIN_INDEX_PRICE == klines_type:\n return self.futures_coin_index_price_klines(**params)\n else:\n raise NotImplementedException(klines_type)" + }, + "_get_earliest_valid_timestamp": { + "name": "_get_earliest_valid_timestamp", + "path": "binance.client.Client._get_earliest_valid_timestamp", + "signature": "(self, symbol, interval, klines_type=HistoricalKlinesType.SPOT)", + "description": "Get the earliest valid open timestamp from Binance\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\nhttps://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n:param symbol: Name of symbol pair e.g. BNBBTC\n:type symbol: str\n:param interval: Binance Kline interval\n:type interval: str\n:param klines_type: Historical klines type: SPOT or FUTURES\n:type klines_type: HistoricalKlinesType\n\n:return: first valid timestamp", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "klines_type", + "annotation": "HistoricalKlinesType", + "description": null, + "value": "HistoricalKlinesType.SPOT" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _get_earliest_valid_timestamp(\n self,\n symbol,\n interval,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n):\n \"\"\"Get the earliest valid open timestamp from Binance\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\n https://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param klines_type: Historical klines type: SPOT or FUTURES\n :type klines_type: HistoricalKlinesType\n\n :return: first valid timestamp\n\n \"\"\"\n kline = self._klines(\n klines_type=klines_type,\n symbol=symbol,\n interval=interval,\n limit=1,\n startTime=0,\n endTime=int(time.time() * 1000),\n )\n return kline[0][0]" + }, + "get_historical_klines": { + "name": "get_historical_klines", + "path": "binance.client.Client.get_historical_klines", + "signature": "(self, symbol, interval, start_str=None, end_str=None, limit=None, klines_type=HistoricalKlinesType.SPOT)", + "description": "Get Historical Klines from Binance\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\nhttps://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n:param symbol: Name of symbol pair e.g. BNBBTC\n:type symbol: str\n:param interval: Binance Kline interval\n:type interval: str\n:param start_str: optional - start date string in UTC format or timestamp in milliseconds\n:type start_str: str|int\n:param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n:type end_str: str|int\n:param limit: Default 1000; max 1000.\n:type limit: int\n:param klines_type: Historical klines type: SPOT or FUTURES\n:type klines_type: HistoricalKlinesType\n\n:return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "end_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "klines_type", + "annotation": "HistoricalKlinesType", + "description": null, + "value": "HistoricalKlinesType.SPOT" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_historical_klines(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=None,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n):\n \"\"\"Get Historical Klines from Binance\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\n https://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param start_str: optional - start date string in UTC format or timestamp in milliseconds\n :type start_str: str|int\n :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n :type end_str: str|int\n :param limit: Default 1000; max 1000.\n :type limit: int\n :param klines_type: Historical klines type: SPOT or FUTURES\n :type klines_type: HistoricalKlinesType\n\n :return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)\n\n \"\"\"\n return self._historical_klines(\n symbol,\n interval,\n start_str=start_str,\n end_str=end_str,\n limit=limit,\n klines_type=klines_type,\n )" + }, + "_historical_klines": { + "name": "_historical_klines", + "path": "binance.client.Client._historical_klines", + "signature": "(self, symbol, interval, start_str=None, end_str=None, limit=None, klines_type=HistoricalKlinesType.SPOT)", + "description": "Get Historical Klines from Binance (spot or futures)\n\nSee dateparser docs for valid start and end string formats https://dateparser.readthedocs.io/en/latest/\n\nIf using offset strings for dates add \"UTC\" to date string e.g. \"now UTC\", \"11 hours ago UTC\"\n\n:param symbol: Name of symbol pair e.g. BNBBTC\n:type symbol: str\n:param interval: Binance Kline interval\n:type interval: str\n:param start_str: optional - start date string in UTC format or timestamp in milliseconds\n:type start_str: str|int\n:param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n:type end_str: None|str|int\n:param limit: Default 1000; max 1000.\n:type limit: int\n:param klines_type: Historical klines type: SPOT or FUTURES\n:type klines_type: HistoricalKlinesType\n\n:return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "end_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "klines_type", + "annotation": "HistoricalKlinesType", + "description": null, + "value": "HistoricalKlinesType.SPOT" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _historical_klines(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=None,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n):\n \"\"\"Get Historical Klines from Binance (spot or futures)\n\n See dateparser docs for valid start and end string formats https://dateparser.readthedocs.io/en/latest/\n\n If using offset strings for dates add \"UTC\" to date string e.g. \"now UTC\", \"11 hours ago UTC\"\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param start_str: optional - start date string in UTC format or timestamp in milliseconds\n :type start_str: str|int\n :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n :type end_str: None|str|int\n :param limit: Default 1000; max 1000.\n :type limit: int\n :param klines_type: Historical klines type: SPOT or FUTURES\n :type klines_type: HistoricalKlinesType\n\n :return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)\n\n \"\"\"\n\n initial_limit_set = True\n if limit is None:\n limit = 1000\n initial_limit_set = False\n\n # init our list\n output_data = []\n\n # convert interval to useful value in seconds\n timeframe = interval_to_milliseconds(interval)\n\n # if a start time was passed convert it\n start_ts = convert_ts_str(start_str)\n\n # establish first available start timestamp\n if start_ts is not None:\n first_valid_ts = self._get_earliest_valid_timestamp(\n symbol, interval, klines_type\n )\n start_ts = max(start_ts, first_valid_ts)\n\n # if an end time was passed convert it\n end_ts = convert_ts_str(end_str)\n if end_ts and start_ts and end_ts <= start_ts:\n return output_data\n\n idx = 0\n while True:\n # fetch the klines from start_ts up to max 500 entries or the end_ts if set\n temp_data = self._klines(\n klines_type=klines_type,\n symbol=symbol,\n interval=interval,\n limit=limit,\n startTime=start_ts,\n endTime=end_ts,\n )\n\n # append this loops data to our output data\n if temp_data:\n output_data += temp_data\n\n # check if output_data is greater than limit and truncate if needed and break loop\n if initial_limit_set and len(output_data) > limit:\n output_data = output_data[:limit]\n break\n\n # handle the case where exactly the limit amount of data was returned last loop\n # check if we received less than the required limit and exit the loop\n if not len(temp_data) or len(temp_data) < limit:\n # exit the while loop\n break\n\n # increment next call by our timeframe\n start_ts = temp_data[-1][0] + timeframe\n\n # exit loop if we reached end_ts before reaching klines\n if end_ts and start_ts >= end_ts:\n break\n\n # sleep after every 3rd call to be kind to the API\n idx += 1\n if idx % 3 == 0:\n time.sleep(1)\n\n return output_data" + }, + "get_historical_klines_generator": { + "name": "get_historical_klines_generator", + "path": "binance.client.Client.get_historical_klines_generator", + "signature": "(self, symbol, interval, start_str=None, end_str=None, limit=None, klines_type=HistoricalKlinesType.SPOT)", + "description": "Get Historical Klines generator from Binance\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\nhttps://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n:param symbol: Name of symbol pair e.g. BNBBTC\n:type symbol: str\n:param interval: Binance Kline interval\n:type interval: str\n:param start_str: optional - Start date string in UTC format or timestamp in milliseconds\n:type start_str: str|int\n:param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n:type end_str: str|int\n:param limit: amount of candles to return per request (default 1000)\n:type limit: int\n:param klines_type: Historical klines type: SPOT or FUTURES\n:type klines_type: HistoricalKlinesType\n\n:return: generator of OHLCV values", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "end_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "klines_type", + "annotation": "HistoricalKlinesType", + "description": null, + "value": "HistoricalKlinesType.SPOT" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_historical_klines_generator(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=None,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n):\n \"\"\"Get Historical Klines generator from Binance\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\n https://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param start_str: optional - Start date string in UTC format or timestamp in milliseconds\n :type start_str: str|int\n :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n :type end_str: str|int\n :param limit: amount of candles to return per request (default 1000)\n :type limit: int\n :param klines_type: Historical klines type: SPOT or FUTURES\n :type klines_type: HistoricalKlinesType\n\n :return: generator of OHLCV values\n\n \"\"\"\n\n return self._historical_klines_generator(\n symbol, interval, start_str, end_str, limit, klines_type=klines_type\n )" + }, + "_historical_klines_generator": { + "name": "_historical_klines_generator", + "path": "binance.client.Client._historical_klines_generator", + "signature": "(self, symbol, interval, start_str=None, end_str=None, limit=None, klines_type=HistoricalKlinesType.SPOT)", + "description": "Get Historical Klines generator from Binance (spot or futures)\n\nSee dateparser docs for valid start and end string formats https://dateparser.readthedocs.io/en/latest/\n\nIf using offset strings for dates add \"UTC\" to date string e.g. \"now UTC\", \"11 hours ago UTC\"\n\n:param symbol: Name of symbol pair e.g. BNBBTC\n:type symbol: str\n:param interval: Binance Kline interval\n:type interval: str\n:param start_str: optional - Start date string in UTC format or timestamp in milliseconds\n:type start_str: str|int\n:param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n:type end_str: str|int\n:param klines_type: Historical klines type: SPOT or FUTURES\n:type klines_type: HistoricalKlinesType\n\n:return: generator of OHLCV values", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "end_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "klines_type", + "annotation": "HistoricalKlinesType", + "description": null, + "value": "HistoricalKlinesType.SPOT" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _historical_klines_generator(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=None,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n):\n \"\"\"Get Historical Klines generator from Binance (spot or futures)\n\n See dateparser docs for valid start and end string formats https://dateparser.readthedocs.io/en/latest/\n\n If using offset strings for dates add \"UTC\" to date string e.g. \"now UTC\", \"11 hours ago UTC\"\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param start_str: optional - Start date string in UTC format or timestamp in milliseconds\n :type start_str: str|int\n :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n :type end_str: str|int\n :param klines_type: Historical klines type: SPOT or FUTURES\n :type klines_type: HistoricalKlinesType\n\n :return: generator of OHLCV values\n\n \"\"\"\n\n initial_limit_set = True\n if limit is None:\n limit = 1000\n initial_limit_set = False\n\n # convert interval to useful value in seconds\n timeframe = interval_to_milliseconds(interval)\n\n # if a start time was passed convert it\n start_ts = convert_ts_str(start_str)\n\n # establish first available start timestamp\n if start_ts is not None:\n first_valid_ts = self._get_earliest_valid_timestamp(\n symbol, interval, klines_type\n )\n start_ts = max(start_ts, first_valid_ts)\n\n # if an end time was passed convert it\n end_ts = convert_ts_str(end_str)\n if end_ts and start_ts and end_ts <= start_ts:\n return\n\n idx = 0\n while True:\n # fetch the klines from start_ts up to max 500 entries or the end_ts if set\n output_data = self._klines(\n klines_type=klines_type,\n symbol=symbol,\n interval=interval,\n limit=limit,\n startTime=start_ts,\n endTime=end_ts,\n )\n\n # yield data\n if output_data:\n for o in output_data:\n yield o\n\n # handle the case where exactly the limit amount of data was returned last loop\n # check if we received less than the required limit and exit the loop\n if not len(output_data) or len(output_data) < limit:\n # exit the while loop\n break\n\n # set our start timestamp using the last value in the array\n # increment next call by our timeframe\n start_ts = output_data[-1][0] + timeframe\n\n # exit loop if we reached end_ts before reaching klines\n if end_ts and start_ts >= end_ts:\n break\n\n # sleep after every 3rd call to be kind to the API\n idx += 1\n if idx % 3 == 0:\n time.sleep(1)" + }, + "get_avg_price": { + "name": "get_avg_price", + "path": "binance.client.Client.get_avg_price", + "signature": "(self, **params)", + "description": "Current average price for a symbol.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#current-average-price\n\n:param symbol:\n:type symbol: str\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"mins\": 5,\n \"price\": \"9.35751834\"\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_avg_price(self, **params):\n \"\"\"Current average price for a symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#current-average-price\n\n :param symbol:\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"mins\": 5,\n \"price\": \"9.35751834\"\n }\n \"\"\"\n return self._get(\"avgPrice\", data=params)" + }, + "get_ticker": { + "name": "get_ticker", + "path": "binance.client.Client.get_ticker", + "signature": "(self, **params)", + "description": "24 hour price change statistics.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#24hr-ticker-price-change-statistics\n\n:param symbol:\n:type symbol: str\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"priceChange\": \"-94.99999800\",\n \"priceChangePercent\": \"-95.960\",\n \"weightedAvgPrice\": \"0.29628482\",\n \"prevClosePrice\": \"0.10002000\",\n \"lastPrice\": \"4.00000200\",\n \"bidPrice\": \"4.00000000\",\n \"askPrice\": \"4.00000200\",\n \"openPrice\": \"99.00000000\",\n \"highPrice\": \"100.00000000\",\n \"lowPrice\": \"0.10000000\",\n \"volume\": \"8913.30000000\",\n \"openTime\": 1499783499040,\n \"closeTime\": 1499869899040,\n \"fristId\": 28385, # First tradeId\n \"lastId\": 28460, # Last tradeId\n \"count\": 76 # Trade count\n }\n\nOR\n\n.. code-block:: python\n\n [\n {\n \"priceChange\": \"-94.99999800\",\n \"priceChangePercent\": \"-95.960\",\n \"weightedAvgPrice\": \"0.29628482\",\n \"prevClosePrice\": \"0.10002000\",\n \"lastPrice\": \"4.00000200\",\n \"bidPrice\": \"4.00000000\",\n \"askPrice\": \"4.00000200\",\n \"openPrice\": \"99.00000000\",\n \"highPrice\": \"100.00000000\",\n \"lowPrice\": \"0.10000000\",\n \"volume\": \"8913.30000000\",\n \"openTime\": 1499783499040,\n \"closeTime\": 1499869899040,\n \"fristId\": 28385, # First tradeId\n \"lastId\": 28460, # Last tradeId\n \"count\": 76 # Trade count\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_ticker(self, **params):\n \"\"\"24 hour price change statistics.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#24hr-ticker-price-change-statistics\n\n :param symbol:\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"priceChange\": \"-94.99999800\",\n \"priceChangePercent\": \"-95.960\",\n \"weightedAvgPrice\": \"0.29628482\",\n \"prevClosePrice\": \"0.10002000\",\n \"lastPrice\": \"4.00000200\",\n \"bidPrice\": \"4.00000000\",\n \"askPrice\": \"4.00000200\",\n \"openPrice\": \"99.00000000\",\n \"highPrice\": \"100.00000000\",\n \"lowPrice\": \"0.10000000\",\n \"volume\": \"8913.30000000\",\n \"openTime\": 1499783499040,\n \"closeTime\": 1499869899040,\n \"fristId\": 28385, # First tradeId\n \"lastId\": 28460, # Last tradeId\n \"count\": 76 # Trade count\n }\n\n OR\n\n .. code-block:: python\n\n [\n {\n \"priceChange\": \"-94.99999800\",\n \"priceChangePercent\": \"-95.960\",\n \"weightedAvgPrice\": \"0.29628482\",\n \"prevClosePrice\": \"0.10002000\",\n \"lastPrice\": \"4.00000200\",\n \"bidPrice\": \"4.00000000\",\n \"askPrice\": \"4.00000200\",\n \"openPrice\": \"99.00000000\",\n \"highPrice\": \"100.00000000\",\n \"lowPrice\": \"0.10000000\",\n \"volume\": \"8913.30000000\",\n \"openTime\": 1499783499040,\n \"closeTime\": 1499869899040,\n \"fristId\": 28385, # First tradeId\n \"lastId\": 28460, # Last tradeId\n \"count\": 76 # Trade count\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"ticker/24hr\", data=params)" + }, + "get_symbol_ticker": { + "name": "get_symbol_ticker", + "path": "binance.client.Client.get_symbol_ticker", + "signature": "(self, **params)", + "description": "Latest price for a symbol or symbols.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-price-ticker\n\n:param symbol:\n:type symbol: str\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n }\n\nOR\n\n.. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"price\": \"0.07946600\"\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_symbol_ticker(self, **params):\n \"\"\"Latest price for a symbol or symbols.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-price-ticker\n\n :param symbol:\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n }\n\n OR\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"price\": \"0.07946600\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"ticker/price\", data=params)" + }, + "get_symbol_ticker_window": { + "name": "get_symbol_ticker_window", + "path": "binance.client.Client.get_symbol_ticker_window", + "signature": "(self, **params)", + "description": "Latest price for a symbol or symbols.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#rolling-window-price-change-statistics\n\n:param symbol:\n:type symbol: str\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n }\n\nOR\n\n.. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"price\": \"0.07946600\"\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_symbol_ticker_window(self, **params):\n \"\"\"Latest price for a symbol or symbols.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#rolling-window-price-change-statistics\n\n :param symbol:\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n }\n\n OR\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"price\": \"0.07946600\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"ticker\", data=params)" + }, + "get_orderbook_ticker": { + "name": "get_orderbook_ticker", + "path": "binance.client.Client.get_orderbook_ticker", + "signature": "(self, **params)", + "description": "Latest price for a symbol or symbols.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-order-book-ticker\n\n:param symbol:\n:type symbol: str\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"bidPrice\": \"4.00000000\",\n \"bidQty\": \"431.00000000\",\n \"askPrice\": \"4.00000200\",\n \"askQty\": \"9.00000000\"\n }\n\nOR\n\n.. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"bidPrice\": \"4.00000000\",\n \"bidQty\": \"431.00000000\",\n \"askPrice\": \"4.00000200\",\n \"askQty\": \"9.00000000\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"bidPrice\": \"0.07946700\",\n \"bidQty\": \"9.00000000\",\n \"askPrice\": \"100000.00000000\",\n \"askQty\": \"1000.00000000\"\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_orderbook_ticker(self, **params):\n \"\"\"Latest price for a symbol or symbols.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-order-book-ticker\n\n :param symbol:\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"bidPrice\": \"4.00000000\",\n \"bidQty\": \"431.00000000\",\n \"askPrice\": \"4.00000200\",\n \"askQty\": \"9.00000000\"\n }\n\n OR\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"bidPrice\": \"4.00000000\",\n \"bidQty\": \"431.00000000\",\n \"askPrice\": \"4.00000200\",\n \"askQty\": \"9.00000000\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"bidPrice\": \"0.07946700\",\n \"bidQty\": \"9.00000000\",\n \"askPrice\": \"100000.00000000\",\n \"askQty\": \"1000.00000000\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\n \"ticker/bookTicker\", data=params\n )" + }, + "create_order": { + "name": "create_order", + "path": "binance.client.Client.create_order", + "signature": "(self, **params)", + "description": "Send in a new order\n\nAny order with an icebergQty MUST have timeInForce set to GTC.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n:param symbol: required\n:type symbol: str\n:param side: required\n:type side: str\n:param type: required\n:type type: str\n:param timeInForce: required if limit order\n:type timeInForce: str\n:param quantity: required\n:type quantity: decimal\n:param quoteOrderQty: amount the user wants to spend (when buying) or receive (when selling)\n of the quote asset, applicable to MARKET orders\n:type quoteOrderQty: decimal\n:param price: required\n:type price: str\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n:type icebergQty: decimal\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\nResponse ACK:\n\n.. code-block:: python\n\n {\n \"symbol\":\"LTCBTC\",\n \"orderId\": 1,\n \"clientOrderId\": \"myOrder1\" # Will be newClientOrderId\n \"transactTime\": 1499827319559\n }\n\nResponse RESULT:\n\n.. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595,\n \"price\": \"0.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"10.00000000\",\n \"cummulativeQuoteQty\": \"10.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"SELL\"\n }\n\nResponse FULL:\n\n.. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595,\n \"price\": \"0.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"10.00000000\",\n \"cummulativeQuoteQty\": \"10.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"SELL\",\n \"fills\": [\n {\n \"price\": \"4000.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"4.00000000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3999.00000000\",\n \"qty\": \"5.00000000\",\n \"commission\": \"19.99500000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3998.00000000\",\n \"qty\": \"2.00000000\",\n \"commission\": \"7.99600000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3997.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"3.99700000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3995.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"3.99500000\",\n \"commissionAsset\": \"USDT\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def create_order(self, **params):\n \"\"\"Send in a new order\n\n Any order with an icebergQty MUST have timeInForce set to GTC.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param type: required\n :type type: str\n :param timeInForce: required if limit order\n :type timeInForce: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: amount the user wants to spend (when buying) or receive (when selling)\n of the quote asset, applicable to MARKET orders\n :type quoteOrderQty: decimal\n :param price: required\n :type price: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n Response ACK:\n\n .. code-block:: python\n\n {\n \"symbol\":\"LTCBTC\",\n \"orderId\": 1,\n \"clientOrderId\": \"myOrder1\" # Will be newClientOrderId\n \"transactTime\": 1499827319559\n }\n\n Response RESULT:\n\n .. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595,\n \"price\": \"0.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"10.00000000\",\n \"cummulativeQuoteQty\": \"10.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"SELL\"\n }\n\n Response FULL:\n\n .. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595,\n \"price\": \"0.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"10.00000000\",\n \"cummulativeQuoteQty\": \"10.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"SELL\",\n \"fills\": [\n {\n \"price\": \"4000.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"4.00000000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3999.00000000\",\n \"qty\": \"5.00000000\",\n \"commission\": \"19.99500000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3998.00000000\",\n \"qty\": \"2.00000000\",\n \"commission\": \"7.99600000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3997.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"3.99700000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3995.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"3.99500000\",\n \"commissionAsset\": \"USDT\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return self._post(\"order\", True, data=params)" + }, + "order_limit": { + "name": "order_limit", + "path": "binance.client.Client.order_limit", + "signature": "(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params)", + "description": "Send in a new limit order\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\nAny order with an icebergQty MUST have timeInForce set to GTC.\n\n:param symbol: required\n:type symbol: str\n:param side: required\n:type side: str\n:param quantity: required\n:type quantity: decimal\n:param price: required\n:type price: str\n:param timeInForce: default Good till cancelled\n:type timeInForce: str\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n:type icebergQty: decimal\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\nSee order endpoint for full response options\n\n:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "timeInForce", + "annotation": null, + "description": null, + "value": "BaseClient.TIME_IN_FORCE_GTC" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def order_limit(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n \"\"\"Send in a new limit order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n Any order with an icebergQty MUST have timeInForce set to GTC.\n\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\"type\": self.ORDER_TYPE_LIMIT, \"timeInForce\": timeInForce})\n return self.create_order(**params)" + }, + "order_limit_buy": { + "name": "order_limit_buy", + "path": "binance.client.Client.order_limit_buy", + "signature": "(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params)", + "description": "Send in a new limit buy order\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\nAny order with an icebergQty MUST have timeInForce set to GTC.\n\n:param symbol: required\n:type symbol: str\n:param quantity: required\n:type quantity: decimal\n:param price: required\n:type price: str\n:param timeInForce: default Good till cancelled\n:type timeInForce: str\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param stopPrice: Used with stop orders\n:type stopPrice: decimal\n:param icebergQty: Used with iceberg orders\n:type icebergQty: decimal\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\nSee order endpoint for full response options\n\n:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "timeInForce", + "annotation": null, + "description": null, + "value": "BaseClient.TIME_IN_FORCE_GTC" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def order_limit_buy(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n \"\"\"Send in a new limit buy order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n Any order with an icebergQty MUST have timeInForce set to GTC.\n\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param stopPrice: Used with stop orders\n :type stopPrice: decimal\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\n \"side\": self.SIDE_BUY,\n })\n return self.order_limit(timeInForce=timeInForce, **params)" + }, + "order_limit_sell": { + "name": "order_limit_sell", + "path": "binance.client.Client.order_limit_sell", + "signature": "(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params)", + "description": "Send in a new limit sell order\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n:param symbol: required\n:type symbol: str\n:param quantity: required\n:type quantity: decimal\n:param price: required\n:type price: str\n:param timeInForce: default Good till cancelled\n:type timeInForce: str\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param stopPrice: Used with stop orders\n:type stopPrice: decimal\n:param icebergQty: Used with iceberg orders\n:type icebergQty: decimal\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\nSee order endpoint for full response options\n\n:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "timeInForce", + "annotation": null, + "description": null, + "value": "BaseClient.TIME_IN_FORCE_GTC" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def order_limit_sell(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n \"\"\"Send in a new limit sell order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param stopPrice: Used with stop orders\n :type stopPrice: decimal\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\"side\": self.SIDE_SELL})\n return self.order_limit(timeInForce=timeInForce, **params)" + }, + "order_market": { + "name": "order_market", + "path": "binance.client.Client.order_market", + "signature": "(self, **params)", + "description": "Send in a new market order\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n:param symbol: required\n:type symbol: str\n:param side: required\n:type side: str\n:param quantity: required\n:type quantity: decimal\n:param quoteOrderQty: amount the user wants to spend (when buying) or receive (when selling)\n of the quote asset\n:type quoteOrderQty: decimal\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\nSee order endpoint for full response options\n\n:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def order_market(self, **params):\n \"\"\"Send in a new market order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: amount the user wants to spend (when buying) or receive (when selling)\n of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\"type\": self.ORDER_TYPE_MARKET})\n return self.create_order(**params)" + }, + "order_market_buy": { + "name": "order_market_buy", + "path": "binance.client.Client.order_market_buy", + "signature": "(self, **params)", + "description": "Send in a new market buy order\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n:param symbol: required\n:type symbol: str\n:param quantity: required\n:type quantity: decimal\n:param quoteOrderQty: the amount the user wants to spend of the quote asset\n:type quoteOrderQty: decimal\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\nSee order endpoint for full response options\n\n:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def order_market_buy(self, **params):\n \"\"\"Send in a new market buy order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: the amount the user wants to spend of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\"side\": self.SIDE_BUY})\n return self.order_market(**params)" + }, + "order_market_sell": { + "name": "order_market_sell", + "path": "binance.client.Client.order_market_sell", + "signature": "(self, **params)", + "description": "Send in a new market sell order\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n:param symbol: required\n:type symbol: str\n:param quantity: required\n:type quantity: decimal\n:param quoteOrderQty: the amount the user wants to receive of the quote asset\n:type quoteOrderQty: decimal\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\nSee order endpoint for full response options\n\n:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def order_market_sell(self, **params):\n \"\"\"Send in a new market sell order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: the amount the user wants to receive of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\"side\": self.SIDE_SELL})\n return self.order_market(**params)" + }, + "create_oco_order": { + "name": "create_oco_order", + "path": "binance.client.Client.create_oco_order", + "signature": "(self, **params)", + "description": "Send in an one-cancels-the-other (OCO) pair, where activation of one order immediately cancels the other.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---oco-trade\n\nAn OCO has 2 orders called the above order and below order.\nOne of the orders must be a LIMIT_MAKER/TAKE_PROFIT/TAKE_PROFIT_LIMIT order and the other must be STOP_LOSS or STOP_LOSS_LIMIT order.\n\nPrice restrictions:\nIf the OCO is on the SELL side:\n LIMIT_MAKER/TAKE_PROFIT_LIMIT price > Last Traded Price > STOP_LOSS/STOP_LOSS_LIMIT stopPrice\n TAKE_PROFIT stopPrice > Last Traded Price > STOP_LOSS/STOP_LOSS_LIMIT stopPrice\nIf the OCO is on the BUY side:\n LIMIT_MAKER/TAKE_PROFIT_LIMIT price < Last Traded Price < stopPrice\n TAKE_PROFIT stopPrice < Last Traded Price < STOP_LOSS/STOP_LOSS_LIMIT stopPrice\n\nWeight: 1\n\n:param symbol: required\n:type symbol: str\n:param listClientOrderId: Arbitrary unique ID among open order lists. Automatically generated if not sent.\n:type listClientOrderId: str\n:param side: required - BUY or SELL\n:type side: str\n:param quantity: required - Quantity for both orders of the order list\n:type quantity: decimal\n:param aboveType: required - STOP_LOSS_LIMIT, STOP_LOSS, LIMIT_MAKER, TAKE_PROFIT, TAKE_PROFIT_LIMIT\n:type aboveType: str\n:param aboveClientOrderId: Arbitrary unique ID among open orders for the above order\n:type aboveClientOrderId: str\n:param aboveIcebergQty: Note that this can only be used if aboveTimeInForce is GTC\n:type aboveIcebergQty: decimal\n:param abovePrice: Can be used if aboveType is STOP_LOSS_LIMIT, LIMIT_MAKER, or TAKE_PROFIT_LIMIT\n:type abovePrice: decimal\n:param aboveStopPrice: Can be used if aboveType is STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT\n:type aboveStopPrice: decimal\n:param aboveTrailingDelta: See Trailing Stop order FAQ\n:type aboveTrailingDelta: int\n:param aboveTimeInForce: Required if aboveType is STOP_LOSS_LIMIT or TAKE_PROFIT_LIMIT\n:type aboveTimeInForce: str\n:param aboveStrategyId: Arbitrary numeric value identifying the above order within an order strategy\n:type aboveStrategyId: int\n:param aboveStrategyType: Arbitrary numeric value identifying the above order strategy (>= 1000000)\n:type aboveStrategyType: int\n:param belowType: required - STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT\n:type belowType: str\n:param belowClientOrderId: Arbitrary unique ID among open orders for the below order\n:type belowClientOrderId: str\n:param belowIcebergQty: Note that this can only be used if belowTimeInForce is GTC\n:type belowIcebergQty: decimal\n:param belowPrice: Can be used if belowType is STOP_LOSS_LIMIT, LIMIT_MAKER, or TAKE_PROFIT_LIMIT\n:type belowPrice: decimal\n:param belowStopPrice: Can be used if belowType is STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT or TAKE_PROFIT_LIMIT\n:type belowStopPrice: decimal\n:param belowTrailingDelta: See Trailing Stop order FAQ\n:type belowTrailingDelta: int\n:param belowTimeInForce: Required if belowType is STOP_LOSS_LIMIT or TAKE_PROFIT_LIMIT\n:type belowTimeInForce: str\n:param belowStrategyId: Arbitrary numeric value identifying the below order within an order strategy\n:type belowStrategyId: int\n:param belowStrategyType: Arbitrary numeric value identifying the below order strategy (>= 1000000)\n:type belowStrategyType: int\n:param newOrderRespType: Select response format: ACK, RESULT, FULL\n:type newOrderRespType: str\n:param selfTradePreventionMode: The allowed enums is dependent on what is configured on the symbol\n:type selfTradePreventionMode: str\n:param recvWindow: The value cannot be greater than 60000\n:type recvWindow: int\n:param timestamp: required\n:type timestamp: int\n\n:returns: API response\n\n {\n \"orderListId\": 1,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"lH1YDkuQKWiXVXHPSKYEIp\",\n \"transactionTime\": 1710485608839,\n \"symbol\": \"LTCBTC\",\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 10,\n \"clientOrderId\": \"44nZvqpemY7sVYgPYbvPih\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 11,\n \"clientOrderId\": \"NuMp0nVYnciDiFmVqfpBqK\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 10,\n \"orderListId\": 1,\n \"clientOrderId\": \"44nZvqpemY7sVYgPYbvPih\",\n \"transactTime\": 1710485608839,\n \"price\": \"1.00000000\",\n \"origQty\": \"5.00000000\",\n \"executedQty\": \"0.00000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS_LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"1.00000000\",\n \"workingTime\": -1,\n \"icebergQty\": \"1.00000000\",\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 11,\n \"orderListId\": 1,\n \"clientOrderId\": \"NuMp0nVYnciDiFmVqfpBqK\",\n \"transactTime\": 1710485608839,\n \"price\": \"3.00000000\",\n \"origQty\": \"5.00000000\",\n \"executedQty\": \"0.00000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"SELL\",\n \"workingTime\": 1710485608839,\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException,\n BinanceOrderMinAmountException, BinanceOrderMinPriceException,\n BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException,\n BinanceOrderInactiveSymbolException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def create_oco_order(self, **params):\n \"\"\"Send in an one-cancels-the-other (OCO) pair, where activation of one order immediately cancels the other.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---oco-trade\n\n An OCO has 2 orders called the above order and below order.\n One of the orders must be a LIMIT_MAKER/TAKE_PROFIT/TAKE_PROFIT_LIMIT order and the other must be STOP_LOSS or STOP_LOSS_LIMIT order.\n\n Price restrictions:\n If the OCO is on the SELL side:\n LIMIT_MAKER/TAKE_PROFIT_LIMIT price > Last Traded Price > STOP_LOSS/STOP_LOSS_LIMIT stopPrice\n TAKE_PROFIT stopPrice > Last Traded Price > STOP_LOSS/STOP_LOSS_LIMIT stopPrice\n If the OCO is on the BUY side:\n LIMIT_MAKER/TAKE_PROFIT_LIMIT price < Last Traded Price < stopPrice\n TAKE_PROFIT stopPrice < Last Traded Price < STOP_LOSS/STOP_LOSS_LIMIT stopPrice\n\n Weight: 1\n\n :param symbol: required\n :type symbol: str\n :param listClientOrderId: Arbitrary unique ID among open order lists. Automatically generated if not sent.\n :type listClientOrderId: str\n :param side: required - BUY or SELL\n :type side: str\n :param quantity: required - Quantity for both orders of the order list\n :type quantity: decimal\n :param aboveType: required - STOP_LOSS_LIMIT, STOP_LOSS, LIMIT_MAKER, TAKE_PROFIT, TAKE_PROFIT_LIMIT\n :type aboveType: str\n :param aboveClientOrderId: Arbitrary unique ID among open orders for the above order\n :type aboveClientOrderId: str\n :param aboveIcebergQty: Note that this can only be used if aboveTimeInForce is GTC\n :type aboveIcebergQty: decimal\n :param abovePrice: Can be used if aboveType is STOP_LOSS_LIMIT, LIMIT_MAKER, or TAKE_PROFIT_LIMIT\n :type abovePrice: decimal\n :param aboveStopPrice: Can be used if aboveType is STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT\n :type aboveStopPrice: decimal\n :param aboveTrailingDelta: See Trailing Stop order FAQ\n :type aboveTrailingDelta: int\n :param aboveTimeInForce: Required if aboveType is STOP_LOSS_LIMIT or TAKE_PROFIT_LIMIT\n :type aboveTimeInForce: str\n :param aboveStrategyId: Arbitrary numeric value identifying the above order within an order strategy\n :type aboveStrategyId: int\n :param aboveStrategyType: Arbitrary numeric value identifying the above order strategy (>= 1000000)\n :type aboveStrategyType: int\n :param belowType: required - STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT\n :type belowType: str\n :param belowClientOrderId: Arbitrary unique ID among open orders for the below order\n :type belowClientOrderId: str\n :param belowIcebergQty: Note that this can only be used if belowTimeInForce is GTC\n :type belowIcebergQty: decimal\n :param belowPrice: Can be used if belowType is STOP_LOSS_LIMIT, LIMIT_MAKER, or TAKE_PROFIT_LIMIT\n :type belowPrice: decimal\n :param belowStopPrice: Can be used if belowType is STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT or TAKE_PROFIT_LIMIT\n :type belowStopPrice: decimal\n :param belowTrailingDelta: See Trailing Stop order FAQ\n :type belowTrailingDelta: int\n :param belowTimeInForce: Required if belowType is STOP_LOSS_LIMIT or TAKE_PROFIT_LIMIT\n :type belowTimeInForce: str\n :param belowStrategyId: Arbitrary numeric value identifying the below order within an order strategy\n :type belowStrategyId: int\n :param belowStrategyType: Arbitrary numeric value identifying the below order strategy (>= 1000000)\n :type belowStrategyType: int\n :param newOrderRespType: Select response format: ACK, RESULT, FULL\n :type newOrderRespType: str\n :param selfTradePreventionMode: The allowed enums is dependent on what is configured on the symbol\n :type selfTradePreventionMode: str\n :param recvWindow: The value cannot be greater than 60000\n :type recvWindow: int\n :param timestamp: required\n :type timestamp: int\n\n :returns: API response\n\n {\n \"orderListId\": 1,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"lH1YDkuQKWiXVXHPSKYEIp\",\n \"transactionTime\": 1710485608839,\n \"symbol\": \"LTCBTC\",\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 10,\n \"clientOrderId\": \"44nZvqpemY7sVYgPYbvPih\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 11,\n \"clientOrderId\": \"NuMp0nVYnciDiFmVqfpBqK\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 10,\n \"orderListId\": 1,\n \"clientOrderId\": \"44nZvqpemY7sVYgPYbvPih\",\n \"transactTime\": 1710485608839,\n \"price\": \"1.00000000\",\n \"origQty\": \"5.00000000\",\n \"executedQty\": \"0.00000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS_LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"1.00000000\",\n \"workingTime\": -1,\n \"icebergQty\": \"1.00000000\",\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 11,\n \"orderListId\": 1,\n \"clientOrderId\": \"NuMp0nVYnciDiFmVqfpBqK\",\n \"transactTime\": 1710485608839,\n \"price\": \"3.00000000\",\n \"origQty\": \"5.00000000\",\n \"executedQty\": \"0.00000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"SELL\",\n \"workingTime\": 1710485608839,\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException,\n BinanceOrderMinAmountException, BinanceOrderMinPriceException,\n BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException,\n BinanceOrderInactiveSymbolException\n\n \"\"\"\n if \"listClientOrderId\" not in params:\n params[\"listClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return self._post(\"orderList/oco\", True, data=params)" + }, + "order_oco_buy": { + "name": "order_oco_buy", + "path": "binance.client.Client.order_oco_buy", + "signature": "(self, **params)", + "description": "Send in a new OCO buy order\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---oco-trade\n\n:param symbol: required\n:type symbol: str\n:param listClientOrderId: A unique id for the list order. Automatically generated if not sent.\n:type listClientOrderId: str\n:param quantity: required\n:type quantity: decimal\n:param limitClientOrderId: A unique id for the limit order. Automatically generated if not sent.\n:type limitClientOrderId: str\n:param price: required\n:type price: str\n:param limitIcebergQty: Used to make the LIMIT_MAKER leg an iceberg order.\n:type limitIcebergQty: decimal\n:param stopClientOrderId: A unique id for the stop order. Automatically generated if not sent.\n:type stopClientOrderId: str\n:param stopPrice: required\n:type stopPrice: str\n:param stopLimitPrice: If provided, stopLimitTimeInForce is required.\n:type stopLimitPrice: str\n:param stopIcebergQty: Used with STOP_LOSS_LIMIT leg to make an iceberg order.\n:type stopIcebergQty: decimal\n:param stopLimitTimeInForce: Valid values are GTC/FOK/IOC.\n:type stopLimitTimeInForce: str\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\nSee OCO order endpoint for full response options\n\n:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def order_oco_buy(self, **params):\n \"\"\"Send in a new OCO buy order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---oco-trade\n\n :param symbol: required\n :type symbol: str\n :param listClientOrderId: A unique id for the list order. Automatically generated if not sent.\n :type listClientOrderId: str\n :param quantity: required\n :type quantity: decimal\n :param limitClientOrderId: A unique id for the limit order. Automatically generated if not sent.\n :type limitClientOrderId: str\n :param price: required\n :type price: str\n :param limitIcebergQty: Used to make the LIMIT_MAKER leg an iceberg order.\n :type limitIcebergQty: decimal\n :param stopClientOrderId: A unique id for the stop order. Automatically generated if not sent.\n :type stopClientOrderId: str\n :param stopPrice: required\n :type stopPrice: str\n :param stopLimitPrice: If provided, stopLimitTimeInForce is required.\n :type stopLimitPrice: str\n :param stopIcebergQty: Used with STOP_LOSS_LIMIT leg to make an iceberg order.\n :type stopIcebergQty: decimal\n :param stopLimitTimeInForce: Valid values are GTC/FOK/IOC.\n :type stopLimitTimeInForce: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See OCO order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\"side\": self.SIDE_BUY})\n return self.create_oco_order(**params)" + }, + "order_oco_sell": { + "name": "order_oco_sell", + "path": "binance.client.Client.order_oco_sell", + "signature": "(self, **params)", + "description": "Send in a new OCO sell order\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---oco-trade\n\n:param symbol: required\n:type symbol: str\n:param listClientOrderId: A unique id for the list order. Automatically generated if not sent.\n:type listClientOrderId: str\n:param quantity: required\n:type quantity: decimal\n:param limitClientOrderId: A unique id for the limit order. Automatically generated if not sent.\n:type limitClientOrderId: str\n:param price: required\n:type price: str\n:param limitIcebergQty: Used to make the LIMIT_MAKER leg an iceberg order.\n:type limitIcebergQty: decimal\n:param stopClientOrderId: A unique id for the stop order. Automatically generated if not sent.\n:type stopClientOrderId: str\n:param stopPrice: required\n:type stopPrice: str\n:param stopLimitPrice: If provided, stopLimitTimeInForce is required.\n:type stopLimitPrice: str\n:param stopIcebergQty: Used with STOP_LOSS_LIMIT leg to make an iceberg order.\n:type stopIcebergQty: decimal\n:param stopLimitTimeInForce: Valid values are GTC/FOK/IOC.\n:type stopLimitTimeInForce: str\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\nSee OCO order endpoint for full response options\n\n:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def order_oco_sell(self, **params):\n \"\"\"Send in a new OCO sell order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---oco-trade\n\n :param symbol: required\n :type symbol: str\n :param listClientOrderId: A unique id for the list order. Automatically generated if not sent.\n :type listClientOrderId: str\n :param quantity: required\n :type quantity: decimal\n :param limitClientOrderId: A unique id for the limit order. Automatically generated if not sent.\n :type limitClientOrderId: str\n :param price: required\n :type price: str\n :param limitIcebergQty: Used to make the LIMIT_MAKER leg an iceberg order.\n :type limitIcebergQty: decimal\n :param stopClientOrderId: A unique id for the stop order. Automatically generated if not sent.\n :type stopClientOrderId: str\n :param stopPrice: required\n :type stopPrice: str\n :param stopLimitPrice: If provided, stopLimitTimeInForce is required.\n :type stopLimitPrice: str\n :param stopIcebergQty: Used with STOP_LOSS_LIMIT leg to make an iceberg order.\n :type stopIcebergQty: decimal\n :param stopLimitTimeInForce: Valid values are GTC/FOK/IOC.\n :type stopLimitTimeInForce: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See OCO order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\"side\": self.SIDE_SELL})\n return self.create_oco_order(**params)" + }, + "create_test_order": { + "name": "create_test_order", + "path": "binance.client.Client.create_test_order", + "signature": "(self, **params)", + "description": "Test new order creation and signature/recvWindow long. Creates and validates a new order but does not send it into the matching engine.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#test-new-order-trade\n\n:param symbol: required\n:type symbol: str\n:param side: required\n:type side: str\n:param type: required\n:type type: str\n:param timeInForce: required if limit order\n:type timeInForce: str\n:param quantity: required\n:type quantity: decimal\n:param price: required\n:type price: str\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param icebergQty: Used with iceberg orders\n:type icebergQty: decimal\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: The number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {}\n\n:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def create_test_order(self, **params):\n \"\"\"Test new order creation and signature/recvWindow long. Creates and validates a new order but does not send it into the matching engine.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#test-new-order-trade\n\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param type: required\n :type type: str\n :param timeInForce: required if limit order\n :type timeInForce: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: The number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n\n \"\"\"\n return self._post(\"order/test\", True, data=params)" + }, + "get_order": { + "name": "get_order", + "path": "binance.client.Client.get_order", + "signature": "(self, **params)", + "description": "Check an order's status. Either orderId or origClientOrderId must be sent.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-order-user_data\n\n:param symbol: required\n:type symbol: str\n:param orderId: The unique order id\n:type orderId: int\n:param origClientOrderId: optional\n:type origClientOrderId: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 1,\n \"clientOrderId\": \"myOrder1\",\n \"price\": \"0.1\",\n \"origQty\": \"1.0\",\n \"executedQty\": \"0.0\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.0\",\n \"icebergQty\": \"0.0\",\n \"time\": 1499827319559\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_order(self, **params):\n \"\"\"Check an order's status. Either orderId or origClientOrderId must be sent.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-order-user_data\n\n :param symbol: required\n :type symbol: str\n :param orderId: The unique order id\n :type orderId: int\n :param origClientOrderId: optional\n :type origClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 1,\n \"clientOrderId\": \"myOrder1\",\n \"price\": \"0.1\",\n \"origQty\": \"1.0\",\n \"executedQty\": \"0.0\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.0\",\n \"icebergQty\": \"0.0\",\n \"time\": 1499827319559\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"order\", True, data=params)" + }, + "get_all_orders": { + "name": "get_all_orders", + "path": "binance.client.Client.get_all_orders", + "signature": "(self, **params)", + "description": "Get all account orders; active, canceled, or filled.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#all-orders-user_data\n\n:param symbol: required\n:type symbol: str\n:param orderId: The unique order id\n:type orderId: int\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param limit: Default 500; max 1000.\n:type limit: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 1,\n \"clientOrderId\": \"myOrder1\",\n \"price\": \"0.1\",\n \"origQty\": \"1.0\",\n \"executedQty\": \"0.0\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.0\",\n \"icebergQty\": \"0.0\",\n \"time\": 1499827319559\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_all_orders(self, **params):\n \"\"\"Get all account orders; active, canceled, or filled.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#all-orders-user_data\n\n :param symbol: required\n :type symbol: str\n :param orderId: The unique order id\n :type orderId: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: Default 500; max 1000.\n :type limit: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 1,\n \"clientOrderId\": \"myOrder1\",\n \"price\": \"0.1\",\n \"origQty\": \"1.0\",\n \"executedQty\": \"0.0\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.0\",\n \"icebergQty\": \"0.0\",\n \"time\": 1499827319559\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"allOrders\", True, data=params)" + }, + "cancel_order": { + "name": "cancel_order", + "path": "binance.client.Client.cancel_order", + "signature": "(self, **params)", + "description": "Cancel an active order. Either orderId or origClientOrderId must be sent.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#cancel-order-trade\n\n:param symbol: required\n:type symbol: str\n:param orderId: The unique order id\n:type orderId: int\n:param origClientOrderId: optional\n:type origClientOrderId: str\n:param newClientOrderId: Used to uniquely identify this cancel. Automatically generated by default.\n:type newClientOrderId: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"origClientOrderId\": \"myOrder1\",\n \"orderId\": 1,\n \"clientOrderId\": \"cancelMyOrder1\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def cancel_order(self, **params):\n \"\"\"Cancel an active order. Either orderId or origClientOrderId must be sent.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#cancel-order-trade\n\n :param symbol: required\n :type symbol: str\n :param orderId: The unique order id\n :type orderId: int\n :param origClientOrderId: optional\n :type origClientOrderId: str\n :param newClientOrderId: Used to uniquely identify this cancel. Automatically generated by default.\n :type newClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"origClientOrderId\": \"myOrder1\",\n \"orderId\": 1,\n \"clientOrderId\": \"cancelMyOrder1\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._delete(\"order\", True, data=params)" + }, + "cancel_all_open_orders": { + "name": "cancel_all_open_orders", + "path": "binance.client.Client.cancel_all_open_orders", + "signature": "(self, **params)", + "description": "Cancel all open orders on a symbol.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#cancel-all-open-orders-on-a-symbol-trade\n\n:param symbol: required\n:type symbol: str\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def cancel_all_open_orders(self, **params):\n \"\"\"\n Cancel all open orders on a symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#cancel-all-open-orders-on-a-symbol-trade\n\n :param symbol: required\n :type symbol: str\n\n :returns: API response\n \"\"\"\n return self._delete(\"openOrders\", True, data=params)" + }, + "cancel_replace_order": { + "name": "cancel_replace_order", + "path": "binance.client.Client.cancel_replace_order", + "signature": "(self, **params)", + "description": "Cancels an existing order and places a new order on the same symbol.\n\nFilters and Order Count are evaluated before the processing of the cancellation and order placement occurs.\n\nA new order that was not attempted (i.e. when newOrderResult: NOT_ATTEMPTED), will still increase the order count by 1.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#cancel-an-existing-order-and-send-a-new-order-trade\n\n:param symbol: required\n:type symbol: str\n:param side: required\n:type side: enum\n:param type: required\n:type type: enum\n:param cancelReplaceMode: required - STOP_ON_FAILURE or ALLOW_FAILURE\n:type cancelReplaceMode: enum\n:param timeInForce: optional\n:type timeInForce: enum\n:param quantity: optional\n:type quantity: decimal\n:param quoteOrderQty: optional\n:type quoteOrderQty: decimal\n:param price: optional\n:type price: decimal\n:param cancelNewClientOrderId: optional - Used to uniquely identify this cancel. Automatically generated by default.\n:type cancelNewClientOrderId: str\n:param cancelOrigClientOrderId: optional - Either the cancelOrigClientOrderId or cancelOrderId must be provided. If both are provided, cancelOrderId takes precedence.\n:type cancelOrigClientOrderId: str\n:param cancelOrderId: optional - Either the cancelOrigClientOrderId or cancelOrderId must be provided. If both are provided, cancelOrderId takes precedence.\n:type cancelOrderId: long\n:param newClientOrderId: optional - Used to identify the new order.\n:type newClientOrderId: str\n:param strategyId: optional\n:type strategyId: int\n:param strategyType: optional - The value cannot be less than 1000000.\n:type strategyType: int\n:param stopPrice: optional\n:type stopPrice: decimal\n:param trailingDelta: optional\n:type trailingDelta: long\n:param icebergQty: optional\n:type icebergQty: decimal\n:param newOrderRespType: optional - ACK, RESULT or FULL. MARKET and LIMIT orders types default to FULL; all other orders default to ACK\n:type newOrderRespType: enum\n:param selfTradePreventionMode: optional - EXPIRE_TAKER, EXPIRE_MAKER, EXPIRE_BOTH or NONE.\n:type selfTradePreventionMode: enum\n:param cancelRestrictions: optional - ONLY_NEW or ONLY_PARTIALLY_FILLED\n:type cancelRestrictions: enum\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n //Both the cancel order placement and new order placement succeeded.\n {\n \"cancelResult\": \"SUCCESS\",\n \"newOrderResult\": \"SUCCESS\",\n \"cancelResponse\": {\n \"symbol\": \"BTCUSDT\",\n \"origClientOrderId\": \"DnLo3vTAQcjha43lAZhZ0y\",\n \"orderId\": 9,\n \"orderListId\": -1,\n \"clientOrderId\": \"osxN3JXAtJvKvCqGeMWMVR\",\n \"transactTime\": 1684804350068,\n \"price\": \"0.01000000\",\n \"origQty\": \"0.000100\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"selfTradePreventionMode\": \"NONE\"\n },\n \"newOrderResponse\": {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 10,\n \"orderListId\": -1,\n \"clientOrderId\": \"wOceeeOzNORyLiQfw7jd8S\",\n \"transactTime\": 1652928801803,\n \"price\": \"0.02000000\",\n \"origQty\": \"0.040000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"workingTime\": 1669277163808,\n \"fills\": [],\n \"selfTradePreventionMode\": \"NONE\"\n\n }\n }\nSimilar to POST /api/v3/order, additional mandatory parameters are determined by type.\n\nResponse format varies depending on whether the processing of the message succeeded, partially succeeded, or failed.\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def cancel_replace_order(self, **params):\n \"\"\"Cancels an existing order and places a new order on the same symbol.\n\n Filters and Order Count are evaluated before the processing of the cancellation and order placement occurs.\n\n A new order that was not attempted (i.e. when newOrderResult: NOT_ATTEMPTED), will still increase the order count by 1.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#cancel-an-existing-order-and-send-a-new-order-trade\n\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: enum\n :param type: required\n :type type: enum\n :param cancelReplaceMode: required - STOP_ON_FAILURE or ALLOW_FAILURE\n :type cancelReplaceMode: enum\n :param timeInForce: optional\n :type timeInForce: enum\n :param quantity: optional\n :type quantity: decimal\n :param quoteOrderQty: optional\n :type quoteOrderQty: decimal\n :param price: optional\n :type price: decimal\n :param cancelNewClientOrderId: optional - Used to uniquely identify this cancel. Automatically generated by default.\n :type cancelNewClientOrderId: str\n :param cancelOrigClientOrderId: optional - Either the cancelOrigClientOrderId or cancelOrderId must be provided. If both are provided, cancelOrderId takes precedence.\n :type cancelOrigClientOrderId: str\n :param cancelOrderId: optional - Either the cancelOrigClientOrderId or cancelOrderId must be provided. If both are provided, cancelOrderId takes precedence.\n :type cancelOrderId: long\n :param newClientOrderId: optional - Used to identify the new order.\n :type newClientOrderId: str\n :param strategyId: optional\n :type strategyId: int\n :param strategyType: optional - The value cannot be less than 1000000.\n :type strategyType: int\n :param stopPrice: optional\n :type stopPrice: decimal\n :param trailingDelta: optional\n :type trailingDelta: long\n :param icebergQty: optional\n :type icebergQty: decimal\n :param newOrderRespType: optional - ACK, RESULT or FULL. MARKET and LIMIT orders types default to FULL; all other orders default to ACK\n :type newOrderRespType: enum\n :param selfTradePreventionMode: optional - EXPIRE_TAKER, EXPIRE_MAKER, EXPIRE_BOTH or NONE.\n :type selfTradePreventionMode: enum\n :param cancelRestrictions: optional - ONLY_NEW or ONLY_PARTIALLY_FILLED\n :type cancelRestrictions: enum\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n //Both the cancel order placement and new order placement succeeded.\n {\n \"cancelResult\": \"SUCCESS\",\n \"newOrderResult\": \"SUCCESS\",\n \"cancelResponse\": {\n \"symbol\": \"BTCUSDT\",\n \"origClientOrderId\": \"DnLo3vTAQcjha43lAZhZ0y\",\n \"orderId\": 9,\n \"orderListId\": -1,\n \"clientOrderId\": \"osxN3JXAtJvKvCqGeMWMVR\",\n \"transactTime\": 1684804350068,\n \"price\": \"0.01000000\",\n \"origQty\": \"0.000100\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"selfTradePreventionMode\": \"NONE\"\n },\n \"newOrderResponse\": {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 10,\n \"orderListId\": -1,\n \"clientOrderId\": \"wOceeeOzNORyLiQfw7jd8S\",\n \"transactTime\": 1652928801803,\n \"price\": \"0.02000000\",\n \"origQty\": \"0.040000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"workingTime\": 1669277163808,\n \"fills\": [],\n \"selfTradePreventionMode\": \"NONE\"\n\n }\n }\n Similar to POST /api/v3/order, additional mandatory parameters are determined by type.\n\n Response format varies depending on whether the processing of the message succeeded, partially succeeded, or failed.\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return self._post(\"order/cancelReplace\", True, data=params)" + }, + "get_open_orders": { + "name": "get_open_orders", + "path": "binance.client.Client.get_open_orders", + "signature": "(self, **params)", + "description": "Get all open orders on a symbol.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#current-open-orders-user_data\n\n:param symbol: optional\n:type symbol: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 1,\n \"clientOrderId\": \"myOrder1\",\n \"price\": \"0.1\",\n \"origQty\": \"1.0\",\n \"executedQty\": \"0.0\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.0\",\n \"icebergQty\": \"0.0\",\n \"time\": 1499827319559\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#current-open-orders-user_data\n\n :param symbol: optional\n :type symbol: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 1,\n \"clientOrderId\": \"myOrder1\",\n \"price\": \"0.1\",\n \"origQty\": \"1.0\",\n \"executedQty\": \"0.0\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.0\",\n \"icebergQty\": \"0.0\",\n \"time\": 1499827319559\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"openOrders\", True, data=params)" + }, + "get_open_oco_orders": { + "name": "get_open_oco_orders", + "path": "binance.client.Client.get_open_oco_orders", + "signature": "(self, **params)", + "description": "Get all open orders on a symbol.\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-open-order-lists-user_data\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: API response\n.. code-block:: python\n [\n {\n \"orderListId\": 31,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"wuB13fmulKj3YjdqWEcsnp\",\n \"transactionTime\": 1565246080644,\n \"symbol\": \"LTCBTC\",\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 4,\n \"clientOrderId\": \"r3EH2N76dHfLoSZWIUw1bT\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 5,\n \"clientOrderId\": \"Cv1SnyPD3qhqpbjpYEHbd2\"\n }\n ]\n }\n ]\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_open_oco_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-open-order-lists-user_data\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: API response\n .. code-block:: python\n [\n {\n \"orderListId\": 31,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"wuB13fmulKj3YjdqWEcsnp\",\n \"transactionTime\": 1565246080644,\n \"symbol\": \"LTCBTC\",\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 4,\n \"clientOrderId\": \"r3EH2N76dHfLoSZWIUw1bT\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 5,\n \"clientOrderId\": \"Cv1SnyPD3qhqpbjpYEHbd2\"\n }\n ]\n }\n ]\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._get(\"openOrderList\", True, data=params)" + }, + "get_account": { + "name": "get_account", + "path": "binance.client.Client.get_account", + "signature": "(self, **params)", + "description": "Get current account information.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#account-information-user_data\n\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"makerCommission\": 15,\n \"takerCommission\": 15,\n \"buyerCommission\": 0,\n \"sellerCommission\": 0,\n \"canTrade\": true,\n \"canWithdraw\": true,\n \"canDeposit\": true,\n \"balances\": [\n {\n \"asset\": \"BTC\",\n \"free\": \"4723846.89208129\",\n \"locked\": \"0.00000000\"\n },\n {\n \"asset\": \"LTC\",\n \"free\": \"4763368.68006011\",\n \"locked\": \"0.00000000\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_account(self, **params):\n \"\"\"Get current account information.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#account-information-user_data\n\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"makerCommission\": 15,\n \"takerCommission\": 15,\n \"buyerCommission\": 0,\n \"sellerCommission\": 0,\n \"canTrade\": true,\n \"canWithdraw\": true,\n \"canDeposit\": true,\n \"balances\": [\n {\n \"asset\": \"BTC\",\n \"free\": \"4723846.89208129\",\n \"locked\": \"0.00000000\"\n },\n {\n \"asset\": \"LTC\",\n \"free\": \"4763368.68006011\",\n \"locked\": \"0.00000000\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"account\", True, data=params)" + }, + "get_asset_balance": { + "name": "get_asset_balance", + "path": "binance.client.Client.get_asset_balance", + "signature": "(self, asset=None, **params)", + "description": "Get current asset balance.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#account-information-user_data\n\n:param asset: optional - the asset to get the balance of\n:type asset: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: dictionary or None if not found\n\n.. code-block:: python\n\n {\n \"asset\": \"BTC\",\n \"free\": \"4723846.89208129\",\n \"locked\": \"0.00000000\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "asset", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_asset_balance(self, asset=None, **params):\n \"\"\"Get current asset balance.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#account-information-user_data\n\n :param asset: optional - the asset to get the balance of\n :type asset: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: dictionary or None if not found\n\n .. code-block:: python\n\n {\n \"asset\": \"BTC\",\n \"free\": \"4723846.89208129\",\n \"locked\": \"0.00000000\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n res = self.get_account(**params)\n # find asset balance in list of balances\n if \"balances\" in res:\n if asset:\n for bal in res[\"balances\"]:\n if bal[\"asset\"].lower() == asset.lower():\n return bal\n else:\n return res[\"balances\"]\n return None" + }, + "get_my_trades": { + "name": "get_my_trades", + "path": "binance.client.Client.get_my_trades", + "signature": "(self, **params)", + "description": "Get trades for a specific symbol.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#account-trade-list-user_data\n\n:param symbol: required\n:type symbol: str\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param limit: Default 500; max 1000.\n:type limit: int\n:param fromId: TradeId to fetch from. Default gets most recent trades.\n:type fromId: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"id\": 28457,\n \"price\": \"4.00000100\",\n \"qty\": \"12.00000000\",\n \"commission\": \"10.10000000\",\n \"commissionAsset\": \"BNB\",\n \"time\": 1499865549590,\n \"isBuyer\": true,\n \"isMaker\": false,\n \"isBestMatch\": true\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_my_trades(self, **params):\n \"\"\"Get trades for a specific symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#account-trade-list-user_data\n\n :param symbol: required\n :type symbol: str\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: Default 500; max 1000.\n :type limit: int\n :param fromId: TradeId to fetch from. Default gets most recent trades.\n :type fromId: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"id\": 28457,\n \"price\": \"4.00000100\",\n \"qty\": \"12.00000000\",\n \"commission\": \"10.10000000\",\n \"commissionAsset\": \"BNB\",\n \"time\": 1499865549590,\n \"isBuyer\": true,\n \"isMaker\": false,\n \"isBestMatch\": true\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"myTrades\", True, data=params)" + }, + "get_current_order_count": { + "name": "get_current_order_count", + "path": "binance.client.Client.get_current_order_count", + "signature": "(self, **params)", + "description": "Displays the user's current order count usage for all intervals.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-unfilled-order-count-user_data\n\n:returns: API response\n\n.. code-block:: python\n [\n\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"intervalNum\": 10,\n \"limit\": 10000,\n \"count\": 0\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"intervalNum\": 1,\n \"limit\": 20000,\n \"count\": 0\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_current_order_count(self, **params):\n \"\"\"Displays the user's current order count usage for all intervals.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-unfilled-order-count-user_data\n\n :returns: API response\n\n .. code-block:: python\n [\n\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"intervalNum\": 10,\n \"limit\": 10000,\n \"count\": 0\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"intervalNum\": 1,\n \"limit\": 20000,\n \"count\": 0\n }\n ]\n\n \"\"\"\n return self._get(\"rateLimit/order\", True, data=params)" + }, + "get_prevented_matches": { + "name": "get_prevented_matches", + "path": "binance.client.Client.get_prevented_matches", + "signature": "(self, **params)", + "description": "Displays the list of orders that were expired because of STP.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-prevented-matches-user_data\n\n:param symbol: required\n:type symbol: str\n:param preventedMatchId: optional\n:type preventedMatchId: int\n:param orderId: optional\n:type orderId: int\n:param fromPreventedMatchId: optional\n:type fromPreventedMatchId: int\n:param limit: optional, Default: 500; Max: 1000\n:type limit: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"preventedMatchId\": 1,\n \"takerOrderId\": 5,\n \"makerOrderId\": 3,\n \"tradeGroupId\": 1,\n \"selfTradePreventionMode\": \"EXPIRE_MAKER\",\n \"price\": \"1.100000\",\n \"makerPreventedQuantity\": \"1.300000\",\n \"transactTime\": 1669101687094\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_prevented_matches(self, **params):\n \"\"\"Displays the list of orders that were expired because of STP.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-prevented-matches-user_data\n\n :param symbol: required\n :type symbol: str\n :param preventedMatchId: optional\n :type preventedMatchId: int\n :param orderId: optional\n :type orderId: int\n :param fromPreventedMatchId: optional\n :type fromPreventedMatchId: int\n :param limit: optional, Default: 500; Max: 1000\n :type limit: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"preventedMatchId\": 1,\n \"takerOrderId\": 5,\n \"makerOrderId\": 3,\n \"tradeGroupId\": 1,\n \"selfTradePreventionMode\": \"EXPIRE_MAKER\",\n \"price\": \"1.100000\",\n \"makerPreventedQuantity\": \"1.300000\",\n \"transactTime\": 1669101687094\n }\n ]\n \"\"\"\n return self._get(\"myPreventedMatches\", True, data=params)" + }, + "get_allocations": { + "name": "get_allocations", + "path": "binance.client.Client.get_allocations", + "signature": "(self, **params)", + "description": "Retrieves allocations resulting from SOR order placement.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-allocations-user_data\n\n:param symbol: required\n:type symbol: str\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param fromAllocationId: optional\n:type fromAllocationId: int\n:param orderId: optional\n:type orderId: int\n:param limit: optional, Default: 500; Max: 1000\n:type limit: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"allocationId\": 0,\n \"allocationType\": \"SOR\",\n \"orderId\": 1,\n \"orderListId\": -1,\n \"price\": \"1.00000000\",\n \"qty\": \"5.00000000\",\n \"quoteQty\": \"5.00000000\",\n \"commission\": \"0.00000000\",\n \"commissionAsset\": \"BTC\",\n \"time\": 1687506878118,\n \"isBuyer\": true,\n \"isMaker\": false,\n \"isAllocator\": false\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_allocations(self, **params):\n \"\"\"Retrieves allocations resulting from SOR order placement.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-allocations-user_data\n\n :param symbol: required\n :type symbol: str\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param fromAllocationId: optional\n :type fromAllocationId: int\n :param orderId: optional\n :type orderId: int\n :param limit: optional, Default: 500; Max: 1000\n :type limit: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"allocationId\": 0,\n \"allocationType\": \"SOR\",\n \"orderId\": 1,\n \"orderListId\": -1,\n \"price\": \"1.00000000\",\n \"qty\": \"5.00000000\",\n \"quoteQty\": \"5.00000000\",\n \"commission\": \"0.00000000\",\n \"commissionAsset\": \"BTC\",\n \"time\": 1687506878118,\n \"isBuyer\": true,\n \"isMaker\": false,\n \"isAllocator\": false\n }\n ]\n \"\"\"\n return self._get(\"myAllocations\", True, data=params)" + }, + "get_system_status": { + "name": "get_system_status", + "path": "binance.client.Client.get_system_status", + "signature": "(self)", + "description": "Get system status detail.\n\nhttps://developers.binance.com/docs/wallet/others/system-status\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"status\": 0, # 0: normal\uff0c1\uff1asystem maintenance\n \"msg\": \"normal\" # normal or System maintenance.\n }\n\n:raises: BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_system_status(self):\n \"\"\"Get system status detail.\n\n https://developers.binance.com/docs/wallet/others/system-status\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"status\": 0, # 0: normal\uff0c1\uff1asystem maintenance\n \"msg\": \"normal\" # normal or System maintenance.\n }\n\n :raises: BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"system/status\")" + }, + "get_account_status": { + "name": "get_account_status", + "path": "binance.client.Client.get_account_status", + "signature": "(self, version=1, **params)", + "description": "Get account status detail.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#account-status-sapi-user_data\nhttps://developers.binance.com/docs/wallet/account/account-status\n:param version: the api version\n:param version: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"data\": \"Normal\"\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "1" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_account_status(self, version=1, **params):\n \"\"\"Get account status detail.\n\n https://binance-docs.github.io/apidocs/spot/en/#account-status-sapi-user_data\n https://developers.binance.com/docs/wallet/account/account-status\n :param version: the api version\n :param version: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"data\": \"Normal\"\n }\n\n \"\"\"\n if self.tld == \"us\":\n path = \"accountStatus\"\n else:\n path = \"account/status\"\n return self._request_margin_api(\"get\", path, True, version, data=params)" + }, + "get_account_api_trading_status": { + "name": "get_account_api_trading_status", + "path": "binance.client.Client.get_account_api_trading_status", + "signature": "(self, **params)", + "description": "Fetch account api trading status detail.\n\nhttps://developers.binance.com/docs/wallet/account/account-api-trading-status\n\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"data\": { // API trading status detail\n \"isLocked\": false, // API trading function is locked or not\n \"plannedRecoverTime\": 0, // If API trading function is locked, this is the planned recover time\n \"triggerCondition\": {\n \"GCR\": 150, // Number of GTC orders\n \"IFER\": 150, // Number of FOK/IOC orders\n \"UFR\": 300 // Number of orders\n },\n \"indicators\": { // The indicators updated every 30 seconds\n \"BTCUSDT\": [ // The symbol\n {\n \"i\": \"UFR\", // Unfilled Ratio (UFR)\n \"c\": 20, // Count of all orders\n \"v\": 0.05, // Current UFR value\n \"t\": 0.995 // Trigger UFR value\n },\n {\n \"i\": \"IFER\", // IOC/FOK Expiration Ratio (IFER)\n \"c\": 20, // Count of FOK/IOC orders\n \"v\": 0.99, // Current IFER value\n \"t\": 0.99 // Trigger IFER value\n },\n {\n \"i\": \"GCR\", // GTC Cancellation Ratio (GCR)\n \"c\": 20, // Count of GTC orders\n \"v\": 0.99, // Current GCR value\n \"t\": 0.99 // Trigger GCR value\n }\n ],\n \"ETHUSDT\": [\n {\n \"i\": \"UFR\",\n \"c\": 20,\n \"v\": 0.05,\n \"t\": 0.995\n },\n {\n \"i\": \"IFER\",\n \"c\": 20,\n \"v\": 0.99,\n \"t\": 0.99\n },\n {\n \"i\": \"GCR\",\n \"c\": 20,\n \"v\": 0.99,\n \"t\": 0.99\n }\n ]\n },\n \"updateTime\": 1547630471725\n }\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_account_api_trading_status(self, **params):\n \"\"\"Fetch account api trading status detail.\n\n https://developers.binance.com/docs/wallet/account/account-api-trading-status\n\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"data\": { // API trading status detail\n \"isLocked\": false, // API trading function is locked or not\n \"plannedRecoverTime\": 0, // If API trading function is locked, this is the planned recover time\n \"triggerCondition\": {\n \"GCR\": 150, // Number of GTC orders\n \"IFER\": 150, // Number of FOK/IOC orders\n \"UFR\": 300 // Number of orders\n },\n \"indicators\": { // The indicators updated every 30 seconds\n \"BTCUSDT\": [ // The symbol\n {\n \"i\": \"UFR\", // Unfilled Ratio (UFR)\n \"c\": 20, // Count of all orders\n \"v\": 0.05, // Current UFR value\n \"t\": 0.995 // Trigger UFR value\n },\n {\n \"i\": \"IFER\", // IOC/FOK Expiration Ratio (IFER)\n \"c\": 20, // Count of FOK/IOC orders\n \"v\": 0.99, // Current IFER value\n \"t\": 0.99 // Trigger IFER value\n },\n {\n \"i\": \"GCR\", // GTC Cancellation Ratio (GCR)\n \"c\": 20, // Count of GTC orders\n \"v\": 0.99, // Current GCR value\n \"t\": 0.99 // Trigger GCR value\n }\n ],\n \"ETHUSDT\": [\n {\n \"i\": \"UFR\",\n \"c\": 20,\n \"v\": 0.05,\n \"t\": 0.995\n },\n {\n \"i\": \"IFER\",\n \"c\": 20,\n \"v\": 0.99,\n \"t\": 0.99\n },\n {\n \"i\": \"GCR\",\n \"c\": 20,\n \"v\": 0.99,\n \"t\": 0.99\n }\n ]\n },\n \"updateTime\": 1547630471725\n }\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"account/apiTradingStatus\", True, data=params\n )" + }, + "get_account_api_permissions": { + "name": "get_account_api_permissions", + "path": "binance.client.Client.get_account_api_permissions", + "signature": "(self, **params)", + "description": "Fetch api key permissions.\n\nhttps://developers.binance.com/docs/wallet/account/api-key-permission\n\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"ipRestrict\": false,\n \"createTime\": 1623840271000,\n \"enableWithdrawals\": false, // This option allows you to withdraw via API. You must apply the IP Access Restriction filter in order to enable withdrawals\n \"enableInternalTransfer\": true, // This option authorizes this key to transfer funds between your master account and your sub account instantly\n \"permitsUniversalTransfer\": true, // Authorizes this key to be used for a dedicated universal transfer API to transfer multiple supported currencies. Each business's own transfer API rights are not affected by this authorization\n \"enableVanillaOptions\": false, // Authorizes this key to Vanilla options trading\n \"enableReading\": true,\n \"enableFutures\": false, // API Key created before your futures account opened does not support futures API service\n \"enableMargin\": false, // This option can be adjusted after the Cross Margin account transfer is completed\n \"enableSpotAndMarginTrading\": false, // Spot and margin trading\n \"tradingAuthorityExpirationTime\": 1628985600000 // Expiration time for spot and margin trading permission\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_account_api_permissions(self, **params):\n \"\"\"Fetch api key permissions.\n\n https://developers.binance.com/docs/wallet/account/api-key-permission\n\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"ipRestrict\": false,\n \"createTime\": 1623840271000,\n \"enableWithdrawals\": false, // This option allows you to withdraw via API. You must apply the IP Access Restriction filter in order to enable withdrawals\n \"enableInternalTransfer\": true, // This option authorizes this key to transfer funds between your master account and your sub account instantly\n \"permitsUniversalTransfer\": true, // Authorizes this key to be used for a dedicated universal transfer API to transfer multiple supported currencies. Each business's own transfer API rights are not affected by this authorization\n \"enableVanillaOptions\": false, // Authorizes this key to Vanilla options trading\n \"enableReading\": true,\n \"enableFutures\": false, // API Key created before your futures account opened does not support futures API service\n \"enableMargin\": false, // This option can be adjusted after the Cross Margin account transfer is completed\n \"enableSpotAndMarginTrading\": false, // Spot and margin trading\n \"tradingAuthorityExpirationTime\": 1628985600000 // Expiration time for spot and margin trading permission\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"account/apiRestrictions\", True, data=params\n )" + }, + "get_dust_assets": { + "name": "get_dust_assets", + "path": "binance.client.Client.get_dust_assets", + "signature": "(self, **params)", + "description": "Get assets that can be converted into BNB\n\nhttps://developers.binance.com/docs/wallet/asset/assets-can-convert-bnb\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"details\": [\n {\n \"asset\": \"ADA\",\n \"assetFullName\": \"ADA\",\n \"amountFree\": \"6.21\", //Convertible amount\n \"toBTC\": \"0.00016848\", //BTC amount\n \"toBNB\": \"0.01777302\", //BNB amount\uff08Not deducted commission fee\uff09\n \"toBNBOffExchange\": \"0.01741756\", //BNB amount\uff08Deducted commission fee\uff09\n \"exchange\": \"0.00035546\" //Commission fee\n }\n ],\n \"totalTransferBtc\": \"0.00016848\",\n \"totalTransferBNB\": \"0.01777302\",\n \"dribbletPercentage\": \"0.02\" //Commission fee\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_dust_assets(self, **params):\n \"\"\"Get assets that can be converted into BNB\n\n https://developers.binance.com/docs/wallet/asset/assets-can-convert-bnb\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"details\": [\n {\n \"asset\": \"ADA\",\n \"assetFullName\": \"ADA\",\n \"amountFree\": \"6.21\", //Convertible amount\n \"toBTC\": \"0.00016848\", //BTC amount\n \"toBNB\": \"0.01777302\", //BNB amount\uff08Not deducted commission fee\uff09\n \"toBNBOffExchange\": \"0.01741756\", //BNB amount\uff08Deducted commission fee\uff09\n \"exchange\": \"0.00035546\" //Commission fee\n }\n ],\n \"totalTransferBtc\": \"0.00016848\",\n \"totalTransferBNB\": \"0.01777302\",\n \"dribbletPercentage\": \"0.02\" //Commission fee\n }\n\n \"\"\"\n return self._request_margin_api(\"post\", \"asset/dust-btc\", True, data=params)" + }, + "get_dust_log": { + "name": "get_dust_log", + "path": "binance.client.Client.get_dust_log", + "signature": "(self, **params)", + "description": "Get log of small amounts exchanged for BNB.\n\nhttps://developers.binance.com/docs/wallet/asset/dust-log\n\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"total\": 8, //Total counts of exchange\n \"userAssetDribblets\": [\n {\n \"totalTransferedAmount\": \"0.00132256\", // Total transfered BNB amount for this exchange.\n \"totalServiceChargeAmount\": \"0.00002699\", //Total service charge amount for this exchange.\n \"transId\": 45178372831,\n \"userAssetDribbletDetails\": [ //Details of this exchange.\n {\n \"transId\": 4359321,\n \"serviceChargeAmount\": \"0.000009\",\n \"amount\": \"0.0009\",\n \"operateTime\": 1615985535000,\n \"transferedAmount\": \"0.000441\",\n \"fromAsset\": \"USDT\"\n },\n {\n \"transId\": 4359321,\n \"serviceChargeAmount\": \"0.00001799\",\n \"amount\": \"0.0009\",\n \"operateTime\": \"2018-05-03 17:07:04\",\n \"transferedAmount\": \"0.00088156\",\n \"fromAsset\": \"ETH\"\n }\n ]\n },\n {\n \"operateTime\":1616203180000,\n \"totalTransferedAmount\": \"0.00058795\",\n \"totalServiceChargeAmount\": \"0.000012\",\n \"transId\": 4357015,\n \"userAssetDribbletDetails\": [\n {\n \"transId\": 4357015,\n \"serviceChargeAmount\": \"0.00001\"\n \"amount\": \"0.001\",\n \"operateTime\": 1616203180000,\n \"transferedAmount\": \"0.00049\",\n \"fromAsset\": \"USDT\"\n },\n {\n \"transId\": 4357015,\n \"serviceChargeAmount\": \"0.000002\"\n \"amount\": \"0.0001\",\n \"operateTime\": 1616203180000,\n \"transferedAmount\": \"0.00009795\",\n \"fromAsset\": \"ETH\"\n }\n ]\n }\n ]\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_dust_log(self, **params):\n \"\"\"Get log of small amounts exchanged for BNB.\n\n https://developers.binance.com/docs/wallet/asset/dust-log\n\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"total\": 8, //Total counts of exchange\n \"userAssetDribblets\": [\n {\n \"totalTransferedAmount\": \"0.00132256\", // Total transfered BNB amount for this exchange.\n \"totalServiceChargeAmount\": \"0.00002699\", //Total service charge amount for this exchange.\n \"transId\": 45178372831,\n \"userAssetDribbletDetails\": [ //Details of this exchange.\n {\n \"transId\": 4359321,\n \"serviceChargeAmount\": \"0.000009\",\n \"amount\": \"0.0009\",\n \"operateTime\": 1615985535000,\n \"transferedAmount\": \"0.000441\",\n \"fromAsset\": \"USDT\"\n },\n {\n \"transId\": 4359321,\n \"serviceChargeAmount\": \"0.00001799\",\n \"amount\": \"0.0009\",\n \"operateTime\": \"2018-05-03 17:07:04\",\n \"transferedAmount\": \"0.00088156\",\n \"fromAsset\": \"ETH\"\n }\n ]\n },\n {\n \"operateTime\":1616203180000,\n \"totalTransferedAmount\": \"0.00058795\",\n \"totalServiceChargeAmount\": \"0.000012\",\n \"transId\": 4357015,\n \"userAssetDribbletDetails\": [\n {\n \"transId\": 4357015,\n \"serviceChargeAmount\": \"0.00001\"\n \"amount\": \"0.001\",\n \"operateTime\": 1616203180000,\n \"transferedAmount\": \"0.00049\",\n \"fromAsset\": \"USDT\"\n },\n {\n \"transId\": 4357015,\n \"serviceChargeAmount\": \"0.000002\"\n \"amount\": \"0.0001\",\n \"operateTime\": 1616203180000,\n \"transferedAmount\": \"0.00009795\",\n \"fromAsset\": \"ETH\"\n }\n ]\n }\n ]\n }\n\n \"\"\"\n return self._request_margin_api(\"get\", \"asset/dribblet\", True, data=params)" + }, + "transfer_dust": { + "name": "transfer_dust", + "path": "binance.client.Client.transfer_dust", + "signature": "(self, **params)", + "description": "Convert dust assets to BNB.\n\nhttps://developers.binance.com/docs/wallet/asset/dust-transfer\n\n:param asset: The asset being converted. e.g: 'ONE'\n:type asset: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n.. code-block:: python\n\n result = client.transfer_dust(asset='ONE')\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"totalServiceCharge\":\"0.02102542\",\n \"totalTransfered\":\"1.05127099\",\n \"transferResult\":[\n {\n \"amount\":\"0.03000000\",\n \"fromAsset\":\"ETH\",\n \"operateTime\":1563368549307,\n \"serviceChargeAmount\":\"0.00500000\",\n \"tranId\":2970932918,\n \"transferedAmount\":\"0.25000000\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def transfer_dust(self, **params):\n \"\"\"Convert dust assets to BNB.\n\n https://developers.binance.com/docs/wallet/asset/dust-transfer\n\n :param asset: The asset being converted. e.g: 'ONE'\n :type asset: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n result = client.transfer_dust(asset='ONE')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"totalServiceCharge\":\"0.02102542\",\n \"totalTransfered\":\"1.05127099\",\n \"transferResult\":[\n {\n \"amount\":\"0.03000000\",\n \"fromAsset\":\"ETH\",\n \"operateTime\":1563368549307,\n \"serviceChargeAmount\":\"0.00500000\",\n \"tranId\":2970932918,\n \"transferedAmount\":\"0.25000000\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"post\", \"asset/dust\", True, data=params)" + }, + "get_asset_dividend_history": { + "name": "get_asset_dividend_history", + "path": "binance.client.Client.get_asset_dividend_history", + "signature": "(self, **params)", + "description": "Query asset dividend record.\n\nhttps://developers.binance.com/docs/wallet/asset/assets-divided-record\n\n:param asset: optional\n:type asset: str\n:param startTime: optional\n:type startTime: long\n:param endTime: optional\n:type endTime: long\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n.. code-block:: python\n\n result = client.get_asset_dividend_history()\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"rows\":[\n {\n \"amount\":\"10.00000000\",\n \"asset\":\"BHFT\",\n \"divTime\":1563189166000,\n \"enInfo\":\"BHFT distribution\",\n \"tranId\":2968885920\n },\n {\n \"amount\":\"10.00000000\",\n \"asset\":\"BHFT\",\n \"divTime\":1563189165000,\n \"enInfo\":\"BHFT distribution\",\n \"tranId\":2968885920\n }\n ],\n \"total\":2\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_asset_dividend_history(self, **params):\n \"\"\"Query asset dividend record.\n\n https://developers.binance.com/docs/wallet/asset/assets-divided-record\n\n :param asset: optional\n :type asset: str\n :param startTime: optional\n :type startTime: long\n :param endTime: optional\n :type endTime: long\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n result = client.get_asset_dividend_history()\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"rows\":[\n {\n \"amount\":\"10.00000000\",\n \"asset\":\"BHFT\",\n \"divTime\":1563189166000,\n \"enInfo\":\"BHFT distribution\",\n \"tranId\":2968885920\n },\n {\n \"amount\":\"10.00000000\",\n \"asset\":\"BHFT\",\n \"divTime\":1563189165000,\n \"enInfo\":\"BHFT distribution\",\n \"tranId\":2968885920\n }\n ],\n \"total\":2\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"asset/assetDividend\", True, data=params)" + }, + "make_universal_transfer": { + "name": "make_universal_transfer", + "path": "binance.client.Client.make_universal_transfer", + "signature": "(self, **params)", + "description": "User Universal Transfer\n\nhttps://developers.binance.com/docs/wallet/asset/user-universal-transfer\n\n:param type: required\n:type type: str (ENUM)\n:param asset: required\n:type asset: str\n:param amount: required\n:type amount: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n.. code-block:: python\n\n transfer_status = client.make_universal_transfer(params)\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"tranId\":13526853623\n }\n\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def make_universal_transfer(self, **params):\n \"\"\"User Universal Transfer\n\n https://developers.binance.com/docs/wallet/asset/user-universal-transfer\n\n :param type: required\n :type type: str (ENUM)\n :param asset: required\n :type asset: str\n :param amount: required\n :type amount: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transfer_status = client.make_universal_transfer(params)\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\":13526853623\n }\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"asset/transfer\", signed=True, data=params\n )" + }, + "query_universal_transfer_history": { + "name": "query_universal_transfer_history", + "path": "binance.client.Client.query_universal_transfer_history", + "signature": "(self, **params)", + "description": "Query User Universal Transfer History\n\nhttps://developers.binance.com/docs/wallet/asset/query-user-universal-transfer\n\n:param type: required\n:type type: str (ENUM)\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param current: optional - Default 1\n:type current: int\n:param size: required - Default 10, Max 100\n:type size: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n.. code-block:: python\n\n transfer_status = client.query_universal_transfer_history(params)\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"total\":2,\n \"rows\":[\n {\n \"asset\":\"USDT\",\n \"amount\":\"1\",\n \"type\":\"MAIN_UMFUTURE\"\n \"status\": \"CONFIRMED\",\n \"tranId\": 11415955596,\n \"timestamp\":1544433328000\n },\n {\n \"asset\":\"USDT\",\n \"amount\":\"2\",\n \"type\":\"MAIN_UMFUTURE\",\n \"status\": \"CONFIRMED\",\n \"tranId\": 11366865406,\n \"timestamp\":1544433328000\n }\n ]\n }\n\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def query_universal_transfer_history(self, **params):\n \"\"\"Query User Universal Transfer History\n\n https://developers.binance.com/docs/wallet/asset/query-user-universal-transfer\n\n :param type: required\n :type type: str (ENUM)\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param current: optional - Default 1\n :type current: int\n :param size: required - Default 10, Max 100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transfer_status = client.query_universal_transfer_history(params)\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"total\":2,\n \"rows\":[\n {\n \"asset\":\"USDT\",\n \"amount\":\"1\",\n \"type\":\"MAIN_UMFUTURE\"\n \"status\": \"CONFIRMED\",\n \"tranId\": 11415955596,\n \"timestamp\":1544433328000\n },\n {\n \"asset\":\"USDT\",\n \"amount\":\"2\",\n \"type\":\"MAIN_UMFUTURE\",\n \"status\": \"CONFIRMED\",\n \"tranId\": 11366865406,\n \"timestamp\":1544433328000\n }\n ]\n }\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"asset/transfer\", signed=True, data=params\n )" + }, + "get_trade_fee": { + "name": "get_trade_fee", + "path": "binance.client.Client.get_trade_fee", + "signature": "(self, **params)", + "description": "Get trade fee.\n\nhttps://developers.binance.com/docs/wallet/asset/trade-fee\n\n:param symbol: optional\n:type symbol: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"symbol\": \"ADABNB\",\n \"makerCommission\": \"0.001\",\n \"takerCommission\": \"0.001\"\n },\n {\n \"symbol\": \"BNBBTC\",\n \"makerCommission\": \"0.001\",\n \"takerCommission\": \"0.001\"\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_trade_fee(self, **params):\n \"\"\"Get trade fee.\n\n https://developers.binance.com/docs/wallet/asset/trade-fee\n\n :param symbol: optional\n :type symbol: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"ADABNB\",\n \"makerCommission\": \"0.001\",\n \"takerCommission\": \"0.001\"\n },\n {\n \"symbol\": \"BNBBTC\",\n \"makerCommission\": \"0.001\",\n \"takerCommission\": \"0.001\"\n }\n ]\n\n \"\"\"\n if self.tld == \"us\":\n endpoint = \"asset/query/trading-fee\"\n else:\n endpoint = \"asset/tradeFee\"\n\n return self._request_margin_api(\"get\", endpoint, True, data=params)" + }, + "get_asset_details": { + "name": "get_asset_details", + "path": "binance.client.Client.get_asset_details", + "signature": "(self, **params)", + "description": "Fetch details on assets.\n\nhttps://developers.binance.com/docs/wallet/asset\n\n:param asset: optional\n:type asset: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"CTR\": {\n \"minWithdrawAmount\": \"70.00000000\", //min withdraw amount\n \"depositStatus\": false,//deposit status (false if ALL of networks' are false)\n \"withdrawFee\": 35, // withdraw fee\n \"withdrawStatus\": true, //withdraw status (false if ALL of networks' are false)\n \"depositTip\": \"Delisted, Deposit Suspended\" //reason\n },\n \"SKY\": {\n \"minWithdrawAmount\": \"0.02000000\",\n \"depositStatus\": true,\n \"withdrawFee\": 0.01,\n \"withdrawStatus\": true\n }\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_asset_details(self, **params):\n \"\"\"Fetch details on assets.\n\n https://developers.binance.com/docs/wallet/asset\n\n :param asset: optional\n :type asset: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"CTR\": {\n \"minWithdrawAmount\": \"70.00000000\", //min withdraw amount\n \"depositStatus\": false,//deposit status (false if ALL of networks' are false)\n \"withdrawFee\": 35, // withdraw fee\n \"withdrawStatus\": true, //withdraw status (false if ALL of networks' are false)\n \"depositTip\": \"Delisted, Deposit Suspended\" //reason\n },\n \"SKY\": {\n \"minWithdrawAmount\": \"0.02000000\",\n \"depositStatus\": true,\n \"withdrawFee\": 0.01,\n \"withdrawStatus\": true\n }\n }\n\n \"\"\"\n return self._request_margin_api(\"get\", \"asset/assetDetail\", True, data=params)" + }, + "get_spot_delist_schedule": { + "name": "get_spot_delist_schedule", + "path": "binance.client.Client.get_spot_delist_schedule", + "signature": "(self, **params)", + "description": "Get symbols delist schedule for spot\n\nhttps://developers.binance.com/docs/wallet/others/delist-schedule\n\n:param recvWindow: optional - the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n [\n {\n \"delistTime\": 1686161202000,\n \"symbols\": [\n \"ADAUSDT\",\n \"BNBUSDT\"\n ]\n },\n {\n \"delistTime\": 1686222232000,\n \"symbols\": [\n \"ETHUSDT\"\n ]\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_spot_delist_schedule(self, **params):\n \"\"\"Get symbols delist schedule for spot\n\n https://developers.binance.com/docs/wallet/others/delist-schedule\n\n :param recvWindow: optional - the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"delistTime\": 1686161202000,\n \"symbols\": [\n \"ADAUSDT\",\n \"BNBUSDT\"\n ]\n },\n {\n \"delistTime\": 1686222232000,\n \"symbols\": [\n \"ETHUSDT\"\n ]\n }\n ]\n \"\"\"\n return self._request_margin_api(\n \"get\", \"spot/delist-schedule\", True, data=params\n )" + }, + "withdraw": { + "name": "withdraw", + "path": "binance.client.Client.withdraw", + "signature": "(self, **params)", + "description": "Submit a withdraw request.\n\nhttps://developers.binance.com/docs/wallet/capital/withdraw\n\nAssumptions:\n\n- You must have Withdraw permissions enabled on your API key\n- You must have withdrawn to the address specified through the website and approved the transaction via email\n\n:param coin: required\n:type coin: str\n:param withdrawOrderId: optional - client id for withdraw\n:type withdrawOrderId: str\n:param network: optional\n:type network: str\n:param address: optional\n:type address: str\n:type addressTag: optional - Secondary address identifier for coins like XRP,XMR etc.\n:param amount: required\n:type amount: decimal\n:param transactionFeeFlag: required - When making internal transfer, true for returning the fee to the destination account; false for returning the fee back to the departure account. Default false.\n:type transactionFeeFlag: bool\n:param name: optional - Description of the address, default asset value passed will be used\n:type name: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"id\":\"7213fea8e94b4a5593d507237e5a555b\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def withdraw(self, **params):\n \"\"\"Submit a withdraw request.\n\n https://developers.binance.com/docs/wallet/capital/withdraw\n\n Assumptions:\n\n - You must have Withdraw permissions enabled on your API key\n - You must have withdrawn to the address specified through the website and approved the transaction via email\n\n :param coin: required\n :type coin: str\n :param withdrawOrderId: optional - client id for withdraw\n :type withdrawOrderId: str\n :param network: optional\n :type network: str\n :param address: optional\n :type address: str\n :type addressTag: optional - Secondary address identifier for coins like XRP,XMR etc.\n :param amount: required\n :type amount: decimal\n :param transactionFeeFlag: required - When making internal transfer, true for returning the fee to the destination account; false for returning the fee back to the departure account. Default false.\n :type transactionFeeFlag: bool\n :param name: optional - Description of the address, default asset value passed will be used\n :type name: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"id\":\"7213fea8e94b4a5593d507237e5a555b\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"capital/withdraw/apply\", True, data=params\n )" + }, + "get_deposit_history": { + "name": "get_deposit_history", + "path": "binance.client.Client.get_deposit_history", + "signature": "(self, **params)", + "description": "Fetch deposit history.\n\nhttps://developers.binance.com/docs/wallet/capital/deposite-history\n\n:param coin: optional\n:type coin: str\n:type status: optional - 0(0:pending,1:success) optional\n:type status: int\n:param startTime: optional\n:type startTime: long\n:param endTime: optional\n:type endTime: long\n:param offset: optional - default:0\n:type offset: long\n:param limit: optional\n:type limit: long\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"amount\":\"0.00999800\",\n \"coin\":\"PAXG\",\n \"network\":\"ETH\",\n \"status\":1,\n \"address\":\"0x788cabe9236ce061e5a892e1a59395a81fc8d62c\",\n \"addressTag\":\"\",\n \"txId\":\"0xaad4654a3234aa6118af9b4b335f5ae81c360b2394721c019b5d1e75328b09f3\",\n \"insertTime\":1599621997000,\n \"transferType\":0,\n \"confirmTimes\":\"12/12\"\n },\n {\n \"amount\":\"0.50000000\",\n \"coin\":\"IOTA\",\n \"network\":\"IOTA\",\n \"status\":1,\n \"address\":\"SIZ9VLMHWATXKV99LH99CIGFJFUMLEHGWVZVNNZXRJJVWBPHYWPPBOSDORZ9EQSHCZAMPVAPGFYQAUUV9DROOXJLNW\",\n \"addressTag\":\"\",\n \"txId\":\"ESBFVQUTPIWQNJSPXFNHNYHSQNTGKRVKPRABQWTAXCDWOAKDKYWPTVG9BGXNVNKTLEJGESAVXIKIZ9999\",\n \"insertTime\":1599620082000,\n \"transferType\":0,\n \"confirmTimes\":\"1/1\"\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_deposit_history(self, **params):\n \"\"\"Fetch deposit history.\n\n https://developers.binance.com/docs/wallet/capital/deposite-history\n\n :param coin: optional\n :type coin: str\n :type status: optional - 0(0:pending,1:success) optional\n :type status: int\n :param startTime: optional\n :type startTime: long\n :param endTime: optional\n :type endTime: long\n :param offset: optional - default:0\n :type offset: long\n :param limit: optional\n :type limit: long\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"amount\":\"0.00999800\",\n \"coin\":\"PAXG\",\n \"network\":\"ETH\",\n \"status\":1,\n \"address\":\"0x788cabe9236ce061e5a892e1a59395a81fc8d62c\",\n \"addressTag\":\"\",\n \"txId\":\"0xaad4654a3234aa6118af9b4b335f5ae81c360b2394721c019b5d1e75328b09f3\",\n \"insertTime\":1599621997000,\n \"transferType\":0,\n \"confirmTimes\":\"12/12\"\n },\n {\n \"amount\":\"0.50000000\",\n \"coin\":\"IOTA\",\n \"network\":\"IOTA\",\n \"status\":1,\n \"address\":\"SIZ9VLMHWATXKV99LH99CIGFJFUMLEHGWVZVNNZXRJJVWBPHYWPPBOSDORZ9EQSHCZAMPVAPGFYQAUUV9DROOXJLNW\",\n \"addressTag\":\"\",\n \"txId\":\"ESBFVQUTPIWQNJSPXFNHNYHSQNTGKRVKPRABQWTAXCDWOAKDKYWPTVG9BGXNVNKTLEJGESAVXIKIZ9999\",\n \"insertTime\":1599620082000,\n \"transferType\":0,\n \"confirmTimes\":\"1/1\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"capital/deposit/hisrec\", True, data=params\n )" + }, + "get_withdraw_history": { + "name": "get_withdraw_history", + "path": "binance.client.Client.get_withdraw_history", + "signature": "(self, **params)", + "description": "Fetch withdraw history.\n\nhttps://developers.binance.com/docs/wallet/capital/withdraw-history\n\n:param coin: optional\n:type coin: str\n:type status: 0(0:Email Sent,1:Cancelled 2:Awaiting Approval 3:Rejected 4:Processing 5:Failure 6Completed) optional\n:type status: int\n:param offset: optional - default:0\n:type offset: int\n:param limit: optional\n:type limit: int\n:param startTime: optional - Default: 90 days from current timestamp\n:type startTime: int\n:param endTime: optional - Default: present timestamp\n:type endTime: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"address\": \"0x94df8b352de7f46f64b01d3666bf6e936e44ce60\",\n \"amount\": \"8.91000000\",\n \"applyTime\": \"2019-10-12 11:12:02\",\n \"coin\": \"USDT\",\n \"id\": \"b6ae22b3aa844210a7041aee7589627c\",\n \"withdrawOrderId\": \"WITHDRAWtest123\", // will not be returned if there's no withdrawOrderId for this withdraw.\n \"network\": \"ETH\",\n \"transferType\": 0, // 1 for internal transfer, 0 for external transfer\n \"status\": 6,\n \"txId\": \"0xb5ef8c13b968a406cc62a93a8bd80f9e9a906ef1b3fcf20a2e48573c17659268\"\n },\n {\n \"address\": \"1FZdVHtiBqMrWdjPyRPULCUceZPJ2WLCsB\",\n \"amount\": \"0.00150000\",\n \"applyTime\": \"2019-09-24 12:43:45\",\n \"coin\": \"BTC\",\n \"id\": \"156ec387f49b41df8724fa744fa82719\",\n \"network\": \"BTC\",\n \"status\": 6,\n \"txId\": \"60fd9007ebfddc753455f95fafa808c4302c836e4d1eebc5a132c36c1d8ac354\"\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_withdraw_history(self, **params):\n \"\"\"Fetch withdraw history.\n\n https://developers.binance.com/docs/wallet/capital/withdraw-history\n\n :param coin: optional\n :type coin: str\n :type status: 0(0:Email Sent,1:Cancelled 2:Awaiting Approval 3:Rejected 4:Processing 5:Failure 6Completed) optional\n :type status: int\n :param offset: optional - default:0\n :type offset: int\n :param limit: optional\n :type limit: int\n :param startTime: optional - Default: 90 days from current timestamp\n :type startTime: int\n :param endTime: optional - Default: present timestamp\n :type endTime: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"address\": \"0x94df8b352de7f46f64b01d3666bf6e936e44ce60\",\n \"amount\": \"8.91000000\",\n \"applyTime\": \"2019-10-12 11:12:02\",\n \"coin\": \"USDT\",\n \"id\": \"b6ae22b3aa844210a7041aee7589627c\",\n \"withdrawOrderId\": \"WITHDRAWtest123\", // will not be returned if there's no withdrawOrderId for this withdraw.\n \"network\": \"ETH\",\n \"transferType\": 0, // 1 for internal transfer, 0 for external transfer\n \"status\": 6,\n \"txId\": \"0xb5ef8c13b968a406cc62a93a8bd80f9e9a906ef1b3fcf20a2e48573c17659268\"\n },\n {\n \"address\": \"1FZdVHtiBqMrWdjPyRPULCUceZPJ2WLCsB\",\n \"amount\": \"0.00150000\",\n \"applyTime\": \"2019-09-24 12:43:45\",\n \"coin\": \"BTC\",\n \"id\": \"156ec387f49b41df8724fa744fa82719\",\n \"network\": \"BTC\",\n \"status\": 6,\n \"txId\": \"60fd9007ebfddc753455f95fafa808c4302c836e4d1eebc5a132c36c1d8ac354\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"capital/withdraw/history\", True, data=params\n )" + }, + "get_withdraw_history_id": { + "name": "get_withdraw_history_id", + "path": "binance.client.Client.get_withdraw_history_id", + "signature": "(self, withdraw_id, **params)", + "description": "Fetch withdraw history.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#withdraw-history-supporting-network-user_data\n\n:param withdraw_id: required\n:type withdraw_id: str\n:param asset: optional\n:type asset: str\n:type status: 0(0:Email Sent,1:Cancelled 2:Awaiting Approval 3:Rejected 4:Processing 5:Failure 6Completed) optional\n:type status: int\n:param startTime: optional\n:type startTime: long\n:param endTime: optional\n:type endTime: long\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"id\":\"7213fea8e94b4a5593d507237e5a555b\",\n \"withdrawOrderId\": None,\n \"amount\": 0.99,\n \"transactionFee\": 0.01,\n \"address\": \"0x6915f16f8791d0a1cc2bf47c13a6b2a92000504b\",\n \"asset\": \"ETH\",\n \"txId\": \"0xdf33b22bdb2b28b1f75ccd201a4a4m6e7g83jy5fc5d5a9d1340961598cfcb0a1\",\n \"applyTime\": 1508198532000,\n \"status\": 4\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "withdraw_id", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_withdraw_history_id(self, withdraw_id, **params):\n \"\"\"Fetch withdraw history.\n\n https://binance-docs.github.io/apidocs/spot/en/#withdraw-history-supporting-network-user_data\n\n :param withdraw_id: required\n :type withdraw_id: str\n :param asset: optional\n :type asset: str\n :type status: 0(0:Email Sent,1:Cancelled 2:Awaiting Approval 3:Rejected 4:Processing 5:Failure 6Completed) optional\n :type status: int\n :param startTime: optional\n :type startTime: long\n :param endTime: optional\n :type endTime: long\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"id\":\"7213fea8e94b4a5593d507237e5a555b\",\n \"withdrawOrderId\": None,\n \"amount\": 0.99,\n \"transactionFee\": 0.01,\n \"address\": \"0x6915f16f8791d0a1cc2bf47c13a6b2a92000504b\",\n \"asset\": \"ETH\",\n \"txId\": \"0xdf33b22bdb2b28b1f75ccd201a4a4m6e7g83jy5fc5d5a9d1340961598cfcb0a1\",\n \"applyTime\": 1508198532000,\n \"status\": 4\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n result = self.get_withdraw_history(**params)\n\n for entry in result:\n if \"id\" in entry and entry[\"id\"] == withdraw_id:\n return entry\n\n raise Exception(\"There is no entry with withdraw id\", result)" + }, + "get_deposit_address": { + "name": "get_deposit_address", + "path": "binance.client.Client.get_deposit_address", + "signature": "(self, coin, network=None, **params)", + "description": "Fetch a deposit address for a symbol\n\nhttps://developers.binance.com/docs/wallet/capital/deposite-address\n\n:param coin: required\n:type coin: str\n:param network: optional\n:type network: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"address\": \"1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv\",\n \"coin\": \"BTC\",\n \"tag\": \"\",\n \"url\": \"https://btc.com/1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "coin", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "network", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_deposit_address(self, coin: str, network: Optional[str] = None, **params):\n \"\"\"Fetch a deposit address for a symbol\n\n https://developers.binance.com/docs/wallet/capital/deposite-address\n\n :param coin: required\n :type coin: str\n :param network: optional\n :type network: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"address\": \"1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv\",\n \"coin\": \"BTC\",\n \"tag\": \"\",\n \"url\": \"https://btc.com/1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params[\"coin\"] = coin\n if network:\n params[\"network\"] = network\n return self._request_margin_api(\n \"get\", \"capital/deposit/address\", True, data=params\n )" + }, + "stream_get_listen_key": { + "name": "stream_get_listen_key", + "path": "binance.client.Client.stream_get_listen_key", + "signature": "(self)", + "description": "Start a new user data stream and return the listen key\nIf a stream already exists it should return the same key.\nIf the stream becomes invalid a new key is returned.\n\nCan be used to keep the user stream alive.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#listen-key-spot\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"listenKey\": \"pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def stream_get_listen_key(self):\n \"\"\"Start a new user data stream and return the listen key\n If a stream already exists it should return the same key.\n If the stream becomes invalid a new key is returned.\n\n Can be used to keep the user stream alive.\n\n https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"listenKey\": \"pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n res = self._post(\n \"userDataStream\", False, data={}\n )\n return res[\"listenKey\"]" + }, + "stream_keepalive": { + "name": "stream_keepalive", + "path": "binance.client.Client.stream_keepalive", + "signature": "(self, listenKey)", + "description": "PING a user data stream to prevent a time out.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#listen-key-spot\n\n:param listenKey: required\n:type listenKey: str\n\n:returns: API response\n\n.. code-block:: python\n\n {}\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def stream_keepalive(self, listenKey):\n \"\"\"PING a user data stream to prevent a time out.\n\n https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot\n\n :param listenKey: required\n :type listenKey: str\n\n :returns: API response\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params = {\"listenKey\": listenKey}\n return self._put(\n \"userDataStream\", False, data=params\n )" + }, + "stream_close": { + "name": "stream_close", + "path": "binance.client.Client.stream_close", + "signature": "(self, listenKey)", + "description": "Close out a user data stream.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#listen-key-spot\n\n:param listenKey: required\n:type listenKey: str\n\n:returns: API response\n\n.. code-block:: python\n\n {}\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def stream_close(self, listenKey):\n \"\"\"Close out a user data stream.\n\n https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot\n\n :param listenKey: required\n :type listenKey: str\n\n :returns: API response\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params = {\"listenKey\": listenKey}\n return self._delete(\n \"userDataStream\", False, data=params, version=self.PRIVATE_API_VERSION\n )" + }, + "get_margin_account": { + "name": "get_margin_account", + "path": "binance.client.Client.get_margin_account", + "signature": "(self, **params)", + "description": "Query cross-margin account details\n\nhttps://developers.binance.com/docs/margin_trading/account/Query-Cross-Margin-Account-Details\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"borrowEnabled\": true,\n \"marginLevel\": \"11.64405625\",\n \"totalAssetOfBtc\": \"6.82728457\",\n \"totalLiabilityOfBtc\": \"0.58633215\",\n \"totalNetAssetOfBtc\": \"6.24095242\",\n \"tradeEnabled\": true,\n \"transferEnabled\": true,\n \"userAssets\": [\n {\n \"asset\": \"BTC\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00499500\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00499500\"\n },\n {\n \"asset\": \"BNB\",\n \"borrowed\": \"201.66666672\",\n \"free\": \"2346.50000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"2144.83333328\"\n },\n {\n \"asset\": \"ETH\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\"\n },\n {\n \"asset\": \"USDT\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_account(self, **params):\n \"\"\"Query cross-margin account details\n\n https://developers.binance.com/docs/margin_trading/account/Query-Cross-Margin-Account-Details\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"borrowEnabled\": true,\n \"marginLevel\": \"11.64405625\",\n \"totalAssetOfBtc\": \"6.82728457\",\n \"totalLiabilityOfBtc\": \"0.58633215\",\n \"totalNetAssetOfBtc\": \"6.24095242\",\n \"tradeEnabled\": true,\n \"transferEnabled\": true,\n \"userAssets\": [\n {\n \"asset\": \"BTC\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00499500\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00499500\"\n },\n {\n \"asset\": \"BNB\",\n \"borrowed\": \"201.66666672\",\n \"free\": \"2346.50000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"2144.83333328\"\n },\n {\n \"asset\": \"ETH\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\"\n },\n {\n \"asset\": \"USDT\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/account\", True, data=params)" + }, + "get_isolated_margin_account": { + "name": "get_isolated_margin_account", + "path": "binance.client.Client.get_isolated_margin_account", + "signature": "(self, **params)", + "description": "Query isolated margin account details\n\nhttps://developers.binance.com/docs/margin_trading/account/Query-Isolated-Margin-Account-Info\n\n:param symbols: optional up to 5 margin pairs as a comma separated string\n:type asset: str\n\n.. code:: python\n\n account_info = client.get_isolated_margin_account()\n account_info = client.get_isolated_margin_account(symbols=\"BTCUSDT,ETHUSDT\")\n\n:returns: API response\n\n.. code-block:: python\n\n If \"symbols\" is not sent:\n\n {\n \"assets\":[\n {\n \"baseAsset\":\n {\n \"asset\": \"BTC\",\n \"borrowEnabled\": true,\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\",\n \"netAssetOfBtc\": \"0.00000000\",\n \"repayEnabled\": true,\n \"totalAsset\": \"0.00000000\"\n },\n \"quoteAsset\":\n {\n \"asset\": \"USDT\",\n \"borrowEnabled\": true,\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\",\n \"netAssetOfBtc\": \"0.00000000\",\n \"repayEnabled\": true,\n \"totalAsset\": \"0.00000000\"\n },\n \"symbol\": \"BTCUSDT\"\n \"isolatedCreated\": true,\n \"marginLevel\": \"0.00000000\",\n \"marginLevelStatus\": \"EXCESSIVE\", // \"EXCESSIVE\", \"NORMAL\", \"MARGIN_CALL\", \"PRE_LIQUIDATION\", \"FORCE_LIQUIDATION\"\n \"marginRatio\": \"0.00000000\",\n \"indexPrice\": \"10000.00000000\"\n \"liquidatePrice\": \"1000.00000000\",\n \"liquidateRate\": \"1.00000000\"\n \"tradeEnabled\": true\n }\n ],\n \"totalAssetOfBtc\": \"0.00000000\",\n \"totalLiabilityOfBtc\": \"0.00000000\",\n \"totalNetAssetOfBtc\": \"0.00000000\"\n }\n\n If \"symbols\" is sent:\n\n {\n \"assets\":[\n {\n \"baseAsset\":\n {\n \"asset\": \"BTC\",\n \"borrowEnabled\": true,\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\",\n \"netAssetOfBtc\": \"0.00000000\",\n \"repayEnabled\": true,\n \"totalAsset\": \"0.00000000\"\n },\n \"quoteAsset\":\n {\n \"asset\": \"USDT\",\n \"borrowEnabled\": true,\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\",\n \"netAssetOfBtc\": \"0.00000000\",\n \"repayEnabled\": true,\n \"totalAsset\": \"0.00000000\"\n },\n \"symbol\": \"BTCUSDT\"\n \"isolatedCreated\": true,\n \"marginLevel\": \"0.00000000\",\n \"marginLevelStatus\": \"EXCESSIVE\", // \"EXCESSIVE\", \"NORMAL\", \"MARGIN_CALL\", \"PRE_LIQUIDATION\", \"FORCE_LIQUIDATION\"\n \"marginRatio\": \"0.00000000\",\n \"indexPrice\": \"10000.00000000\"\n \"liquidatePrice\": \"1000.00000000\",\n \"liquidateRate\": \"1.00000000\"\n \"tradeEnabled\": true\n }\n ]\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_isolated_margin_account(self, **params):\n \"\"\"Query isolated margin account details\n\n https://developers.binance.com/docs/margin_trading/account/Query-Isolated-Margin-Account-Info\n\n :param symbols: optional up to 5 margin pairs as a comma separated string\n :type asset: str\n\n .. code:: python\n\n account_info = client.get_isolated_margin_account()\n account_info = client.get_isolated_margin_account(symbols=\"BTCUSDT,ETHUSDT\")\n\n :returns: API response\n\n .. code-block:: python\n\n If \"symbols\" is not sent:\n\n {\n \"assets\":[\n {\n \"baseAsset\":\n {\n \"asset\": \"BTC\",\n \"borrowEnabled\": true,\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\",\n \"netAssetOfBtc\": \"0.00000000\",\n \"repayEnabled\": true,\n \"totalAsset\": \"0.00000000\"\n },\n \"quoteAsset\":\n {\n \"asset\": \"USDT\",\n \"borrowEnabled\": true,\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\",\n \"netAssetOfBtc\": \"0.00000000\",\n \"repayEnabled\": true,\n \"totalAsset\": \"0.00000000\"\n },\n \"symbol\": \"BTCUSDT\"\n \"isolatedCreated\": true,\n \"marginLevel\": \"0.00000000\",\n \"marginLevelStatus\": \"EXCESSIVE\", // \"EXCESSIVE\", \"NORMAL\", \"MARGIN_CALL\", \"PRE_LIQUIDATION\", \"FORCE_LIQUIDATION\"\n \"marginRatio\": \"0.00000000\",\n \"indexPrice\": \"10000.00000000\"\n \"liquidatePrice\": \"1000.00000000\",\n \"liquidateRate\": \"1.00000000\"\n \"tradeEnabled\": true\n }\n ],\n \"totalAssetOfBtc\": \"0.00000000\",\n \"totalLiabilityOfBtc\": \"0.00000000\",\n \"totalNetAssetOfBtc\": \"0.00000000\"\n }\n\n If \"symbols\" is sent:\n\n {\n \"assets\":[\n {\n \"baseAsset\":\n {\n \"asset\": \"BTC\",\n \"borrowEnabled\": true,\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\",\n \"netAssetOfBtc\": \"0.00000000\",\n \"repayEnabled\": true,\n \"totalAsset\": \"0.00000000\"\n },\n \"quoteAsset\":\n {\n \"asset\": \"USDT\",\n \"borrowEnabled\": true,\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\",\n \"netAssetOfBtc\": \"0.00000000\",\n \"repayEnabled\": true,\n \"totalAsset\": \"0.00000000\"\n },\n \"symbol\": \"BTCUSDT\"\n \"isolatedCreated\": true,\n \"marginLevel\": \"0.00000000\",\n \"marginLevelStatus\": \"EXCESSIVE\", // \"EXCESSIVE\", \"NORMAL\", \"MARGIN_CALL\", \"PRE_LIQUIDATION\", \"FORCE_LIQUIDATION\"\n \"marginRatio\": \"0.00000000\",\n \"indexPrice\": \"10000.00000000\"\n \"liquidatePrice\": \"1000.00000000\",\n \"liquidateRate\": \"1.00000000\"\n \"tradeEnabled\": true\n }\n ]\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/isolated/account\", True, data=params\n )" + }, + "enable_isolated_margin_account": { + "name": "enable_isolated_margin_account", + "path": "binance.client.Client.enable_isolated_margin_account", + "signature": "(self, **params)", + "description": "Enable isolated margin account for a specific symbol.\n\nhttps://developers.binance.com/docs/margin_trading/account/Enable-Isolated-Margin-Account\n\n:param symbol:\n:type asset: str\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"success\": true,\n \"symbol\": \"BTCUSDT\"\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def enable_isolated_margin_account(self, **params):\n \"\"\"Enable isolated margin account for a specific symbol.\n\n https://developers.binance.com/docs/margin_trading/account/Enable-Isolated-Margin-Account\n\n :param symbol:\n :type asset: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"success\": true,\n \"symbol\": \"BTCUSDT\"\n }\n\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/isolated/account\", True, data=params\n )" + }, + "disable_isolated_margin_account": { + "name": "disable_isolated_margin_account", + "path": "binance.client.Client.disable_isolated_margin_account", + "signature": "(self, **params)", + "description": "Disable isolated margin account for a specific symbol. Each trading pair can only\nbe deactivated once every 24 hours.\n\nhttps://developers.binance.com/docs/margin_trading/account/Disable-Isolated-Margin-Account\n\n:param symbol:\n:type asset: str\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"success\": true,\n \"symbol\": \"BTCUSDT\"\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def disable_isolated_margin_account(self, **params):\n \"\"\"Disable isolated margin account for a specific symbol. Each trading pair can only\n be deactivated once every 24 hours.\n\n https://developers.binance.com/docs/margin_trading/account/Disable-Isolated-Margin-Account\n\n :param symbol:\n :type asset: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"success\": true,\n \"symbol\": \"BTCUSDT\"\n }\n\n \"\"\"\n return self._request_margin_api(\n \"delete\", \"margin/isolated/account\", True, data=params\n )" + }, + "get_enabled_isolated_margin_account_limit": { + "name": "get_enabled_isolated_margin_account_limit", + "path": "binance.client.Client.get_enabled_isolated_margin_account_limit", + "signature": "(self, **params)", + "description": "Query enabled isolated margin account limit.\n\nhttps://developers.binance.com/docs/margin_trading/account/Query-Enabled-Isolated-Margin-Account-Limit\n\n:returns: API response\n\n.. code-block:: python\n {\n \"enabledAccount\": 5,\n \"maxAccount\": 20\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_enabled_isolated_margin_account_limit(self, **params):\n \"\"\"Query enabled isolated margin account limit.\n\n https://developers.binance.com/docs/margin_trading/account/Query-Enabled-Isolated-Margin-Account-Limit\n\n :returns: API response\n\n .. code-block:: python\n {\n \"enabledAccount\": 5,\n \"maxAccount\": 20\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/isolated/accountLimit\", True, data=params\n )" + }, + "get_margin_dustlog": { + "name": "get_margin_dustlog", + "path": "binance.client.Client.get_margin_dustlog", + "signature": "(self, **params)", + "description": "Query the historical information of user's margin account small-value asset conversion BNB.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#margin-dustlog-user_data\n\n:param startTime: optional\n:type startTime: long\n:param endTime: optional\n:type endTime: long\n\n:returns: API response\n\n.. code-block:: python\n {\n \"total\": 8, //Total counts of exchange\n \"userAssetDribblets\": [\n {\n \"operateTime\": 1615985535000,\n \"totalTransferedAmount\": \"0.00132256\", // Total transfered BNB amount for this exchange.\n \"totalServiceChargeAmount\": \"0.00002699\", //Total service charge amount for this exchange.\n \"transId\": 45178372831,\n \"userAssetDribbletDetails\": [ //Details of this exchange.\n {\n \"transId\": 4359321,\n \"serviceChargeAmount\": \"0.000009\",\n \"amount\": \"0.0009\",\n \"operateTime\": 1615985535000,\n \"transferedAmount\": \"0.000441\",\n \"fromAsset\": \"USDT\"\n },\n {\n \"transId\": 4359321,\n \"serviceChargeAmount\": \"0.00001799\",\n \"amount\": \"0.0009\",\n \"operateTime\": 1615985535000,\n \"transferedAmount\": \"0.00088156\",\n \"fromAsset\": \"ETH\"\n }\n ]\n },\n {\n \"operateTime\":1616203180000,\n \"totalTransferedAmount\": \"0.00058795\",\n \"totalServiceChargeAmount\": \"0.000012\",\n \"transId\": 4357015,\n \"userAssetDribbletDetails\": [\n {\n \"transId\": 4357015,\n \"serviceChargeAmount\": \"0.00001\",\n \"amount\": \"0.001\",\n \"operateTime\": 1616203180000,\n \"transferedAmount\": \"0.00049\",\n \"fromAsset\": \"USDT\"\n },\n {\n \"transId\": 4357015,\n \"serviceChargeAmount\": \"0.000002\",\n \"amount\": \"0.0001\",\n \"operateTime\": 1616203180000,\n \"transferedAmount\": \"0.00009795\",\n \"fromAsset\": \"ETH\"\n }\n ]\n }\n ]\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_dustlog(self, **params):\n \"\"\"\n Query the historical information of user's margin account small-value asset conversion BNB.\n\n https://binance-docs.github.io/apidocs/spot/en/#margin-dustlog-user_data\n\n :param startTime: optional\n :type startTime: long\n :param endTime: optional\n :type endTime: long\n\n :returns: API response\n\n .. code-block:: python\n {\n \"total\": 8, //Total counts of exchange\n \"userAssetDribblets\": [\n {\n \"operateTime\": 1615985535000,\n \"totalTransferedAmount\": \"0.00132256\", // Total transfered BNB amount for this exchange.\n \"totalServiceChargeAmount\": \"0.00002699\", //Total service charge amount for this exchange.\n \"transId\": 45178372831,\n \"userAssetDribbletDetails\": [ //Details of this exchange.\n {\n \"transId\": 4359321,\n \"serviceChargeAmount\": \"0.000009\",\n \"amount\": \"0.0009\",\n \"operateTime\": 1615985535000,\n \"transferedAmount\": \"0.000441\",\n \"fromAsset\": \"USDT\"\n },\n {\n \"transId\": 4359321,\n \"serviceChargeAmount\": \"0.00001799\",\n \"amount\": \"0.0009\",\n \"operateTime\": 1615985535000,\n \"transferedAmount\": \"0.00088156\",\n \"fromAsset\": \"ETH\"\n }\n ]\n },\n {\n \"operateTime\":1616203180000,\n \"totalTransferedAmount\": \"0.00058795\",\n \"totalServiceChargeAmount\": \"0.000012\",\n \"transId\": 4357015,\n \"userAssetDribbletDetails\": [\n {\n \"transId\": 4357015,\n \"serviceChargeAmount\": \"0.00001\",\n \"amount\": \"0.001\",\n \"operateTime\": 1616203180000,\n \"transferedAmount\": \"0.00049\",\n \"fromAsset\": \"USDT\"\n },\n {\n \"transId\": 4357015,\n \"serviceChargeAmount\": \"0.000002\",\n \"amount\": \"0.0001\",\n \"operateTime\": 1616203180000,\n \"transferedAmount\": \"0.00009795\",\n \"fromAsset\": \"ETH\"\n }\n ]\n }\n ]\n }\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/dribblet\", True, data=params)" + }, + "get_margin_dust_assets": { + "name": "get_margin_dust_assets", + "path": "binance.client.Client.get_margin_dust_assets", + "signature": "(self, **params)", + "description": "Get margin assets that can be converted into BNB.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#margin-dustlog-user_data\n\n:returns: API response\n\n.. code-block:: python\n {\n \"details\": [\n {\n \"asset\": \"ADA\",\n \"assetFullName\": \"ADA\",\n \"amountFree\": \"6.21\",\n \"toBTC\": \"0.00016848\",\n \"toBNB\": \"0.01777302\",\n \"toBNBOffExchange\": \"0.01741756\",\n \"exchange\": \"0.00035546\"\n }\n ],\n \"totalTransferBtc\": \"0.00016848\",\n \"totalTransferBNB\": \"0.01777302\",\n \"dribbletPercentage\": \"0.02\"\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_dust_assets(self, **params):\n \"\"\"Get margin assets that can be converted into BNB.\n\n https://binance-docs.github.io/apidocs/spot/en/#margin-dustlog-user_data\n\n :returns: API response\n\n .. code-block:: python\n {\n \"details\": [\n {\n \"asset\": \"ADA\",\n \"assetFullName\": \"ADA\",\n \"amountFree\": \"6.21\",\n \"toBTC\": \"0.00016848\",\n \"toBNB\": \"0.01777302\",\n \"toBNBOffExchange\": \"0.01741756\",\n \"exchange\": \"0.00035546\"\n }\n ],\n \"totalTransferBtc\": \"0.00016848\",\n \"totalTransferBNB\": \"0.01777302\",\n \"dribbletPercentage\": \"0.02\"\n }\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/dust\", True, data=params)" + }, + "transfer_margin_dust": { + "name": "transfer_margin_dust", + "path": "binance.client.Client.transfer_margin_dust", + "signature": "(self, **params)", + "description": "Convert dust assets to BNB.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#dust-transfer-trade\n\n:returns: API response\n\n.. code-block:: python\n {\n \"totalServiceCharge\":\"0.02102542\",\n \"totalTransfered\":\"1.05127099\",\n \"transferResult\":[\n {\n \"amount\":\"0.03000000\",\n \"fromAsset\":\"ETH\",\n \"operateTime\":1563368549307,\n \"serviceChargeAmount\":\"0.00500000\",\n \"tranId\":2970932918,\n \"transferedAmount\":\"0.25000000\"\n },\n {\n \"amount\":\"0.09000000\",\n \"fromAsset\":\"LTC\",\n \"operateTime\":1563368549404,\n \"serviceChargeAmount\":\"0.01548000\",\n \"tranId\":2970932918,\n \"transferedAmount\":\"0.77400000\"\n }\n ]\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def transfer_margin_dust(self, **params):\n \"\"\"Convert dust assets to BNB.\n\n https://binance-docs.github.io/apidocs/spot/en/#dust-transfer-trade\n\n :returns: API response\n\n .. code-block:: python\n {\n \"totalServiceCharge\":\"0.02102542\",\n \"totalTransfered\":\"1.05127099\",\n \"transferResult\":[\n {\n \"amount\":\"0.03000000\",\n \"fromAsset\":\"ETH\",\n \"operateTime\":1563368549307,\n \"serviceChargeAmount\":\"0.00500000\",\n \"tranId\":2970932918,\n \"transferedAmount\":\"0.25000000\"\n },\n {\n \"amount\":\"0.09000000\",\n \"fromAsset\":\"LTC\",\n \"operateTime\":1563368549404,\n \"serviceChargeAmount\":\"0.01548000\",\n \"tranId\":2970932918,\n \"transferedAmount\":\"0.77400000\"\n }\n ]\n }\n\n \"\"\"\n return self._request_margin_api(\"post\", \"margin/dust\", True, data=params)" + }, + "get_cross_margin_collateral_ratio": { + "name": "get_cross_margin_collateral_ratio", + "path": "binance.client.Client.get_cross_margin_collateral_ratio", + "signature": "(self, **params)", + "description": "https://developers.binance.com/docs/margin_trading/market-data\n\n:param none\n\n:returns: API response\n\n.. code-block:: python\n [\n {\n \"collaterals\": [\n {\n \"minUsdValue\": \"0\",\n \"maxUsdValue\": \"13000000\",\n \"discountRate\": \"1\"\n },\n {\n \"minUsdValue\": \"13000000\",\n \"maxUsdValue\": \"20000000\",\n \"discountRate\": \"0.975\"\n },\n {\n \"minUsdValue\": \"20000000\",\n \"discountRate\": \"0\"\n }\n ],\n \"assetNames\": [\n \"BNX\"\n ]\n },\n {\n \"collaterals\": [\n {\n \"minUsdValue\": \"0\",\n \"discountRate\": \"1\"\n }\n ],\n \"assetNames\": [\n \"BTC\",\n \"BUSD\",\n \"ETH\",\n \"USDT\"\n ]\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_cross_margin_collateral_ratio(self, **params):\n \"\"\"\n https://developers.binance.com/docs/margin_trading/market-data\n\n :param none\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"collaterals\": [\n {\n \"minUsdValue\": \"0\",\n \"maxUsdValue\": \"13000000\",\n \"discountRate\": \"1\"\n },\n {\n \"minUsdValue\": \"13000000\",\n \"maxUsdValue\": \"20000000\",\n \"discountRate\": \"0.975\"\n },\n {\n \"minUsdValue\": \"20000000\",\n \"discountRate\": \"0\"\n }\n ],\n \"assetNames\": [\n \"BNX\"\n ]\n },\n {\n \"collaterals\": [\n {\n \"minUsdValue\": \"0\",\n \"discountRate\": \"1\"\n }\n ],\n \"assetNames\": [\n \"BTC\",\n \"BUSD\",\n \"ETH\",\n \"USDT\"\n ]\n }\n ]\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/crossMarginCollateralRatio\", True, data=params\n )" + }, + "get_small_liability_exchange_assets": { + "name": "get_small_liability_exchange_assets", + "path": "binance.client.Client.get_small_liability_exchange_assets", + "signature": "(self, **params)", + "description": "Query the coins which can be small liability exchange\n\nhttps://developers.binance.com/docs/margin_trading/trade/Get-Small-Liability-Exchange-Coin-List\n\n:returns: API response\n\n.. code-block:: python\n [\n {\n \"asset\": \"ETH\",\n \"interest\": \"0.00083334\",\n \"principal\": \"0.001\",\n \"liabilityAsset\": \"USDT\",\n \"liabilityQty\": 0.3552\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_small_liability_exchange_assets(self, **params):\n \"\"\"Query the coins which can be small liability exchange\n\n https://developers.binance.com/docs/margin_trading/trade/Get-Small-Liability-Exchange-Coin-List\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"asset\": \"ETH\",\n \"interest\": \"0.00083334\",\n \"principal\": \"0.001\",\n \"liabilityAsset\": \"USDT\",\n \"liabilityQty\": 0.3552\n }\n ]\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/exchange-small-liability\", True, data=params\n )" + }, + "exchange_small_liability_assets": { + "name": "exchange_small_liability_assets", + "path": "binance.client.Client.exchange_small_liability_assets", + "signature": "(self, **params)", + "description": "Cross Margin Small Liability Exchange\n\nhttps://developers.binance.com/docs/margin_trading/trade/Small-Liability-Exchange\n\n:param assetNames: The assets list of small liability exchange\n:type assetNames: array\n\n:returns: API response\n\n.. code-block:: python\nnone", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def exchange_small_liability_assets(self, **params):\n \"\"\"Cross Margin Small Liability Exchange\n\n https://developers.binance.com/docs/margin_trading/trade/Small-Liability-Exchange\n\n :param assetNames: The assets list of small liability exchange\n :type assetNames: array\n\n :returns: API response\n\n .. code-block:: python\n none\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/exchange-small-liability\", True, data=params\n )" + }, + "get_small_liability_exchange_history": { + "name": "get_small_liability_exchange_history", + "path": "binance.client.Client.get_small_liability_exchange_history", + "signature": "(self, **params)", + "description": "Get Small liability Exchange History\n\nhttps://developers.binance.com/docs/margin_trading/trade/Get-Small-Liability-Exchange-History\n\n:param current: Currently querying page. Start from 1. Default:1\n:type current: int\n:param size: Default:10, Max:100\n:type size: int\n:param startTime: Default: 30 days from current timestamp\n:type startTime: long\n:param endTime: Default: present timestamp\n:type endTIme: long\n\n:returns: API response\n\n.. code-block:: python\n {\n \"total\": 1,\n \"rows\": [\n {\n \"asset\": \"ETH\",\n \"amount\": \"0.00083434\",\n \"targetAsset\": \"BUSD\",\n \"targetAmount\": \"1.37576819\",\n \"bizType\": \"EXCHANGE_SMALL_LIABILITY\",\n \"timestamp\": 1672801339253\n }\n ]\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_small_liability_exchange_history(self, **params):\n \"\"\"Get Small liability Exchange History\n\n https://developers.binance.com/docs/margin_trading/trade/Get-Small-Liability-Exchange-History\n\n :param current: Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: Default:10, Max:100\n :type size: int\n :param startTime: Default: 30 days from current timestamp\n :type startTime: long\n :param endTime: Default: present timestamp\n :type endTIme: long\n\n :returns: API response\n\n .. code-block:: python\n {\n \"total\": 1,\n \"rows\": [\n {\n \"asset\": \"ETH\",\n \"amount\": \"0.00083434\",\n \"targetAsset\": \"BUSD\",\n \"targetAmount\": \"1.37576819\",\n \"bizType\": \"EXCHANGE_SMALL_LIABILITY\",\n \"timestamp\": 1672801339253\n }\n ]\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/exchange-small-liability-history\", True, data=params\n )" + }, + "get_future_hourly_interest_rate": { + "name": "get_future_hourly_interest_rate", + "path": "binance.client.Client.get_future_hourly_interest_rate", + "signature": "(self, **params)", + "description": "Get user the next hourly estimate interest\n\nhttps://developers.binance.com/docs/margin_trading/borrow-and-repay\n\n:param assets: List of assets, separated by commas, up to 20\n:type assets: str\n:param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\n:type isIsolated: bool\n\n:returns: API response\n\n.. code-block:: python\n [\n {\n \"asset\": \"BTC\",\n \"nextHourlyInterestRate\": \"0.00000571\"\n },\n {\n \"asset\": \"ETH\",\n \"nextHourlyInterestRate\": \"0.00000578\"\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_future_hourly_interest_rate(self, **params):\n \"\"\"Get user the next hourly estimate interest\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay\n\n :param assets: List of assets, separated by commas, up to 20\n :type assets: str\n :param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\n :type isIsolated: bool\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"asset\": \"BTC\",\n \"nextHourlyInterestRate\": \"0.00000571\"\n },\n {\n \"asset\": \"ETH\",\n \"nextHourlyInterestRate\": \"0.00000578\"\n }\n ]\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/next-hourly-interest-rate\", True, data=params\n )" + }, + "get_margin_capital_flow": { + "name": "get_margin_capital_flow", + "path": "binance.client.Client.get_margin_capital_flow", + "signature": "(self, **params)", + "description": "Get cross or isolated margin capital flow\n\nhttps://developers.binance.com/docs/margin_trading/account/Query-Cross-Isolated-Margin-Capital-Flow\n\n:param asset: optional\n:type asset: str\n:param symbol: Required when querying isolated data\n:type symbol: str\n:param type: optional\n:type type: string\n:param startTime: Only supports querying the data of the last 90 days\n:type startTime: long\n:param endTime: optional\n:type endTime: long\n:param formId: If fromId is set, the data with id > fromId will be returned. Otherwise the latest data will be returned\n:type formId: long\n:param limit: The number of data items returned each time is limited. Default 500; Max 1000.\n:type limit: long\n\n:returns: API response\n\n.. code-block:: python\n [\n {\n \"id\": 123456,\n \"tranId\": 123123,\n \"timestamp\": 1691116657000,\n \"asset\": \"USDT,\n \"symbol\": \"BTCUSDT\",\n \"type\": \"BORROW\",\n \"amount\": \"101\"\n },\n {\n \"id\": 123457,\n \"tranId\": 123124,\n \"timestamp\": 1691116658000,\n \"asset\": \"BTC\",\n \"symbol\": \"BTCUSDT\",\n \"type\": \"REPAY\",\n \"amount\": \"10\"\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_capital_flow(self, **params):\n \"\"\"Get cross or isolated margin capital flow\n\n https://developers.binance.com/docs/margin_trading/account/Query-Cross-Isolated-Margin-Capital-Flow\n\n :param asset: optional\n :type asset: str\n :param symbol: Required when querying isolated data\n :type symbol: str\n :param type: optional\n :type type: string\n :param startTime: Only supports querying the data of the last 90 days\n :type startTime: long\n :param endTime: optional\n :type endTime: long\n :param formId: If fromId is set, the data with id > fromId will be returned. Otherwise the latest data will be returned\n :type formId: long\n :param limit: The number of data items returned each time is limited. Default 500; Max 1000.\n :type limit: long\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"id\": 123456,\n \"tranId\": 123123,\n \"timestamp\": 1691116657000,\n \"asset\": \"USDT,\n \"symbol\": \"BTCUSDT\",\n \"type\": \"BORROW\",\n \"amount\": \"101\"\n },\n {\n \"id\": 123457,\n \"tranId\": 123124,\n \"timestamp\": 1691116658000,\n \"asset\": \"BTC\",\n \"symbol\": \"BTCUSDT\",\n \"type\": \"REPAY\",\n \"amount\": \"10\"\n }\n ]\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/capital-flow\", True, data=params)" + }, + "get_margin_asset": { + "name": "get_margin_asset", + "path": "binance.client.Client.get_margin_asset", + "signature": "(self, **params)", + "description": "Query cross-margin asset\n\nhttps://binance-docs.github.io/apidocs/spot/en/#query-margin-asset-market_data\n\n:param asset: name of the asset\n:type asset: str\n\n.. code-block:: python\n\n asset_details = client.get_margin_asset(asset='BNB')\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"assetFullName\": \"Binance Coin\",\n \"assetName\": \"BNB\",\n \"isBorrowable\": false,\n \"isMortgageable\": true,\n \"userMinBorrow\": \"0.00000000\",\n \"userMinRepay\": \"0.00000000\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_asset(self, **params):\n \"\"\"Query cross-margin asset\n\n https://binance-docs.github.io/apidocs/spot/en/#query-margin-asset-market_data\n\n :param asset: name of the asset\n :type asset: str\n\n .. code-block:: python\n\n asset_details = client.get_margin_asset(asset='BNB')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"assetFullName\": \"Binance Coin\",\n \"assetName\": \"BNB\",\n \"isBorrowable\": false,\n \"isMortgageable\": true,\n \"userMinBorrow\": \"0.00000000\",\n \"userMinRepay\": \"0.00000000\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/asset\", data=params)" + }, + "get_margin_symbol": { + "name": "get_margin_symbol", + "path": "binance.client.Client.get_margin_symbol", + "signature": "(self, **params)", + "description": "Query cross-margin symbol info\n\nhttps://binance-docs.github.io/apidocs/spot/en/#query-cross-margin-pair-market_data\n\n:param symbol: name of the symbol pair\n:type symbol: str\n\n.. code:: python\n\n pair_details = client.get_margin_symbol(symbol='BTCUSDT')\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"id\":323355778339572400,\n \"symbol\":\"BTCUSDT\",\n \"base\":\"BTC\",\n \"quote\":\"USDT\",\n \"isMarginTrade\":true,\n \"isBuyAllowed\":true,\n \"isSellAllowed\":true\n }\n\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_symbol(self, **params):\n \"\"\"Query cross-margin symbol info\n\n https://binance-docs.github.io/apidocs/spot/en/#query-cross-margin-pair-market_data\n\n :param symbol: name of the symbol pair\n :type symbol: str\n\n .. code:: python\n\n pair_details = client.get_margin_symbol(symbol='BTCUSDT')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"id\":323355778339572400,\n \"symbol\":\"BTCUSDT\",\n \"base\":\"BTC\",\n \"quote\":\"USDT\",\n \"isMarginTrade\":true,\n \"isBuyAllowed\":true,\n \"isSellAllowed\":true\n }\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/pair\", data=params)" + }, + "get_margin_all_assets": { + "name": "get_margin_all_assets", + "path": "binance.client.Client.get_margin_all_assets", + "signature": "(self, **params)", + "description": "Get All Margin Assets (MARKET_DATA)\n\nhttps://developers.binance.com/docs/margin_trading/market-data/Get-All-Margin-Assets\n\n.. code:: python\n\n margin_assets = client.get_margin_all_assets()\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"assetFullName\": \"USD coin\",\n \"assetName\": \"USDC\",\n \"isBorrowable\": true,\n \"isMortgageable\": true,\n \"userMinBorrow\": \"0.00000000\",\n \"userMinRepay\": \"0.00000000\"\n },\n {\n \"assetFullName\": \"BNB-coin\",\n \"assetName\": \"BNB\",\n \"isBorrowable\": true,\n \"isMortgageable\": true,\n \"userMinBorrow\": \"1.00000000\",\n \"userMinRepay\": \"0.00000000\"\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_all_assets(self, **params):\n \"\"\"Get All Margin Assets (MARKET_DATA)\n\n https://developers.binance.com/docs/margin_trading/market-data/Get-All-Margin-Assets\n\n .. code:: python\n\n margin_assets = client.get_margin_all_assets()\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"assetFullName\": \"USD coin\",\n \"assetName\": \"USDC\",\n \"isBorrowable\": true,\n \"isMortgageable\": true,\n \"userMinBorrow\": \"0.00000000\",\n \"userMinRepay\": \"0.00000000\"\n },\n {\n \"assetFullName\": \"BNB-coin\",\n \"assetName\": \"BNB\",\n \"isBorrowable\": true,\n \"isMortgageable\": true,\n \"userMinBorrow\": \"1.00000000\",\n \"userMinRepay\": \"0.00000000\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/allAssets\", data=params)" + }, + "get_margin_all_pairs": { + "name": "get_margin_all_pairs", + "path": "binance.client.Client.get_margin_all_pairs", + "signature": "(self, **params)", + "description": "Get All Cross Margin Pairs (MARKET_DATA)\n\nhttps://developers.binance.com/docs/margin_trading/market-data/Get-All-Cross-Margin-Pairs\n\n.. code:: python\n\n margin_pairs = client.get_margin_all_pairs()\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"base\": \"BNB\",\n \"id\": 351637150141315861,\n \"isBuyAllowed\": true,\n \"isMarginTrade\": true,\n \"isSellAllowed\": true,\n \"quote\": \"BTC\",\n \"symbol\": \"BNBBTC\"\n },\n {\n \"base\": \"TRX\",\n \"id\": 351637923235429141,\n \"isBuyAllowed\": true,\n \"isMarginTrade\": true,\n \"isSellAllowed\": true,\n \"quote\": \"BTC\",\n \"symbol\": \"TRXBTC\"\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_all_pairs(self, **params):\n \"\"\"Get All Cross Margin Pairs (MARKET_DATA)\n\n https://developers.binance.com/docs/margin_trading/market-data/Get-All-Cross-Margin-Pairs\n\n .. code:: python\n\n margin_pairs = client.get_margin_all_pairs()\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"base\": \"BNB\",\n \"id\": 351637150141315861,\n \"isBuyAllowed\": true,\n \"isMarginTrade\": true,\n \"isSellAllowed\": true,\n \"quote\": \"BTC\",\n \"symbol\": \"BNBBTC\"\n },\n {\n \"base\": \"TRX\",\n \"id\": 351637923235429141,\n \"isBuyAllowed\": true,\n \"isMarginTrade\": true,\n \"isSellAllowed\": true,\n \"quote\": \"BTC\",\n \"symbol\": \"TRXBTC\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/allPairs\", data=params)" + }, + "create_isolated_margin_account": { + "name": "create_isolated_margin_account", + "path": "binance.client.Client.create_isolated_margin_account", + "signature": "(self, **params)", + "description": "Create isolated margin account for symbol\n\nhttps://binance-docs.github.io/apidocs/spot/en/#create-isolated-margin-account-margin\n\n:param base: Base asset of symbol\n:type base: str\n:param quote: Quote asset of symbol\n:type quote: str\n\n.. code:: python\n\n pair_details = client.create_isolated_margin_account(base='USDT', quote='BTC')\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"success\": true,\n \"symbol\": \"BTCUSDT\"\n }\n\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def create_isolated_margin_account(self, **params):\n \"\"\"Create isolated margin account for symbol\n\n https://binance-docs.github.io/apidocs/spot/en/#create-isolated-margin-account-margin\n\n :param base: Base asset of symbol\n :type base: str\n :param quote: Quote asset of symbol\n :type quote: str\n\n .. code:: python\n\n pair_details = client.create_isolated_margin_account(base='USDT', quote='BTC')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"success\": true,\n \"symbol\": \"BTCUSDT\"\n }\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/isolated/create\", signed=True, data=params\n )" + }, + "get_isolated_margin_symbol": { + "name": "get_isolated_margin_symbol", + "path": "binance.client.Client.get_isolated_margin_symbol", + "signature": "(self, **params)", + "description": "Query isolated margin symbol info\n\nhttps://binance-docs.github.io/apidocs/spot/en/#query-isolated-margin-symbol-user_data\n\n:param symbol: name of the symbol pair\n:type symbol: str\n\n.. code:: python\n\n pair_details = client.get_isolated_margin_symbol(symbol='BTCUSDT')\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"symbol\":\"BTCUSDT\",\n \"base\":\"BTC\",\n \"quote\":\"USDT\",\n \"isMarginTrade\":true,\n \"isBuyAllowed\":true,\n \"isSellAllowed\":true\n }\n\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_isolated_margin_symbol(self, **params):\n \"\"\"Query isolated margin symbol info\n\n https://binance-docs.github.io/apidocs/spot/en/#query-isolated-margin-symbol-user_data\n\n :param symbol: name of the symbol pair\n :type symbol: str\n\n .. code:: python\n\n pair_details = client.get_isolated_margin_symbol(symbol='BTCUSDT')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"symbol\":\"BTCUSDT\",\n \"base\":\"BTC\",\n \"quote\":\"USDT\",\n \"isMarginTrade\":true,\n \"isBuyAllowed\":true,\n \"isSellAllowed\":true\n }\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/isolated/pair\", signed=True, data=params\n )" + }, + "get_all_isolated_margin_symbols": { + "name": "get_all_isolated_margin_symbols", + "path": "binance.client.Client.get_all_isolated_margin_symbols", + "signature": "(self, **params)", + "description": "Query isolated margin symbol info for all pairs\n\nhttps://developers.binance.com/docs/margin_trading/market-data/Get-All-Isolated-Margin-Symbol\n\n.. code:: python\n\n pair_details = client.get_all_isolated_margin_symbols()\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"base\": \"BNB\",\n \"isBuyAllowed\": true,\n \"isMarginTrade\": true,\n \"isSellAllowed\": true,\n \"quote\": \"BTC\",\n \"symbol\": \"BNBBTC\"\n },\n {\n \"base\": \"TRX\",\n \"isBuyAllowed\": true,\n \"isMarginTrade\": true,\n \"isSellAllowed\": true,\n \"quote\": \"BTC\",\n \"symbol\": \"TRXBTC\"\n }\n ]\n\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_all_isolated_margin_symbols(self, **params):\n \"\"\"Query isolated margin symbol info for all pairs\n\n https://developers.binance.com/docs/margin_trading/market-data/Get-All-Isolated-Margin-Symbol\n\n .. code:: python\n\n pair_details = client.get_all_isolated_margin_symbols()\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"base\": \"BNB\",\n \"isBuyAllowed\": true,\n \"isMarginTrade\": true,\n \"isSellAllowed\": true,\n \"quote\": \"BTC\",\n \"symbol\": \"BNBBTC\"\n },\n {\n \"base\": \"TRX\",\n \"isBuyAllowed\": true,\n \"isMarginTrade\": true,\n \"isSellAllowed\": true,\n \"quote\": \"BTC\",\n \"symbol\": \"TRXBTC\"\n }\n ]\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/isolated/allPairs\", signed=True, data=params\n )" + }, + "get_isolated_margin_fee_data": { + "name": "get_isolated_margin_fee_data", + "path": "binance.client.Client.get_isolated_margin_fee_data", + "signature": "(self, **params)", + "description": "Get isolated margin fee data collection with any vip level or user's current specific data as https://www.binance.com/en/margin-fee\n\nhttps://developers.binance.com/docs/margin_trading/account/Query-Isolated-Margin-Fee-Data\n\n:param vipLevel: User's current specific margin data will be returned if vipLevel is omitted\n:type vipLevel: int\n:param symbol: optional\n:type symbol: str\n\n:returns: API response\n\n.. code-block:: python\n [\n {\n \"vipLevel\": 0,\n \"symbol\": \"BTCUSDT\",\n \"leverage\": \"10\",\n \"data\": [\n {\n \"coin\": \"BTC\",\n \"dailyInterest\": \"0.00026125\",\n \"borrowLimit\": \"270\"\n },\n {\n \"coin\": \"USDT\",\n \"dailyInterest\": \"0.000475\",\n \"borrowLimit\": \"2100000\"\n }\n ]\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_isolated_margin_fee_data(self, **params):\n \"\"\"Get isolated margin fee data collection with any vip level or user's current specific data as https://www.binance.com/en/margin-fee\n\n https://developers.binance.com/docs/margin_trading/account/Query-Isolated-Margin-Fee-Data\n\n :param vipLevel: User's current specific margin data will be returned if vipLevel is omitted\n :type vipLevel: int\n :param symbol: optional\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"vipLevel\": 0,\n \"symbol\": \"BTCUSDT\",\n \"leverage\": \"10\",\n \"data\": [\n {\n \"coin\": \"BTC\",\n \"dailyInterest\": \"0.00026125\",\n \"borrowLimit\": \"270\"\n },\n {\n \"coin\": \"USDT\",\n \"dailyInterest\": \"0.000475\",\n \"borrowLimit\": \"2100000\"\n }\n ]\n }\n ]\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/isolatedMarginData\", True, data=params\n )" + }, + "get_isolated_margin_tier_data": { + "name": "get_isolated_margin_tier_data", + "path": "binance.client.Client.get_isolated_margin_tier_data", + "signature": "(self, **params)", + "description": "Get isolated margin tier data collection with any tier as https://www.binance.com/en/margin-data\n\nhttps://developers.binance.com/docs/margin_trading/market-data/Query-Isolated-Margin-Tier-Data\n\n:param symbol: required\n:type symbol: str\n:param tier: All margin tier data will be returned if tier is omitted\n:type tier: int\n:param recvWindow: optional: No more than 60000\n:type recvWindow:\n\n:returns: API response\n\n.. code-block:: python\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"tier\": 1,\n \"effectiveMultiple\": \"10\",\n \"initialRiskRatio\": \"1.111\",\n \"liquidationRiskRatio\": \"1.05\",\n \"baseAssetMaxBorrowable\": \"9\",\n \"quoteAssetMaxBorrowable\": \"70000\"\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_isolated_margin_tier_data(self, **params):\n \"\"\"Get isolated margin tier data collection with any tier as https://www.binance.com/en/margin-data\n\n https://developers.binance.com/docs/margin_trading/market-data/Query-Isolated-Margin-Tier-Data\n\n :param symbol: required\n :type symbol: str\n :param tier: All margin tier data will be returned if tier is omitted\n :type tier: int\n :param recvWindow: optional: No more than 60000\n :type recvWindow:\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"tier\": 1,\n \"effectiveMultiple\": \"10\",\n \"initialRiskRatio\": \"1.111\",\n \"liquidationRiskRatio\": \"1.05\",\n \"baseAssetMaxBorrowable\": \"9\",\n \"quoteAssetMaxBorrowable\": \"70000\"\n }\n ]\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/isolatedMarginTier\", True, data=params\n )" + }, + "margin_manual_liquidation": { + "name": "margin_manual_liquidation", + "path": "binance.client.Client.margin_manual_liquidation", + "signature": "(self, **params)", + "description": "https://developers.binance.com/docs/margin_trading/trade/Margin-Manual-Liquidation\n\n\n\n:param type: required\n:type symbol: str: When type selected is \"ISOLATED\", symbol must be filled in\n\n:returns: API response\n\n [\n {\n \"asset\": \"ETH\",\n \"interest\": \"0.00083334\",\n \"principal\": \"0.001\",\n \"liabilityAsset\": \"USDT\",\n \"liabilityQty\": 0.3552\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_manual_liquidation(self, **params):\n \"\"\"\n\n https://developers.binance.com/docs/margin_trading/trade/Margin-Manual-Liquidation\n\n\n\n :param type: required\n :type symbol: str: When type selected is \"ISOLATED\", symbol must be filled in\n\n :returns: API response\n\n [\n {\n \"asset\": \"ETH\",\n \"interest\": \"0.00083334\",\n \"principal\": \"0.001\",\n \"liabilityAsset\": \"USDT\",\n \"liabilityQty\": 0.3552\n }\n ]\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/manual-liquidation\", True, data=params\n )" + }, + "toggle_bnb_burn_spot_margin": { + "name": "toggle_bnb_burn_spot_margin", + "path": "binance.client.Client.toggle_bnb_burn_spot_margin", + "signature": "(self, **params)", + "description": "Toggle BNB Burn On Spot Trade And Margin Interest\n\nhttps://developers.binance.com/docs/wallet/asset/Toggle-BNB-Burn-On-Spot-Trade-And-Margin-Interest\n\n:param spotBNBBurn: Determines whether to use BNB to pay for trading fees on SPOT\n:type spotBNBBurn: bool\n:param interestBNBBurn: Determines whether to use BNB to pay for margin loan's interest\n:type interestBNBBurn: bool\n\n.. code:: python\n\n response = client.toggle_bnb_burn_spot_margin()\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"spotBNBBurn\":true,\n \"interestBNBBurn\": false\n }\n\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def toggle_bnb_burn_spot_margin(self, **params):\n \"\"\"Toggle BNB Burn On Spot Trade And Margin Interest\n\n https://developers.binance.com/docs/wallet/asset/Toggle-BNB-Burn-On-Spot-Trade-And-Margin-Interest\n\n :param spotBNBBurn: Determines whether to use BNB to pay for trading fees on SPOT\n :type spotBNBBurn: bool\n :param interestBNBBurn: Determines whether to use BNB to pay for margin loan's interest\n :type interestBNBBurn: bool\n\n .. code:: python\n\n response = client.toggle_bnb_burn_spot_margin()\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"spotBNBBurn\":true,\n \"interestBNBBurn\": false\n }\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"post\", \"bnbBurn\", signed=True, data=params)" + }, + "get_bnb_burn_spot_margin": { + "name": "get_bnb_burn_spot_margin", + "path": "binance.client.Client.get_bnb_burn_spot_margin", + "signature": "(self, **params)", + "description": "Get BNB Burn Status\n\nhttps://developers.binance.com/docs/margin_trading/account/Get-BNB-Burn-Status\n\n.. code:: python\n\n status = client.get_bnb_burn_spot_margin()\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"spotBNBBurn\":true,\n \"interestBNBBurn\": false\n }\n\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_bnb_burn_spot_margin(self, **params):\n \"\"\"Get BNB Burn Status\n\n https://developers.binance.com/docs/margin_trading/account/Get-BNB-Burn-Status\n\n .. code:: python\n\n status = client.get_bnb_burn_spot_margin()\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"spotBNBBurn\":true,\n \"interestBNBBurn\": false\n }\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"bnbBurn\", signed=True, data=params)" + }, + "get_margin_price_index": { + "name": "get_margin_price_index", + "path": "binance.client.Client.get_margin_price_index", + "signature": "(self, **params)", + "description": "Query margin priceIndex\n\nhttps://developers.binance.com/docs/margin_trading/market-data/Query-Margin-PriceIndex\n\n:param symbol: name of the symbol pair\n:type symbol: str\n\n.. code:: python\n\n price_index_details = client.get_margin_price_index(symbol='BTCUSDT')\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"calcTime\": 1562046418000,\n \"price\": \"0.00333930\",\n \"symbol\": \"BNBBTC\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_price_index(self, **params):\n \"\"\"Query margin priceIndex\n\n https://developers.binance.com/docs/margin_trading/market-data/Query-Margin-PriceIndex\n\n :param symbol: name of the symbol pair\n :type symbol: str\n\n .. code:: python\n\n price_index_details = client.get_margin_price_index(symbol='BTCUSDT')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"calcTime\": 1562046418000,\n \"price\": \"0.00333930\",\n \"symbol\": \"BNBBTC\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/priceIndex\", data=params)" + }, + "transfer_margin_to_spot": { + "name": "transfer_margin_to_spot", + "path": "binance.client.Client.transfer_margin_to_spot", + "signature": "(self, **params)", + "description": "Execute transfer between cross-margin account and spot account.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#cross-margin-account-transfer-margin\n\n:param asset: name of the asset\n:type asset: str\n:param amount: amount to transfer\n:type amount: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n.. code-block:: python\n\n transfer = client.transfer_margin_to_spot(asset='BTC', amount='1.1')\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def transfer_margin_to_spot(self, **params):\n \"\"\"Execute transfer between cross-margin account and spot account.\n\n https://binance-docs.github.io/apidocs/spot/en/#cross-margin-account-transfer-margin\n\n :param asset: name of the asset\n :type asset: str\n :param amount: amount to transfer\n :type amount: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transfer = client.transfer_margin_to_spot(asset='BTC', amount='1.1')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params[\"type\"] = 2\n return self._request_margin_api(\n \"post\", \"margin/transfer\", signed=True, data=params\n )" + }, + "transfer_spot_to_margin": { + "name": "transfer_spot_to_margin", + "path": "binance.client.Client.transfer_spot_to_margin", + "signature": "(self, **params)", + "description": "Execute transfer between spot account and cross-margin account.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#cross-margin-account-transfer-margin\n\n:param asset: name of the asset\n:type asset: str\n:param amount: amount to transfer\n:type amount: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n.. code-block:: python\n\n transfer = client.transfer_spot_to_margin(asset='BTC', amount='1.1')\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def transfer_spot_to_margin(self, **params):\n \"\"\"Execute transfer between spot account and cross-margin account.\n\n https://binance-docs.github.io/apidocs/spot/en/#cross-margin-account-transfer-margin\n\n :param asset: name of the asset\n :type asset: str\n :param amount: amount to transfer\n :type amount: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transfer = client.transfer_spot_to_margin(asset='BTC', amount='1.1')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params[\"type\"] = 1\n return self._request_margin_api(\n \"post\", \"margin/transfer\", signed=True, data=params\n )" + }, + "transfer_isolated_margin_to_spot": { + "name": "transfer_isolated_margin_to_spot", + "path": "binance.client.Client.transfer_isolated_margin_to_spot", + "signature": "(self, **params)", + "description": "Execute transfer between isolated margin account and spot account.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#isolated-margin-account-transfer-margin\n\n:param asset: name of the asset\n:type asset: str\n:param symbol: pair symbol\n:type symbol: str\n:param amount: amount to transfer\n:type amount: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n.. code-block:: python\n\n transfer = client.transfer_isolated_margin_to_spot(asset='BTC',\n symbol='ETHBTC', amount='1.1')\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def transfer_isolated_margin_to_spot(self, **params):\n \"\"\"Execute transfer between isolated margin account and spot account.\n\n https://binance-docs.github.io/apidocs/spot/en/#isolated-margin-account-transfer-margin\n\n :param asset: name of the asset\n :type asset: str\n :param symbol: pair symbol\n :type symbol: str\n :param amount: amount to transfer\n :type amount: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transfer = client.transfer_isolated_margin_to_spot(asset='BTC',\n symbol='ETHBTC', amount='1.1')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params[\"transFrom\"] = \"ISOLATED_MARGIN\"\n params[\"transTo\"] = \"SPOT\"\n return self._request_margin_api(\n \"post\", \"margin/isolated/transfer\", signed=True, data=params\n )" + }, + "transfer_spot_to_isolated_margin": { + "name": "transfer_spot_to_isolated_margin", + "path": "binance.client.Client.transfer_spot_to_isolated_margin", + "signature": "(self, **params)", + "description": "Execute transfer between spot account and isolated margin account.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#isolated-margin-account-transfer-margin\n\n:param asset: name of the asset\n:type asset: str\n:param symbol: pair symbol\n:type symbol: str\n:param amount: amount to transfer\n:type amount: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n.. code-block:: python\n\n transfer = client.transfer_spot_to_isolated_margin(asset='BTC',\n symbol='ETHBTC', amount='1.1')\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def transfer_spot_to_isolated_margin(self, **params):\n \"\"\"Execute transfer between spot account and isolated margin account.\n\n https://binance-docs.github.io/apidocs/spot/en/#isolated-margin-account-transfer-margin\n\n :param asset: name of the asset\n :type asset: str\n :param symbol: pair symbol\n :type symbol: str\n :param amount: amount to transfer\n :type amount: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transfer = client.transfer_spot_to_isolated_margin(asset='BTC',\n symbol='ETHBTC', amount='1.1')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params[\"transFrom\"] = \"SPOT\"\n params[\"transTo\"] = \"ISOLATED_MARGIN\"\n return self._request_margin_api(\n \"post\", \"margin/isolated/transfer\", signed=True, data=params\n )" + }, + "get_isolated_margin_tranfer_history": { + "name": "get_isolated_margin_tranfer_history", + "path": "binance.client.Client.get_isolated_margin_tranfer_history", + "signature": "(self, **params)", + "description": "Get transfers to isolated margin account.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#get-isolated-margin-transfer-history-user_data\n\n:param asset: name of the asset\n:type asset: str\n:param symbol: pair required\n:type symbol: str\n:param transFrom: optional SPOT, ISOLATED_MARGIN\n:param transFrom: str SPOT, ISOLATED_MARGIN\n:param transTo: optional\n:param transTo: str\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param current: Currently querying page. Start from 1. Default:1\n:type current: str\n:param size: Default:10 Max:100\n:type size: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n.. code-block:: python\n\n transfer = client.transfer_spot_to_isolated_margin(symbol='ETHBTC')\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"rows\": [\n {\n \"amount\": \"0.10000000\",\n \"asset\": \"BNB\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566898617000,\n \"txId\": 5240372201,\n \"transFrom\": \"SPOT\",\n \"transTo\": \"ISOLATED_MARGIN\"\n },\n {\n \"amount\": \"5.00000000\",\n \"asset\": \"USDT\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566888436123,\n \"txId\": 5239810406,\n \"transFrom\": \"ISOLATED_MARGIN\",\n \"transTo\": \"SPOT\"\n }\n ],\n \"total\": 2\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_isolated_margin_tranfer_history(self, **params):\n \"\"\"Get transfers to isolated margin account.\n\n https://binance-docs.github.io/apidocs/spot/en/#get-isolated-margin-transfer-history-user_data\n\n :param asset: name of the asset\n :type asset: str\n :param symbol: pair required\n :type symbol: str\n :param transFrom: optional SPOT, ISOLATED_MARGIN\n :param transFrom: str SPOT, ISOLATED_MARGIN\n :param transTo: optional\n :param transTo: str\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param current: Currently querying page. Start from 1. Default:1\n :type current: str\n :param size: Default:10 Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transfer = client.transfer_spot_to_isolated_margin(symbol='ETHBTC')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"rows\": [\n {\n \"amount\": \"0.10000000\",\n \"asset\": \"BNB\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566898617000,\n \"txId\": 5240372201,\n \"transFrom\": \"SPOT\",\n \"transTo\": \"ISOLATED_MARGIN\"\n },\n {\n \"amount\": \"5.00000000\",\n \"asset\": \"USDT\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566888436123,\n \"txId\": 5239810406,\n \"transFrom\": \"ISOLATED_MARGIN\",\n \"transTo\": \"SPOT\"\n }\n ],\n \"total\": 2\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/isolated/transfer\", signed=True, data=params\n )" + }, + "create_margin_loan": { + "name": "create_margin_loan", + "path": "binance.client.Client.create_margin_loan", + "signature": "(self, **params)", + "description": "Apply for a loan in cross-margin or isolated-margin account.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-margin\n\n:param asset: name of the asset\n:type asset: str\n:param amount: amount to transfer\n:type amount: str\n:param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n:type isIsolated: str\n:param symbol: Isolated margin symbol (default blank for cross-margin)\n:type symbol: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n.. code-block:: python\n\n transaction = client.margin_create_loan(asset='BTC', amount='1.1')\n\n transaction = client.margin_create_loan(asset='BTC', amount='1.1',\n isIsolated='TRUE', symbol='ETHBTC')\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def create_margin_loan(self, **params):\n \"\"\"Apply for a loan in cross-margin or isolated-margin account.\n\n https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-margin\n\n :param asset: name of the asset\n :type asset: str\n :param amount: amount to transfer\n :type amount: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param symbol: Isolated margin symbol (default blank for cross-margin)\n :type symbol: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transaction = client.margin_create_loan(asset='BTC', amount='1.1')\n\n transaction = client.margin_create_loan(asset='BTC', amount='1.1',\n isIsolated='TRUE', symbol='ETHBTC')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"post\", \"margin/loan\", signed=True, data=params)" + }, + "repay_margin_loan": { + "name": "repay_margin_loan", + "path": "binance.client.Client.repay_margin_loan", + "signature": "(self, **params)", + "description": "Repay loan in cross-margin or isolated-margin account.\n\nIf amount is more than the amount borrowed, the full loan will be repaid.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#margin-account-repay-margin\n\n:param asset: name of the asset\n:type asset: str\n:param amount: amount to transfer\n:type amount: str\n:param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n:type isIsolated: str\n:param symbol: Isolated margin symbol (default blank for cross-margin)\n:type symbol: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n.. code-block:: python\n\n transaction = client.margin_repay_loan(asset='BTC', amount='1.1')\n\n transaction = client.margin_repay_loan(asset='BTC', amount='1.1',\n isIsolated='TRUE', symbol='ETHBTC')\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def repay_margin_loan(self, **params):\n \"\"\"Repay loan in cross-margin or isolated-margin account.\n\n If amount is more than the amount borrowed, the full loan will be repaid.\n\n https://binance-docs.github.io/apidocs/spot/en/#margin-account-repay-margin\n\n :param asset: name of the asset\n :type asset: str\n :param amount: amount to transfer\n :type amount: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param symbol: Isolated margin symbol (default blank for cross-margin)\n :type symbol: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transaction = client.margin_repay_loan(asset='BTC', amount='1.1')\n\n transaction = client.margin_repay_loan(asset='BTC', amount='1.1',\n isIsolated='TRUE', symbol='ETHBTC')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/repay\", signed=True, data=params\n )" + }, + "create_margin_order": { + "name": "create_margin_order", + "path": "binance.client.Client.create_margin_order", + "signature": "(self, **params)", + "description": "Post a new order for margin account.\n\nhttps://developers.binance.com/docs/margin_trading/trade/Margin-Account-New-Order\n\n:param symbol: required\n:type symbol: str\n:param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n:type isIsolated: str\n:param side: required\n:type side: str\n:param type: required\n:type type: str\n:param quantity: required\n:type quantity: decimal\n:param price: required\n:type price: str\n:param stopPrice: Used with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders.\n:type stopPrice: str\n:param timeInForce: required if limit order GTC,IOC,FOK\n:type timeInForce: str\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n:type icebergQty: str\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; MARKET and LIMIT order types default to\n FULL, all other orders default to ACK.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\nResponse ACK:\n\n.. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595\n }\n\nResponse RESULT:\n\n.. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595,\n \"price\": \"1.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"10.00000000\",\n \"cummulativeQuoteQty\": \"10.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"SELL\"\n }\n\nResponse FULL:\n\n.. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595,\n \"price\": \"1.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"10.00000000\",\n \"cummulativeQuoteQty\": \"10.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"SELL\",\n \"fills\": [\n {\n \"price\": \"4000.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"4.00000000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3999.00000000\",\n \"qty\": \"5.00000000\",\n \"commission\": \"19.99500000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3998.00000000\",\n \"qty\": \"2.00000000\",\n \"commission\": \"7.99600000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3997.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"3.99700000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3995.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"3.99500000\",\n \"commissionAsset\": \"USDT\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException,\n BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException,\n BinanceOrderInactiveSymbolException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def create_margin_order(self, **params):\n \"\"\"Post a new order for margin account.\n\n https://developers.binance.com/docs/margin_trading/trade/Margin-Account-New-Order\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param side: required\n :type side: str\n :param type: required\n :type type: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param stopPrice: Used with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders.\n :type stopPrice: str\n :param timeInForce: required if limit order GTC,IOC,FOK\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n :type icebergQty: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; MARKET and LIMIT order types default to\n FULL, all other orders default to ACK.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n Response ACK:\n\n .. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595\n }\n\n Response RESULT:\n\n .. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595,\n \"price\": \"1.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"10.00000000\",\n \"cummulativeQuoteQty\": \"10.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"SELL\"\n }\n\n Response FULL:\n\n .. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595,\n \"price\": \"1.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"10.00000000\",\n \"cummulativeQuoteQty\": \"10.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"SELL\",\n \"fills\": [\n {\n \"price\": \"4000.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"4.00000000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3999.00000000\",\n \"qty\": \"5.00000000\",\n \"commission\": \"19.99500000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3998.00000000\",\n \"qty\": \"2.00000000\",\n \"commission\": \"7.99600000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3997.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"3.99700000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3995.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"3.99500000\",\n \"commissionAsset\": \"USDT\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException,\n BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException,\n BinanceOrderInactiveSymbolException\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return self._request_margin_api(\n \"post\", \"margin/order\", signed=True, data=params\n )" + }, + "cancel_margin_order": { + "name": "cancel_margin_order", + "path": "binance.client.Client.cancel_margin_order", + "signature": "(self, **params)", + "description": "Cancel an active order for margin account.\n\nEither orderId or origClientOrderId must be sent.\n\nhttps://developers.binance.com/docs/margin_trading/trade/Margin-Account-Cancel-Order\n\n:param symbol: required\n:type symbol: str\n:param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n:type isIsolated: str\n:param orderId:\n:type orderId: str\n:param origClientOrderId:\n:type origClientOrderId: str\n:param newClientOrderId: Used to uniquely identify this cancel. Automatically generated by default.\n:type newClientOrderId: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 28,\n \"origClientOrderId\": \"myOrder1\",\n \"clientOrderId\": \"cancelMyOrder1\",\n \"transactTime\": 1507725176595,\n \"price\": \"1.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"8.00000000\",\n \"cummulativeQuoteQty\": \"8.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def cancel_margin_order(self, **params):\n \"\"\"Cancel an active order for margin account.\n\n Either orderId or origClientOrderId must be sent.\n\n https://developers.binance.com/docs/margin_trading/trade/Margin-Account-Cancel-Order\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param orderId:\n :type orderId: str\n :param origClientOrderId:\n :type origClientOrderId: str\n :param newClientOrderId: Used to uniquely identify this cancel. Automatically generated by default.\n :type newClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 28,\n \"origClientOrderId\": \"myOrder1\",\n \"clientOrderId\": \"cancelMyOrder1\",\n \"transactTime\": 1507725176595,\n \"price\": \"1.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"8.00000000\",\n \"cummulativeQuoteQty\": \"8.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"delete\", \"margin/order\", signed=True, data=params\n )" + }, + "cancel_all_open_margin_orders": { + "name": "cancel_all_open_margin_orders", + "path": "binance.client.Client.cancel_all_open_margin_orders", + "signature": "(self, **params)", + "description": "Cancels all active orders on a symbol for margin account.\n\nhttps://developers.binance.com/docs/margin_trading/trade/Margin-Account-Cancel-All-Open-Orders\n\n:param symbol: required\n:type symbol: str\n:param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n:type isIsolated: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: API response\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def cancel_all_open_margin_orders(self, **params):\n \"\"\"\n Cancels all active orders on a symbol for margin account.\n\n https://developers.binance.com/docs/margin_trading/trade/Margin-Account-Cancel-All-Open-Orders\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: API response\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_margin_api(\n \"delete\", \"margin/openOrders\", signed=True, data=params\n )" + }, + "set_margin_max_leverage": { + "name": "set_margin_max_leverage", + "path": "binance.client.Client.set_margin_max_leverage", + "signature": "(self, **params)", + "description": "Adjust cross margin max leverage\n\nhttps://developers.binance.com/docs/margin_trading/account\n\n:param maxLeverage: required Can only adjust 3 or 5\uff0cExample: maxLeverage=3\n:type maxLeverage: int\n\n:returns: API response\n\n {\n \"success\": true\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def set_margin_max_leverage(self, **params):\n \"\"\"Adjust cross margin max leverage\n\n https://developers.binance.com/docs/margin_trading/account\n\n :param maxLeverage: required Can only adjust 3 or 5\uff0cExample: maxLeverage=3\n :type maxLeverage: int\n\n :returns: API response\n\n {\n \"success\": true\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/max-leverage\", signed=True, data=params\n )" + }, + "get_margin_transfer_history": { + "name": "get_margin_transfer_history", + "path": "binance.client.Client.get_margin_transfer_history", + "signature": "(self, **params)", + "description": "Query margin transfer history\n\nhttps://developers.binance.com/docs/margin_trading/transfer\n\n:param asset: optional\n:type asset: str\n:param type: optional Transfer Type: ROLL_IN, ROLL_OUT\n:type type: str\n:param archived: optional Default: false. Set to true for archived data from 6 months ago\n:type archived: str\n:param startTime: earliest timestamp to filter transactions\n:type startTime: str\n:param endTime: Used to uniquely identify this cancel. Automatically generated by default.\n:type endTime: str\n:param current: Currently querying page. Start from 1. Default:1\n:type current: str\n:param size: Default:10 Max:100\n:type size: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n {\n \"rows\": [\n {\n \"amount\": \"0.10000000\",\n \"asset\": \"BNB\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566898617,\n \"txId\": 5240372201,\n \"type\": \"ROLL_IN\"\n },\n {\n \"amount\": \"5.00000000\",\n \"asset\": \"USDT\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566888436,\n \"txId\": 5239810406,\n \"type\": \"ROLL_OUT\"\n },\n {\n \"amount\": \"1.00000000\",\n \"asset\": \"EOS\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566888403,\n \"txId\": 5239808703,\n \"type\": \"ROLL_IN\"\n }\n ],\n \"total\": 3\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_transfer_history(self, **params):\n \"\"\"Query margin transfer history\n\n https://developers.binance.com/docs/margin_trading/transfer\n\n :param asset: optional\n :type asset: str\n :param type: optional Transfer Type: ROLL_IN, ROLL_OUT\n :type type: str\n :param archived: optional Default: false. Set to true for archived data from 6 months ago\n :type archived: str\n :param startTime: earliest timestamp to filter transactions\n :type startTime: str\n :param endTime: Used to uniquely identify this cancel. Automatically generated by default.\n :type endTime: str\n :param current: Currently querying page. Start from 1. Default:1\n :type current: str\n :param size: Default:10 Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"rows\": [\n {\n \"amount\": \"0.10000000\",\n \"asset\": \"BNB\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566898617,\n \"txId\": 5240372201,\n \"type\": \"ROLL_IN\"\n },\n {\n \"amount\": \"5.00000000\",\n \"asset\": \"USDT\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566888436,\n \"txId\": 5239810406,\n \"type\": \"ROLL_OUT\"\n },\n {\n \"amount\": \"1.00000000\",\n \"asset\": \"EOS\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566888403,\n \"txId\": 5239808703,\n \"type\": \"ROLL_IN\"\n }\n ],\n \"total\": 3\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/transfer\", signed=True, data=params\n )" + }, + "get_margin_loan_details": { + "name": "get_margin_loan_details", + "path": "binance.client.Client.get_margin_loan_details", + "signature": "(self, **params)", + "description": "Query loan record\n\ntxId or startTime must be sent. txId takes precedence.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#query-loan-record-user_data\n\n:param asset: required\n:type asset: str\n:param isolatedSymbol: isolated symbol (if querying isolated margin)\n:type isolatedSymbol: str\n:param txId: the tranId in of the created loan\n:type txId: str\n:param startTime: earliest timestamp to filter transactions\n:type startTime: str\n:param endTime: Used to uniquely identify this cancel. Automatically generated by default.\n:type endTime: str\n:param current: Currently querying page. Start from 1. Default:1\n:type current: str\n:param size: Default:10 Max:100\n:type size: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n {\n \"rows\": [\n {\n \"asset\": \"BNB\",\n \"principal\": \"0.84624403\",\n \"timestamp\": 1555056425000,\n //one of PENDING (pending to execution), CONFIRMED (successfully loaned), FAILED (execution failed, nothing happened to your account);\n \"status\": \"CONFIRMED\"\n }\n ],\n \"total\": 1\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_loan_details(self, **params):\n \"\"\"Query loan record\n\n txId or startTime must be sent. txId takes precedence.\n\n https://binance-docs.github.io/apidocs/spot/en/#query-loan-record-user_data\n\n :param asset: required\n :type asset: str\n :param isolatedSymbol: isolated symbol (if querying isolated margin)\n :type isolatedSymbol: str\n :param txId: the tranId in of the created loan\n :type txId: str\n :param startTime: earliest timestamp to filter transactions\n :type startTime: str\n :param endTime: Used to uniquely identify this cancel. Automatically generated by default.\n :type endTime: str\n :param current: Currently querying page. Start from 1. Default:1\n :type current: str\n :param size: Default:10 Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"rows\": [\n {\n \"asset\": \"BNB\",\n \"principal\": \"0.84624403\",\n \"timestamp\": 1555056425000,\n //one of PENDING (pending to execution), CONFIRMED (successfully loaned), FAILED (execution failed, nothing happened to your account);\n \"status\": \"CONFIRMED\"\n }\n ],\n \"total\": 1\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/loan\", signed=True, data=params)" + }, + "get_margin_repay_details": { + "name": "get_margin_repay_details", + "path": "binance.client.Client.get_margin_repay_details", + "signature": "(self, **params)", + "description": "Query repay record\n\ntxId or startTime must be sent. txId takes precedence.\n\nhttps://binance-docs.github.io/apidocs/spot/en/#query-repay-record-user_data\n\n:param asset: required\n:type asset: str\n:param isolatedSymbol: isolated symbol (if querying isolated margin)\n:type isolatedSymbol: str\n:param txId: the tranId in of the created loan\n:type txId: str\n:param startTime:\n:type startTime: str\n:param endTime: Used to uniquely identify this cancel. Automatically generated by default.\n:type endTime: str\n:param current: Currently querying page. Start from 1. Default:1\n:type current: str\n:param size: Default:10 Max:100\n:type size: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n {\n \"rows\": [\n {\n //Total amount repaid\n \"amount\": \"14.00000000\",\n \"asset\": \"BNB\",\n //Interest repaid\n \"interest\": \"0.01866667\",\n //Principal repaid\n \"principal\": \"13.98133333\",\n //one of PENDING (pending to execution), CONFIRMED (successfully loaned), FAILED (execution failed, nothing happened to your account);\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1563438204000,\n \"txId\": 2970933056\n }\n ],\n \"total\": 1\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_repay_details(self, **params):\n \"\"\"Query repay record\n\n txId or startTime must be sent. txId takes precedence.\n\n https://binance-docs.github.io/apidocs/spot/en/#query-repay-record-user_data\n\n :param asset: required\n :type asset: str\n :param isolatedSymbol: isolated symbol (if querying isolated margin)\n :type isolatedSymbol: str\n :param txId: the tranId in of the created loan\n :type txId: str\n :param startTime:\n :type startTime: str\n :param endTime: Used to uniquely identify this cancel. Automatically generated by default.\n :type endTime: str\n :param current: Currently querying page. Start from 1. Default:1\n :type current: str\n :param size: Default:10 Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"rows\": [\n {\n //Total amount repaid\n \"amount\": \"14.00000000\",\n \"asset\": \"BNB\",\n //Interest repaid\n \"interest\": \"0.01866667\",\n //Principal repaid\n \"principal\": \"13.98133333\",\n //one of PENDING (pending to execution), CONFIRMED (successfully loaned), FAILED (execution failed, nothing happened to your account);\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1563438204000,\n \"txId\": 2970933056\n }\n ],\n \"total\": 1\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/repay\", signed=True, data=params)" + }, + "get_cross_margin_data": { + "name": "get_cross_margin_data", + "path": "binance.client.Client.get_cross_margin_data", + "signature": "(self, **params)", + "description": "Query Cross Margin Fee Data (USER_DATA)\n\nhttps://developers.binance.com/docs/margin_trading/account/Query-Cross-Margin-Fee-Data\n\n:param vipLevel: User's current specific margin data will be returned if vipLevel is omitted\n:type vipLevel: int\n:param coin\n:type coin: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: API response (example):\n [\n {\n \"vipLevel\": 0,\n \"coin\": \"BTC\",\n \"transferIn\": true,\n \"borrowable\": true,\n \"dailyInterest\": \"0.00026125\",\n \"yearlyInterest\": \"0.0953\",\n \"borrowLimit\": \"180\",\n \"marginablePairs\": [\n \"BNBBTC\",\n \"TRXBTC\",\n \"ETHBTC\",\n \"BTCUSDT\"\n ]\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_cross_margin_data(self, **params):\n \"\"\"Query Cross Margin Fee Data (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/account/Query-Cross-Margin-Fee-Data\n\n :param vipLevel: User's current specific margin data will be returned if vipLevel is omitted\n :type vipLevel: int\n :param coin\n :type coin: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: API response (example):\n [\n {\n \"vipLevel\": 0,\n \"coin\": \"BTC\",\n \"transferIn\": true,\n \"borrowable\": true,\n \"dailyInterest\": \"0.00026125\",\n \"yearlyInterest\": \"0.0953\",\n \"borrowLimit\": \"180\",\n \"marginablePairs\": [\n \"BNBBTC\",\n \"TRXBTC\",\n \"ETHBTC\",\n \"BTCUSDT\"\n ]\n }\n ]\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/crossMarginData\", signed=True, data=params\n )" + }, + "get_margin_interest_history": { + "name": "get_margin_interest_history", + "path": "binance.client.Client.get_margin_interest_history", + "signature": "(self, **params)", + "description": "Get Interest History (USER_DATA)\n\nhttps://developers.binance.com/docs/margin_trading/borrow-and-repay/Get-Interest-History\n\n:param asset:\n:type asset: str\n:param isolatedSymbol: isolated symbol (if querying isolated margin)\n:type isolatedSymbol: str\n:param startTime:\n:type startTime: str\n:param endTime:\n:type endTime: str\n:param current: Currently querying page. Start from 1. Default:1\n:type current: str\n:param size: Default:10 Max:100\n:type size: int\n:param archived: Default: false. Set to true for archived data from 6 months ago\n:type archived: bool\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n {\n \"rows\":[\n {\n \"isolatedSymbol\": \"BNBUSDT\", // isolated symbol, will not be returned for crossed margin\n \"asset\": \"BNB\",\n \"interest\": \"0.02414667\",\n \"interestAccuredTime\": 1566813600000,\n \"interestRate\": \"0.01600000\",\n \"principal\": \"36.22000000\",\n \"type\": \"ON_BORROW\"\n }\n ],\n \"total\": 1\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_interest_history(self, **params):\n \"\"\"Get Interest History (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay/Get-Interest-History\n\n :param asset:\n :type asset: str\n :param isolatedSymbol: isolated symbol (if querying isolated margin)\n :type isolatedSymbol: str\n :param startTime:\n :type startTime: str\n :param endTime:\n :type endTime: str\n :param current: Currently querying page. Start from 1. Default:1\n :type current: str\n :param size: Default:10 Max:100\n :type size: int\n :param archived: Default: false. Set to true for archived data from 6 months ago\n :type archived: bool\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"rows\":[\n {\n \"isolatedSymbol\": \"BNBUSDT\", // isolated symbol, will not be returned for crossed margin\n \"asset\": \"BNB\",\n \"interest\": \"0.02414667\",\n \"interestAccuredTime\": 1566813600000,\n \"interestRate\": \"0.01600000\",\n \"principal\": \"36.22000000\",\n \"type\": \"ON_BORROW\"\n }\n ],\n \"total\": 1\n }\n\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/interestHistory\", signed=True, data=params\n )" + }, + "get_margin_force_liquidation_rec": { + "name": "get_margin_force_liquidation_rec", + "path": "binance.client.Client.get_margin_force_liquidation_rec", + "signature": "(self, **params)", + "description": "Get Force Liquidation Record (USER_DATA)\n\nhttps://developers.binance.com/docs/margin_trading/trade\n\n:param startTime:\n:type startTime: str\n:param endTime:\n:type endTime: str\n:param isolatedSymbol: isolated symbol (if querying isolated margin)\n:type isolatedSymbol: str\n:param current: Currently querying page. Start from 1. Default:1\n:type current: str\n:param size: Default:10 Max:100\n:type size: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n {\n \"rows\": [\n {\n \"avgPrice\": \"0.00388359\",\n \"executedQty\": \"31.39000000\",\n \"orderId\": 180015097,\n \"price\": \"0.00388110\",\n \"qty\": \"31.39000000\",\n \"side\": \"SELL\",\n \"symbol\": \"BNBBTC\",\n \"timeInForce\": \"GTC\",\n \"isIsolated\": true,\n \"updatedTime\": 1558941374745\n }\n ],\n \"total\": 1\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_force_liquidation_rec(self, **params):\n \"\"\"Get Force Liquidation Record (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/trade\n\n :param startTime:\n :type startTime: str\n :param endTime:\n :type endTime: str\n :param isolatedSymbol: isolated symbol (if querying isolated margin)\n :type isolatedSymbol: str\n :param current: Currently querying page. Start from 1. Default:1\n :type current: str\n :param size: Default:10 Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"rows\": [\n {\n \"avgPrice\": \"0.00388359\",\n \"executedQty\": \"31.39000000\",\n \"orderId\": 180015097,\n \"price\": \"0.00388110\",\n \"qty\": \"31.39000000\",\n \"side\": \"SELL\",\n \"symbol\": \"BNBBTC\",\n \"timeInForce\": \"GTC\",\n \"isIsolated\": true,\n \"updatedTime\": 1558941374745\n }\n ],\n \"total\": 1\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/forceLiquidationRec\", signed=True, data=params\n )" + }, + "get_margin_order": { + "name": "get_margin_order", + "path": "binance.client.Client.get_margin_order", + "signature": "(self, **params)", + "description": "Query margin accounts order\n\nEither orderId or origClientOrderId must be sent.\n\nFor some historical orders cummulativeQuoteQty will be < 0, meaning the data is not available at this time.\n\nhttps://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Order\n\n:param symbol: required\n:type symbol: str\n:param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n:type isIsolated: str\n:param orderId:\n:type orderId: str\n:param origClientOrderId:\n:type origClientOrderId: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n {\n \"clientOrderId\": \"ZwfQzuDIGpceVhKW5DvCmO\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"executedQty\": \"0.00000000\",\n \"icebergQty\": \"0.00000000\",\n \"isWorking\": true,\n \"orderId\": 213205622,\n \"origQty\": \"0.30000000\",\n \"price\": \"0.00493630\",\n \"side\": \"SELL\",\n \"status\": \"NEW\",\n \"stopPrice\": \"0.00000000\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1562133008725,\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"updateTime\": 1562133008725\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_order(self, **params):\n \"\"\"Query margin accounts order\n\n Either orderId or origClientOrderId must be sent.\n\n For some historical orders cummulativeQuoteQty will be < 0, meaning the data is not available at this time.\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Order\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param orderId:\n :type orderId: str\n :param origClientOrderId:\n :type origClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"clientOrderId\": \"ZwfQzuDIGpceVhKW5DvCmO\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"executedQty\": \"0.00000000\",\n \"icebergQty\": \"0.00000000\",\n \"isWorking\": true,\n \"orderId\": 213205622,\n \"origQty\": \"0.30000000\",\n \"price\": \"0.00493630\",\n \"side\": \"SELL\",\n \"status\": \"NEW\",\n \"stopPrice\": \"0.00000000\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1562133008725,\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"updateTime\": 1562133008725\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/order\", signed=True, data=params)" + }, + "get_open_margin_orders": { + "name": "get_open_margin_orders", + "path": "binance.client.Client.get_open_margin_orders", + "signature": "(self, **params)", + "description": "Query margin accounts open orders\n\nIf the symbol is not sent, orders for all symbols will be returned in an array (cross-margin only).\n\nIf querying isolated margin orders, both the isIsolated='TRUE' and symbol=symbol_name must be set.\n\nWhen all symbols are returned, the number of requests counted against the rate limiter is equal to the number\nof symbols currently trading on the exchange.\n\nhttps://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Open-Orders\n\n:param symbol: optional\n:type symbol: str\n:param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n:type isIsolated: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n [\n {\n \"clientOrderId\": \"qhcZw71gAkCCTv0t0k8LUK\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"executedQty\": \"0.00000000\",\n \"icebergQty\": \"0.00000000\",\n \"isWorking\": true,\n \"orderId\": 211842552,\n \"origQty\": \"0.30000000\",\n \"price\": \"0.00475010\",\n \"side\": \"SELL\",\n \"status\": \"NEW\",\n \"stopPrice\": \"0.00000000\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1562040170089,\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"updateTime\": 1562040170089\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_open_margin_orders(self, **params):\n \"\"\"Query margin accounts open orders\n\n If the symbol is not sent, orders for all symbols will be returned in an array (cross-margin only).\n\n If querying isolated margin orders, both the isIsolated='TRUE' and symbol=symbol_name must be set.\n\n When all symbols are returned, the number of requests counted against the rate limiter is equal to the number\n of symbols currently trading on the exchange.\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Open-Orders\n\n :param symbol: optional\n :type symbol: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n [\n {\n \"clientOrderId\": \"qhcZw71gAkCCTv0t0k8LUK\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"executedQty\": \"0.00000000\",\n \"icebergQty\": \"0.00000000\",\n \"isWorking\": true,\n \"orderId\": 211842552,\n \"origQty\": \"0.30000000\",\n \"price\": \"0.00475010\",\n \"side\": \"SELL\",\n \"status\": \"NEW\",\n \"stopPrice\": \"0.00000000\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1562040170089,\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"updateTime\": 1562040170089\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/openOrders\", signed=True, data=params\n )" + }, + "get_all_margin_orders": { + "name": "get_all_margin_orders", + "path": "binance.client.Client.get_all_margin_orders", + "signature": "(self, **params)", + "description": "Query all margin accounts orders\n\nIf orderId is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n\nFor some historical orders cummulativeQuoteQty will be < 0, meaning the data is not available at this time.\n\nhttps://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-All-Orders\n\n:param symbol: required\n:type symbol: str\n:param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n:type isIsolated: str\n:param orderId: optional\n:type orderId: str\n:param startTime: optional\n:type startTime: str\n:param endTime: optional\n:type endTime: str\n:param limit: Default 500; max 1000\n:type limit: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n [\n {\n \"id\": 43123876,\n \"price\": \"0.00395740\",\n \"qty\": \"4.06000000\",\n \"quoteQty\": \"0.01606704\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1556089977693\n },\n {\n \"id\": 43123877,\n \"price\": \"0.00395740\",\n \"qty\": \"0.77000000\",\n \"quoteQty\": \"0.00304719\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1556089977693\n },\n {\n \"id\": 43253549,\n \"price\": \"0.00428930\",\n \"qty\": \"23.30000000\",\n \"quoteQty\": \"0.09994069\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1556163963504\n }\n ]\n\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_all_margin_orders(self, **params):\n \"\"\"Query all margin accounts orders\n\n If orderId is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n\n For some historical orders cummulativeQuoteQty will be < 0, meaning the data is not available at this time.\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-All-Orders\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param orderId: optional\n :type orderId: str\n :param startTime: optional\n :type startTime: str\n :param endTime: optional\n :type endTime: str\n :param limit: Default 500; max 1000\n :type limit: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n [\n {\n \"id\": 43123876,\n \"price\": \"0.00395740\",\n \"qty\": \"4.06000000\",\n \"quoteQty\": \"0.01606704\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1556089977693\n },\n {\n \"id\": 43123877,\n \"price\": \"0.00395740\",\n \"qty\": \"0.77000000\",\n \"quoteQty\": \"0.00304719\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1556089977693\n },\n {\n \"id\": 43253549,\n \"price\": \"0.00428930\",\n \"qty\": \"23.30000000\",\n \"quoteQty\": \"0.09994069\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1556163963504\n }\n ]\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/allOrders\", signed=True, data=params\n )" + }, + "get_margin_trades": { + "name": "get_margin_trades", + "path": "binance.client.Client.get_margin_trades", + "signature": "(self, **params)", + "description": "Query margin accounts trades\n\nIf fromId is set, it will get orders >= that fromId. Otherwise most recent orders are returned.\n\nhttps://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Trade-List\n\n:param symbol: required\n:type symbol: str\n:param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n:type isIsolated: str\n:param fromId: optional\n:type fromId: str\n:param startTime: optional\n:type startTime: str\n:param endTime: optional\n:type endTime: str\n:param limit: Default 500; max 1000\n:type limit: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n [\n {\n \"commission\": \"0.00006000\",\n \"commissionAsset\": \"BTC\",\n \"id\": 34,\n \"isBestMatch\": true,\n \"isBuyer\": false,\n \"isMaker\": false,\n \"orderId\": 39324,\n \"price\": \"0.02000000\",\n \"qty\": \"3.00000000\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1561973357171\n }, {\n \"commission\": \"0.00002950\",\n \"commissionAsset\": \"BTC\",\n \"id\": 32,\n \"isBestMatch\": true,\n \"isBuyer\": false,\n \"isMaker\": true,\n \"orderId\": 39319,\n \"price\": \"0.00590000\",\n \"qty\": \"5.00000000\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1561964645345\n }\n ]\n\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_trades(self, **params):\n \"\"\"Query margin accounts trades\n\n If fromId is set, it will get orders >= that fromId. Otherwise most recent orders are returned.\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Trade-List\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param fromId: optional\n :type fromId: str\n :param startTime: optional\n :type startTime: str\n :param endTime: optional\n :type endTime: str\n :param limit: Default 500; max 1000\n :type limit: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n [\n {\n \"commission\": \"0.00006000\",\n \"commissionAsset\": \"BTC\",\n \"id\": 34,\n \"isBestMatch\": true,\n \"isBuyer\": false,\n \"isMaker\": false,\n \"orderId\": 39324,\n \"price\": \"0.02000000\",\n \"qty\": \"3.00000000\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1561973357171\n }, {\n \"commission\": \"0.00002950\",\n \"commissionAsset\": \"BTC\",\n \"id\": 32,\n \"isBestMatch\": true,\n \"isBuyer\": false,\n \"isMaker\": true,\n \"orderId\": 39319,\n \"price\": \"0.00590000\",\n \"qty\": \"5.00000000\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1561964645345\n }\n ]\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/myTrades\", signed=True, data=params\n )" + }, + "get_max_margin_loan": { + "name": "get_max_margin_loan", + "path": "binance.client.Client.get_max_margin_loan", + "signature": "(self, **params)", + "description": "Query max borrow amount for an asset\n\nhttps://binance-docs.github.io/apidocs/spot/en/#query-max-borrow-user_data\n\n:param asset: required\n:type asset: str\n:param isolatedSymbol: isolated symbol (if querying isolated margin)\n:type isolatedSymbol: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n {\n \"amount\": \"1.69248805\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_max_margin_loan(self, **params):\n \"\"\"Query max borrow amount for an asset\n\n https://binance-docs.github.io/apidocs/spot/en/#query-max-borrow-user_data\n\n :param asset: required\n :type asset: str\n :param isolatedSymbol: isolated symbol (if querying isolated margin)\n :type isolatedSymbol: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"amount\": \"1.69248805\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/maxBorrowable\", signed=True, data=params\n )" + }, + "get_max_margin_transfer": { + "name": "get_max_margin_transfer", + "path": "binance.client.Client.get_max_margin_transfer", + "signature": "(self, **params)", + "description": "Query max transfer-out amount\n\nhttps://developers.binance.com/docs/margin_trading/transfer/Query-Max-Transfer-Out-Amount\n\n:param asset: required\n:type asset: str\n:param isolatedSymbol: isolated symbol (if querying isolated margin)\n:type isolatedSymbol: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n {\n \"amount\": \"3.59498107\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_max_margin_transfer(self, **params):\n \"\"\"Query max transfer-out amount\n\n https://developers.binance.com/docs/margin_trading/transfer/Query-Max-Transfer-Out-Amount\n\n :param asset: required\n :type asset: str\n :param isolatedSymbol: isolated symbol (if querying isolated margin)\n :type isolatedSymbol: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"amount\": \"3.59498107\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/maxTransferable\", signed=True, data=params\n )" + }, + "get_margin_delist_schedule": { + "name": "get_margin_delist_schedule", + "path": "binance.client.Client.get_margin_delist_schedule", + "signature": "(self, **params)", + "description": "Get tokens or symbols delist schedule for cross margin and isolated margin\n\nhttps://developers.binance.com/docs/margin_trading/market-data/Get-Delist-Schedule\n\n:param recvWindow: optional - the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n [\n {\n \"delistTime\": 1686161202000,\n \"crossMarginAssets\": [\n \"BTC\",\n \"USDT\"\n ],\n \"isolatedMarginSymbols\": [\n \"ADAUSDT\",\n \"BNBUSDT\"\n ]\n },\n {\n \"delistTime\": 1686222232000,\n \"crossMarginAssets\": [\n \"ADA\"\n ],\n \"isolatedMarginSymbols\": []\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_delist_schedule(self, **params):\n \"\"\"Get tokens or symbols delist schedule for cross margin and isolated margin\n\n https://developers.binance.com/docs/margin_trading/market-data/Get-Delist-Schedule\n\n :param recvWindow: optional - the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"delistTime\": 1686161202000,\n \"crossMarginAssets\": [\n \"BTC\",\n \"USDT\"\n ],\n \"isolatedMarginSymbols\": [\n \"ADAUSDT\",\n \"BNBUSDT\"\n ]\n },\n {\n \"delistTime\": 1686222232000,\n \"crossMarginAssets\": [\n \"ADA\"\n ],\n \"isolatedMarginSymbols\": []\n }\n ]\n \"\"\"\n return self._request_margin_api(\n \"get\", \"/margin/delist-schedule\", signed=True, data=params\n )" + }, + "create_margin_oco_order": { + "name": "create_margin_oco_order", + "path": "binance.client.Client.create_margin_oco_order", + "signature": "(self, **params)", + "description": "Post a new OCO trade for margin account.\n\nhttps://developers.binance.com/docs/margin_trading/trade/Margin-Account-New-OCO\n\n\n:param symbol: required\n:type symbol: str\n:param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\uff0cdefault \"FALSE\"\n:type symbol: str\n:param listClientOrderId: A unique id for the list order. Automatically generated if not sent.\n:type listClientOrderId: str\n:param side: required\n:type side: str\n:param quantity: required\n:type quantity: decimal\n:param limitClientOrderId: A unique id for the limit order. Automatically generated if not sent.\n:type limitClientOrderId: str\n:param price: required\n:type price: str\n:param limitIcebergQty: Used to make the LIMIT_MAKER leg an iceberg order.\n:type limitIcebergQty: decimal\n:param stopClientOrderId: A unique Id for the stop loss/stop loss limit leg. Automatically generated if not sent.\n:type stopClientOrderId: str\n:param stopPrice: required\n:type stopPrice: str\n:param stopLimitPrice: If provided, stopLimitTimeInForce is required.\n:type stopLimitPrice: str\n:param stopIcebergQty: Used with STOP_LOSS_LIMIT leg to make an iceberg order.\n:type stopIcebergQty: decimal\n:param stopLimitTimeInForce: Valid values are GTC/FOK/IOC.\n:type stopLimitTimeInForce: str\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param sideEffectType: NO_SIDE_EFFECT, MARGIN_BUY, AUTO_REPAY; default NO_SIDE_EFFECT.\n:type sideEffectType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"orderListId\": 0,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"JYVpp3F0f5CAG15DhtrqLp\",\n \"transactionTime\": 1563417480525,\n \"symbol\": \"LTCBTC\",\n \"marginBuyBorrowAmount\": \"5\", // will not return if no margin trade happens\n \"marginBuyBorrowAsset\": \"BTC\", // will not return if no margin trade happens\n \"isIsolated\": false, // if isolated margin\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 2,\n \"clientOrderId\": \"Kk7sqHb9J6mJWTMDVW7Vos\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 3,\n \"clientOrderId\": \"xTXKaGYd4bluPVp78IVRvl\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 2,\n \"orderListId\": 0,\n \"clientOrderId\": \"Kk7sqHb9J6mJWTMDVW7Vos\",\n \"transactTime\": 1563417480525,\n \"price\": \"0.000000\",\n \"origQty\": \"0.624363\",\n \"executedQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.960664\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 3,\n \"orderListId\": 0,\n \"clientOrderId\": \"xTXKaGYd4bluPVp78IVRvl\",\n \"transactTime\": 1563417480525,\n \"price\": \"0.036435\",\n \"origQty\": \"0.624363\",\n \"executedQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"BUY\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException,\n BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException,\n BinanceOrderInactiveSymbolException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def create_margin_oco_order(self, **params):\n \"\"\"Post a new OCO trade for margin account.\n\n https://developers.binance.com/docs/margin_trading/trade/Margin-Account-New-OCO\n\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\uff0cdefault \"FALSE\"\n :type symbol: str\n :param listClientOrderId: A unique id for the list order. Automatically generated if not sent.\n :type listClientOrderId: str\n :param side: required\n :type side: str\n :param quantity: required\n :type quantity: decimal\n :param limitClientOrderId: A unique id for the limit order. Automatically generated if not sent.\n :type limitClientOrderId: str\n :param price: required\n :type price: str\n :param limitIcebergQty: Used to make the LIMIT_MAKER leg an iceberg order.\n :type limitIcebergQty: decimal\n :param stopClientOrderId: A unique Id for the stop loss/stop loss limit leg. Automatically generated if not sent.\n :type stopClientOrderId: str\n :param stopPrice: required\n :type stopPrice: str\n :param stopLimitPrice: If provided, stopLimitTimeInForce is required.\n :type stopLimitPrice: str\n :param stopIcebergQty: Used with STOP_LOSS_LIMIT leg to make an iceberg order.\n :type stopIcebergQty: decimal\n :param stopLimitTimeInForce: Valid values are GTC/FOK/IOC.\n :type stopLimitTimeInForce: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param sideEffectType: NO_SIDE_EFFECT, MARGIN_BUY, AUTO_REPAY; default NO_SIDE_EFFECT.\n :type sideEffectType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"orderListId\": 0,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"JYVpp3F0f5CAG15DhtrqLp\",\n \"transactionTime\": 1563417480525,\n \"symbol\": \"LTCBTC\",\n \"marginBuyBorrowAmount\": \"5\", // will not return if no margin trade happens\n \"marginBuyBorrowAsset\": \"BTC\", // will not return if no margin trade happens\n \"isIsolated\": false, // if isolated margin\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 2,\n \"clientOrderId\": \"Kk7sqHb9J6mJWTMDVW7Vos\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 3,\n \"clientOrderId\": \"xTXKaGYd4bluPVp78IVRvl\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 2,\n \"orderListId\": 0,\n \"clientOrderId\": \"Kk7sqHb9J6mJWTMDVW7Vos\",\n \"transactTime\": 1563417480525,\n \"price\": \"0.000000\",\n \"origQty\": \"0.624363\",\n \"executedQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.960664\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 3,\n \"orderListId\": 0,\n \"clientOrderId\": \"xTXKaGYd4bluPVp78IVRvl\",\n \"transactTime\": 1563417480525,\n \"price\": \"0.036435\",\n \"origQty\": \"0.624363\",\n \"executedQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"BUY\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException,\n BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException,\n BinanceOrderInactiveSymbolException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/order/oco\", signed=True, data=params\n )" + }, + "cancel_margin_oco_order": { + "name": "cancel_margin_oco_order", + "path": "binance.client.Client.cancel_margin_oco_order", + "signature": "(self, **params)", + "description": "Cancel an entire Order List for a margin account.\n\nhttps://developers.binance.com/docs/margin_trading/trade/Margin-Account-Cancel-OCO\n\n:param symbol: required\n:type symbol: str\n:param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\uff0cdefault \"FALSE\"\n:type symbol: str\n:param orderListId: Either orderListId or listClientOrderId must be provided\n:type orderListId: int\n:param listClientOrderId: Either orderListId or listClientOrderId must be provided\n:type listClientOrderId: str\n:param newClientOrderId: Used to uniquely identify this cancel. Automatically generated by default.\n:type newClientOrderId: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"orderListId\": 0,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"ALL_DONE\",\n \"listOrderStatus\": \"ALL_DONE\",\n \"listClientOrderId\": \"C3wyj4WVEktd7u9aVBRXcN\",\n \"transactionTime\": 1574040868128,\n \"symbol\": \"LTCBTC\",\n \"isIsolated\": false, // if isolated margin\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 2,\n \"clientOrderId\": \"pO9ufTiFGg3nw2fOdgeOXa\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 3,\n \"clientOrderId\": \"TXOvglzXuaubXAaENpaRCB\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"LTCBTC\",\n \"origClientOrderId\": \"pO9ufTiFGg3nw2fOdgeOXa\",\n \"orderId\": 2,\n \"orderListId\": 0,\n \"clientOrderId\": \"unfWT8ig8i0uj6lPuYLez6\",\n \"price\": \"1.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS_LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"1.00000000\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"origClientOrderId\": \"TXOvglzXuaubXAaENpaRCB\",\n \"orderId\": 3,\n \"orderListId\": 0,\n \"clientOrderId\": \"unfWT8ig8i0uj6lPuYLez6\",\n \"price\": \"3.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"SELL\"\n }\n ]\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def cancel_margin_oco_order(self, **params):\n \"\"\"Cancel an entire Order List for a margin account.\n\n https://developers.binance.com/docs/margin_trading/trade/Margin-Account-Cancel-OCO\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\uff0cdefault \"FALSE\"\n :type symbol: str\n :param orderListId: Either orderListId or listClientOrderId must be provided\n :type orderListId: int\n :param listClientOrderId: Either orderListId or listClientOrderId must be provided\n :type listClientOrderId: str\n :param newClientOrderId: Used to uniquely identify this cancel. Automatically generated by default.\n :type newClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"orderListId\": 0,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"ALL_DONE\",\n \"listOrderStatus\": \"ALL_DONE\",\n \"listClientOrderId\": \"C3wyj4WVEktd7u9aVBRXcN\",\n \"transactionTime\": 1574040868128,\n \"symbol\": \"LTCBTC\",\n \"isIsolated\": false, // if isolated margin\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 2,\n \"clientOrderId\": \"pO9ufTiFGg3nw2fOdgeOXa\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 3,\n \"clientOrderId\": \"TXOvglzXuaubXAaENpaRCB\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"LTCBTC\",\n \"origClientOrderId\": \"pO9ufTiFGg3nw2fOdgeOXa\",\n \"orderId\": 2,\n \"orderListId\": 0,\n \"clientOrderId\": \"unfWT8ig8i0uj6lPuYLez6\",\n \"price\": \"1.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS_LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"1.00000000\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"origClientOrderId\": \"TXOvglzXuaubXAaENpaRCB\",\n \"orderId\": 3,\n \"orderListId\": 0,\n \"clientOrderId\": \"unfWT8ig8i0uj6lPuYLez6\",\n \"price\": \"3.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"SELL\"\n }\n ]\n }\n\n \"\"\"\n return self._request_margin_api(\n \"delete\", \"margin/orderList\", signed=True, data=params\n )" + }, + "get_margin_oco_order": { + "name": "get_margin_oco_order", + "path": "binance.client.Client.get_margin_oco_order", + "signature": "(self, **params)", + "description": "Retrieves a specific OCO based on provided optional parameters\n\nhttps://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-OCO\n\n:param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\uff0cdefault \"FALSE\"\n:type symbol: str\n:param symbol: mandatory for isolated margin, not supported for cross margin\n:type symbol: str\n:param orderListId: Either orderListId or listClientOrderId must be provided\n:type orderListId: int\n:param listClientOrderId: Either orderListId or listClientOrderId must be provided\n:type listClientOrderId: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n {\n \"orderListId\": 27,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"h2USkA5YQpaXHPIrkd96xE\",\n \"transactionTime\": 1565245656253,\n \"symbol\": \"LTCBTC\",\n \"isIsolated\": false, // if isolated margin\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 4,\n \"clientOrderId\": \"qD1gy3kc3Gx0rihm9Y3xwS\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 5,\n \"clientOrderId\": \"ARzZ9I00CPM8i3NhmU9Ega\"\n }\n ]\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_margin_oco_order(self, **params):\n \"\"\"Retrieves a specific OCO based on provided optional parameters\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-OCO\n\n :param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\uff0cdefault \"FALSE\"\n :type symbol: str\n :param symbol: mandatory for isolated margin, not supported for cross margin\n :type symbol: str\n :param orderListId: Either orderListId or listClientOrderId must be provided\n :type orderListId: int\n :param listClientOrderId: Either orderListId or listClientOrderId must be provided\n :type listClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"orderListId\": 27,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"h2USkA5YQpaXHPIrkd96xE\",\n \"transactionTime\": 1565245656253,\n \"symbol\": \"LTCBTC\",\n \"isIsolated\": false, // if isolated margin\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 4,\n \"clientOrderId\": \"qD1gy3kc3Gx0rihm9Y3xwS\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 5,\n \"clientOrderId\": \"ARzZ9I00CPM8i3NhmU9Ega\"\n }\n ]\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/orderList\", signed=True, data=params\n )" + }, + "get_open_margin_oco_orders": { + "name": "get_open_margin_oco_orders", + "path": "binance.client.Client.get_open_margin_oco_orders", + "signature": "(self, **params)", + "description": "Retrieves open OCO trades\n\nhttps://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Open-OCO\n\n:param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\uff0cdefault \"FALSE\"\n:type symbol: str\n:param symbol: mandatory for isolated margin, not supported for cross margin\n:type symbol: str\n:param fromId: If supplied, neither startTime or endTime can be provided\n:type fromId: int\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param limit: optional Default Value: 500; Max Value: 1000\n:type limit: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n [\n {\n \"orderListId\": 29,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"amEEAXryFzFwYF1FeRpUoZ\",\n \"transactionTime\": 1565245913483,\n \"symbol\": \"LTCBTC\",\n \"isIsolated\": true, // if isolated margin\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 4,\n \"clientOrderId\": \"oD7aesZqjEGlZrbtRpy5zB\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 5,\n \"clientOrderId\": \"Jr1h6xirOxgeJOUuYQS7V3\"\n }\n ]\n },\n {\n \"orderListId\": 28,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"hG7hFNxJV6cZy3Ze4AUT4d\",\n \"transactionTime\": 1565245913407,\n \"symbol\": \"LTCBTC\",\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 2,\n \"clientOrderId\": \"j6lFOfbmFMRjTYA7rRJ0LP\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 3,\n \"clientOrderId\": \"z0KCjOdditiLS5ekAFtK81\"\n }\n ]\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_open_margin_oco_orders(self, **params):\n \"\"\"Retrieves open OCO trades\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Open-OCO\n\n :param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\uff0cdefault \"FALSE\"\n :type symbol: str\n :param symbol: mandatory for isolated margin, not supported for cross margin\n :type symbol: str\n :param fromId: If supplied, neither startTime or endTime can be provided\n :type fromId: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional Default Value: 500; Max Value: 1000\n :type limit: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n [\n {\n \"orderListId\": 29,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"amEEAXryFzFwYF1FeRpUoZ\",\n \"transactionTime\": 1565245913483,\n \"symbol\": \"LTCBTC\",\n \"isIsolated\": true, // if isolated margin\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 4,\n \"clientOrderId\": \"oD7aesZqjEGlZrbtRpy5zB\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 5,\n \"clientOrderId\": \"Jr1h6xirOxgeJOUuYQS7V3\"\n }\n ]\n },\n {\n \"orderListId\": 28,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"hG7hFNxJV6cZy3Ze4AUT4d\",\n \"transactionTime\": 1565245913407,\n \"symbol\": \"LTCBTC\",\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 2,\n \"clientOrderId\": \"j6lFOfbmFMRjTYA7rRJ0LP\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 3,\n \"clientOrderId\": \"z0KCjOdditiLS5ekAFtK81\"\n }\n ]\n }\n ]\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/openOrderList\", signed=True, data=params\n )" + }, + "margin_stream_get_listen_key": { + "name": "margin_stream_get_listen_key", + "path": "binance.client.Client.margin_stream_get_listen_key", + "signature": "(self)", + "description": "Start a new cross-margin data stream and return the listen key\nIf a stream already exists it should return the same key.\nIf the stream becomes invalid a new key is returned.\n\nCan be used to keep the stream alive.\n\nhttps://developers.binance.com/docs/margin_trading/trade-data-stream/Start-Margin-User-Data-Stream\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"listenKey\": \"pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_stream_get_listen_key(self):\n \"\"\"Start a new cross-margin data stream and return the listen key\n If a stream already exists it should return the same key.\n If the stream becomes invalid a new key is returned.\n\n Can be used to keep the stream alive.\n\n https://developers.binance.com/docs/margin_trading/trade-data-stream/Start-Margin-User-Data-Stream\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"listenKey\": \"pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n res = self._request_margin_api(\"post\", \"userDataStream\", signed=False, data={})\n return res[\"listenKey\"]" + }, + "margin_stream_keepalive": { + "name": "margin_stream_keepalive", + "path": "binance.client.Client.margin_stream_keepalive", + "signature": "(self, listenKey)", + "description": "PING a cross-margin data stream to prevent a time out.\n\nhttps://developers.binance.com/docs/margin_trading/trade-data-stream/Keepalive-Margin-User-Data-Stream\n\n:param listenKey: required\n:type listenKey: str\n\n:returns: API response\n\n.. code-block:: python\n\n {}\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_stream_keepalive(self, listenKey):\n \"\"\"PING a cross-margin data stream to prevent a time out.\n\n https://developers.binance.com/docs/margin_trading/trade-data-stream/Keepalive-Margin-User-Data-Stream\n\n :param listenKey: required\n :type listenKey: str\n\n :returns: API response\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params = {\"listenKey\": listenKey}\n return self._request_margin_api(\n \"put\", \"userDataStream\", signed=False, data=params\n )" + }, + "margin_stream_close": { + "name": "margin_stream_close", + "path": "binance.client.Client.margin_stream_close", + "signature": "(self, listenKey)", + "description": "Close out a cross-margin data stream.\n\nhttps://developers.binance.com/docs/margin_trading/trade-data-stream/Close-Margin-User-Data-Stream\n\n:param listenKey: required\n:type listenKey: str\n\n:returns: API response\n\n.. code-block:: python\n\n {}\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_stream_close(self, listenKey):\n \"\"\"Close out a cross-margin data stream.\n\n https://developers.binance.com/docs/margin_trading/trade-data-stream/Close-Margin-User-Data-Stream\n\n :param listenKey: required\n :type listenKey: str\n\n :returns: API response\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params = {\"listenKey\": listenKey}\n return self._request_margin_api(\n \"delete\", \"userDataStream\", signed=False, data=params\n )" + }, + "isolated_margin_stream_get_listen_key": { + "name": "isolated_margin_stream_get_listen_key", + "path": "binance.client.Client.isolated_margin_stream_get_listen_key", + "signature": "(self, symbol)", + "description": "Start a new isolated margin data stream and return the listen key\nIf a stream already exists it should return the same key.\nIf the stream becomes invalid a new key is returned.\n\nCan be used to keep the stream alive.\n\nhttps://developers.binance.com/docs/margin_trading/trade-data-stream/Start-Isolated-Margin-User-Data-Stream\n\n:param symbol: required - symbol for the isolated margin account\n:type symbol: str\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"listenKey\": \"T3ee22BIYuWqmvne0HNq2A2WsFlEtLhvWCtItw6ffhhdmjifQ2tRbuKkTHhr\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def isolated_margin_stream_get_listen_key(self, symbol):\n \"\"\"Start a new isolated margin data stream and return the listen key\n If a stream already exists it should return the same key.\n If the stream becomes invalid a new key is returned.\n\n Can be used to keep the stream alive.\n\n https://developers.binance.com/docs/margin_trading/trade-data-stream/Start-Isolated-Margin-User-Data-Stream\n\n :param symbol: required - symbol for the isolated margin account\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"listenKey\": \"T3ee22BIYuWqmvne0HNq2A2WsFlEtLhvWCtItw6ffhhdmjifQ2tRbuKkTHhr\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params = {\"symbol\": symbol}\n res = self._request_margin_api(\n \"post\", \"userDataStream/isolated\", signed=False, data=params\n )\n return res[\"listenKey\"]" + }, + "isolated_margin_stream_keepalive": { + "name": "isolated_margin_stream_keepalive", + "path": "binance.client.Client.isolated_margin_stream_keepalive", + "signature": "(self, symbol, listenKey)", + "description": "PING an isolated margin data stream to prevent a time out.\n\nhttps://developers.binance.com/docs/margin_trading/trade-data-stream/Keepalive-Isolated-Margin-User-Data-Stream\n\n:param symbol: required - symbol for the isolated margin account\n:type symbol: str\n:param listenKey: required\n:type listenKey: str\n\n:returns: API response\n\n.. code-block:: python\n\n {}\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def isolated_margin_stream_keepalive(self, symbol, listenKey):\n \"\"\"PING an isolated margin data stream to prevent a time out.\n\n https://developers.binance.com/docs/margin_trading/trade-data-stream/Keepalive-Isolated-Margin-User-Data-Stream\n\n :param symbol: required - symbol for the isolated margin account\n :type symbol: str\n :param listenKey: required\n :type listenKey: str\n\n :returns: API response\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params = {\"symbol\": symbol, \"listenKey\": listenKey}\n return self._request_margin_api(\n \"put\", \"userDataStream/isolated\", signed=False, data=params\n )" + }, + "isolated_margin_stream_close": { + "name": "isolated_margin_stream_close", + "path": "binance.client.Client.isolated_margin_stream_close", + "signature": "(self, symbol, listenKey)", + "description": "Close out an isolated margin data stream.\n\nhttps://developers.binance.com/docs/margin_trading/trade-data-stream/Close-Isolated-Margin-User-Data-Stream\n\n:param symbol: required - symbol for the isolated margin account\n:type symbol: str\n:param listenKey: required\n:type listenKey: str\n\n:returns: API response\n\n.. code-block:: python\n\n {}\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def isolated_margin_stream_close(self, symbol, listenKey):\n \"\"\"Close out an isolated margin data stream.\n\n https://developers.binance.com/docs/margin_trading/trade-data-stream/Close-Isolated-Margin-User-Data-Stream\n\n :param symbol: required - symbol for the isolated margin account\n :type symbol: str\n :param listenKey: required\n :type listenKey: str\n\n :returns: API response\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params = {\"symbol\": symbol, \"listenKey\": listenKey}\n return self._request_margin_api(\n \"delete\", \"userDataStream/isolated\", signed=False, data=params\n )" + }, + "get_simple_earn_flexible_product_list": { + "name": "get_simple_earn_flexible_product_list", + "path": "binance.client.Client.get_simple_earn_flexible_product_list", + "signature": "(self, **params)", + "description": "Get available Simple Earn flexible product list\n\nhttps://binance-docs.github.io/apidocs/spot/en/#get-simple-earn-flexible-product-list-user_data\n\n:param asset: optional\n:type asset: str\n:param current: optional - Currently querying page. Start from 1. Default:1\n:type current: int\n:param size: optional - Default:10, Max:100\n:type size: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"rows\":[\n {\n \"asset\": \"BTC\",\n \"latestAnnualPercentageRate\": \"0.05000000\",\n \"tierAnnualPercentageRate\": {\n \"0-5BTC\": 0.05,\n \"5-10BTC\": 0.03\n },\n \"airDropPercentageRate\": \"0.05000000\",\n \"canPurchase\": true,\n \"canRedeem\": true,\n \"isSoldOut\": true,\n \"hot\": true,\n \"minPurchaseAmount\": \"0.01000000\",\n \"productId\": \"BTC001\",\n \"subscriptionStartTime\": \"1646182276000\",\n \"status\": \"PURCHASING\"\n }\n ],\n \"total\": 1\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_simple_earn_flexible_product_list(self, **params):\n \"\"\"Get available Simple Earn flexible product list\n\n https://binance-docs.github.io/apidocs/spot/en/#get-simple-earn-flexible-product-list-user_data\n\n :param asset: optional\n :type asset: str\n :param current: optional - Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: optional - Default:10, Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"rows\":[\n {\n \"asset\": \"BTC\",\n \"latestAnnualPercentageRate\": \"0.05000000\",\n \"tierAnnualPercentageRate\": {\n \"0-5BTC\": 0.05,\n \"5-10BTC\": 0.03\n },\n \"airDropPercentageRate\": \"0.05000000\",\n \"canPurchase\": true,\n \"canRedeem\": true,\n \"isSoldOut\": true,\n \"hot\": true,\n \"minPurchaseAmount\": \"0.01000000\",\n \"productId\": \"BTC001\",\n \"subscriptionStartTime\": \"1646182276000\",\n \"status\": \"PURCHASING\"\n }\n ],\n \"total\": 1\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"simple-earn/flexible/list\", signed=True, data=params\n )" + }, + "get_simple_earn_locked_product_list": { + "name": "get_simple_earn_locked_product_list", + "path": "binance.client.Client.get_simple_earn_locked_product_list", + "signature": "(self, **params)", + "description": "Get available Simple Earn flexible product list\n\nhttps://binance-docs.github.io/apidocs/spot/en/#get-simple-earn-locked-product-list-user_data\n\n:param asset: optional\n:type asset: str\n:param current: optional - Currently querying page. Start from 1. Default:1\n:type current: int\n:param size: optional - Default:10, Max:100\n:type size: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"rows\": [\n {\n \"projectId\": \"Axs*90\",\n \"detail\": {\n \"asset\": \"AXS\",\n \"rewardAsset\": \"AXS\",\n \"duration\": 90,\n \"renewable\": true,\n \"isSoldOut\": true,\n \"apr\": \"1.2069\",\n \"status\": \"CREATED\",\n \"subscriptionStartTime\": \"1646182276000\",\n \"extraRewardAsset\": \"BNB\",\n \"extraRewardAPR\": \"0.23\"\n },\n \"quota\": {\n \"totalPersonalQuota\": \"2\",\n \"minimum\": \"0.001\"\n }\n }\n ],\n \"total\": 1\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_simple_earn_locked_product_list(self, **params):\n \"\"\"Get available Simple Earn flexible product list\n\n https://binance-docs.github.io/apidocs/spot/en/#get-simple-earn-locked-product-list-user_data\n\n :param asset: optional\n :type asset: str\n :param current: optional - Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: optional - Default:10, Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"rows\": [\n {\n \"projectId\": \"Axs*90\",\n \"detail\": {\n \"asset\": \"AXS\",\n \"rewardAsset\": \"AXS\",\n \"duration\": 90,\n \"renewable\": true,\n \"isSoldOut\": true,\n \"apr\": \"1.2069\",\n \"status\": \"CREATED\",\n \"subscriptionStartTime\": \"1646182276000\",\n \"extraRewardAsset\": \"BNB\",\n \"extraRewardAPR\": \"0.23\"\n },\n \"quota\": {\n \"totalPersonalQuota\": \"2\",\n \"minimum\": \"0.001\"\n }\n }\n ],\n \"total\": 1\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"simple-earn/locked/list\", signed=True, data=params\n )" + }, + "subscribe_simple_earn_flexible_product": { + "name": "subscribe_simple_earn_flexible_product", + "path": "binance.client.Client.subscribe_simple_earn_flexible_product", + "signature": "(self, **params)", + "description": "Subscribe to a simple earn flexible product\n\nhttps://binance-docs.github.io/apidocs/spot/en/#subscribe-locked-product-trade\n\n:param productId: required\n:type productId: str\n:param amount: required\n:type amount: str\n:param autoSubscribe: optional - Default True\n:type autoSubscribe: bool\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"purchaseId\": 40607,\n \"success\": true\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def subscribe_simple_earn_flexible_product(self, **params):\n \"\"\"Subscribe to a simple earn flexible product\n\n https://binance-docs.github.io/apidocs/spot/en/#subscribe-locked-product-trade\n\n :param productId: required\n :type productId: str\n :param amount: required\n :type amount: str\n :param autoSubscribe: optional - Default True\n :type autoSubscribe: bool\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"purchaseId\": 40607,\n \"success\": true\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"simple-earn/flexible/subscribe\", signed=True, data=params\n )" + }, + "subscribe_simple_earn_locked_product": { + "name": "subscribe_simple_earn_locked_product", + "path": "binance.client.Client.subscribe_simple_earn_locked_product", + "signature": "(self, **params)", + "description": "Subscribe to a simple earn locked product\n\nhttps://binance-docs.github.io/apidocs/spot/en/#subscribe-locked-product-trade\n\n:param productId: required\n:type productId: str\n:param amount: required\n:type amount: str\n:param autoSubscribe: optional - Default True\n:type autoSubscribe: bool\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"purchaseId\": 40607,\n \"positionId\": \"12345\",\n \"success\": true\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def subscribe_simple_earn_locked_product(self, **params):\n \"\"\"Subscribe to a simple earn locked product\n\n https://binance-docs.github.io/apidocs/spot/en/#subscribe-locked-product-trade\n\n :param productId: required\n :type productId: str\n :param amount: required\n :type amount: str\n :param autoSubscribe: optional - Default True\n :type autoSubscribe: bool\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"purchaseId\": 40607,\n \"positionId\": \"12345\",\n \"success\": true\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"simple-earn/locked/subscribe\", signed=True, data=params\n )" + }, + "redeem_simple_earn_flexible_product": { + "name": "redeem_simple_earn_flexible_product", + "path": "binance.client.Client.redeem_simple_earn_flexible_product", + "signature": "(self, **params)", + "description": "Redeem a simple earn flexible product\n\nhttps://binance-docs.github.io/apidocs/spot/en/#redeem-flexible-product-trade\n\n:param productId: required\n:type productId: str\n:param amount: optional\n:type amount: str\n:param redeemAll: optional - Default False\n:type redeemAll: bool\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"redeemId\": 40607,\n \"success\": true\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def redeem_simple_earn_flexible_product(self, **params):\n \"\"\"Redeem a simple earn flexible product\n\n https://binance-docs.github.io/apidocs/spot/en/#redeem-flexible-product-trade\n\n :param productId: required\n :type productId: str\n :param amount: optional\n :type amount: str\n :param redeemAll: optional - Default False\n :type redeemAll: bool\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"redeemId\": 40607,\n \"success\": true\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"simple-earn/flexible/redeem\", signed=True, data=params\n )" + }, + "redeem_simple_earn_locked_product": { + "name": "redeem_simple_earn_locked_product", + "path": "binance.client.Client.redeem_simple_earn_locked_product", + "signature": "(self, **params)", + "description": "Redeem a simple earn locked product\n\nhttps://binance-docs.github.io/apidocs/spot/en/#redeem-locked-product-trade\n\n:param productId: required\n:type productId: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"redeemId\": 40607,\n \"success\": true\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def redeem_simple_earn_locked_product(self, **params):\n \"\"\"Redeem a simple earn locked product\n\n https://binance-docs.github.io/apidocs/spot/en/#redeem-locked-product-trade\n\n :param productId: required\n :type productId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"redeemId\": 40607,\n \"success\": true\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"simple-earn/locked/redeem\", signed=True, data=params\n )" + }, + "get_simple_earn_flexible_product_position": { + "name": "get_simple_earn_flexible_product_position", + "path": "binance.client.Client.get_simple_earn_flexible_product_position", + "signature": "(self, **params)", + "description": "https://binance-docs.github.io/apidocs/spot/en/#get-flexible-product-position-user_data\n\n:param asset: optional\n:type asset: str\n:param current: optional - Currently querying page. Start from 1. Default:1\n:type current: int\n:param size: optional - Default:10, Max:100\n:type size: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"rows\":[\n {\n \"totalAmount\": \"75.46000000\",\n \"tierAnnualPercentageRate\": {\n \"0-5BTC\": 0.05,\n \"5-10BTC\": 0.03\n },\n \"latestAnnualPercentageRate\": \"0.02599895\",\n \"yesterdayAirdropPercentageRate\": \"0.02599895\",\n \"asset\": \"USDT\",\n \"airDropAsset\": \"BETH\",\n \"canRedeem\": true,\n \"collateralAmount\": \"232.23123213\",\n \"productId\": \"USDT001\",\n \"yesterdayRealTimeRewards\": \"0.10293829\",\n \"cumulativeBonusRewards\": \"0.22759183\",\n \"cumulativeRealTimeRewards\": \"0.22759183\",\n \"cumulativeTotalRewards\": \"0.45459183\",\n \"autoSubscribe\": true\n }\n ],\n \"total\": 1\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_simple_earn_flexible_product_position(self, **params):\n \"\"\"\n\n https://binance-docs.github.io/apidocs/spot/en/#get-flexible-product-position-user_data\n\n :param asset: optional\n :type asset: str\n :param current: optional - Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: optional - Default:10, Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"rows\":[\n {\n \"totalAmount\": \"75.46000000\",\n \"tierAnnualPercentageRate\": {\n \"0-5BTC\": 0.05,\n \"5-10BTC\": 0.03\n },\n \"latestAnnualPercentageRate\": \"0.02599895\",\n \"yesterdayAirdropPercentageRate\": \"0.02599895\",\n \"asset\": \"USDT\",\n \"airDropAsset\": \"BETH\",\n \"canRedeem\": true,\n \"collateralAmount\": \"232.23123213\",\n \"productId\": \"USDT001\",\n \"yesterdayRealTimeRewards\": \"0.10293829\",\n \"cumulativeBonusRewards\": \"0.22759183\",\n \"cumulativeRealTimeRewards\": \"0.22759183\",\n \"cumulativeTotalRewards\": \"0.45459183\",\n \"autoSubscribe\": true\n }\n ],\n \"total\": 1\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"simple-earn/flexible/position\", signed=True, data=params\n )" + }, + "get_simple_earn_locked_product_position": { + "name": "get_simple_earn_locked_product_position", + "path": "binance.client.Client.get_simple_earn_locked_product_position", + "signature": "(self, **params)", + "description": "https://binance-docs.github.io/apidocs/spot/en/#get-locked-product-position-user_data\n\n:param asset: optional\n:type asset: str\n:param current: optional - Currently querying page. Start from 1. Default:1\n:type current: int\n:param size: optional - Default:10, Max:100\n:type size: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"rows\":[\n {\n \"positionId\": \"123123\",\n \"projectId\": \"Axs*90\",\n \"asset\": \"AXS\",\n \"amount\": \"122.09202928\",\n \"purchaseTime\": \"1646182276000\",\n \"duration\": \"60\",\n \"accrualDays\": \"4\",\n \"rewardAsset\": \"AXS\",\n \"APY\": \"0.23\",\n \"isRenewable\": true,\n \"isAutoRenew\": true,\n \"redeemDate\": \"1732182276000\"\n }\n ],\n \"total\": 1\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_simple_earn_locked_product_position(self, **params):\n \"\"\"\n\n https://binance-docs.github.io/apidocs/spot/en/#get-locked-product-position-user_data\n\n :param asset: optional\n :type asset: str\n :param current: optional - Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: optional - Default:10, Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"rows\":[\n {\n \"positionId\": \"123123\",\n \"projectId\": \"Axs*90\",\n \"asset\": \"AXS\",\n \"amount\": \"122.09202928\",\n \"purchaseTime\": \"1646182276000\",\n \"duration\": \"60\",\n \"accrualDays\": \"4\",\n \"rewardAsset\": \"AXS\",\n \"APY\": \"0.23\",\n \"isRenewable\": true,\n \"isAutoRenew\": true,\n \"redeemDate\": \"1732182276000\"\n }\n ],\n \"total\": 1\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"simple-earn/locked/position\", signed=True, data=params\n )" + }, + "get_simple_earn_account": { + "name": "get_simple_earn_account", + "path": "binance.client.Client.get_simple_earn_account", + "signature": "(self, **params)", + "description": "https://binance-docs.github.io/apidocs/spot/en/#simple-account-user_data\n\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"totalAmountInBTC\": \"0.01067982\",\n \"totalAmountInUSDT\": \"77.13289230\",\n \"totalFlexibleAmountInBTC\": \"0.00000000\",\n \"totalFlexibleAmountInUSDT\": \"0.00000000\",\n \"totalLockedInBTC\": \"0.01067982\",\n \"totalLockedInUSDT\": \"77.13289230\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_simple_earn_account(self, **params):\n \"\"\"\n\n https://binance-docs.github.io/apidocs/spot/en/#simple-account-user_data\n\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"totalAmountInBTC\": \"0.01067982\",\n \"totalAmountInUSDT\": \"77.13289230\",\n \"totalFlexibleAmountInBTC\": \"0.00000000\",\n \"totalFlexibleAmountInUSDT\": \"0.00000000\",\n \"totalLockedInBTC\": \"0.01067982\",\n \"totalLockedInUSDT\": \"77.13289230\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"simple-earn/account\", signed=True, data=params\n )" + }, + "get_fixed_activity_project_list": { + "name": "get_fixed_activity_project_list", + "path": "binance.client.Client.get_fixed_activity_project_list", + "signature": "(self, **params)", + "description": "Get Fixed and Activity Project List\n\nhttps://binance-docs.github.io/apidocs/spot/en/#get-fixed-and-activity-project-list-user_data\n\n:param asset: optional\n:type asset: str\n:param type: required - \"ACTIVITY\", \"CUSTOMIZED_FIXED\"\n:type type: str\n:param status: optional - \"ALL\", \"SUBSCRIBABLE\", \"UNSUBSCRIBABLE\"; default \"ALL\"\n:type status: str\n:param sortBy: optional - \"START_TIME\", \"LOT_SIZE\", \"INTEREST_RATE\", \"DURATION\"; default \"START_TIME\"\n:type sortBy: str\n:param current: optional - Currently querying page. Start from 1. Default:1\n:type current: int\n:param size: optional - Default:10, Max:100\n:type size: int\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"asset\": \"USDT\",\n \"displayPriority\": 1,\n \"duration\": 90,\n \"interestPerLot\": \"1.35810000\",\n \"interestRate\": \"0.05510000\",\n \"lotSize\": \"100.00000000\",\n \"lotsLowLimit\": 1,\n \"lotsPurchased\": 74155,\n \"lotsUpLimit\": 80000,\n \"maxLotsPerUser\": 2000,\n \"needKyc\": False,\n \"projectId\": \"CUSDT90DAYSS001\",\n \"projectName\": \"USDT\",\n \"status\": \"PURCHASING\",\n \"type\": \"CUSTOMIZED_FIXED\",\n \"withAreaLimitation\": False\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_fixed_activity_project_list(self, **params):\n \"\"\"Get Fixed and Activity Project List\n\n https://binance-docs.github.io/apidocs/spot/en/#get-fixed-and-activity-project-list-user_data\n\n :param asset: optional\n :type asset: str\n :param type: required - \"ACTIVITY\", \"CUSTOMIZED_FIXED\"\n :type type: str\n :param status: optional - \"ALL\", \"SUBSCRIBABLE\", \"UNSUBSCRIBABLE\"; default \"ALL\"\n :type status: str\n :param sortBy: optional - \"START_TIME\", \"LOT_SIZE\", \"INTEREST_RATE\", \"DURATION\"; default \"START_TIME\"\n :type sortBy: str\n :param current: optional - Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: optional - Default:10, Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"asset\": \"USDT\",\n \"displayPriority\": 1,\n \"duration\": 90,\n \"interestPerLot\": \"1.35810000\",\n \"interestRate\": \"0.05510000\",\n \"lotSize\": \"100.00000000\",\n \"lotsLowLimit\": 1,\n \"lotsPurchased\": 74155,\n \"lotsUpLimit\": 80000,\n \"maxLotsPerUser\": 2000,\n \"needKyc\": False,\n \"projectId\": \"CUSDT90DAYSS001\",\n \"projectName\": \"USDT\",\n \"status\": \"PURCHASING\",\n \"type\": \"CUSTOMIZED_FIXED\",\n \"withAreaLimitation\": False\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"lending/project/list\", signed=True, data=params\n )" + }, + "change_fixed_activity_to_daily_position": { + "name": "change_fixed_activity_to_daily_position", + "path": "binance.client.Client.change_fixed_activity_to_daily_position", + "signature": "(self, **params)", + "description": "Change Fixed/Activity Position to Daily Position\n\nhttps://binance-docs.github.io/apidocs/spot/en/#change-fixed-activity-position-to-daily-position-user_data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def change_fixed_activity_to_daily_position(self, **params):\n \"\"\"Change Fixed/Activity Position to Daily Position\n\n https://binance-docs.github.io/apidocs/spot/en/#change-fixed-activity-position-to-daily-position-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"lending/positionChanged\", signed=True, data=params\n )" + }, + "get_staking_product_list": { + "name": "get_staking_product_list", + "path": "binance.client.Client.get_staking_product_list", + "signature": "(self, **params)", + "description": "Get Staking Product List\n\nhttps://binance-docs.github.io/apidocs/spot/en/#get-staking-product-list-user_data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_staking_product_list(self, **params):\n \"\"\"Get Staking Product List\n\n https://binance-docs.github.io/apidocs/spot/en/#get-staking-product-list-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"staking/productList\", signed=True, data=params\n )" + }, + "purchase_staking_product": { + "name": "purchase_staking_product", + "path": "binance.client.Client.purchase_staking_product", + "signature": "(self, **params)", + "description": "Purchase Staking Product\n\nhttps://binance-docs.github.io/apidocs/spot/en/#purchase-staking-product-user_data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def purchase_staking_product(self, **params):\n \"\"\"Purchase Staking Product\n\n https://binance-docs.github.io/apidocs/spot/en/#purchase-staking-product-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"staking/purchase\", signed=True, data=params\n )" + }, + "redeem_staking_product": { + "name": "redeem_staking_product", + "path": "binance.client.Client.redeem_staking_product", + "signature": "(self, **params)", + "description": "Redeem Staking Product\n\nhttps://binance-docs.github.io/apidocs/spot/en/#redeem-staking-product-user_data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def redeem_staking_product(self, **params):\n \"\"\"Redeem Staking Product\n\n https://binance-docs.github.io/apidocs/spot/en/#redeem-staking-product-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"staking/redeem\", signed=True, data=params\n )" + }, + "get_staking_position": { + "name": "get_staking_position", + "path": "binance.client.Client.get_staking_position", + "signature": "(self, **params)", + "description": "Get Staking Product Position\n\nhttps://binance-docs.github.io/apidocs/spot/en/#get-staking-product-position-user_data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_staking_position(self, **params):\n \"\"\"Get Staking Product Position\n\n https://binance-docs.github.io/apidocs/spot/en/#get-staking-product-position-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"staking/position\", signed=True, data=params\n )" + }, + "get_staking_purchase_history": { + "name": "get_staking_purchase_history", + "path": "binance.client.Client.get_staking_purchase_history", + "signature": "(self, **params)", + "description": "Get Staking Purchase History\n\nhttps://binance-docs.github.io/apidocs/spot/en/#get-staking-history-user_data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_staking_purchase_history(self, **params):\n \"\"\"Get Staking Purchase History\n\n https://binance-docs.github.io/apidocs/spot/en/#get-staking-history-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"staking/purchaseRecord\", signed=True, data=params\n )" + }, + "set_auto_staking": { + "name": "set_auto_staking", + "path": "binance.client.Client.set_auto_staking", + "signature": "(self, **params)", + "description": "Set Auto Staking on Locked Staking or Locked DeFi Staking\n\nhttps://binance-docs.github.io/apidocs/spot/en/#set-auto-staking-user_data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def set_auto_staking(self, **params):\n \"\"\"Set Auto Staking on Locked Staking or Locked DeFi Staking\n\n https://binance-docs.github.io/apidocs/spot/en/#set-auto-staking-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"staking/setAutoStaking\", signed=True, data=params\n )" + }, + "get_personal_left_quota": { + "name": "get_personal_left_quota", + "path": "binance.client.Client.get_personal_left_quota", + "signature": "(self, **params)", + "description": "Get Personal Left Quota of Staking Product\n\nhttps://binance-docs.github.io/apidocs/spot/en/#get-personal-left-quota-of-staking-product-user_data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_personal_left_quota(self, **params):\n \"\"\"Get Personal Left Quota of Staking Product\n\n https://binance-docs.github.io/apidocs/spot/en/#get-personal-left-quota-of-staking-product-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"staking/personalLeftQuota\", signed=True, data=params\n )" + }, + "get_staking_asset_us": { + "name": "get_staking_asset_us", + "path": "binance.client.Client.get_staking_asset_us", + "signature": "(self, **params)", + "description": "Get staking information for a supported asset (or assets)\n\nhttps://docs.binance.us/#get-staking-asset-information", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_staking_asset_us(self, **params):\n \"\"\"Get staking information for a supported asset (or assets)\n\n https://docs.binance.us/#get-staking-asset-information\n\n \"\"\"\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return self._request_margin_api(\"get\", \"staking/asset\", True, data=params)" + }, + "stake_asset_us": { + "name": "stake_asset_us", + "path": "binance.client.Client.stake_asset_us", + "signature": "(self, **params)", + "description": "Stake a supported asset.\n\nhttps://docs.binance.us/#stake-asset", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def stake_asset_us(self, **params):\n \"\"\"Stake a supported asset.\n\n https://docs.binance.us/#stake-asset\n\n \"\"\"\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return self._request_margin_api(\"post\", \"staking/stake\", True, data=params)" + }, + "unstake_asset_us": { + "name": "unstake_asset_us", + "path": "binance.client.Client.unstake_asset_us", + "signature": "(self, **params)", + "description": "Unstake a staked asset\n\nhttps://docs.binance.us/#unstake-asset", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def unstake_asset_us(self, **params):\n \"\"\"Unstake a staked asset\n\n https://docs.binance.us/#unstake-asset\n\n \"\"\"\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return self._request_margin_api(\"post\", \"staking/unstake\", True, data=params)" + }, + "get_staking_balance_us": { + "name": "get_staking_balance_us", + "path": "binance.client.Client.get_staking_balance_us", + "signature": "(self, **params)", + "description": "Get staking balance\n\nhttps://docs.binance.us/#get-staking-balance", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_staking_balance_us(self, **params):\n \"\"\"Get staking balance\n\n https://docs.binance.us/#get-staking-balance\n\n \"\"\"\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return self._request_margin_api(\n \"get\", \"staking/stakingBalance\", True, data=params\n )" + }, + "get_staking_history_us": { + "name": "get_staking_history_us", + "path": "binance.client.Client.get_staking_history_us", + "signature": "(self, **params)", + "description": "Get staking history\n\nhttps://docs.binance.us/#get-staking-history", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_staking_history_us(self, **params):\n \"\"\"Get staking history\n\n https://docs.binance.us/#get-staking-history\n\n \"\"\"\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return self._request_margin_api(\"get\", \"staking/history\", True, data=params)" + }, + "get_staking_rewards_history_us": { + "name": "get_staking_rewards_history_us", + "path": "binance.client.Client.get_staking_rewards_history_us", + "signature": "(self, **params)", + "description": "Get staking rewards history for an asset(or assets) within a given time range.\n\nhttps://docs.binance.us/#get-staking-rewards-history", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_staking_rewards_history_us(self, **params):\n \"\"\"Get staking rewards history for an asset(or assets) within a given time range.\n\n https://docs.binance.us/#get-staking-rewards-history\n\n \"\"\"\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return self._request_margin_api(\n \"get\", \"staking/stakingRewardsHistory\", True, data=params\n )" + }, + "get_sub_account_list": { + "name": "get_sub_account_list", + "path": "binance.client.Client.get_sub_account_list", + "signature": "(self, **params)", + "description": "Query Sub-account List.\n\nhttps://developers.binance.com/docs/sub_account/account-management/Query-Sub-account-List\n\n:param email: optional - Sub-account email\n:type email: str\n:param isFreeze: optional\n:type isFreeze: str\n:param page: optional - Default value: 1\n:type page: int\n:param limit: optional - Default value: 1, Max value: 200\n:type limit: int\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"subAccounts\":[\n {\n \"email\":\"testsub@gmail.com\",\n \"isFreeze\":false,\n \"createTime\":1544433328000\n },\n {\n \"email\":\"virtual@oxebmvfonoemail.com\",\n \"isFreeze\":false,\n \"createTime\":1544433328000\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_sub_account_list(self, **params):\n \"\"\"Query Sub-account List.\n\n https://developers.binance.com/docs/sub_account/account-management/Query-Sub-account-List\n\n :param email: optional - Sub-account email\n :type email: str\n :param isFreeze: optional\n :type isFreeze: str\n :param page: optional - Default value: 1\n :type page: int\n :param limit: optional - Default value: 1, Max value: 200\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"subAccounts\":[\n {\n \"email\":\"testsub@gmail.com\",\n \"isFreeze\":false,\n \"createTime\":1544433328000\n },\n {\n \"email\":\"virtual@oxebmvfonoemail.com\",\n \"isFreeze\":false,\n \"createTime\":1544433328000\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"sub-account/list\", True, data=params)" + }, + "get_sub_account_transfer_history": { + "name": "get_sub_account_transfer_history", + "path": "binance.client.Client.get_sub_account_transfer_history", + "signature": "(self, **params)", + "description": "Query Sub-account Transfer History.\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Query-Sub-account-Spot-Asset-Transfer-History\n\n:param fromEmail: optional\n:type fromEmail: str\n:param toEmail: optional\n:type toEmail: str\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param page: optional - Default value: 1\n:type page: int\n:param limit: optional - Default value: 500\n:type limit: int\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"from\":\"aaa@test.com\",\n \"to\":\"bbb@test.com\",\n \"asset\":\"BTC\",\n \"qty\":\"10\",\n \"status\": \"SUCCESS\",\n \"tranId\": 6489943656,\n \"time\":1544433328000\n },\n {\n \"from\":\"bbb@test.com\",\n \"to\":\"ccc@test.com\",\n \"asset\":\"ETH\",\n \"qty\":\"2\",\n \"status\": \"SUCCESS\",\n \"tranId\": 6489938713,\n \"time\":1544433328000\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_sub_account_transfer_history(self, **params):\n \"\"\"Query Sub-account Transfer History.\n\n https://developers.binance.com/docs/sub_account/asset-management/Query-Sub-account-Spot-Asset-Transfer-History\n\n :param fromEmail: optional\n :type fromEmail: str\n :param toEmail: optional\n :type toEmail: str\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param page: optional - Default value: 1\n :type page: int\n :param limit: optional - Default value: 500\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"from\":\"aaa@test.com\",\n \"to\":\"bbb@test.com\",\n \"asset\":\"BTC\",\n \"qty\":\"10\",\n \"status\": \"SUCCESS\",\n \"tranId\": 6489943656,\n \"time\":1544433328000\n },\n {\n \"from\":\"bbb@test.com\",\n \"to\":\"ccc@test.com\",\n \"asset\":\"ETH\",\n \"qty\":\"2\",\n \"status\": \"SUCCESS\",\n \"tranId\": 6489938713,\n \"time\":1544433328000\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/sub/transfer/history\", True, data=params\n )" + }, + "get_sub_account_futures_transfer_history": { + "name": "get_sub_account_futures_transfer_history", + "path": "binance.client.Client.get_sub_account_futures_transfer_history", + "signature": "(self, **params)", + "description": "Query Sub-account Futures Transfer History.\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Query-Sub-account-Futures-Asset-Transfer-History\n\n:param email: required\n:type email: str\n:param futuresType: required\n:type futuresType: int\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param page: optional\n:type page: int\n:param limit: optional\n:type limit: int\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"success\":true,\n \"futuresType\": 2,\n \"transfers\":[\n {\n \"from\":\"aaa@test.com\",\n \"to\":\"bbb@test.com\",\n \"asset\":\"BTC\",\n \"qty\":\"1\",\n \"time\":1544433328000\n },\n {\n \"from\":\"bbb@test.com\",\n \"to\":\"ccc@test.com\",\n \"asset\":\"ETH\",\n \"qty\":\"2\",\n \"time\":1544433328000\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_sub_account_futures_transfer_history(self, **params):\n \"\"\"Query Sub-account Futures Transfer History.\n\n https://developers.binance.com/docs/sub_account/asset-management/Query-Sub-account-Futures-Asset-Transfer-History\n\n :param email: required\n :type email: str\n :param futuresType: required\n :type futuresType: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param page: optional\n :type page: int\n :param limit: optional\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"success\":true,\n \"futuresType\": 2,\n \"transfers\":[\n {\n \"from\":\"aaa@test.com\",\n \"to\":\"bbb@test.com\",\n \"asset\":\"BTC\",\n \"qty\":\"1\",\n \"time\":1544433328000\n },\n {\n \"from\":\"bbb@test.com\",\n \"to\":\"ccc@test.com\",\n \"asset\":\"ETH\",\n \"qty\":\"2\",\n \"time\":1544433328000\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/futures/internalTransfer\", True, data=params\n )" + }, + "create_sub_account_futures_transfer": { + "name": "create_sub_account_futures_transfer", + "path": "binance.client.Client.create_sub_account_futures_transfer", + "signature": "(self, **params)", + "description": "Execute sub-account Futures transfer\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Sub-account-Futures-Asset-Transfer\n\n:param fromEmail: required - Sender email\n:type fromEmail: str\n:param toEmail: required - Recipient email\n:type toEmail: str\n:param futuresType: required\n:type futuresType: int\n:param asset: required\n:type asset: str\n:param amount: required\n:type amount: decimal\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"success\":true,\n \"txnId\":\"2934662589\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def create_sub_account_futures_transfer(self, **params):\n \"\"\"Execute sub-account Futures transfer\n\n https://developers.binance.com/docs/sub_account/asset-management/Sub-account-Futures-Asset-Transfer\n\n :param fromEmail: required - Sender email\n :type fromEmail: str\n :param toEmail: required - Recipient email\n :type toEmail: str\n :param futuresType: required\n :type futuresType: int\n :param asset: required\n :type asset: str\n :param amount: required\n :type amount: decimal\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"success\":true,\n \"txnId\":\"2934662589\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/futures/internalTransfer\", True, data=params\n )" + }, + "get_sub_account_assets": { + "name": "get_sub_account_assets", + "path": "binance.client.Client.get_sub_account_assets", + "signature": "(self, **params)", + "description": "Fetch sub-account assets\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Query-Sub-account-Assets-V4\n\n:param email: required\n:type email: str\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"balances\":[\n {\n \"asset\":\"ADA\",\n \"free\":10000,\n \"locked\":0\n },\n {\n \"asset\":\"BNB\",\n \"free\":10003,\n \"locked\":0\n },\n {\n \"asset\":\"BTC\",\n \"free\":11467.6399,\n \"locked\":0\n },\n {\n \"asset\":\"ETH\",\n \"free\":10004.995,\n \"locked\":0\n },\n {\n \"asset\":\"USDT\",\n \"free\":11652.14213,\n \"locked\":0\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_sub_account_assets(self, **params):\n \"\"\"Fetch sub-account assets\n\n https://developers.binance.com/docs/sub_account/asset-management/Query-Sub-account-Assets-V4\n\n :param email: required\n :type email: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"balances\":[\n {\n \"asset\":\"ADA\",\n \"free\":10000,\n \"locked\":0\n },\n {\n \"asset\":\"BNB\",\n \"free\":10003,\n \"locked\":0\n },\n {\n \"asset\":\"BTC\",\n \"free\":11467.6399,\n \"locked\":0\n },\n {\n \"asset\":\"ETH\",\n \"free\":10004.995,\n \"locked\":0\n },\n {\n \"asset\":\"USDT\",\n \"free\":11652.14213,\n \"locked\":0\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/assets\", True, data=params, version=4\n )" + }, + "query_subaccount_spot_summary": { + "name": "query_subaccount_spot_summary", + "path": "binance.client.Client.query_subaccount_spot_summary", + "signature": "(self, **params)", + "description": "Query Sub-account Spot Assets Summary (For Master Account)\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Query-Sub-account-Spot-Assets-Summary\n\n:param email: optional - Sub account email\n:type email: str\n:param page: optional - default 1\n:type page: int\n:param size: optional - default 10, max 20\n:type size: int\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"totalCount\":2,\n \"masterAccountTotalAsset\": \"0.23231201\",\n \"spotSubUserAssetBtcVoList\":[\n {\n \"email\":\"sub123@test.com\",\n \"totalAsset\":\"9999.00000000\"\n },\n {\n \"email\":\"test456@test.com\",\n \"totalAsset\":\"0.00000000\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def query_subaccount_spot_summary(self, **params):\n \"\"\"Query Sub-account Spot Assets Summary (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Query-Sub-account-Spot-Assets-Summary\n\n :param email: optional - Sub account email\n :type email: str\n :param page: optional - default 1\n :type page: int\n :param size: optional - default 10, max 20\n :type size: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"totalCount\":2,\n \"masterAccountTotalAsset\": \"0.23231201\",\n \"spotSubUserAssetBtcVoList\":[\n {\n \"email\":\"sub123@test.com\",\n \"totalAsset\":\"9999.00000000\"\n },\n {\n \"email\":\"test456@test.com\",\n \"totalAsset\":\"0.00000000\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/spotSummary\", True, data=params\n )" + }, + "get_subaccount_deposit_address": { + "name": "get_subaccount_deposit_address", + "path": "binance.client.Client.get_subaccount_deposit_address", + "signature": "(self, **params)", + "description": "Get Sub-account Deposit Address (For Master Account)\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Get-Sub-account-Deposit-Address\n\n:param email: required - Sub account email\n:type email: str\n:param coin: required\n:type coin: str\n:param network: optional\n:type network: str\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"address\":\"TDunhSa7jkTNuKrusUTU1MUHtqXoBPKETV\",\n \"coin\":\"USDT\",\n \"tag\":\"\",\n \"url\":\"https://tronscan.org/#/address/TDunhSa7jkTNuKrusUTU1MUHtqXoBPKETV\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_subaccount_deposit_address(self, **params):\n \"\"\"Get Sub-account Deposit Address (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Get-Sub-account-Deposit-Address\n\n :param email: required - Sub account email\n :type email: str\n :param coin: required\n :type coin: str\n :param network: optional\n :type network: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"address\":\"TDunhSa7jkTNuKrusUTU1MUHtqXoBPKETV\",\n \"coin\":\"USDT\",\n \"tag\":\"\",\n \"url\":\"https://tronscan.org/#/address/TDunhSa7jkTNuKrusUTU1MUHtqXoBPKETV\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"capital/deposit/subAddress\", True, data=params\n )" + }, + "get_subaccount_deposit_history": { + "name": "get_subaccount_deposit_history", + "path": "binance.client.Client.get_subaccount_deposit_history", + "signature": "(self, **params)", + "description": "Get Sub-account Deposit History (For Master Account)\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Get-Sub-account-Deposit-History\n\n:param email: required - Sub account email\n:type email: str\n:param coin: optional\n:type coin: str\n:param status: optional - (0:pending,6: credited but cannot withdraw, 1:success)\n:type status: int\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param limit: optional\n:type limit: int\n:param offset: optional - default:0\n:type offset: int\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"amount\":\"0.00999800\",\n \"coin\":\"PAXG\",\n \"network\":\"ETH\",\n \"status\":1,\n \"address\":\"0x788cabe9236ce061e5a892e1a59395a81fc8d62c\",\n \"addressTag\":\"\",\n \"txId\":\"0xaad4654a3234aa6118af9b4b335f5ae81c360b2394721c019b5d1e75328b09f3\",\n \"insertTime\":1599621997000,\n \"transferType\":0,\n \"confirmTimes\":\"12/12\"\n },\n {\n \"amount\":\"0.50000000\",\n \"coin\":\"IOTA\",\n \"network\":\"IOTA\",\n \"status\":1,\n \"address\":\"SIZ9VLMHWATXKV99LH99CIGFJFUMLEHGWVZVNNZXRJJVWBPHYWPPBOSDORZ9EQSHCZAMPVAPGFYQAUUV9DROOXJLNW\",\n \"addressTag\":\"\",\n \"txId\":\"ESBFVQUTPIWQNJSPXFNHNYHSQNTGKRVKPRABQWTAXCDWOAKDKYWPTVG9BGXNVNKTLEJGESAVXIKIZ9999\",\n \"insertTime\":1599620082000,\n \"transferType\":0,\n \"confirmTimes\":\"1/1\"\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_subaccount_deposit_history(self, **params):\n \"\"\"Get Sub-account Deposit History (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Get-Sub-account-Deposit-History\n\n :param email: required - Sub account email\n :type email: str\n :param coin: optional\n :type coin: str\n :param status: optional - (0:pending,6: credited but cannot withdraw, 1:success)\n :type status: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional\n :type limit: int\n :param offset: optional - default:0\n :type offset: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"amount\":\"0.00999800\",\n \"coin\":\"PAXG\",\n \"network\":\"ETH\",\n \"status\":1,\n \"address\":\"0x788cabe9236ce061e5a892e1a59395a81fc8d62c\",\n \"addressTag\":\"\",\n \"txId\":\"0xaad4654a3234aa6118af9b4b335f5ae81c360b2394721c019b5d1e75328b09f3\",\n \"insertTime\":1599621997000,\n \"transferType\":0,\n \"confirmTimes\":\"12/12\"\n },\n {\n \"amount\":\"0.50000000\",\n \"coin\":\"IOTA\",\n \"network\":\"IOTA\",\n \"status\":1,\n \"address\":\"SIZ9VLMHWATXKV99LH99CIGFJFUMLEHGWVZVNNZXRJJVWBPHYWPPBOSDORZ9EQSHCZAMPVAPGFYQAUUV9DROOXJLNW\",\n \"addressTag\":\"\",\n \"txId\":\"ESBFVQUTPIWQNJSPXFNHNYHSQNTGKRVKPRABQWTAXCDWOAKDKYWPTVG9BGXNVNKTLEJGESAVXIKIZ9999\",\n \"insertTime\":1599620082000,\n \"transferType\":0,\n \"confirmTimes\":\"1/1\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"capital/deposit/subHisrec\", True, data=params\n )" + }, + "get_subaccount_futures_margin_status": { + "name": "get_subaccount_futures_margin_status", + "path": "binance.client.Client.get_subaccount_futures_margin_status", + "signature": "(self, **params)", + "description": "Get Sub-account's Status on Margin/Futures (For Master Account)\n\nhttps://developers.binance.com/docs/sub_account/account-management/Get-Sub-accounts-Status-on-Margin-Or-Futures\n\n:param email: optional - Sub account email\n:type email: str\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"email\":\"123@test.com\", // user email\n \"isSubUserEnabled\": true, // true or false\n \"isUserActive\": true, // true or false\n \"insertTime\": 1570791523523 // sub account create time\n \"isMarginEnabled\": true, // true or false for margin\n \"isFutureEnabled\": true // true or false for futures.\n \"mobile\": 1570791523523 // user mobile number\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_subaccount_futures_margin_status(self, **params):\n \"\"\"Get Sub-account's Status on Margin/Futures (For Master Account)\n\n https://developers.binance.com/docs/sub_account/account-management/Get-Sub-accounts-Status-on-Margin-Or-Futures\n\n :param email: optional - Sub account email\n :type email: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"email\":\"123@test.com\", // user email\n \"isSubUserEnabled\": true, // true or false\n \"isUserActive\": true, // true or false\n \"insertTime\": 1570791523523 // sub account create time\n \"isMarginEnabled\": true, // true or false for margin\n \"isFutureEnabled\": true // true or false for futures.\n \"mobile\": 1570791523523 // user mobile number\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"sub-account/status\", True, data=params)" + }, + "enable_subaccount_margin": { + "name": "enable_subaccount_margin", + "path": "binance.client.Client.enable_subaccount_margin", + "signature": "(self, **params)", + "description": "Enable Margin for Sub-account (For Master Account)\n\nhttps://binance-docs.github.io/apidocs/spot/en/#enable-margin-for-sub-account-for-master-account\n\n:param email: required - Sub account email\n:type email: str\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n\n \"email\":\"123@test.com\",\n\n \"isMarginEnabled\": true\n\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def enable_subaccount_margin(self, **params):\n \"\"\"Enable Margin for Sub-account (For Master Account)\n\n https://binance-docs.github.io/apidocs/spot/en/#enable-margin-for-sub-account-for-master-account\n\n :param email: required - Sub account email\n :type email: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n\n \"email\":\"123@test.com\",\n\n \"isMarginEnabled\": true\n\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/margin/enable\", True, data=params\n )" + }, + "get_subaccount_margin_details": { + "name": "get_subaccount_margin_details", + "path": "binance.client.Client.get_subaccount_margin_details", + "signature": "(self, **params)", + "description": "Get Detail on Sub-account's Margin Account (For Master Account)\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Get-Detail-on-Sub-accounts-Margin-Account\n\n:param email: required - Sub account email\n:type email: str\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"email\":\"123@test.com\",\n \"marginLevel\": \"11.64405625\",\n \"totalAssetOfBtc\": \"6.82728457\",\n \"totalLiabilityOfBtc\": \"0.58633215\",\n \"totalNetAssetOfBtc\": \"6.24095242\",\n \"marginTradeCoeffVo\":\n {\n \"forceLiquidationBar\": \"1.10000000\", // Liquidation margin ratio\n \"marginCallBar\": \"1.50000000\", // Margin call margin ratio\n \"normalBar\": \"2.00000000\" // Initial margin ratio\n },\n \"marginUserAssetVoList\": [\n {\n \"asset\": \"BTC\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00499500\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00499500\"\n },\n {\n \"asset\": \"BNB\",\n \"borrowed\": \"201.66666672\",\n \"free\": \"2346.50000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"2144.83333328\"\n },\n {\n \"asset\": \"ETH\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\"\n },\n {\n \"asset\": \"USDT\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_subaccount_margin_details(self, **params):\n \"\"\"Get Detail on Sub-account's Margin Account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Get-Detail-on-Sub-accounts-Margin-Account\n\n :param email: required - Sub account email\n :type email: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"email\":\"123@test.com\",\n \"marginLevel\": \"11.64405625\",\n \"totalAssetOfBtc\": \"6.82728457\",\n \"totalLiabilityOfBtc\": \"0.58633215\",\n \"totalNetAssetOfBtc\": \"6.24095242\",\n \"marginTradeCoeffVo\":\n {\n \"forceLiquidationBar\": \"1.10000000\", // Liquidation margin ratio\n \"marginCallBar\": \"1.50000000\", // Margin call margin ratio\n \"normalBar\": \"2.00000000\" // Initial margin ratio\n },\n \"marginUserAssetVoList\": [\n {\n \"asset\": \"BTC\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00499500\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00499500\"\n },\n {\n \"asset\": \"BNB\",\n \"borrowed\": \"201.66666672\",\n \"free\": \"2346.50000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"2144.83333328\"\n },\n {\n \"asset\": \"ETH\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\"\n },\n {\n \"asset\": \"USDT\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/margin/account\", True, data=params\n )" + }, + "get_subaccount_margin_summary": { + "name": "get_subaccount_margin_summary", + "path": "binance.client.Client.get_subaccount_margin_summary", + "signature": "(self, **params)", + "description": "Get Summary of Sub-account's Margin Account (For Master Account)\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Get-Summary-of-Sub-accounts-Margin-Account\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"totalAssetOfBtc\": \"4.33333333\",\n \"totalLiabilityOfBtc\": \"2.11111112\",\n \"totalNetAssetOfBtc\": \"2.22222221\",\n \"subAccountList\":[\n {\n \"email\":\"123@test.com\",\n \"totalAssetOfBtc\": \"2.11111111\",\n \"totalLiabilityOfBtc\": \"1.11111111\",\n \"totalNetAssetOfBtc\": \"1.00000000\"\n },\n {\n \"email\":\"345@test.com\",\n \"totalAssetOfBtc\": \"2.22222222\",\n \"totalLiabilityOfBtc\": \"1.00000001\",\n \"totalNetAssetOfBtc\": \"1.22222221\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_subaccount_margin_summary(self, **params):\n \"\"\"Get Summary of Sub-account's Margin Account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Get-Summary-of-Sub-accounts-Margin-Account\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"totalAssetOfBtc\": \"4.33333333\",\n \"totalLiabilityOfBtc\": \"2.11111112\",\n \"totalNetAssetOfBtc\": \"2.22222221\",\n \"subAccountList\":[\n {\n \"email\":\"123@test.com\",\n \"totalAssetOfBtc\": \"2.11111111\",\n \"totalLiabilityOfBtc\": \"1.11111111\",\n \"totalNetAssetOfBtc\": \"1.00000000\"\n },\n {\n \"email\":\"345@test.com\",\n \"totalAssetOfBtc\": \"2.22222222\",\n \"totalLiabilityOfBtc\": \"1.00000001\",\n \"totalNetAssetOfBtc\": \"1.22222221\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/margin/accountSummary\", True, data=params\n )" + }, + "enable_subaccount_futures": { + "name": "enable_subaccount_futures", + "path": "binance.client.Client.enable_subaccount_futures", + "signature": "(self, **params)", + "description": "Enable Futures for Sub-account (For Master Account)\n\nhttps://developers.binance.com/docs/sub_account/account-management/Enable-Futures-for-Sub-account\n\n:param email: required - Sub account email\n:type email: str\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n\n \"email\":\"123@test.com\",\n\n \"isFuturesEnabled\": true // true or false\n\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def enable_subaccount_futures(self, **params):\n \"\"\"Enable Futures for Sub-account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/account-management/Enable-Futures-for-Sub-account\n\n :param email: required - Sub account email\n :type email: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n\n \"email\":\"123@test.com\",\n\n \"isFuturesEnabled\": true // true or false\n\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/futures/enable\", True, data=params\n )" + }, + "get_subaccount_futures_details": { + "name": "get_subaccount_futures_details", + "path": "binance.client.Client.get_subaccount_futures_details", + "signature": "(self, **params)", + "description": "Get Detail on Sub-account's Futures Account (For Master Account)\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Get-Detail-on-Sub-accounts-Futures-Account\n\n:param email: required - Sub account email\n:type email: str\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"email\": \"abc@test.com\",\n \"asset\": \"USDT\",\n \"assets\":[\n {\n \"asset\": \"USDT\",\n \"initialMargin\": \"0.00000000\",\n \"maintenanceMargin\": \"0.00000000\",\n \"marginBalance\": \"0.88308000\",\n \"maxWithdrawAmount\": \"0.88308000\",\n \"openOrderInitialMargin\": \"0.00000000\",\n \"positionInitialMargin\": \"0.00000000\",\n \"unrealizedProfit\": \"0.00000000\",\n \"walletBalance\": \"0.88308000\"\n }\n ],\n \"canDeposit\": true,\n \"canTrade\": true,\n \"canWithdraw\": true,\n \"feeTier\": 2,\n \"maxWithdrawAmount\": \"0.88308000\",\n \"totalInitialMargin\": \"0.00000000\",\n \"totalMaintenanceMargin\": \"0.00000000\",\n \"totalMarginBalance\": \"0.88308000\",\n \"totalOpenOrderInitialMargin\": \"0.00000000\",\n \"totalPositionInitialMargin\": \"0.00000000\",\n \"totalUnrealizedProfit\": \"0.00000000\",\n \"totalWalletBalance\": \"0.88308000\",\n \"updateTime\": 1576756674610\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_subaccount_futures_details(self, **params):\n \"\"\"Get Detail on Sub-account's Futures Account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Get-Detail-on-Sub-accounts-Futures-Account\n\n :param email: required - Sub account email\n :type email: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"email\": \"abc@test.com\",\n \"asset\": \"USDT\",\n \"assets\":[\n {\n \"asset\": \"USDT\",\n \"initialMargin\": \"0.00000000\",\n \"maintenanceMargin\": \"0.00000000\",\n \"marginBalance\": \"0.88308000\",\n \"maxWithdrawAmount\": \"0.88308000\",\n \"openOrderInitialMargin\": \"0.00000000\",\n \"positionInitialMargin\": \"0.00000000\",\n \"unrealizedProfit\": \"0.00000000\",\n \"walletBalance\": \"0.88308000\"\n }\n ],\n \"canDeposit\": true,\n \"canTrade\": true,\n \"canWithdraw\": true,\n \"feeTier\": 2,\n \"maxWithdrawAmount\": \"0.88308000\",\n \"totalInitialMargin\": \"0.00000000\",\n \"totalMaintenanceMargin\": \"0.00000000\",\n \"totalMarginBalance\": \"0.88308000\",\n \"totalOpenOrderInitialMargin\": \"0.00000000\",\n \"totalPositionInitialMargin\": \"0.00000000\",\n \"totalUnrealizedProfit\": \"0.00000000\",\n \"totalWalletBalance\": \"0.88308000\",\n \"updateTime\": 1576756674610\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/futures/account\", True, data=params, version=2\n )" + }, + "get_subaccount_futures_summary": { + "name": "get_subaccount_futures_summary", + "path": "binance.client.Client.get_subaccount_futures_summary", + "signature": "(self, **params)", + "description": "Get Summary of Sub-account's Futures Account (For Master Account)\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Get-Summary-of-Sub-accounts-Futures-Account-V2\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"totalInitialMargin\": \"9.83137400\",\n \"totalMaintenanceMargin\": \"0.41568700\",\n \"totalMarginBalance\": \"23.03235621\",\n \"totalOpenOrderInitialMargin\": \"9.00000000\",\n \"totalPositionInitialMargin\": \"0.83137400\",\n \"totalUnrealizedProfit\": \"0.03219710\",\n \"totalWalletBalance\": \"22.15879444\",\n \"asset\": \"USDT\",\n \"subAccountList\":[\n {\n \"email\": \"123@test.com\",\n \"totalInitialMargin\": \"9.00000000\",\n \"totalMaintenanceMargin\": \"0.00000000\",\n \"totalMarginBalance\": \"22.12659734\",\n \"totalOpenOrderInitialMargin\": \"9.00000000\",\n \"totalPositionInitialMargin\": \"0.00000000\",\n \"totalUnrealizedProfit\": \"0.00000000\",\n \"totalWalletBalance\": \"22.12659734\",\n \"asset\": \"USDT\"\n },\n {\n \"email\": \"345@test.com\",\n \"totalInitialMargin\": \"0.83137400\",\n \"totalMaintenanceMargin\": \"0.41568700\",\n \"totalMarginBalance\": \"0.90575887\",\n \"totalOpenOrderInitialMargin\": \"0.00000000\",\n \"totalPositionInitialMargin\": \"0.83137400\",\n \"totalUnrealizedProfit\": \"0.03219710\",\n \"totalWalletBalance\": \"0.87356177\",\n \"asset\": \"USDT\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_subaccount_futures_summary(self, **params):\n \"\"\"Get Summary of Sub-account's Futures Account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Get-Summary-of-Sub-accounts-Futures-Account-V2\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"totalInitialMargin\": \"9.83137400\",\n \"totalMaintenanceMargin\": \"0.41568700\",\n \"totalMarginBalance\": \"23.03235621\",\n \"totalOpenOrderInitialMargin\": \"9.00000000\",\n \"totalPositionInitialMargin\": \"0.83137400\",\n \"totalUnrealizedProfit\": \"0.03219710\",\n \"totalWalletBalance\": \"22.15879444\",\n \"asset\": \"USDT\",\n \"subAccountList\":[\n {\n \"email\": \"123@test.com\",\n \"totalInitialMargin\": \"9.00000000\",\n \"totalMaintenanceMargin\": \"0.00000000\",\n \"totalMarginBalance\": \"22.12659734\",\n \"totalOpenOrderInitialMargin\": \"9.00000000\",\n \"totalPositionInitialMargin\": \"0.00000000\",\n \"totalUnrealizedProfit\": \"0.00000000\",\n \"totalWalletBalance\": \"22.12659734\",\n \"asset\": \"USDT\"\n },\n {\n \"email\": \"345@test.com\",\n \"totalInitialMargin\": \"0.83137400\",\n \"totalMaintenanceMargin\": \"0.41568700\",\n \"totalMarginBalance\": \"0.90575887\",\n \"totalOpenOrderInitialMargin\": \"0.00000000\",\n \"totalPositionInitialMargin\": \"0.83137400\",\n \"totalUnrealizedProfit\": \"0.03219710\",\n \"totalWalletBalance\": \"0.87356177\",\n \"asset\": \"USDT\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/futures/accountSummary\", True, data=params, version=2\n )" + }, + "get_subaccount_futures_positionrisk": { + "name": "get_subaccount_futures_positionrisk", + "path": "binance.client.Client.get_subaccount_futures_positionrisk", + "signature": "(self, **params)", + "description": "Get Futures Position-Risk of Sub-account (For Master Account)\n\nhttps://developers.binance.com/docs/sub_account/account-management/Get-Futures-Position-Risk-of-Sub-account-V2\n\n:param email: required - Sub account email\n:type email: str\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"entryPrice\": \"9975.12000\",\n \"leverage\": \"50\", // current initial leverage\n \"maxNotional\": \"1000000\", // notional value limit of current initial leverage\n \"liquidationPrice\": \"7963.54\",\n \"markPrice\": \"9973.50770517\",\n \"positionAmount\": \"0.010\",\n \"symbol\": \"BTCUSDT\",\n \"unrealizedProfit\": \"-0.01612295\"\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_subaccount_futures_positionrisk(self, **params):\n \"\"\"Get Futures Position-Risk of Sub-account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/account-management/Get-Futures-Position-Risk-of-Sub-account-V2\n\n :param email: required - Sub account email\n :type email: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"entryPrice\": \"9975.12000\",\n \"leverage\": \"50\", // current initial leverage\n \"maxNotional\": \"1000000\", // notional value limit of current initial leverage\n \"liquidationPrice\": \"7963.54\",\n \"markPrice\": \"9973.50770517\",\n \"positionAmount\": \"0.010\",\n \"symbol\": \"BTCUSDT\",\n \"unrealizedProfit\": \"-0.01612295\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/futures/positionRisk\", True, data=params, version=2\n )" + }, + "make_subaccount_futures_transfer": { + "name": "make_subaccount_futures_transfer", + "path": "binance.client.Client.make_subaccount_futures_transfer", + "signature": "(self, **params)", + "description": "Futures Transfer for Sub-account (For Master Account)\n\nhttps://developers.binance.com/docs/sub_account/asset-management\n\n:param email: required - Sub account email\n:type email: str\n:param asset: required - The asset being transferred, e.g., USDT\n:type asset: str\n:param amount: required - The amount to be transferred\n:type amount: float\n:param type: required - 1: transfer from subaccount's spot account to its USDT-margined futures account\n 2: transfer from subaccount's USDT-margined futures account to its spot account\n 3: transfer from subaccount's spot account to its COIN-margined futures account\n 4: transfer from subaccount's COIN-margined futures account to its spot account\n:type type: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"txnId\":\"2966662589\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def make_subaccount_futures_transfer(self, **params):\n \"\"\"Futures Transfer for Sub-account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management\n\n :param email: required - Sub account email\n :type email: str\n :param asset: required - The asset being transferred, e.g., USDT\n :type asset: str\n :param amount: required - The amount to be transferred\n :type amount: float\n :param type: required - 1: transfer from subaccount's spot account to its USDT-margined futures account\n 2: transfer from subaccount's USDT-margined futures account to its spot account\n 3: transfer from subaccount's spot account to its COIN-margined futures account\n 4: transfer from subaccount's COIN-margined futures account to its spot account\n :type type: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"txnId\":\"2966662589\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/futures/transfer\", True, data=params\n )" + }, + "make_subaccount_margin_transfer": { + "name": "make_subaccount_margin_transfer", + "path": "binance.client.Client.make_subaccount_margin_transfer", + "signature": "(self, **params)", + "description": "Margin Transfer for Sub-account (For Master Account)\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Margin-Transfer-for-Sub-account\n\n:param email: required - Sub account email\n:type email: str\n:param asset: required - The asset being transferred, e.g., USDT\n:type asset: str\n:param amount: required - The amount to be transferred\n:type amount: float\n:param type: required - 1: transfer from subaccount's spot account to margin account\n 2: transfer from subaccount's margin account to its spot account\n:type type: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"txnId\":\"2966662589\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def make_subaccount_margin_transfer(self, **params):\n \"\"\"Margin Transfer for Sub-account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Margin-Transfer-for-Sub-account\n\n :param email: required - Sub account email\n :type email: str\n :param asset: required - The asset being transferred, e.g., USDT\n :type asset: str\n :param amount: required - The amount to be transferred\n :type amount: float\n :param type: required - 1: transfer from subaccount's spot account to margin account\n 2: transfer from subaccount's margin account to its spot account\n :type type: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"txnId\":\"2966662589\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/margin/transfer\", True, data=params\n )" + }, + "make_subaccount_to_subaccount_transfer": { + "name": "make_subaccount_to_subaccount_transfer", + "path": "binance.client.Client.make_subaccount_to_subaccount_transfer", + "signature": "(self, **params)", + "description": "Transfer to Sub-account of Same Master (For Sub-account)\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Transfer-to-Sub-account-of-Same-Master\n\n:param toEmail: required - Sub account email\n:type toEmail: str\n:param asset: required - The asset being transferred, e.g., USDT\n:type asset: str\n:param amount: required - The amount to be transferred\n:type amount: float\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"txnId\":\"2966662589\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def make_subaccount_to_subaccount_transfer(self, **params):\n \"\"\"Transfer to Sub-account of Same Master (For Sub-account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Transfer-to-Sub-account-of-Same-Master\n\n :param toEmail: required - Sub account email\n :type toEmail: str\n :param asset: required - The asset being transferred, e.g., USDT\n :type asset: str\n :param amount: required - The amount to be transferred\n :type amount: float\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"txnId\":\"2966662589\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/transfer/subToSub\", True, data=params\n )" + }, + "make_subaccount_to_master_transfer": { + "name": "make_subaccount_to_master_transfer", + "path": "binance.client.Client.make_subaccount_to_master_transfer", + "signature": "(self, **params)", + "description": "Transfer to Master (For Sub-account)\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Transfer-to-Master\n\n:param asset: required - The asset being transferred, e.g., USDT\n:type asset: str\n:param amount: required - The amount to be transferred\n:type amount: float\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"txnId\":\"2966662589\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def make_subaccount_to_master_transfer(self, **params):\n \"\"\"Transfer to Master (For Sub-account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Transfer-to-Master\n\n :param asset: required - The asset being transferred, e.g., USDT\n :type asset: str\n :param amount: required - The amount to be transferred\n :type amount: float\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"txnId\":\"2966662589\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/transfer/subToMaster\", True, data=params\n )" + }, + "get_subaccount_transfer_history": { + "name": "get_subaccount_transfer_history", + "path": "binance.client.Client.get_subaccount_transfer_history", + "signature": "(self, **params)", + "description": "Sub-account Transfer History (For Sub-account)\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Sub-account-Transfer-History\n\n:param asset: required - The asset being transferred, e.g., USDT\n:type asset: str\n:param type: optional - 1: transfer in, 2: transfer out\n:type type: int\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param limit: optional - Default 500\n:type limit: int\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"counterParty\":\"master\",\n \"email\":\"master@test.com\",\n \"type\":1, // 1 for transfer in, 2 for transfer out\n \"asset\":\"BTC\",\n \"qty\":\"1\",\n \"status\":\"SUCCESS\",\n \"tranId\":11798835829,\n \"time\":1544433325000\n },\n {\n \"counterParty\":\"subAccount\",\n \"email\":\"sub2@test.com\",\n \"type\":2,\n \"asset\":\"ETH\",\n \"qty\":\"2\",\n \"status\":\"SUCCESS\",\n \"tranId\":11798829519,\n \"time\":1544433326000\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_subaccount_transfer_history(self, **params):\n \"\"\"Sub-account Transfer History (For Sub-account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Sub-account-Transfer-History\n\n :param asset: required - The asset being transferred, e.g., USDT\n :type asset: str\n :param type: optional - 1: transfer in, 2: transfer out\n :type type: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional - Default 500\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"counterParty\":\"master\",\n \"email\":\"master@test.com\",\n \"type\":1, // 1 for transfer in, 2 for transfer out\n \"asset\":\"BTC\",\n \"qty\":\"1\",\n \"status\":\"SUCCESS\",\n \"tranId\":11798835829,\n \"time\":1544433325000\n },\n {\n \"counterParty\":\"subAccount\",\n \"email\":\"sub2@test.com\",\n \"type\":2,\n \"asset\":\"ETH\",\n \"qty\":\"2\",\n \"status\":\"SUCCESS\",\n \"tranId\":11798829519,\n \"time\":1544433326000\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/transfer/subUserHistory\", True, data=params\n )" + }, + "make_subaccount_universal_transfer": { + "name": "make_subaccount_universal_transfer", + "path": "binance.client.Client.make_subaccount_universal_transfer", + "signature": "(self, **params)", + "description": "Universal Transfer (For Master Account)\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Universal-Transfer\n\n:param fromEmail: optional\n:type fromEmail: str\n:param toEmail: optional\n:type toEmail: str\n:param fromAccountType: required - \"SPOT\",\"USDT_FUTURE\",\"COIN_FUTURE\"\n:type fromAccountType: str\n:param toAccountType: required - \"SPOT\",\"USDT_FUTURE\",\"COIN_FUTURE\"\n:type toAccountType: str\n:param asset: required - The asset being transferred, e.g., USDT\n:type asset: str\n:param amount: required\n:type amount: float\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"tranId\":11945860693\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def make_subaccount_universal_transfer(self, **params):\n \"\"\"Universal Transfer (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Universal-Transfer\n\n :param fromEmail: optional\n :type fromEmail: str\n :param toEmail: optional\n :type toEmail: str\n :param fromAccountType: required - \"SPOT\",\"USDT_FUTURE\",\"COIN_FUTURE\"\n :type fromAccountType: str\n :param toAccountType: required - \"SPOT\",\"USDT_FUTURE\",\"COIN_FUTURE\"\n :type toAccountType: str\n :param asset: required - The asset being transferred, e.g., USDT\n :type asset: str\n :param amount: required\n :type amount: float\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\":11945860693\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/universalTransfer\", True, data=params\n )" + }, + "get_universal_transfer_history": { + "name": "get_universal_transfer_history", + "path": "binance.client.Client.get_universal_transfer_history", + "signature": "(self, **params)", + "description": "Universal Transfer (For Master Account)\n\nhttps://developers.binance.com/docs/sub_account/asset-management/Query-Universal-Transfer-History\n\n:param fromEmail: optional\n:type fromEmail: str\n:param toEmail: optional\n:type toEmail: str\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param page: optional\n:type page: int\n:param limit: optional\n:type limit: int\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n [\n {\n \"tranId\":11945860693,\n \"fromEmail\":\"master@test.com\",\n \"toEmail\":\"subaccount1@test.com\",\n \"asset\":\"BTC\",\n \"amount\":\"0.1\",\n \"fromAccountType\":\"SPOT\",\n \"toAccountType\":\"COIN_FUTURE\",\n \"status\":\"SUCCESS\",\n \"createTimeStamp\":1544433325000\n },\n {\n \"tranId\":11945857955,\n \"fromEmail\":\"master@test.com\",\n \"toEmail\":\"subaccount2@test.com\",\n \"asset\":\"ETH\",\n \"amount\":\"0.2\",\n \"fromAccountType\":\"SPOT\",\n \"toAccountType\":\"USDT_FUTURE\",\n \"status\":\"SUCCESS\",\n \"createTimeStamp\":1544433326000\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_universal_transfer_history(self, **params):\n \"\"\"Universal Transfer (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Query-Universal-Transfer-History\n\n :param fromEmail: optional\n :type fromEmail: str\n :param toEmail: optional\n :type toEmail: str\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param page: optional\n :type page: int\n :param limit: optional\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"tranId\":11945860693,\n \"fromEmail\":\"master@test.com\",\n \"toEmail\":\"subaccount1@test.com\",\n \"asset\":\"BTC\",\n \"amount\":\"0.1\",\n \"fromAccountType\":\"SPOT\",\n \"toAccountType\":\"COIN_FUTURE\",\n \"status\":\"SUCCESS\",\n \"createTimeStamp\":1544433325000\n },\n {\n \"tranId\":11945857955,\n \"fromEmail\":\"master@test.com\",\n \"toEmail\":\"subaccount2@test.com\",\n \"asset\":\"ETH\",\n \"amount\":\"0.2\",\n \"fromAccountType\":\"SPOT\",\n \"toAccountType\":\"USDT_FUTURE\",\n \"status\":\"SUCCESS\",\n \"createTimeStamp\":1544433326000\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/universalTransfer\", True, data=params\n )" + }, + "futures_ping": { + "name": "futures_ping", + "path": "binance.client.Client.futures_ping", + "signature": "(self)", + "description": "Test connectivity to the Rest API\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_ping(self):\n \"\"\"Test connectivity to the Rest API\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api\n\n \"\"\"\n return self._request_futures_api(\"get\", \"ping\")" + }, + "futures_time": { + "name": "futures_time", + "path": "binance.client.Client.futures_time", + "signature": "(self)", + "description": "Test connectivity to the Rest API and get the current server time.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Check-Server-Time", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_time(self):\n \"\"\"Test connectivity to the Rest API and get the current server time.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Check-Server-Time\n\n \"\"\"\n return self._request_futures_api(\"get\", \"time\")" + }, + "futures_exchange_info": { + "name": "futures_exchange_info", + "path": "binance.client.Client.futures_exchange_info", + "signature": "(self)", + "description": "Current exchange trading rules and symbol information\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Exchange-Information", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_exchange_info(self):\n \"\"\"Current exchange trading rules and symbol information\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Exchange-Information\n\n \"\"\"\n return self._request_futures_api(\"get\", \"exchangeInfo\")" + }, + "futures_order_book": { + "name": "futures_order_book", + "path": "binance.client.Client.futures_order_book", + "signature": "(self, **params)", + "description": "Get the Order Book for the market\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Order-Book", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_order_book(self, **params):\n \"\"\"Get the Order Book for the market\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Order-Book\n\n \"\"\"\n return self._request_futures_api(\"get\", \"depth\", data=params)" + }, + "futures_recent_trades": { + "name": "futures_recent_trades", + "path": "binance.client.Client.futures_recent_trades", + "signature": "(self, **params)", + "description": "Get recent trades (up to last 500).\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Recent-Trades-List", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_recent_trades(self, **params):\n \"\"\"Get recent trades (up to last 500).\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Recent-Trades-List\n\n \"\"\"\n return self._request_futures_api(\"get\", \"trades\", data=params)" + }, + "futures_historical_trades": { + "name": "futures_historical_trades", + "path": "binance.client.Client.futures_historical_trades", + "signature": "(self, **params)", + "description": "Get older market historical trades.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Old-Trades-Lookup", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_historical_trades(self, **params):\n \"\"\"Get older market historical trades.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Old-Trades-Lookup\n\n \"\"\"\n return self._request_futures_api(\"get\", \"historicalTrades\", data=params)" + }, + "futures_aggregate_trades": { + "name": "futures_aggregate_trades", + "path": "binance.client.Client.futures_aggregate_trades", + "signature": "(self, **params)", + "description": "Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same\nprice will have the quantity aggregated.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Compressed-Aggregate-Trades-List", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_aggregate_trades(self, **params):\n \"\"\"Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same\n price will have the quantity aggregated.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Compressed-Aggregate-Trades-List\n\n \"\"\"\n return self._request_futures_api(\"get\", \"aggTrades\", data=params)" + }, + "futures_klines": { + "name": "futures_klines", + "path": "binance.client.Client.futures_klines", + "signature": "(self, **params)", + "description": "Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_klines(self, **params):\n \"\"\"Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_api(\"get\", \"klines\", data=params)" + }, + "futures_mark_price_klines": { + "name": "futures_mark_price_klines", + "path": "binance.client.Client.futures_mark_price_klines", + "signature": "(self, **params)", + "description": "Kline/candlestick bars for the mark price of a symbol. Klines are uniquely identified by their open time.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_mark_price_klines(self, **params):\n \"\"\"Kline/candlestick bars for the mark price of a symbol. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_api(\"get\", \"markPriceKlines\", data=params)" + }, + "futures_index_price_klines": { + "name": "futures_index_price_klines", + "path": "binance.client.Client.futures_index_price_klines", + "signature": "(self, **params)", + "description": "Kline/candlestick bars for the index price of a symbol. Klines are uniquely identified by their open time.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_index_price_klines(self, **params):\n \"\"\"Kline/candlestick bars for the index price of a symbol. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_api(\"get\", \"indexPriceKlines\", data=params)" + }, + "futures_premium_index_klines": { + "name": "futures_premium_index_klines", + "path": "binance.client.Client.futures_premium_index_klines", + "signature": "(self, **params)", + "description": "Premium index kline bars of a symbol.l. Klines are uniquely identified by their open time.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_premium_index_klines(self, **params):\n \"\"\"Premium index kline bars of a symbol.l. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n \"\"\"\n return self._request_futures_api(\"get\", \"premiumIndexKlines\", data=params)" + }, + "futures_continuous_klines": { + "name": "futures_continuous_klines", + "path": "binance.client.Client.futures_continuous_klines", + "signature": "(self, **params)", + "description": "Kline/candlestick bars for a specific contract type. Klines are uniquely identified by their open time.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Continuous-Contract-Kline-Candlestick-Data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_continuous_klines(self, **params):\n \"\"\"Kline/candlestick bars for a specific contract type. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Continuous-Contract-Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_api(\"get\", \"continuousKlines\", data=params)" + }, + "futures_historical_klines": { + "name": "futures_historical_klines", + "path": "binance.client.Client.futures_historical_klines", + "signature": "(self, symbol, interval, start_str, end_str=None, limit=None)", + "description": "Get historical futures klines from Binance\n\n:param symbol: Name of symbol pair e.g. BNBBTC\n:type symbol: str\n:param interval: Binance Kline interval\n:type interval: str\n:param start_str: Start date string in UTC format or timestamp in milliseconds\n:type start_str: str|int\n:param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n:type end_str: str|int\n:param limit: Default None (fetches full range in batches of max 1000 per request). To limit the number of rows, pass an integer.\n:type limit: int\n\n:return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "end_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_historical_klines(\n self, symbol: str, interval :str, start_str, end_str=None, limit=None\n):\n \"\"\"Get historical futures klines from Binance\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param start_str: Start date string in UTC format or timestamp in milliseconds\n :type start_str: str|int\n :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n :type end_str: str|int\n :param limit: Default None (fetches full range in batches of max 1000 per request). To limit the number of rows, pass an integer.\n :type limit: int\n\n :return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)\n\n \"\"\"\n return self._historical_klines(\n symbol,\n interval,\n start_str,\n end_str=end_str,\n limit=limit,\n klines_type=HistoricalKlinesType.FUTURES,\n )" + }, + "futures_historical_mark_price_klines": { + "name": "futures_historical_mark_price_klines", + "path": "binance.client.Client.futures_historical_mark_price_klines", + "signature": "(self, symbol, interval, start_str, end_str=None, limit=None)", + "description": "Get historical futures mark price klines from Binance\n\n:param symbol: Name of symbol pair e.g. BNBBTC\n:type symbol: str\n:param interval: Binance Kline interval\n:type interval: str\n:param start_str: Start date string in UTC format or timestamp in milliseconds\n:type start_str: str|int\n:param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n:type end_str: str|int\n:param limit: Default None (fetches full range in batches of max 1000 per request). To limit the number of rows, pass an integer.\n:type limit: int\n\n:return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "end_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_historical_mark_price_klines(\n self, symbol: str, interval: str, start_str, end_str=None, limit=None\n):\n \"\"\"Get historical futures mark price klines from Binance\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param start_str: Start date string in UTC format or timestamp in milliseconds\n :type start_str: str|int\n :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n :type end_str: str|int\n :param limit: Default None (fetches full range in batches of max 1000 per request). To limit the number of rows, pass an integer.\n :type limit: int\n\n :return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)\n\n \"\"\"\n return self._historical_klines(\n symbol,\n interval,\n start_str,\n end_str=end_str,\n limit=limit,\n klines_type=HistoricalKlinesType.FUTURES_MARK_PRICE,\n )" + }, + "futures_historical_klines_generator": { + "name": "futures_historical_klines_generator", + "path": "binance.client.Client.futures_historical_klines_generator", + "signature": "(self, symbol, interval, start_str, end_str=None)", + "description": "Get historical futures klines generator from Binance\n\n:param symbol: Name of symbol pair e.g. BNBBTC\n:type symbol: str\n:param interval: Binance Kline interval\n:type interval: str\n:param start_str: Start date string in UTC format or timestamp in milliseconds\n:type start_str: str|int\n:param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n:type end_str: str|int\n\n:return: generator of OHLCV values", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "end_str", + "annotation": null, + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_historical_klines_generator(\n self, symbol, interval, start_str, end_str=None\n):\n \"\"\"Get historical futures klines generator from Binance\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param start_str: Start date string in UTC format or timestamp in milliseconds\n :type start_str: str|int\n :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n :type end_str: str|int\n\n :return: generator of OHLCV values\n\n \"\"\"\n\n return self._historical_klines_generator(\n symbol,\n interval,\n start_str,\n end_str=end_str,\n klines_type=HistoricalKlinesType.FUTURES,\n )" + }, + "futures_mark_price": { + "name": "futures_mark_price", + "path": "binance.client.Client.futures_mark_price", + "signature": "(self, **params)", + "description": "Get Mark Price and Funding Rate\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_mark_price(self, **params):\n \"\"\"Get Mark Price and Funding Rate\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price\n\n \"\"\"\n return self._request_futures_api(\"get\", \"premiumIndex\", data=params)" + }, + "futures_funding_rate": { + "name": "futures_funding_rate", + "path": "binance.client.Client.futures_funding_rate", + "signature": "(self, **params)", + "description": "Get funding rate history\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Get-Funding-Rate-History", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_funding_rate(self, **params):\n \"\"\"Get funding rate history\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Get-Funding-Rate-History\n\n \"\"\"\n return self._request_futures_api(\"get\", \"fundingRate\", data=params)" + }, + "futures_top_longshort_account_ratio": { + "name": "futures_top_longshort_account_ratio", + "path": "binance.client.Client.futures_top_longshort_account_ratio", + "signature": "(self, **params)", + "description": "Get present long to short ratio for top accounts of a specific symbol.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Top-Long-Short-Account-Ratio", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_top_longshort_account_ratio(self, **params):\n \"\"\"Get present long to short ratio for top accounts of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Top-Long-Short-Account-Ratio\n \"\"\"\n return self._request_futures_data_api(\n \"get\", \"topLongShortAccountRatio\", data=params\n )" + }, + "futures_top_longshort_position_ratio": { + "name": "futures_top_longshort_position_ratio", + "path": "binance.client.Client.futures_top_longshort_position_ratio", + "signature": "(self, **params)", + "description": "Get present long to short ratio for top positions of a specific symbol.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Top-Trader-Long-Short-Ratio", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_top_longshort_position_ratio(self, **params):\n \"\"\"Get present long to short ratio for top positions of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Top-Trader-Long-Short-Ratio\n \"\"\"\n return self._request_futures_data_api(\n \"get\", \"topLongShortPositionRatio\", data=params\n )" + }, + "futures_global_longshort_ratio": { + "name": "futures_global_longshort_ratio", + "path": "binance.client.Client.futures_global_longshort_ratio", + "signature": "(self, **params)", + "description": "Get present global long to short ratio of a specific symbol.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Long-Short-Ratio", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_global_longshort_ratio(self, **params):\n \"\"\"Get present global long to short ratio of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Long-Short-Ratio\n \"\"\"\n return self._request_futures_data_api(\n \"get\", \"globalLongShortAccountRatio\", data=params\n )" + }, + "futures_taker_longshort_ratio": { + "name": "futures_taker_longshort_ratio", + "path": "binance.client.Client.futures_taker_longshort_ratio", + "signature": "(self, **params)", + "description": "Get taker buy to sell volume ratio of a specific symbol\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Taker-BuySell-Volume", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_taker_longshort_ratio(self, **params):\n \"\"\"Get taker buy to sell volume ratio of a specific symbol\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Taker-BuySell-Volume\n \"\"\"\n return self._request_futures_data_api(\n \"get\", \"takerlongshortRatio\", data=params\n )" + }, + "futures_basis": { + "name": "futures_basis", + "path": "binance.client.Client.futures_basis", + "signature": "(self, **params)", + "description": "Get future basis of a specific symbol\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Basis", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_basis(self, **params):\n \"\"\"Get future basis of a specific symbol\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Basis\n \"\"\"\n return self._request_futures_data_api(\n \"get\", \"basis\", data=params\n )" + }, + "futures_ticker": { + "name": "futures_ticker", + "path": "binance.client.Client.futures_ticker", + "signature": "(self, **params)", + "description": "24 hour rolling window price change statistics.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/24hr-Ticker-Price-Change-Statistics", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_ticker(self, **params):\n \"\"\"24 hour rolling window price change statistics.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/24hr-Ticker-Price-Change-Statistics\n\n \"\"\"\n return self._request_futures_api(\"get\", \"ticker/24hr\", data=params)" + }, + "futures_symbol_ticker": { + "name": "futures_symbol_ticker", + "path": "binance.client.Client.futures_symbol_ticker", + "signature": "(self, **params)", + "description": "Latest price for a symbol or symbols.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Symbol-Price-Ticker", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_symbol_ticker(self, **params):\n \"\"\"Latest price for a symbol or symbols.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Symbol-Price-Ticker\n\n \"\"\"\n return self._request_futures_api(\"get\", \"ticker/price\", data=params)" + }, + "futures_orderbook_ticker": { + "name": "futures_orderbook_ticker", + "path": "binance.client.Client.futures_orderbook_ticker", + "signature": "(self, **params)", + "description": "Best price/qty on the order book for a symbol or symbols.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Symbol-Order-Book-Ticker", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_orderbook_ticker(self, **params):\n \"\"\"Best price/qty on the order book for a symbol or symbols.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Symbol-Order-Book-Ticker\n\n \"\"\"\n return self._request_futures_api(\"get\", \"ticker/bookTicker\", data=params)" + }, + "futures_delivery_price": { + "name": "futures_delivery_price", + "path": "binance.client.Client.futures_delivery_price", + "signature": "(self, **params)", + "description": "Get latest price for a symbol or symbols\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Delivery-Price", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_delivery_price(self, **params):\n \"\"\"Get latest price for a symbol or symbols\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Delivery-Price\n\n \"\"\"\n return self._request_futures_data_api(\"get\", \"delivery-price\", data=params)" + }, + "futures_index_price_constituents": { + "name": "futures_index_price_constituents", + "path": "binance.client.Client.futures_index_price_constituents", + "signature": "(self, **params)", + "description": "Get index price constituents\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Constituents", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_index_price_constituents(self, **params):\n \"\"\"Get index price constituents\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Constituents\n\n \"\"\"\n return self._request_futures_api(\"get\", \"constituents\", data=params)" + }, + "futures_insurance_fund_balance_snapshot": { + "name": "futures_insurance_fund_balance_snapshot", + "path": "binance.client.Client.futures_insurance_fund_balance_snapshot", + "signature": "(self, **params)", + "description": "Get Insurance Fund Balance Snapshot\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Insurance-Fund-Balance", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_insurance_fund_balance_snapshot(self, **params):\n \"\"\"Get Insurance Fund Balance Snapshot\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Insurance-Fund-Balance\n\n \"\"\"\n return self._request_futures_api(\"get\", \"insuranceBalance\", data=params)" + }, + "futures_liquidation_orders": { + "name": "futures_liquidation_orders", + "path": "binance.client.Client.futures_liquidation_orders", + "signature": "(self, **params)", + "description": "Get all liquidation orders\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Users-Force-Orders", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_liquidation_orders(self, **params):\n \"\"\"Get all liquidation orders\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Users-Force-Orders\n\n \"\"\"\n return self._request_futures_api(\"get\", \"forceOrders\", signed=True, data=params)" + }, + "futures_api_trading_status": { + "name": "futures_api_trading_status", + "path": "binance.client.Client.futures_api_trading_status", + "signature": "(self, **params)", + "description": "Get quantitative trading rules for order placement, such as Unfilled Ratio (UFR), Good-Til-Canceled Ratio (GCR),\nImmediate-or-Cancel (IOC) & Fill-or-Kill (FOK) Expire Ratio (IFER), among others.\nhttps://www.binance.com/en/support/faq/binance-futures-trading-quantitative-rules-4f462ebe6ff445d4a170be7d9e897272\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Futures-Trading-Quantitative-Rules-Indicators\n\n:param symbol: optional\n:type symbol: str\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"indicators\": { // indicator: quantitative rules indicators, value: user's indicators value, triggerValue: trigger indicator value threshold of quantitative rules.\n \"BTCUSDT\": [\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"UFR\", // Unfilled Ratio (UFR)\n \"value\": 0.05, // Current value\n \"triggerValue\": 0.995 // Trigger value\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"IFER\", // IOC/FOK Expiration Ratio (IFER)\n \"value\": 0.99, // Current value\n \"triggerValue\": 0.99 // Trigger value\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"GCR\", // GTC Cancellation Ratio (GCR)\n \"value\": 0.99, // Current value\n \"triggerValue\": 0.99 // Trigger value\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"DR\", // Dust Ratio (DR)\n \"value\": 0.99, // Current value\n \"triggerValue\": 0.99 // Trigger value\n }\n ],\n \"ETHUSDT\": [\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"UFR\",\n \"value\": 0.05,\n \"triggerValue\": 0.995\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"IFER\",\n \"value\": 0.99,\n \"triggerValue\": 0.99\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"GCR\",\n \"value\": 0.99,\n \"triggerValue\": 0.99\n }\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"DR\",\n \"value\": 0.99,\n \"triggerValue\": 0.99\n }\n ]\n },\n \"updateTime\": 1545741270000\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_api_trading_status(self, **params):\n \"\"\"Get quantitative trading rules for order placement, such as Unfilled Ratio (UFR), Good-Til-Canceled Ratio (GCR),\n Immediate-or-Cancel (IOC) & Fill-or-Kill (FOK) Expire Ratio (IFER), among others.\n https://www.binance.com/en/support/faq/binance-futures-trading-quantitative-rules-4f462ebe6ff445d4a170be7d9e897272\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Futures-Trading-Quantitative-Rules-Indicators\n\n :param symbol: optional\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"indicators\": { // indicator: quantitative rules indicators, value: user's indicators value, triggerValue: trigger indicator value threshold of quantitative rules.\n \"BTCUSDT\": [\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"UFR\", // Unfilled Ratio (UFR)\n \"value\": 0.05, // Current value\n \"triggerValue\": 0.995 // Trigger value\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"IFER\", // IOC/FOK Expiration Ratio (IFER)\n \"value\": 0.99, // Current value\n \"triggerValue\": 0.99 // Trigger value\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"GCR\", // GTC Cancellation Ratio (GCR)\n \"value\": 0.99, // Current value\n \"triggerValue\": 0.99 // Trigger value\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"DR\", // Dust Ratio (DR)\n \"value\": 0.99, // Current value\n \"triggerValue\": 0.99 // Trigger value\n }\n ],\n \"ETHUSDT\": [\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"UFR\",\n \"value\": 0.05,\n \"triggerValue\": 0.995\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"IFER\",\n \"value\": 0.99,\n \"triggerValue\": 0.99\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"GCR\",\n \"value\": 0.99,\n \"triggerValue\": 0.99\n }\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"DR\",\n \"value\": 0.99,\n \"triggerValue\": 0.99\n }\n ]\n },\n \"updateTime\": 1545741270000\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_futures_api(\n \"get\", \"apiTradingStatus\", signed=True, data=params\n )" + }, + "futures_commission_rate": { + "name": "futures_commission_rate", + "path": "binance.client.Client.futures_commission_rate", + "signature": "(self, **params)", + "description": "Get Futures commission rate\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/User-Commission-Rate\n\n:param symbol: required\n:type symbol: str\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"makerCommissionRate\": \"0.0002\", // 0.02%\n \"takerCommissionRate\": \"0.0004\" // 0.04%\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_commission_rate(self, **params):\n \"\"\"Get Futures commission rate\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/User-Commission-Rate\n\n :param symbol: required\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"makerCommissionRate\": \"0.0002\", // 0.02%\n \"takerCommissionRate\": \"0.0004\" // 0.04%\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_futures_api(\n \"get\", \"commissionRate\", signed=True, data=params\n )" + }, + "futures_adl_quantile_estimate": { + "name": "futures_adl_quantile_estimate", + "path": "binance.client.Client.futures_adl_quantile_estimate", + "signature": "(self, **params)", + "description": "Get Position ADL Quantile Estimate\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Position-ADL-Quantile-Estimation", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_adl_quantile_estimate(self, **params):\n \"\"\"Get Position ADL Quantile Estimate\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Position-ADL-Quantile-Estimation\n\n \"\"\"\n return self._request_futures_api(\"get\", \"adlQuantile\", signed=True, data=params)" + }, + "futures_open_interest": { + "name": "futures_open_interest", + "path": "binance.client.Client.futures_open_interest", + "signature": "(self, **params)", + "description": "Get present open interest of a specific symbol.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Open-Interest", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_open_interest(self, **params):\n \"\"\"Get present open interest of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Open-Interest\n\n \"\"\"\n return self._request_futures_api(\"get\", \"openInterest\", data=params)" + }, + "futures_index_info": { + "name": "futures_index_info", + "path": "binance.client.Client.futures_index_info", + "signature": "(self, **params)", + "description": "Get index_info\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Composite-Index-Symbol-Information", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_index_info(self, **params):\n \"\"\"Get index_info\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Composite-Index-Symbol-Information\n\n \"\"\"\n return self._request_futures_api(\"get\", \"indexInfo\", data=params)" + }, + "futures_open_interest_hist": { + "name": "futures_open_interest_hist", + "path": "binance.client.Client.futures_open_interest_hist", + "signature": "(self, **params)", + "description": "Get open interest statistics of a specific symbol.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Open-Interest-Statistics", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_open_interest_hist(self, **params):\n \"\"\"Get open interest statistics of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Open-Interest-Statistics\n\n \"\"\"\n return self._request_futures_data_api(\"get\", \"openInterestHist\", data=params)" + }, + "futures_leverage_bracket": { + "name": "futures_leverage_bracket", + "path": "binance.client.Client.futures_leverage_bracket", + "signature": "(self, **params)", + "description": "Notional and Leverage Brackets\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Notional-and-Leverage-Brackets", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_leverage_bracket(self, **params):\n \"\"\"Notional and Leverage Brackets\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Notional-and-Leverage-Brackets\n\n \"\"\"\n return self._request_futures_api(\"get\", \"leverageBracket\", True, data=params)" + }, + "futures_account_transfer": { + "name": "futures_account_transfer", + "path": "binance.client.Client.futures_account_transfer", + "signature": "(self, **params)", + "description": "Execute transfer between spot account and futures account.\n\nhttps://binance-docs.github.io/apidocs/futures/en/#new-future-account-transfer", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_account_transfer(self, **params):\n \"\"\"Execute transfer between spot account and futures account.\n\n https://binance-docs.github.io/apidocs/futures/en/#new-future-account-transfer\n\n \"\"\"\n return self._request_margin_api(\"post\", \"futures/transfer\", True, data=params)" + }, + "transfer_history": { + "name": "transfer_history", + "path": "binance.client.Client.transfer_history", + "signature": "(self, **params)", + "description": "Get future account transaction history list\n\nhttps://binance-docs.github.io/apidocs/futures/en/#get-future-account-transaction-history-list-user_data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def transfer_history(self, **params):\n \"\"\"Get future account transaction history list\n\n https://binance-docs.github.io/apidocs/futures/en/#get-future-account-transaction-history-list-user_data\n\n \"\"\"\n return self._request_margin_api(\"get\", \"futures/transfer\", True, data=params)" + }, + "futures_loan_borrow_history": { + "name": "futures_loan_borrow_history", + "path": "binance.client.Client.futures_loan_borrow_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_loan_borrow_history(self, **params):\n return self._request_margin_api(\n \"get\", \"futures/loan/borrow/history\", True, data=params\n )" + }, + "futures_loan_repay_history": { + "name": "futures_loan_repay_history", + "path": "binance.client.Client.futures_loan_repay_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_loan_repay_history(self, **params):\n return self._request_margin_api(\n \"get\", \"futures/loan/repay/history\", True, data=params\n )" + }, + "futures_loan_wallet": { + "name": "futures_loan_wallet", + "path": "binance.client.Client.futures_loan_wallet", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_loan_wallet(self, **params):\n return self._request_margin_api(\n \"get\", \"futures/loan/wallet\", True, data=params, version=2\n )" + }, + "futures_cross_collateral_adjust_history": { + "name": "futures_cross_collateral_adjust_history", + "path": "binance.client.Client.futures_cross_collateral_adjust_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_cross_collateral_adjust_history(self, **params):\n return self._request_margin_api(\n \"get\", \"futures/loan/adjustCollateral/history\", True, data=params\n )" + }, + "futures_cross_collateral_liquidation_history": { + "name": "futures_cross_collateral_liquidation_history", + "path": "binance.client.Client.futures_cross_collateral_liquidation_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_cross_collateral_liquidation_history(self, **params):\n return self._request_margin_api(\n \"get\", \"futures/loan/liquidationHistory\", True, data=params\n )" + }, + "futures_loan_interest_history": { + "name": "futures_loan_interest_history", + "path": "binance.client.Client.futures_loan_interest_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_loan_interest_history(self, **params):\n return self._request_margin_api(\n \"get\", \"futures/loan/interestHistory\", True, data=params\n )" + }, + "futures_create_order": { + "name": "futures_create_order", + "path": "binance.client.Client.futures_create_order", + "signature": "(self, **params)", + "description": "Send in a new order.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_create_order(self, **params):\n \"\"\"Send in a new order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_futures_api(\"post\", \"order\", True, data=params)" + }, + "futures_limit_order": { + "name": "futures_limit_order", + "path": "binance.client.Client.futures_limit_order", + "signature": "(self, **params)", + "description": "Send in a new futures limit order.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_limit_order(self, **params):\n \"\"\"Send in a new futures limit order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"type\"] = \"LIMIT\"\n return self._request_futures_api(\"post\", \"order\", True, data=params)" + }, + "futures_market_order": { + "name": "futures_market_order", + "path": "binance.client.Client.futures_market_order", + "signature": "(self, **params)", + "description": "Send in a new futures market order.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_market_order(self, **params):\n \"\"\"Send in a new futures market order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"type\"] = \"MARKET\"\n return self._request_futures_api(\"post\", \"order\", True, data=params)" + }, + "futures_limit_buy_order": { + "name": "futures_limit_buy_order", + "path": "binance.client.Client.futures_limit_buy_order", + "signature": "(self, **params)", + "description": "Send in a new futures limit buy order.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_limit_buy_order(self, **params):\n \"\"\"Send in a new futures limit buy order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"BUY\"\n params[\"type\"] = \"LIMIT\"\n return self._request_futures_api(\"post\", \"order\", True, data=params)" + }, + "futures_limit_sell_order": { + "name": "futures_limit_sell_order", + "path": "binance.client.Client.futures_limit_sell_order", + "signature": "(self, **params)", + "description": "Send in a new futures limit sell order.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_limit_sell_order(self, **params):\n \"\"\"Send in a new futures limit sell order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"SELL\"\n params[\"type\"] = \"LIMIT\"\n return self._request_futures_api(\"post\", \"order\", True, data=params)" + }, + "futures_market_buy_order": { + "name": "futures_market_buy_order", + "path": "binance.client.Client.futures_market_buy_order", + "signature": "(self, **params)", + "description": "Send in a new futures market buy order.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_market_buy_order(self, **params):\n \"\"\"Send in a new futures market buy order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"BUY\"\n params[\"type\"] = \"MARKET\"\n return self._request_futures_api(\"post\", \"order\", True, data=params)" + }, + "futures_market_sell_order": { + "name": "futures_market_sell_order", + "path": "binance.client.Client.futures_market_sell_order", + "signature": "(self, **params)", + "description": "Send in a new futures market sell order.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_market_sell_order(self, **params):\n \"\"\"Send in a new futures market sell order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"SELL\"\n params[\"type\"] = \"MARKET\"\n return self._request_futures_api(\"post\", \"order\", True, data=params)" + }, + "futures_modify_order": { + "name": "futures_modify_order", + "path": "binance.client.Client.futures_modify_order", + "signature": "(self, **params)", + "description": "Modify an existing order. Currently only LIMIT order modification is supported.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Modify-Order", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_modify_order(self, **params):\n \"\"\"Modify an existing order. Currently only LIMIT order modification is supported.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Modify-Order\n\n \"\"\"\n return self._request_futures_api(\"put\", \"order\", True, data=params)" + }, + "futures_create_test_order": { + "name": "futures_create_test_order", + "path": "binance.client.Client.futures_create_test_order", + "signature": "(self, **params)", + "description": "Testing order request, this order will not be submitted to matching engine\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/New-Order-Test", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_create_test_order(self, **params):\n \"\"\"Testing order request, this order will not be submitted to matching engine\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/New-Order-Test\n\n \"\"\"\n return self._request_futures_api(\"post\", \"order/test\", True, data=params)" + }, + "futures_place_batch_order": { + "name": "futures_place_batch_order", + "path": "binance.client.Client.futures_place_batch_order", + "signature": "(self, **params)", + "description": "Send in new orders.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Place-Multiple-Orders\n\nTo avoid modifying the existing signature generation and parameter order logic,\nthe url encoding is done on the special query param, batchOrders, in the early stage.", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_place_batch_order(self, **params):\n \"\"\"Send in new orders.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Place-Multiple-Orders\n\n To avoid modifying the existing signature generation and parameter order logic,\n the url encoding is done on the special query param, batchOrders, in the early stage.\n\n \"\"\"\n for order in params[\"batchOrders\"]:\n if \"newClientOrderId\" not in order:\n order[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n query_string = urlencode(params)\n query_string = query_string.replace(\"%27\", \"%22\")\n params[\"batchOrders\"] = query_string[12:]\n return self._request_futures_api(\n \"post\", \"batchOrders\", True, data=params, force_params=True\n )" + }, + "futures_get_order": { + "name": "futures_get_order", + "path": "binance.client.Client.futures_get_order", + "signature": "(self, **params)", + "description": "Check an order's status.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-Order", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_get_order(self, **params):\n \"\"\"Check an order's status.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-Order\n\n \"\"\"\n return self._request_futures_api(\"get\", \"order\", True, data=params)" + }, + "futures_get_open_orders": { + "name": "futures_get_open_orders", + "path": "binance.client.Client.futures_get_open_orders", + "signature": "(self, **params)", + "description": "Get all open orders on a symbol.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Current-All-Open-Orders", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_get_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Current-All-Open-Orders\n\n \"\"\"\n return self._request_futures_api(\"get\", \"openOrders\", True, data=params)" + }, + "futures_get_all_orders": { + "name": "futures_get_all_orders", + "path": "binance.client.Client.futures_get_all_orders", + "signature": "(self, **params)", + "description": "Get all futures account orders; active, canceled, or filled.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/All-Orders", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_get_all_orders(self, **params):\n \"\"\"Get all futures account orders; active, canceled, or filled.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/All-Orders\n\n \"\"\"\n return self._request_futures_api(\"get\", \"allOrders\", True, data=params)" + }, + "futures_cancel_order": { + "name": "futures_cancel_order", + "path": "binance.client.Client.futures_cancel_order", + "signature": "(self, **params)", + "description": "Cancel an active futures order.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-Order", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_cancel_order(self, **params):\n \"\"\"Cancel an active futures order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-Order\n\n \"\"\"\n return self._request_futures_api(\"delete\", \"order\", True, data=params)" + }, + "futures_cancel_all_open_orders": { + "name": "futures_cancel_all_open_orders", + "path": "binance.client.Client.futures_cancel_all_open_orders", + "signature": "(self, **params)", + "description": "Cancel all open futures orders\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-All-Open-Orders", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_cancel_all_open_orders(self, **params):\n \"\"\"Cancel all open futures orders\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-All-Open-Orders\n\n \"\"\"\n return self._request_futures_api(\"delete\", \"allOpenOrders\", True, data=params)" + }, + "futures_cancel_orders": { + "name": "futures_cancel_orders", + "path": "binance.client.Client.futures_cancel_orders", + "signature": "(self, **params)", + "description": "Cancel multiple futures orders\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-Multiple-Orders", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_cancel_orders(self, **params):\n \"\"\"Cancel multiple futures orders\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-Multiple-Orders\n\n \"\"\"\n if params.get(\"orderidlist\"):\n params[\"orderidlist\"] = quote(\n convert_list_to_json_array(params[\"orderidlist\"])\n )\n if params.get(\"origclientorderidlist\"):\n params[\"origclientorderidlist\"] = quote(\n convert_list_to_json_array(params[\"origclientorderidlist\"])\n )\n return self._request_futures_api(\n \"delete\", \"batchOrders\", True, force_params=True, data=params\n )" + }, + "futures_countdown_cancel_all": { + "name": "futures_countdown_cancel_all", + "path": "binance.client.Client.futures_countdown_cancel_all", + "signature": "(self, **params)", + "description": "Cancel all open orders of the specified symbol at the end of the specified countdown.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Auto-Cancel-All-Open-Orders\n\n:param symbol: required\n:type symbol: str\n:param countdownTime: required\n:type countdownTime: int\n:param recvWindow: optional - the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n{\n \"symbol\": \"BTCUSDT\",\n \"countdownTime\": \"100000\"\n}", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_countdown_cancel_all(self, **params):\n \"\"\"Cancel all open orders of the specified symbol at the end of the specified countdown.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Auto-Cancel-All-Open-Orders\n\n :param symbol: required\n :type symbol: str\n :param countdownTime: required\n :type countdownTime: int\n :param recvWindow: optional - the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"symbol\": \"BTCUSDT\",\n \"countdownTime\": \"100000\"\n }\n\n \"\"\"\n return self._request_futures_api(\n \"post\", \"countdownCancelAll\", True, data=params\n )" + }, + "futures_account_balance": { + "name": "futures_account_balance", + "path": "binance.client.Client.futures_account_balance", + "signature": "(self, **params)", + "description": "Get futures account balance\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Futures-Account-Balance-V3", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_account_balance(self, **params):\n \"\"\"Get futures account balance\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Futures-Account-Balance-V3\n\n \"\"\"\n return self._request_futures_api(\"get\", \"balance\", True, 3, data=params)" + }, + "futures_account": { + "name": "futures_account", + "path": "binance.client.Client.futures_account", + "signature": "(self, **params)", + "description": "Get current account information.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Account-Information-V2", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_account(self, **params):\n \"\"\"Get current account information.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Account-Information-V2\n\n \"\"\"\n return self._request_futures_api(\"get\", \"account\", True, 2, data=params)" + }, + "futures_change_leverage": { + "name": "futures_change_leverage", + "path": "binance.client.Client.futures_change_leverage", + "signature": "(self, **params)", + "description": "Change user's initial leverage of specific symbol market\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Change-Initial-Leverage", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_change_leverage(self, **params):\n \"\"\"Change user's initial leverage of specific symbol market\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Change-Initial-Leverage\n\n \"\"\"\n return self._request_futures_api(\"post\", \"leverage\", True, data=params)" + }, + "futures_change_margin_type": { + "name": "futures_change_margin_type", + "path": "binance.client.Client.futures_change_margin_type", + "signature": "(self, **params)", + "description": "Change the margin type for a symbol\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Change-Margin-Type", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_change_margin_type(self, **params):\n \"\"\"Change the margin type for a symbol\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Change-Margin-Type\n\n \"\"\"\n return self._request_futures_api(\"post\", \"marginType\", True, data=params)" + }, + "futures_change_position_margin": { + "name": "futures_change_position_margin", + "path": "binance.client.Client.futures_change_position_margin", + "signature": "(self, **params)", + "description": "Change the position margin for a symbol\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Modify-Isolated-Position-Margin", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_change_position_margin(self, **params):\n \"\"\"Change the position margin for a symbol\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Modify-Isolated-Position-Margin\n\n \"\"\"\n return self._request_futures_api(\"post\", \"positionMargin\", True, data=params)" + }, + "futures_position_margin_history": { + "name": "futures_position_margin_history", + "path": "binance.client.Client.futures_position_margin_history", + "signature": "(self, **params)", + "description": "Get position margin change history\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Get-Position-Margin-Change-History", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_position_margin_history(self, **params):\n \"\"\"Get position margin change history\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Get-Position-Margin-Change-History\n\n \"\"\"\n return self._request_futures_api(\n \"get\", \"positionMargin/history\", True, data=params\n )" + }, + "futures_position_information": { + "name": "futures_position_information", + "path": "binance.client.Client.futures_position_information", + "signature": "(self, **params)", + "description": "Get position information\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Position-Information-V3", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_position_information(self, **params):\n \"\"\"Get position information\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Position-Information-V3\n\n \"\"\"\n return self._request_futures_api(\"get\", \"positionRisk\", True, 3, data=params)" + }, + "futures_account_trades": { + "name": "futures_account_trades", + "path": "binance.client.Client.futures_account_trades", + "signature": "(self, **params)", + "description": "Get trades for the authenticated account and symbol.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Account-Trade-List", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_account_trades(self, **params):\n \"\"\"Get trades for the authenticated account and symbol.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Account-Trade-List\n\n \"\"\"\n return self._request_futures_api(\"get\", \"userTrades\", True, data=params)" + }, + "futures_income_history": { + "name": "futures_income_history", + "path": "binance.client.Client.futures_income_history", + "signature": "(self, **params)", + "description": "Get income history for authenticated account\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Income-History", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_income_history(self, **params):\n \"\"\"Get income history for authenticated account\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Income-History\n\n \"\"\"\n return self._request_futures_api(\"get\", \"income\", True, data=params)" + }, + "futures_change_position_mode": { + "name": "futures_change_position_mode", + "path": "binance.client.Client.futures_change_position_mode", + "signature": "(self, **params)", + "description": "Change position mode for authenticated account\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Change-Position-Mode", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_change_position_mode(self, **params):\n \"\"\"Change position mode for authenticated account\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Change-Position-Mode\n\n \"\"\"\n return self._request_futures_api(\"post\", \"positionSide/dual\", True, data=params)" + }, + "futures_get_position_mode": { + "name": "futures_get_position_mode", + "path": "binance.client.Client.futures_get_position_mode", + "signature": "(self, **params)", + "description": "Get position mode for authenticated account\n\nhttps://binance-docs.github.io/apidocs/futures/en/#get-current-position-mode-user_data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_get_position_mode(self, **params):\n \"\"\"Get position mode for authenticated account\n\n https://binance-docs.github.io/apidocs/futures/en/#get-current-position-mode-user_data\n\n \"\"\"\n return self._request_futures_api(\"get\", \"positionSide/dual\", True, data=params)" + }, + "futures_change_multi_assets_mode": { + "name": "futures_change_multi_assets_mode", + "path": "binance.client.Client.futures_change_multi_assets_mode", + "signature": "(self, multiAssetsMargin)", + "description": "Change user's Multi-Assets mode (Multi-Assets Mode or Single-Asset Mode) on Every symbol\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Change-Multi-Assets-Mode", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "multiAssetsMargin", + "annotation": "bool", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_change_multi_assets_mode(self, multiAssetsMargin: bool):\n \"\"\"Change user's Multi-Assets mode (Multi-Assets Mode or Single-Asset Mode) on Every symbol\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Change-Multi-Assets-Mode\n\n \"\"\"\n params = {\"multiAssetsMargin\": \"true\" if multiAssetsMargin else \"false\"}\n return self._request_futures_api(\"post\", \"multiAssetsMargin\", True, data=params)" + }, + "futures_get_multi_assets_mode": { + "name": "futures_get_multi_assets_mode", + "path": "binance.client.Client.futures_get_multi_assets_mode", + "signature": "(self)", + "description": "Get user's Multi-Assets mode (Multi-Assets Mode or Single-Asset Mode) on Every symbol\n\nhttps://binance-docs.github.io/apidocs/futures/en/#get-current-multi-assets-mode-user_data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_get_multi_assets_mode(self):\n \"\"\"Get user's Multi-Assets mode (Multi-Assets Mode or Single-Asset Mode) on Every symbol\n\n https://binance-docs.github.io/apidocs/futures/en/#get-current-multi-assets-mode-user_data\n\n \"\"\"\n return self._request_futures_api(\"get\", \"multiAssetsMargin\", True, data={})" + }, + "futures_stream_get_listen_key": { + "name": "futures_stream_get_listen_key", + "path": "binance.client.Client.futures_stream_get_listen_key", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_stream_get_listen_key(self):\n res = self._request_futures_api(\"post\", \"listenKey\", signed=False, data={})\n return res[\"listenKey\"]" + }, + "futures_stream_keepalive": { + "name": "futures_stream_keepalive", + "path": "binance.client.Client.futures_stream_keepalive", + "signature": "(self, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_stream_keepalive(self, listenKey):\n params = {\"listenKey\": listenKey}\n return self._request_futures_api(\"put\", \"listenKey\", signed=False, data=params)" + }, + "futures_stream_close": { + "name": "futures_stream_close", + "path": "binance.client.Client.futures_stream_close", + "signature": "(self, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_stream_close(self, listenKey):\n params = {\"listenKey\": listenKey}\n return self._request_futures_api(\n \"delete\", \"listenKey\", signed=False, data=params\n )" + }, + "futures_account_config": { + "name": "futures_account_config", + "path": "binance.client.Client.futures_account_config", + "signature": "(self, **params)", + "description": "Get futures account configuration\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Account-Config", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_account_config(self, **params):\n \"\"\"Get futures account configuration\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Account-Config\n \"\"\"\n return self._request_futures_api(\n \"get\", \"accountConfig\", signed=True, version=1, data=params\n )" + }, + "futures_symbol_config": { + "name": "futures_symbol_config", + "path": "binance.client.Client.futures_symbol_config", + "signature": "(self, **params)", + "description": "Get current account symbol configuration\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Symbol-Config", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_symbol_config(self, **params):\n \"\"\"Get current account symbol configuration\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Symbol-Config\n \"\"\"\n return self._request_futures_api(\n \"get\", \"symbolConfig\", signed=True, version=1, data=params\n )" + }, + "futures_coin_ping": { + "name": "futures_coin_ping", + "path": "binance.client.Client.futures_coin_ping", + "signature": "(self)", + "description": "Test connectivity to the Rest API\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_ping(self):\n \"\"\"Test connectivity to the Rest API\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"ping\")" + }, + "futures_coin_time": { + "name": "futures_coin_time", + "path": "binance.client.Client.futures_coin_time", + "signature": "(self)", + "description": "Test connectivity to the Rest API and get the current server time.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Check-Server-time", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_time(self):\n \"\"\"Test connectivity to the Rest API and get the current server time.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Check-Server-time\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"time\")" + }, + "futures_coin_exchange_info": { + "name": "futures_coin_exchange_info", + "path": "binance.client.Client.futures_coin_exchange_info", + "signature": "(self)", + "description": "Current exchange trading rules and symbol information\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Exchange-Information", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_exchange_info(self):\n \"\"\"Current exchange trading rules and symbol information\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Exchange-Information\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"exchangeInfo\")" + }, + "futures_coin_order_book": { + "name": "futures_coin_order_book", + "path": "binance.client.Client.futures_coin_order_book", + "signature": "(self, **params)", + "description": "Get the Order Book for the market\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Order-Book", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_order_book(self, **params):\n \"\"\"Get the Order Book for the market\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Order-Book\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"depth\", data=params)" + }, + "futures_coin_recent_trades": { + "name": "futures_coin_recent_trades", + "path": "binance.client.Client.futures_coin_recent_trades", + "signature": "(self, **params)", + "description": "Get recent trades (up to last 500).\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Recent-Trades-List", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_recent_trades(self, **params):\n \"\"\"Get recent trades (up to last 500).\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Recent-Trades-List\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"trades\", data=params)" + }, + "futures_coin_historical_trades": { + "name": "futures_coin_historical_trades", + "path": "binance.client.Client.futures_coin_historical_trades", + "signature": "(self, **params)", + "description": "Get older market historical trades.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Old-Trades-Lookup", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_historical_trades(self, **params):\n \"\"\"Get older market historical trades.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Old-Trades-Lookup\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"historicalTrades\", data=params)" + }, + "futures_coin_aggregate_trades": { + "name": "futures_coin_aggregate_trades", + "path": "binance.client.Client.futures_coin_aggregate_trades", + "signature": "(self, **params)", + "description": "Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same\nprice will have the quantity aggregated.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Compressed-Aggregate-Trades-List", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_aggregate_trades(self, **params):\n \"\"\"Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same\n price will have the quantity aggregated.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Compressed-Aggregate-Trades-List\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"aggTrades\", data=params)" + }, + "futures_coin_klines": { + "name": "futures_coin_klines", + "path": "binance.client.Client.futures_coin_klines", + "signature": "(self, **params)", + "description": "Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_klines(self, **params):\n \"\"\"Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"klines\", data=params)" + }, + "futures_coin_continous_klines": { + "name": "futures_coin_continous_klines", + "path": "binance.client.Client.futures_coin_continous_klines", + "signature": "(self, **params)", + "description": "Kline/candlestick bars for a specific contract type. Klines are uniquely identified by their open time.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Continuous-Contract-Kline-Candlestick-Data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_continous_klines(self, **params):\n \"\"\"Kline/candlestick bars for a specific contract type. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Continuous-Contract-Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"continuousKlines\", data=params)" + }, + "futures_coin_index_price_klines": { + "name": "futures_coin_index_price_klines", + "path": "binance.client.Client.futures_coin_index_price_klines", + "signature": "(self, **params)", + "description": "Kline/candlestick bars for the index price of a pair..\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_index_price_klines(self, **params):\n \"\"\"Kline/candlestick bars for the index price of a pair..\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"indexPriceKlines\", data=params)" + }, + "futures_coin_premium_index_klines": { + "name": "futures_coin_premium_index_klines", + "path": "binance.client.Client.futures_coin_premium_index_klines", + "signature": "(self, **params)", + "description": "Kline/candlestick bars for the index price of a pair..\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_premium_index_klines(self, **params):\n \"\"\"Kline/candlestick bars for the index price of a pair..\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"premiumIndexKlines\", data=params)" + }, + "futures_coin_mark_price_klines": { + "name": "futures_coin_mark_price_klines", + "path": "binance.client.Client.futures_coin_mark_price_klines", + "signature": "(self, **params)", + "description": "Kline/candlestick bars for the index price of a pair..\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_mark_price_klines(self, **params):\n \"\"\"Kline/candlestick bars for the index price of a pair..\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"markPriceKlines\", data=params)" + }, + "futures_coin_mark_price": { + "name": "futures_coin_mark_price", + "path": "binance.client.Client.futures_coin_mark_price", + "signature": "(self, **params)", + "description": "Get Mark Price and Funding Rate\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-and-Mark-Price", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_mark_price(self, **params):\n \"\"\"Get Mark Price and Funding Rate\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-and-Mark-Price\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"premiumIndex\", data=params)" + }, + "futures_coin_funding_rate": { + "name": "futures_coin_funding_rate", + "path": "binance.client.Client.futures_coin_funding_rate", + "signature": "(self, **params)", + "description": "Get funding rate history\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Get-Funding-Rate-History-of-Perpetual-Futures", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_funding_rate(self, **params):\n \"\"\"Get funding rate history\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Get-Funding-Rate-History-of-Perpetual-Futures\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"fundingRate\", data=params)" + }, + "futures_coin_ticker": { + "name": "futures_coin_ticker", + "path": "binance.client.Client.futures_coin_ticker", + "signature": "(self, **params)", + "description": "24 hour rolling window price change statistics.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/24hr-Ticker-Price-Change-Statistics", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_ticker(self, **params):\n \"\"\"24 hour rolling window price change statistics.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/24hr-Ticker-Price-Change-Statistics\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"ticker/24hr\", data=params)" + }, + "futures_coin_symbol_ticker": { + "name": "futures_coin_symbol_ticker", + "path": "binance.client.Client.futures_coin_symbol_ticker", + "signature": "(self, **params)", + "description": "Latest price for a symbol or symbols.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Symbol-Price-Ticker", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_symbol_ticker(self, **params):\n \"\"\"Latest price for a symbol or symbols.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Symbol-Price-Ticker\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"ticker/price\", data=params)" + }, + "futures_coin_orderbook_ticker": { + "name": "futures_coin_orderbook_ticker", + "path": "binance.client.Client.futures_coin_orderbook_ticker", + "signature": "(self, **params)", + "description": "Best price/qty on the order book for a symbol or symbols.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Symbol-Order-Book-Ticker", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_orderbook_ticker(self, **params):\n \"\"\"Best price/qty on the order book for a symbol or symbols.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Symbol-Order-Book-Ticker\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"ticker/bookTicker\", data=params)" + }, + "futures_coin_top_longshort_position_ratio": { + "name": "futures_coin_top_longshort_position_ratio", + "path": "binance.client.Client.futures_coin_top_longshort_position_ratio", + "signature": "(self, **params)", + "description": "Get present long to short ratio for top positions of a specific symbol.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Top-Trader-Long-Short-Ratio", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_top_longshort_position_ratio(self, **params):\n \"\"\"Get present long to short ratio for top positions of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Top-Trader-Long-Short-Ratio\n \"\"\"\n return self._request_futures_coin_data_api(\"get\", \"topLongShortPositionRatio\", data=params)" + }, + "futures_coin_top_longshort_account_ratio": { + "name": "futures_coin_top_longshort_account_ratio", + "path": "binance.client.Client.futures_coin_top_longshort_account_ratio", + "signature": "(self, **params)", + "description": "Get present long to short ratio for top positions of a specific symbol.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Top-Long-Short-Account-Ratio", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_top_longshort_account_ratio(self, **params):\n \"\"\"Get present long to short ratio for top positions of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Top-Long-Short-Account-Ratio\n \"\"\"\n return self._request_futures_coin_data_api(\"get\", \"topLongShortAccountRatio\", data=params)" + }, + "futures_coin_global_longshort_ratio": { + "name": "futures_coin_global_longshort_ratio", + "path": "binance.client.Client.futures_coin_global_longshort_ratio", + "signature": "(self, **params)", + "description": "Get present long to short ratio for top positions of a specific symbol.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Long-Short-Ratio", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_global_longshort_ratio(self, **params):\n \"\"\"Get present long to short ratio for top positions of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Long-Short-Ratio\n \"\"\"\n return self._request_futures_coin_data_api(\"get\", \"globalLongShortAccountRatio\", data=params)" + }, + "futures_coin_taker_buy_sell_volume": { + "name": "futures_coin_taker_buy_sell_volume", + "path": "binance.client.Client.futures_coin_taker_buy_sell_volume", + "signature": "(self, **params)", + "description": "Get present long to short ratio for top positions of a specific symbol.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Taker-Buy-Sell-Volume", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_taker_buy_sell_volume(self, **params):\n \"\"\"Get present long to short ratio for top positions of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Taker-Buy-Sell-Volume\n \"\"\"\n return self._request_futures_coin_data_api(\"get\", \"takerBuySellVol\", data=params)" + }, + "futures_coin_basis": { + "name": "futures_coin_basis", + "path": "binance.client.Client.futures_coin_basis", + "signature": "(self, **params)", + "description": "Get future basis of a specific symbol\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Basis", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_basis(self, **params):\n \"\"\"Get future basis of a specific symbol\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Basis\n \"\"\"\n return self._request_futures_coin_data_api(\"get\", \"basis\", data=params)" + }, + "futures_coin_index_price_constituents": { + "name": "futures_coin_index_price_constituents", + "path": "binance.client.Client.futures_coin_index_price_constituents", + "signature": "(self, **params)", + "description": "Get index price constituents\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Constituents", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_index_price_constituents(self, **params):\n \"\"\"Get index price constituents\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Constituents\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"constituents\", data=params)" + }, + "futures_coin_liquidation_orders": { + "name": "futures_coin_liquidation_orders", + "path": "binance.client.Client.futures_coin_liquidation_orders", + "signature": "(self, **params)", + "description": "Get all liquidation orders\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Users-Force-Orders", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_liquidation_orders(self, **params):\n \"\"\"Get all liquidation orders\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Users-Force-Orders\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"forceOrders\", signed=True, data=params\n )" + }, + "futures_coin_open_interest": { + "name": "futures_coin_open_interest", + "path": "binance.client.Client.futures_coin_open_interest", + "signature": "(self, **params)", + "description": "Get present open interest of a specific symbol.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Open-Interest", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_open_interest(self, **params):\n \"\"\"Get present open interest of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Open-Interest\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"openInterest\", data=params)" + }, + "futures_coin_open_interest_hist": { + "name": "futures_coin_open_interest_hist", + "path": "binance.client.Client.futures_coin_open_interest_hist", + "signature": "(self, **params)", + "description": "Get open interest statistics of a specific symbol.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Open-Interest-Statistics", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_open_interest_hist(self, **params):\n \"\"\"Get open interest statistics of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Open-Interest-Statistics\n\n \"\"\"\n return self._request_futures_coin_data_api(\n \"get\", \"openInterestHist\", data=params\n )" + }, + "futures_coin_leverage_bracket": { + "name": "futures_coin_leverage_bracket", + "path": "binance.client.Client.futures_coin_leverage_bracket", + "signature": "(self, **params)", + "description": "Notional and Leverage Brackets\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Notional-Bracket-for-Symbol", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_leverage_bracket(self, **params):\n \"\"\"Notional and Leverage Brackets\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Notional-Bracket-for-Symbol\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"leverageBracket\", version=2, signed=True, data=params\n )" + }, + "new_transfer_history": { + "name": "new_transfer_history", + "path": "binance.client.Client.new_transfer_history", + "signature": "(self, **params)", + "description": "Get future account transaction history list\n\nhttps://developers.binance.com/docs/wallet/asset/query-user-universal-transfer", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def new_transfer_history(self, **params):\n \"\"\"Get future account transaction history list\n\n https://developers.binance.com/docs/wallet/asset/query-user-universal-transfer\n\n \"\"\"\n return self._request_margin_api(\"get\", \"asset/transfer\", True, data=params)" + }, + "funding_wallet": { + "name": "funding_wallet", + "path": "binance.client.Client.funding_wallet", + "signature": "(self, **params)", + "description": "Query Funding Wallet\n\nhttps://developers.binance.com/docs/wallet/asset/funding-wallet", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def funding_wallet(self, **params):\n \"\"\" Query Funding Wallet\n\n https://developers.binance.com/docs/wallet/asset/funding-wallet\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"asset/get-funding-asset\", True, data=params\n )" + }, + "get_user_asset": { + "name": "get_user_asset", + "path": "binance.client.Client.get_user_asset", + "signature": "(self, **params)", + "description": "Get user assets, just for positive data\n\nhttps://developers.binance.com/docs/wallet/asset/user-assets", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_user_asset(self, **params):\n \"\"\" Get user assets, just for positive data\n\n https://developers.binance.com/docs/wallet/asset/user-assets\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"asset/getUserAsset\", True, data=params, version=3\n )" + }, + "universal_transfer": { + "name": "universal_transfer", + "path": "binance.client.Client.universal_transfer", + "signature": "(self, **params)", + "description": "Unviversal transfer api accross different binance account types\n\nhttps://developers.binance.com/docs/wallet/asset/user-universal-transfer", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def universal_transfer(self, **params):\n \"\"\"Unviversal transfer api accross different binance account types\n\n https://developers.binance.com/docs/wallet/asset/user-universal-transfer\n \"\"\"\n return self._request_margin_api(\n \"post\", \"asset/transfer\", signed=True, data=params\n )" + }, + "futures_coin_create_order": { + "name": "futures_coin_create_order", + "path": "binance.client.Client.futures_coin_create_order", + "signature": "(self, **params)", + "description": "Send in a new order.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_create_order(self, **params):\n \"\"\"Send in a new order.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_futures_coin_api(\"post\", \"order\", True, data=params)" + }, + "futures_coin_place_batch_order": { + "name": "futures_coin_place_batch_order", + "path": "binance.client.Client.futures_coin_place_batch_order", + "signature": "(self, **params)", + "description": "Send in new orders.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Place-Multiple-Orders\n\nTo avoid modifying the existing signature generation and parameter order logic,\nthe url encoding is done on the special query param, batchOrders, in the early stage.", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_place_batch_order(self, **params):\n \"\"\"Send in new orders.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Place-Multiple-Orders\n\n To avoid modifying the existing signature generation and parameter order logic,\n the url encoding is done on the special query param, batchOrders, in the early stage.\n\n \"\"\"\n for order in params[\"batchOrders\"]:\n if \"newClientOrderId\" not in order:\n order[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n query_string = urlencode(params)\n query_string = query_string.replace(\"%27\", \"%22\")\n params[\"batchOrders\"] = query_string[12:]\n\n return self._request_futures_coin_api(\"post\", \"batchOrders\", True, data=params)" + }, + "futures_coin_modify_order": { + "name": "futures_coin_modify_order", + "path": "binance.client.Client.futures_coin_modify_order", + "signature": "(self, **params)", + "description": "Modify an existing order. Currently only LIMIT order modification is supported.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Modify-Order", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_modify_order(self, **params):\n \"\"\"Modify an existing order. Currently only LIMIT order modification is supported.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Modify-Order\n\n \"\"\"\n return self._request_futures_coin_api(\"put\", \"order\", True, data=params)" + }, + "futures_coin_get_order": { + "name": "futures_coin_get_order", + "path": "binance.client.Client.futures_coin_get_order", + "signature": "(self, **params)", + "description": "Check an order's status.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Query-Order", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_get_order(self, **params):\n \"\"\"Check an order's status.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Query-Order\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"order\", True, data=params)" + }, + "futures_coin_get_open_orders": { + "name": "futures_coin_get_open_orders", + "path": "binance.client.Client.futures_coin_get_open_orders", + "signature": "(self, **params)", + "description": "Get all open orders on a symbol.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Current-All-Open-Orders", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_get_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Current-All-Open-Orders\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"openOrders\", True, data=params)" + }, + "futures_coin_get_all_orders": { + "name": "futures_coin_get_all_orders", + "path": "binance.client.Client.futures_coin_get_all_orders", + "signature": "(self, **params)", + "description": "Get all futures account orders; active, canceled, or filled.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/All-Orders", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_get_all_orders(self, **params):\n \"\"\"Get all futures account orders; active, canceled, or filled.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/All-Orders\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"allOrders\", signed=True, data=params\n )" + }, + "futures_coin_cancel_order": { + "name": "futures_coin_cancel_order", + "path": "binance.client.Client.futures_coin_cancel_order", + "signature": "(self, **params)", + "description": "Cancel an active futures order.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Cancel-Order", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_cancel_order(self, **params):\n \"\"\"Cancel an active futures order.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Cancel-Order\n\n \"\"\"\n return self._request_futures_coin_api(\n \"delete\", \"order\", signed=True, data=params\n )" + }, + "futures_coin_cancel_all_open_orders": { + "name": "futures_coin_cancel_all_open_orders", + "path": "binance.client.Client.futures_coin_cancel_all_open_orders", + "signature": "(self, **params)", + "description": "Cancel all open futures orders\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Cancel-All-Open-Orders", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_cancel_all_open_orders(self, **params):\n \"\"\"Cancel all open futures orders\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Cancel-All-Open-Orders\n\n \"\"\"\n return self._request_futures_coin_api(\n \"delete\", \"allOpenOrders\", signed=True, force_params=True, data=params\n )" + }, + "futures_coin_cancel_orders": { + "name": "futures_coin_cancel_orders", + "path": "binance.client.Client.futures_coin_cancel_orders", + "signature": "(self, **params)", + "description": "Cancel multiple futures orders\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Cancel-Multiple-Orders", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_cancel_orders(self, **params):\n \"\"\"Cancel multiple futures orders\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Cancel-Multiple-Orders\n\n \"\"\"\n if params.get(\"orderidlist\"):\n params[\"orderidlist\"] = quote(\n convert_list_to_json_array(params[\"orderidlist\"])\n )\n if params.get(\"origclientOrderidlist\"):\n params[\"origclientorderidlist\"] = quote(\n convert_list_to_json_array(params[\"origclientorderidlist\"])\n )\n return self._request_futures_coin_api(\n \"delete\", \"batchOrders\", True, data=params\n )" + }, + "futures_coin_countdown_cancel_all": { + "name": "futures_coin_countdown_cancel_all", + "path": "binance.client.Client.futures_coin_countdown_cancel_all", + "signature": "(self, **params)", + "description": "Cancel all open orders of the specified symbol at the end of the specified countdown.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Auto-Cancel-All-Open-Orders\n\n:param symbol: required\n:type symbol: str\n:param countdownTime: required\n:type countdownTime: int\n:param recvWindow: optional - the number of milliseconds the request is valid for\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n{\n \"symbol\": \"BTCUSDT\",\n \"countdownTime\": \"100000\"\n}", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_countdown_cancel_all(self, **params):\n \"\"\"Cancel all open orders of the specified symbol at the end of the specified countdown.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Auto-Cancel-All-Open-Orders\n\n :param symbol: required\n :type symbol: str\n :param countdownTime: required\n :type countdownTime: int\n :param recvWindow: optional - the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"symbol\": \"BTCUSDT\",\n \"countdownTime\": \"100000\"\n }\n\n \"\"\"\n return self._request_futures_coin_api(\n \"post\", \"countdownCancelAll\", True, data=params\n )" + }, + "futures_coin_get_open_order": { + "name": "futures_coin_get_open_order", + "path": "binance.client.Client.futures_coin_get_open_order", + "signature": "(self, **params)", + "description": "Get current open order.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Query-Current-Open-Order", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_get_open_order(self, **params):\n \"\"\"Get current open order.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Query-Current-Open-Order\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"openOrder\", signed=True, data=params\n )" + }, + "futures_coin_account_balance": { + "name": "futures_coin_account_balance", + "path": "binance.client.Client.futures_coin_account_balance", + "signature": "(self, **params)", + "description": "Get futures account balance\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Futures-Account-Balance", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_account_balance(self, **params):\n \"\"\"Get futures account balance\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Futures-Account-Balance\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"balance\", signed=True, data=params\n )" + }, + "futures_coin_account": { + "name": "futures_coin_account", + "path": "binance.client.Client.futures_coin_account", + "signature": "(self, **params)", + "description": "Get current account information.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Account-Information", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_account(self, **params):\n \"\"\"Get current account information.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Account-Information\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"account\", signed=True, data=params\n )" + }, + "futures_coin_change_leverage": { + "name": "futures_coin_change_leverage", + "path": "binance.client.Client.futures_coin_change_leverage", + "signature": "(self, **params)", + "description": "Change user's initial leverage of specific symbol market\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Change-Initial-Leverage", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_change_leverage(self, **params):\n \"\"\"Change user's initial leverage of specific symbol market\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Change-Initial-Leverage\n\n \"\"\"\n return self._request_futures_coin_api(\n \"post\", \"leverage\", signed=True, data=params\n )" + }, + "futures_coin_change_margin_type": { + "name": "futures_coin_change_margin_type", + "path": "binance.client.Client.futures_coin_change_margin_type", + "signature": "(self, **params)", + "description": "Change the margin type for a symbol\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Change-Margin-Type", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_change_margin_type(self, **params):\n \"\"\"Change the margin type for a symbol\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Change-Margin-Type\n\n \"\"\"\n return self._request_futures_coin_api(\n \"post\", \"marginType\", signed=True, data=params\n )" + }, + "futures_coin_change_position_margin": { + "name": "futures_coin_change_position_margin", + "path": "binance.client.Client.futures_coin_change_position_margin", + "signature": "(self, **params)", + "description": "Change the position margin for a symbol\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Modify-Isolated-Position-Margin", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_change_position_margin(self, **params):\n \"\"\"Change the position margin for a symbol\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Modify-Isolated-Position-Margin\n\n \"\"\"\n return self._request_futures_coin_api(\n \"post\", \"positionMargin\", True, data=params\n )" + }, + "futures_coin_position_margin_history": { + "name": "futures_coin_position_margin_history", + "path": "binance.client.Client.futures_coin_position_margin_history", + "signature": "(self, **params)", + "description": "Get position margin change history\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Get-Position-Margin-Change-History", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_position_margin_history(self, **params):\n \"\"\"Get position margin change history\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Get-Position-Margin-Change-History\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"positionMargin/history\", True, data=params\n )" + }, + "futures_coin_position_information": { + "name": "futures_coin_position_information", + "path": "binance.client.Client.futures_coin_position_information", + "signature": "(self, **params)", + "description": "Get position information\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Position-Information", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_position_information(self, **params):\n \"\"\"Get position information\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Position-Information\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"positionRisk\", True, data=params)" + }, + "futures_coin_account_trades": { + "name": "futures_coin_account_trades", + "path": "binance.client.Client.futures_coin_account_trades", + "signature": "(self, **params)", + "description": "Get trades for the authenticated account and symbol.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Account-Trade-List", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_account_trades(self, **params):\n \"\"\"Get trades for the authenticated account and symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Account-Trade-List\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"userTrades\", True, data=params)" + }, + "futures_coin_income_history": { + "name": "futures_coin_income_history", + "path": "binance.client.Client.futures_coin_income_history", + "signature": "(self, **params)", + "description": "Get income history for authenticated account\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Income-History", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_income_history(self, **params):\n \"\"\"Get income history for authenticated account\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Income-History\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"income\", True, data=params)" + }, + "futures_coin_change_position_mode": { + "name": "futures_coin_change_position_mode", + "path": "binance.client.Client.futures_coin_change_position_mode", + "signature": "(self, **params)", + "description": "Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Change-Position-Mode", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_change_position_mode(self, **params):\n \"\"\"Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Change-Position-Mode\n\n \"\"\"\n return self._request_futures_coin_api(\n \"post\", \"positionSide/dual\", True, data=params\n )" + }, + "futures_coin_get_position_mode": { + "name": "futures_coin_get_position_mode", + "path": "binance.client.Client.futures_coin_get_position_mode", + "signature": "(self, **params)", + "description": "Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Current-Position-Mode", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_get_position_mode(self, **params):\n \"\"\"Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Current-Position-Mode\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"positionSide/dual\", True, data=params\n )" + }, + "futures_coin_stream_get_listen_key": { + "name": "futures_coin_stream_get_listen_key", + "path": "binance.client.Client.futures_coin_stream_get_listen_key", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_stream_get_listen_key(self):\n res = self._request_futures_coin_api(\"post\", \"listenKey\", signed=False, data={})\n return res[\"listenKey\"]" + }, + "futures_coin_stream_keepalive": { + "name": "futures_coin_stream_keepalive", + "path": "binance.client.Client.futures_coin_stream_keepalive", + "signature": "(self, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_stream_keepalive(self, listenKey):\n params = {\"listenKey\": listenKey}\n return self._request_futures_coin_api(\n \"put\", \"listenKey\", signed=False, data=params\n )" + }, + "futures_coin_stream_close": { + "name": "futures_coin_stream_close", + "path": "binance.client.Client.futures_coin_stream_close", + "signature": "(self, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_stream_close(self, listenKey):\n params = {\"listenKey\": listenKey}\n return self._request_futures_coin_api(\n \"delete\", \"listenKey\", signed=False, data=params\n )" + }, + "futures_coin_account_order_history_download": { + "name": "futures_coin_account_order_history_download", + "path": "binance.client.Client.futures_coin_account_order_history_download", + "signature": "(self, **params)", + "description": "Get Download Id For Futures Order History\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Order-History\n\n:param startTime: required - Start timestamp in ms\n:type startTime: int\n:param endTime: required - End timestamp in ms\n:type endTime: int\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"avgCostTimestampOfLast30d\": 7241837, # Average time taken for data download in the past 30 days\n \"downloadId\": \"546975389218332672\"\n }\n\nNote:\n - Request Limitation is 10 times per month, shared by front end download page and rest api\n - The time between startTime and endTime can not be longer than 1 year\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_account_order_history_download(self, **params):\n \"\"\"Get Download Id For Futures Order History\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Order-History\n\n :param startTime: required - Start timestamp in ms\n :type startTime: int\n :param endTime: required - End timestamp in ms\n :type endTime: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"avgCostTimestampOfLast30d\": 7241837, # Average time taken for data download in the past 30 days\n \"downloadId\": \"546975389218332672\"\n }\n\n Note:\n - Request Limitation is 10 times per month, shared by front end download page and rest api\n - The time between startTime and endTime can not be longer than 1 year\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"order/asyn\", signed=True, data=params\n )" + }, + "futures_coin_accout_order_history_download_link": { + "name": "futures_coin_accout_order_history_download_link", + "path": "binance.client.Client.futures_coin_accout_order_history_download_link", + "signature": "(self, **params)", + "description": "Get futures order history download link by Id\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Futures-Order-History-Download-Link-by-Id\n\n:param downloadId: required - Download ID obtained from futures_coin_download_id\n:type downloadId: str\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"downloadId\": \"545923594199212032\",\n \"status\": \"completed\", # Enum\uff1acompleted\uff0cprocessing\n \"url\": \"www.binance.com\", # The link is mapped to download id\n \"notified\": true, # ignore\n \"expirationTimestamp\": 1645009771000, # The link would expire after this timestamp\n \"isExpired\": null\n }\n\n # OR (Response when server is processing)\n {\n \"downloadId\": \"545923594199212032\",\n \"status\": \"processing\",\n \"url\": \"\",\n \"notified\": false,\n \"expirationTimestamp\": -1,\n \"isExpired\": null\n }\n\nNote:\n - Download link expiration: 24h\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_accout_order_history_download_link(self, **params):\n \"\"\"Get futures order history download link by Id\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Futures-Order-History-Download-Link-by-Id\n\n :param downloadId: required - Download ID obtained from futures_coin_download_id\n :type downloadId: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"downloadId\": \"545923594199212032\",\n \"status\": \"completed\", # Enum\uff1acompleted\uff0cprocessing\n \"url\": \"www.binance.com\", # The link is mapped to download id\n \"notified\": true, # ignore\n \"expirationTimestamp\": 1645009771000, # The link would expire after this timestamp\n \"isExpired\": null\n }\n\n # OR (Response when server is processing)\n {\n \"downloadId\": \"545923594199212032\",\n \"status\": \"processing\",\n \"url\": \"\",\n \"notified\": false,\n \"expirationTimestamp\": -1,\n \"isExpired\": null\n }\n\n Note:\n - Download link expiration: 24h\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"order/asyn/id\", True, data=params)" + }, + "futures_coin_account_trade_history_download": { + "name": "futures_coin_account_trade_history_download", + "path": "binance.client.Client.futures_coin_account_trade_history_download", + "signature": "(self, **params)", + "description": "Get Download Id For Futures Trade History (USER_DATA)\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Trade-History\n\n:param startTime: required - Start timestamp in ms\n:type startTime: int\n:param endTime: required - End timestamp in ms\n:type endTime: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"avgCostTimestampOfLast30d\": 7241837, # Average time taken for data download in the past 30 days\n \"downloadId\": \"546975389218332672\"\n }\n\nNote:\n - Request Limitation is 5 times per month, shared by front end download page and rest api\n - The time between startTime and endTime can not be longer than 1 year\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_account_trade_history_download(self, **params):\n \"\"\"Get Download Id For Futures Trade History (USER_DATA)\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Trade-History\n\n :param startTime: required - Start timestamp in ms\n :type startTime: int\n :param endTime: required - End timestamp in ms\n :type endTime: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"avgCostTimestampOfLast30d\": 7241837, # Average time taken for data download in the past 30 days\n \"downloadId\": \"546975389218332672\"\n }\n\n Note:\n - Request Limitation is 5 times per month, shared by front end download page and rest api\n - The time between startTime and endTime can not be longer than 1 year\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"trade/asyn\", True, data=params)" + }, + "futures_coin_account_trade_history_download_link": { + "name": "futures_coin_account_trade_history_download_link", + "path": "binance.client.Client.futures_coin_account_trade_history_download_link", + "signature": "(self, **params)", + "description": "Get futures trade download link by Id\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Futures-Trade-Download-Link-by-Id\n\n:param downloadId: required - Download ID obtained from futures_coin_trade_download_id\n:type downloadId: str\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"downloadId\": \"545923594199212032\",\n \"status\": \"completed\", # Enum\uff1acompleted\uff0cprocessing\n \"url\": \"www.binance.com\", # The link is mapped to download id\n \"notified\": true, # ignore\n \"expirationTimestamp\": 1645009771000, # The link would expire after this timestamp\n \"isExpired\": null\n }\n\n # OR (Response when server is processing)\n {\n \"downloadId\": \"545923594199212032\",\n \"status\": \"processing\",\n \"url\": \"\",\n \"notified\": false,\n \"expirationTimestamp\": -1,\n \"isExpired\": null\n }\n\nNote:\n - Download link expiration: 24h\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_account_trade_history_download_link(self, **params):\n \"\"\"Get futures trade download link by Id\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Futures-Trade-Download-Link-by-Id\n\n :param downloadId: required - Download ID obtained from futures_coin_trade_download_id\n :type downloadId: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"downloadId\": \"545923594199212032\",\n \"status\": \"completed\", # Enum\uff1acompleted\uff0cprocessing\n \"url\": \"www.binance.com\", # The link is mapped to download id\n \"notified\": true, # ignore\n \"expirationTimestamp\": 1645009771000, # The link would expire after this timestamp\n \"isExpired\": null\n }\n\n # OR (Response when server is processing)\n {\n \"downloadId\": \"545923594199212032\",\n \"status\": \"processing\",\n \"url\": \"\",\n \"notified\": false,\n \"expirationTimestamp\": -1,\n \"isExpired\": null\n }\n\n Note:\n - Download link expiration: 24h\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"trade/asyn/id\", True, data=params)" + }, + "get_all_coins_info": { + "name": "get_all_coins_info", + "path": "binance.client.Client.get_all_coins_info", + "signature": "(self, **params)", + "description": "Get information of coins (available for deposit and withdraw) for user.\n\nhttps://developers.binance.com/docs/wallet/capital\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"coin\": \"BTC\",\n \"depositAllEnable\": true,\n \"withdrawAllEnable\": true,\n \"name\": \"Bitcoin\",\n \"free\": \"0\",\n \"locked\": \"0\",\n \"freeze\": \"0\",\n \"withdrawing\": \"0\",\n \"ipoing\": \"0\",\n \"ipoable\": \"0\",\n \"storage\": \"0\",\n \"isLegalMoney\": false,\n \"trading\": true,\n \"networkList\": [\n {\n \"network\": \"BNB\",\n \"coin\": \"BTC\",\n \"withdrawIntegerMultiple\": \"0.00000001\",\n \"isDefault\": false,\n \"depositEnable\": true,\n \"withdrawEnable\": true,\n \"depositDesc\": \"\",\n \"withdrawDesc\": \"\",\n \"specialTips\": \"Both a MEMO and an Address are required to successfully deposit your BEP2-BTCB tokens to Binance.\",\n \"name\": \"BEP2\",\n \"resetAddressStatus\": false,\n \"addressRegex\": \"^(bnb1)[0-9a-z]{38}$\",\n \"memoRegex\": \"^[0-9A-Za-z-_]{1,120}$\",\n \"withdrawFee\": \"0.0000026\",\n \"withdrawMin\": \"0.0000052\",\n \"withdrawMax\": \"0\",\n \"minConfirm\": 1,\n \"unLockConfirm\": 0\n },\n {\n \"network\": \"BTC\",\n \"coin\": \"BTC\",\n \"withdrawIntegerMultiple\": \"0.00000001\",\n \"isDefault\": true,\n \"depositEnable\": true,\n \"withdrawEnable\": true,\n \"depositDesc\": \"\",\n \"withdrawDesc\": \"\",\n \"specialTips\": \"\",\n \"name\": \"BTC\",\n \"resetAddressStatus\": false,\n \"addressRegex\": \"^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^(bc1)[0-9A-Za-z]{39,59}$\",\n \"memoRegex\": \"\",\n \"withdrawFee\": \"0.0005\",\n \"withdrawMin\": \"0.001\",\n \"withdrawMax\": \"0\",\n \"minConfirm\": 1,\n \"unLockConfirm\": 2\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_all_coins_info(self, **params):\n \"\"\"Get information of coins (available for deposit and withdraw) for user.\n\n https://developers.binance.com/docs/wallet/capital\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"coin\": \"BTC\",\n \"depositAllEnable\": true,\n \"withdrawAllEnable\": true,\n \"name\": \"Bitcoin\",\n \"free\": \"0\",\n \"locked\": \"0\",\n \"freeze\": \"0\",\n \"withdrawing\": \"0\",\n \"ipoing\": \"0\",\n \"ipoable\": \"0\",\n \"storage\": \"0\",\n \"isLegalMoney\": false,\n \"trading\": true,\n \"networkList\": [\n {\n \"network\": \"BNB\",\n \"coin\": \"BTC\",\n \"withdrawIntegerMultiple\": \"0.00000001\",\n \"isDefault\": false,\n \"depositEnable\": true,\n \"withdrawEnable\": true,\n \"depositDesc\": \"\",\n \"withdrawDesc\": \"\",\n \"specialTips\": \"Both a MEMO and an Address are required to successfully deposit your BEP2-BTCB tokens to Binance.\",\n \"name\": \"BEP2\",\n \"resetAddressStatus\": false,\n \"addressRegex\": \"^(bnb1)[0-9a-z]{38}$\",\n \"memoRegex\": \"^[0-9A-Za-z-_]{1,120}$\",\n \"withdrawFee\": \"0.0000026\",\n \"withdrawMin\": \"0.0000052\",\n \"withdrawMax\": \"0\",\n \"minConfirm\": 1,\n \"unLockConfirm\": 0\n },\n {\n \"network\": \"BTC\",\n \"coin\": \"BTC\",\n \"withdrawIntegerMultiple\": \"0.00000001\",\n \"isDefault\": true,\n \"depositEnable\": true,\n \"withdrawEnable\": true,\n \"depositDesc\": \"\",\n \"withdrawDesc\": \"\",\n \"specialTips\": \"\",\n \"name\": \"BTC\",\n \"resetAddressStatus\": false,\n \"addressRegex\": \"^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^(bc1)[0-9A-Za-z]{39,59}$\",\n \"memoRegex\": \"\",\n \"withdrawFee\": \"0.0005\",\n \"withdrawMin\": \"0.001\",\n \"withdrawMax\": \"0\",\n \"minConfirm\": 1,\n \"unLockConfirm\": 2\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"capital/config/getall\", True, data=params\n )" + }, + "get_account_snapshot": { + "name": "get_account_snapshot", + "path": "binance.client.Client.get_account_snapshot", + "signature": "(self, **params)", + "description": "Get daily account snapshot of specific type.\n\nhttps://developers.binance.com/docs/wallet/account/daily-account-snapshoot\n\n:param type: required. Valid values are SPOT/MARGIN/FUTURES.\n:type type: string\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param limit: optional\n:type limit: int\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"code\":200, // 200 for success; others are error codes\n \"msg\":\"\", // error message\n \"snapshotVos\":[\n {\n \"data\":{\n \"balances\":[\n {\n \"asset\":\"BTC\",\n \"free\":\"0.09905021\",\n \"locked\":\"0.00000000\"\n },\n {\n \"asset\":\"USDT\",\n \"free\":\"1.89109409\",\n \"locked\":\"0.00000000\"\n }\n ],\n \"totalAssetOfBtc\":\"0.09942700\"\n },\n \"type\":\"spot\",\n \"updateTime\":1576281599000\n }\n ]\n }\n\nOR\n\n.. code-block:: python\n\n {\n \"code\":200, // 200 for success; others are error codes\n \"msg\":\"\", // error message\n \"snapshotVos\":[\n {\n \"data\":{\n \"marginLevel\":\"2748.02909813\",\n \"totalAssetOfBtc\":\"0.00274803\",\n \"totalLiabilityOfBtc\":\"0.00000100\",\n \"totalNetAssetOfBtc\":\"0.00274750\",\n \"userAssets\":[\n {\n \"asset\":\"XRP\",\n \"borrowed\":\"0.00000000\",\n \"free\":\"1.00000000\",\n \"interest\":\"0.00000000\",\n \"locked\":\"0.00000000\",\n \"netAsset\":\"1.00000000\"\n }\n ]\n },\n \"type\":\"margin\",\n \"updateTime\":1576281599000\n }\n ]\n }\n\nOR\n\n.. code-block:: python\n\n {\n \"code\":200, // 200 for success; others are error codes\n \"msg\":\"\", // error message\n \"snapshotVos\":[\n {\n \"data\":{\n \"assets\":[\n {\n \"asset\":\"USDT\",\n \"marginBalance\":\"118.99782335\",\n \"walletBalance\":\"120.23811389\"\n }\n ],\n \"position\":[\n {\n \"entryPrice\":\"7130.41000000\",\n \"markPrice\":\"7257.66239673\",\n \"positionAmt\":\"0.01000000\",\n \"symbol\":\"BTCUSDT\",\n \"unRealizedProfit\":\"1.24029054\"\n }\n ]\n },\n \"type\":\"futures\",\n \"updateTime\":1576281599000\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_account_snapshot(self, **params):\n \"\"\"Get daily account snapshot of specific type.\n\n https://developers.binance.com/docs/wallet/account/daily-account-snapshoot\n\n :param type: required. Valid values are SPOT/MARGIN/FUTURES.\n :type type: string\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"code\":200, // 200 for success; others are error codes\n \"msg\":\"\", // error message\n \"snapshotVos\":[\n {\n \"data\":{\n \"balances\":[\n {\n \"asset\":\"BTC\",\n \"free\":\"0.09905021\",\n \"locked\":\"0.00000000\"\n },\n {\n \"asset\":\"USDT\",\n \"free\":\"1.89109409\",\n \"locked\":\"0.00000000\"\n }\n ],\n \"totalAssetOfBtc\":\"0.09942700\"\n },\n \"type\":\"spot\",\n \"updateTime\":1576281599000\n }\n ]\n }\n\n OR\n\n .. code-block:: python\n\n {\n \"code\":200, // 200 for success; others are error codes\n \"msg\":\"\", // error message\n \"snapshotVos\":[\n {\n \"data\":{\n \"marginLevel\":\"2748.02909813\",\n \"totalAssetOfBtc\":\"0.00274803\",\n \"totalLiabilityOfBtc\":\"0.00000100\",\n \"totalNetAssetOfBtc\":\"0.00274750\",\n \"userAssets\":[\n {\n \"asset\":\"XRP\",\n \"borrowed\":\"0.00000000\",\n \"free\":\"1.00000000\",\n \"interest\":\"0.00000000\",\n \"locked\":\"0.00000000\",\n \"netAsset\":\"1.00000000\"\n }\n ]\n },\n \"type\":\"margin\",\n \"updateTime\":1576281599000\n }\n ]\n }\n\n OR\n\n .. code-block:: python\n\n {\n \"code\":200, // 200 for success; others are error codes\n \"msg\":\"\", // error message\n \"snapshotVos\":[\n {\n \"data\":{\n \"assets\":[\n {\n \"asset\":\"USDT\",\n \"marginBalance\":\"118.99782335\",\n \"walletBalance\":\"120.23811389\"\n }\n ],\n \"position\":[\n {\n \"entryPrice\":\"7130.41000000\",\n \"markPrice\":\"7257.66239673\",\n \"positionAmt\":\"0.01000000\",\n \"symbol\":\"BTCUSDT\",\n \"unRealizedProfit\":\"1.24029054\"\n }\n ]\n },\n \"type\":\"futures\",\n \"updateTime\":1576281599000\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"accountSnapshot\", True, data=params)" + }, + "disable_fast_withdraw_switch": { + "name": "disable_fast_withdraw_switch", + "path": "binance.client.Client.disable_fast_withdraw_switch", + "signature": "(self, **params)", + "description": "Disable Fast Withdraw Switch\n\nhttps://binance-docs.github.io/apidocs/spot/en/#disable-fast-withdraw-switch-user_data\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def disable_fast_withdraw_switch(self, **params):\n \"\"\"Disable Fast Withdraw Switch\n\n https://binance-docs.github.io/apidocs/spot/en/#disable-fast-withdraw-switch-user_data\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"disableFastWithdrawSwitch\", True, data=params\n )" + }, + "enable_fast_withdraw_switch": { + "name": "enable_fast_withdraw_switch", + "path": "binance.client.Client.enable_fast_withdraw_switch", + "signature": "(self, **params)", + "description": "Enable Fast Withdraw Switch\n\nhttps://binance-docs.github.io/apidocs/spot/en/#enable-fast-withdraw-switch-user_data\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def enable_fast_withdraw_switch(self, **params):\n \"\"\"Enable Fast Withdraw Switch\n\n https://binance-docs.github.io/apidocs/spot/en/#enable-fast-withdraw-switch-user_data\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"enableFastWithdrawSwitch\", True, data=params\n )" + }, + "options_ping": { + "name": "options_ping", + "path": "binance.client.Client.options_ping", + "signature": "(self)", + "description": "Test connectivity\n\nhttps://developers.binance.com/docs/derivatives/option/market-data/Test-Connectivity", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_ping(self):\n \"\"\"Test connectivity\n\n https://developers.binance.com/docs/derivatives/option/market-data/Test-Connectivity\n\n \"\"\"\n return self._request_options_api(\"get\", \"ping\")" + }, + "options_time": { + "name": "options_time", + "path": "binance.client.Client.options_time", + "signature": "(self)", + "description": "Get server time\n\nhttps://developers.binance.com/docs/derivatives/option/market-data", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_time(self):\n \"\"\"Get server time\n\n https://developers.binance.com/docs/derivatives/option/market-data\n\n \"\"\"\n return self._request_options_api(\"get\", \"time\")" + }, + "options_info": { + "name": "options_info", + "path": "binance.client.Client.options_info", + "signature": "(self)", + "description": "Get current trading pair info\n\nhttps://binance-docs.github.io/apidocs/voptions/en/#get-current-trading-pair-info", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_info(self):\n \"\"\"Get current trading pair info\n\n https://binance-docs.github.io/apidocs/voptions/en/#get-current-trading-pair-info\n\n \"\"\"\n return self._request_options_api(\"get\", \"optionInfo\")" + }, + "options_exchange_info": { + "name": "options_exchange_info", + "path": "binance.client.Client.options_exchange_info", + "signature": "(self)", + "description": "Get current limit info and trading pair info\n\nhttps://developers.binance.com/docs/derivatives/option/market-data/Exchange-Information", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_exchange_info(self):\n \"\"\"Get current limit info and trading pair info\n\n https://developers.binance.com/docs/derivatives/option/market-data/Exchange-Information\n\n \"\"\"\n return self._request_options_api(\"get\", \"exchangeInfo\")" + }, + "options_index_price": { + "name": "options_index_price", + "path": "binance.client.Client.options_index_price", + "signature": "(self, **params)", + "description": "Get the spot index price\n\nhttps://developers.binance.com/docs/derivatives/option/market-data/Symbol-Price-Ticker\n\n:param underlying: required - Spot pair\uff08Option contract underlying asset\uff09- BTCUSDT\n:type underlying: str", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_index_price(self, **params):\n \"\"\"Get the spot index price\n\n https://developers.binance.com/docs/derivatives/option/market-data/Symbol-Price-Ticker\n\n :param underlying: required - Spot pair\uff08Option contract underlying asset\uff09- BTCUSDT\n :type underlying: str\n\n \"\"\"\n return self._request_options_api(\"get\", \"index\", data=params)" + }, + "options_price": { + "name": "options_price", + "path": "binance.client.Client.options_price", + "signature": "(self, **params)", + "description": "Get the latest price\n\nhttps://developers.binance.com/docs/derivatives/option/market-data/24hr-Ticker-Price-Change-Statistics\n\n:param symbol: optional - Option trading pair - BTC-200730-9000-C\n:type symbol: str", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_price(self, **params):\n \"\"\"Get the latest price\n\n https://developers.binance.com/docs/derivatives/option/market-data/24hr-Ticker-Price-Change-Statistics\n\n :param symbol: optional - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n\n \"\"\"\n return self._request_options_api(\"get\", \"ticker\", data=params)" + }, + "options_mark_price": { + "name": "options_mark_price", + "path": "binance.client.Client.options_mark_price", + "signature": "(self, **params)", + "description": "Get the latest mark price\n\nhttps://developers.binance.com/docs/derivatives/option/market-data/Option-Mark-Price\n\n:param symbol: optional - Option trading pair - BTC-200730-9000-C\n:type symbol: str", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_mark_price(self, **params):\n \"\"\"Get the latest mark price\n\n https://developers.binance.com/docs/derivatives/option/market-data/Option-Mark-Price\n\n :param symbol: optional - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n\n \"\"\"\n return self._request_options_api(\"get\", \"mark\", data=params)" + }, + "options_order_book": { + "name": "options_order_book", + "path": "binance.client.Client.options_order_book", + "signature": "(self, **params)", + "description": "Depth information\n\nhttps://developers.binance.com/docs/derivatives/option/market-data/Order-Book\n\n:param symbol: required - Option trading pair - BTC-200730-9000-C\n:type symbol: str\n:param limit: optional - Default:100 Max:1000.Optional value:[10, 20, 50, 100, 500, 1000] - 100\n:type limit: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_order_book(self, **params):\n \"\"\"Depth information\n\n https://developers.binance.com/docs/derivatives/option/market-data/Order-Book\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param limit: optional - Default:100 Max:1000.Optional value:[10, 20, 50, 100, 500, 1000] - 100\n :type limit: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"depth\", data=params)" + }, + "options_klines": { + "name": "options_klines", + "path": "binance.client.Client.options_klines", + "signature": "(self, **params)", + "description": "Candle data\n\nhttps://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\n\n:param symbol: required - Option trading pair - BTC-200730-9000-C\n:type symbol: str\n:param interval: required - Time interval - 5m\n:type interval: str\n:param startTime: optional - Start Time - 1592317127349\n:type startTime: int\n:param endTime: optional - End Time - 1592317127349\n:type endTime: int\n:param limit: optional - Number of records Default:500 Max:1500 - 500\n:type limit: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_klines(self, **params):\n \"\"\"Candle data\n\n https://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param interval: required - Time interval - 5m\n :type interval: str\n :param startTime: optional - Start Time - 1592317127349\n :type startTime: int\n :param endTime: optional - End Time - 1592317127349\n :type endTime: int\n :param limit: optional - Number of records Default:500 Max:1500 - 500\n :type limit: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"klines\", data=params)" + }, + "options_recent_trades": { + "name": "options_recent_trades", + "path": "binance.client.Client.options_recent_trades", + "signature": "(self, **params)", + "description": "Recently completed Option trades\n\nhttps://developers.binance.com/docs/derivatives/option/market-data/Recent-Trades-List\n\n:param symbol: required - Option trading pair - BTC-200730-9000-C\n:type symbol: str\n:param limit: optional - Number of records Default:100 Max:500 - 100\n:type limit: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_recent_trades(self, **params):\n \"\"\"Recently completed Option trades\n\n https://developers.binance.com/docs/derivatives/option/market-data/Recent-Trades-List\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param limit: optional - Number of records Default:100 Max:500 - 100\n :type limit: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"trades\", data=params)" + }, + "options_historical_trades": { + "name": "options_historical_trades", + "path": "binance.client.Client.options_historical_trades", + "signature": "(self, **params)", + "description": "Query trade history\n\nhttps://developers.binance.com/docs/derivatives/option/market-data/Old-Trades-Lookup\n\n:param symbol: required - Option trading pair - BTC-200730-9000-C\n:type symbol: str\n:param fromId: optional - The deal ID from which to return. The latest deal record is returned by default - 1592317127349\n:type fromId: int\n:param limit: optional - Number of records Default:100 Max:500 - 100\n:type limit: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_historical_trades(self, **params):\n \"\"\"Query trade history\n\n https://developers.binance.com/docs/derivatives/option/market-data/Old-Trades-Lookup\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param fromId: optional - The deal ID from which to return. The latest deal record is returned by default - 1592317127349\n :type fromId: int\n :param limit: optional - Number of records Default:100 Max:500 - 100\n :type limit: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"historicalTrades\", data=params)" + }, + "options_account_info": { + "name": "options_account_info", + "path": "binance.client.Client.options_account_info", + "signature": "(self, **params)", + "description": "Account asset info (USER_DATA)\n\nhttps://developers.binance.com/docs/derivatives/option/account\n\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_account_info(self, **params):\n \"\"\"Account asset info (USER_DATA)\n\n https://developers.binance.com/docs/derivatives/option/account\n\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"account\", signed=True, data=params)" + }, + "options_get_bill": { + "name": "options_get_bill", + "path": "binance.client.Client.options_get_bill", + "signature": "(self, **params)", + "description": "Get account funding flows\n\nhttps://developers.binance.com/docs/derivatives/option/account/Account-Funding-Flow\n\n:param currency: required\n:type currency: str\n:param recordId: optional\n:type recordId: int\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param limit: optional\n:type limit: int\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_get_bill(self, **params):\n \"\"\"Get account funding flows\n\n https://developers.binance.com/docs/derivatives/option/account/Account-Funding-Flow\n\n :param currency: required\n :type currency: str\n :param recordId: optional\n :type recordId: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"bill\", signed=True, data=params)" + }, + "options_funds_transfer": { + "name": "options_funds_transfer", + "path": "binance.client.Client.options_funds_transfer", + "signature": "(self, **params)", + "description": "Funds transfer (USER_DATA)\n\nhttps://binance-docs.github.io/apidocs/voptions/en/#funds-transfer-user_data\n\n:param currency: required - Asset type - USDT\n:type currency: str\n:param type: required - IN: Transfer from spot account to option account OUT: Transfer from option account to spot account - IN\n:type type: str (ENUM)\n:param amount: required - Amount - 10000\n:type amount: float\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_funds_transfer(self, **params):\n \"\"\"Funds transfer (USER_DATA)\n\n https://binance-docs.github.io/apidocs/voptions/en/#funds-transfer-user_data\n\n :param currency: required - Asset type - USDT\n :type currency: str\n :param type: required - IN: Transfer from spot account to option account OUT: Transfer from option account to spot account - IN\n :type type: str (ENUM)\n :param amount: required - Amount - 10000\n :type amount: float\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"post\", \"transfer\", signed=True, data=params)" + }, + "options_positions": { + "name": "options_positions", + "path": "binance.client.Client.options_positions", + "signature": "(self, **params)", + "description": "Option holdings info (USER_DATA)\n\nhttps://developers.binance.com/docs/derivatives/option/trade/Option-Position-Information\n\n:param symbol: optional - Option trading pair - BTC-200730-9000-C\n:type symbol: str\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_positions(self, **params):\n \"\"\"Option holdings info (USER_DATA)\n\n https://developers.binance.com/docs/derivatives/option/trade/Option-Position-Information\n\n :param symbol: optional - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"position\", signed=True, data=params)" + }, + "options_exercise_record": { + "name": "options_exercise_record", + "path": "binance.client.Client.options_exercise_record", + "signature": "(self, **params)", + "description": "Get account exercise records.\n\nhttps://developers.binance.com/docs/derivatives/option/trade/User-Exercise-Record\n\n:param symbol: optional\n:type symbol: str\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param limit: optional\n:type limit: int\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_exercise_record(self, **params):\n \"\"\"\n Get account exercise records.\n\n https://developers.binance.com/docs/derivatives/option/trade/User-Exercise-Record\n\n :param symbol: optional\n :type symbol: str\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"exerciseRecord\", signed=True, data=params)" + }, + "options_bill": { + "name": "options_bill", + "path": "binance.client.Client.options_bill", + "signature": "(self, **params)", + "description": "Account funding flow (USER_DATA)\n\nhttps://binance-docs.github.io/apidocs/voptions/en/#account-funding-flow-user_data\n\n:param currency: required - Asset type - USDT\n:type currency: str\n:param recordId: optional - Return the recordId and subsequent data, the latest data is returned by default - 100000\n:type recordId: int\n:param startTime: optional - Start Time - 1593511200000\n:type startTime: int\n:param endTime: optional - End Time - 1593511200000\n:type endTime: int\n:param limit: optional - Number of result sets returned Default:100 Max:1000 - 100\n:type limit: int\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_bill(self, **params):\n \"\"\"Account funding flow (USER_DATA)\n\n https://binance-docs.github.io/apidocs/voptions/en/#account-funding-flow-user_data\n\n :param currency: required - Asset type - USDT\n :type currency: str\n :param recordId: optional - Return the recordId and subsequent data, the latest data is returned by default - 100000\n :type recordId: int\n :param startTime: optional - Start Time - 1593511200000\n :type startTime: int\n :param endTime: optional - End Time - 1593511200000\n :type endTime: int\n :param limit: optional - Number of result sets returned Default:100 Max:1000 - 100\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"post\", \"bill\", signed=True, data=params)" + }, + "options_place_order": { + "name": "options_place_order", + "path": "binance.client.Client.options_place_order", + "signature": "(self, **params)", + "description": "Option order (TRADE)\n\nhttps://developers.binance.com/docs/derivatives/option/trade\n\n:param symbol: required - Option trading pair - BTC-200730-9000-C\n:type symbol: str\n:param side: required - Buy/sell direction: SELL, BUY - BUY\n:type side: str (ENUM)\n:param type: required - Order Type: LIMIT, MARKET - LIMIT\n:type type: str (ENUM)\n:param quantity: required - Order Quantity - 3\n:type quantity: float\n:param price: optional - Order Price - 1000\n:type price: float\n:param timeInForce: optional - Time in force method\uff08Default GTC) - GTC\n:type timeInForce: str (ENUM)\n:param reduceOnly: optional - Reduce Only (Default false) - false\n:type reduceOnly: bool\n:param postOnly: optional - Post Only (Default false) - false\n:type postOnly: bool\n:param newOrderRespType: optional - \"ACK\", \"RESULT\", Default \"ACK\" - ACK\n:type newOrderRespType: str (ENUM)\n:param clientOrderId: optional - User-defined order ID cannot be repeated in pending orders - 10000\n:type clientOrderId: str\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_place_order(self, **params):\n \"\"\"Option order (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param side: required - Buy/sell direction: SELL, BUY - BUY\n :type side: str (ENUM)\n :param type: required - Order Type: LIMIT, MARKET - LIMIT\n :type type: str (ENUM)\n :param quantity: required - Order Quantity - 3\n :type quantity: float\n :param price: optional - Order Price - 1000\n :type price: float\n :param timeInForce: optional - Time in force method\uff08Default GTC) - GTC\n :type timeInForce: str (ENUM)\n :param reduceOnly: optional - Reduce Only (Default false) - false\n :type reduceOnly: bool\n :param postOnly: optional - Post Only (Default false) - false\n :type postOnly: bool\n :param newOrderRespType: optional - \"ACK\", \"RESULT\", Default \"ACK\" - ACK\n :type newOrderRespType: str (ENUM)\n :param clientOrderId: optional - User-defined order ID cannot be repeated in pending orders - 10000\n :type clientOrderId: str\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n if \"clientOrderId\" not in params:\n params[\"clientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_options_api(\"post\", \"order\", signed=True, data=params)" + }, + "options_place_batch_order": { + "name": "options_place_batch_order", + "path": "binance.client.Client.options_place_batch_order", + "signature": "(self, **params)", + "description": "Place Multiple Option orders (TRADE)\n\nhttps://developers.binance.com/docs/derivatives/option/trade/Place-Multiple-Orders\n\n:param orders: required - order list. Max 5 orders - [{\"symbol\":\"BTC-210115-35000-C\",\"price\":\"100\",\"quantity\":\"0.0001\",\"side\":\"BUY\",\"type\":\"LIMIT\"}]\n:type orders: list\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_place_batch_order(self, **params):\n \"\"\"Place Multiple Option orders (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade/Place-Multiple-Orders\n\n :param orders: required - order list. Max 5 orders - [{\"symbol\":\"BTC-210115-35000-C\",\"price\":\"100\",\"quantity\":\"0.0001\",\"side\":\"BUY\",\"type\":\"LIMIT\"}]\n :type orders: list\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n for order in params[\"batchOrders\"]:\n if \"newClientOrderId\" not in order:\n order[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_options_api(\n \"post\", \"batchOrders\", signed=True, data=params\n )" + }, + "options_cancel_order": { + "name": "options_cancel_order", + "path": "binance.client.Client.options_cancel_order", + "signature": "(self, **params)", + "description": "Cancel Option order (TRADE)\n\nhttps://developers.binance.com/docs/derivatives/option/trade/Cancel-Option-Order\n\n:param symbol: required - Option trading pair - BTC-200730-9000-C\n:type symbol: str\n:param orderId: optional - Order ID - 4611875134427365377\n:type orderId: str\n:param clientOrderId: optional - User-defined order ID - 10000\n:type clientOrderId: str\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_cancel_order(self, **params):\n \"\"\"Cancel Option order (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade/Cancel-Option-Order\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param orderId: optional - Order ID - 4611875134427365377\n :type orderId: str\n :param clientOrderId: optional - User-defined order ID - 10000\n :type clientOrderId: str\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"delete\", \"order\", signed=True, data=params)" + }, + "options_cancel_batch_order": { + "name": "options_cancel_batch_order", + "path": "binance.client.Client.options_cancel_batch_order", + "signature": "(self, **params)", + "description": "Cancel Multiple Option orders (TRADE)\n\nhttps://developers.binance.com/docs/derivatives/option/trade/Cancel-Multiple-Option-Orders\n\n:param symbol: required - Option trading pair - BTC-200730-9000-C\n:type symbol: str\n:param orderIds: optional - Order ID - [4611875134427365377,4611875134427365378]\n:type orderId: list\n:param clientOrderIds: optional - User-defined order ID - [\"my_id_1\",\"my_id_2\"]\n:type clientOrderIds: list\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_cancel_batch_order(self, **params):\n \"\"\"Cancel Multiple Option orders (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade/Cancel-Multiple-Option-Orders\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param orderIds: optional - Order ID - [4611875134427365377,4611875134427365378]\n :type orderId: list\n :param clientOrderIds: optional - User-defined order ID - [\"my_id_1\",\"my_id_2\"]\n :type clientOrderIds: list\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\n \"delete\", \"batchOrders\", signed=True, data=params\n )" + }, + "options_cancel_all_orders": { + "name": "options_cancel_all_orders", + "path": "binance.client.Client.options_cancel_all_orders", + "signature": "(self, **params)", + "description": "Cancel all Option orders (TRADE)\n\nhttps://developers.binance.com/docs/derivatives/option/trade/Cancel-all-Option-orders-on-specific-symbol\n\n:param symbol: required - Option trading pair - BTC-200730-9000-C\n:type symbol: str\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_cancel_all_orders(self, **params):\n \"\"\"Cancel all Option orders (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade/Cancel-all-Option-orders-on-specific-symbol\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\n \"delete\", \"allOpenOrders\", signed=True, data=params\n )" + }, + "options_query_order": { + "name": "options_query_order", + "path": "binance.client.Client.options_query_order", + "signature": "(self, **params)", + "description": "Query Option order (TRADE)\n\nhttps://developers.binance.com/docs/derivatives/option/trade/Query-Single-Order\n\n:param symbol: required - Option trading pair - BTC-200730-9000-C\n:type symbol: str\n:param orderId: optional - Order ID - 4611875134427365377\n:type orderId: str\n:param clientOrderId: optional - User-defined order ID - 10000\n:type clientOrderId: str\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_query_order(self, **params):\n \"\"\"Query Option order (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade/Query-Single-Order\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param orderId: optional - Order ID - 4611875134427365377\n :type orderId: str\n :param clientOrderId: optional - User-defined order ID - 10000\n :type clientOrderId: str\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"order\", signed=True, data=params)" + }, + "options_query_pending_orders": { + "name": "options_query_pending_orders", + "path": "binance.client.Client.options_query_pending_orders", + "signature": "(self, **params)", + "description": "Query current pending Option orders (TRADE)\n\nhttps://developers.binance.com/docs/derivatives/option/trade/Query-Current-Open-Option-Orders\n\n:param symbol: required - Option trading pair - BTC-200730-9000-C\n:type symbol: str\n:param orderId: optional - Returns the orderId and subsequent orders, the most recent order is returned by default - 100000\n:type orderId: str\n:param startTime: optional - Start Time - 1593511200000\n:type startTime: int\n:param endTime: optional - End Time - 1593511200000\n:type endTime: int\n:param limit: optional - Number of result sets returned Default:100 Max:1000 - 100\n:type limit: int\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_query_pending_orders(self, **params):\n \"\"\"Query current pending Option orders (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade/Query-Current-Open-Option-Orders\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param orderId: optional - Returns the orderId and subsequent orders, the most recent order is returned by default - 100000\n :type orderId: str\n :param startTime: optional - Start Time - 1593511200000\n :type startTime: int\n :param endTime: optional - End Time - 1593511200000\n :type endTime: int\n :param limit: optional - Number of result sets returned Default:100 Max:1000 - 100\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"openOrders\", signed=True, data=params)" + }, + "options_query_order_history": { + "name": "options_query_order_history", + "path": "binance.client.Client.options_query_order_history", + "signature": "(self, **params)", + "description": "Query Option order history (TRADE)\n\nhttps://developers.binance.com/docs/derivatives/option/trade/Query-Option-Order-History\n\n:param symbol: required - Option trading pair - BTC-200730-9000-C\n:type symbol: str\n:param orderId: optional - Returns the orderId and subsequent orders, the most recent order is returned by default - 100000\n:type orderId: str\n:param startTime: optional - Start Time - 1593511200000\n:type startTime: int\n:param endTime: optional - End Time - 1593511200000\n:type endTime: int\n:param limit: optional - Number of result sets returned Default:100 Max:1000 - 100\n:type limit: int\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_query_order_history(self, **params):\n \"\"\"Query Option order history (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade/Query-Option-Order-History\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param orderId: optional - Returns the orderId and subsequent orders, the most recent order is returned by default - 100000\n :type orderId: str\n :param startTime: optional - Start Time - 1593511200000\n :type startTime: int\n :param endTime: optional - End Time - 1593511200000\n :type endTime: int\n :param limit: optional - Number of result sets returned Default:100 Max:1000 - 100\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\n \"get\", \"historyOrders\", signed=True, data=params\n )" + }, + "options_user_trades": { + "name": "options_user_trades", + "path": "binance.client.Client.options_user_trades", + "signature": "(self, **params)", + "description": "Option Trade List (USER_DATA)\n\nhttps://developers.binance.com/docs/derivatives/option/trade/Account-Trade-List\n\n:param symbol: required - Option trading pair - BTC-200730-9000-C\n:type symbol: str\n:param fromId: optional - Trade id to fetch from. Default gets most recent trades. - 4611875134427365376\n:type fromId: int\n:param startTime: optional - Start Time - 1593511200000\n:type startTime: int\n:param endTime: optional - End Time - 1593511200000\n:type endTime: int\n:param limit: optional - Number of result sets returned Default:100 Max:1000 - 100\n:type limit: int\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_user_trades(self, **params):\n \"\"\"Option Trade List (USER_DATA)\n\n https://developers.binance.com/docs/derivatives/option/trade/Account-Trade-List\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param fromId: optional - Trade id to fetch from. Default gets most recent trades. - 4611875134427365376\n :type fromId: int\n :param startTime: optional - Start Time - 1593511200000\n :type startTime: int\n :param endTime: optional - End Time - 1593511200000\n :type endTime: int\n :param limit: optional - Number of result sets returned Default:100 Max:1000 - 100\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"userTrades\", signed=True, data=params)" + }, + "options_create_block_trade_order": { + "name": "options_create_block_trade_order", + "path": "binance.client.Client.options_create_block_trade_order", + "signature": "(self, **params)", + "description": "New Block Trade Order (TRADE)\n\nhttps://developers.binance.com/docs/derivatives/option/market-maker-block-trade\n\n:param liquidity: required - Taker or Maker\n:type liquidity: str\n:param symbol: required - Option trading pair, e.g BTC-200730-9000-C\n:type symbol: str\n:param side: required - BUY or SELL\n:type side: str\n:param price: required - Order Price\n:type price: float\n:param quantity: required - Order Quantity\n:type quantity: float\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n {\n \"blockTradeSettlementKey\": \"3668822b8-1baa-6a2f-adb8-d3de6289b361\",\n \"expireTime\": 1730171888109,\n \"liquidity\": \"TAKER\",\n \"status\": \"RECEIVED\",\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"BUY\",\n \"quantity\": \"1.2\",\n \"price\": \"2.8\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_create_block_trade_order(self, **params):\n \"\"\"New Block Trade Order (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/market-maker-block-trade\n\n :param liquidity: required - Taker or Maker\n :type liquidity: str\n :param symbol: required - Option trading pair, e.g BTC-200730-9000-C\n :type symbol: str\n :param side: required - BUY or SELL\n :type side: str\n :param price: required - Order Price\n :type price: float\n :param quantity: required - Order Quantity\n :type quantity: float\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"blockTradeSettlementKey\": \"3668822b8-1baa-6a2f-adb8-d3de6289b361\",\n \"expireTime\": 1730171888109,\n \"liquidity\": \"TAKER\",\n \"status\": \"RECEIVED\",\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"BUY\",\n \"quantity\": \"1.2\",\n \"price\": \"2.8\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_options_api(\n \"post\", \"block/order/create\", signed=True, data=params\n )" + }, + "options_cancel_block_trade_order": { + "name": "options_cancel_block_trade_order", + "path": "binance.client.Client.options_cancel_block_trade_order", + "signature": "(self, **params)", + "description": "Cancel Block Trade Order (TRADE)\n\nhttps://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Cancel-Block-Trade-Order\n\n:param blockOrderMatchingKey: required - Block Order Matching Key\n:type blockOrderMatchingKey: str\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n {}\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_cancel_block_trade_order(self, **params):\n \"\"\"Cancel Block Trade Order (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Cancel-Block-Trade-Order\n\n :param blockOrderMatchingKey: required - Block Order Matching Key\n :type blockOrderMatchingKey: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_options_api(\n \"delete\", \"block/order/create\", signed=True, data=params\n )" + }, + "options_extend_block_trade_order": { + "name": "options_extend_block_trade_order", + "path": "binance.client.Client.options_extend_block_trade_order", + "signature": "(self, **params)", + "description": "Extend Block Trade Order (TRADE)\n\nExtends a block trade expire time by 30 mins from the current time.\n\nhttps://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Extend-Block-Trade-Order\n\n:param blockOrderMatchingKey: required - Block Order Matching Key\n:type blockOrderMatchingKey: str\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n {\n \"blockTradeSettlementKey\": \"3668822b8-1baa-6a2f-adb8-d3de6289b361\",\n \"expireTime\": 1730172007000,\n \"liquidity\": \"TAKER\",\n \"status\": \"RECEIVED\",\n \"createTime\": 1730170088111,\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"BUY\",\n \"quantity\": \"1.2\",\n \"price\": \"2.8\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_extend_block_trade_order(self, **params):\n \"\"\"Extend Block Trade Order (TRADE)\n\n Extends a block trade expire time by 30 mins from the current time.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Extend-Block-Trade-Order\n\n :param blockOrderMatchingKey: required - Block Order Matching Key\n :type blockOrderMatchingKey: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"blockTradeSettlementKey\": \"3668822b8-1baa-6a2f-adb8-d3de6289b361\",\n \"expireTime\": 1730172007000,\n \"liquidity\": \"TAKER\",\n \"status\": \"RECEIVED\",\n \"createTime\": 1730170088111,\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"BUY\",\n \"quantity\": \"1.2\",\n \"price\": \"2.8\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_options_api(\n \"put\", \"block/order/create\", signed=True, data=params\n )" + }, + "options_get_block_trade_orders": { + "name": "options_get_block_trade_orders", + "path": "binance.client.Client.options_get_block_trade_orders", + "signature": "(self, **params)", + "description": "Query Block Trade Order (TRADE)\n\nCheck block trade order status.\n\nhttps://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Query-Block-Trade-Order\n\n:param blockOrderMatchingKey: optional - Returns specific block trade for this key\n:type blockOrderMatchingKey: str\n:param endTime: optional\n:type endTime: int\n:param startTime: optional\n:type startTime: int\n:param underlying: optional\n:type underlying: str\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n [\n {\n \"blockTradeSettlementKey\": \"7d046e6e-a429-4335-ab9d-6a681febcde5\",\n \"expireTime\": 1730172115801,\n \"liquidity\": \"TAKER\",\n \"status\": \"RECEIVED\",\n \"createTime\": 1730170315803,\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"BUY\",\n \"quantity\": \"1.2\",\n \"price\": \"2.8\"\n }\n ]\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_get_block_trade_orders(self, **params):\n \"\"\"Query Block Trade Order (TRADE)\n\n Check block trade order status.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Query-Block-Trade-Order\n\n :param blockOrderMatchingKey: optional - Returns specific block trade for this key\n :type blockOrderMatchingKey: str\n :param endTime: optional\n :type endTime: int\n :param startTime: optional\n :type startTime: int\n :param underlying: optional\n :type underlying: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"blockTradeSettlementKey\": \"7d046e6e-a429-4335-ab9d-6a681febcde5\",\n \"expireTime\": 1730172115801,\n \"liquidity\": \"TAKER\",\n \"status\": \"RECEIVED\",\n \"createTime\": 1730170315803,\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"BUY\",\n \"quantity\": \"1.2\",\n \"price\": \"2.8\"\n }\n ]\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_options_api(\n \"get\", \"block/order/orders\", signed=True, data=params\n )" + }, + "options_accept_block_trade_order": { + "name": "options_accept_block_trade_order", + "path": "binance.client.Client.options_accept_block_trade_order", + "signature": "(self, **params)", + "description": "Accept Block Trade Order (TRADE)\n\nAccept a block trade order.\n\nhttps://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Accept-Block-Trade-Order\n\n:param blockOrderMatchingKey: required - Block Order Matching Key\n:type blockOrderMatchingKey: str\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n {\n \"blockTradeSettlementKey\": \"7d046e6e-a429-4335-ab9d-6a681febcde5\",\n \"expireTime\": 1730172115801,\n \"liquidity\": \"MAKER\",\n \"status\": \"ACCEPTED\",\n \"createTime\": 1730170315803,\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"SELL\",\n \"quantity\": \"1.2\",\n \"price\": \"2.8\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_accept_block_trade_order(self, **params):\n \"\"\"Accept Block Trade Order (TRADE)\n\n Accept a block trade order.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Accept-Block-Trade-Order\n\n :param blockOrderMatchingKey: required - Block Order Matching Key\n :type blockOrderMatchingKey: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"blockTradeSettlementKey\": \"7d046e6e-a429-4335-ab9d-6a681febcde5\",\n \"expireTime\": 1730172115801,\n \"liquidity\": \"MAKER\",\n \"status\": \"ACCEPTED\",\n \"createTime\": 1730170315803,\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"SELL\",\n \"quantity\": \"1.2\",\n \"price\": \"2.8\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_options_api(\n \"post\", \"block/order/execute\", signed=True, data=params\n )" + }, + "options_get_block_trade_order": { + "name": "options_get_block_trade_order", + "path": "binance.client.Client.options_get_block_trade_order", + "signature": "(self, **params)", + "description": "Query Block Trade Details (USER_DATA)\n\nQuery block trade details; returns block trade details from counterparty's perspective.\n\nhttps://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Query-Block-Trade-Detail\n\n:param blockOrderMatchingKey: required - Block Order Matching Key\n:type blockOrderMatchingKey: str\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n {\n \"blockTradeSettlementKey\": \"12b96c28-ba05-8906-c89t-703215cfb2e6\",\n \"expireTime\": 1730171860460,\n \"liquidity\": \"MAKER\",\n \"status\": \"RECEIVED\",\n \"createTime\": 1730170060462,\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"SELL\",\n \"quantity\": \"1.66\",\n \"price\": \"20\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_get_block_trade_order(self, **params):\n \"\"\"Query Block Trade Details (USER_DATA)\n\n Query block trade details; returns block trade details from counterparty's perspective.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Query-Block-Trade-Detail\n\n :param blockOrderMatchingKey: required - Block Order Matching Key\n :type blockOrderMatchingKey: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"blockTradeSettlementKey\": \"12b96c28-ba05-8906-c89t-703215cfb2e6\",\n \"expireTime\": 1730171860460,\n \"liquidity\": \"MAKER\",\n \"status\": \"RECEIVED\",\n \"createTime\": 1730170060462,\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"SELL\",\n \"quantity\": \"1.66\",\n \"price\": \"20\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_options_api(\n \"get\", \"block/order/execute\", signed=True, data=params\n )" + }, + "options_account_get_block_trades": { + "name": "options_account_get_block_trades", + "path": "binance.client.Client.options_account_get_block_trades", + "signature": "(self, **params)", + "description": "Account Block Trade List (USER_DATA)\n\nGets block trades for a specific account.\n\nhttps://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Account-Block-Trade-List\n\n:param endTime: optional\n:type endTime: int\n:param startTime: optional\n:type startTime: int\n:param underlying: optional\n:type underlying: str\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: API response\n\n.. code-block:: python\n [\n {\n \"parentOrderId\": \"4675011431944499201\",\n \"crossType\": \"USER_BLOCK\",\n \"legs\": [\n {\n \"createTime\": 1730170445600,\n \"updateTime\": 1730170445600,\n \"symbol\": \"BNB-241101-700-C\",\n \"orderId\": \"4675011431944499203\",\n \"orderPrice\": 2.8,\n \"orderQuantity\": 1.2,\n \"orderStatus\": \"FILLED\",\n \"executedQty\": 1.2,\n \"executedAmount\": 3.36,\n \"fee\": 0.336,\n \"orderType\": \"PREV_QUOTED\",\n \"orderSide\": \"BUY\",\n \"id\": \"1125899906900937837\",\n \"tradeId\": 1,\n \"tradePrice\": 2.8,\n \"tradeQty\": 1.2,\n \"tradeTime\": 1730170445600,\n \"liquidity\": \"TAKER\",\n \"commission\": 0.336\n }\n ],\n \"blockTradeSettlementKey\": \"7d085e6e-a229-2335-ab9d-6a581febcd25\"\n }\n ]\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_account_get_block_trades(self, **params):\n \"\"\"Account Block Trade List (USER_DATA)\n\n Gets block trades for a specific account.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Account-Block-Trade-List\n\n :param endTime: optional\n :type endTime: int\n :param startTime: optional\n :type startTime: int\n :param underlying: optional\n :type underlying: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"parentOrderId\": \"4675011431944499201\",\n \"crossType\": \"USER_BLOCK\",\n \"legs\": [\n {\n \"createTime\": 1730170445600,\n \"updateTime\": 1730170445600,\n \"symbol\": \"BNB-241101-700-C\",\n \"orderId\": \"4675011431944499203\",\n \"orderPrice\": 2.8,\n \"orderQuantity\": 1.2,\n \"orderStatus\": \"FILLED\",\n \"executedQty\": 1.2,\n \"executedAmount\": 3.36,\n \"fee\": 0.336,\n \"orderType\": \"PREV_QUOTED\",\n \"orderSide\": \"BUY\",\n \"id\": \"1125899906900937837\",\n \"tradeId\": 1,\n \"tradePrice\": 2.8,\n \"tradeQty\": 1.2,\n \"tradeTime\": 1730170445600,\n \"liquidity\": \"TAKER\",\n \"commission\": 0.336\n }\n ],\n \"blockTradeSettlementKey\": \"7d085e6e-a229-2335-ab9d-6a581febcd25\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_options_api(\n \"get\", \"block/user-trades\", signed=True, data=params\n )" + }, + "get_fiat_deposit_withdraw_history": { + "name": "get_fiat_deposit_withdraw_history", + "path": "binance.client.Client.get_fiat_deposit_withdraw_history", + "signature": "(self, **params)", + "description": "Get Fiat Deposit/Withdraw History\n\nhttps://binance-docs.github.io/apidocs/spot/en/#get-fiat-deposit-withdraw-history-user_data\n\n:param transactionType: required - 0-deposit,1-withdraw\n:type transactionType: str\n:param beginTime: optional\n:type beginTime: int\n:param endTime: optional\n:type endTime: int\n:param page: optional - default 1\n:type page: int\n:param rows: optional - default 100, max 500\n:type rows: int\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_fiat_deposit_withdraw_history(self, **params):\n \"\"\"Get Fiat Deposit/Withdraw History\n\n https://binance-docs.github.io/apidocs/spot/en/#get-fiat-deposit-withdraw-history-user_data\n\n :param transactionType: required - 0-deposit,1-withdraw\n :type transactionType: str\n :param beginTime: optional\n :type beginTime: int\n :param endTime: optional\n :type endTime: int\n :param page: optional - default 1\n :type page: int\n :param rows: optional - default 100, max 500\n :type rows: int\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_margin_api(\"get\", \"fiat/orders\", signed=True, data=params)" + }, + "get_fiat_payments_history": { + "name": "get_fiat_payments_history", + "path": "binance.client.Client.get_fiat_payments_history", + "signature": "(self, **params)", + "description": "Get Fiat Payments History\n\nhttps://binance-docs.github.io/apidocs/spot/en/#get-fiat-payments-history-user_data\n\n:param transactionType: required - 0-buy,1-sell\n:type transactionType: str\n:param beginTime: optional\n:type beginTime: int\n:param endTime: optional\n:type endTime: int\n:param page: optional - default 1\n:type page: int\n:param rows: optional - default 100, max 500\n:type rows: int\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_fiat_payments_history(self, **params):\n \"\"\"Get Fiat Payments History\n\n https://binance-docs.github.io/apidocs/spot/en/#get-fiat-payments-history-user_data\n\n :param transactionType: required - 0-buy,1-sell\n :type transactionType: str\n :param beginTime: optional\n :type beginTime: int\n :param endTime: optional\n :type endTime: int\n :param page: optional - default 1\n :type page: int\n :param rows: optional - default 100, max 500\n :type rows: int\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"fiat/payments\", signed=True, data=params\n )" + }, + "get_c2c_trade_history": { + "name": "get_c2c_trade_history", + "path": "binance.client.Client.get_c2c_trade_history", + "signature": "(self, **params)", + "description": "Get C2C Trade History\n\nhttps://binance-docs.github.io/apidocs/spot/en/#get-c2c-trade-history-user_data\n\n:param tradeType: required - BUY, SELL\n:type tradeType: str\n:param startTimestamp: optional\n:type startTime: int\n:param endTimestamp: optional\n:type endTimestamp: int\n:param page: optional - default 1\n:type page: int\n:param rows: optional - default 100, max 100\n:type rows: int\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response\n\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": [\n {\n \"orderNumber\":\"20219644646554779648\",\n \"advNo\": \"11218246497340923904\",\n \"tradeType\": \"SELL\",\n \"asset\": \"BUSD\",\n \"fiat\": \"CNY\",\n \"fiatSymbol\": \"\uffe5\",\n \"amount\": \"5000.00000000\", // Quantity (in Crypto)\n \"totalPrice\": \"33400.00000000\",\n \"unitPrice\": \"6.68\", // Unit Price (in Fiat)\n \"orderStatus\": \"COMPLETED\", // PENDING, TRADING, BUYER_PAYED, DISTRIBUTING, COMPLETED, IN_APPEAL, CANCELLED, CANCELLED_BY_SYSTEM\n \"createTime\": 1619361369000,\n \"commission\": \"0\", // Transaction Fee (in Crypto)\n \"counterPartNickName\": \"ab***\",\n \"advertisementRole\": \"TAKER\"\n }\n ],\n \"total\": 1,\n \"success\": true\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_c2c_trade_history(self, **params):\n \"\"\"Get C2C Trade History\n\n https://binance-docs.github.io/apidocs/spot/en/#get-c2c-trade-history-user_data\n\n :param tradeType: required - BUY, SELL\n :type tradeType: str\n :param startTimestamp: optional\n :type startTime: int\n :param endTimestamp: optional\n :type endTimestamp: int\n :param page: optional - default 1\n :type page: int\n :param rows: optional - default 100, max 100\n :type rows: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": [\n {\n \"orderNumber\":\"20219644646554779648\",\n \"advNo\": \"11218246497340923904\",\n \"tradeType\": \"SELL\",\n \"asset\": \"BUSD\",\n \"fiat\": \"CNY\",\n \"fiatSymbol\": \"\uffe5\",\n \"amount\": \"5000.00000000\", // Quantity (in Crypto)\n \"totalPrice\": \"33400.00000000\",\n \"unitPrice\": \"6.68\", // Unit Price (in Fiat)\n \"orderStatus\": \"COMPLETED\", // PENDING, TRADING, BUYER_PAYED, DISTRIBUTING, COMPLETED, IN_APPEAL, CANCELLED, CANCELLED_BY_SYSTEM\n \"createTime\": 1619361369000,\n \"commission\": \"0\", // Transaction Fee (in Crypto)\n \"counterPartNickName\": \"ab***\",\n \"advertisementRole\": \"TAKER\"\n }\n ],\n \"total\": 1,\n \"success\": true\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"c2c/orderMatch/listUserOrderHistory\", signed=True, data=params\n )" + }, + "get_pay_trade_history": { + "name": "get_pay_trade_history", + "path": "binance.client.Client.get_pay_trade_history", + "signature": "(self, **params)", + "description": "Get C2C Trade History\n\nhttps://binance-docs.github.io/apidocs/spot/en/#pay-endpoints\n\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param limit: optional - default 100, max 100\n:type limit: int\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_pay_trade_history(self, **params):\n \"\"\"Get C2C Trade History\n\n https://binance-docs.github.io/apidocs/spot/en/#pay-endpoints\n\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional - default 100, max 100\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"pay/transactions\", signed=True, data=params\n )" + }, + "get_convert_trade_history": { + "name": "get_convert_trade_history", + "path": "binance.client.Client.get_convert_trade_history", + "signature": "(self, **params)", + "description": "Get C2C Trade History\n\nhttps://developers.binance.com/docs/convert/trade/Get-Convert-Trade-History\n\n:param startTime: required - Start Time - 1593511200000\n:type startTime: int\n:param endTime: required - End Time - 1593511200000\n:type endTime: int\n:param limit: optional - default 100, max 100\n:type limit: int\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_convert_trade_history(self, **params):\n \"\"\"Get C2C Trade History\n\n https://developers.binance.com/docs/convert/trade/Get-Convert-Trade-History\n\n :param startTime: required - Start Time - 1593511200000\n :type startTime: int\n :param endTime: required - End Time - 1593511200000\n :type endTime: int\n :param limit: optional - default 100, max 100\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"convert/tradeFlow\", signed=True, data=params\n )" + }, + "convert_request_quote": { + "name": "convert_request_quote", + "path": "binance.client.Client.convert_request_quote", + "signature": "(self, **params)", + "description": "Request a quote for the requested token pairs\n\nhttps://developers.binance.com/docs/convert/trade\n\n:param fromAsset: required - Asset to convert from - BUSD\n:type fromAsset: str\n:param toAsset: required - Asset to convert to - BTC\n:type toAsset: str\n:param fromAmount: EITHER - When specified, it is the amount you will be debited after the conversion\n:type fromAmount: decimal\n:param toAmount: EITHER - When specified, it is the amount you will be credited after the conversion\n:type toAmount: decimal\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def convert_request_quote(self, **params):\n \"\"\"Request a quote for the requested token pairs\n\n https://developers.binance.com/docs/convert/trade\n\n :param fromAsset: required - Asset to convert from - BUSD\n :type fromAsset: str\n :param toAsset: required - Asset to convert to - BTC\n :type toAsset: str\n :param fromAmount: EITHER - When specified, it is the amount you will be debited after the conversion\n :type fromAmount: decimal\n :param toAmount: EITHER - When specified, it is the amount you will be credited after the conversion\n :type toAmount: decimal\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"convert/getQuote\", signed=True, data=params\n )" + }, + "convert_accept_quote": { + "name": "convert_accept_quote", + "path": "binance.client.Client.convert_accept_quote", + "signature": "(self, **params)", + "description": "Accept the offered quote by quote ID.\n\nhttps://developers.binance.com/docs/convert/trade/Accept-Quote\n\n:param quoteId: required - 457235734584567\n:type quoteId: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def convert_accept_quote(self, **params):\n \"\"\"Accept the offered quote by quote ID.\n\n https://developers.binance.com/docs/convert/trade/Accept-Quote\n\n :param quoteId: required - 457235734584567\n :type quoteId: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"convert/acceptQuote\", signed=True, data=params\n )" + }, + "papi_get_balance": { + "name": "papi_get_balance", + "path": "binance.client.Client.papi_get_balance", + "signature": "(self, **params)", + "description": "Query account balance.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account\n\n:param asset: required\n:type asset: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_balance(self, **params):\n \"\"\"Query account balance.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account\n\n :param asset: required\n :type asset: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"balance\", signed=True, data=params)" + }, + "papi_get_rate_limit": { + "name": "papi_get_rate_limit", + "path": "binance.client.Client.papi_get_rate_limit", + "signature": "(self, **params)", + "description": "Query User Rate Limit\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-User-Rate-Limit\n\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_rate_limit(self, **params):\n \"\"\"Query User Rate Limit\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-User-Rate-Limit\n\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"rateLimit/order\", signed=True, data=params)" + }, + "papi_stream_get_listen_key": { + "name": "papi_stream_get_listen_key", + "path": "binance.client.Client.papi_stream_get_listen_key", + "signature": "(self)", + "description": "Start a new user data stream for Portfolio Margin account.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Start-User-Data-Stream\n\n:returns: API response\n\n {\n \"listenKey\": \"pM_XXXXXXX\"\n }\n\nThe stream will close after 60 minutes unless a keepalive is sent.\nIf the account has an active listenKey, that listenKey will be returned and its validity will be extended for 60 minutes.\n\nWeight: 1", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_stream_get_listen_key(self):\n \"\"\"Start a new user data stream for Portfolio Margin account.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Start-User-Data-Stream\n\n :returns: API response\n\n {\n \"listenKey\": \"pM_XXXXXXX\"\n }\n\n The stream will close after 60 minutes unless a keepalive is sent.\n If the account has an active listenKey, that listenKey will be returned and its validity will be extended for 60 minutes.\n\n Weight: 1\n\n \"\"\"\n res = self._request_papi_api(\"post\", \"listenKey\", signed=False, data={})\n return res[\"listenKey\"]" + }, + "papi_stream_keepalive": { + "name": "papi_stream_keepalive", + "path": "binance.client.Client.papi_stream_keepalive", + "signature": "(self, listenKey)", + "description": "Keepalive a user data stream to prevent a time out.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Keepalive-User-Data-Stream\n\n:returns: API response\n\n {}\n\nUser data streams will close after 60 minutes. It's recommended to send a ping about every 60 minutes.\n\nWeight: 1", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_stream_keepalive(self, listenKey):\n \"\"\"Keepalive a user data stream to prevent a time out.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Keepalive-User-Data-Stream\n\n :returns: API response\n\n {}\n\n User data streams will close after 60 minutes. It's recommended to send a ping about every 60 minutes.\n\n Weight: 1\n\n \"\"\"\n params = {\"listenKey\": listenKey}\n return self._request_papi_api(\"put\", \"listenKey\", signed=False, data=params)" + }, + "papi_stream_close": { + "name": "papi_stream_close", + "path": "binance.client.Client.papi_stream_close", + "signature": "(self, listenKey)", + "description": "Close out a user data stream.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Close-User-Data-Stream\n\n:returns: API response\n\n {}\n\nWeight: 1", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_stream_close(self, listenKey):\n \"\"\"Close out a user data stream.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Close-User-Data-Stream\n\n :returns: API response\n\n {}\n\n Weight: 1\n\n \"\"\"\n params = {\"listenKey\": listenKey}\n return self._request_papi_api(\"delete\", \"listenKey\", signed=False, data=params)" + }, + "papi_get_account": { + "name": "papi_get_account", + "path": "binance.client.Client.papi_get_account", + "signature": "(self, **params)", + "description": "Query account information.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Account-Information\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_account(self, **params):\n \"\"\"Query account information.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Account-Information\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"account\", signed=True, data=params)" + }, + "papi_get_margin_max_borrowable": { + "name": "papi_get_margin_max_borrowable", + "path": "binance.client.Client.papi_get_margin_max_borrowable", + "signature": "(self, **params)", + "description": "Query margin max borrow.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Margin-Max-Borrow\n\n:param asset: required\n:type asset: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_margin_max_borrowable(self, **params):\n \"\"\"Query margin max borrow.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Margin-Max-Borrow\n\n :param asset: required\n :type asset: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/maxBorrowable\", signed=True, data=params\n )" + }, + "papi_get_margin_max_withdraw": { + "name": "papi_get_margin_max_withdraw", + "path": "binance.client.Client.papi_get_margin_max_withdraw", + "signature": "(self, **params)", + "description": "Query margin max borrow.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-Max-Withdraw\n\n:param asset: required\n:type asset: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_margin_max_withdraw(self, **params):\n \"\"\"Query margin max borrow.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-Max-Withdraw\n\n :param asset: required\n :type asset: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/maxWithdraw\", signed=True, data=params\n )" + }, + "papi_get_um_position_risk": { + "name": "papi_get_um_position_risk", + "path": "binance.client.Client.papi_get_um_position_risk", + "signature": "(self, **params)", + "description": "Query margin max borrow.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-UM-Position-Information\n\n:param symbol: required\n:type symbol: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_position_risk(self, **params):\n \"\"\"Query margin max borrow.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-UM-Position-Information\n\n :param symbol: required\n :type symbol: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/positionRisk\", signed=True, data=params\n )" + }, + "papi_get_cm_position_risk": { + "name": "papi_get_cm_position_risk", + "path": "binance.client.Client.papi_get_cm_position_risk", + "signature": "(self, **params)", + "description": "Query margin max borrow.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-CM-Position-Information\n\n:param asset: required\n:type asset: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_position_risk(self, **params):\n \"\"\"Query margin max borrow.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-CM-Position-Information\n\n :param asset: required\n :type asset: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/positionRisk\", signed=True, data=params\n )" + }, + "papi_set_um_leverage": { + "name": "papi_set_um_leverage", + "path": "binance.client.Client.papi_set_um_leverage", + "signature": "(self, **params)", + "description": "Query margin max borrow.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-UM-Initial-Leverage\n\n:param asset: required\n:type asset: str\n\n:param leverage: required\n:type leverage: int\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_set_um_leverage(self, **params):\n \"\"\"Query margin max borrow.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-UM-Initial-Leverage\n\n :param asset: required\n :type asset: str\n\n :param leverage: required\n :type leverage: int\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"post\", \"um/leverage\", signed=True, data=params)" + }, + "papi_set_cm_leverage": { + "name": "papi_set_cm_leverage", + "path": "binance.client.Client.papi_set_cm_leverage", + "signature": "(self, **params)", + "description": "Query margin max borrow.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-CM-Initial-Leverage\n\n:param asset: required\n:type asset: str\n\n:param leverage: required\n:type leverage: int\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_set_cm_leverage(self, **params):\n \"\"\"Query margin max borrow.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-CM-Initial-Leverage\n\n :param asset: required\n :type asset: str\n\n :param leverage: required\n :type leverage: int\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"post\", \"cm/leverage\", signed=True, data=params)" + }, + "papi_change_um_position_side_dual": { + "name": "papi_change_um_position_side_dual", + "path": "binance.client.Client.papi_change_um_position_side_dual", + "signature": "(self, **params)", + "description": "Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-UM-Position-Mode\n\n:param dualSidePosition: required\n:type dualSidePosition: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_change_um_position_side_dual(self, **params):\n \"\"\"Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-UM-Position-Mode\n\n :param dualSidePosition: required\n :type dualSidePosition: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"um/positionSide/dual\", signed=True, data=params\n )" + }, + "papi_change_cm_position_side_dual": { + "name": "papi_change_cm_position_side_dual", + "path": "binance.client.Client.papi_change_cm_position_side_dual", + "signature": "(self, **params)", + "description": "Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-CM-Position-Mode\n\n:param dualSidePosition: required\n:type dualSidePosition: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_change_cm_position_side_dual(self, **params):\n \"\"\"Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-CM-Position-Mode\n\n :param dualSidePosition: required\n :type dualSidePosition: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"cm/positionSide/dual\", signed=True, data=params\n )" + }, + "papi_get_um_position_side_dual": { + "name": "papi_get_um_position_side_dual", + "path": "binance.client.Client.papi_get_um_position_side_dual", + "signature": "(self, **params)", + "description": "Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Current-Position-Mode\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_position_side_dual(self, **params):\n \"\"\"Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Current-Position-Mode\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/positionSide/dual\", signed=True, data=params\n )" + }, + "papi_get_cm_position_side_dual": { + "name": "papi_get_cm_position_side_dual", + "path": "binance.client.Client.papi_get_cm_position_side_dual", + "signature": "(self, **params)", + "description": "Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Current-Position-Mode\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_position_side_dual(self, **params):\n \"\"\"Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Current-Position-Mode\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/positionSide/dual\", signed=True, data=params\n )" + }, + "papi_get_um_leverage_bracket": { + "name": "papi_get_um_leverage_bracket", + "path": "binance.client.Client.papi_get_um_leverage_bracket", + "signature": "(self, **params)", + "description": "Query UM notional and leverage brackets.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/UM-Notional-and-Leverage-Brackets\n\n:param symbol: optional\n:type symbol: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_leverage_bracket(self, **params):\n \"\"\"Query UM notional and leverage brackets.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/UM-Notional-and-Leverage-Brackets\n\n :param symbol: optional\n :type symbol: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/leverageBracket\", signed=True, data=params\n )" + }, + "papi_get_cm_leverage_bracket": { + "name": "papi_get_cm_leverage_bracket", + "path": "binance.client.Client.papi_get_cm_leverage_bracket", + "signature": "(self, **params)", + "description": "Query CM notional and leverage brackets.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/CM-Notional-and-Leverage-Brackets\n\n:param symbol: optional\n:type symbol: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_leverage_bracket(self, **params):\n \"\"\"Query CM notional and leverage brackets.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/CM-Notional-and-Leverage-Brackets\n\n :param symbol: optional\n :type symbol: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/leverageBracket\", signed=True, data=params\n )" + }, + "papi_get_um_api_trading_status": { + "name": "papi_get_um_api_trading_status", + "path": "binance.client.Client.papi_get_um_api_trading_status", + "signature": "(self, **params)", + "description": "Portfolio Margin UM Trading Quantitative Rules Indicators.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Portfolio-Margin-UM-Trading-Quantitative-Rules-Indicators\n\n:param symbol: optional\n:type symbol: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_api_trading_status(self, **params):\n \"\"\"Portfolio Margin UM Trading Quantitative Rules Indicators.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Portfolio-Margin-UM-Trading-Quantitative-Rules-Indicators\n\n :param symbol: optional\n :type symbol: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/apiTradingStatus\", signed=True, data=params\n )" + }, + "papi_get_um_comission_rate": { + "name": "papi_get_um_comission_rate", + "path": "binance.client.Client.papi_get_um_comission_rate", + "signature": "(self, **params)", + "description": "Get User Commission Rate for UM.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-User-Commission-Rate-for-UM\n\n:param symbol: required\n:type symbol: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_comission_rate(self, **params):\n \"\"\"Get User Commission Rate for UM.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-User-Commission-Rate-for-UM\n\n :param symbol: required\n :type symbol: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/commissionRate\", signed=True, data=params\n )" + }, + "papi_get_cm_comission_rate": { + "name": "papi_get_cm_comission_rate", + "path": "binance.client.Client.papi_get_cm_comission_rate", + "signature": "(self, **params)", + "description": "Get User Commission Rate for CM.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-User-Commission-Rate-for-CM\n\n:param symbol: required\n:type symbol: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_comission_rate(self, **params):\n \"\"\"Get User Commission Rate for CM.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-User-Commission-Rate-for-CM\n\n :param symbol: required\n :type symbol: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/commissionRate\", signed=True, data=params\n )" + }, + "papi_get_margin_margin_loan": { + "name": "papi_get_margin_margin_loan", + "path": "binance.client.Client.papi_get_margin_margin_loan", + "signature": "(self, **params)", + "description": "Query margin loan record.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-Loan-Record\n\n:param asset: required\n:type asset: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_margin_margin_loan(self, **params):\n \"\"\"Query margin loan record.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-Loan-Record\n\n :param asset: required\n :type asset: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/marginLoan\", signed=True, data=params\n )" + }, + "papi_get_margin_repay_loan": { + "name": "papi_get_margin_repay_loan", + "path": "binance.client.Client.papi_get_margin_repay_loan", + "signature": "(self, **params)", + "description": "Query margin repay record.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-repay-Record\n\n:param asset: required\n:type asset: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_margin_repay_loan(self, **params):\n \"\"\"Query margin repay record.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-repay-Record\n\n :param asset: required\n :type asset: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/repayLoan\", signed=True, data=params\n )" + }, + "papi_get_repay_futures_switch": { + "name": "papi_get_repay_futures_switch", + "path": "binance.client.Client.papi_get_repay_futures_switch", + "signature": "(self, **params)", + "description": "Query Auto-repay-futures Status.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Auto-repay-futures-Status\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_repay_futures_switch(self, **params):\n \"\"\"Query Auto-repay-futures Status.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Auto-repay-futures-Status\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"repay-futures-switch\", signed=True, data=params\n )" + }, + "papi_repay_futures_switch": { + "name": "papi_repay_futures_switch", + "path": "binance.client.Client.papi_repay_futures_switch", + "signature": "(self, **params)", + "description": "Change Auto-repay-futures Status.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-Auto-repay-futures-Status\n\n:param autoRepay: required\n:type autoRepay: str\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_repay_futures_switch(self, **params):\n \"\"\"Change Auto-repay-futures Status.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-Auto-repay-futures-Status\n\n :param autoRepay: required\n :type autoRepay: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"repay-futures-switch\", signed=True, data=params\n )" + }, + "papi_get_margin_interest_history": { + "name": "papi_get_margin_interest_history", + "path": "binance.client.Client.papi_get_margin_interest_history", + "signature": "(self, **params)", + "description": "Get Margin Borrow/Loan Interest History.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Margin-BorrowLoan-Interest-History\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_margin_interest_history(self, **params):\n \"\"\"Get Margin Borrow/Loan Interest History.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Margin-BorrowLoan-Interest-History\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/marginInterestHistory\", signed=True, data=params\n )" + }, + "papi_repay_futures_negative_balance": { + "name": "papi_repay_futures_negative_balance", + "path": "binance.client.Client.papi_repay_futures_negative_balance", + "signature": "(self, **params)", + "description": "Repay futures Negative Balance.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Repay-futures-Negative-Balance\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_repay_futures_negative_balance(self, **params):\n \"\"\"Repay futures Negative Balance.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Repay-futures-Negative-Balance\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"repay-futures-negative-balance\", signed=True, data=params\n )" + }, + "papi_get_portfolio_interest_history": { + "name": "papi_get_portfolio_interest_history", + "path": "binance.client.Client.papi_get_portfolio_interest_history", + "signature": "(self, **params)", + "description": "Query interest history of negative balance for portfolio margin.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Portfolio-Margin-Negative-Balance-Interest-History\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_portfolio_interest_history(self, **params):\n \"\"\"Query interest history of negative balance for portfolio margin.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Portfolio-Margin-Negative-Balance-Interest-History\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"portfolio/interest-history\", signed=True, data=params\n )" + }, + "papi_get_portfolio_negative_balance_exchange_record": { + "name": "papi_get_portfolio_negative_balance_exchange_record", + "path": "binance.client.Client.papi_get_portfolio_negative_balance_exchange_record", + "signature": "(self, **params)", + "description": "Query user negative balance auto exchange record.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-User-Negative-Balance-Auto-Exchange-Record\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_portfolio_negative_balance_exchange_record(self, **params):\n \"\"\"Query user negative balance auto exchange record.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-User-Negative-Balance-Auto-Exchange-Record\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"portfolio/negative-balance-exchange-record\", signed=True, data=params\n )" + }, + "papi_fund_auto_collection": { + "name": "papi_fund_auto_collection", + "path": "binance.client.Client.papi_fund_auto_collection", + "signature": "(self, **params)", + "description": "Fund collection for Portfolio Margin.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Fund-Auto-collection\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_fund_auto_collection(self, **params):\n \"\"\"Fund collection for Portfolio Margin.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Fund-Auto-collection\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"auto-collection\", signed=True, data=params\n )" + }, + "papi_fund_asset_collection": { + "name": "papi_fund_asset_collection", + "path": "binance.client.Client.papi_fund_asset_collection", + "signature": "(self, **params)", + "description": "Transfers specific asset from Futures Account to Margin account.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Fund-Collection-by-Asset\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_fund_asset_collection(self, **params):\n \"\"\"Transfers specific asset from Futures Account to Margin account.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Fund-Collection-by-Asset\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"asset-collection\", signed=True, data=params\n )" + }, + "papi_bnb_transfer": { + "name": "papi_bnb_transfer", + "path": "binance.client.Client.papi_bnb_transfer", + "signature": "(self, **params)", + "description": "Transfer BNB in and out of UM.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/BNB-transfer\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_bnb_transfer(self, **params):\n \"\"\"Transfer BNB in and out of UM.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/BNB-transfer\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"post\", \"bnb-transfer\", signed=True, data=params)" + }, + "papi_get_um_income_history": { + "name": "papi_get_um_income_history", + "path": "binance.client.Client.papi_get_um_income_history", + "signature": "(self, **params)", + "description": "Get UM Income History.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Income-History\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_income_history(self, **params):\n \"\"\"Get UM Income History.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Income-History\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/income\", signed=True, data=params)" + }, + "papi_get_cm_income_history": { + "name": "papi_get_cm_income_history", + "path": "binance.client.Client.papi_get_cm_income_history", + "signature": "(self, **params)", + "description": "Get CM Income History.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Income-History\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_income_history(self, **params):\n \"\"\"Get CM Income History.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Income-History\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/income\", signed=True, data=params)" + }, + "papi_get_um_account": { + "name": "papi_get_um_account", + "path": "binance.client.Client.papi_get_um_account", + "signature": "(self, **params)", + "description": "Get current UM account asset and position information.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Account-Detail\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_account(self, **params):\n \"\"\"Get current UM account asset and position information.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Account-Detail\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/account\", signed=True, data=params)" + }, + "papi_get_um_account_v2": { + "name": "papi_get_um_account_v2", + "path": "binance.client.Client.papi_get_um_account_v2", + "signature": "(self, **params)", + "description": "Get current UM account asset and position information.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Account-Detail-V2\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_account_v2(self, **params):\n \"\"\"Get current UM account asset and position information.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Account-Detail-V2\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/account\", version=2, signed=True, data=params\n )" + }, + "papi_get_cm_account": { + "name": "papi_get_cm_account", + "path": "binance.client.Client.papi_get_cm_account", + "signature": "(self, **params)", + "description": "Get current CM account asset and position information.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Account-Detail\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_account(self, **params):\n \"\"\"Get current CM account asset and position information.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Account-Detail\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/account\", signed=True, data=params)" + }, + "papi_get_um_account_config": { + "name": "papi_get_um_account_config", + "path": "binance.client.Client.papi_get_um_account_config", + "signature": "(self, **params)", + "description": "Query UM Futures account configuration.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Account-Config\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_account_config(self, **params):\n \"\"\"Query UM Futures account configuration.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Account-Config\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/accountConfig\", signed=True, data=params\n )" + }, + "papi_get_um_symbol_config": { + "name": "papi_get_um_symbol_config", + "path": "binance.client.Client.papi_get_um_symbol_config", + "signature": "(self, **params)", + "description": "Get current UM account symbol configuration.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Symbol-Config\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_symbol_config(self, **params):\n \"\"\"Get current UM account symbol configuration.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Symbol-Config\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/symbolConfig\", signed=True, data=params\n )" + }, + "papi_get_um_trade_asyn": { + "name": "papi_get_um_trade_asyn", + "path": "binance.client.Client.papi_get_um_trade_asyn", + "signature": "(self, **params)", + "description": "Get download id for UM futures trade history.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Trade-History\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_trade_asyn(self, **params):\n \"\"\"Get download id for UM futures trade history.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Trade-History\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/trade/asyn\", signed=True, data=params)" + }, + "papi_get_um_trade_asyn_id": { + "name": "papi_get_um_trade_asyn_id", + "path": "binance.client.Client.papi_get_um_trade_asyn_id", + "signature": "(self, **params)", + "description": "Get UM futures trade download link by Id.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Trade-Download-Link-by-Id\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_trade_asyn_id(self, **params):\n \"\"\"Get UM futures trade download link by Id.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Trade-Download-Link-by-Id\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/trade/asyn/id\", signed=True, data=params\n )" + }, + "papi_get_um_order_asyn": { + "name": "papi_get_um_order_asyn", + "path": "binance.client.Client.papi_get_um_order_asyn", + "signature": "(self, **params)", + "description": "Get download id for UM futures order history.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Order-History\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_order_asyn(self, **params):\n \"\"\"Get download id for UM futures order history.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Order-History\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/order/asyn\", signed=True, data=params)" + }, + "papi_get_um_order_asyn_id": { + "name": "papi_get_um_order_asyn_id", + "path": "binance.client.Client.papi_get_um_order_asyn_id", + "signature": "(self, **params)", + "description": "Get UM futures order download link by Id.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Order-Download-Link-by-Id\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_order_asyn_id(self, **params):\n \"\"\"Get UM futures order download link by Id.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Order-Download-Link-by-Id\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/order/asyn/id\", signed=True, data=params\n )" + }, + "papi_get_um_income_asyn": { + "name": "papi_get_um_income_asyn", + "path": "binance.client.Client.papi_get_um_income_asyn", + "signature": "(self, **params)", + "description": "Get download id for UM futures transaction history.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Transaction-History\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_income_asyn(self, **params):\n \"\"\"Get download id for UM futures transaction history.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Transaction-History\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/income/asyn\", signed=True, data=params)" + }, + "papi_get_um_income_asyn_id": { + "name": "papi_get_um_income_asyn_id", + "path": "binance.client.Client.papi_get_um_income_asyn_id", + "signature": "(self, **params)", + "description": "Get UM futures Transaction download link by Id.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Transaction-Download-Link-by-Id\n\n:param recvWindow: optional\n:type recvWindow: int\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_income_asyn_id(self, **params):\n \"\"\"Get UM futures Transaction download link by Id.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Transaction-Download-Link-by-Id\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/income/asyn/id\", signed=True, data=params\n )" + }, + "papi_ping": { + "name": "papi_ping", + "path": "binance.client.Client.papi_ping", + "signature": "(self, **params)", + "description": "Test connectivity to the Rest API.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/market-data\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_ping(self, **params):\n \"\"\"Test connectivity to the Rest API.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/market-data\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"ping\", signed=False, data=params)" + }, + "papi_create_um_order": { + "name": "papi_create_um_order", + "path": "binance.client.Client.papi_create_um_order", + "signature": "(self, **params)", + "description": "Place new UM order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_create_um_order(self, **params):\n \"\"\"Place new UM order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_papi_api(\"post\", \"um/order\", signed=True, data=params)" + }, + "papi_create_um_conditional_order": { + "name": "papi_create_um_conditional_order", + "path": "binance.client.Client.papi_create_um_conditional_order", + "signature": "(self, **params)", + "description": "Place new UM Conditional order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Conditional-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_create_um_conditional_order(self, **params):\n \"\"\"Place new UM Conditional order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_papi_api(\n \"post\", \"um/conditional/order\", signed=True, data=params\n )" + }, + "papi_create_cm_order": { + "name": "papi_create_cm_order", + "path": "binance.client.Client.papi_create_cm_order", + "signature": "(self, **params)", + "description": "Place new CM order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_create_cm_order(self, **params):\n \"\"\"Place new CM order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_papi_api(\"post\", \"cm/order\", signed=True, data=params)" + }, + "papi_create_cm_conditional_order": { + "name": "papi_create_cm_conditional_order", + "path": "binance.client.Client.papi_create_cm_conditional_order", + "signature": "(self, **params)", + "description": "Place new CM Conditional order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Conditional-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_create_cm_conditional_order(self, **params):\n \"\"\"Place new CM Conditional order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_papi_api(\n \"post\", \"cm/conditional/order\", signed=True, data=params\n )" + }, + "papi_create_margin_order": { + "name": "papi_create_margin_order", + "path": "binance.client.Client.papi_create_margin_order", + "signature": "(self, **params)", + "description": "New Margin Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-Margin-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_create_margin_order(self, **params):\n \"\"\"New Margin Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-Margin-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_papi_api(\"post\", \"margin/order\", signed=True, data=params)" + }, + "papi_margin_loan": { + "name": "papi_margin_loan", + "path": "binance.client.Client.papi_margin_loan", + "signature": "(self, **params)", + "description": "Apply for a margin loan.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Borrow\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_margin_loan(self, **params):\n \"\"\"Apply for a margin loan.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Borrow\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"post\", \"marginLoan\", signed=True, data=params)" + }, + "papi_repay_loan": { + "name": "papi_repay_loan", + "path": "binance.client.Client.papi_repay_loan", + "signature": "(self, **params)", + "description": "Repay for a margin loan.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_repay_loan(self, **params):\n \"\"\"Repay for a margin loan.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"post\", \"repayLoan\", signed=True, data=params)" + }, + "papi_margin_order_oco": { + "name": "papi_margin_order_oco", + "path": "binance.client.Client.papi_margin_order_oco", + "signature": "(self, **params)", + "description": "Send in a new OCO for a margin account.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-New-OCO\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_margin_order_oco(self, **params):\n \"\"\"Send in a new OCO for a margin account.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-New-OCO\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"margin/order/oco\", signed=True, data=params\n )" + }, + "papi_cancel_um_order": { + "name": "papi_cancel_um_order", + "path": "binance.client.Client.papi_cancel_um_order", + "signature": "(self, **params)", + "description": "Cancel an active UM LIMIT order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_cancel_um_order(self, **params):\n \"\"\"Cancel an active UM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"delete\", \"um/order\", signed=True, data=params)" + }, + "papi_cancel_um_all_open_orders": { + "name": "papi_cancel_um_all_open_orders", + "path": "binance.client.Client.papi_cancel_um_all_open_orders", + "signature": "(self, **params)", + "description": "Cancel an active UM LIMIT order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_cancel_um_all_open_orders(self, **params):\n \"\"\"Cancel an active UM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"um/allOpenOrders\", signed=True, data=params\n )" + }, + "papi_cancel_um_conditional_order": { + "name": "papi_cancel_um_conditional_order", + "path": "binance.client.Client.papi_cancel_um_conditional_order", + "signature": "(self, **params)", + "description": "Cancel UM Conditional Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Conditional-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_cancel_um_conditional_order(self, **params):\n \"\"\"Cancel UM Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"um/conditional/order\", signed=True, data=params\n )" + }, + "papi_cancel_um_conditional_all_open_orders": { + "name": "papi_cancel_um_conditional_all_open_orders", + "path": "binance.client.Client.papi_cancel_um_conditional_all_open_orders", + "signature": "(self, **params)", + "description": "Cancel All UM Open Conditional Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Conditional-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_cancel_um_conditional_all_open_orders(self, **params):\n \"\"\"Cancel All UM Open Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"um/conditional/allOpenOrders\", signed=True, data=params\n )" + }, + "papi_cancel_cm_order": { + "name": "papi_cancel_cm_order", + "path": "binance.client.Client.papi_cancel_cm_order", + "signature": "(self, **params)", + "description": "Cancel an active CM LIMIT order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_cancel_cm_order(self, **params):\n \"\"\"Cancel an active CM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"delete\", \"cm/order\", signed=True, data=params)" + }, + "papi_cancel_cm_all_open_orders": { + "name": "papi_cancel_cm_all_open_orders", + "path": "binance.client.Client.papi_cancel_cm_all_open_orders", + "signature": "(self, **params)", + "description": "Cancel an active CM LIMIT order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_cancel_cm_all_open_orders(self, **params):\n \"\"\"Cancel an active CM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"cm/allOpenOrders\", signed=True, data=params\n )" + }, + "papi_cancel_cm_conditional_order": { + "name": "papi_cancel_cm_conditional_order", + "path": "binance.client.Client.papi_cancel_cm_conditional_order", + "signature": "(self, **params)", + "description": "Cancel CM Conditional Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Conditional-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_cancel_cm_conditional_order(self, **params):\n \"\"\"Cancel CM Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"cm/conditional/order\", signed=True, data=params\n )" + }, + "papi_cancel_cm_conditional_all_open_orders": { + "name": "papi_cancel_cm_conditional_all_open_orders", + "path": "binance.client.Client.papi_cancel_cm_conditional_all_open_orders", + "signature": "(self, **params)", + "description": "Cancel All CM Open Conditional Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Conditional-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_cancel_cm_conditional_all_open_orders(self, **params):\n \"\"\"Cancel All CM Open Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"cm/conditional/allOpenOrders\", signed=True, data=params\n )" + }, + "papi_cancel_margin_order": { + "name": "papi_cancel_margin_order", + "path": "binance.client.Client.papi_cancel_margin_order", + "signature": "(self, **params)", + "description": "Cancel Margin Account Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_cancel_margin_order(self, **params):\n \"\"\"Cancel Margin Account Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"margin/order\", signed=True, data=params\n )" + }, + "papi_cancel_margin_order_list": { + "name": "papi_cancel_margin_order_list", + "path": "binance.client.Client.papi_cancel_margin_order_list", + "signature": "(self, **params)", + "description": "Cancel Margin Account OCO Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-OCO-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_cancel_margin_order_list(self, **params):\n \"\"\"Cancel Margin Account OCO Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-OCO-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"margin/orderList\", signed=True, data=params\n )" + }, + "papi_cancel_margin_all_open_orders": { + "name": "papi_cancel_margin_all_open_orders", + "path": "binance.client.Client.papi_cancel_margin_all_open_orders", + "signature": "(self, **params)", + "description": "Cancel Margin Account All Open Orders on a Symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-All-Open-Orders-on-a-Symbol\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_cancel_margin_all_open_orders(self, **params):\n \"\"\"Cancel Margin Account All Open Orders on a Symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-All-Open-Orders-on-a-Symbol\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"margin/allOpenOrders\", signed=True, data=params\n )" + }, + "papi_modify_um_order": { + "name": "papi_modify_um_order", + "path": "binance.client.Client.papi_modify_um_order", + "signature": "(self, **params)", + "description": "Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-UM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_modify_um_order(self, **params):\n \"\"\"Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-UM-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"put\", \"um/order\", signed=True, data=params)" + }, + "papi_modify_cm_order": { + "name": "papi_modify_cm_order", + "path": "binance.client.Client.papi_modify_cm_order", + "signature": "(self, **params)", + "description": "Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-CM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_modify_cm_order(self, **params):\n \"\"\"Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-CM-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"put\", \"cm/order\", signed=True, data=params)" + }, + "papi_get_um_order": { + "name": "papi_get_um_order", + "path": "binance.client.Client.papi_get_um_order", + "signature": "(self, **params)", + "description": "Check an UM order's status.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_order(self, **params):\n \"\"\"Check an UM order's status.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/order\", signed=True, data=params)" + }, + "papi_get_um_all_orders": { + "name": "papi_get_um_all_orders", + "path": "binance.client.Client.papi_get_um_all_orders", + "signature": "(self, **params)", + "description": "Get all account UM orders; active, canceled, or filled.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_all_orders(self, **params):\n \"\"\"Get all account UM orders; active, canceled, or filled.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/allOrders\", signed=True, data=params)" + }, + "papi_get_um_open_order": { + "name": "papi_get_um_open_order", + "path": "binance.client.Client.papi_get_um_open_order", + "signature": "(self, **params)", + "description": "Query current UM open order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_open_order(self, **params):\n \"\"\"Query current UM open order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/openOrder\", signed=True, data=params)" + }, + "papi_get_um_open_orders": { + "name": "papi_get_um_open_orders", + "path": "binance.client.Client.papi_get_um_open_orders", + "signature": "(self, **params)", + "description": "Get all open orders on a symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/openOrders\", signed=True, data=params)" + }, + "papi_get_um_conditional_all_orders": { + "name": "papi_get_um_conditional_all_orders", + "path": "binance.client.Client.papi_get_um_conditional_all_orders", + "signature": "(self, **params)", + "description": "Query All UM Conditional Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Conditional-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_conditional_all_orders(self, **params):\n \"\"\"Query All UM Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/conditional/allOrders\", signed=True, data=params\n )" + }, + "papi_get_um_conditional_open_orders": { + "name": "papi_get_um_conditional_open_orders", + "path": "binance.client.Client.papi_get_um_conditional_open_orders", + "signature": "(self, **params)", + "description": "Get all open conditional orders on a symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Conditional-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_conditional_open_orders(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/conditional/openOrders\", signed=True, data=params\n )" + }, + "papi_get_um_conditional_open_order": { + "name": "papi_get_um_conditional_open_order", + "path": "binance.client.Client.papi_get_um_conditional_open_order", + "signature": "(self, **params)", + "description": "Query Current UM Open Conditional Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Conditional-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_conditional_open_order(self, **params):\n \"\"\"Query Current UM Open Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/conditional/openOrder\", signed=True, data=params\n )" + }, + "papi_get_um_conditional_order_history": { + "name": "papi_get_um_conditional_order_history", + "path": "binance.client.Client.papi_get_um_conditional_order_history", + "signature": "(self, **params)", + "description": "Get all open conditional orders on a symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Conditional-Order-History\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_conditional_order_history(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Conditional-Order-History\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/conditional/orderHistory\", signed=True, data=params\n )" + }, + "papi_get_cm_order": { + "name": "papi_get_cm_order", + "path": "binance.client.Client.papi_get_cm_order", + "signature": "(self, **params)", + "description": "Check an CM order's status.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_order(self, **params):\n \"\"\"Check an CM order's status.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/order\", signed=True, data=params)" + }, + "papi_get_cm_all_orders": { + "name": "papi_get_cm_all_orders", + "path": "binance.client.Client.papi_get_cm_all_orders", + "signature": "(self, **params)", + "description": "Get all account CM orders; active, canceled, or filled.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_all_orders(self, **params):\n \"\"\"Get all account CM orders; active, canceled, or filled.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/allOrders\", signed=True, data=params)" + }, + "papi_get_cm_open_order": { + "name": "papi_get_cm_open_order", + "path": "binance.client.Client.papi_get_cm_open_order", + "signature": "(self, **params)", + "description": "Query current CM open order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_open_order(self, **params):\n \"\"\"Query current CM open order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/openOrder\", signed=True, data=params)" + }, + "papi_get_cm_open_orders": { + "name": "papi_get_cm_open_orders", + "path": "binance.client.Client.papi_get_cm_open_orders", + "signature": "(self, **params)", + "description": "Get all open orders on a symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/openOrders\", signed=True, data=params)" + }, + "papi_get_cm_conditional_all_orders": { + "name": "papi_get_cm_conditional_all_orders", + "path": "binance.client.Client.papi_get_cm_conditional_all_orders", + "signature": "(self, **params)", + "description": "Query All CM Conditional Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Conditional-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_conditional_all_orders(self, **params):\n \"\"\"Query All CM Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/conditional/allOrders\", signed=True, data=params\n )" + }, + "papi_get_cm_conditional_open_orders": { + "name": "papi_get_cm_conditional_open_orders", + "path": "binance.client.Client.papi_get_cm_conditional_open_orders", + "signature": "(self, **params)", + "description": "Get all open conditional orders on a symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Conditional-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_conditional_open_orders(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/conditional/openOrders\", signed=True, data=params\n )" + }, + "papi_get_cm_conditional_open_order": { + "name": "papi_get_cm_conditional_open_order", + "path": "binance.client.Client.papi_get_cm_conditional_open_order", + "signature": "(self, **params)", + "description": "Query Current UM Open Conditional Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Conditional-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_conditional_open_order(self, **params):\n \"\"\"Query Current UM Open Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/conditional/openOrder\", signed=True, data=params\n )" + }, + "papi_get_cm_conditional_order_history": { + "name": "papi_get_cm_conditional_order_history", + "path": "binance.client.Client.papi_get_cm_conditional_order_history", + "signature": "(self, **params)", + "description": "Get all open conditional orders on a symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Conditional-Order-History\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_conditional_order_history(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Conditional-Order-History\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/conditional/orderHistory\", signed=True, data=params\n )" + }, + "papi_get_um_force_orders": { + "name": "papi_get_um_force_orders", + "path": "binance.client.Client.papi_get_um_force_orders", + "signature": "(self, **params)", + "description": "Query User's UM Force Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-UM-Force-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_force_orders(self, **params):\n \"\"\"Query User's UM Force Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-UM-Force-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/forceOrders\", signed=True, data=params)" + }, + "papi_get_cm_force_orders": { + "name": "papi_get_cm_force_orders", + "path": "binance.client.Client.papi_get_cm_force_orders", + "signature": "(self, **params)", + "description": "Query User's CM Force Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-CM-Force-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_force_orders(self, **params):\n \"\"\"Query User's CM Force Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-CM-Force-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/forceOrders\", signed=True, data=params)" + }, + "papi_get_um_order_amendment": { + "name": "papi_get_um_order_amendment", + "path": "binance.client.Client.papi_get_um_order_amendment", + "signature": "(self, **params)", + "description": "Get order modification history.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Modify-Order-History\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_order_amendment(self, **params):\n \"\"\"Get order modification history.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Modify-Order-History\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/orderAmendment\", signed=True, data=params\n )" + }, + "papi_get_cm_order_amendment": { + "name": "papi_get_cm_order_amendment", + "path": "binance.client.Client.papi_get_cm_order_amendment", + "signature": "(self, **params)", + "description": "Get order modification history.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Modify-Order-History\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_order_amendment(self, **params):\n \"\"\"Get order modification history.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Modify-Order-History\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/orderAmendment\", signed=True, data=params\n )" + }, + "papi_get_margin_force_orders": { + "name": "papi_get_margin_force_orders", + "path": "binance.client.Client.papi_get_margin_force_orders", + "signature": "(self, **params)", + "description": "Query user's margin force orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-Margin-Force-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_margin_force_orders(self, **params):\n \"\"\"Query user's margin force orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-Margin-Force-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/forceOrders\", signed=True, data=params\n )" + }, + "papi_get_um_user_trades": { + "name": "papi_get_um_user_trades", + "path": "binance.client.Client.papi_get_um_user_trades", + "signature": "(self, **params)", + "description": "Get trades for a specific account and UM symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Account-Trade-List\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_user_trades(self, **params):\n \"\"\"Get trades for a specific account and UM symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Account-Trade-List\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/userTrades\", signed=True, data=params)" + }, + "papi_get_cm_user_trades": { + "name": "papi_get_cm_user_trades", + "path": "binance.client.Client.papi_get_cm_user_trades", + "signature": "(self, **params)", + "description": "Get trades for a specific account and CM symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Account-Trade-List\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_user_trades(self, **params):\n \"\"\"Get trades for a specific account and CM symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Account-Trade-List\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/userTrades\", signed=True, data=params)" + }, + "papi_get_um_adl_quantile": { + "name": "papi_get_um_adl_quantile", + "path": "binance.client.Client.papi_get_um_adl_quantile", + "signature": "(self, **params)", + "description": "Query UM Position ADL Quantile Estimation.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Position-ADL-Quantile-Estimation\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_adl_quantile(self, **params):\n \"\"\"Query UM Position ADL Quantile Estimation.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Position-ADL-Quantile-Estimation\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/adlQuantile\", signed=True, data=params)" + }, + "papi_get_cm_adl_quantile": { + "name": "papi_get_cm_adl_quantile", + "path": "binance.client.Client.papi_get_cm_adl_quantile", + "signature": "(self, **params)", + "description": "Query CM Position ADL Quantile Estimation.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Position-ADL-Quantile-Estimation\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_cm_adl_quantile(self, **params):\n \"\"\"Query CM Position ADL Quantile Estimation.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Position-ADL-Quantile-Estimation\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/adlQuantile\", signed=True, data=params)" + }, + "papi_set_um_fee_burn": { + "name": "papi_set_um_fee_burn", + "path": "binance.client.Client.papi_set_um_fee_burn", + "signature": "(self, **params)", + "description": "Change user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off ) on EVERY symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Toggle-BNB-Burn-On-UM-Futures-Trade\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_set_um_fee_burn(self, **params):\n \"\"\"Change user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off ) on EVERY symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Toggle-BNB-Burn-On-UM-Futures-Trade\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"post\", \"um/feeBurn\", signed=True, data=params)" + }, + "papi_get_um_fee_burn": { + "name": "papi_get_um_fee_burn", + "path": "binance.client.Client.papi_get_um_fee_burn", + "signature": "(self, **params)", + "description": "Get user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off).\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Get-UM-Futures-BNB-Burn-Status\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_um_fee_burn(self, **params):\n \"\"\"Get user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off).\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Get-UM-Futures-BNB-Burn-Status\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/feeBurn\", signed=True, data=params)" + }, + "papi_get_margin_order": { + "name": "papi_get_margin_order", + "path": "binance.client.Client.papi_get_margin_order", + "signature": "(self, **params)", + "description": "Query Margin Account Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_margin_order(self, **params):\n \"\"\"Query Margin Account Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"margin/order\", signed=True, data=params)" + }, + "papi_get_margin_open_orders": { + "name": "papi_get_margin_open_orders", + "path": "binance.client.Client.papi_get_margin_open_orders", + "signature": "(self, **params)", + "description": "Query Current Margin Open Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-Margin-Open-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_margin_open_orders(self, **params):\n \"\"\"Query Current Margin Open Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-Margin-Open-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/openOrders\", signed=True, data=params\n )" + }, + "papi_get_margin_all_orders": { + "name": "papi_get_margin_all_orders", + "path": "binance.client.Client.papi_get_margin_all_orders", + "signature": "(self, **params)", + "description": "Query All Margin Account Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Margin-Account-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_margin_all_orders(self, **params):\n \"\"\"Query All Margin Account Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Margin-Account-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/allOrders\", signed=True, data=params\n )" + }, + "papi_get_margin_order_list": { + "name": "papi_get_margin_order_list", + "path": "binance.client.Client.papi_get_margin_order_list", + "signature": "(self, **params)", + "description": "Retrieves a specific OCO based on provided optional parameters.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-OCO\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_margin_order_list(self, **params):\n \"\"\"Retrieves a specific OCO based on provided optional parameters.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-OCO\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/orderList\", signed=True, data=params\n )" + }, + "papi_get_margin_all_order_list": { + "name": "papi_get_margin_all_order_list", + "path": "binance.client.Client.papi_get_margin_all_order_list", + "signature": "(self, **params)", + "description": "Query all OCO for a specific margin account based on provided optional parameters.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-all-OCO\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_margin_all_order_list(self, **params):\n \"\"\"Query all OCO for a specific margin account based on provided optional parameters.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-all-OCO\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/allOrderList\", signed=True, data=params\n )" + }, + "papi_get_margin_open_order_list": { + "name": "papi_get_margin_open_order_list", + "path": "binance.client.Client.papi_get_margin_open_order_list", + "signature": "(self, **params)", + "description": "Query Margin Account's Open OCO.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Open-OCO\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_margin_open_order_list(self, **params):\n \"\"\"Query Margin Account's Open OCO.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Open-OCO\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/openOrderList\", signed=True, data=params\n )" + }, + "papi_get_margin_my_trades": { + "name": "papi_get_margin_my_trades", + "path": "binance.client.Client.papi_get_margin_my_trades", + "signature": "(self, **params)", + "description": "Margin Account Trade List.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Trade-List\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_margin_my_trades(self, **params):\n \"\"\"Margin Account Trade List.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Trade-List\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/myTrades\", signed=True, data=params\n )" + }, + "papi_get_margin_repay_debt": { + "name": "papi_get_margin_repay_debt", + "path": "binance.client.Client.papi_get_margin_repay_debt", + "signature": "(self, **params)", + "description": "Repay debt for a margin loan.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay-Debt\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_get_margin_repay_debt(self, **params):\n \"\"\"Repay debt for a margin loan.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay-Debt\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"margin/repay-debt\", signed=True, data=params\n )" + }, + "close_connection": { + "name": "close_connection", + "path": "binance.client.Client.close_connection", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def close_connection(self):\n if self.session:\n self.session.close()" + }, + "__del__": { + "name": "__del__", + "path": "binance.client.Client.__del__", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __del__(self):\n self.close_connection()" + }, + "ws_create_test_order": { + "name": "ws_create_test_order", + "path": "binance.client.Client.ws_create_test_order", + "signature": "(self, **params)", + "description": "Test new order creation and signature/recvWindow long. Creates and validates a new order but does not send it into the matching engine.\nhttps://binance-docs.github.io/apidocs/websocket_api/en/#test-new-order-trade\n:param symbol: required\n:type symbol: str\n:param side: required\n:type side: str\n:param type: required\n:type type: str\n:param timeInForce: required if limit order\n:type timeInForce: str\n:param quantity: required\n:type quantity: decimal\n:param price: required\n:type price: str\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param icebergQty: Used with iceberg orders\n:type icebergQty: decimal\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: The number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: WS response\n.. code-block:: python\n {}", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_create_test_order(self, **params):\n \"\"\"Test new order creation and signature/recvWindow long. Creates and validates a new order but does not send it into the matching engine.\n https://binance-docs.github.io/apidocs/websocket_api/en/#test-new-order-trade\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param type: required\n :type type: str\n :param timeInForce: required if limit order\n :type timeInForce: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: The number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n .. code-block:: python\n {}\n \"\"\"\n\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n\n return self._ws_api_request_sync(\"order.test\", True, params)" + }, + "ws_create_order": { + "name": "ws_create_order", + "path": "binance.client.Client.ws_create_order", + "signature": "(self, **params)", + "description": "Create an order via WebSocket.\nhttps://binance-docs.github.io/apidocs/websocket_api/en/#place-new-order-trade\n:param id: The request ID to be used. By default uuid22() is used.\n:param symbol: The symbol to create an order for\n:param side: BUY or SELL\n:param type: Order type (e.g., LIMIT, MARKET)\n:param quantity: The amount to buy or sell\n:param kwargs: Additional order parameters", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_create_order(self, **params):\n \"\"\"Create an order via WebSocket.\n https://binance-docs.github.io/apidocs/websocket_api/en/#place-new-order-trade\n :param id: The request ID to be used. By default uuid22() is used.\n :param symbol: The symbol to create an order for\n :param side: BUY or SELL\n :param type: Order type (e.g., LIMIT, MARKET)\n :param quantity: The amount to buy or sell\n :param kwargs: Additional order parameters\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n\n return self._ws_api_request_sync(\"order.place\", True, params)" + }, + "ws_order_limit": { + "name": "ws_order_limit", + "path": "binance.client.Client.ws_order_limit", + "signature": "(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params)", + "description": "Send in a new limit order\nAny order with an icebergQty MUST have timeInForce set to GTC.\n:param symbol: required\n:type symbol: str\n:param side: required\n:type side: str\n:param quantity: required\n:type quantity: decimal\n:param price: required\n:type price: str\n:param timeInForce: default Good till cancelled\n:type timeInForce: str\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n:type icebergQty: decimal\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: WS response\nSee order endpoint for full response options", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "timeInForce", + "annotation": null, + "description": null, + "value": "BaseClient.TIME_IN_FORCE_GTC" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_order_limit(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n \"\"\"Send in a new limit order\n Any order with an icebergQty MUST have timeInForce set to GTC.\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\n \"type\": self.ORDER_TYPE_LIMIT,\n \"timeInForce\": timeInForce,\n })\n return self.ws_create_order(**params)" + }, + "ws_order_limit_buy": { + "name": "ws_order_limit_buy", + "path": "binance.client.Client.ws_order_limit_buy", + "signature": "(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params)", + "description": "Send in a new limit buy order\nAny order with an icebergQty MUST have timeInForce set to GTC.\n:param symbol: required\n:type symbol: str\n:param quantity: required\n:type quantity: decimal\n:param price: required\n:type price: str\n:param timeInForce: default Good till cancelled\n:type timeInForce: str\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param stopPrice: Used with stop orders\n:type stopPrice: decimal\n:param icebergQty: Used with iceberg orders\n:type icebergQty: decimal\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: WS response\nSee order endpoint for full response options", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "timeInForce", + "annotation": null, + "description": null, + "value": "BaseClient.TIME_IN_FORCE_GTC" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_order_limit_buy(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n \"\"\"Send in a new limit buy order\n Any order with an icebergQty MUST have timeInForce set to GTC.\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param stopPrice: Used with stop orders\n :type stopPrice: decimal\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\n \"side\": self.SIDE_BUY,\n })\n return self.ws_order_limit(timeInForce=timeInForce, **params)" + }, + "ws_order_limit_sell": { + "name": "ws_order_limit_sell", + "path": "binance.client.Client.ws_order_limit_sell", + "signature": "(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params)", + "description": "Send in a new limit sell order\n:param symbol: required\n:type symbol: str\n:param quantity: required\n:type quantity: decimal\n:param price: required\n:type price: str\n:param timeInForce: default Good till cancelled\n:type timeInForce: str\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param stopPrice: Used with stop orders\n:type stopPrice: decimal\n:param icebergQty: Used with iceberg orders\n:type icebergQty: decimal\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: WS response\nSee order endpoint for full response options", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "timeInForce", + "annotation": null, + "description": null, + "value": "BaseClient.TIME_IN_FORCE_GTC" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_order_limit_sell(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n \"\"\"Send in a new limit sell order\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param stopPrice: Used with stop orders\n :type stopPrice: decimal\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"side\": self.SIDE_SELL})\n return self.ws_order_limit(timeInForce=timeInForce, **params)" + }, + "ws_order_market": { + "name": "ws_order_market", + "path": "binance.client.Client.ws_order_market", + "signature": "(self, **params)", + "description": "Send in a new market order\n:param symbol: required\n:type symbol: str\n:param side: required\n:type side: str\n:param quantity: required\n:type quantity: decimal\n:param quoteOrderQty: amount the user wants to spend (when buying) or receive (when selling)\n of the quote asset\n:type quoteOrderQty: decimal\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: WS response\nSee order endpoint for full response options", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_order_market(self, **params):\n \"\"\"Send in a new market order\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: amount the user wants to spend (when buying) or receive (when selling)\n of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"type\": self.ORDER_TYPE_MARKET})\n return self.ws_create_order(**params)" + }, + "ws_order_market_buy": { + "name": "ws_order_market_buy", + "path": "binance.client.Client.ws_order_market_buy", + "signature": "(self, **params)", + "description": "Send in a new market buy order\n:param symbol: required\n:type symbol: str\n:param quantity: required\n:type quantity: decimal\n:param quoteOrderQty: the amount the user wants to spend of the quote asset\n:type quoteOrderQty: decimal\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: WS response\nSee order endpoint for full response options", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_order_market_buy(self, **params):\n \"\"\"Send in a new market buy order\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: the amount the user wants to spend of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"side\": self.SIDE_BUY})\n return self.ws_order_market(**params)" + }, + "ws_order_market_sell": { + "name": "ws_order_market_sell", + "path": "binance.client.Client.ws_order_market_sell", + "signature": "(self, **params)", + "description": "Send in a new market sell order\n:param symbol: required\n:type symbol: str\n:param quantity: required\n:type quantity: decimal\n:param quoteOrderQty: the amount the user wants to receive of the quote asset\n:type quoteOrderQty: decimal\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: WS response\nSee order endpoint for full response options", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_order_market_sell(self, **params):\n \"\"\"Send in a new market sell order\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: the amount the user wants to receive of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"side\": self.SIDE_SELL})\n return self.ws_order_market(**params)" + }, + "ws_get_order": { + "name": "ws_get_order", + "path": "binance.client.Client.ws_get_order", + "signature": "(self, **params)", + "description": "Check an order's status. Either orderId or origClientOrderId must be sent.\nhttps://binance-docs.github.io/apidocs/websocket_api/en/#query-order-user_data\n:param symbol: required\n:type symbol: str\n:param orderId: The unique order id\n:type orderId: int\n:param origClientOrderId: optional\n:type origClientOrderId: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_order(self, **params):\n \"\"\"Check an order's status. Either orderId or origClientOrderId must be sent.\n https://binance-docs.github.io/apidocs/websocket_api/en/#query-order-user_data\n :param symbol: required\n :type symbol: str\n :param orderId: The unique order id\n :type orderId: int\n :param origClientOrderId: optional\n :type origClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n \"\"\"\n return self._ws_api_request_sync(\"order.status\", True, params)" + }, + "ws_cancel_order": { + "name": "ws_cancel_order", + "path": "binance.client.Client.ws_cancel_order", + "signature": "(self, **params)", + "description": "Cancel an active order.\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#cancel-order-trade\n\n:param symbol: required - Trading symbol, e.g. 'BTCUSDT'\n:type symbol: str\n:param orderId: optional - The unique order id\n:type orderId: int\n:param origClientOrderId: optional - The original client order id\n:type origClientOrderId: str\n:param newClientOrderId: optional - Used to uniquely identify this cancel. Automatically generated if not sent\n:type newClientOrderId: str\n:param cancelRestrictions: optional - ONLY_NEW - Cancel will succeed if the order status is NEW. ONLY_PARTIALLY_FILLED - Cancel will succeed if order status is PARTIALLY_FILLED.\n:type cancelRestrictions: str\n:param recvWindow: optional - The number of milliseconds the request is valid for\n:type recvWindow: int\n\nEither orderId or origClientOrderId must be sent.\n\nWeight: 1\n\nReturns:\n.. code-block:: python\n {\n \"id\": \"5633b6a2-90a9-4192-83e7-925c90b6a2fd\",\n \"method\": \"order.cancel\",\n \"params\": {\n \"symbol\": \"BTCUSDT\",\n \"origClientOrderId\": \"4d96324ff9d44481926157\",\n \"apiKey\": \"vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A\",\n \"signature\": \"33d5b721f278ae17a52f004a82a6f68a70c68e7dd6776ed0be77a455ab855282\",\n \"timestamp\": 1660801715830\n }\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_cancel_order(self, **params):\n \"\"\"Cancel an active order.\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#cancel-order-trade\n\n :param symbol: required - Trading symbol, e.g. 'BTCUSDT'\n :type symbol: str\n :param orderId: optional - The unique order id\n :type orderId: int\n :param origClientOrderId: optional - The original client order id\n :type origClientOrderId: str\n :param newClientOrderId: optional - Used to uniquely identify this cancel. Automatically generated if not sent\n :type newClientOrderId: str\n :param cancelRestrictions: optional - ONLY_NEW - Cancel will succeed if the order status is NEW. ONLY_PARTIALLY_FILLED - Cancel will succeed if order status is PARTIALLY_FILLED.\n :type cancelRestrictions: str\n :param recvWindow: optional - The number of milliseconds the request is valid for\n :type recvWindow: int\n\n Either orderId or origClientOrderId must be sent.\n\n Weight: 1\n\n Returns:\n .. code-block:: python\n {\n \"id\": \"5633b6a2-90a9-4192-83e7-925c90b6a2fd\",\n \"method\": \"order.cancel\",\n \"params\": {\n \"symbol\": \"BTCUSDT\",\n \"origClientOrderId\": \"4d96324ff9d44481926157\",\n \"apiKey\": \"vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A\",\n \"signature\": \"33d5b721f278ae17a52f004a82a6f68a70c68e7dd6776ed0be77a455ab855282\",\n \"timestamp\": 1660801715830\n }\n }\n \"\"\"\n return self._ws_api_request_sync(\"order.cancel\", True, params)" + }, + "ws_cancel_and_replace_order": { + "name": "ws_cancel_and_replace_order", + "path": "binance.client.Client.ws_cancel_and_replace_order", + "signature": "(self, **params)", + "description": "Cancels an existing order and places a new order on the same symbol.\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#cancel-and-replace-order-trade\n\n:param symbol: required - Trading symbol, e.g. 'BTCUSDT'\n:type symbol: str\n:param cancelReplaceMode: required - The mode of cancel-replace: STOP_ON_FAILURE - If the cancel request fails, new order placement will not be attempted. ALLOW_FAILURE - New order placement will be attempted even if cancel request fails\n:type cancelReplaceMode: str\n:param cancelOrderId: optional - The order ID to cancel\n:type cancelOrderId: int\n:param cancelOrigClientOrderId: optional - The original client order ID to cancel\n:type cancelOrigClientOrderId: str\n:param cancelNewClientOrderId: optional - Used to uniquely identify this cancel. Automatically generated if not sent\n:type cancelNewClientOrderId: str\n:param side: required - BUY or SELL\n:type side: str\n:param type: required - Order type, e.g. LIMIT, MARKET\n:type type: str\n:param timeInForce: optional - GTC, IOC, FOK\n:type timeInForce: str\n:param price: optional - Order price\n:type price: str\n:param quantity: optional - Order quantity\n:type quantity: str\n:param quoteOrderQty: optional - Quote quantity\n:type quoteOrderQty: str\n:param newClientOrderId: optional - Used to uniquely identify this new order\n:type newClientOrderId: str\n:param newOrderRespType: optional - ACK, RESULT, or FULL\n:type newOrderRespType: str\n:param stopPrice: optional - Used with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders\n:type stopPrice: str\n:param trailingDelta: optional - Used with TAKE_PROFIT, TAKE_PROFIT_LIMIT, STOP_LOSS, STOP_LOSS_LIMIT orders\n:type trailingDelta: int\n:param icebergQty: optional - Used with iceberg orders\n:type icebergQty: str\n:param strategyId: optional - Arbitrary numeric value identifying the order within an order strategy\n:type strategyId: int\n:param strategyType: optional - Arbitrary numeric value identifying the order strategy\n:type strategyType: int\n:param selfTradePreventionMode: optional - The allowed enums is dependent on what is configured on the symbol\n:type selfTradePreventionMode: str\n:param cancelRestrictions: optional - ONLY_NEW - Cancel will succeed if order status is NEW. ONLY_PARTIALLY_FILLED - Cancel will succeed if order status is PARTIALLY_FILLED\n:type cancelRestrictions: str\n:param recvWindow: optional - The number of milliseconds the request is valid for\n:type recvWindow: int\n\nEither cancelOrderId or cancelOrigClientOrderId must be provided.\nPrice is required for LIMIT orders.\nEither quantity or quoteOrderQty must be provided.\n\nWeight: 1\n\nReturns:\n.. code-block:: python\n {\n \"id\": \"99de6b92-0eda-4154-9c8d-a51d93c6f92e\",\n \"status\": 200,\n \"result\": {\n \"cancelResult\": \"SUCCESS\",\n \"newOrderResult\": \"SUCCESS\",\n \"cancelResponse\": {\n \"symbol\": \"BTCUSDT\",\n \"origClientOrderId\": \"4d96324ff9d44481926157\",\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"clientOrderId\": \"91fe37ce9e69c90d6358c0\",\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00001000\",\n \"cummulativeQuoteQty\": \"0.23416100\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"selfTradePreventionMode\": \"NONE\"\n },\n \"newOrderResponse\": {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099454,\n \"orderListId\": -1,\n \"clientOrderId\": \"bX5wROblo6YeDwa9iTLeyY\",\n \"transactTime\": 1660801715639\n }\n }\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_cancel_and_replace_order(self, **params):\n \"\"\"Cancels an existing order and places a new order on the same symbol.\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#cancel-and-replace-order-trade\n\n :param symbol: required - Trading symbol, e.g. 'BTCUSDT'\n :type symbol: str\n :param cancelReplaceMode: required - The mode of cancel-replace: STOP_ON_FAILURE - If the cancel request fails, new order placement will not be attempted. ALLOW_FAILURE - New order placement will be attempted even if cancel request fails\n :type cancelReplaceMode: str\n :param cancelOrderId: optional - The order ID to cancel\n :type cancelOrderId: int\n :param cancelOrigClientOrderId: optional - The original client order ID to cancel\n :type cancelOrigClientOrderId: str\n :param cancelNewClientOrderId: optional - Used to uniquely identify this cancel. Automatically generated if not sent\n :type cancelNewClientOrderId: str\n :param side: required - BUY or SELL\n :type side: str\n :param type: required - Order type, e.g. LIMIT, MARKET\n :type type: str\n :param timeInForce: optional - GTC, IOC, FOK\n :type timeInForce: str\n :param price: optional - Order price\n :type price: str\n :param quantity: optional - Order quantity\n :type quantity: str\n :param quoteOrderQty: optional - Quote quantity\n :type quoteOrderQty: str\n :param newClientOrderId: optional - Used to uniquely identify this new order\n :type newClientOrderId: str\n :param newOrderRespType: optional - ACK, RESULT, or FULL\n :type newOrderRespType: str\n :param stopPrice: optional - Used with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders\n :type stopPrice: str\n :param trailingDelta: optional - Used with TAKE_PROFIT, TAKE_PROFIT_LIMIT, STOP_LOSS, STOP_LOSS_LIMIT orders\n :type trailingDelta: int\n :param icebergQty: optional - Used with iceberg orders\n :type icebergQty: str\n :param strategyId: optional - Arbitrary numeric value identifying the order within an order strategy\n :type strategyId: int\n :param strategyType: optional - Arbitrary numeric value identifying the order strategy\n :type strategyType: int\n :param selfTradePreventionMode: optional - The allowed enums is dependent on what is configured on the symbol\n :type selfTradePreventionMode: str\n :param cancelRestrictions: optional - ONLY_NEW - Cancel will succeed if order status is NEW. ONLY_PARTIALLY_FILLED - Cancel will succeed if order status is PARTIALLY_FILLED\n :type cancelRestrictions: str\n :param recvWindow: optional - The number of milliseconds the request is valid for\n :type recvWindow: int\n\n Either cancelOrderId or cancelOrigClientOrderId must be provided.\n Price is required for LIMIT orders.\n Either quantity or quoteOrderQty must be provided.\n\n Weight: 1\n\n Returns:\n .. code-block:: python\n {\n \"id\": \"99de6b92-0eda-4154-9c8d-a51d93c6f92e\",\n \"status\": 200,\n \"result\": {\n \"cancelResult\": \"SUCCESS\",\n \"newOrderResult\": \"SUCCESS\",\n \"cancelResponse\": {\n \"symbol\": \"BTCUSDT\",\n \"origClientOrderId\": \"4d96324ff9d44481926157\",\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"clientOrderId\": \"91fe37ce9e69c90d6358c0\",\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00001000\",\n \"cummulativeQuoteQty\": \"0.23416100\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"selfTradePreventionMode\": \"NONE\"\n },\n \"newOrderResponse\": {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099454,\n \"orderListId\": -1,\n \"clientOrderId\": \"bX5wROblo6YeDwa9iTLeyY\",\n \"transactTime\": 1660801715639\n }\n }\n }\n \"\"\"\n return self._ws_api_request_sync(\"order.cancelReplace\", True, params)" + }, + "ws_get_open_orders": { + "name": "ws_get_open_orders", + "path": "binance.client.Client.ws_get_open_orders", + "signature": "(self, **params)", + "description": "Get all open orders on a symbol or all symbols.\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#current-open-orders-user_data\n\n:param symbol: optional - Symbol to get open orders for\n:type symbol: str\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: API response\n\nResponse format:\n[\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"clientOrderId\": \"4d96324ff9d44481926157\",\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00720000\",\n \"cummulativeQuoteQty\": \"168.59532000\",\n \"status\": \"PARTIALLY_FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.00000000\",\n \"icebergQty\": \"0.00000000\",\n \"time\": 1660801715639,\n \"updateTime\": 1660801717945,\n \"isWorking\": true,\n \"workingTime\": 1660801715639,\n \"origQuoteOrderQty\": \"0.00000000\",\n \"selfTradePreventionMode\": \"NONE\"\n }\n]\n\nWeight: Adjusted based on parameters:\n- With symbol: 6\n- Without symbol: 12", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol or all symbols.\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#current-open-orders-user_data\n\n :param symbol: optional - Symbol to get open orders for\n :type symbol: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n Response format:\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"clientOrderId\": \"4d96324ff9d44481926157\",\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00720000\",\n \"cummulativeQuoteQty\": \"168.59532000\",\n \"status\": \"PARTIALLY_FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.00000000\",\n \"icebergQty\": \"0.00000000\",\n \"time\": 1660801715639,\n \"updateTime\": 1660801717945,\n \"isWorking\": true,\n \"workingTime\": 1660801715639,\n \"origQuoteOrderQty\": \"0.00000000\",\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n\n Weight: Adjusted based on parameters:\n - With symbol: 6\n - Without symbol: 12\n \"\"\"\n return self._ws_api_request_sync(\"openOrders.status\", True, params)" + }, + "ws_cancel_all_open_orders": { + "name": "ws_cancel_all_open_orders", + "path": "binance.client.Client.ws_cancel_all_open_orders", + "signature": "(self, **params)", + "description": "Cancel all open orders on a symbol or all symbols.\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#cancel-open-orders-trade\n\n:param symbol: optional - Symbol to cancel orders for\n:type symbol: str\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: Websocket message\n\nResponse format:\n[\n {\n \"symbol\": \"BTCUSDT\",\n \"origClientOrderId\": \"4d96324ff9d44481926157\",\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"clientOrderId\": \"91fe37ce9e69c90d6358c0\",\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00847000\",\n \"cummulativeQuoteQty\": \"198.33521500\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.00000000\",\n \"trailingDelta\": 0,\n \"trailingTime\": -1,\n \"icebergQty\": \"0.00000000\",\n \"strategyId\": 37463720,\n \"strategyType\": 1000000,\n \"selfTradePreventionMode\": \"NONE\"\n }\n]\n\nWeight: 1", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_cancel_all_open_orders(self, **params):\n \"\"\"Cancel all open orders on a symbol or all symbols.\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#cancel-open-orders-trade\n\n :param symbol: optional - Symbol to cancel orders for\n :type symbol: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: Websocket message\n\n Response format:\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"origClientOrderId\": \"4d96324ff9d44481926157\",\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"clientOrderId\": \"91fe37ce9e69c90d6358c0\",\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00847000\",\n \"cummulativeQuoteQty\": \"198.33521500\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.00000000\",\n \"trailingDelta\": 0,\n \"trailingTime\": -1,\n \"icebergQty\": \"0.00000000\",\n \"strategyId\": 37463720,\n \"strategyType\": 1000000,\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n\n Weight: 1\n \"\"\"\n return self._ws_api_request_sync(\"openOrders.cancelAll\", True, params)" + }, + "ws_create_oco_order": { + "name": "ws_create_oco_order", + "path": "binance.client.Client.ws_create_oco_order", + "signature": "(self, **params)", + "description": "Create a new OCO (One-Cancels-the-Other) order.\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#place-new-order-list---oco-trade\n\n:param symbol: required - Trading symbol\n:type symbol: str\n:param side: required - BUY or SELL\n:type side: str\n:param quantity: required - Order quantity\n:type quantity: decimal\n:param price: required - Order price for limit leg\n:type price: decimal\n:param stopPrice: required - Stop trigger price for stop leg\n:type stopPrice: decimal\n:param stopLimitPrice: optional - Stop limit price for stop leg\n:type stopLimitPrice: decimal\n:param stopLimitTimeInForce: optional - Time in force for stop leg\n:type stopLimitTimeInForce: str\n:param listClientOrderId: optional - Unique ID for the entire orderList\n:type listClientOrderId: str\n:param limitClientOrderId: optional - Unique ID for the limit order\n:type limitClientOrderId: str\n:param stopClientOrderId: optional - Unique ID for the stop order\n:type stopClientOrderId: str\n:param limitStrategyId: optional - Arbitrary numeric value identifying the limit order within an order strategy\n:type limitStrategyId: int\n:param limitStrategyType: optional - Arbitrary numeric value identifying the limit order strategy\n:type limitStrategyType: int\n:param stopStrategyId: optional - Arbitrary numeric value identifying the stop order within an order strategy\n:type stopStrategyId: int\n:param stopStrategyType: optional - Arbitrary numeric value identifying the stop order strategy\n:type stopStrategyType: int\n:param limitIcebergQty: optional - Iceberg quantity for the limit leg\n:type limitIcebergQty: decimal\n:param stopIcebergQty: optional - Iceberg quantity for the stop leg\n:type stopIcebergQty: decimal\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: Websocket message\n\nResponse format:\n.. code-block:: python\n {\n \"id\": \"56374a46-3261-486b-a211-99ed972eb648\",\n \"status\": 200,\n \"result\":\n {\n \"orderListId\": 2,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"cKPMnDCbcLQILtDYM4f4fX\",\n \"transactionTime\": 1711062760648,\n \"symbol\": \"LTCBNB\",\n \"orders\":\n [\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 2,\n \"clientOrderId\": \"0m6I4wfxvTUrOBSMUl0OPU\"\n },\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 3,\n \"clientOrderId\": \"Z2IMlR79XNY5LU0tOxrWyW\"\n }\n ],\n \"orderReports\":\n [\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 2,\n \"orderListId\": 2,\n \"clientOrderId\": \"0m6I4wfxvTUrOBSMUl0OPU\",\n \"transactTime\": 1711062760648,\n \"price\": \"1.50000000\",\n \"origQty\": \"1.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS_LIMIT\",\n \"side\": \"BUY\",\n \"stopPrice\": \"1.50000001\",\n \"workingTime\": -1,\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 3,\n \"orderListId\": 2,\n \"clientOrderId\": \"Z2IMlR79XNY5LU0tOxrWyW\",\n \"transactTime\": 1711062760648,\n \"price\": \"1.49999999\",\n \"origQty\": \"1.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"BUY\",\n \"workingTime\": 1711062760648,\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n },\n \"rateLimits\":\n [\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"intervalNum\": 10,\n \"limit\": 50,\n \"count\": 2\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"intervalNum\": 1,\n \"limit\": 160000,\n \"count\": 2\n },\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\nWeight: 2", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_create_oco_order(self, **params):\n \"\"\"Create a new OCO (One-Cancels-the-Other) order.\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#place-new-order-list---oco-trade\n\n :param symbol: required - Trading symbol\n :type symbol: str\n :param side: required - BUY or SELL\n :type side: str\n :param quantity: required - Order quantity\n :type quantity: decimal\n :param price: required - Order price for limit leg\n :type price: decimal\n :param stopPrice: required - Stop trigger price for stop leg\n :type stopPrice: decimal\n :param stopLimitPrice: optional - Stop limit price for stop leg\n :type stopLimitPrice: decimal\n :param stopLimitTimeInForce: optional - Time in force for stop leg\n :type stopLimitTimeInForce: str\n :param listClientOrderId: optional - Unique ID for the entire orderList\n :type listClientOrderId: str\n :param limitClientOrderId: optional - Unique ID for the limit order\n :type limitClientOrderId: str\n :param stopClientOrderId: optional - Unique ID for the stop order\n :type stopClientOrderId: str\n :param limitStrategyId: optional - Arbitrary numeric value identifying the limit order within an order strategy\n :type limitStrategyId: int\n :param limitStrategyType: optional - Arbitrary numeric value identifying the limit order strategy\n :type limitStrategyType: int\n :param stopStrategyId: optional - Arbitrary numeric value identifying the stop order within an order strategy\n :type stopStrategyId: int\n :param stopStrategyType: optional - Arbitrary numeric value identifying the stop order strategy\n :type stopStrategyType: int\n :param limitIcebergQty: optional - Iceberg quantity for the limit leg\n :type limitIcebergQty: decimal\n :param stopIcebergQty: optional - Iceberg quantity for the stop leg\n :type stopIcebergQty: decimal\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: Websocket message\n\n Response format:\n .. code-block:: python\n {\n \"id\": \"56374a46-3261-486b-a211-99ed972eb648\",\n \"status\": 200,\n \"result\":\n {\n \"orderListId\": 2,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"cKPMnDCbcLQILtDYM4f4fX\",\n \"transactionTime\": 1711062760648,\n \"symbol\": \"LTCBNB\",\n \"orders\":\n [\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 2,\n \"clientOrderId\": \"0m6I4wfxvTUrOBSMUl0OPU\"\n },\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 3,\n \"clientOrderId\": \"Z2IMlR79XNY5LU0tOxrWyW\"\n }\n ],\n \"orderReports\":\n [\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 2,\n \"orderListId\": 2,\n \"clientOrderId\": \"0m6I4wfxvTUrOBSMUl0OPU\",\n \"transactTime\": 1711062760648,\n \"price\": \"1.50000000\",\n \"origQty\": \"1.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS_LIMIT\",\n \"side\": \"BUY\",\n \"stopPrice\": \"1.50000001\",\n \"workingTime\": -1,\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 3,\n \"orderListId\": 2,\n \"clientOrderId\": \"Z2IMlR79XNY5LU0tOxrWyW\",\n \"transactTime\": 1711062760648,\n \"price\": \"1.49999999\",\n \"origQty\": \"1.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"BUY\",\n \"workingTime\": 1711062760648,\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n },\n \"rateLimits\":\n [\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"intervalNum\": 10,\n \"limit\": 50,\n \"count\": 2\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"intervalNum\": 1,\n \"limit\": 160000,\n \"count\": 2\n },\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n Weight: 2\n \"\"\"\n return self._ws_api_request_sync(\"orderList.place.oco\", True, params)" + }, + "ws_create_oto_order": { + "name": "ws_create_oto_order", + "path": "binance.client.Client.ws_create_oto_order", + "signature": "(self, **params)", + "description": "Create a new OTO (One-Triggers-Other) order list.\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#place-new-order-list---oto-trade\n\nAn OTO order list consists of two orders:\n1. Primary order that must be filled first\n2. Secondary order that is placed only after the primary order is filled\n\n:param symbol: required - Trading symbol\n:type symbol: str\n:param orders: required - Array of order objects containing:\n [\n { # Primary order\n \"type\": required - Order type (e.g. LIMIT, MARKET),\n \"side\": required - BUY or SELL,\n \"price\": required for LIMIT orders,\n \"quantity\": required - Order quantity,\n \"timeInForce\": required for LIMIT orders,\n \"icebergQty\": optional,\n \"strategyId\": optional,\n \"strategyType\": optional,\n \"selfTradePreventionMode\": optional\n },\n { # Secondary order - same parameters as primary\n ...\n }\n ]\n:type orders: list\n:param listClientOrderId: optional - Unique ID for the entire order list\n:type listClientOrderId: str\n:param limitClientOrderId: optional - Client order ID for the LIMIT leg\n:type limitClientOrderId: str\n:param limitStrategyId: optional - Strategy ID for the LIMIT leg\n:type limitStrategyId: int\n:param limitStrategyType: optional - Strategy type for the LIMIT leg\n:type limitStrategyType: int\n:param stopClientOrderId: optional - Client order ID for the STOP_LOSS/STOP_LOSS_LIMIT leg\n:type stopClientOrderId: str\n:param stopStrategyId: optional - Strategy ID for the STOP_LOSS/STOP_LOSS_LIMIT leg\n:type stopStrategyId: int\n:param stopStrategyType: optional - Strategy type for the STOP_LOSS/STOP_LOSS_LIMIT leg\n:type stopStrategyType: int\n:param newOrderRespType: optional - Set the response JSON\n:type newOrderRespType: str\n\nResponse example:\n.. code-block:: python\n {\n \"id\": \"c5899911-d3f4-47ae-8835-97da553d27d0\",\n \"status\": 200,\n \"result\": {\n \"orderListId\": 1,\n \"contingencyType\": \"OTO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"C3wyRVh3aqKyI2RpBZYmFz\",\n \"transactionTime\": 1669632210676,\n \"symbol\": \"BTCUSDT\",\n \"orders\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099453,\n \"clientOrderId\": \"bX5wROblo6YeDwa9iTLeyY\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099454,\n \"clientOrderId\": \"Tnu2IP0J5Y4mxw3IxZYeFi\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099453,\n \"orderListId\": 1,\n \"clientOrderId\": \"bX5wROblo6YeDwa9iTLeyY\",\n \"transactTime\": 1669632210676,\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00847000\",\n \"cummulativeQuoteQty\": \"198.33521500\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.00000000\",\n \"workingTime\": 1669632210676,\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099454,\n \"orderListId\": 1,\n \"clientOrderId\": \"Tnu2IP0J5Y4mxw3IxZYeFi\",\n \"transactTime\": 1669632210676,\n \"price\": \"0.00000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.00000000\",\n \"workingTime\": -1,\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"intervalNum\": 10,\n \"limit\": 50,\n \"count\": 1\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"intervalNum\": 1,\n \"limit\": 160000,\n \"count\": 1\n },\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\nWeight: 1", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_create_oto_order(self, **params):\n \"\"\"Create a new OTO (One-Triggers-Other) order list.\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#place-new-order-list---oto-trade\n\n An OTO order list consists of two orders:\n 1. Primary order that must be filled first\n 2. Secondary order that is placed only after the primary order is filled\n\n :param symbol: required - Trading symbol\n :type symbol: str\n :param orders: required - Array of order objects containing:\n [\n { # Primary order\n \"type\": required - Order type (e.g. LIMIT, MARKET),\n \"side\": required - BUY or SELL,\n \"price\": required for LIMIT orders,\n \"quantity\": required - Order quantity,\n \"timeInForce\": required for LIMIT orders,\n \"icebergQty\": optional,\n \"strategyId\": optional,\n \"strategyType\": optional,\n \"selfTradePreventionMode\": optional\n },\n { # Secondary order - same parameters as primary\n ...\n }\n ]\n :type orders: list\n :param listClientOrderId: optional - Unique ID for the entire order list\n :type listClientOrderId: str\n :param limitClientOrderId: optional - Client order ID for the LIMIT leg\n :type limitClientOrderId: str\n :param limitStrategyId: optional - Strategy ID for the LIMIT leg\n :type limitStrategyId: int\n :param limitStrategyType: optional - Strategy type for the LIMIT leg\n :type limitStrategyType: int\n :param stopClientOrderId: optional - Client order ID for the STOP_LOSS/STOP_LOSS_LIMIT leg\n :type stopClientOrderId: str\n :param stopStrategyId: optional - Strategy ID for the STOP_LOSS/STOP_LOSS_LIMIT leg\n :type stopStrategyId: int\n :param stopStrategyType: optional - Strategy type for the STOP_LOSS/STOP_LOSS_LIMIT leg\n :type stopStrategyType: int\n :param newOrderRespType: optional - Set the response JSON\n :type newOrderRespType: str\n\n Response example:\n .. code-block:: python\n {\n \"id\": \"c5899911-d3f4-47ae-8835-97da553d27d0\",\n \"status\": 200,\n \"result\": {\n \"orderListId\": 1,\n \"contingencyType\": \"OTO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"C3wyRVh3aqKyI2RpBZYmFz\",\n \"transactionTime\": 1669632210676,\n \"symbol\": \"BTCUSDT\",\n \"orders\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099453,\n \"clientOrderId\": \"bX5wROblo6YeDwa9iTLeyY\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099454,\n \"clientOrderId\": \"Tnu2IP0J5Y4mxw3IxZYeFi\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099453,\n \"orderListId\": 1,\n \"clientOrderId\": \"bX5wROblo6YeDwa9iTLeyY\",\n \"transactTime\": 1669632210676,\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00847000\",\n \"cummulativeQuoteQty\": \"198.33521500\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.00000000\",\n \"workingTime\": 1669632210676,\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099454,\n \"orderListId\": 1,\n \"clientOrderId\": \"Tnu2IP0J5Y4mxw3IxZYeFi\",\n \"transactTime\": 1669632210676,\n \"price\": \"0.00000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.00000000\",\n \"workingTime\": -1,\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"intervalNum\": 10,\n \"limit\": 50,\n \"count\": 1\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"intervalNum\": 1,\n \"limit\": 160000,\n \"count\": 1\n },\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n Weight: 1\n \"\"\"\n return self._ws_api_request_sync(\"orderList.place.oto\", True, params)" + }, + "ws_create_otoco_order": { + "name": "ws_create_otoco_order", + "path": "binance.client.Client.ws_create_otoco_order", + "signature": "(self, **params)", + "description": "Returns: Websocket message\n.. code-block:: python\n {\n \"id\": \"1712544408508\",\n \"status\": 200,\n \"result\": {\n \"orderListId\": 629,\n \"contingencyType\": \"OTO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"GaeJHjZPasPItFj4x7Mqm6\",\n \"transactionTime\": 1712544408537,\n \"symbol\": \"1712544378871\",\n \"orders\": [\n {\n \"symbol\": \"1712544378871\",\n \"orderId\": 23,\n \"clientOrderId\": \"OVQOpKwfmPCfaBTD0n7e7H\"\n },\n {\n \"symbol\": \"1712544378871\",\n \"orderId\": 24,\n \"clientOrderId\": \"YcCPKCDMQIjNvLtNswt82X\"\n },\n {\n \"symbol\": \"1712544378871\",\n \"orderId\": 25,\n \"clientOrderId\": \"ilpIoShcFZ1ZGgSASKxMPt\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 23,\n \"orderListId\": 629,\n \"clientOrderId\": \"OVQOpKwfmPCfaBTD0n7e7H\",\n \"transactTime\": 1712544408537,\n \"price\": \"1.500000\",\n \"origQty\": \"1.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"workingTime\": 1712544408537,\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 24,\n \"orderListId\": 629,\n \"clientOrderId\": \"YcCPKCDMQIjNvLtNswt82X\",\n \"transactTime\": 1712544408537,\n \"price\": \"0.000000\",\n \"origQty\": \"5.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"PENDING_NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.500000\",\n \"workingTime\": -1,\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 25,\n \"orderListId\": 629,\n \"clientOrderId\": \"ilpIoShcFZ1ZGgSASKxMPt\",\n \"transactTime\": 1712544408537,\n \"price\": \"5.000000\",\n \"origQty\": \"5.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"PENDING_NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"SELL\",\n \"workingTime\": -1,\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 10000000,\n \"count\": 18\n },\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 1000,\n \"count\": 65\n }\n ]\n}\n\nWeight: 1", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_create_otoco_order(self, **params):\n \"\"\"\n\n Returns: Websocket message\n .. code-block:: python\n {\n \"id\": \"1712544408508\",\n \"status\": 200,\n \"result\": {\n \"orderListId\": 629,\n \"contingencyType\": \"OTO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"GaeJHjZPasPItFj4x7Mqm6\",\n \"transactionTime\": 1712544408537,\n \"symbol\": \"1712544378871\",\n \"orders\": [\n {\n \"symbol\": \"1712544378871\",\n \"orderId\": 23,\n \"clientOrderId\": \"OVQOpKwfmPCfaBTD0n7e7H\"\n },\n {\n \"symbol\": \"1712544378871\",\n \"orderId\": 24,\n \"clientOrderId\": \"YcCPKCDMQIjNvLtNswt82X\"\n },\n {\n \"symbol\": \"1712544378871\",\n \"orderId\": 25,\n \"clientOrderId\": \"ilpIoShcFZ1ZGgSASKxMPt\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 23,\n \"orderListId\": 629,\n \"clientOrderId\": \"OVQOpKwfmPCfaBTD0n7e7H\",\n \"transactTime\": 1712544408537,\n \"price\": \"1.500000\",\n \"origQty\": \"1.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"workingTime\": 1712544408537,\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 24,\n \"orderListId\": 629,\n \"clientOrderId\": \"YcCPKCDMQIjNvLtNswt82X\",\n \"transactTime\": 1712544408537,\n \"price\": \"0.000000\",\n \"origQty\": \"5.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"PENDING_NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.500000\",\n \"workingTime\": -1,\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 25,\n \"orderListId\": 629,\n \"clientOrderId\": \"ilpIoShcFZ1ZGgSASKxMPt\",\n \"transactTime\": 1712544408537,\n \"price\": \"5.000000\",\n \"origQty\": \"5.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"PENDING_NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"SELL\",\n \"workingTime\": -1,\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 10000000,\n \"count\": 18\n },\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 1000,\n \"count\": 65\n }\n ]\n }\n\n Weight: 1\n \"\"\"\n return self._ws_api_request_sync(\"orderList.place.otoco\", True, params)" + }, + "ws_get_oco_order": { + "name": "ws_get_oco_order", + "path": "binance.client.Client.ws_get_oco_order", + "signature": "(self, **params)", + "description": "Query information about a specific OCO order list.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#query-order-list-user_data\n\n:param orderListId: int - The identifier for the OCO order list (optional)\n:param origClientOrderId: str - The client-specified OCO order list ID (optional)\n\n:returns: API response containing OCO order list information including:\n.. code-block:: python\n {\n \"id\": \"b53fd5ff-82c7-4a04-bd64-5f9dc42c2100\",\n \"status\": 200,\n \"result\": {\n \"orderListId\": 1274512,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"08985fedd9ea2cf6b28996\",\n \"transactionTime\": 1660801713793,\n \"symbol\": \"BTCUSDT\",\n \"orders\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138901,\n \"clientOrderId\": \"BqtFCj5odMoWtSqGk2X9tU\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138902,\n \"clientOrderId\": \"jLnZpj5enfMXTuhKB1d0us\"\n }\n ]\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 4\n }\n ]\n }\n\nNotes:\n - Either orderListId or origClientOrderId must be provided\n - Weight: 4\n - Data Source: Database", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_oco_order(self, **params):\n \"\"\"Query information about a specific OCO order list.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#query-order-list-user_data\n\n :param orderListId: int - The identifier for the OCO order list (optional)\n :param origClientOrderId: str - The client-specified OCO order list ID (optional)\n\n :returns: API response containing OCO order list information including:\n .. code-block:: python\n {\n \"id\": \"b53fd5ff-82c7-4a04-bd64-5f9dc42c2100\",\n \"status\": 200,\n \"result\": {\n \"orderListId\": 1274512,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"08985fedd9ea2cf6b28996\",\n \"transactionTime\": 1660801713793,\n \"symbol\": \"BTCUSDT\",\n \"orders\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138901,\n \"clientOrderId\": \"BqtFCj5odMoWtSqGk2X9tU\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138902,\n \"clientOrderId\": \"jLnZpj5enfMXTuhKB1d0us\"\n }\n ]\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 4\n }\n ]\n }\n\n Notes:\n - Either orderListId or origClientOrderId must be provided\n - Weight: 4\n - Data Source: Database\n\n \"\"\"\n return self._ws_api_request_sync(\"orderList.status\", True, params)" + }, + "ws_cancel_oco_order": { + "name": "ws_cancel_oco_order", + "path": "binance.client.Client.ws_cancel_oco_order", + "signature": "(self, **params)", + "description": "Cancel an OCO (One-Cancels-the-Other) order list.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#cancel-order-list-trade\n\n:param symbol: required - Trading symbol\n:type symbol: str\n:param orderListId: optional - The ID of the OCO order list to cancel\n:type orderListId: int\n:param listClientOrderId: optional - The client-specified ID of the OCO order list\n:type listClientOrderId: str\n:param newClientOrderId: optional - Client ID to identify the cancel request\n:type newClientOrderId: str\n:param apiKey: required - Your API key\n:type apiKey: str\n:param recvWindow: optional - Number of milliseconds the request is valid for\n:type recvWindow: int\n:param signature: required - HMAC SHA256 signature\n:type signature: str\n:param timestamp: required - Current timestamp in milliseconds\n:type timestamp: int\n\n**Notes**:\n - Either orderListId or listClientOrderId must be provided\n - newClientOrderId will be auto-generated if not provided\n\nResponse example:\n.. code-block:: python\n {\n \"id\": \"c5899911-d3f4-47ae-8835-97da553d27d0\",\n \"status\": 200,\n \"result\": {\n \"orderListId\": 1274512,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"ALL_DONE\",\n \"listOrderStatus\": \"ALL_DONE\",\n \"listClientOrderId\": \"6023531d7edaad348f5aff\",\n \"transactionTime\": 1660801720215,\n \"symbol\": \"BTCUSDT\",\n \"orders\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138901,\n \"clientOrderId\": \"BqtFCj5odMoWtSqGk2X9tU\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138902,\n \"clientOrderId\": \"jLnZpj5enfMXTuhKB1d0us\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138901,\n \"orderListId\": 1274512,\n \"clientOrderId\": \"BqtFCj5odMoWtSqGk2X9tU\",\n \"transactTime\": 1660801720215,\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS_LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"23416.10000000\",\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138902,\n \"orderListId\": 1274512,\n \"clientOrderId\": \"jLnZpj5enfMXTuhKB1d0us\",\n \"transactTime\": 1660801720215,\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"SELL\",\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_cancel_oco_order(self, **params):\n \"\"\"Cancel an OCO (One-Cancels-the-Other) order list.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#cancel-order-list-trade\n\n :param symbol: required - Trading symbol\n :type symbol: str\n :param orderListId: optional - The ID of the OCO order list to cancel\n :type orderListId: int\n :param listClientOrderId: optional - The client-specified ID of the OCO order list\n :type listClientOrderId: str\n :param newClientOrderId: optional - Client ID to identify the cancel request\n :type newClientOrderId: str\n :param apiKey: required - Your API key\n :type apiKey: str\n :param recvWindow: optional - Number of milliseconds the request is valid for\n :type recvWindow: int\n :param signature: required - HMAC SHA256 signature\n :type signature: str\n :param timestamp: required - Current timestamp in milliseconds\n :type timestamp: int\n\n **Notes**:\n - Either orderListId or listClientOrderId must be provided\n - newClientOrderId will be auto-generated if not provided\n\n Response example:\n .. code-block:: python\n {\n \"id\": \"c5899911-d3f4-47ae-8835-97da553d27d0\",\n \"status\": 200,\n \"result\": {\n \"orderListId\": 1274512,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"ALL_DONE\",\n \"listOrderStatus\": \"ALL_DONE\",\n \"listClientOrderId\": \"6023531d7edaad348f5aff\",\n \"transactionTime\": 1660801720215,\n \"symbol\": \"BTCUSDT\",\n \"orders\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138901,\n \"clientOrderId\": \"BqtFCj5odMoWtSqGk2X9tU\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138902,\n \"clientOrderId\": \"jLnZpj5enfMXTuhKB1d0us\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138901,\n \"orderListId\": 1274512,\n \"clientOrderId\": \"BqtFCj5odMoWtSqGk2X9tU\",\n \"transactTime\": 1660801720215,\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS_LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"23416.10000000\",\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138902,\n \"orderListId\": 1274512,\n \"clientOrderId\": \"jLnZpj5enfMXTuhKB1d0us\",\n \"transactTime\": 1660801720215,\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"SELL\",\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n \"\"\"\n return self._ws_api_request_sync(\"orderList.cancel\", True, params)" + }, + "ws_get_oco_open_orders": { + "name": "ws_get_oco_open_orders", + "path": "binance.client.Client.ws_get_oco_open_orders", + "signature": "(self, **params)", + "description": "Query current open OCO (One-Cancels-the-Other) order lists.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#current-open-order-lists-user_data\n\n:param recvWindow: optional - Number of milliseconds after timestamp the request is valid for. Default 5000, max 60000\n:type recvWindow: int\n:param apiKey: required - Your API key\n:type apiKey: str\n:param signature: required - HMAC SHA256 signature\n:type signature: str\n:param timestamp: required - Current timestamp in milliseconds\n:type timestamp: int\n\n:returns: API response in JSON format with open OCO orders\n\n {\n \"id\": \"c5899911-d3f5-47b3-9b67-4c1342f2a7e1\",\n \"status\": 200,\n \"result\": [\n {\n \"orderListId\": 1274512,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"08985fedd9ea2cf6b28996\",\n \"transactionTime\": 1660801713793,\n \"symbol\": \"BTCUSDT\",\n \"orders\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138901,\n \"clientOrderId\": \"BqtFCj5odMoWtSqGk2X9tU\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138902,\n \"clientOrderId\": \"jLnZpj5enfMXTuhKB1d0us\"\n }\n ]\n }\n ],\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 10\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException\n\nWeight: 10\nData Source: Memory", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_oco_open_orders(self, **params):\n \"\"\"Query current open OCO (One-Cancels-the-Other) order lists.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#current-open-order-lists-user_data\n\n :param recvWindow: optional - Number of milliseconds after timestamp the request is valid for. Default 5000, max 60000\n :type recvWindow: int\n :param apiKey: required - Your API key\n :type apiKey: str\n :param signature: required - HMAC SHA256 signature\n :type signature: str\n :param timestamp: required - Current timestamp in milliseconds\n :type timestamp: int\n\n :returns: API response in JSON format with open OCO orders\n\n {\n \"id\": \"c5899911-d3f5-47b3-9b67-4c1342f2a7e1\",\n \"status\": 200,\n \"result\": [\n {\n \"orderListId\": 1274512,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"08985fedd9ea2cf6b28996\",\n \"transactionTime\": 1660801713793,\n \"symbol\": \"BTCUSDT\",\n \"orders\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138901,\n \"clientOrderId\": \"BqtFCj5odMoWtSqGk2X9tU\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138902,\n \"clientOrderId\": \"jLnZpj5enfMXTuhKB1d0us\"\n }\n ]\n }\n ],\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 10\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Weight: 10\n Data Source: Memory\n \"\"\"\n return self._ws_api_request_sync(\"openOrderLists.status\", True, params)" + }, + "ws_create_sor_order": { + "name": "ws_create_sor_order", + "path": "binance.client.Client.ws_create_sor_order", + "signature": "(self, **params)", + "description": "Place a new order using Smart Order Routing (SOR).\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#place-new-order-using-sor-trade\n\n:param symbol: required - Trading symbol, e.g. BTCUSDT\n:type symbol: str\n:param side: required - Order side: BUY or SELL\n:type side: str\n:param type: required - Order type: LIMIT or MARKET\n:type type: str\n:param quantity: required - Order quantity\n:type quantity: float\n:param timeInForce: required for LIMIT orders - Time in force: GTC, IOC, FOK\n:type timeInForce: str\n:param price: required for LIMIT orders - Order price\n:type price: float\n:param newClientOrderId: optional - Unique order ID. Automatically generated if not sent\n:type newClientOrderId: str\n:param newOrderRespType: optional - Response format: ACK, RESULT, FULL. MARKET and LIMIT orders use FULL by default\n:type newOrderRespType: str\n:param strategyId: optional - Arbitrary numeric value identifying the order within an order strategy\n:type strategyId: int\n:param strategyType: optional - Arbitrary numeric value identifying the order strategy. Values < 1000000 are reserved\n:type strategyType: int\n:param selfTradePreventionMode: optional - Supported values depend on exchange configuration: EXPIRE_TAKER, EXPIRE_MAKER, EXPIRE_BOTH, NONE\n:type selfTradePreventionMode: str\n:param recvWindow: optional - Number of milliseconds after timestamp the request is valid for. Default 5000, max 60000\n:type recvWindow: int\n\n:returns: Websocket message\n\n.. code-block:: python\n {\n \"id\": \"3a4437e2-41a3-4c19-897c-9cadc5dce8b6\",\n \"status\": 200,\n \"result\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 2,\n \"orderListId\": -1,\n \"clientOrderId\": \"sBI1KM6nNtOfj5tccZSKly\",\n \"transactTime\": 1689149087774,\n \"price\": \"31000.00000000\",\n \"origQty\": \"0.50000000\",\n \"executedQty\": \"0.50000000\",\n \"cummulativeQuoteQty\": \"14000.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"workingTime\": 1689149087774,\n \"fills\": [\n {\n \"matchType\": \"ONE_PARTY_TRADE_REPORT\",\n \"price\": \"28000.00000000\",\n \"qty\": \"0.50000000\",\n \"commission\": \"0.00000000\",\n \"commissionAsset\": \"BTC\",\n \"tradeId\": -1,\n \"allocId\": 0\n }\n ],\n \"workingFloor\": \"SOR\",\n \"selfTradePreventionMode\": \"NONE\",\n \"usedSor\": true\n }\n ],\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\nNotes:\n - SOR only supports LIMIT and MARKET orders\n - quoteOrderQty is not supported\n - Weight: 1\n - Data Source: Matching Engine", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_create_sor_order(self, **params):\n \"\"\"Place a new order using Smart Order Routing (SOR).\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#place-new-order-using-sor-trade\n\n :param symbol: required - Trading symbol, e.g. BTCUSDT\n :type symbol: str\n :param side: required - Order side: BUY or SELL\n :type side: str\n :param type: required - Order type: LIMIT or MARKET\n :type type: str\n :param quantity: required - Order quantity\n :type quantity: float\n :param timeInForce: required for LIMIT orders - Time in force: GTC, IOC, FOK\n :type timeInForce: str\n :param price: required for LIMIT orders - Order price\n :type price: float\n :param newClientOrderId: optional - Unique order ID. Automatically generated if not sent\n :type newClientOrderId: str\n :param newOrderRespType: optional - Response format: ACK, RESULT, FULL. MARKET and LIMIT orders use FULL by default\n :type newOrderRespType: str\n :param strategyId: optional - Arbitrary numeric value identifying the order within an order strategy\n :type strategyId: int\n :param strategyType: optional - Arbitrary numeric value identifying the order strategy. Values < 1000000 are reserved\n :type strategyType: int\n :param selfTradePreventionMode: optional - Supported values depend on exchange configuration: EXPIRE_TAKER, EXPIRE_MAKER, EXPIRE_BOTH, NONE\n :type selfTradePreventionMode: str\n :param recvWindow: optional - Number of milliseconds after timestamp the request is valid for. Default 5000, max 60000\n :type recvWindow: int\n\n :returns: Websocket message\n\n .. code-block:: python\n {\n \"id\": \"3a4437e2-41a3-4c19-897c-9cadc5dce8b6\",\n \"status\": 200,\n \"result\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 2,\n \"orderListId\": -1,\n \"clientOrderId\": \"sBI1KM6nNtOfj5tccZSKly\",\n \"transactTime\": 1689149087774,\n \"price\": \"31000.00000000\",\n \"origQty\": \"0.50000000\",\n \"executedQty\": \"0.50000000\",\n \"cummulativeQuoteQty\": \"14000.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"workingTime\": 1689149087774,\n \"fills\": [\n {\n \"matchType\": \"ONE_PARTY_TRADE_REPORT\",\n \"price\": \"28000.00000000\",\n \"qty\": \"0.50000000\",\n \"commission\": \"0.00000000\",\n \"commissionAsset\": \"BTC\",\n \"tradeId\": -1,\n \"allocId\": 0\n }\n ],\n \"workingFloor\": \"SOR\",\n \"selfTradePreventionMode\": \"NONE\",\n \"usedSor\": true\n }\n ],\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n Notes:\n - SOR only supports LIMIT and MARKET orders\n - quoteOrderQty is not supported\n - Weight: 1\n - Data Source: Matching Engine\n \"\"\"\n return self._ws_api_request_sync(\"sor.order.place\", True, params)" + }, + "ws_create_test_sor_order": { + "name": "ws_create_test_sor_order", + "path": "binance.client.Client.ws_create_test_sor_order", + "signature": "(self, **params)", + "description": "Test new order creation using Smart Order Routing (SOR).\nCreates and validates a new order but does not send it into the matching engine.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#test-new-order-using-sor-trade\n\n:param symbol: required - Trading symbol, e.g. BTCUSDT\n:type symbol: str\n:param side: required - Order side: BUY or SELL\n:type side: str\n:param type: required - Order type: LIMIT or MARKET\n:type type: str\n:param quantity: required - Order quantity\n:type quantity: float\n:param timeInForce: required for LIMIT orders - Time in force: GTC, IOC, FOK\n:type timeInForce: str\n:param price: required for LIMIT orders - Order price\n:type price: float\n:param newClientOrderId: optional - Unique order ID. Generated automatically if not sent\n:type newClientOrderId: str\n:param strategyId: optional - Arbitrary numeric value identifying the order within an order strategy\n:type strategyId: int\n:param strategyType: optional - Arbitrary numeric value identifying the order strategy. Values < 1000000 are reserved\n:type strategyType: int\n:param selfTradePreventionMode: optional - EXPIRE_TAKER, EXPIRE_MAKER, EXPIRE_BOTH, NONE\n:type selfTradePreventionMode: str\n:param computeCommissionRates: optional - Calculate commission rates. Default: False\n:type computeCommissionRates: bool\n\n:returns: Websocket message\n\nWithout computeCommissionRates:\n\n.. code-block:: python\n\n {\n \"id\": \"3a4437e2-41a3-4c19-897c-9cadc5dce8b6\",\n \"status\": 200,\n \"result\": {},\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\nWith computeCommissionRates:\n\n.. code-block:: python\n\n {\n \"id\": \"3a4437e2-41a3-4c19-897c-9cadc5dce8b6\",\n \"status\": 200,\n \"result\": {\n \"standardCommissionForOrder\": {\n \"maker\": \"0.00000112\",\n \"taker\": \"0.00000114\"\n },\n \"taxCommissionForOrder\": {\n \"maker\": \"0.00000112\",\n \"taker\": \"0.00000114\"\n },\n \"discount\": {\n \"enabledForAccount\": true,\n \"enabledForSymbol\": true,\n \"discountAsset\": \"BNB\",\n \"discount\": \"0.25\"\n }\n },\n \"rateLimits\": [...]\n }\n\nNotes:\n - SOR only supports LIMIT and MARKET orders\n - quoteOrderQty is not supported\n - Weight: 1 (without computeCommissionRates), 20 (with computeCommissionRates)\n - Data Source: Memory", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_create_test_sor_order(self, **params):\n \"\"\"Test new order creation using Smart Order Routing (SOR).\n Creates and validates a new order but does not send it into the matching engine.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#test-new-order-using-sor-trade\n\n :param symbol: required - Trading symbol, e.g. BTCUSDT\n :type symbol: str\n :param side: required - Order side: BUY or SELL\n :type side: str\n :param type: required - Order type: LIMIT or MARKET\n :type type: str\n :param quantity: required - Order quantity\n :type quantity: float\n :param timeInForce: required for LIMIT orders - Time in force: GTC, IOC, FOK\n :type timeInForce: str\n :param price: required for LIMIT orders - Order price\n :type price: float\n :param newClientOrderId: optional - Unique order ID. Generated automatically if not sent\n :type newClientOrderId: str\n :param strategyId: optional - Arbitrary numeric value identifying the order within an order strategy\n :type strategyId: int\n :param strategyType: optional - Arbitrary numeric value identifying the order strategy. Values < 1000000 are reserved\n :type strategyType: int\n :param selfTradePreventionMode: optional - EXPIRE_TAKER, EXPIRE_MAKER, EXPIRE_BOTH, NONE\n :type selfTradePreventionMode: str\n :param computeCommissionRates: optional - Calculate commission rates. Default: False\n :type computeCommissionRates: bool\n\n :returns: Websocket message\n\n Without computeCommissionRates:\n\n .. code-block:: python\n\n {\n \"id\": \"3a4437e2-41a3-4c19-897c-9cadc5dce8b6\",\n \"status\": 200,\n \"result\": {},\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n With computeCommissionRates:\n\n .. code-block:: python\n\n {\n \"id\": \"3a4437e2-41a3-4c19-897c-9cadc5dce8b6\",\n \"status\": 200,\n \"result\": {\n \"standardCommissionForOrder\": {\n \"maker\": \"0.00000112\",\n \"taker\": \"0.00000114\"\n },\n \"taxCommissionForOrder\": {\n \"maker\": \"0.00000112\",\n \"taker\": \"0.00000114\"\n },\n \"discount\": {\n \"enabledForAccount\": true,\n \"enabledForSymbol\": true,\n \"discountAsset\": \"BNB\",\n \"discount\": \"0.25\"\n }\n },\n \"rateLimits\": [...]\n }\n\n Notes:\n - SOR only supports LIMIT and MARKET orders\n - quoteOrderQty is not supported\n - Weight: 1 (without computeCommissionRates), 20 (with computeCommissionRates)\n - Data Source: Memory\n \"\"\"\n return self._ws_api_request_sync(\"sor.order.test\", True, params)" + }, + "ws_get_account": { + "name": "ws_get_account", + "path": "binance.client.Client.ws_get_account", + "signature": "(self, **params)", + "description": "Get current account information.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-information-user_data\n\n:param omitZeroBalances: optional - When set to true, emits only the non-zero balances of an account. Default: false\n:type omitZeroBalances: bool\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: Websocket message\n\n.. code-block:: python\n\n {\n \"makerCommission\": 15,\n \"takerCommission\": 15,\n \"buyerCommission\": 0,\n \"sellerCommission\": 0,\n \"canTrade\": true,\n \"canWithdraw\": true,\n \"canDeposit\": true,\n \"commissionRates\": {\n \"maker\": \"0.00150000\",\n \"taker\": \"0.00150000\",\n \"buyer\": \"0.00000000\",\n \"seller\": \"0.00000000\"\n },\n \"brokered\": false,\n \"requireSelfTradePrevention\": false,\n \"preventSor\": false,\n \"updateTime\": 1660801833000,\n \"accountType\": \"SPOT\",\n \"balances\": [\n {\n \"asset\": \"BNB\",\n \"free\": \"0.00000000\",\n \"locked\": \"0.00000000\"\n },\n {\n \"asset\": \"BTC\",\n \"free\": \"1.34471120\",\n \"locked\": \"0.08600000\"\n }\n ],\n \"permissions\": [\n \"SPOT\"\n ],\n \"uid\": 354937868\n }\n\nNotes:\n - Weight: 20\n - Data Source: Memory => Database", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_account(self, **params):\n \"\"\"Get current account information.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-information-user_data\n\n :param omitZeroBalances: optional - When set to true, emits only the non-zero balances of an account. Default: false\n :type omitZeroBalances: bool\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: Websocket message\n\n .. code-block:: python\n\n {\n \"makerCommission\": 15,\n \"takerCommission\": 15,\n \"buyerCommission\": 0,\n \"sellerCommission\": 0,\n \"canTrade\": true,\n \"canWithdraw\": true,\n \"canDeposit\": true,\n \"commissionRates\": {\n \"maker\": \"0.00150000\",\n \"taker\": \"0.00150000\",\n \"buyer\": \"0.00000000\",\n \"seller\": \"0.00000000\"\n },\n \"brokered\": false,\n \"requireSelfTradePrevention\": false,\n \"preventSor\": false,\n \"updateTime\": 1660801833000,\n \"accountType\": \"SPOT\",\n \"balances\": [\n {\n \"asset\": \"BNB\",\n \"free\": \"0.00000000\",\n \"locked\": \"0.00000000\"\n },\n {\n \"asset\": \"BTC\",\n \"free\": \"1.34471120\",\n \"locked\": \"0.08600000\"\n }\n ],\n \"permissions\": [\n \"SPOT\"\n ],\n \"uid\": 354937868\n }\n\n Notes:\n - Weight: 20\n - Data Source: Memory => Database\n \"\"\"\n return self._ws_api_request_sync(\"account.status\", True, params)" + }, + "ws_get_account_rate_limits_orders": { + "name": "ws_get_account_rate_limits_orders", + "path": "binance.client.Client.ws_get_account_rate_limits_orders", + "signature": "(self, **params)", + "description": "Query your current unfilled order count for all intervals.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-unfilled-order-count-user_data\n\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: Websocket response\n\n.. code-block:: python\n\n {\n \"result\": [\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"intervalNum\": 10,\n \"limit\": 50,\n \"count\": 0\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"intervalNum\": 1,\n \"limit\": 160000,\n \"count\": 0\n }\n ],\n \"id\": \"d3783d8d-f8d1-4d2c-b8a0-b7596af5a664\"\n }\n\n:raises: BinanceRequestException, BinanceAPIException\n\nNotes:\n - Weight: 40\n - Data Source: Memory", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_account_rate_limits_orders(self, **params):\n \"\"\"Query your current unfilled order count for all intervals.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-unfilled-order-count-user_data\n\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: Websocket response\n\n .. code-block:: python\n\n {\n \"result\": [\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"intervalNum\": 10,\n \"limit\": 50,\n \"count\": 0\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"intervalNum\": 1,\n \"limit\": 160000,\n \"count\": 0\n }\n ],\n \"id\": \"d3783d8d-f8d1-4d2c-b8a0-b7596af5a664\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Notes:\n - Weight: 40\n - Data Source: Memory\n \"\"\"\n return self._ws_api_request_sync(\"account.rateLimits.orders\", True, params)" + }, + "ws_get_all_orders": { + "name": "ws_get_all_orders", + "path": "binance.client.Client.ws_get_all_orders", + "signature": "(self, **params)", + "description": "Query information about all your orders \u2013 active, canceled, filled \u2013 filtered by time range.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-order-history-user_data\n\n:param symbol: STRING - Required\n:type symbol: str\n:param orderId: optional - Order ID to begin at\n:type orderId: int\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param limit: optional - Default 500; max 1000\n:type limit: int\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: Websocket response\n\n.. code-block:: python\n\n {\n \"id\": \"734235c2-13d2-4574-be68-723e818c08f3\",\n \"status\": 200,\n \"result\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"clientOrderId\": \"4d96324ff9d44481926157\",\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00847000\",\n \"cummulativeQuoteQty\": \"198.33521500\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.00000000\",\n \"icebergQty\": \"0.00000000\",\n \"time\": 1660801715639,\n \"updateTime\": 1660801717945,\n \"isWorking\": true,\n \"workingTime\": 1660801715639,\n \"origQuoteOrderQty\": \"0.00000000\",\n \"selfTradePreventionMode\": \"NONE\",\n \"preventedMatchId\": 0, // Only appears if order expired due to STP\n \"preventedQuantity\": \"1.200000\" // Only appears if order expired due to STP\n }\n ]\n }\n\nNotes:\n - Weight: 20\n - Data Source: Database\n - If startTime and/or endTime are specified, orderId is ignored\n - Orders are filtered by time of the last execution status update\n - If orderId is specified, return orders with order ID >= orderId\n - If no condition is specified, the most recent orders are returned\n - For some historical orders the cummulativeQuoteQty response field may be negative\n - The time between startTime and endTime can't be longer than 24 hours", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_all_orders(self, **params):\n \"\"\"Query information about all your orders \u2013 active, canceled, filled \u2013 filtered by time range.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-order-history-user_data\n\n :param symbol: STRING - Required\n :type symbol: str\n :param orderId: optional - Order ID to begin at\n :type orderId: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional - Default 500; max 1000\n :type limit: int\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: Websocket response\n\n .. code-block:: python\n\n {\n \"id\": \"734235c2-13d2-4574-be68-723e818c08f3\",\n \"status\": 200,\n \"result\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"clientOrderId\": \"4d96324ff9d44481926157\",\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00847000\",\n \"cummulativeQuoteQty\": \"198.33521500\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.00000000\",\n \"icebergQty\": \"0.00000000\",\n \"time\": 1660801715639,\n \"updateTime\": 1660801717945,\n \"isWorking\": true,\n \"workingTime\": 1660801715639,\n \"origQuoteOrderQty\": \"0.00000000\",\n \"selfTradePreventionMode\": \"NONE\",\n \"preventedMatchId\": 0, // Only appears if order expired due to STP\n \"preventedQuantity\": \"1.200000\" // Only appears if order expired due to STP\n }\n ]\n }\n\n Notes:\n - Weight: 20\n - Data Source: Database\n - If startTime and/or endTime are specified, orderId is ignored\n - Orders are filtered by time of the last execution status update\n - If orderId is specified, return orders with order ID >= orderId\n - If no condition is specified, the most recent orders are returned\n - For some historical orders the cummulativeQuoteQty response field may be negative\n - The time between startTime and endTime can't be longer than 24 hours\n \"\"\"\n return self._ws_api_request_sync(\"allOrders\", True, params)" + }, + "ws_get_my_trades": { + "name": "ws_get_my_trades", + "path": "binance.client.Client.ws_get_my_trades", + "signature": "(self, **params)", + "description": "Query information about your trades, filtered by time range.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-trade-history-user_data\n\n:param symbol: STRING - Required\n:type symbol: str\n:param orderId: optional - Get trades for a specific order\n:type orderId: int\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param fromId: optional - Trade ID to fetch from\n:type fromId: int\n:param limit: optional - Default 500; max 1000\n:type limit: int\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: Websocket response\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"id\": 1650422481,\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"price\": \"23416.10000000\",\n \"qty\": \"0.00635000\",\n \"quoteQty\": \"148.69223500\",\n \"commission\": \"0.00000000\",\n \"commissionAsset\": \"BNB\",\n \"time\": 1660801715793,\n \"isBuyer\": false,\n \"isMaker\": true,\n \"isBestMatch\": true\n }\n ]\n\nNotes:\n - Weight: 20\n - Data Source: Memory => Database\n - If fromId is specified, return trades with trade ID >= fromId\n - If startTime and/or endTime are specified, trades are filtered by execution time (time)\n - fromId cannot be used together with startTime and endTime\n - If orderId is specified, only trades related to that order are returned\n - startTime and endTime cannot be used together with orderId\n - If no condition is specified, the most recent trades are returned\n - The time between startTime and endTime can't be longer than 24 hours", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_my_trades(self, **params):\n \"\"\"Query information about your trades, filtered by time range.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-trade-history-user_data\n\n :param symbol: STRING - Required\n :type symbol: str\n :param orderId: optional - Get trades for a specific order\n :type orderId: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param fromId: optional - Trade ID to fetch from\n :type fromId: int\n :param limit: optional - Default 500; max 1000\n :type limit: int\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: Websocket response\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"id\": 1650422481,\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"price\": \"23416.10000000\",\n \"qty\": \"0.00635000\",\n \"quoteQty\": \"148.69223500\",\n \"commission\": \"0.00000000\",\n \"commissionAsset\": \"BNB\",\n \"time\": 1660801715793,\n \"isBuyer\": false,\n \"isMaker\": true,\n \"isBestMatch\": true\n }\n ]\n\n Notes:\n - Weight: 20\n - Data Source: Memory => Database\n - If fromId is specified, return trades with trade ID >= fromId\n - If startTime and/or endTime are specified, trades are filtered by execution time (time)\n - fromId cannot be used together with startTime and endTime\n - If orderId is specified, only trades related to that order are returned\n - startTime and endTime cannot be used together with orderId\n - If no condition is specified, the most recent trades are returned\n - The time between startTime and endTime can't be longer than 24 hours\n \"\"\"\n return self._ws_api_request_sync(\"myTrades\", True, params)" + }, + "ws_get_prevented_matches": { + "name": "ws_get_prevented_matches", + "path": "binance.client.Client.ws_get_prevented_matches", + "signature": "(self, **params)", + "description": "Displays the list of orders that were expired due to STP (Self-Trade Prevention).\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-prevented-matches-user_data\n\n:param symbol: STRING - Required\n:type symbol: str\n:param preventedMatchId: optional - Get specific prevented match by ID\n:type preventedMatchId: int\n:param orderId: optional - Get prevented matches for specific order\n:type orderId: int\n:param fromPreventedMatchId: optional - Get prevented matches from this ID\n:type fromPreventedMatchId: int\n:param limit: optional - Default 500; max 1000\n:type limit: int\n:param recvWindow: optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: Websocket response\n\n.. code-block:: python\n {\n \"symbol\": \"BTCUSDT\", # Trading pair\n \"preventedMatchId\": 1, # Unique ID for prevented match\n \"takerOrderId\": 5, # Order ID of the taker order\n \"makerSymbol\": \"BTCUSDT\", # Symbol of maker order\n \"makerOrderId\": 3, # Order ID of maker order\n \"tradeGroupId\": 1, # Trade group ID\n \"selfTradePreventionMode\": \"EXPIRE_MAKER\", # STP mode used\n \"price\": \"1.100000\", # Price level where match was prevented\n \"makerPreventedQuantity\": \"1.300000\", # Quantity that was prevented\n \"transactTime\": 1669101687094 # Time of prevention\n }\n\nSupported parameter combinations:\n - symbol + preventedMatchId\n - symbol + orderId\n - symbol + orderId + fromPreventedMatchId (limit defaults to 500)\n - symbol + orderId + fromPreventedMatchId + limit\n\nWeight:\n - 2 if symbol is invalid\n - 2 when querying by preventedMatchId\n - 20 when querying by orderId\n\nData Source: Database", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_prevented_matches(self, **params):\n \"\"\"Displays the list of orders that were expired due to STP (Self-Trade Prevention).\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-prevented-matches-user_data\n\n :param symbol: STRING - Required\n :type symbol: str\n :param preventedMatchId: optional - Get specific prevented match by ID\n :type preventedMatchId: int\n :param orderId: optional - Get prevented matches for specific order\n :type orderId: int\n :param fromPreventedMatchId: optional - Get prevented matches from this ID\n :type fromPreventedMatchId: int\n :param limit: optional - Default 500; max 1000\n :type limit: int\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: Websocket response\n\n .. code-block:: python\n {\n \"symbol\": \"BTCUSDT\", # Trading pair\n \"preventedMatchId\": 1, # Unique ID for prevented match\n \"takerOrderId\": 5, # Order ID of the taker order\n \"makerSymbol\": \"BTCUSDT\", # Symbol of maker order\n \"makerOrderId\": 3, # Order ID of maker order\n \"tradeGroupId\": 1, # Trade group ID\n \"selfTradePreventionMode\": \"EXPIRE_MAKER\", # STP mode used\n \"price\": \"1.100000\", # Price level where match was prevented\n \"makerPreventedQuantity\": \"1.300000\", # Quantity that was prevented\n \"transactTime\": 1669101687094 # Time of prevention\n }\n\n Supported parameter combinations:\n - symbol + preventedMatchId\n - symbol + orderId\n - symbol + orderId + fromPreventedMatchId (limit defaults to 500)\n - symbol + orderId + fromPreventedMatchId + limit\n\n Weight:\n - 2 if symbol is invalid\n - 2 when querying by preventedMatchId\n - 20 when querying by orderId\n\n Data Source: Database\n \"\"\"\n return self._ws_api_request_sync(\"myPreventedMatches\", True, params)" + }, + "ws_get_allocations": { + "name": "ws_get_allocations", + "path": "binance.client.Client.ws_get_allocations", + "signature": "(self, **params)", + "description": "Get information about orders that were expired due to STP (Self-Trade Prevention).\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-prevented-matches-user_data\n\n:param symbol: STRING - Required - Trading symbol\n:type symbol: str\n:param preventedMatchId: LONG - Optional - Get specific prevented match by ID\n:type preventedMatchId: int\n:param orderId: LONG - Optional - Get prevented matches for specific order\n:type orderId: int\n:param fromPreventedMatchId: LONG - Optional - Get prevented matches from this ID\n:type fromPreventedMatchId: int\n:param limit: INT - Optional - Default 500; max 1000\n:type limit: int\n:param recvWindow: LONG - Optional - The value cannot be greater than 60000\n:type recvWindow: int\n:param timestamp: LONG - Required\n:type timestamp: int\n\n:returns: API response\n\n.. code-block:: python\n {\n \"symbol\": \"BTCUSDT\",\n \"preventedMatchId\": 1,\n \"takerOrderId\": 5,\n \"makerSymbol\": \"BTCUSDT\",\n \"makerOrderId\": 3,\n \"tradeGroupId\": 1,\n \"selfTradePreventionMode\": \"EXPIRE_MAKER\",\n \"price\": \"1.100000\",\n \"makerPreventedQuantity\": \"1.300000\",\n \"transactTime\": 1669101687094\n }\n\nSupported parameter combinations:\n - symbol + preventedMatchId\n - symbol + orderId\n - symbol + orderId + fromPreventedMatchId (limit defaults to 500)\n - symbol + orderId + fromPreventedMatchId + limit\n\nWeight:\n - 2 if symbol is invalid\n - 2 when querying by preventedMatchId\n - 20 when querying by orderId\n\nData Source: Database", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_allocations(self, **params):\n \"\"\"Get information about orders that were expired due to STP (Self-Trade Prevention).\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-prevented-matches-user_data\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param preventedMatchId: LONG - Optional - Get specific prevented match by ID\n :type preventedMatchId: int\n :param orderId: LONG - Optional - Get prevented matches for specific order\n :type orderId: int\n :param fromPreventedMatchId: LONG - Optional - Get prevented matches from this ID\n :type fromPreventedMatchId: int\n :param limit: INT - Optional - Default 500; max 1000\n :type limit: int\n :param recvWindow: LONG - Optional - The value cannot be greater than 60000\n :type recvWindow: int\n :param timestamp: LONG - Required\n :type timestamp: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"symbol\": \"BTCUSDT\",\n \"preventedMatchId\": 1,\n \"takerOrderId\": 5,\n \"makerSymbol\": \"BTCUSDT\",\n \"makerOrderId\": 3,\n \"tradeGroupId\": 1,\n \"selfTradePreventionMode\": \"EXPIRE_MAKER\",\n \"price\": \"1.100000\",\n \"makerPreventedQuantity\": \"1.300000\",\n \"transactTime\": 1669101687094\n }\n\n Supported parameter combinations:\n - symbol + preventedMatchId\n - symbol + orderId\n - symbol + orderId + fromPreventedMatchId (limit defaults to 500)\n - symbol + orderId + fromPreventedMatchId + limit\n\n Weight:\n - 2 if symbol is invalid\n - 2 when querying by preventedMatchId\n - 20 when querying by orderId\n\n Data Source: Database\n \"\"\"\n return self._ws_api_request_sync(\"myAllocations\", True, params)" + }, + "ws_get_commission_rates": { + "name": "ws_get_commission_rates", + "path": "binance.client.Client.ws_get_commission_rates", + "signature": "(self, **params)", + "description": "Get current account commission rates for a symbol.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-commission-rates-user_data\n\n:param symbol: STRING - Required - Trading symbol\n:type symbol: str\n:param recvWindow: LONG - Optional - The value cannot be greater than 60000\n:type recvWindow: int\n\n:returns: API response dict with commission rates:\n\n {\n \"symbol\": \"BTCUSDT\",\n \"standardCommission\": { # Standard commission rates on trades\n \"maker\": \"0.00000010\",\n \"taker\": \"0.00000020\",\n \"buyer\": \"0.00000030\",\n \"seller\": \"0.00000040\"\n },\n \"taxCommission\": { # Tax commission rates on trades\n \"maker\": \"0.00000112\",\n \"taker\": \"0.00000114\",\n \"buyer\": \"0.00000118\",\n \"seller\": \"0.00000116\"\n },\n \"discount\": { # Discount on standard commissions when paying in BNB\n \"enabledForAccount\": true,\n \"enabledForSymbol\": true,\n \"discountAsset\": \"BNB\",\n \"discount\": \"0.75000000\" # Standard commission reduction rate when paying in BNB\n }\n }\n\n:raises: BinanceRequestException, BinanceAPIException\n\nWeight: 20\n\nData Source: Database", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_commission_rates(self, **params):\n \"\"\"Get current account commission rates for a symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-commission-rates-user_data\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param recvWindow: LONG - Optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response dict with commission rates:\n\n {\n \"symbol\": \"BTCUSDT\",\n \"standardCommission\": { # Standard commission rates on trades\n \"maker\": \"0.00000010\",\n \"taker\": \"0.00000020\",\n \"buyer\": \"0.00000030\",\n \"seller\": \"0.00000040\"\n },\n \"taxCommission\": { # Tax commission rates on trades\n \"maker\": \"0.00000112\",\n \"taker\": \"0.00000114\",\n \"buyer\": \"0.00000118\",\n \"seller\": \"0.00000116\"\n },\n \"discount\": { # Discount on standard commissions when paying in BNB\n \"enabledForAccount\": true,\n \"enabledForSymbol\": true,\n \"discountAsset\": \"BNB\",\n \"discount\": \"0.75000000\" # Standard commission reduction rate when paying in BNB\n }\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Weight: 20\n\n Data Source: Database\n \"\"\"\n return self._ws_api_request_sync(\"account.commission\", True, params)" + }, + "ws_get_order_book": { + "name": "ws_get_order_book", + "path": "binance.client.Client.ws_get_order_book", + "signature": "(self, **params)", + "description": "Get current order book for a symbol.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#order-book\n\nNote that this request returns limited market depth. If you need to continuously monitor\norder book updates, consider using WebSocket Streams:\n- @depth\n- @depth\n\nYou can use `depth` request together with `@depth` streams to maintain a local order book.\n\n:param symbol: STRING - Required - Trading symbol\n:type symbol: str\n:param limit: INT - Optional - Default 100; max 5000\n:type limit: int\n\n:returns: Websocket message\n\n {\n \"lastUpdateId\": 2731179239,\n \"bids\": [ // Bid levels sorted from highest to lowest price\n [\n \"0.01379900\", // Price level\n \"3.43200000\" // Quantity\n ],\n ...\n ],\n \"asks\": [ // Ask levels sorted from lowest to highest price\n [\n \"0.01380000\", // Price level\n \"5.91700000\" // Quantity\n ],\n ...\n ]\n }\n\nWeight: Adjusted based on limit:\n - 1-100: 5\n - 101-500: 25\n - 501-1000: 50\n - 1001-5000: 250\n\nData Source: Memory", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_order_book(self, **params):\n \"\"\"Get current order book for a symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#order-book\n\n Note that this request returns limited market depth. If you need to continuously monitor\n order book updates, consider using WebSocket Streams:\n - @depth\n - @depth\n\n You can use `depth` request together with `@depth` streams to maintain a local order book.\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param limit: INT - Optional - Default 100; max 5000\n :type limit: int\n\n :returns: Websocket message\n\n {\n \"lastUpdateId\": 2731179239,\n \"bids\": [ // Bid levels sorted from highest to lowest price\n [\n \"0.01379900\", // Price level\n \"3.43200000\" // Quantity\n ],\n ...\n ],\n \"asks\": [ // Ask levels sorted from lowest to highest price\n [\n \"0.01380000\", // Price level\n \"5.91700000\" // Quantity\n ],\n ...\n ]\n }\n\n Weight: Adjusted based on limit:\n - 1-100: 5\n - 101-500: 25\n - 501-1000: 50\n - 1001-5000: 250\n\n Data Source: Memory\n \"\"\"\n return self._ws_api_request_sync(\"depth\", False, params)" + }, + "ws_get_recent_trades": { + "name": "ws_get_recent_trades", + "path": "binance.client.Client.ws_get_recent_trades", + "signature": "(self, **params)", + "description": "Get recent trades for a symbol.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#recent-trades\n\nIf you need access to real-time trading activity, please consider using WebSocket Streams:\n- @trade\n\n:param symbol: STRING - Required - Trading symbol\n:type symbol: str\n:param limit: INT - Optional - Default 500; max 1000\n:type limit: int\n\n:returns: API response\n\n.. code-block:: python\n {\n \"id\": \"409a20bd-253d-41db-a6dd-687862a5882f\",\n \"status\": 200,\n \"result\": [\n {\n \"id\": 194686783, # Trade ID\n \"price\": \"0.01361000\", # Price\n \"qty\": \"0.01400000\", # Quantity\n \"quoteQty\": \"0.00019054\", # Quote quantity\n \"time\": 1660009530807, # Trade time\n \"isBuyerMaker\": true, # Was the buyer the maker?\n \"isBestMatch\": true # Was this the best price match?\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException\n\nWeight: 25\nData Source: Memory", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_recent_trades(self, **params):\n \"\"\"Get recent trades for a symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#recent-trades\n\n If you need access to real-time trading activity, please consider using WebSocket Streams:\n - @trade\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param limit: INT - Optional - Default 500; max 1000\n :type limit: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"id\": \"409a20bd-253d-41db-a6dd-687862a5882f\",\n \"status\": 200,\n \"result\": [\n {\n \"id\": 194686783, # Trade ID\n \"price\": \"0.01361000\", # Price\n \"qty\": \"0.01400000\", # Quantity\n \"quoteQty\": \"0.00019054\", # Quote quantity\n \"time\": 1660009530807, # Trade time\n \"isBuyerMaker\": true, # Was the buyer the maker?\n \"isBestMatch\": true # Was this the best price match?\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Weight: 25\n Data Source: Memory\n \"\"\"\n return self._ws_api_request_sync(\"trades.recent\", False, params)" + }, + "ws_get_historical_trades": { + "name": "ws_get_historical_trades", + "path": "binance.client.Client.ws_get_historical_trades", + "signature": "(self, **params)", + "description": "Get historical trades.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#historical-trades\n\n:param symbol: STRING - Required - Trading symbol\n:type symbol: str\n:param fromId: INT - Optional - Trade ID to begin at\n:type fromId: int\n:param limit: INT - Optional - Default 500; max 1000\n:type limit: int\n\n:returns: Websocket message\n\n.. code-block:: python\n\n {\n \"id\": \"cffc9c7d-4efc-4ce0-b587-6b87448f052a\",\n \"result\": [\n {\n \"id\": 0, # Trade ID\n \"price\": \"0.00005000\", # Price\n \"qty\": \"40.00000000\", # Quantity\n \"quoteQty\": \"0.00200000\", # Quote quantity\n \"time\": 1500004800376, # Trade time\n \"isBuyerMaker\": true, # Was the buyer the maker?\n \"isBestMatch\": true # Was this the best price match?\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException\n\nNotes:\n - If fromId is not specified, the most recent trades are returned\n\nWeight: 25\nData Source: Database", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_historical_trades(self, **params):\n \"\"\"Get historical trades.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#historical-trades\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param fromId: INT - Optional - Trade ID to begin at\n :type fromId: int\n :param limit: INT - Optional - Default 500; max 1000\n :type limit: int\n\n :returns: Websocket message\n\n .. code-block:: python\n\n {\n \"id\": \"cffc9c7d-4efc-4ce0-b587-6b87448f052a\",\n \"result\": [\n {\n \"id\": 0, # Trade ID\n \"price\": \"0.00005000\", # Price\n \"qty\": \"40.00000000\", # Quantity\n \"quoteQty\": \"0.00200000\", # Quote quantity\n \"time\": 1500004800376, # Trade time\n \"isBuyerMaker\": true, # Was the buyer the maker?\n \"isBestMatch\": true # Was this the best price match?\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Notes:\n - If fromId is not specified, the most recent trades are returned\n\n Weight: 25\n Data Source: Database\n \"\"\"\n return self._ws_api_request_sync(\"trades.historical\", False, params)" + }, + "ws_get_aggregate_trades": { + "name": "ws_get_aggregate_trades", + "path": "binance.client.Client.ws_get_aggregate_trades", + "signature": "(self, **params)", + "description": "Get aggregate trades.\n\nAn aggregate trade represents one or more individual trades that fill at the same time,\nfrom the same taker order, with the same price.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#aggregate-trades\n\n:param symbol: STRING - Required - Trading symbol\n:type symbol: str\n:param fromId: INT - Optional - Aggregate trade ID to begin at\n:type fromId: int\n:param startTime: INT - Optional - Start time in milliseconds\n:type startTime: int\n:param endTime: INT - Optional - End time in milliseconds\n:type endTime: int\n:param limit: INT - Optional - Default 500; max 1000\n:type limit: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"id\": \"...\",\n \"status\": 200,\n \"result\": [\n {\n \"a\": 50000000, # Aggregate trade ID\n \"p\": \"0.00274100\", # Price\n \"q\": \"57.19000000\", # Quantity\n \"f\": 59120167, # First trade ID\n \"l\": 59120170, # Last trade ID\n \"T\": 1565877971222, # Timestamp\n \"m\": true, # Was the buyer the maker?\n \"M\": true # Was the trade the best price match?\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException\n\nNotes:\n - If fromId is specified, return aggtrades with aggregate trade ID >= fromId.\n Use fromId and limit to page through all aggtrades.\n - If startTime and/or endTime are specified, aggtrades are filtered by execution time (T).\n fromId cannot be used together with startTime and endTime.\n - If no condition is specified, the most recent aggregate trades are returned.\n - For real-time updates, consider using WebSocket Streams: @aggTrade\n - For historical data, consider using data.binance.vision\n\nWeight: 2\nData Source: Database", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_aggregate_trades(self, **params):\n \"\"\"Get aggregate trades.\n\n An aggregate trade represents one or more individual trades that fill at the same time,\n from the same taker order, with the same price.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#aggregate-trades\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param fromId: INT - Optional - Aggregate trade ID to begin at\n :type fromId: int\n :param startTime: INT - Optional - Start time in milliseconds\n :type startTime: int\n :param endTime: INT - Optional - End time in milliseconds\n :type endTime: int\n :param limit: INT - Optional - Default 500; max 1000\n :type limit: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"id\": \"...\",\n \"status\": 200,\n \"result\": [\n {\n \"a\": 50000000, # Aggregate trade ID\n \"p\": \"0.00274100\", # Price\n \"q\": \"57.19000000\", # Quantity\n \"f\": 59120167, # First trade ID\n \"l\": 59120170, # Last trade ID\n \"T\": 1565877971222, # Timestamp\n \"m\": true, # Was the buyer the maker?\n \"M\": true # Was the trade the best price match?\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Notes:\n - If fromId is specified, return aggtrades with aggregate trade ID >= fromId.\n Use fromId and limit to page through all aggtrades.\n - If startTime and/or endTime are specified, aggtrades are filtered by execution time (T).\n fromId cannot be used together with startTime and endTime.\n - If no condition is specified, the most recent aggregate trades are returned.\n - For real-time updates, consider using WebSocket Streams: @aggTrade\n - For historical data, consider using data.binance.vision\n\n Weight: 2\n Data Source: Database\n \"\"\"\n return self._ws_api_request_sync(\"trades.aggregate\", False, params)" + }, + "ws_get_klines": { + "name": "ws_get_klines", + "path": "binance.client.Client.ws_get_klines", + "signature": "(self, **params)", + "description": "Get klines (candlestick bars).\n\nKlines are uniquely identified by their open & close time.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#klines\n\n:param symbol: STRING - Required - Trading symbol\n:type symbol: str\n:param interval: ENUM - Required - Kline interval\n:type interval: str\n:param startTime: INT - Optional - Start time in milliseconds\n:type startTime: int\n:param endTime: INT - Optional - End time in milliseconds\n:type endTime: int\n:param timeZone: STRING - Optional - Default: 0 (UTC)\n:type timeZone: str\n:param limit: INT - Optional - Default 500; max 1000\n:type limit: int\n\nSupported kline intervals:\n - seconds: 1s\n - minutes: 1m, 3m, 5m, 15m, 30m\n - hours: 1h, 2h, 4h, 6h, 8h, 12h\n - days: 1d, 3d\n - weeks: 1w\n - months: 1M\n\nNotes:\n - If startTime/endTime not specified, returns most recent klines\n - Supported timeZone values:\n - Hours and minutes (e.g. \"-1:00\", \"05:45\")\n - Only hours (e.g. \"0\", \"8\", \"4\")\n - Accepted range is strictly [-12:00 to +14:00] inclusive\n - If timeZone provided, kline intervals interpreted in that timezone instead of UTC\n - startTime and endTime always interpreted in UTC, regardless of timeZone\n - For real-time updates, consider using WebSocket Streams: @kline_\n - For historical data, consider using data.binance.vision\n\nWeight: 2\nData Source: Database\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"id\": \"1dbbeb56-8eea-466a-8f6e-86bdcfa2fc0b\",\n \"status\": 200,\n \"result\": [\n [\n 1655971200000, # Kline open time\n \"0.01086000\", # Open price\n \"0.01086600\", # High price\n \"0.01083600\", # Low price\n \"0.01083800\", # Close price\n \"2290.53800000\", # Volume\n 1655974799999, # Kline close time\n \"24.85074442\", # Quote asset volume\n 2283, # Number of trades\n \"1171.64000000\", # Taker buy base asset volume\n \"12.71225884\", # Taker buy quote asset volume\n \"0\" # Unused field, ignore\n ]\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_klines(self, **params):\n \"\"\"Get klines (candlestick bars).\n\n Klines are uniquely identified by their open & close time.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#klines\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param interval: ENUM - Required - Kline interval\n :type interval: str\n :param startTime: INT - Optional - Start time in milliseconds\n :type startTime: int\n :param endTime: INT - Optional - End time in milliseconds\n :type endTime: int\n :param timeZone: STRING - Optional - Default: 0 (UTC)\n :type timeZone: str\n :param limit: INT - Optional - Default 500; max 1000\n :type limit: int\n\n Supported kline intervals:\n - seconds: 1s\n - minutes: 1m, 3m, 5m, 15m, 30m\n - hours: 1h, 2h, 4h, 6h, 8h, 12h\n - days: 1d, 3d\n - weeks: 1w\n - months: 1M\n\n Notes:\n - If startTime/endTime not specified, returns most recent klines\n - Supported timeZone values:\n - Hours and minutes (e.g. \"-1:00\", \"05:45\")\n - Only hours (e.g. \"0\", \"8\", \"4\")\n - Accepted range is strictly [-12:00 to +14:00] inclusive\n - If timeZone provided, kline intervals interpreted in that timezone instead of UTC\n - startTime and endTime always interpreted in UTC, regardless of timeZone\n - For real-time updates, consider using WebSocket Streams: @kline_\n - For historical data, consider using data.binance.vision\n\n Weight: 2\n Data Source: Database\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"id\": \"1dbbeb56-8eea-466a-8f6e-86bdcfa2fc0b\",\n \"status\": 200,\n \"result\": [\n [\n 1655971200000, # Kline open time\n \"0.01086000\", # Open price\n \"0.01086600\", # High price\n \"0.01083600\", # Low price\n \"0.01083800\", # Close price\n \"2290.53800000\", # Volume\n 1655974799999, # Kline close time\n \"24.85074442\", # Quote asset volume\n 2283, # Number of trades\n \"1171.64000000\", # Taker buy base asset volume\n \"12.71225884\", # Taker buy quote asset volume\n \"0\" # Unused field, ignore\n ]\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._ws_api_request_sync(\"klines\", False, params)" + }, + "ws_get_uiKlines": { + "name": "ws_get_uiKlines", + "path": "binance.client.Client.ws_get_uiKlines", + "signature": "(self, **params)", + "description": "Get klines (candlestick bars) optimized for presentation.\n\nThis request is similar to klines, having the same parameters and response.\nuiKlines return modified kline data, optimized for presentation of candlestick charts.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#ui-klines\n\n:param symbol: STRING - Required - Trading symbol\n:type symbol: str\n:param interval: ENUM - Required - Kline interval\n:type interval: str\n:param startTime: INT - Optional - Start time in milliseconds\n:type startTime: int\n:param endTime: INT - Optional - End time in milliseconds\n:type endTime: int\n:param timeZone: STRING - Optional - Default: 0 (UTC)\n:type timeZone: str\n:param limit: INT - Optional - Default 500; max 1000\n:type limit: int\n\nSupported kline intervals:\n - seconds: 1s\n - minutes: 1m, 3m, 5m, 15m, 30m\n - hours: 1h, 2h, 4h, 6h, 8h, 12h\n - days: 1d, 3d\n - weeks: 1w\n - months: 1M\n\nNotes:\n - If startTime/endTime not specified, returns most recent klines\n - Supported timeZone values:\n - Hours and minutes (e.g. \"-1:00\", \"05:45\")\n - Only hours (e.g. \"0\", \"8\", \"4\")\n - Accepted range is strictly [-12:00 to +14:00] inclusive\n - If timeZone provided, kline intervals are interpreted in that timezone instead of UTC\n - startTime and endTime are always interpreted in UTC, regardless of timeZone\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"id\": \"b137468a-fb20-4c06-bd6b-625148eec958\",\n \"result\": [\n [\n 1655971200000, # Kline open time\n \"0.01086000\", # Open price\n \"0.01086600\", # High price\n \"0.01083600\", # Low price\n \"0.01083800\", # Close price\n \"2290.53800000\", # Volume\n 1655974799999, # Kline close time\n \"24.85074442\", # Quote asset volume\n 2283, # Number of trades\n \"1171.64000000\", # Taker buy base asset volume\n \"12.71225884\", # Taker buy quote asset volume\n \"0\" # Unused field, ignore\n ]\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_uiKlines(self, **params):\n \"\"\"Get klines (candlestick bars) optimized for presentation.\n\n This request is similar to klines, having the same parameters and response.\n uiKlines return modified kline data, optimized for presentation of candlestick charts.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#ui-klines\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param interval: ENUM - Required - Kline interval\n :type interval: str\n :param startTime: INT - Optional - Start time in milliseconds\n :type startTime: int\n :param endTime: INT - Optional - End time in milliseconds\n :type endTime: int\n :param timeZone: STRING - Optional - Default: 0 (UTC)\n :type timeZone: str\n :param limit: INT - Optional - Default 500; max 1000\n :type limit: int\n\n Supported kline intervals:\n - seconds: 1s\n - minutes: 1m, 3m, 5m, 15m, 30m\n - hours: 1h, 2h, 4h, 6h, 8h, 12h\n - days: 1d, 3d\n - weeks: 1w\n - months: 1M\n\n Notes:\n - If startTime/endTime not specified, returns most recent klines\n - Supported timeZone values:\n - Hours and minutes (e.g. \"-1:00\", \"05:45\")\n - Only hours (e.g. \"0\", \"8\", \"4\")\n - Accepted range is strictly [-12:00 to +14:00] inclusive\n - If timeZone provided, kline intervals are interpreted in that timezone instead of UTC\n - startTime and endTime are always interpreted in UTC, regardless of timeZone\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"id\": \"b137468a-fb20-4c06-bd6b-625148eec958\",\n \"result\": [\n [\n 1655971200000, # Kline open time\n \"0.01086000\", # Open price\n \"0.01086600\", # High price\n \"0.01083600\", # Low price\n \"0.01083800\", # Close price\n \"2290.53800000\", # Volume\n 1655974799999, # Kline close time\n \"24.85074442\", # Quote asset volume\n 2283, # Number of trades\n \"1171.64000000\", # Taker buy base asset volume\n \"12.71225884\", # Taker buy quote asset volume\n \"0\" # Unused field, ignore\n ]\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._ws_api_request_sync(\"uiKlines\", False, params)" + }, + "ws_get_avg_price": { + "name": "ws_get_avg_price", + "path": "binance.client.Client.ws_get_avg_price", + "signature": "(self, **params)", + "description": "Get current average price for a symbol.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#current-average-price\n\n:param symbol: STRING - Required - Trading symbol\n:type symbol: str\n\n:returns: Websocket message\n\n.. code-block:: python\n {\n \"mins\": 5, # Average price interval (in minutes)\n \"price\": \"9.35751834\", # Average price\n \"closeTime\": 1694061154503 # Last trade time\n }\n\nWeight: 2", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_avg_price(self, **params):\n \"\"\"Get current average price for a symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#current-average-price\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n\n :returns: Websocket message\n\n .. code-block:: python\n {\n \"mins\": 5, # Average price interval (in minutes)\n \"price\": \"9.35751834\", # Average price\n \"closeTime\": 1694061154503 # Last trade time\n }\n\n Weight: 2\n \"\"\"\n return self._ws_api_request_sync(\"avgPrice\", False, params)" + }, + "ws_get_ticker": { + "name": "ws_get_ticker", + "path": "binance.client.Client.ws_get_ticker", + "signature": "(self, **params)", + "description": "Get 24-hour rolling window price change statistics.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#24hr-ticker-price-change-statistics\n\n:param symbol: STRING - Optional - Query ticker for a single symbol\n:type symbol: str\n:param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n:type symbols: list\n:param type: ENUM - Optional - Ticker type: FULL (default) or MINI\n:type type: str\n\nNote:\n - symbol and symbols cannot be used together\n - If no symbol is specified, returns information about all symbols currently trading on the exchange\n\nWeight:\n Adjusted based on the number of requested symbols:\n - 1-20 symbols: 2\n - 21-100 symbols: 40\n - 101 or more symbols: 80\n - all symbols: 80\n\n:returns: Websocket message\n\nFor a single symbol with type=FULL:\n.. code-block:: python\n {\n \"symbol\": \"BNBBTC\",\n \"priceChange\": \"0.00013900\", # Absolute price change\n \"priceChangePercent\": \"1.020\", # Relative price change in percent\n \"weightedAvgPrice\": \"0.01382453\", # Quote volume divided by volume\n \"prevClosePrice\": \"0.01362800\", # Previous day's close price\n \"lastPrice\": \"0.01376700\", # Latest price\n \"lastQty\": \"1.78800000\", # Latest quantity\n \"bidPrice\": \"0.01376700\", # Best bid price\n \"bidQty\": \"4.64600000\", # Best bid quantity\n \"askPrice\": \"0.01376800\", # Best ask price\n \"askQty\": \"14.31400000\", # Best ask quantity\n \"openPrice\": \"0.01362800\", # Open price 24 hours ago\n \"highPrice\": \"0.01414900\", # Highest price in the last 24 hours\n \"lowPrice\": \"0.01346600\", # Lowest price in the last 24 hours\n \"volume\": \"69412.40500000\", # Trading volume in base asset\n \"quoteVolume\": \"959.59411487\", # Trading volume in quote asset\n \"openTime\": 1660014164909, # Open time for 24hr rolling window\n \"closeTime\": 1660100564909, # Close time for 24hr rolling window\n \"firstId\": 194696115, # First trade ID\n \"lastId\": 194968287, # Last trade ID\n \"count\": 272173 # Number of trades\n }\n\nFor a single symbol with type=MINI:\n.. code-block:: python\n {\n \"symbol\": \"BNBBTC\",\n \"openPrice\": \"0.01362800\",\n \"highPrice\": \"0.01414900\",\n \"lowPrice\": \"0.01346600\",\n \"lastPrice\": \"0.01376700\",\n \"volume\": \"69412.40500000\",\n \"quoteVolume\": \"959.59411487\",\n \"openTime\": 1660014164909,\n \"closeTime\": 1660100564909,\n \"firstId\": 194696115,\n \"lastId\": 194968287,\n \"count\": 272173\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_ticker(self, **params):\n \"\"\"Get 24-hour rolling window price change statistics.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#24hr-ticker-price-change-statistics\n\n :param symbol: STRING - Optional - Query ticker for a single symbol\n :type symbol: str\n :param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n :type symbols: list\n :param type: ENUM - Optional - Ticker type: FULL (default) or MINI\n :type type: str\n\n Note:\n - symbol and symbols cannot be used together\n - If no symbol is specified, returns information about all symbols currently trading on the exchange\n\n Weight:\n Adjusted based on the number of requested symbols:\n - 1-20 symbols: 2\n - 21-100 symbols: 40\n - 101 or more symbols: 80\n - all symbols: 80\n\n :returns: Websocket message\n\n For a single symbol with type=FULL:\n .. code-block:: python\n {\n \"symbol\": \"BNBBTC\",\n \"priceChange\": \"0.00013900\", # Absolute price change\n \"priceChangePercent\": \"1.020\", # Relative price change in percent\n \"weightedAvgPrice\": \"0.01382453\", # Quote volume divided by volume\n \"prevClosePrice\": \"0.01362800\", # Previous day's close price\n \"lastPrice\": \"0.01376700\", # Latest price\n \"lastQty\": \"1.78800000\", # Latest quantity\n \"bidPrice\": \"0.01376700\", # Best bid price\n \"bidQty\": \"4.64600000\", # Best bid quantity\n \"askPrice\": \"0.01376800\", # Best ask price\n \"askQty\": \"14.31400000\", # Best ask quantity\n \"openPrice\": \"0.01362800\", # Open price 24 hours ago\n \"highPrice\": \"0.01414900\", # Highest price in the last 24 hours\n \"lowPrice\": \"0.01346600\", # Lowest price in the last 24 hours\n \"volume\": \"69412.40500000\", # Trading volume in base asset\n \"quoteVolume\": \"959.59411487\", # Trading volume in quote asset\n \"openTime\": 1660014164909, # Open time for 24hr rolling window\n \"closeTime\": 1660100564909, # Close time for 24hr rolling window\n \"firstId\": 194696115, # First trade ID\n \"lastId\": 194968287, # Last trade ID\n \"count\": 272173 # Number of trades\n }\n\n For a single symbol with type=MINI:\n .. code-block:: python\n {\n \"symbol\": \"BNBBTC\",\n \"openPrice\": \"0.01362800\",\n \"highPrice\": \"0.01414900\",\n \"lowPrice\": \"0.01346600\",\n \"lastPrice\": \"0.01376700\",\n \"volume\": \"69412.40500000\",\n \"quoteVolume\": \"959.59411487\",\n \"openTime\": 1660014164909,\n \"closeTime\": 1660100564909,\n \"firstId\": 194696115,\n \"lastId\": 194968287,\n \"count\": 272173\n }\n\n \"\"\"\n return self._ws_api_request_sync(\"ticker.24hr\", False, params)" + }, + "ws_get_trading_day_ticker": { + "name": "ws_get_trading_day_ticker", + "path": "binance.client.Client.ws_get_trading_day_ticker", + "signature": "(self, **params)", + "description": "Price change statistics for a trading day.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#trading-day-ticker\n\n:param symbol: STRING - Optional - Query ticker of a single symbol\n:type symbol: str\n:param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n:type symbols: list\n:param timeZone: STRING - Optional - Default: 0 (UTC)\n Supported values:\n - Hours and minutes (e.g. \"-1:00\", \"05:45\")\n - Only hours (e.g. \"0\", \"8\", \"4\")\n - Accepted range is strictly [-12:00 to +14:00] inclusive\n:type timeZone: str\n:param type: ENUM - Optional - FULL (default) or MINI\n:type type: str\n\n:returns: Websocket message\n\nResponse FULL type example:\n{\n \"symbol\": \"BTCUSDT\",\n \"priceChange\": \"-83.13000000\", # Absolute price change\n \"priceChangePercent\": \"-0.317\", # Relative price change in percent\n \"weightedAvgPrice\": \"26234.58803036\", # quoteVolume / volume\n \"openPrice\": \"26304.80000000\",\n \"highPrice\": \"26397.46000000\",\n \"lowPrice\": \"26088.34000000\",\n \"lastPrice\": \"26221.67000000\",\n \"volume\": \"18495.35066000\", # Volume in base asset\n \"quoteVolume\": \"485217905.04210480\",\n \"openTime\": 1695686400000,\n \"closeTime\": 1695772799999,\n \"firstId\": 3220151555,\n \"lastId\": 3220849281,\n \"count\": 697727\n}\n\nResponse MINI type example:\n{\n \"symbol\": \"BTCUSDT\",\n \"openPrice\": \"26304.80000000\",\n \"highPrice\": \"26397.46000000\",\n \"lowPrice\": \"26088.34000000\",\n \"lastPrice\": \"26221.67000000\",\n \"volume\": \"18495.35066000\", # Volume in base asset\n \"quoteVolume\": \"485217905.04210480\", # Volume in quote asset\n \"openTime\": 1695686400000,\n \"closeTime\": 1695772799999,\n \"firstId\": 3220151555, # Trade ID of the first trade in the interval\n \"lastId\": 3220849281, # Trade ID of the last trade in the interval\n \"count\": 697727 # Number of trades in the interval\n}\n\nWeight:\n - 4 for each requested symbol\n - Weight caps at 200 once number of symbols > 50", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_trading_day_ticker(self, **params):\n \"\"\"Price change statistics for a trading day.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#trading-day-ticker\n\n :param symbol: STRING - Optional - Query ticker of a single symbol\n :type symbol: str\n :param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n :type symbols: list\n :param timeZone: STRING - Optional - Default: 0 (UTC)\n Supported values:\n - Hours and minutes (e.g. \"-1:00\", \"05:45\")\n - Only hours (e.g. \"0\", \"8\", \"4\")\n - Accepted range is strictly [-12:00 to +14:00] inclusive\n :type timeZone: str\n :param type: ENUM - Optional - FULL (default) or MINI\n :type type: str\n\n :returns: Websocket message\n\n Response FULL type example:\n {\n \"symbol\": \"BTCUSDT\",\n \"priceChange\": \"-83.13000000\", # Absolute price change\n \"priceChangePercent\": \"-0.317\", # Relative price change in percent\n \"weightedAvgPrice\": \"26234.58803036\", # quoteVolume / volume\n \"openPrice\": \"26304.80000000\",\n \"highPrice\": \"26397.46000000\",\n \"lowPrice\": \"26088.34000000\",\n \"lastPrice\": \"26221.67000000\",\n \"volume\": \"18495.35066000\", # Volume in base asset\n \"quoteVolume\": \"485217905.04210480\",\n \"openTime\": 1695686400000,\n \"closeTime\": 1695772799999,\n \"firstId\": 3220151555,\n \"lastId\": 3220849281,\n \"count\": 697727\n }\n\n Response MINI type example:\n {\n \"symbol\": \"BTCUSDT\",\n \"openPrice\": \"26304.80000000\",\n \"highPrice\": \"26397.46000000\",\n \"lowPrice\": \"26088.34000000\",\n \"lastPrice\": \"26221.67000000\",\n \"volume\": \"18495.35066000\", # Volume in base asset\n \"quoteVolume\": \"485217905.04210480\", # Volume in quote asset\n \"openTime\": 1695686400000,\n \"closeTime\": 1695772799999,\n \"firstId\": 3220151555, # Trade ID of the first trade in the interval\n \"lastId\": 3220849281, # Trade ID of the last trade in the interval\n \"count\": 697727 # Number of trades in the interval\n }\n\n Weight:\n - 4 for each requested symbol\n - Weight caps at 200 once number of symbols > 50\n \"\"\"\n return self._ws_api_request_sync(\"ticker.tradingDay\", False, params)" + }, + "ws_get_symbol_ticker_window": { + "name": "ws_get_symbol_ticker_window", + "path": "binance.client.Client.ws_get_symbol_ticker_window", + "signature": "(self, **params)", + "description": "Get rolling window price change statistics.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#rolling-window-price-change-statistics\n\n:param symbol: STRING - Optional - Query ticker of a single symbol\n:type symbol: str\n:param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n:type symbols: list\n:param windowSize: STRING - Required - Supported windowSize values:\n - 1h, 2h, 4h, 6h, 12h\n - 1d, 2d, 3d, 4d, 5d, 6d, 7d, 14d, 30d\n:type windowSize: str\n:param type: ENUM - Optional - FULL (default) or MINI\n:type type: str\n\n:returns: Websocket message\n\nWith symbol parameter:\n.. code-block:: python\n {\n \"symbol\": \"BTCUSDT\",\n \"priceChange\": \"-83.13000000\", # Absolute price change\n \"priceChangePercent\": \"-0.317\", # Relative price change in percent\n \"weightedAvgPrice\": \"26234.58803036\", # quoteVolume / volume\n \"openPrice\": \"26304.80000000\",\n \"highPrice\": \"26397.46000000\",\n \"lowPrice\": \"26088.34000000\",\n \"lastPrice\": \"26221.67000000\",\n \"volume\": \"18495.35066000\", # Volume in base asset\n \"quoteVolume\": \"485217905.04210480\", # Volume in quote asset\n \"openTime\": 1695686400000,\n \"closeTime\": 1695772799999,\n \"firstId\": 3220151555, # Trade ID of first trade in the interval\n \"lastId\": 3220849281, # Trade ID of last trade in the interval\n \"count\": 697727 # Number of trades in the interval\n }\n\nWith symbols parameter:\n.. code-block:: python\n [\n {\n # Same fields as above\n },\n {\n # Same fields as above for next symbol\n }\n ]\n\nFor MINI type response:\n.. code-block:: python\n {\n \"symbol\": \"BTCUSDT\",\n \"openPrice\": \"26304.80000000\",\n \"highPrice\": \"26397.46000000\",\n \"lowPrice\": \"26088.34000000\",\n \"lastPrice\": \"26221.67000000\",\n \"volume\": \"18495.35066000\",\n \"quoteVolume\": \"485217905.04210480\",\n \"openTime\": 1695686400000,\n \"closeTime\": 1695772799999,\n \"firstId\": 3220151555,\n \"lastId\": 3220849281,\n \"count\": 697727\n }\n\nWeight:\n - 4 for each requested symbol\n - Weight caps at 200 once number of symbols > 50", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_symbol_ticker_window(self, **params):\n \"\"\"Get rolling window price change statistics.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#rolling-window-price-change-statistics\n\n :param symbol: STRING - Optional - Query ticker of a single symbol\n :type symbol: str\n :param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n :type symbols: list\n :param windowSize: STRING - Required - Supported windowSize values:\n - 1h, 2h, 4h, 6h, 12h\n - 1d, 2d, 3d, 4d, 5d, 6d, 7d, 14d, 30d\n :type windowSize: str\n :param type: ENUM - Optional - FULL (default) or MINI\n :type type: str\n\n :returns: Websocket message\n\n With symbol parameter:\n .. code-block:: python\n {\n \"symbol\": \"BTCUSDT\",\n \"priceChange\": \"-83.13000000\", # Absolute price change\n \"priceChangePercent\": \"-0.317\", # Relative price change in percent\n \"weightedAvgPrice\": \"26234.58803036\", # quoteVolume / volume\n \"openPrice\": \"26304.80000000\",\n \"highPrice\": \"26397.46000000\",\n \"lowPrice\": \"26088.34000000\",\n \"lastPrice\": \"26221.67000000\",\n \"volume\": \"18495.35066000\", # Volume in base asset\n \"quoteVolume\": \"485217905.04210480\", # Volume in quote asset\n \"openTime\": 1695686400000,\n \"closeTime\": 1695772799999,\n \"firstId\": 3220151555, # Trade ID of first trade in the interval\n \"lastId\": 3220849281, # Trade ID of last trade in the interval\n \"count\": 697727 # Number of trades in the interval\n }\n\n With symbols parameter:\n .. code-block:: python\n [\n {\n # Same fields as above\n },\n {\n # Same fields as above for next symbol\n }\n ]\n\n For MINI type response:\n .. code-block:: python\n {\n \"symbol\": \"BTCUSDT\",\n \"openPrice\": \"26304.80000000\",\n \"highPrice\": \"26397.46000000\",\n \"lowPrice\": \"26088.34000000\",\n \"lastPrice\": \"26221.67000000\",\n \"volume\": \"18495.35066000\",\n \"quoteVolume\": \"485217905.04210480\",\n \"openTime\": 1695686400000,\n \"closeTime\": 1695772799999,\n \"firstId\": 3220151555,\n \"lastId\": 3220849281,\n \"count\": 697727\n }\n\n Weight:\n - 4 for each requested symbol\n - Weight caps at 200 once number of symbols > 50\n \"\"\"\n return self._ws_api_request_sync(\"ticker\", False, params)" + }, + "ws_get_symbol_ticker": { + "name": "ws_get_symbol_ticker", + "path": "binance.client.Client.ws_get_symbol_ticker", + "signature": "(self, **params)", + "description": "Get latest price for a symbol or symbols.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#symbol-price-ticker\n\n:param symbol: STRING - Optional - Query ticker of a single symbol\n:type symbol: str\n:param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n:type symbols: list\n\n:returns: Websocket message\n\nWith symbol parameter:\n {\n \"symbol\": \"BNBBTC\",\n \"price\": \"0.01361000\"\n }\n\n With symbols parameter:\n [\n {\n \"symbol\": \"BNBBTC\",\n \"price\": \"0.01361000\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"price\": \"23440.91000000\"\n }\n ]\n\nWeight:\n - 1 for a single symbol\n - 2 for up to 20 symbols\n - 40 for 21 to 100 symbols\n - 40 for all symbols", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_symbol_ticker(self, **params):\n \"\"\"Get latest price for a symbol or symbols.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#symbol-price-ticker\n\n :param symbol: STRING - Optional - Query ticker of a single symbol\n :type symbol: str\n :param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n :type symbols: list\n\n :returns: Websocket message\n\n With symbol parameter:\n {\n \"symbol\": \"BNBBTC\",\n \"price\": \"0.01361000\"\n }\n\n With symbols parameter:\n [\n {\n \"symbol\": \"BNBBTC\",\n \"price\": \"0.01361000\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"price\": \"23440.91000000\"\n }\n ]\n\n Weight:\n - 1 for a single symbol\n - 2 for up to 20 symbols\n - 40 for 21 to 100 symbols\n - 40 for all symbols\n \"\"\"\n return self._ws_api_request_sync(\"ticker.price\", False, params)" + }, + "ws_get_orderbook_ticker": { + "name": "ws_get_orderbook_ticker", + "path": "binance.client.Client.ws_get_orderbook_ticker", + "signature": "(self, **params)", + "description": "Get the best price/quantity on the order book for a symbol or symbols.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#symbol-order-book-ticker\n\n:param symbol: STRING - Optional - Query ticker of a single symbol\n:type symbol: str\n:param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n:type symbols: list\n\n:returns: Websocket response\n\n With symbol parameter:\n {\n \"symbol\": \"BNBBTC\",\n \"bidPrice\": \"0.01358000\",\n \"bidQty\": \"0.95200000\",\n \"askPrice\": \"0.01358100\",\n \"askQty\": \"11.91700000\"\n }\n\n With symbols parameter:\n [\n {\n \"symbol\": \"BNBBTC\",\n \"bidPrice\": \"0.01358000\",\n \"bidQty\": \"0.95200000\",\n \"askPrice\": \"0.01358100\",\n \"askQty\": \"11.91700000\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"bidPrice\": \"23440.90000000\",\n \"bidQty\": \"0.00200000\",\n \"askPrice\": \"23440.91000000\",\n \"askQty\": \"0.00200000\"\n }\n ]\n\nWeight:\n - 2 for a single symbol\n - 4 for up to 100 symbols\n - 40 for 101 or more symbols", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_orderbook_ticker(self, **params):\n \"\"\"Get the best price/quantity on the order book for a symbol or symbols.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#symbol-order-book-ticker\n\n :param symbol: STRING - Optional - Query ticker of a single symbol\n :type symbol: str\n :param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n :type symbols: list\n\n :returns: Websocket response\n\n With symbol parameter:\n {\n \"symbol\": \"BNBBTC\",\n \"bidPrice\": \"0.01358000\",\n \"bidQty\": \"0.95200000\",\n \"askPrice\": \"0.01358100\",\n \"askQty\": \"11.91700000\"\n }\n\n With symbols parameter:\n [\n {\n \"symbol\": \"BNBBTC\",\n \"bidPrice\": \"0.01358000\",\n \"bidQty\": \"0.95200000\",\n \"askPrice\": \"0.01358100\",\n \"askQty\": \"11.91700000\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"bidPrice\": \"23440.90000000\",\n \"bidQty\": \"0.00200000\",\n \"askPrice\": \"23440.91000000\",\n \"askQty\": \"0.00200000\"\n }\n ]\n\n Weight:\n - 2 for a single symbol\n - 4 for up to 100 symbols\n - 40 for 101 or more symbols\n \"\"\"\n return self._ws_api_request_sync(\"ticker.book\", False, params)" + }, + "ws_ping": { + "name": "ws_ping", + "path": "binance.client.Client.ws_ping", + "signature": "(self, **params)", + "description": "Test connectivity to the WebSocket API.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#test-connectivity\n\n:returns: API response\n\n {\n \"id\": \"922bcc6e-9de8-440d-9e84-7c80933a8d0d\",\n \"status\": 200,\n \"result\": {},\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n\nWeight: 1", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_ping(self, **params):\n \"\"\"Test connectivity to the WebSocket API.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#test-connectivity\n\n :returns: API response\n\n {\n \"id\": \"922bcc6e-9de8-440d-9e84-7c80933a8d0d\",\n \"status\": 200,\n \"result\": {},\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n\n Weight: 1\n \"\"\"\n return self._ws_api_request_sync(\"ping\", False, params)" + }, + "ws_get_time": { + "name": "ws_get_time", + "path": "binance.client.Client.ws_get_time", + "signature": "(self, **params)", + "description": "Test connectivity to the WebSocket API and get the current server time.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#check-server-time\n\n:returns: API response with server time\n\n {\n \"id\": \"187d3cb2-942d-484c-8271-4e2141bbadb1\",\n \"status\": 200,\n \"result\": {\n \"serverTime\": 1656400526260\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\nWeight: 1\nData Source: Memory", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_time(self, **params):\n \"\"\"Test connectivity to the WebSocket API and get the current server time.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#check-server-time\n\n :returns: API response with server time\n\n {\n \"id\": \"187d3cb2-942d-484c-8271-4e2141bbadb1\",\n \"status\": 200,\n \"result\": {\n \"serverTime\": 1656400526260\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n Weight: 1\n Data Source: Memory\n \"\"\"\n return self._ws_api_request_sync(\"time\", False, params)" + }, + "ws_get_exchange_info": { + "name": "ws_get_exchange_info", + "path": "binance.client.Client.ws_get_exchange_info", + "signature": "(self, **params)", + "description": "Query current exchange trading rules, rate limits, and symbol information.\n\nhttps://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#exchange-information\n\n:param symbol: str - Filter by single symbol (optional)\n:param symbols: list - Filter by multiple symbols (optional)\n:param permissions: list or str - Filter symbols by permissions (optional)\n\n:returns: API response containing exchange information including:\n - Rate limits\n - Exchange filters\n - Symbol information including:\n - Status\n - Base/quote assets\n - Order types allowed\n - Filters (price, lot size, etc)\n - Trading permissions\n - Self-trade prevention modes\n\n Example response:\n {\n \"timezone\": \"UTC\",\n \"serverTime\": 1655969291181,\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000\n },\n ...\n ],\n \"exchangeFilters\": [],\n \"symbols\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"status\": \"TRADING\",\n \"baseAsset\": \"BTC\",\n \"baseAssetPrecision\": 8,\n ...\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException\n\nNotes:\n - Only one of symbol, symbols, permissions parameters can be specified\n - Without parameters, displays all symbols with [\"SPOT\", \"MARGIN\", \"LEVERAGED\"] permissions\n - To list all active symbols, explicitly request all permissions\n - Permissions accepts either a list or single permission name (e.g. \"SPOT\")\n\nWeight: 20\nData Source: Memory", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_get_exchange_info(self, **params):\n \"\"\"Query current exchange trading rules, rate limits, and symbol information.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#exchange-information\n\n :param symbol: str - Filter by single symbol (optional)\n :param symbols: list - Filter by multiple symbols (optional)\n :param permissions: list or str - Filter symbols by permissions (optional)\n\n :returns: API response containing exchange information including:\n - Rate limits\n - Exchange filters\n - Symbol information including:\n - Status\n - Base/quote assets\n - Order types allowed\n - Filters (price, lot size, etc)\n - Trading permissions\n - Self-trade prevention modes\n\n Example response:\n {\n \"timezone\": \"UTC\",\n \"serverTime\": 1655969291181,\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000\n },\n ...\n ],\n \"exchangeFilters\": [],\n \"symbols\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"status\": \"TRADING\",\n \"baseAsset\": \"BTC\",\n \"baseAssetPrecision\": 8,\n ...\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Notes:\n - Only one of symbol, symbols, permissions parameters can be specified\n - Without parameters, displays all symbols with [\"SPOT\", \"MARGIN\", \"LEVERAGED\"] permissions\n - To list all active symbols, explicitly request all permissions\n - Permissions accepts either a list or single permission name (e.g. \"SPOT\")\n\n Weight: 20\n Data Source: Memory\n \"\"\"\n return self._ws_api_request_sync(\"exchangeInfo\", False, params)" + }, + "ws_futures_get_order_book": { + "name": "ws_futures_get_order_book", + "path": "binance.client.Client.ws_futures_get_order_book", + "signature": "(self, **params)", + "description": "Get the order book for a symbol\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_futures_get_order_book(self, **params):\n \"\"\"\n Get the order book for a symbol\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api\n \"\"\"\n return self._ws_futures_api_request_sync(\"depth\", False, params)" + }, + "ws_futures_get_all_tickers": { + "name": "ws_futures_get_all_tickers", + "path": "binance.client.Client.ws_futures_get_all_tickers", + "signature": "(self, **params)", + "description": "Latest price for a symbol or symbols\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api/Symbol-Price-Ticker", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_futures_get_all_tickers(self, **params):\n \"\"\"\n Latest price for a symbol or symbols\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api/Symbol-Price-Ticker\n \"\"\"\n return self._ws_futures_api_request_sync(\"ticker.price\", False, params)" + }, + "ws_futures_get_order_book_ticker": { + "name": "ws_futures_get_order_book_ticker", + "path": "binance.client.Client.ws_futures_get_order_book_ticker", + "signature": "(self, **params)", + "description": "Best price/qty on the order book for a symbol or symbols.\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api/Symbol-Order-Book-Ticker", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_futures_get_order_book_ticker(self, **params):\n \"\"\"\n Best price/qty on the order book for a symbol or symbols.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api/Symbol-Order-Book-Ticker\n \"\"\"\n return self._ws_futures_api_request_sync(\"ticker.book\", False, params)" + }, + "ws_futures_create_order": { + "name": "ws_futures_create_order", + "path": "binance.client.Client.ws_futures_create_order", + "signature": "(self, **params)", + "description": "Send in a new order\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_futures_create_order(self, **params):\n \"\"\"\n Send in a new order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._ws_futures_api_request_sync(\"order.place\", True, params)" + }, + "ws_futures_edit_order": { + "name": "ws_futures_edit_order", + "path": "binance.client.Client.ws_futures_edit_order", + "signature": "(self, **params)", + "description": "Edit an order\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Modify-Order", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_futures_edit_order(self, **params):\n \"\"\"\n Edit an order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Modify-Order\n \"\"\"\n return self._ws_futures_api_request_sync(\"order.modify\", True, params)" + }, + "ws_futures_cancel_order": { + "name": "ws_futures_cancel_order", + "path": "binance.client.Client.ws_futures_cancel_order", + "signature": "(self, **params)", + "description": "cancel an order\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Cancel-Order", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_futures_cancel_order(self, **params):\n \"\"\"\n cancel an order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Cancel-Order\n \"\"\"\n return self._ws_futures_api_request_sync(\"order.cancel\", True, params)" + }, + "ws_futures_get_order": { + "name": "ws_futures_get_order", + "path": "binance.client.Client.ws_futures_get_order", + "signature": "(self, **params)", + "description": "Get an order\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Query-Order", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_futures_get_order(self, **params):\n \"\"\"\n Get an order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Query-Order\n \"\"\"\n return self._ws_futures_api_request_sync(\"order.status\", True, params)" + }, + "ws_futures_v2_account_position": { + "name": "ws_futures_v2_account_position", + "path": "binance.client.Client.ws_futures_v2_account_position", + "signature": "(self, **params)", + "description": "Get current position information(only symbol that has position or open orders will be returned).\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Position-Info-V2", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_futures_v2_account_position(self, **params):\n \"\"\"\n Get current position information(only symbol that has position or open orders will be returned).\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Position-Info-V2\n \"\"\"\n return self._ws_futures_api_request_sync(\"v2/account.position\", True, params)" + }, + "ws_futures_account_position": { + "name": "ws_futures_account_position", + "path": "binance.client.Client.ws_futures_account_position", + "signature": "(self, **params)", + "description": "Get current position information.\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Position-Information", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_futures_account_position(self, **params):\n \"\"\"\n Get current position information.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Position-Information\n \"\"\"\n return self._ws_futures_api_request_sync(\"account.position\", True, params)" + }, + "ws_futures_v2_account_balance": { + "name": "ws_futures_v2_account_balance", + "path": "binance.client.Client.ws_futures_v2_account_balance", + "signature": "(self, **params)", + "description": "Get current account information.\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api#api-description", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_futures_v2_account_balance(self, **params):\n \"\"\"\n Get current account information.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api#api-description\n \"\"\"\n return self._ws_futures_api_request_sync(\"v2/account.balance\", True, params)" + }, + "ws_futures_account_balance": { + "name": "ws_futures_account_balance", + "path": "binance.client.Client.ws_futures_account_balance", + "signature": "(self, **params)", + "description": "Get current account information.\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Futures-Account-Balance", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_futures_account_balance(self, **params):\n \"\"\"\n Get current account information.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Futures-Account-Balance\n \"\"\"\n return self._ws_futures_api_request_sync(\"account.balance\", True, params)" + }, + "ws_futures_v2_account_status": { + "name": "ws_futures_v2_account_status", + "path": "binance.client.Client.ws_futures_v2_account_status", + "signature": "(self, **params)", + "description": "Get current account information. User in single-asset/ multi-assets mode will see different value, see comments in response section for detail.\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Account-Information-V2", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_futures_v2_account_status(self, **params):\n \"\"\"\n Get current account information. User in single-asset/ multi-assets mode will see different value, see comments in response section for detail.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Account-Information-V2\n \"\"\"\n return self._ws_futures_api_request_sync(\"v2/account.status\", True, params)" + }, + "ws_futures_account_status": { + "name": "ws_futures_account_status", + "path": "binance.client.Client.ws_futures_account_status", + "signature": "(self, **params)", + "description": "Get current account information. User in single-asset/ multi-assets mode will see different value, see comments in response section for detail.\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Account-Information", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ws_futures_account_status(self, **params):\n \"\"\"\n Get current account information. User in single-asset/ multi-assets mode will see different value, see comments in response section for detail.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Account-Information\n \"\"\"\n return self._ws_futures_api_request_sync(\"account.status\", True, params)" + }, + "gift_card_fetch_token_limit": { + "name": "gift_card_fetch_token_limit", + "path": "binance.client.Client.gift_card_fetch_token_limit", + "signature": "(self, **params)", + "description": "Verify which tokens are available for you to create Stablecoin-Denominated gift cards\nhttps://developers.binance.com/docs/gift_card/market-data/Fetch-Token-Limit\n\n:param baseToken: The token you want to pay, example: BUSD\n:type baseToken: str\n:return: api response\n.. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": [\n {\n \"coin\": \"BNB\",\n \"fromMin\": \"0.01\",\n \"fromMax\": \"1\"\n }\n ],\n \"success\": true\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def gift_card_fetch_token_limit(self, **params):\n \"\"\"Verify which tokens are available for you to create Stablecoin-Denominated gift cards\n https://developers.binance.com/docs/gift_card/market-data/Fetch-Token-Limit\n\n :param baseToken: The token you want to pay, example: BUSD\n :type baseToken: str\n :return: api response\n .. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": [\n {\n \"coin\": \"BNB\",\n \"fromMin\": \"0.01\",\n \"fromMax\": \"1\"\n }\n ],\n \"success\": true\n }\n \"\"\"\n return self._request_margin_api(\n \"get\", \"giftcard/buyCode/token-limit\", signed=True, data=params\n )" + }, + "gift_card_fetch_rsa_public_key": { + "name": "gift_card_fetch_rsa_public_key", + "path": "binance.client.Client.gift_card_fetch_rsa_public_key", + "signature": "(self, **params)", + "description": "This API is for fetching the RSA Public Key. This RSA Public key will be used to encrypt the card code.\n\nImportant Note:\nThe RSA Public key fetched is valid only for the current day.\n\nhttps://developers.binance.com/docs/gift_card/market-data/Fetch-RSA-Public-Key\n:param recvWindow: The receive window for the request in milliseconds (optional)\n:type recvWindow: int\n:return: api response\n.. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": \"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCXBBVKLAc1GQ5FsIFFqOHrPTox5noBONIKr+IAedTR9FkVxq6e65updEbfdhRNkMOeYIO2i0UylrjGC0X8YSoIszmrVHeV0l06Zh1oJuZos1+7N+WLuz9JvlPaawof3GUakTxYWWCa9+8KIbLKsoKMdfS96VT+8iOXO3quMGKUmQIDAQAB\",\n \"success\": true\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def gift_card_fetch_rsa_public_key(self, **params):\n \"\"\"This API is for fetching the RSA Public Key. This RSA Public key will be used to encrypt the card code.\n\n Important Note:\n The RSA Public key fetched is valid only for the current day.\n\n https://developers.binance.com/docs/gift_card/market-data/Fetch-RSA-Public-Key\n :param recvWindow: The receive window for the request in milliseconds (optional)\n :type recvWindow: int\n :return: api response\n .. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": \"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCXBBVKLAc1GQ5FsIFFqOHrPTox5noBONIKr+IAedTR9FkVxq6e65updEbfdhRNkMOeYIO2i0UylrjGC0X8YSoIszmrVHeV0l06Zh1oJuZos1+7N+WLuz9JvlPaawof3GUakTxYWWCa9+8KIbLKsoKMdfS96VT+8iOXO3quMGKUmQIDAQAB\",\n \"success\": true\n }\n \"\"\"\n return self._request_margin_api(\n \"get\", \"giftcard/cryptography/rsa-public-key\", signed=True, data=params\n )" + }, + "gift_card_verify": { + "name": "gift_card_verify", + "path": "binance.client.Client.gift_card_verify", + "signature": "(self, **params)", + "description": "This API is for verifying whether the Binance Gift Card is valid or not by entering Gift Card Number.\n\nImportant Note:\nIf you enter the wrong Gift Card Number 5 times within an hour, you will no longer be able\nto verify any Gift Card Number for that hour.\n\nhttps://developers.binance.com/docs/gift_card/market-data/Verify-Binance-Gift-Card-by-Gift-Card-Number\n\n:param referenceNo: Enter the Gift Card Number\n:type referenceNo: str\n:return: api response\n.. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": {\n \"valid\": true,\n \"token\": \"BNB\", # coin\n \"amount\": \"0.00000001\" # amount\n },\n \"success\": true\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def gift_card_verify(self, **params):\n \"\"\"This API is for verifying whether the Binance Gift Card is valid or not by entering Gift Card Number.\n\n Important Note:\n If you enter the wrong Gift Card Number 5 times within an hour, you will no longer be able\n to verify any Gift Card Number for that hour.\n\n https://developers.binance.com/docs/gift_card/market-data/Verify-Binance-Gift-Card-by-Gift-Card-Number\n\n :param referenceNo: Enter the Gift Card Number\n :type referenceNo: str\n :return: api response\n .. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": {\n \"valid\": true,\n \"token\": \"BNB\", # coin\n \"amount\": \"0.00000001\" # amount\n },\n \"success\": true\n }\n \"\"\"\n return self._request_margin_api(\n \"get\", \"giftcard/verify\", signed=True, data=params\n )" + }, + "gift_card_redeem": { + "name": "gift_card_redeem", + "path": "binance.client.Client.gift_card_redeem", + "signature": "(self, **params)", + "description": "This API is for redeeming a Binance Gift Card. Once redeemed, the coins will be deposited in your funding wallet.\n\nImportant Note:\nIf you enter the wrong redemption code 5 times within 24 hours, you will no longer be able to\nredeem any Binance Gift Cards that day.\n\nCode Format Options:\n- Plaintext\n- Encrypted (Recommended for better security)\n\nFor encrypted format:\n1. Fetch RSA public key from the RSA public key endpoint\n2. Encrypt the code using algorithm: RSA/ECB/OAEPWithSHA-256AndMGF1Padding\n\nhttps://developers.binance.com/docs/gift_card/market-data/Redeem-a-Binance-Gift-Card\n:param code: Redemption code of Binance Gift Card to be redeemed, supports both Plaintext & Encrypted code\n:type code: str\n:param externalUid: External unique ID representing a user on the partner platform.\n Helps identify redemption behavior and control risks/limits.\n Max 400 characters. (optional)\n:type externalUid: str\n:param recvWindow: The receive window for the request in milliseconds (optional)\n:type recvWindow: int\n:return: api response\n.. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": {\n \"referenceNo\": \"0033002328060227\",\n \"identityNo\": \"10317392647411060736\",\n \"token\": \"BNB\",\n \"amount\": \"0.00000001\"\n },\n \"success\": true\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def gift_card_redeem(self, **params):\n \"\"\"This API is for redeeming a Binance Gift Card. Once redeemed, the coins will be deposited in your funding wallet.\n\n Important Note:\n If you enter the wrong redemption code 5 times within 24 hours, you will no longer be able to\n redeem any Binance Gift Cards that day.\n\n Code Format Options:\n - Plaintext\n - Encrypted (Recommended for better security)\n\n For encrypted format:\n 1. Fetch RSA public key from the RSA public key endpoint\n 2. Encrypt the code using algorithm: RSA/ECB/OAEPWithSHA-256AndMGF1Padding\n\n https://developers.binance.com/docs/gift_card/market-data/Redeem-a-Binance-Gift-Card\n :param code: Redemption code of Binance Gift Card to be redeemed, supports both Plaintext & Encrypted code\n :type code: str\n :param externalUid: External unique ID representing a user on the partner platform.\n Helps identify redemption behavior and control risks/limits.\n Max 400 characters. (optional)\n :type externalUid: str\n :param recvWindow: The receive window for the request in milliseconds (optional)\n :type recvWindow: int\n :return: api response\n .. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": {\n \"referenceNo\": \"0033002328060227\",\n \"identityNo\": \"10317392647411060736\",\n \"token\": \"BNB\",\n \"amount\": \"0.00000001\"\n },\n \"success\": true\n }\n \"\"\"\n return self._request_margin_api(\n \"post\", \"giftcard/redeemCode\", signed=True, data=params\n )" + }, + "gift_card_create": { + "name": "gift_card_create", + "path": "binance.client.Client.gift_card_create", + "signature": "(self, **params)", + "description": "This API is for creating a Binance Gift Card.\n\nTo get started with, please make sure:\n\n- You have a Binance account\n- You have passed KYB\n- You have a suf\ufb01cient balance(Gift Card amount and fee amount) in your Binance funding wallet\n- You need Enable Withdrawals for the API Key which requests this endpoint.\n\nhttps://developers.binance.com/docs/gift_card/market-data\n\n:param token: The token type contained in the Binance Gift Card\n:type token: str\n:param amount: The amount of the token contained in the Binance Gift Card\n:type amount: float\n:return: api response\n.. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": {\n \"referenceNo\": \"0033002144060553\",\n \"code\": \"6H9EKF5ECCWFBHGE\",\n \"expiredTime\": 1727417154000\n },\n \"success\": true\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def gift_card_create(self, **params):\n \"\"\"\n This API is for creating a Binance Gift Card.\n\n To get started with, please make sure:\n\n - You have a Binance account\n - You have passed KYB\n - You have a suf\ufb01cient balance(Gift Card amount and fee amount) in your Binance funding wallet\n - You need Enable Withdrawals for the API Key which requests this endpoint.\n\n https://developers.binance.com/docs/gift_card/market-data\n\n :param token: The token type contained in the Binance Gift Card\n :type token: str\n :param amount: The amount of the token contained in the Binance Gift Card\n :type amount: float\n :return: api response\n .. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": {\n \"referenceNo\": \"0033002144060553\",\n \"code\": \"6H9EKF5ECCWFBHGE\",\n \"expiredTime\": 1727417154000\n },\n \"success\": true\n }\n \"\"\"\n return self._request_margin_api(\n \"post\", \"giftcard/createCode\", signed=True, data=params\n )" + }, + "gift_card_create_dual_token": { + "name": "gift_card_create_dual_token", + "path": "binance.client.Client.gift_card_create_dual_token", + "signature": "(self, **params)", + "description": "This API is for creating a dual-token ( stablecoin-denominated) Binance Gift Card. You may create a gift card using USDT as baseToken, that is redeemable to another designated token (faceToken). For example, you can create a fixed-value BTC gift card and pay with 100 USDT plus 1 USDT fee. This gift card can keep the value fixed at 100 USDT before redemption, and will be redeemable to BTC equivalent to 100 USDT upon redemption.\n\nOnce successfully created, the amount of baseToken (e.g. USDT) in the fixed-value gift card along with the fee would be deducted from your funding wallet.\n\nTo get started with, please make sure:\n- You have a Binance account\n- You have passed KYB\n- You have a suf\ufb01cient balance(Gift Card amount and fee amount) in your Binance funding wallet\n- You need Enable Withdrawals for the API Key which requests this endpoint.\n\nhttps://developers.binance.com/docs/gift_card/market-data/Create-a-dual-token-gift-card\n:param baseToken: The token you want to pay, example: BUSD\n:type baseToken: str\n:param faceToken: The token you want to buy, example: BNB. If faceToken = baseToken, it's the same as createCode endpoint.\n:type faceToken: str\n:param discount: Stablecoin-denominated card discount percentage, Example: 1 for 1% discount. Scale should be less than 6.\n:type discount: float\n:return: api response\n.. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": {\n \"referenceNo\": \"0033002144060553\",\n \"code\": \"6H9EKF5ECCWFBHGE\",\n \"expiredTime\": 1727417154000\n },\n \"success\": true\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def gift_card_create_dual_token(self, **params):\n \"\"\"This API is for creating a dual-token ( stablecoin-denominated) Binance Gift Card. You may create a gift card using USDT as baseToken, that is redeemable to another designated token (faceToken). For example, you can create a fixed-value BTC gift card and pay with 100 USDT plus 1 USDT fee. This gift card can keep the value fixed at 100 USDT before redemption, and will be redeemable to BTC equivalent to 100 USDT upon redemption.\n\n Once successfully created, the amount of baseToken (e.g. USDT) in the fixed-value gift card along with the fee would be deducted from your funding wallet.\n\n To get started with, please make sure:\n - You have a Binance account\n - You have passed KYB\n - You have a suf\ufb01cient balance(Gift Card amount and fee amount) in your Binance funding wallet\n - You need Enable Withdrawals for the API Key which requests this endpoint.\n\n https://developers.binance.com/docs/gift_card/market-data/Create-a-dual-token-gift-card\n :param baseToken: The token you want to pay, example: BUSD\n :type baseToken: str\n :param faceToken: The token you want to buy, example: BNB. If faceToken = baseToken, it's the same as createCode endpoint.\n :type faceToken: str\n :param discount: Stablecoin-denominated card discount percentage, Example: 1 for 1% discount. Scale should be less than 6.\n :type discount: float\n :return: api response\n .. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": {\n \"referenceNo\": \"0033002144060553\",\n \"code\": \"6H9EKF5ECCWFBHGE\",\n \"expiredTime\": 1727417154000\n },\n \"success\": true\n }\n \"\"\"\n return self._request_margin_api(\n \"post\", \"giftcard/buyCode\", signed=True, data=params\n )" + }, + "margin_next_hourly_interest_rate": { + "name": "margin_next_hourly_interest_rate", + "path": "binance.client.Client.margin_next_hourly_interest_rate", + "signature": "(self, **params)", + "description": "Get future hourly interest rate (USER_DATA)\n\nhttps://developers.binance.com/docs/margin_trading/borrow-and-repay\n\n:param assets: required - List of assets, separated by commas, up to 20\n:type assets: str\n:param isIsolated: required - for isolated margin or not, \"TRUE\", \"FALSE\"\n:type isIsolated: bool\n\n:returns: API response\n\n.. code-block:: python\n [\n {\n \"asset\": \"BTC\",\n \"nextHourlyInterestRate\": \"0.00000571\"\n },\n {\n \"asset\": \"ETH\",\n \"nextHourlyInterestRate\": \"0.00000578\"\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_next_hourly_interest_rate(self, **params):\n \"\"\"Get future hourly interest rate (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay\n\n :param assets: required - List of assets, separated by commas, up to 20\n :type assets: str\n :param isIsolated: required - for isolated margin or not, \"TRUE\", \"FALSE\"\n :type isIsolated: bool\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"asset\": \"BTC\",\n \"nextHourlyInterestRate\": \"0.00000571\"\n },\n {\n \"asset\": \"ETH\",\n \"nextHourlyInterestRate\": \"0.00000578\"\n }\n ]\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/next-hourly-interest-rate\", signed=True, data=params\n )" + }, + "margin_interest_history": { + "name": "margin_interest_history", + "path": "binance.client.Client.margin_interest_history", + "signature": "(self, **params)", + "description": "Get Interest History (USER_DATA)\n\nhttps://developers.binance.com/docs/margin_trading/borrow-and-repay/Get-Interest-History\n\n:param asset: optional\n:type asset: str\n:param isolatedSymbol: optional - isolated symbol\n:type isolatedSymbol: str\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param current: optional - Currently querying page. Start from 1. Default:1\n:type current: int\n:param size: optional - Default:10 Max:100\n:type size: int\n\n:returns: API response\n\n.. code-block:: python\n {\n \"rows\": [\n {\n \"txId\": 1352286576452864727,\n \"interestAccuredTime\": 1672160400000,\n \"asset\": \"USDT\",\n \"rawAsset\": \u201cUSDT\u201d, // will not be returned for isolated margin\n \"principal\": \"45.3313\",\n \"interest\": \"0.00024995\",\n \"interestRate\": \"0.00013233\",\n \"type\": \"ON_BORROW\",\n \"isolatedSymbol\": \"BNBUSDT\" // isolated symbol, will not be returned for crossed margin\n }\n ],\n \"total\": 1\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_interest_history(self, **params):\n \"\"\"Get Interest History (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay/Get-Interest-History\n\n :param asset: optional\n :type asset: str\n :param isolatedSymbol: optional - isolated symbol\n :type isolatedSymbol: str\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param current: optional - Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: optional - Default:10 Max:100\n :type size: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"rows\": [\n {\n \"txId\": 1352286576452864727,\n \"interestAccuredTime\": 1672160400000,\n \"asset\": \"USDT\",\n \"rawAsset\": \u201cUSDT\u201d, // will not be returned for isolated margin\n \"principal\": \"45.3313\",\n \"interest\": \"0.00024995\",\n \"interestRate\": \"0.00013233\",\n \"type\": \"ON_BORROW\",\n \"isolatedSymbol\": \"BNBUSDT\" // isolated symbol, will not be returned for crossed margin\n }\n ],\n \"total\": 1\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/interestHistory\", signed=True, data=params\n )" + }, + "margin_borrow_repay": { + "name": "margin_borrow_repay", + "path": "binance.client.Client.margin_borrow_repay", + "signature": "(self, **params)", + "description": "Margin Account Borrow/Repay (MARGIN)\n\nhttps://developers.binance.com/docs/margin_trading/borrow-and-repay/Margin-Account-Borrow-Repay\n\n:param asset: required\n:type asset: str\n:param amount: required\n:type amount: float\n:param isIsolated: optional - for isolated margin or not, \"TRUE\", \"FALSE\", default \"FALSE\"\n:type isIsolated: str\n:param symbol: optional - isolated symbol\n:type symbol: str\n:param type: str\n:type type: str - BORROW or REPAY\n\n:returns: API response\n.. code-block:: python\n {\n //transaction id\n \"tranId\": 100000001\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_borrow_repay(self, **params):\n \"\"\"Margin Account Borrow/Repay (MARGIN)\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay/Margin-Account-Borrow-Repay\n\n :param asset: required\n :type asset: str\n :param amount: required\n :type amount: float\n :param isIsolated: optional - for isolated margin or not, \"TRUE\", \"FALSE\", default \"FALSE\"\n :type isIsolated: str\n :param symbol: optional - isolated symbol\n :type symbol: str\n :param type: str\n :type type: str - BORROW or REPAY\n\n :returns: API response\n .. code-block:: python\n {\n //transaction id\n \"tranId\": 100000001\n }\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/borrow-repay\", signed=True, data=params\n )" + }, + "margin_get_borrow_repay_records": { + "name": "margin_get_borrow_repay_records", + "path": "binance.client.Client.margin_get_borrow_repay_records", + "signature": "(self, **params)", + "description": "Query Query borrow/repay records in Margin account (USER_DATA)\n\nhttps://developers.binance.com/docs/margin_trading/borrow-and-repay/Query-Borrow-Repay\n\n:param asset: required\n:type asset: str\n:param isolatedSymbol: optional - isolated symbol\n:type isolatedSymbol: str\n:param txId: optional - the tranId in POST /sapi/v1/margin/loan\n:type txId: int\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n:param current: optional - Currently querying page. Start from 1. Default:1\n:type current: int\n:param size: optional - Default:10 Max:100\n:type size: int\n\n:returns: API response\n\n.. code-block:: python\n{\n \"rows\": [\n {\n \"type\": \"AUTO\", // AUTO,MANUAL for Cross Margin Borrow; MANUAL\uff0cAUTO\uff0cBNB_AUTO_REPAY\uff0cPOINT_AUTO_REPAY for Cross Margin Repay; AUTO\uff0cMANUAL for Isolated Margin Borrow/Repay;\n \"isolatedSymbol\": \"BNBUSDT\", // isolated symbol, will not be returned for crossed margin\n \"amount\": \"14.00000000\", // Total amount borrowed/repaid\n \"asset\": \"BNB\",\n \"interest\": \"0.01866667\", // Interest repaid\n \"principal\": \"13.98133333\", // Principal repaid\n \"status\": \"CONFIRMED\", //one of PENDING (pending execution), CONFIRMED (successfully execution), FAILED (execution failed, nothing happened to your account);\n \"timestamp\": 1563438204000,\n \"txId\": 2970933056\n }\n ],\n \"total\": 1\n}", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_get_borrow_repay_records(self, **params):\n \"\"\"Query Query borrow/repay records in Margin account (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay/Query-Borrow-Repay\n\n :param asset: required\n :type asset: str\n :param isolatedSymbol: optional - isolated symbol\n :type isolatedSymbol: str\n :param txId: optional - the tranId in POST /sapi/v1/margin/loan\n :type txId: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param current: optional - Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: optional - Default:10 Max:100\n :type size: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"rows\": [\n {\n \"type\": \"AUTO\", // AUTO,MANUAL for Cross Margin Borrow; MANUAL\uff0cAUTO\uff0cBNB_AUTO_REPAY\uff0cPOINT_AUTO_REPAY for Cross Margin Repay; AUTO\uff0cMANUAL for Isolated Margin Borrow/Repay;\n \"isolatedSymbol\": \"BNBUSDT\", // isolated symbol, will not be returned for crossed margin\n \"amount\": \"14.00000000\", // Total amount borrowed/repaid\n \"asset\": \"BNB\",\n \"interest\": \"0.01866667\", // Interest repaid\n \"principal\": \"13.98133333\", // Principal repaid\n \"status\": \"CONFIRMED\", //one of PENDING (pending execution), CONFIRMED (successfully execution), FAILED (execution failed, nothing happened to your account);\n \"timestamp\": 1563438204000,\n \"txId\": 2970933056\n }\n ],\n \"total\": 1\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/borrow-repay\", signed=True, data=params\n )" + }, + "margin_interest_rate_history": { + "name": "margin_interest_rate_history", + "path": "binance.client.Client.margin_interest_rate_history", + "signature": "(self, **params)", + "description": "Query Margin Interest Rate History (USER_DATA)\n\nhttps://developers.binance.com/docs/margin_trading/borrow-and-repay/Query-Margin-Interest-Rate-History\n\n:param asset: required\n:type asset: str\n:param vipLevel: optional\n:type vipLevel: int\n:param startTime: optional\n:type startTime: int\n:param endTime: optional\n:type endTime: int\n\n:returns: API response\n\n.. code-block:: python\n[\n {\n \"asset\": \"BTC\",\n \"dailyInterestRate\": \"0.00025000\",\n \"timestamp\": 1611544731000,\n \"vipLevel\": 1\n },\n {\n \"asset\": \"BTC\",\n \"dailyInterestRate\": \"0.00035000\",\n \"timestamp\": 1610248118000,\n \"vipLevel\": 1\n }\n]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_interest_rate_history(self, **params):\n \"\"\"Query Margin Interest Rate History (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay/Query-Margin-Interest-Rate-History\n\n :param asset: required\n :type asset: str\n :param vipLevel: optional\n :type vipLevel: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"asset\": \"BTC\",\n \"dailyInterestRate\": \"0.00025000\",\n \"timestamp\": 1611544731000,\n \"vipLevel\": 1\n },\n {\n \"asset\": \"BTC\",\n \"dailyInterestRate\": \"0.00035000\",\n \"timestamp\": 1610248118000,\n \"vipLevel\": 1\n }\n ]\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/interestRateHistory\", signed=True, data=params\n )" + }, + "margin_max_borrowable": { + "name": "margin_max_borrowable", + "path": "binance.client.Client.margin_max_borrowable", + "signature": "(self, **params)", + "description": "Query Max Borrow (USER_DATA)\n\nhttps://developers.binance.com/docs/margin_trading/borrow-and-repay/Query-Max-Borrow\n\n:param asset: required\n:type asset: str\n:param isolatedSymbol: optional - isolated symbol\n:type isolatedSymbol: str\n\n:returns: API response\n\n.. code-block:: python\n\n{\n \"amount\": \"1.69248805\", // account's currently max borrowable amount with sufficient system availability\n \"borrowLimit\": \"60\" // max borrowable amount limited by the account level\n}", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_max_borrowable(self, **params):\n \"\"\"Query Max Borrow (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay/Query-Max-Borrow\n\n :param asset: required\n :type asset: str\n :param isolatedSymbol: optional - isolated symbol\n :type isolatedSymbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"amount\": \"1.69248805\", // account's currently max borrowable amount with sufficient system availability\n \"borrowLimit\": \"60\" // max borrowable amount limited by the account level\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/maxBorrowable\", signed=True, data=params\n )" + }, + "futures_historical_data_link": { + "name": "futures_historical_data_link", + "path": "binance.client.Client.futures_historical_data_link", + "signature": "(self, **params)", + "description": "Get Future TickLevel Orderbook Historical Data Download Link.\n\nhttps://developers.binance.com/docs/derivatives/futures-data/market-data\n\n:param symbol: STRING - Required - Symbol name, e.g. BTCUSDT or BTCUSD_PERP\n:type symbol: str\n:param dataType: ENUM - Required - Data type:\n - T_DEPTH for ticklevel orderbook data\n - S_DEPTH for orderbook snapshot data\n:type dataType: str\n:param startTime: LONG - Required - Start time in milliseconds\n:type startTime: int\n:param endTime: LONG - Required - End time in milliseconds\n:type endTime: int\n:param recvWindow: LONG - Optional - Number of milliseconds after timestamp the request is valid for\n:type recvWindow: int\n:param timestamp: LONG - Required - Current timestamp in milliseconds\n:type timestamp: int\n\n:returns: API response\n\n.. code-block:: python\n\n {\n \"data\": [\n {\n \"day\": \"2023-06-30\",\n \"url\": \"\"\n }\n ]\n }\n\n:raises: BinanceRequestException, BinanceAPIException\n\nNotes:\n - The span between startTime and endTime can't be more than 7 days\n - The download link will be valid for 1 day\n - Only VIP users can query this endpoint\n - Weight: 200", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_historical_data_link(self, **params):\n \"\"\"Get Future TickLevel Orderbook Historical Data Download Link.\n\n https://developers.binance.com/docs/derivatives/futures-data/market-data\n\n :param symbol: STRING - Required - Symbol name, e.g. BTCUSDT or BTCUSD_PERP\n :type symbol: str\n :param dataType: ENUM - Required - Data type:\n - T_DEPTH for ticklevel orderbook data\n - S_DEPTH for orderbook snapshot data\n :type dataType: str\n :param startTime: LONG - Required - Start time in milliseconds\n :type startTime: int\n :param endTime: LONG - Required - End time in milliseconds\n :type endTime: int\n :param recvWindow: LONG - Optional - Number of milliseconds after timestamp the request is valid for\n :type recvWindow: int\n :param timestamp: LONG - Required - Current timestamp in milliseconds\n :type timestamp: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"data\": [\n {\n \"day\": \"2023-06-30\",\n \"url\": \"\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Notes:\n - The span between startTime and endTime can't be more than 7 days\n - The download link will be valid for 1 day\n - Only VIP users can query this endpoint\n - Weight: 200\n \"\"\"\n return self._request_margin_api(\"get\", \"futures/data/histDataLink\", signed=True, data=params)" + }, + "margin_v1_get_loan_vip_ongoing_orders": { + "name": "margin_v1_get_loan_vip_ongoing_orders", + "path": "binance.client.Client.margin_v1_get_loan_vip_ongoing_orders", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/loan/vip/ongoing/orders.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nGET /sapi/v1/loan/vip/ongoing/orders\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_loan_vip_ongoing_orders(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/vip/ongoing/orders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n GET /sapi/v1/loan/vip/ongoing/orders\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/vip/ongoing/orders\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_payment_other": { + "name": "margin_v1_get_mining_payment_other", + "path": "binance.client.Client.margin_v1_get_mining_payment_other", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/mining/payment/other.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/mining/rest-api/Extra-Bonus-List\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_mining_payment_other(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/payment/other.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Extra-Bonus-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/payment/other\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_get_income_asyn_id": { + "name": "futures_coin_v1_get_income_asyn_id", + "path": "binance.client.Client.futures_coin_v1_get_income_asyn_id", + "signature": "(self, **params)", + "description": "Placeholder function for GET /dapi/v1/income/asyn/id.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Futures-Transaction-History-Download-Link-by-Id\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_v1_get_income_asyn_id(self, **params):\n \"\"\"\n Placeholder function for GET /dapi/v1/income/asyn/id.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Futures-Transaction-History-Download-Link-by-Id\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"income/asyn/id\", signed=True, data=params, version=1)" + }, + "margin_v1_get_simple_earn_flexible_history_subscription_record": { + "name": "margin_v1_get_simple_earn_flexible_history_subscription_record", + "path": "binance.client.Client.margin_v1_get_simple_earn_flexible_history_subscription_record", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/simple-earn/flexible/history/subscriptionRecord.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/simple_earn/history\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_simple_earn_flexible_history_subscription_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/simple-earn/flexible/history/subscriptionRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/simple_earn/history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"simple-earn/flexible/history/subscriptionRecord\", signed=True, data=params, version=1)" + }, + "margin_v1_post_lending_auto_invest_one_off": { + "name": "margin_v1_post_lending_auto_invest_one_off", + "path": "binance.client.Client.margin_v1_post_lending_auto_invest_one_off", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/lending/auto-invest/one-off.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_lending_auto_invest_one_off(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/lending/auto-invest/one-off.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"lending/auto-invest/one-off\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api_commission_coin_futures": { + "name": "margin_v1_post_broker_sub_account_api_commission_coin_futures", + "path": "binance.client.Client.margin_v1_post_broker_sub_account_api_commission_coin_futures", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/subAccountApi/commission/coinFutures.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/fee/Change-Sub-Account-CM-Futures-Commission\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_sub_account_api_commission_coin_futures(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/commission/coinFutures.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/fee/Change-Sub-Account-CM-Futures-Commission\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/commission/coinFutures\", signed=True, data=params, version=1)" + }, + "v3_post_order_list_otoco": { + "name": "v3_post_order_list_otoco", + "path": "binance.client.Client.v3_post_order_list_otoco", + "signature": "(self, **params)", + "description": "Placeholder function for POST /api/v3/orderList/otoco.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def v3_post_order_list_otoco(self, **params):\n \"\"\"\n Placeholder function for POST /api/v3/orderList/otoco.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"post\", \"orderList/otoco\", signed=True, data=params, version=\"v3\")" + }, + "futures_v1_get_order_asyn": { + "name": "futures_v1_get_order_asyn", + "path": "binance.client.Client.futures_v1_get_order_asyn", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/order/asyn.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Order-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_order_asyn(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/order/asyn.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Order-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"order/asyn\", signed=True, data=params, version=1)" + }, + "margin_v1_get_asset_custody_transfer_history": { + "name": "margin_v1_get_asset_custody_transfer_history", + "path": "binance.client.Client.margin_v1_get_asset_custody_transfer_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/asset/custody/transfer-history.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/asset/query-user-delegation\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_asset_custody_transfer_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/asset/custody/transfer-history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/asset/query-user-delegation\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"asset/custody/transfer-history\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_blvt": { + "name": "margin_v1_post_broker_sub_account_blvt", + "path": "binance.client.Client.margin_v1_post_broker_sub_account_blvt", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/subAccount/blvt.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_sub_account_blvt(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccount/blvt.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccount/blvt\", signed=True, data=params, version=1)" + }, + "margin_v1_post_sol_staking_sol_redeem": { + "name": "margin_v1_post_sol_staking_sol_redeem", + "path": "binance.client.Client.margin_v1_post_sol_staking_sol_redeem", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/sol-staking/sol/redeem.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/sol-staking/staking/Redeem-SOL\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_sol_staking_sol_redeem(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sol-staking/sol/redeem.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/staking/Redeem-SOL\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sol-staking/sol/redeem\", signed=True, data=params, version=1)" + }, + "options_v1_get_countdown_cancel_all": { + "name": "options_v1_get_countdown_cancel_all", + "path": "binance.client.Client.options_v1_get_countdown_cancel_all", + "signature": "(self, **params)", + "description": "Placeholder function for GET /eapi/v1/countdownCancelAll.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Get-Auto-Cancel-All-Open-Orders-Config\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_v1_get_countdown_cancel_all(self, **params):\n \"\"\"\n Placeholder function for GET /eapi/v1/countdownCancelAll.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Get-Auto-Cancel-All-Open-Orders-Config\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"countdownCancelAll\", signed=True, data=params)" + }, + "margin_v1_get_margin_trade_coeff": { + "name": "margin_v1_get_margin_trade_coeff", + "path": "binance.client.Client.margin_v1_get_margin_trade_coeff", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/margin/tradeCoeff.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/margin_trading/account/Get-Summary-Of-Margin-Account\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_margin_trade_coeff(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/margin/tradeCoeff.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/margin_trading/account/Get-Summary-Of-Margin-Account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/tradeCoeff\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_get_order_amendment": { + "name": "futures_coin_v1_get_order_amendment", + "path": "binance.client.Client.futures_coin_v1_get_order_amendment", + "signature": "(self, **params)", + "description": "Placeholder function for GET /dapi/v1/orderAmendment.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Get-Order-Modify-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_v1_get_order_amendment(self, **params):\n \"\"\"\n Placeholder function for GET /dapi/v1/orderAmendment.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Get-Order-Modify-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"orderAmendment\", signed=True, data=params, version=1)" + }, + "margin_v1_get_margin_available_inventory": { + "name": "margin_v1_get_margin_available_inventory", + "path": "binance.client.Client.margin_v1_get_margin_available_inventory", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/margin/available-inventory.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/margin_trading/market-data/Query-margin-avaliable-inventory\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_margin_available_inventory(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/margin/available-inventory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/margin_trading/market-data/Query-margin-avaliable-inventory\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/available-inventory\", signed=True, data=params, version=1)" + }, + "margin_v1_post_account_api_restrictions_ip_restriction_ip_list": { + "name": "margin_v1_post_account_api_restrictions_ip_restriction_ip_list", + "path": "binance.client.Client.margin_v1_post_account_api_restrictions_ip_restriction_ip_list", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/account/apiRestrictions/ipRestriction/ipList.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_account_api_restrictions_ip_restriction_ip_list(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/account/apiRestrictions/ipRestriction/ipList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"account/apiRestrictions/ipRestriction/ipList\", signed=True, data=params, version=1)" + }, + "margin_v2_get_eth_staking_account": { + "name": "margin_v2_get_eth_staking_account", + "path": "binance.client.Client.margin_v2_get_eth_staking_account", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v2/eth-staking/account.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/eth-staking/account\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_get_eth_staking_account(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/eth-staking/account.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/eth-staking/account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"eth-staking/account\", signed=True, data=params, version=2)" + }, + "margin_v1_get_loan_income": { + "name": "margin_v1_get_loan_income", + "path": "binance.client.Client.margin_v1_get_loan_income", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/loan/income.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/crypto_loan/stable-rate/market-data\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_loan_income(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/income.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/stable-rate/market-data\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/income\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_get_pm_account_info": { + "name": "futures_coin_v1_get_pm_account_info", + "path": "binance.client.Client.futures_coin_v1_get_pm_account_info", + "signature": "(self, **params)", + "description": "Placeholder function for GET /dapi/v1/pmAccountInfo.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/portfolio-margin-endpoints\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_v1_get_pm_account_info(self, **params):\n \"\"\"\n Placeholder function for GET /dapi/v1/pmAccountInfo.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/portfolio-margin-endpoints\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"pmAccountInfo\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_query_trans_log_for_investor": { + "name": "margin_v1_get_managed_subaccount_query_trans_log_for_investor", + "path": "binance.client.Client.margin_v1_get_managed_subaccount_query_trans_log_for_investor", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/managed-subaccount/queryTransLogForInvestor.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-Account-Transfer-Log-Investor\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_managed_subaccount_query_trans_log_for_investor(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/queryTransLogForInvestor.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-Account-Transfer-Log-Investor\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/queryTransLogForInvestor\", signed=True, data=params, version=1)" + }, + "margin_v1_post_dci_product_auto_compound_edit_status": { + "name": "margin_v1_post_dci_product_auto_compound_edit_status", + "path": "binance.client.Client.margin_v1_post_dci_product_auto_compound_edit_status", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/dci/product/auto_compound/edit-status.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/dual_investment/trade/Change-Auto-Compound-status\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_dci_product_auto_compound_edit_status(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/dci/product/auto_compound/edit-status.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/dual_investment/trade/Change-Auto-Compound-status\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"dci/product/auto_compound/edit-status\", signed=True, data=params, version=1)" + }, + "futures_v1_get_trade_asyn": { + "name": "futures_v1_get_trade_asyn", + "path": "binance.client.Client.futures_v1_get_trade_asyn", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/trade/asyn.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Trade-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_trade_asyn(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/trade/asyn.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Trade-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"trade/asyn\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_vip_request_interest_rate": { + "name": "margin_v1_get_loan_vip_request_interest_rate", + "path": "binance.client.Client.margin_v1_get_loan_vip_request_interest_rate", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/loan/vip/request/interestRate.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/vip_loan/market-data\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_loan_vip_request_interest_rate(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/vip/request/interestRate.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/vip_loan/market-data\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/vip/request/interestRate\", signed=True, data=params, version=1)" + }, + "futures_v1_get_funding_info": { + "name": "futures_v1_get_funding_info", + "path": "binance.client.Client.futures_v1_get_funding_info", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/fundingInfo.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Get-Funding-Rate-Info\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_funding_info(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/fundingInfo.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Get-Funding-Rate-Info\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"fundingInfo\", signed=False, data=params, version=1)" + }, + "margin_v2_get_loan_flexible_repay_rate": { + "name": "margin_v2_get_loan_flexible_repay_rate", + "path": "binance.client.Client.margin_v2_get_loan_flexible_repay_rate", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v2/loan/flexible/repay/rate.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Check-Collateral-Repay-Rate\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_get_loan_flexible_repay_rate(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/loan/flexible/repay/rate.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Check-Collateral-Repay-Rate\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/flexible/repay/rate\", signed=True, data=params, version=2)" + }, + "margin_v1_get_lending_auto_invest_plan_id": { + "name": "margin_v1_get_lending_auto_invest_plan_id", + "path": "binance.client.Client.margin_v1_get_lending_auto_invest_plan_id", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/lending/auto-invest/plan/id.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_lending_auto_invest_plan_id(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/plan/id.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/plan/id\", signed=True, data=params, version=1)" + }, + "margin_v1_post_loan_adjust_ltv": { + "name": "margin_v1_post_loan_adjust_ltv", + "path": "binance.client.Client.margin_v1_post_loan_adjust_ltv", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/loan/adjust/ltv.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_loan_adjust_ltv(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/adjust/ltv.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/adjust/ltv\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_statistics_user_status": { + "name": "margin_v1_get_mining_statistics_user_status", + "path": "binance.client.Client.margin_v1_get_mining_statistics_user_status", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/mining/statistics/user/status.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/mining/rest-api/Statistic-List\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_mining_statistics_user_status(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/statistics/user/status.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Statistic-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/statistics/user/status\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_transfer_futures": { + "name": "margin_v1_get_broker_transfer_futures", + "path": "binance.client.Client.margin_v1_get_broker_transfer_futures", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/transfer/futures.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Transfer-History-Futures\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_transfer_futures(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/transfer/futures.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Transfer-History-Futures\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/transfer/futures\", signed=True, data=params, version=1)" + }, + "margin_v1_post_algo_spot_new_order_twap": { + "name": "margin_v1_post_algo_spot_new_order_twap", + "path": "binance.client.Client.margin_v1_post_algo_spot_new_order_twap", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/algo/spot/newOrderTwap.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/algo/spot-algo/Time-Weighted-Average-Price-New-Order\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_algo_spot_new_order_twap(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/algo/spot/newOrderTwap.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/algo/spot-algo/Time-Weighted-Average-Price-New-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"algo/spot/newOrderTwap\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_target_asset_list": { + "name": "margin_v1_get_lending_auto_invest_target_asset_list", + "path": "binance.client.Client.margin_v1_get_lending_auto_invest_target_asset_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/lending/auto-invest/target-asset/list.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_lending_auto_invest_target_asset_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/target-asset/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/target-asset/list\", signed=True, data=params, version=1)" + }, + "margin_v1_get_capital_deposit_address_list": { + "name": "margin_v1_get_capital_deposit_address_list", + "path": "binance.client.Client.margin_v1_get_capital_deposit_address_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/capital/deposit/address/list.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/capital/deposite-address\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_capital_deposit_address_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/capital/deposit/address/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/capital/deposite-address\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"capital/deposit/address/list\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_bnb_burn_margin_interest": { + "name": "margin_v1_post_broker_sub_account_bnb_burn_margin_interest", + "path": "binance.client.Client.margin_v1_post_broker_sub_account_bnb_burn_margin_interest", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/subAccount/bnbBurn/marginInterest.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/account/Enable-Or-Disable-BNB-Burn-for-Sub-Account-Margin-Interest\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_sub_account_bnb_burn_margin_interest(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccount/bnbBurn/marginInterest.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Enable-Or-Disable-BNB-Burn-for-Sub-Account-Margin-Interest\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccount/bnbBurn/marginInterest\", signed=True, data=params, version=1)" + }, + "margin_v2_post_loan_flexible_repay": { + "name": "margin_v2_post_loan_flexible_repay", + "path": "binance.client.Client.margin_v2_post_loan_flexible_repay", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v2/loan/flexible/repay.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Repay\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_post_loan_flexible_repay(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v2/loan/flexible/repay.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Repay\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/flexible/repay\", signed=True, data=params, version=2)" + }, + "margin_v2_get_loan_flexible_loanable_data": { + "name": "margin_v2_get_loan_flexible_loanable_data", + "path": "binance.client.Client.margin_v2_get_loan_flexible_loanable_data", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v2/loan/flexible/loanable/data.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/crypto_loan/flexible-rate/market-data/Get-Flexible-Loan-Assets-Data\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_get_loan_flexible_loanable_data(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/loan/flexible/loanable/data.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/market-data/Get-Flexible-Loan-Assets-Data\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/flexible/loanable/data\", signed=True, data=params, version=2)" + }, + "margin_v1_post_broker_sub_account_api_permission": { + "name": "margin_v1_post_broker_sub_account_api_permission", + "path": "binance.client.Client.margin_v1_post_broker_sub_account_api_permission", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/subAccountApi/permission.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/account/Change-Sub-Account-Api-Permission\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_sub_account_api_permission(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/permission.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Change-Sub-Account-Api-Permission\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/permission\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api": { + "name": "margin_v1_post_broker_sub_account_api", + "path": "binance.client.Client.margin_v1_post_broker_sub_account_api", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/subAccountApi.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/account/Create-Api-Key-for-Sub-Account\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_sub_account_api(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Create-Api-Key-for-Sub-Account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi\", signed=True, data=params, version=1)" + }, + "margin_v1_get_dci_product_positions": { + "name": "margin_v1_get_dci_product_positions", + "path": "binance.client.Client.margin_v1_get_dci_product_positions", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/dci/product/positions.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/dual_investment/trade/Get-Dual-Investment-positions\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_dci_product_positions(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/dci/product/positions.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/dual_investment/trade/Get-Dual-Investment-positions\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"dci/product/positions\", signed=True, data=params, version=1)" + }, + "margin_v1_post_convert_limit_cancel_order": { + "name": "margin_v1_post_convert_limit_cancel_order", + "path": "binance.client.Client.margin_v1_post_convert_limit_cancel_order", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/convert/limit/cancelOrder.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/convert/trade/Cancel-Order\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_convert_limit_cancel_order(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/convert/limit/cancelOrder.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/convert/trade/Cancel-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"convert/limit/cancelOrder\", signed=True, data=params, version=1)" + }, + "v3_post_order_list_oto": { + "name": "v3_post_order_list_oto", + "path": "binance.client.Client.v3_post_order_list_oto", + "signature": "(self, **params)", + "description": "Placeholder function for POST /api/v3/orderList/oto.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def v3_post_order_list_oto(self, **params):\n \"\"\"\n Placeholder function for POST /api/v3/orderList/oto.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"post\", \"orderList/oto\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_get_mining_hash_transfer_config_details_list": { + "name": "margin_v1_get_mining_hash_transfer_config_details_list", + "path": "binance.client.Client.margin_v1_get_mining_hash_transfer_config_details_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/mining/hash-transfer/config/details/list.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-List\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_mining_hash_transfer_config_details_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/hash-transfer/config/details/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/hash-transfer/config/details/list\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_hash_transfer_profit_details": { + "name": "margin_v1_get_mining_hash_transfer_profit_details", + "path": "binance.client.Client.margin_v1_get_mining_hash_transfer_profit_details", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/mining/hash-transfer/profit/details.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-Detail\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_mining_hash_transfer_profit_details(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/hash-transfer/profit/details.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-Detail\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/hash-transfer/profit/details\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account": { + "name": "margin_v1_get_broker_sub_account", + "path": "binance.client.Client.margin_v1_get_broker_sub_account", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/subAccount.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/account/Query-Sub-Account\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_sub_account(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccount.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Query-Sub-Account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount\", signed=True, data=params, version=1)" + }, + "margin_v1_get_portfolio_balance": { + "name": "margin_v1_get_portfolio_balance", + "path": "binance.client.Client.margin_v1_get_portfolio_balance", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/portfolio/balance.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Balance-Info\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_portfolio_balance(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/portfolio/balance.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Balance-Info\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"portfolio/balance\", signed=True, data=params, version=1)" + }, + "margin_v1_post_sub_account_eoptions_enable": { + "name": "margin_v1_post_sub_account_eoptions_enable", + "path": "binance.client.Client.margin_v1_post_sub_account_eoptions_enable", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/sub-account/eoptions/enable.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/account-management/Enable-Options-for-Sub-account\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_sub_account_eoptions_enable(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sub-account/eoptions/enable.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/account-management/Enable-Options-for-Sub-account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sub-account/eoptions/enable\", signed=True, data=params, version=1)" + }, + "papi_v1_post_ping": { + "name": "papi_v1_post_ping", + "path": "binance.client.Client.papi_v1_post_ping", + "signature": "(self, **params)", + "description": "Placeholder function for POST /papi/v1/ping.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def papi_v1_post_ping(self, **params):\n \"\"\"\n Placeholder function for POST /papi/v1/ping.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_papi_api(\"post\", \"ping\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_loanable_data": { + "name": "margin_v1_get_loan_loanable_data", + "path": "binance.client.Client.margin_v1_get_loan_loanable_data", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/loan/loanable/data.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_loan_loanable_data(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/loanable/data.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/loanable/data\", signed=True, data=params, version=1)" + }, + "margin_v1_post_eth_staking_wbeth_unwrap": { + "name": "margin_v1_post_eth_staking_wbeth_unwrap", + "path": "binance.client.Client.margin_v1_post_eth_staking_wbeth_unwrap", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/eth-staking/wbeth/unwrap.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_eth_staking_wbeth_unwrap(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/eth-staking/wbeth/unwrap.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"eth-staking/wbeth/unwrap\", signed=True, data=params, version=1)" + }, + "margin_v1_get_eth_staking_eth_history_staking_history": { + "name": "margin_v1_get_eth_staking_eth_history_staking_history", + "path": "binance.client.Client.margin_v1_get_eth_staking_eth_history_staking_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/eth-staking/eth/history/stakingHistory.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/eth-staking/history\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_eth_staking_eth_history_staking_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/eth-staking/eth/history/stakingHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/eth-staking/history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"eth-staking/eth/history/stakingHistory\", signed=True, data=params, version=1)" + }, + "margin_v1_get_staking_staking_record": { + "name": "margin_v1_get_staking_staking_record", + "path": "binance.client.Client.margin_v1_get_staking_staking_record", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/staking/stakingRecord.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_staking_staking_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/staking/stakingRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"staking/stakingRecord\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_rebate_recent_record": { + "name": "margin_v1_get_broker_rebate_recent_record", + "path": "binance.client.Client.margin_v1_get_broker_rebate_recent_record", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/rebate/recentRecord.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/fee/Query-Spot-Commission-Rebate-Recent-Record\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_rebate_recent_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/rebate/recentRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/fee/Query-Spot-Commission-Rebate-Recent-Record\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/rebate/recentRecord\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_vip_collateral_account": { + "name": "margin_v1_get_loan_vip_collateral_account", + "path": "binance.client.Client.margin_v1_get_loan_vip_collateral_account", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/loan/vip/collateral/account.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/vip_loan/user-information/Check-Locked-Value-of-VIP-Collateral-Account\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_loan_vip_collateral_account(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/vip/collateral/account.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/vip_loan/user-information/Check-Locked-Value-of-VIP-Collateral-Account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/vip/collateral/account\", signed=True, data=params, version=1)" + }, + "margin_v1_get_algo_spot_open_orders": { + "name": "margin_v1_get_algo_spot_open_orders", + "path": "binance.client.Client.margin_v1_get_algo_spot_open_orders", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/algo/spot/openOrders.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/algo/spot-algo/Query-Current-Algo-Open-Orders\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_algo_spot_open_orders(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/algo/spot/openOrders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/algo/spot-algo/Query-Current-Algo-Open-Orders\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"algo/spot/openOrders\", signed=True, data=params, version=1)" + }, + "margin_v1_post_loan_repay": { + "name": "margin_v1_post_loan_repay", + "path": "binance.client.Client.margin_v1_post_loan_repay", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/loan/repay.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_loan_repay(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/repay.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/repay\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_get_funding_info": { + "name": "futures_coin_v1_get_funding_info", + "path": "binance.client.Client.futures_coin_v1_get_funding_info", + "signature": "(self, **params)", + "description": "Placeholder function for GET /dapi/v1/fundingInfo.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Get-Funding-Info\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_v1_get_funding_info(self, **params):\n \"\"\"\n Placeholder function for GET /dapi/v1/fundingInfo.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Get-Funding-Info\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"fundingInfo\", signed=False, data=params, version=1)" + }, + "margin_v1_get_margin_leverage_bracket": { + "name": "margin_v1_get_margin_leverage_bracket", + "path": "binance.client.Client.margin_v1_get_margin_leverage_bracket", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/margin/leverageBracket.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/margin_trading/market-data/Query-Liability-Coin-Leverage-Bracket-in-Cross-Margin-Pro-Mode\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_margin_leverage_bracket(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/margin/leverageBracket.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/margin_trading/market-data/Query-Liability-Coin-Leverage-Bracket-in-Cross-Margin-Pro-Mode\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/leverageBracket\", signed=True, data=params, version=1)" + }, + "margin_v2_get_portfolio_collateral_rate": { + "name": "margin_v2_get_portfolio_collateral_rate", + "path": "binance.client.Client.margin_v2_get_portfolio_collateral_rate", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v2/portfolio/collateralRate.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Portfolio-Margin-Pro-Tiered-Collateral-Rate\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_get_portfolio_collateral_rate(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/portfolio/collateralRate.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Portfolio-Margin-Pro-Tiered-Collateral-Rate\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"portfolio/collateralRate\", signed=True, data=params, version=2)" + }, + "margin_v2_post_loan_flexible_adjust_ltv": { + "name": "margin_v2_post_loan_flexible_adjust_ltv", + "path": "binance.client.Client.margin_v2_post_loan_flexible_adjust_ltv", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v2/loan/flexible/adjust/ltv.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Adjust-LTV\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_post_loan_flexible_adjust_ltv(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v2/loan/flexible/adjust/ltv.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Adjust-LTV\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/flexible/adjust/ltv\", signed=True, data=params, version=2)" + }, + "margin_v1_get_convert_order_status": { + "name": "margin_v1_get_convert_order_status", + "path": "binance.client.Client.margin_v1_get_convert_order_status", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/convert/orderStatus.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/convert/trade/Order-Status\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_convert_order_status(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/convert/orderStatus.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/convert/trade/Order-Status\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"convert/orderStatus\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account_api_ip_restriction": { + "name": "margin_v1_get_broker_sub_account_api_ip_restriction", + "path": "binance.client.Client.margin_v1_get_broker_sub_account_api_ip_restriction", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/subAccountApi/ipRestriction.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/account/Get-IPRestriction-for-Sub-Account-Api-Key\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_sub_account_api_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccountApi/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Get-IPRestriction-for-Sub-Account-Api-Key\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccountApi/ipRestriction\", signed=True, data=params, version=1)" + }, + "margin_v1_post_dci_product_subscribe": { + "name": "margin_v1_post_dci_product_subscribe", + "path": "binance.client.Client.margin_v1_post_dci_product_subscribe", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/dci/product/subscribe.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/dual_investment/trade\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_dci_product_subscribe(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/dci/product/subscribe.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/dual_investment/trade\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"dci/product/subscribe\", signed=True, data=params, version=1)" + }, + "futures_v1_get_income_asyn_id": { + "name": "futures_v1_get_income_asyn_id", + "path": "binance.client.Client.futures_v1_get_income_asyn_id", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/income/asyn/id.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Futures-Transaction-History-Download-Link-by-Id\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_income_asyn_id(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/income/asyn/id.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Futures-Transaction-History-Download-Link-by-Id\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"income/asyn/id\", signed=True, data=params, version=1)" + }, + "options_v1_post_countdown_cancel_all": { + "name": "options_v1_post_countdown_cancel_all", + "path": "binance.client.Client.options_v1_post_countdown_cancel_all", + "signature": "(self, **params)", + "description": "Placeholder function for POST /eapi/v1/countdownCancelAll.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Set-Auto-Cancel-All-Open-Orders-Config\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_v1_post_countdown_cancel_all(self, **params):\n \"\"\"\n Placeholder function for POST /eapi/v1/countdownCancelAll.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Set-Auto-Cancel-All-Open-Orders-Config\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"post\", \"countdownCancelAll\", signed=True, data=params)" + }, + "margin_v1_post_mining_hash_transfer_config_cancel": { + "name": "margin_v1_post_mining_hash_transfer_config_cancel", + "path": "binance.client.Client.margin_v1_post_mining_hash_transfer_config_cancel", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/mining/hash-transfer/config/cancel.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/mining/rest-api/Cancel-hashrate-resale-configuration\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_mining_hash_transfer_config_cancel(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/mining/hash-transfer/config/cancel.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Cancel-hashrate-resale-configuration\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"mining/hash-transfer/config/cancel\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account_deposit_hist": { + "name": "margin_v1_get_broker_sub_account_deposit_hist", + "path": "binance.client.Client.margin_v1_get_broker_sub_account_deposit_hist", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/subAccount/depositHist.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/asset/Get-Sub-Account-Deposit-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_sub_account_deposit_hist(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccount/depositHist.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Get-Sub-Account-Deposit-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount/depositHist\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_payment_list": { + "name": "margin_v1_get_mining_payment_list", + "path": "binance.client.Client.margin_v1_get_mining_payment_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/mining/payment/list.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/mining/rest-api/Earnings-List\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_mining_payment_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/payment/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Earnings-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/payment/list\", signed=True, data=params, version=1)" + }, + "futures_v1_get_pm_account_info": { + "name": "futures_v1_get_pm_account_info", + "path": "binance.client.Client.futures_v1_get_pm_account_info", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/pmAccountInfo.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/portfolio-margin-endpoints\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_pm_account_info(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/pmAccountInfo.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/portfolio-margin-endpoints\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"pmAccountInfo\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_get_adl_quantile": { + "name": "futures_coin_v1_get_adl_quantile", + "path": "binance.client.Client.futures_coin_v1_get_adl_quantile", + "signature": "(self, **params)", + "description": "Placeholder function for GET /dapi/v1/adlQuantile.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Position-ADL-Quantile-Estimation\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_v1_get_adl_quantile(self, **params):\n \"\"\"\n Placeholder function for GET /dapi/v1/adlQuantile.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Position-ADL-Quantile-Estimation\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"adlQuantile\", signed=True, data=params, version=1)" + }, + "options_v1_get_income_asyn_id": { + "name": "options_v1_get_income_asyn_id", + "path": "binance.client.Client.options_v1_get_income_asyn_id", + "signature": "(self, **params)", + "description": "Placeholder function for GET /eapi/v1/income/asyn/id.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/option/account/Get-Option-Transaction-History-Download-Link-by-Id\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_v1_get_income_asyn_id(self, **params):\n \"\"\"\n Placeholder function for GET /eapi/v1/income/asyn/id.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/account/Get-Option-Transaction-History-Download-Link-by-Id\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"income/asyn/id\", signed=True, data=params)" + }, + "v3_post_cancel_replace": { + "name": "v3_post_cancel_replace", + "path": "binance.client.Client.v3_post_cancel_replace", + "signature": "(self, **params)", + "description": "Placeholder function for POST /api/v3/cancelReplace.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def v3_post_cancel_replace(self, **params):\n \"\"\"\n Placeholder function for POST /api/v3/cancelReplace.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"post\", \"cancelReplace\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_post_account_enable_fast_withdraw_switch": { + "name": "margin_v1_post_account_enable_fast_withdraw_switch", + "path": "binance.client.Client.margin_v1_post_account_enable_fast_withdraw_switch", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/account/enableFastWithdrawSwitch.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/account/enable-fast-withdraw-switch\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_account_enable_fast_withdraw_switch(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/account/enableFastWithdrawSwitch.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/account/enable-fast-withdraw-switch\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"account/enableFastWithdrawSwitch\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_transfer_futures": { + "name": "margin_v1_post_broker_transfer_futures", + "path": "binance.client.Client.margin_v1_post_broker_transfer_futures", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/transfer/futures.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/asset/Sub-Account-Transfer-Futures\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_transfer_futures(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/transfer/futures.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Sub-Account-Transfer-Futures\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/transfer/futures\", signed=True, data=params, version=1)" + }, + "margin_v1_post_sol_staking_sol_stake": { + "name": "margin_v1_post_sol_staking_sol_stake", + "path": "binance.client.Client.margin_v1_post_sol_staking_sol_stake", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/sol-staking/sol/stake.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/sol-staking/staking\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_sol_staking_sol_stake(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sol-staking/sol/stake.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/staking\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sol-staking/sol/stake\", signed=True, data=params, version=1)" + }, + "margin_v1_post_loan_borrow": { + "name": "margin_v1_post_loan_borrow", + "path": "binance.client.Client.margin_v1_post_loan_borrow", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/loan/borrow.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_loan_borrow(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/borrow.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/borrow\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_info": { + "name": "margin_v1_get_managed_subaccount_info", + "path": "binance.client.Client.margin_v1_get_managed_subaccount_info", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/managed-subaccount/info.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-List\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_managed_subaccount_info(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/info.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/info\", signed=True, data=params, version=1)" + }, + "margin_v1_post_lending_auto_invest_plan_edit_status": { + "name": "margin_v1_post_lending_auto_invest_plan_edit_status", + "path": "binance.client.Client.margin_v1_post_lending_auto_invest_plan_edit_status", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/lending/auto-invest/plan/edit-status.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_lending_auto_invest_plan_edit_status(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/lending/auto-invest/plan/edit-status.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"lending/auto-invest/plan/edit-status\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_sol_history_unclaimed_rewards": { + "name": "margin_v1_get_sol_staking_sol_history_unclaimed_rewards", + "path": "binance.client.Client.margin_v1_get_sol_staking_sol_history_unclaimed_rewards", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/sol-staking/sol/history/unclaimedRewards.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/sol-staking/history/Get-Unclaimed-rewards\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_sol_staking_sol_history_unclaimed_rewards(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/sol/history/unclaimedRewards.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/history/Get-Unclaimed-rewards\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/sol/history/unclaimedRewards\", signed=True, data=params, version=1)" + }, + "margin_v1_post_asset_convert_transfer_query_by_page": { + "name": "margin_v1_post_asset_convert_transfer_query_by_page", + "path": "binance.client.Client.margin_v1_post_asset_convert_transfer_query_by_page", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/asset/convert-transfer/queryByPage.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_asset_convert_transfer_query_by_page(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/asset/convert-transfer/queryByPage.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"asset/convert-transfer/queryByPage\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_sol_history_boost_rewards_history": { + "name": "margin_v1_get_sol_staking_sol_history_boost_rewards_history", + "path": "binance.client.Client.margin_v1_get_sol_staking_sol_history_boost_rewards_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/sol-staking/sol/history/boostRewardsHistory.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/sol-staking/history/Get-Boost-rewards-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_sol_staking_sol_history_boost_rewards_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/sol/history/boostRewardsHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/history/Get-Boost-rewards-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/sol/history/boostRewardsHistory\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_one_off_status": { + "name": "margin_v1_get_lending_auto_invest_one_off_status", + "path": "binance.client.Client.margin_v1_get_lending_auto_invest_one_off_status", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/lending/auto-invest/one-off/status.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_lending_auto_invest_one_off_status(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/one-off/status.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/one-off/status\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account": { + "name": "margin_v1_post_broker_sub_account", + "path": "binance.client.Client.margin_v1_post_broker_sub_account", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/subAccount.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/account\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_sub_account(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccount.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccount\", signed=True, data=params, version=1)" + }, + "margin_v1_get_asset_ledger_transfer_cloud_mining_query_by_page": { + "name": "margin_v1_get_asset_ledger_transfer_cloud_mining_query_by_page", + "path": "binance.client.Client.margin_v1_get_asset_ledger_transfer_cloud_mining_query_by_page", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/asset/ledger-transfer/cloud-mining/queryByPage.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/asset/cloud-mining-payment-and-refund-history\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_asset_ledger_transfer_cloud_mining_query_by_page(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/asset/ledger-transfer/cloud-mining/queryByPage.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/asset/cloud-mining-payment-and-refund-history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"asset/ledger-transfer/cloud-mining/queryByPage\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_pub_coin_list": { + "name": "margin_v1_get_mining_pub_coin_list", + "path": "binance.client.Client.margin_v1_get_mining_pub_coin_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/mining/pub/coinList.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/mining/rest-api/Acquiring-CoinName\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_mining_pub_coin_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/pub/coinList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Acquiring-CoinName\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/pub/coinList\", signed=True, data=params, version=1)" + }, + "margin_v2_get_loan_flexible_repay_history": { + "name": "margin_v2_get_loan_flexible_repay_history", + "path": "binance.client.Client.margin_v2_get_loan_flexible_repay_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v2/loan/flexible/repay/history.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Repayment-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_get_loan_flexible_repay_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/loan/flexible/repay/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Repayment-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/flexible/repay/history\", signed=True, data=params, version=2)" + }, + "v3_post_sor_order": { + "name": "v3_post_sor_order", + "path": "binance.client.Client.v3_post_sor_order", + "signature": "(self, **params)", + "description": "Placeholder function for POST /api/v3/sor/order.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def v3_post_sor_order(self, **params):\n \"\"\"\n Placeholder function for POST /api/v3/sor/order.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"post\", \"sor/order\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_post_capital_deposit_credit_apply": { + "name": "margin_v1_post_capital_deposit_credit_apply", + "path": "binance.client.Client.margin_v1_post_capital_deposit_credit_apply", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/capital/deposit/credit-apply.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/capital/one-click-arrival-deposite-apply\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_capital_deposit_credit_apply(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/capital/deposit/credit-apply.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/capital/one-click-arrival-deposite-apply\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"capital/deposit/credit-apply\", signed=True, data=params, version=1)" + }, + "futures_v1_put_batch_order": { + "name": "futures_v1_put_batch_order", + "path": "binance.client.Client.futures_v1_put_batch_order", + "signature": "(self, **params)", + "description": "Placeholder function for PUT /fapi/v1/batchOrder.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_put_batch_order(self, **params):\n \"\"\"\n Placeholder function for PUT /fapi/v1/batchOrder.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"put\", \"batchOrder\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_statistics_user_list": { + "name": "margin_v1_get_mining_statistics_user_list", + "path": "binance.client.Client.margin_v1_get_mining_statistics_user_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/mining/statistics/user/list.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/mining/rest-api/Account-List\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_mining_statistics_user_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/statistics/user/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Account-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/statistics/user/list\", signed=True, data=params, version=1)" + }, + "futures_v1_post_batch_order": { + "name": "futures_v1_post_batch_order", + "path": "binance.client.Client.futures_v1_post_batch_order", + "signature": "(self, **params)", + "description": "Placeholder function for POST /fapi/v1/batchOrder.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_post_batch_order(self, **params):\n \"\"\"\n Placeholder function for POST /fapi/v1/batchOrder.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"post\", \"batchOrder\", signed=True, data=params, version=1)" + }, + "v3_get_ticker_trading_day": { + "name": "v3_get_ticker_trading_day", + "path": "binance.client.Client.v3_get_ticker_trading_day", + "signature": "(self, **params)", + "description": "Placeholder function for GET /api/v3/ticker/tradingDay.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def v3_get_ticker_trading_day(self, **params):\n \"\"\"\n Placeholder function for GET /api/v3/ticker/tradingDay.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"get\", \"ticker/tradingDay\", signed=False, data=params, version=\"v3\")" + }, + "margin_v1_get_mining_worker_detail": { + "name": "margin_v1_get_mining_worker_detail", + "path": "binance.client.Client.margin_v1_get_mining_worker_detail", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/mining/worker/detail.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/mining/rest-api/Request-for-Detail-Miner-List\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_mining_worker_detail(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/worker/detail.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Request-for-Detail-Miner-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/worker/detail\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_fetch_future_asset": { + "name": "margin_v1_get_managed_subaccount_fetch_future_asset", + "path": "binance.client.Client.margin_v1_get_managed_subaccount_fetch_future_asset", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/managed-subaccount/fetch-future-asset.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-Futures-Asset-Details\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_managed_subaccount_fetch_future_asset(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/fetch-future-asset.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-Futures-Asset-Details\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/fetch-future-asset\", signed=True, data=params, version=1)" + }, + "margin_v1_get_margin_rate_limit_order": { + "name": "margin_v1_get_margin_rate_limit_order", + "path": "binance.client.Client.margin_v1_get_margin_rate_limit_order", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/margin/rateLimit/order.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/margin_trading/trade/Query-Current-Margin-Order-Count-Usage\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_margin_rate_limit_order(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/margin/rateLimit/order.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Current-Margin-Order-Count-Usage\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/rateLimit/order\", signed=True, data=params, version=1)" + }, + "margin_v1_get_localentity_vasp": { + "name": "margin_v1_get_localentity_vasp", + "path": "binance.client.Client.margin_v1_get_localentity_vasp", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/localentity/vasp.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/travel-rule/onboarded-vasp-list\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_localentity_vasp(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/localentity/vasp.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/travel-rule/onboarded-vasp-list\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"localentity/vasp\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_sol_history_rate_history": { + "name": "margin_v1_get_sol_staking_sol_history_rate_history", + "path": "binance.client.Client.margin_v1_get_sol_staking_sol_history_rate_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/sol-staking/sol/history/rateHistory.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-Rate-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_sol_staking_sol_history_rate_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/sol/history/rateHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-Rate-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/sol/history/rateHistory\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api_ip_restriction": { + "name": "margin_v1_post_broker_sub_account_api_ip_restriction", + "path": "binance.client.Client.margin_v1_post_broker_sub_account_api_ip_restriction", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/subAccountApi/ipRestriction.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_sub_account_api_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/ipRestriction\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_transfer": { + "name": "margin_v1_get_broker_transfer", + "path": "binance.client.Client.margin_v1_get_broker_transfer", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/transfer.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Transfer-History-Spot\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_transfer(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/transfer.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Transfer-History-Spot\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/transfer\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_account": { + "name": "margin_v1_get_sol_staking_account", + "path": "binance.client.Client.margin_v1_get_sol_staking_account", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/sol-staking/account.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/sol-staking/account\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_sol_staking_account(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/account.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/account\", signed=True, data=params, version=1)" + }, + "margin_v1_get_account_info": { + "name": "margin_v1_get_account_info", + "path": "binance.client.Client.margin_v1_get_account_info", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/account/info.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/account\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_account_info(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/account/info.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"account/info\", signed=True, data=params, version=1)" + }, + "margin_v1_post_portfolio_repay_futures_switch": { + "name": "margin_v1_post_portfolio_repay_futures_switch", + "path": "binance.client.Client.margin_v1_post_portfolio_repay_futures_switch", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/portfolio/repay-futures-switch.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Change-Auto-repay-futures-Status\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_portfolio_repay_futures_switch(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/portfolio/repay-futures-switch.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Change-Auto-repay-futures-Status\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"portfolio/repay-futures-switch\", signed=True, data=params, version=1)" + }, + "margin_v1_post_loan_vip_borrow": { + "name": "margin_v1_post_loan_vip_borrow", + "path": "binance.client.Client.margin_v1_post_loan_vip_borrow", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/loan/vip/borrow.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_loan_vip_borrow(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/vip/borrow.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/vip/borrow\", signed=True, data=params, version=1)" + }, + "margin_v2_get_loan_flexible_ltv_adjustment_history": { + "name": "margin_v2_get_loan_flexible_ltv_adjustment_history", + "path": "binance.client.Client.margin_v2_get_loan_flexible_ltv_adjustment_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v2/loan/flexible/ltv/adjustment/history.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/crypto_loan/flexible-rate/user-information\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_get_loan_flexible_ltv_adjustment_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/loan/flexible/ltv/adjustment/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/flexible/ltv/adjustment/history\", signed=True, data=params, version=2)" + }, + "options_v1_delete_all_open_orders_by_underlying": { + "name": "options_v1_delete_all_open_orders_by_underlying", + "path": "binance.client.Client.options_v1_delete_all_open_orders_by_underlying", + "signature": "(self, **params)", + "description": "Placeholder function for DELETE /eapi/v1/allOpenOrdersByUnderlying.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/option/trade/Cancel-All-Option-Orders-By-Underlying\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_v1_delete_all_open_orders_by_underlying(self, **params):\n \"\"\"\n Placeholder function for DELETE /eapi/v1/allOpenOrdersByUnderlying.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/trade/Cancel-All-Option-Orders-By-Underlying\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"delete\", \"allOpenOrdersByUnderlying\", signed=True, data=params)" + }, + "margin_v1_get_broker_sub_account_futures_summary": { + "name": "margin_v1_get_broker_sub_account_futures_summary", + "path": "binance.client.Client.margin_v1_get_broker_sub_account_futures_summary", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/subAccount/futuresSummary.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_sub_account_futures_summary(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccount/futuresSummary.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount/futuresSummary\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account_spot_summary": { + "name": "margin_v1_get_broker_sub_account_spot_summary", + "path": "binance.client.Client.margin_v1_get_broker_sub_account_spot_summary", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/subAccount/spotSummary.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Spot-Asset-Info\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_sub_account_spot_summary(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccount/spotSummary.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Spot-Asset-Info\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount/spotSummary\", signed=True, data=params, version=1)" + }, + "margin_v1_post_sub_account_blvt_enable": { + "name": "margin_v1_post_sub_account_blvt_enable", + "path": "binance.client.Client.margin_v1_post_sub_account_blvt_enable", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/sub-account/blvt/enable.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_sub_account_blvt_enable(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sub-account/blvt/enable.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sub-account/blvt/enable\", signed=True, data=params, version=1)" + }, + "margin_v1_get_algo_spot_historical_orders": { + "name": "margin_v1_get_algo_spot_historical_orders", + "path": "binance.client.Client.margin_v1_get_algo_spot_historical_orders", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/algo/spot/historicalOrders.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/algo/spot-algo/Query-Historical-Algo-Orders\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_algo_spot_historical_orders(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/algo/spot/historicalOrders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/algo/spot-algo/Query-Historical-Algo-Orders\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"algo/spot/historicalOrders\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_vip_repay_history": { + "name": "margin_v1_get_loan_vip_repay_history", + "path": "binance.client.Client.margin_v1_get_loan_vip_repay_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/loan/vip/repay/history.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/vip_loan/user-information/Get-VIP-Loan-Repayment-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_loan_vip_repay_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/vip/repay/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/vip_loan/user-information/Get-VIP-Loan-Repayment-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/vip/repay/history\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_borrow_history": { + "name": "margin_v1_get_loan_borrow_history", + "path": "binance.client.Client.margin_v1_get_loan_borrow_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/loan/borrow/history.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/crypto_loan/stable-rate/user-information\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_loan_borrow_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/borrow/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/stable-rate/user-information\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/borrow/history\", signed=True, data=params, version=1)" + }, + "margin_v1_post_lending_auto_invest_redeem": { + "name": "margin_v1_post_lending_auto_invest_redeem", + "path": "binance.client.Client.margin_v1_post_lending_auto_invest_redeem", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/lending/auto-invest/redeem.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_lending_auto_invest_redeem(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/lending/auto-invest/redeem.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"lending/auto-invest/redeem\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_get_income_asyn": { + "name": "futures_coin_v1_get_income_asyn", + "path": "binance.client.Client.futures_coin_v1_get_income_asyn", + "signature": "(self, **params)", + "description": "Placeholder function for GET /dapi/v1/income/asyn.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Transaction-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_v1_get_income_asyn(self, **params):\n \"\"\"\n Placeholder function for GET /dapi/v1/income/asyn.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Transaction-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"income/asyn\", signed=True, data=params, version=1)" + }, + "margin_v1_post_managed_subaccount_deposit": { + "name": "margin_v1_post_managed_subaccount_deposit", + "path": "binance.client.Client.margin_v1_post_managed_subaccount_deposit", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/managed-subaccount/deposit.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/managed-sub-account\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_managed_subaccount_deposit(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/managed-subaccount/deposit.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"managed-subaccount/deposit\", signed=True, data=params, version=1)" + }, + "margin_v1_post_lending_daily_purchase": { + "name": "margin_v1_post_lending_daily_purchase", + "path": "binance.client.Client.margin_v1_post_lending_daily_purchase", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/lending/daily/purchase.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_lending_daily_purchase(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/lending/daily/purchase.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"lending/daily/purchase\", signed=True, data=params, version=1)" + }, + "futures_v1_get_trade_asyn_id": { + "name": "futures_v1_get_trade_asyn_id", + "path": "binance.client.Client.futures_v1_get_trade_asyn_id", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/trade/asyn/id.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Futures-Trade-Download-Link-by-Id\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_trade_asyn_id(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/trade/asyn/id.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Futures-Trade-Download-Link-by-Id\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"trade/asyn/id\", signed=True, data=params, version=1)" + }, + "margin_v1_delete_sub_account_sub_account_api_ip_restriction_ip_list": { + "name": "margin_v1_delete_sub_account_sub_account_api_ip_restriction_ip_list", + "path": "binance.client.Client.margin_v1_delete_sub_account_sub_account_api_ip_restriction_ip_list", + "signature": "(self, **params)", + "description": "Placeholder function for DELETE /sapi/v1/sub-account/subAccountApi/ipRestriction/ipList.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/api-management/Delete-IP-List-For-a-Sub-account-API-Key\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_delete_sub_account_sub_account_api_ip_restriction_ip_list(self, **params):\n \"\"\"\n Placeholder function for DELETE /sapi/v1/sub-account/subAccountApi/ipRestriction/ipList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/api-management/Delete-IP-List-For-a-Sub-account-API-Key\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"delete\", \"sub-account/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)" + }, + "margin_v1_get_copy_trading_futures_user_status": { + "name": "margin_v1_get_copy_trading_futures_user_status", + "path": "binance.client.Client.margin_v1_get_copy_trading_futures_user_status", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/copyTrading/futures/userStatus.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/copy_trading/future-copy-trading\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_copy_trading_futures_user_status(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/copyTrading/futures/userStatus.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/copy_trading/future-copy-trading\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"copyTrading/futures/userStatus\", signed=True, data=params, version=1)" + }, + "options_v1_get_margin_account": { + "name": "options_v1_get_margin_account", + "path": "binance.client.Client.options_v1_get_margin_account", + "signature": "(self, **params)", + "description": "Placeholder function for GET /eapi/v1/marginAccount.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/option/market-maker-endpoints\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_v1_get_margin_account(self, **params):\n \"\"\"\n Placeholder function for GET /eapi/v1/marginAccount.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-endpoints\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"marginAccount\", signed=True, data=params)" + }, + "options_get_market_maker_protection_config": { + "name": "options_get_market_maker_protection_config", + "path": "binance.client.Client.options_get_market_maker_protection_config", + "signature": "(self, **params)", + "description": "Get config for MMP.\n\nhttps://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Get-Market-Maker-Protection-Config\n\n:param underlying: required\n:type underlying: str\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_get_market_maker_protection_config(self, **params):\n \"\"\"\n Get config for MMP.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Get-Market-Maker-Protection-Config\n\n :param underlying: required\n :type underlying: str\n :param recvWindow: optional\n :type recvWindow: int\n \"\"\"\n return self._request_options_api(\"get\", \"mmp\", signed=True, data=params)" + }, + "options_post_market_maker_protection_config": { + "name": "options_post_market_maker_protection_config", + "path": "binance.client.Client.options_post_market_maker_protection_config", + "signature": "(self, **params)", + "description": "Set config for MMP.\n\nhttps://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Set-Market-Maker-Protection-Config\n\n:param underlying: required\n:type underlying: str\n:param windowTimeInMilliseconds: required\n:type windowTimeInMilliseconds: int\n:param frozenTimeInMilliseconds: required\n:type frozenTimeInMilliseconds: int\n:param qtyLimit: required\n:type qtyLimit: decimal\n:param deltaLimit: required\n:type deltaLimit: decimal\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_post_market_maker_protection_config(self, **params):\n \"\"\"\n Set config for MMP.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Set-Market-Maker-Protection-Config\n\n :param underlying: required\n :type underlying: str\n :param windowTimeInMilliseconds: required\n :type windowTimeInMilliseconds: int\n :param frozenTimeInMilliseconds: required\n :type frozenTimeInMilliseconds: int\n :param qtyLimit: required\n :type qtyLimit: decimal\n :param deltaLimit: required\n :type deltaLimit: decimal\n :param recvWindow: optional\n :type recvWindow: int\n \"\"\"\n return self._request_options_api(\"post\", \"mmpSet\", signed=True, data=params)" + }, + "options_reset_market_maker_protection_config": { + "name": "options_reset_market_maker_protection_config", + "path": "binance.client.Client.options_reset_market_maker_protection_config", + "signature": "(self, **params)", + "description": "Reset MMP, start MMP order again.\n\nhttps://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Reset-Market-Maker-Protection-Config\n\n:param underlying: required\n:type underlying: str\n:param recvWindow: optional\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_reset_market_maker_protection_config(self, **params):\n \"\"\"\n Reset MMP, start MMP order again.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Reset-Market-Maker-Protection-Config\n\n :param underlying: required\n :type underlying: str\n :param recvWindow: optional\n :type recvWindow: int\n \"\"\"\n return self._request_options_api(\"post\", \"mmpReset\", signed=True, data=params)" + }, + "margin_v1_post_localentity_withdraw_apply": { + "name": "margin_v1_post_localentity_withdraw_apply", + "path": "binance.client.Client.margin_v1_post_localentity_withdraw_apply", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/localentity/withdraw/apply.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/travel-rule/withdraw\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_localentity_withdraw_apply(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/localentity/withdraw/apply.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/travel-rule/withdraw\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"localentity/withdraw/apply\", signed=True, data=params, version=1)" + }, + "margin_v1_get_asset_wallet_balance": { + "name": "margin_v1_get_asset_wallet_balance", + "path": "binance.client.Client.margin_v1_get_asset_wallet_balance", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/asset/wallet/balance.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/asset/query-user-wallet-balance\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_asset_wallet_balance(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/asset/wallet/balance.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/asset/query-user-wallet-balance\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"asset/wallet/balance\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_transfer": { + "name": "margin_v1_post_broker_transfer", + "path": "binance.client.Client.margin_v1_post_broker_transfer", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/transfer.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/asset\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_transfer(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/transfer.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/transfer\", signed=True, data=params, version=1)" + }, + "margin_v1_post_lending_customized_fixed_purchase": { + "name": "margin_v1_post_lending_customized_fixed_purchase", + "path": "binance.client.Client.margin_v1_post_lending_customized_fixed_purchase", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/lending/customizedFixed/purchase.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_lending_customized_fixed_purchase(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/lending/customizedFixed/purchase.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"lending/customizedFixed/purchase\", signed=True, data=params, version=1)" + }, + "margin_v1_post_algo_futures_new_order_twap": { + "name": "margin_v1_post_algo_futures_new_order_twap", + "path": "binance.client.Client.margin_v1_post_algo_futures_new_order_twap", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/algo/futures/newOrderTwap.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/algo/future-algo/Time-Weighted-Average-Price-New-Order\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_algo_futures_new_order_twap(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/algo/futures/newOrderTwap.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/algo/future-algo/Time-Weighted-Average-Price-New-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"algo/futures/newOrderTwap\", signed=True, data=params, version=1)" + }, + "margin_v2_post_eth_staking_eth_stake": { + "name": "margin_v2_post_eth_staking_eth_stake", + "path": "binance.client.Client.margin_v2_post_eth_staking_eth_stake", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v2/eth-staking/eth/stake.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/eth-staking/staking\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_post_eth_staking_eth_stake(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v2/eth-staking/eth/stake.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/eth-staking/staking\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"eth-staking/eth/stake\", signed=True, data=params, version=2)" + }, + "margin_v1_post_loan_flexible_repay_history": { + "name": "margin_v1_post_loan_flexible_repay_history", + "path": "binance.client.Client.margin_v1_post_loan_flexible_repay_history", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/loan/flexible/repay/history.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_loan_flexible_repay_history(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/flexible/repay/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/flexible/repay/history\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_index_info": { + "name": "margin_v1_get_lending_auto_invest_index_info", + "path": "binance.client.Client.margin_v1_get_lending_auto_invest_index_info", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/lending/auto-invest/index/info.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_lending_auto_invest_index_info(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/index/info.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/index/info\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_sol_history_redemption_history": { + "name": "margin_v1_get_sol_staking_sol_history_redemption_history", + "path": "binance.client.Client.margin_v1_get_sol_staking_sol_history_redemption_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/sol-staking/sol/history/redemptionHistory.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-redemption-history\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_sol_staking_sol_history_redemption_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/sol/history/redemptionHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-redemption-history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/sol/history/redemptionHistory\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_rebate_futures_recent_record": { + "name": "margin_v1_get_broker_rebate_futures_recent_record", + "path": "binance.client.Client.margin_v1_get_broker_rebate_futures_recent_record", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/rebate/futures/recentRecord.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/fee/Query-Futures-Commission-Rebate-Record\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_rebate_futures_recent_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/rebate/futures/recentRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/fee/Query-Futures-Commission-Rebate-Record\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/rebate/futures/recentRecord\", signed=True, data=params, version=1)" + }, + "margin_v3_get_broker_sub_account_futures_summary": { + "name": "margin_v3_get_broker_sub_account_futures_summary", + "path": "binance.client.Client.margin_v3_get_broker_sub_account_futures_summary", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v3/broker/subAccount/futuresSummary.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Futures-Asset-Info\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v3_get_broker_sub_account_futures_summary(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v3/broker/subAccount/futuresSummary.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Futures-Asset-Info\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount/futuresSummary\", signed=True, data=params, version=3)" + }, + "margin_v1_get_lending_auto_invest_target_asset_roi_list": { + "name": "margin_v1_get_lending_auto_invest_target_asset_roi_list", + "path": "binance.client.Client.margin_v1_get_lending_auto_invest_target_asset_roi_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/lending/auto-invest/target-asset/roi/list.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_lending_auto_invest_target_asset_roi_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/target-asset/roi/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/target-asset/roi/list\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_universal_transfer": { + "name": "margin_v1_get_broker_universal_transfer", + "path": "binance.client.Client.margin_v1_get_broker_universal_transfer", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/universalTransfer.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Universal-Transfer-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_universal_transfer(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/universalTransfer.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Universal-Transfer-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/universalTransfer\", signed=True, data=params, version=1)" + }, + "futures_v1_put_batch_orders": { + "name": "futures_v1_put_batch_orders", + "path": "binance.client.Client.futures_v1_put_batch_orders", + "signature": "(self, **params)", + "description": "Placeholder function for PUT /fapi/v1/batchOrders.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Modify-Multiple-Orders\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_put_batch_orders(self, **params):\n \"\"\"\n Placeholder function for PUT /fapi/v1/batchOrders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Modify-Multiple-Orders\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"put\", \"batchOrders\", signed=True, data=params, version=1)" + }, + "options_v1_post_countdown_cancel_all_heart_beat": { + "name": "options_v1_post_countdown_cancel_all_heart_beat", + "path": "binance.client.Client.options_v1_post_countdown_cancel_all_heart_beat", + "signature": "(self, **params)", + "description": "Placeholder function for POST /eapi/v1/countdownCancelAllHeartBeat.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Auto-Cancel-All-Open-Orders-Heartbeat\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_v1_post_countdown_cancel_all_heart_beat(self, **params):\n \"\"\"\n Placeholder function for POST /eapi/v1/countdownCancelAllHeartBeat.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Auto-Cancel-All-Open-Orders-Heartbeat\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"post\", \"countdownCancelAllHeartBeat\", signed=True, data=params)" + }, + "margin_v1_get_loan_collateral_data": { + "name": "margin_v1_get_loan_collateral_data", + "path": "binance.client.Client.margin_v1_get_loan_collateral_data", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/loan/collateral/data.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_loan_collateral_data(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/collateral/data.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/collateral/data\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_repay_history": { + "name": "margin_v1_get_loan_repay_history", + "path": "binance.client.Client.margin_v1_get_loan_repay_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/loan/repay/history.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Repayment-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_loan_repay_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/repay/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Repayment-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/repay/history\", signed=True, data=params, version=1)" + }, + "margin_v1_post_convert_limit_place_order": { + "name": "margin_v1_post_convert_limit_place_order", + "path": "binance.client.Client.margin_v1_post_convert_limit_place_order", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/convert/limit/placeOrder.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/convert/trade/Place-Order\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_convert_limit_place_order(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/convert/limit/placeOrder.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/convert/trade/Place-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"convert/limit/placeOrder\", signed=True, data=params, version=1)" + }, + "futures_v1_get_convert_exchange_info": { + "name": "futures_v1_get_convert_exchange_info", + "path": "binance.client.Client.futures_v1_get_convert_exchange_info", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/convert/exchangeInfo.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/convert\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_convert_exchange_info(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/convert/exchangeInfo.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/convert\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"convert/exchangeInfo\", signed=False, data=params, version=1)" + }, + "v3_get_all_order_list": { + "name": "v3_get_all_order_list", + "path": "binance.client.Client.v3_get_all_order_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /api/v3/allOrderList.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def v3_get_all_order_list(self, **params):\n \"\"\"\n Placeholder function for GET /api/v3/allOrderList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"get\", \"allOrderList\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_delete_broker_sub_account_api_ip_restriction_ip_list": { + "name": "margin_v1_delete_broker_sub_account_api_ip_restriction_ip_list", + "path": "binance.client.Client.margin_v1_delete_broker_sub_account_api_ip_restriction_ip_list", + "signature": "(self, **params)", + "description": "Placeholder function for DELETE /sapi/v1/broker/subAccountApi/ipRestriction/ipList.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/account/Delete-IPRestriction-for-Sub-Account-Api-Key\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_delete_broker_sub_account_api_ip_restriction_ip_list(self, **params):\n \"\"\"\n Placeholder function for DELETE /sapi/v1/broker/subAccountApi/ipRestriction/ipList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Delete-IPRestriction-for-Sub-Account-Api-Key\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"delete\", \"broker/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)" + }, + "margin_v1_post_sub_account_virtual_sub_account": { + "name": "margin_v1_post_sub_account_virtual_sub_account", + "path": "binance.client.Client.margin_v1_post_sub_account_virtual_sub_account", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/sub-account/virtualSubAccount.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/account-management\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_sub_account_virtual_sub_account(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sub-account/virtualSubAccount.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/account-management\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sub-account/virtualSubAccount\", signed=True, data=params, version=1)" + }, + "margin_v1_put_localentity_deposit_provide_info": { + "name": "margin_v1_put_localentity_deposit_provide_info", + "path": "binance.client.Client.margin_v1_put_localentity_deposit_provide_info", + "signature": "(self, **params)", + "description": "Placeholder function for PUT /sapi/v1/localentity/deposit/provide-info.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/travel-rule/deposit-provide-info\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_put_localentity_deposit_provide_info(self, **params):\n \"\"\"\n Placeholder function for PUT /sapi/v1/localentity/deposit/provide-info.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/travel-rule/deposit-provide-info\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"put\", \"localentity/deposit/provide-info\", signed=True, data=params, version=1)" + }, + "margin_v1_post_portfolio_mint": { + "name": "margin_v1_post_portfolio_mint", + "path": "binance.client.Client.margin_v1_post_portfolio_mint", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/portfolio/mint.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Mint-BFUSD-Portfolio-Margin\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_portfolio_mint(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/portfolio/mint.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Mint-BFUSD-Portfolio-Margin\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"portfolio/mint\", signed=True, data=params, version=1)" + }, + "futures_v1_get_order_amendment": { + "name": "futures_v1_get_order_amendment", + "path": "binance.client.Client.futures_v1_get_order_amendment", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/orderAmendment.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Get-Order-Modify-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_order_amendment(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/orderAmendment.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Get-Order-Modify-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"orderAmendment\", signed=True, data=params, version=1)" + }, + "margin_v1_post_sol_staking_sol_claim": { + "name": "margin_v1_post_sol_staking_sol_claim", + "path": "binance.client.Client.margin_v1_post_sol_staking_sol_claim", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/sol-staking/sol/claim.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/sol-staking/staking/Claim-Boost-rewards\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_sol_staking_sol_claim(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sol-staking/sol/claim.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/staking/Claim-Boost-rewards\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sol-staking/sol/claim\", signed=True, data=params, version=1)" + }, + "margin_v1_post_lending_daily_redeem": { + "name": "margin_v1_post_lending_daily_redeem", + "path": "binance.client.Client.margin_v1_post_lending_daily_redeem", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/lending/daily/redeem.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_lending_daily_redeem(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/lending/daily/redeem.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"lending/daily/redeem\", signed=True, data=params, version=1)" + }, + "margin_v1_post_mining_hash_transfer_config": { + "name": "margin_v1_post_mining_hash_transfer_config", + "path": "binance.client.Client.margin_v1_post_mining_hash_transfer_config", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/mining/hash-transfer/config.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-Request\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_mining_hash_transfer_config(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/mining/hash-transfer/config.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-Request\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"mining/hash-transfer/config\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_rebalance_history": { + "name": "margin_v1_get_lending_auto_invest_rebalance_history", + "path": "binance.client.Client.margin_v1_get_lending_auto_invest_rebalance_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/lending/auto-invest/rebalance/history.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_lending_auto_invest_rebalance_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/rebalance/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/rebalance/history\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_repay_collateral_rate": { + "name": "margin_v1_get_loan_repay_collateral_rate", + "path": "binance.client.Client.margin_v1_get_loan_repay_collateral_rate", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/loan/repay/collateral/rate.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_loan_repay_collateral_rate(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/repay/collateral/rate.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/repay/collateral/rate\", signed=True, data=params, version=1)" + }, + "futures_v1_get_income_asyn": { + "name": "futures_v1_get_income_asyn", + "path": "binance.client.Client.futures_v1_get_income_asyn", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/income/asyn.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Transaction-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_income_asyn(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/income/asyn.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Transaction-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"income/asyn\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_payment_uid": { + "name": "margin_v1_get_mining_payment_uid", + "path": "binance.client.Client.margin_v1_get_mining_payment_uid", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/mining/payment/uid.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/mining/rest-api/Mining-Account-Earning\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_mining_payment_uid(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/payment/uid.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Mining-Account-Earning\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/payment/uid\", signed=True, data=params, version=1)" + }, + "margin_v2_get_loan_flexible_borrow_history": { + "name": "margin_v2_get_loan_flexible_borrow_history", + "path": "binance.client.Client.margin_v2_get_loan_flexible_borrow_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v2/loan/flexible/borrow/history.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Borrow-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_get_loan_flexible_borrow_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/loan/flexible/borrow/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Borrow-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/flexible/borrow/history\", signed=True, data=params, version=2)" + }, + "margin_v1_get_capital_contract_convertible_coins": { + "name": "margin_v1_get_capital_contract_convertible_coins", + "path": "binance.client.Client.margin_v1_get_capital_contract_convertible_coins", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/capital/contract/convertible-coins.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_capital_contract_convertible_coins(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/capital/contract/convertible-coins.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"capital/contract/convertible-coins\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api_permission_vanilla_options": { + "name": "margin_v1_post_broker_sub_account_api_permission_vanilla_options", + "path": "binance.client.Client.margin_v1_post_broker_sub_account_api_permission_vanilla_options", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/subAccountApi/permission/vanillaOptions.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_sub_account_api_permission_vanilla_options(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/permission/vanillaOptions.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/permission/vanillaOptions\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_redeem_history": { + "name": "margin_v1_get_lending_auto_invest_redeem_history", + "path": "binance.client.Client.margin_v1_get_lending_auto_invest_redeem_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/lending/auto-invest/redeem/history.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/travel-rule/withdraw-history\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_lending_auto_invest_redeem_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/redeem/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/travel-rule/withdraw-history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/redeem/history\", signed=True, data=params, version=1)" + }, + "margin_v2_get_localentity_withdraw_history": { + "name": "margin_v2_get_localentity_withdraw_history", + "path": "binance.client.Client.margin_v2_get_localentity_withdraw_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v2/localentity/withdraw/history.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/travel-rule/withdraw-history-v2\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_get_localentity_withdraw_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/localentity/withdraw/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/travel-rule/withdraw-history-v2\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"localentity/withdraw/history\", signed=True, data=params, version=2)" + }, + "margin_v1_get_eth_staking_eth_history_redemption_history": { + "name": "margin_v1_get_eth_staking_eth_history_redemption_history", + "path": "binance.client.Client.margin_v1_get_eth_staking_eth_history_redemption_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/eth-staking/eth/history/redemptionHistory.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-redemption-history\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_eth_staking_eth_history_redemption_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/eth-staking/eth/history/redemptionHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-redemption-history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"eth-staking/eth/history/redemptionHistory\", signed=True, data=params, version=1)" + }, + "futures_v1_get_fee_burn": { + "name": "futures_v1_get_fee_burn", + "path": "binance.client.Client.futures_v1_get_fee_burn", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/feeBurn.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-BNB-Burn-Status\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_fee_burn(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/feeBurn.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-BNB-Burn-Status\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"feeBurn\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_index_user_summary": { + "name": "margin_v1_get_lending_auto_invest_index_user_summary", + "path": "binance.client.Client.margin_v1_get_lending_auto_invest_index_user_summary", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/lending/auto-invest/index/user-summary.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_lending_auto_invest_index_user_summary(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/index/user-summary.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/index/user-summary\", signed=True, data=params, version=1)" + }, + "margin_v2_post_loan_flexible_borrow": { + "name": "margin_v2_post_loan_flexible_borrow", + "path": "binance.client.Client.margin_v2_post_loan_flexible_borrow", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v2/loan/flexible/borrow.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/crypto_loan/flexible-rate/trade\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_post_loan_flexible_borrow(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v2/loan/flexible/borrow.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/trade\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/flexible/borrow\", signed=True, data=params, version=2)" + }, + "margin_v1_post_loan_vip_repay": { + "name": "margin_v1_post_loan_vip_repay", + "path": "binance.client.Client.margin_v1_post_loan_vip_repay", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/loan/vip/repay.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/vip_loan/trade/VIP-Loan-Repay\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_loan_vip_repay(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/vip/repay.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/vip_loan/trade/VIP-Loan-Repay\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/vip/repay\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_get_commission_rate": { + "name": "futures_coin_v1_get_commission_rate", + "path": "binance.client.Client.futures_coin_v1_get_commission_rate", + "signature": "(self, **params)", + "description": "Placeholder function for GET /dapi/v1/commissionRate.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/User-Commission-Rate\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_v1_get_commission_rate(self, **params):\n \"\"\"\n Placeholder function for GET /dapi/v1/commissionRate.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/User-Commission-Rate\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"commissionRate\", signed=True, data=params, version=1)" + }, + "margin_v1_get_convert_asset_info": { + "name": "margin_v1_get_convert_asset_info", + "path": "binance.client.Client.margin_v1_get_convert_asset_info", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/convert/assetInfo.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/convert/market-data/Query-order-quantity-precision-per-asset\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_convert_asset_info(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/convert/assetInfo.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/convert/market-data/Query-order-quantity-precision-per-asset\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"convert/assetInfo\", signed=True, data=params, version=1)" + }, + "v3_post_sor_order_test": { + "name": "v3_post_sor_order_test", + "path": "binance.client.Client.v3_post_sor_order_test", + "signature": "(self, **params)", + "description": "Placeholder function for POST /api/v3/sor/order/test.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def v3_post_sor_order_test(self, **params):\n \"\"\"\n Placeholder function for POST /api/v3/sor/order/test.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"post\", \"sor/order/test\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_post_broker_universal_transfer": { + "name": "margin_v1_post_broker_universal_transfer", + "path": "binance.client.Client.margin_v1_post_broker_universal_transfer", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/universalTransfer.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/asset/Universal-Transfer\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_universal_transfer(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/universalTransfer.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Universal-Transfer\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/universalTransfer\", signed=True, data=params, version=1)" + }, + "margin_v1_post_account_disable_fast_withdraw_switch": { + "name": "margin_v1_post_account_disable_fast_withdraw_switch", + "path": "binance.client.Client.margin_v1_post_account_disable_fast_withdraw_switch", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/account/disableFastWithdrawSwitch.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/account/disable-fast-withdraw-switch\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_account_disable_fast_withdraw_switch(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/account/disableFastWithdrawSwitch.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/account/disable-fast-withdraw-switch\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"account/disableFastWithdrawSwitch\", signed=True, data=params, version=1)" + }, + "futures_v1_get_asset_index": { + "name": "futures_v1_get_asset_index", + "path": "binance.client.Client.futures_v1_get_asset_index", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/assetIndex.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Multi-Assets-Mode-Asset-Index\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_asset_index(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/assetIndex.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Multi-Assets-Mode-Asset-Index\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"assetIndex\", signed=False, data=params, version=1)" + }, + "margin_v1_get_account_api_restrictions_ip_restriction": { + "name": "margin_v1_get_account_api_restrictions_ip_restriction", + "path": "binance.client.Client.margin_v1_get_account_api_restrictions_ip_restriction", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/account/apiRestrictions/ipRestriction.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_account_api_restrictions_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/account/apiRestrictions/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"account/apiRestrictions/ipRestriction\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_bnb_burn_spot": { + "name": "margin_v1_post_broker_sub_account_bnb_burn_spot", + "path": "binance.client.Client.margin_v1_post_broker_sub_account_bnb_burn_spot", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/subAccount/bnbBurn/spot.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/account/Enable-Or-Disable-BNB-Burn-for-Sub-Account-Spot-Margin\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_sub_account_bnb_burn_spot(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccount/bnbBurn/spot.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Enable-Or-Disable-BNB-Burn-for-Sub-Account-Spot-Margin\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccount/bnbBurn/spot\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_put_order": { + "name": "futures_coin_v1_put_order", + "path": "binance.client.Client.futures_coin_v1_put_order", + "signature": "(self, **params)", + "description": "Placeholder function for PUT /dapi/v1/order.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Modify-Order\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_v1_put_order(self, **params):\n \"\"\"\n Placeholder function for PUT /dapi/v1/order.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Modify-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"put\", \"order\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_put_batch_orders": { + "name": "futures_coin_v1_put_batch_orders", + "path": "binance.client.Client.futures_coin_v1_put_batch_orders", + "signature": "(self, **params)", + "description": "Placeholder function for PUT /dapi/v1/batchOrders.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Modify-Multiple-Orders\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_v1_put_batch_orders(self, **params):\n \"\"\"\n Placeholder function for PUT /dapi/v1/batchOrders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Modify-Multiple-Orders\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"put\", \"batchOrders\", signed=True, data=params, version=1)" + }, + "margin_v1_get_margin_delist_schedule": { + "name": "margin_v1_get_margin_delist_schedule", + "path": "binance.client.Client.margin_v1_get_margin_delist_schedule", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/margin/delist-schedule.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_margin_delist_schedule(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/margin/delist-schedule.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/delist-schedule\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api_permission_universal_transfer": { + "name": "margin_v1_post_broker_sub_account_api_permission_universal_transfer", + "path": "binance.client.Client.margin_v1_post_broker_sub_account_api_permission_universal_transfer", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/subAccountApi/permission/universalTransfer.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/account/Enable-Universal-Transfer-Permission-For-SubAccount-Api-Key\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_sub_account_api_permission_universal_transfer(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/permission/universalTransfer.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Enable-Universal-Transfer-Permission-For-SubAccount-Api-Key\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/permission/universalTransfer\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_ltv_adjustment_history": { + "name": "margin_v1_get_loan_ltv_adjustment_history", + "path": "binance.client.Client.margin_v1_get_loan_ltv_adjustment_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/loan/ltv/adjustment/history.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-LTV-Adjustment-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_loan_ltv_adjustment_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/ltv/adjustment/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-LTV-Adjustment-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/ltv/adjustment/history\", signed=True, data=params, version=1)" + }, + "margin_v1_get_localentity_withdraw_history": { + "name": "margin_v1_get_localentity_withdraw_history", + "path": "binance.client.Client.margin_v1_get_localentity_withdraw_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/localentity/withdraw/history.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_localentity_withdraw_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/localentity/withdraw/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"localentity/withdraw/history\", signed=True, data=params, version=1)" + }, + "margin_v2_post_sub_account_sub_account_api_ip_restriction": { + "name": "margin_v2_post_sub_account_sub_account_api_ip_restriction", + "path": "binance.client.Client.margin_v2_post_sub_account_sub_account_api_ip_restriction", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v2/sub-account/subAccountApi/ipRestriction.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/api-management/Add-IP-Restriction-for-Sub-Account-API-key\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_post_sub_account_sub_account_api_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v2/sub-account/subAccountApi/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/api-management/Add-IP-Restriction-for-Sub-Account-API-key\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sub-account/subAccountApi/ipRestriction\", signed=True, data=params, version=2)" + }, + "futures_v1_get_rate_limit_order": { + "name": "futures_v1_get_rate_limit_order", + "path": "binance.client.Client.futures_v1_get_rate_limit_order", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/rateLimit/order.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Query-Rate-Limit\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_rate_limit_order(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/rateLimit/order.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Query-Rate-Limit\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"rateLimit/order\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account_api_commission_futures": { + "name": "margin_v1_get_broker_sub_account_api_commission_futures", + "path": "binance.client.Client.margin_v1_get_broker_sub_account_api_commission_futures", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/subAccountApi/commission/futures.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/fee/Query-Sub-Account-UM-Futures-Commission\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_sub_account_api_commission_futures(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccountApi/commission/futures.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/fee/Query-Sub-Account-UM-Futures-Commission\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccountApi/commission/futures\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_sol_history_staking_history": { + "name": "margin_v1_get_sol_staking_sol_history_staking_history", + "path": "binance.client.Client.margin_v1_get_sol_staking_sol_history_staking_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/sol-staking/sol/history/stakingHistory.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/sol-staking/history\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_sol_staking_sol_history_staking_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/sol/history/stakingHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/sol/history/stakingHistory\", signed=True, data=params, version=1)" + }, + "futures_v1_get_open_order": { + "name": "futures_v1_get_open_order", + "path": "binance.client.Client.futures_v1_get_open_order", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/openOrder.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-Current-Open-Order\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_open_order(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/openOrder.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-Current-Open-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"openOrder\", signed=True, data=params, version=1)" + }, + "margin_v1_delete_algo_spot_order": { + "name": "margin_v1_delete_algo_spot_order", + "path": "binance.client.Client.margin_v1_delete_algo_spot_order", + "signature": "(self, **params)", + "description": "Placeholder function for DELETE /sapi/v1/algo/spot/order.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/algo/spot-algo/Cancel-Algo-Order\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_delete_algo_spot_order(self, **params):\n \"\"\"\n Placeholder function for DELETE /sapi/v1/algo/spot/order.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/algo/spot-algo/Cancel-Algo-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"delete\", \"algo/spot/order\", signed=True, data=params, version=1)" + }, + "margin_v1_delete_account_api_restrictions_ip_restriction_ip_list": { + "name": "margin_v1_delete_account_api_restrictions_ip_restriction_ip_list", + "path": "binance.client.Client.margin_v1_delete_account_api_restrictions_ip_restriction_ip_list", + "signature": "(self, **params)", + "description": "Placeholder function for DELETE /sapi/v1/account/apiRestrictions/ipRestriction/ipList.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_delete_account_api_restrictions_ip_restriction_ip_list(self, **params):\n \"\"\"\n Placeholder function for DELETE /sapi/v1/account/apiRestrictions/ipRestriction/ipList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"delete\", \"account/apiRestrictions/ipRestriction/ipList\", signed=True, data=params, version=1)" + }, + "margin_v1_post_capital_contract_convertible_coins": { + "name": "margin_v1_post_capital_contract_convertible_coins", + "path": "binance.client.Client.margin_v1_post_capital_contract_convertible_coins", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/capital/contract/convertible-coins.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_capital_contract_convertible_coins(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/capital/contract/convertible-coins.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"capital/contract/convertible-coins\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_margin_asset": { + "name": "margin_v1_get_managed_subaccount_margin_asset", + "path": "binance.client.Client.margin_v1_get_managed_subaccount_margin_asset", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/managed-subaccount/marginAsset.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-Margin-Asset-Details\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_managed_subaccount_margin_asset(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/marginAsset.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-Margin-Asset-Details\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/marginAsset\", signed=True, data=params, version=1)" + }, + "v3_delete_order_list": { + "name": "v3_delete_order_list", + "path": "binance.client.Client.v3_delete_order_list", + "signature": "(self, **params)", + "description": "Placeholder function for DELETE /api/v3/orderList.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def v3_delete_order_list(self, **params):\n \"\"\"\n Placeholder function for DELETE /api/v3/orderList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"delete\", \"orderList\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_post_sub_account_sub_account_api_ip_restriction_ip_list": { + "name": "margin_v1_post_sub_account_sub_account_api_ip_restriction_ip_list", + "path": "binance.client.Client.margin_v1_post_sub_account_sub_account_api_ip_restriction_ip_list", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/sub-account/subAccountApi/ipRestriction/ipList.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_sub_account_sub_account_api_ip_restriction_ip_list(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sub-account/subAccountApi/ipRestriction/ipList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sub-account/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api_commission": { + "name": "margin_v1_post_broker_sub_account_api_commission", + "path": "binance.client.Client.margin_v1_post_broker_sub_account_api_commission", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/subAccountApi/commission.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/fee\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_sub_account_api_commission(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/commission.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/fee\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/commission\", signed=True, data=params, version=1)" + }, + "futures_v1_post_fee_burn": { + "name": "futures_v1_post_fee_burn", + "path": "binance.client.Client.futures_v1_post_fee_burn", + "signature": "(self, **params)", + "description": "Placeholder function for POST /fapi/v1/feeBurn.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Toggle-BNB-Burn-On-Futures-Trade\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_post_fee_burn(self, **params):\n \"\"\"\n Placeholder function for POST /fapi/v1/feeBurn.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Toggle-BNB-Burn-On-Futures-Trade\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"post\", \"feeBurn\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account_margin_summary": { + "name": "margin_v1_get_broker_sub_account_margin_summary", + "path": "binance.client.Client.margin_v1_get_broker_sub_account_margin_summary", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/subAccount/marginSummary.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Margin-Asset-Info\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_sub_account_margin_summary(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccount/marginSummary.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Margin-Asset-Info\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount/marginSummary\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_plan_list": { + "name": "margin_v1_get_lending_auto_invest_plan_list", + "path": "binance.client.Client.margin_v1_get_lending_auto_invest_plan_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/lending/auto-invest/plan/list.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_lending_auto_invest_plan_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/plan/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/plan/list\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_vip_loanable_data": { + "name": "margin_v1_get_loan_vip_loanable_data", + "path": "binance.client.Client.margin_v1_get_loan_vip_loanable_data", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/loan/vip/loanable/data.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/vip_loan/market-data/Get-Loanable-Assets-Data\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_loan_vip_loanable_data(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/vip/loanable/data.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/vip_loan/market-data/Get-Loanable-Assets-Data\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/vip/loanable/data\", signed=True, data=params, version=1)" + }, + "margin_v2_get_loan_flexible_collateral_data": { + "name": "margin_v2_get_loan_flexible_collateral_data", + "path": "binance.client.Client.margin_v2_get_loan_flexible_collateral_data", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v2/loan/flexible/collateral/data.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/crypto_loan/flexible-rate/market-data\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_get_loan_flexible_collateral_data(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/loan/flexible/collateral/data.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/market-data\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/flexible/collateral/data\", signed=True, data=params, version=2)" + }, + "margin_v1_delete_broker_sub_account_api": { + "name": "margin_v1_delete_broker_sub_account_api", + "path": "binance.client.Client.margin_v1_delete_broker_sub_account_api", + "signature": "(self, **params)", + "description": "Placeholder function for DELETE /sapi/v1/broker/subAccountApi.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/account/Delete-Sub-Account-Api-Key\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_delete_broker_sub_account_api(self, **params):\n \"\"\"\n Placeholder function for DELETE /sapi/v1/broker/subAccountApi.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Delete-Sub-Account-Api-Key\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"delete\", \"broker/subAccountApi\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_sol_history_bnsol_rewards_history": { + "name": "margin_v1_get_sol_staking_sol_history_bnsol_rewards_history", + "path": "binance.client.Client.margin_v1_get_sol_staking_sol_history_bnsol_rewards_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/sol-staking/sol/history/bnsolRewardsHistory.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-rewards-history\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_sol_staking_sol_history_bnsol_rewards_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/sol/history/bnsolRewardsHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-rewards-history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/sol/history/bnsolRewardsHistory\", signed=True, data=params, version=1)" + }, + "margin_v1_get_convert_limit_query_open_orders": { + "name": "margin_v1_get_convert_limit_query_open_orders", + "path": "binance.client.Client.margin_v1_get_convert_limit_query_open_orders", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/convert/limit/queryOpenOrders.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/convert/trade/Query-Order\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_convert_limit_query_open_orders(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/convert/limit/queryOpenOrders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/convert/trade/Query-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"convert/limit/queryOpenOrders\", signed=True, data=params, version=1)" + }, + "v3_get_account_commission": { + "name": "v3_get_account_commission", + "path": "binance.client.Client.v3_get_account_commission", + "signature": "(self, **params)", + "description": "Placeholder function for GET /api/v3/account/commission.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def v3_get_account_commission(self, **params):\n \"\"\"\n Placeholder function for GET /api/v3/account/commission.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"get\", \"account/commission\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_get_managed_subaccount_query_trans_log": { + "name": "margin_v1_get_managed_subaccount_query_trans_log", + "path": "binance.client.Client.margin_v1_get_managed_subaccount_query_trans_log", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/managed-subaccount/query-trans-log.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-Account-Transfer-Log-Trading-Team-Sub\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_managed_subaccount_query_trans_log(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/query-trans-log.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-Account-Transfer-Log-Trading-Team-Sub\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/query-trans-log\", signed=True, data=params, version=1)" + }, + "margin_v2_post_broker_sub_account_api_ip_restriction": { + "name": "margin_v2_post_broker_sub_account_api_ip_restriction", + "path": "binance.client.Client.margin_v2_post_broker_sub_account_api_ip_restriction", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v2/broker/subAccountApi/ipRestriction.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/account/Update-IP-Restriction-for-Sub-Account-API-key-For-Master-Account\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_post_broker_sub_account_api_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v2/broker/subAccountApi/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Update-IP-Restriction-for-Sub-Account-API-key-For-Master-Account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/ipRestriction\", signed=True, data=params, version=2)" + }, + "margin_v1_get_lending_auto_invest_all_asset": { + "name": "margin_v1_get_lending_auto_invest_all_asset", + "path": "binance.client.Client.margin_v1_get_lending_auto_invest_all_asset", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/lending/auto-invest/all/asset.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_lending_auto_invest_all_asset(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/all/asset.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/all/asset\", signed=True, data=params, version=1)" + }, + "futures_v1_post_convert_accept_quote": { + "name": "futures_v1_post_convert_accept_quote", + "path": "binance.client.Client.futures_v1_post_convert_accept_quote", + "signature": "(self, **params)", + "description": "Placeholder function for POST /fapi/v1/convert/acceptQuote.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/convert/Accept-Quote\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_post_convert_accept_quote(self, **params):\n \"\"\"\n Placeholder function for POST /fapi/v1/convert/acceptQuote.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/convert/Accept-Quote\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"post\", \"convert/acceptQuote\", signed=True, data=params, version=1)" + }, + "margin_v1_get_spot_delist_schedule": { + "name": "margin_v1_get_spot_delist_schedule", + "path": "binance.client.Client.margin_v1_get_spot_delist_schedule", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/spot/delist-schedule.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/asset/spot-delist-schedule\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_spot_delist_schedule(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/spot/delist-schedule.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/asset/spot-delist-schedule\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"spot/delist-schedule\", signed=True, data=params, version=1)" + }, + "margin_v1_post_account_api_restrictions_ip_restriction": { + "name": "margin_v1_post_account_api_restrictions_ip_restriction", + "path": "binance.client.Client.margin_v1_post_account_api_restrictions_ip_restriction", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/account/apiRestrictions/ipRestriction.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_account_api_restrictions_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/account/apiRestrictions/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"account/apiRestrictions/ipRestriction\", signed=True, data=params, version=1)" + }, + "margin_v1_get_dci_product_accounts": { + "name": "margin_v1_get_dci_product_accounts", + "path": "binance.client.Client.margin_v1_get_dci_product_accounts", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/dci/product/accounts.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/dual_investment/trade/Check-Dual-Investment-accounts\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_dci_product_accounts(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/dci/product/accounts.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/dual_investment/trade/Check-Dual-Investment-accounts\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"dci/product/accounts\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sub_account_sub_account_api_ip_restriction": { + "name": "margin_v1_get_sub_account_sub_account_api_ip_restriction", + "path": "binance.client.Client.margin_v1_get_sub_account_sub_account_api_ip_restriction", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/sub-account/subAccountApi/ipRestriction.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/api-management\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_sub_account_sub_account_api_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sub-account/subAccountApi/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/api-management\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sub-account/subAccountApi/ipRestriction\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sub_account_transaction_statistics": { + "name": "margin_v1_get_sub_account_transaction_statistics", + "path": "binance.client.Client.margin_v1_get_sub_account_transaction_statistics", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/sub-account/transaction-statistics.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/account-management/Query-Sub-account-Transaction-Statistics\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_sub_account_transaction_statistics(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sub-account/transaction-statistics.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/account-management/Query-Sub-account-Transaction-Statistics\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sub-account/transaction-statistics\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_deposit_address": { + "name": "margin_v1_get_managed_subaccount_deposit_address", + "path": "binance.client.Client.margin_v1_get_managed_subaccount_deposit_address", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/managed-subaccount/deposit/address.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/managed-sub-account/Get-Managed-Sub-account-Deposit-Address\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_managed_subaccount_deposit_address(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/deposit/address.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Get-Managed-Sub-account-Deposit-Address\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/deposit/address\", signed=True, data=params, version=1)" + }, + "margin_v2_get_portfolio_account": { + "name": "margin_v2_get_portfolio_account", + "path": "binance.client.Client.margin_v2_get_portfolio_account", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v2/portfolio/account.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Account-Info-V2\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_get_portfolio_account(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/portfolio/account.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Account-Info-V2\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"portfolio/account\", signed=True, data=params, version=2)" + }, + "margin_v1_get_simple_earn_locked_history_redemption_record": { + "name": "margin_v1_get_simple_earn_locked_history_redemption_record", + "path": "binance.client.Client.margin_v1_get_simple_earn_locked_history_redemption_record", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/simple-earn/locked/history/redemptionRecord.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/simple_earn/history/Get-Locked-Redemption-Record\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_simple_earn_locked_history_redemption_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/simple-earn/locked/history/redemptionRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/simple_earn/history/Get-Locked-Redemption-Record\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"simple-earn/locked/history/redemptionRecord\", signed=True, data=params, version=1)" + }, + "futures_v1_get_order_asyn_id": { + "name": "futures_v1_get_order_asyn_id", + "path": "binance.client.Client.futures_v1_get_order_asyn_id", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/order/asyn/id.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Futures-Order-History-Download-Link-by-Id\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_order_asyn_id(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/order/asyn/id.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Futures-Order-History-Download-Link-by-Id\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"order/asyn/id\", signed=True, data=params, version=1)" + }, + "margin_v1_post_managed_subaccount_withdraw": { + "name": "margin_v1_post_managed_subaccount_withdraw", + "path": "binance.client.Client.margin_v1_post_managed_subaccount_withdraw", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/managed-subaccount/withdraw.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/managed-sub-account/Withdrawl-Assets-From-The-Managed-Sub-account\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_managed_subaccount_withdraw(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/managed-subaccount/withdraw.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Withdrawl-Assets-From-The-Managed-Sub-account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"managed-subaccount/withdraw\", signed=True, data=params, version=1)" + }, + "margin_v1_get_localentity_deposit_history": { + "name": "margin_v1_get_localentity_deposit_history", + "path": "binance.client.Client.margin_v1_get_localentity_deposit_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/localentity/deposit/history.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/wallet/travel-rule/deposit-history\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_localentity_deposit_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/localentity/deposit/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/travel-rule/deposit-history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"localentity/deposit/history\", signed=True, data=params, version=1)" + }, + "margin_v1_post_eth_staking_wbeth_wrap": { + "name": "margin_v1_post_eth_staking_wbeth_wrap", + "path": "binance.client.Client.margin_v1_post_eth_staking_wbeth_wrap", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/eth-staking/wbeth/wrap.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/eth-staking/staking/Wrap-BETH\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_eth_staking_wbeth_wrap(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/eth-staking/wbeth/wrap.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/eth-staking/staking/Wrap-BETH\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"eth-staking/wbeth/wrap\", signed=True, data=params, version=1)" + }, + "margin_v1_post_simple_earn_locked_set_redeem_option": { + "name": "margin_v1_post_simple_earn_locked_set_redeem_option", + "path": "binance.client.Client.margin_v1_post_simple_earn_locked_set_redeem_option", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/simple-earn/locked/setRedeemOption.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/simple_earn/earn/Set-Locked-Redeem-Option\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_simple_earn_locked_set_redeem_option(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/simple-earn/locked/setRedeemOption.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/simple_earn/earn/Set-Locked-Redeem-Option\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"simple-earn/locked/setRedeemOption\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api_ip_restriction_ip_list": { + "name": "margin_v1_post_broker_sub_account_api_ip_restriction_ip_list", + "path": "binance.client.Client.margin_v1_post_broker_sub_account_api_ip_restriction_ip_list", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/subAccountApi/ipRestriction/ipList.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_sub_account_api_ip_restriction_ip_list(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/ipRestriction/ipList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api_commission_futures": { + "name": "margin_v1_post_broker_sub_account_api_commission_futures", + "path": "binance.client.Client.margin_v1_post_broker_sub_account_api_commission_futures", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/broker/subAccountApi/commission/futures.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/fee/Change-Sub-Account-UM-Futures-Commission\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_broker_sub_account_api_commission_futures(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/commission/futures.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/fee/Change-Sub-Account-UM-Futures-Commission\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/commission/futures\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_history_list": { + "name": "margin_v1_get_lending_auto_invest_history_list", + "path": "binance.client.Client.margin_v1_get_lending_auto_invest_history_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/lending/auto-invest/history/list.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_lending_auto_invest_history_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/history/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/history/list\", signed=True, data=params, version=1)" + }, + "margin_v1_post_loan_customize_margin_call": { + "name": "margin_v1_post_loan_customize_margin_call", + "path": "binance.client.Client.margin_v1_post_loan_customize_margin_call", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/loan/customize/margin_call.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_loan_customize_margin_call(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/customize/margin_call.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/customize/margin_call\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account_bnb_burn_status": { + "name": "margin_v1_get_broker_sub_account_bnb_burn_status", + "path": "binance.client.Client.margin_v1_get_broker_sub_account_bnb_burn_status", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/subAccount/bnbBurn/status.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/account/Get-BNB-Burn-Status-for-Sub-Account\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_sub_account_bnb_burn_status(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccount/bnbBurn/status.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Get-BNB-Burn-Status-for-Sub-Account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount/bnbBurn/status\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_account_snapshot": { + "name": "margin_v1_get_managed_subaccount_account_snapshot", + "path": "binance.client.Client.margin_v1_get_managed_subaccount_account_snapshot", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/managed-subaccount/accountSnapshot.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-Snapshot\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_managed_subaccount_account_snapshot(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/accountSnapshot.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-Snapshot\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/accountSnapshot\", signed=True, data=params, version=1)" + }, + "margin_v1_post_asset_convert_transfer": { + "name": "margin_v1_post_asset_convert_transfer", + "path": "binance.client.Client.margin_v1_post_asset_convert_transfer", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/asset/convert-transfer.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_asset_convert_transfer(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/asset/convert-transfer.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"asset/convert-transfer\", signed=True, data=params, version=1)" + }, + "options_v1_get_income_asyn": { + "name": "options_v1_get_income_asyn", + "path": "binance.client.Client.options_v1_get_income_asyn", + "signature": "(self, **params)", + "description": "Placeholder function for GET /eapi/v1/income/asyn.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/option/account/Get-Download-Id-For-Option-Transaction-History\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_v1_get_income_asyn(self, **params):\n \"\"\"\n Placeholder function for GET /eapi/v1/income/asyn.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/account/Get-Download-Id-For-Option-Transaction-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"income/asyn\", signed=True, data=params)" + }, + "margin_v1_get_broker_sub_account_api_commission_coin_futures": { + "name": "margin_v1_get_broker_sub_account_api_commission_coin_futures", + "path": "binance.client.Client.margin_v1_get_broker_sub_account_api_commission_coin_futures", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/subAccountApi/commission/coinFutures.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/fee/Query-Sub-Account-CM-Futures-Commission\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_sub_account_api_commission_coin_futures(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccountApi/commission/coinFutures.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/fee/Query-Sub-Account-CM-Futures-Commission\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccountApi/commission/coinFutures\", signed=True, data=params, version=1)" + }, + "margin_v2_get_broker_sub_account_futures_summary": { + "name": "margin_v2_get_broker_sub_account_futures_summary", + "path": "binance.client.Client.margin_v2_get_broker_sub_account_futures_summary", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v2/broker/subAccount/futuresSummary.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_get_broker_sub_account_futures_summary(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/broker/subAccount/futuresSummary.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount/futuresSummary\", signed=True, data=params, version=2)" + }, + "margin_v1_get_loan_ongoing_orders": { + "name": "margin_v1_get_loan_ongoing_orders", + "path": "binance.client.Client.margin_v1_get_loan_ongoing_orders", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/loan/ongoing/orders.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_loan_ongoing_orders(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/ongoing/orders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/ongoing/orders\", signed=True, data=params, version=1)" + }, + "margin_v2_get_loan_flexible_ongoing_orders": { + "name": "margin_v2_get_loan_flexible_ongoing_orders", + "path": "binance.client.Client.margin_v2_get_loan_flexible_ongoing_orders", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v2/loan/flexible/ongoing/orders.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Ongoing-Orders\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v2_get_loan_flexible_ongoing_orders(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/loan/flexible/ongoing/orders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Ongoing-Orders\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/flexible/ongoing/orders\", signed=True, data=params, version=2)" + }, + "margin_v1_post_algo_futures_new_order_vp": { + "name": "margin_v1_post_algo_futures_new_order_vp", + "path": "binance.client.Client.margin_v1_post_algo_futures_new_order_vp", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/algo/futures/newOrderVp.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/algo/future-algo\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_algo_futures_new_order_vp(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/algo/futures/newOrderVp.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/algo/future-algo\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"algo/futures/newOrderVp\", signed=True, data=params, version=1)" + }, + "futures_v1_post_convert_get_quote": { + "name": "futures_v1_post_convert_get_quote", + "path": "binance.client.Client.futures_v1_post_convert_get_quote", + "signature": "(self, **params)", + "description": "Placeholder function for POST /fapi/v1/convert/getQuote.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/convert/Send-quote-request\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_post_convert_get_quote(self, **params):\n \"\"\"\n Placeholder function for POST /fapi/v1/convert/getQuote.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/convert/Send-quote-request\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"post\", \"convert/getQuote\", signed=True, data=params, version=1)" + }, + "margin_v1_get_algo_spot_sub_orders": { + "name": "margin_v1_get_algo_spot_sub_orders", + "path": "binance.client.Client.margin_v1_get_algo_spot_sub_orders", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/algo/spot/subOrders.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/algo/spot-algo/Query-Sub-Orders\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_algo_spot_sub_orders(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/algo/spot/subOrders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/algo/spot-algo/Query-Sub-Orders\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"algo/spot/subOrders\", signed=True, data=params, version=1)" + }, + "margin_v1_post_portfolio_redeem": { + "name": "margin_v1_post_portfolio_redeem", + "path": "binance.client.Client.margin_v1_post_portfolio_redeem", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/portfolio/redeem.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Redeem-BFUSD-Portfolio-Margin\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_portfolio_redeem(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/portfolio/redeem.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Redeem-BFUSD-Portfolio-Margin\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"portfolio/redeem\", signed=True, data=params, version=1)" + }, + "margin_v1_post_lending_auto_invest_plan_add": { + "name": "margin_v1_post_lending_auto_invest_plan_add", + "path": "binance.client.Client.margin_v1_post_lending_auto_invest_plan_add", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/lending/auto-invest/plan/add.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_lending_auto_invest_plan_add(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/lending/auto-invest/plan/add.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"lending/auto-invest/plan/add\", signed=True, data=params, version=1)" + }, + "v3_get_order_list": { + "name": "v3_get_order_list", + "path": "binance.client.Client.v3_get_order_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /api/v3/orderList.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def v3_get_order_list(self, **params):\n \"\"\"\n Placeholder function for GET /api/v3/orderList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"get\", \"orderList\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_get_lending_auto_invest_source_asset_list": { + "name": "margin_v1_get_lending_auto_invest_source_asset_list", + "path": "binance.client.Client.margin_v1_get_lending_auto_invest_source_asset_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/lending/auto-invest/source-asset/list.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_lending_auto_invest_source_asset_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/source-asset/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/source-asset/list\", signed=True, data=params, version=1)" + }, + "margin_v1_get_margin_all_order_list": { + "name": "margin_v1_get_margin_all_order_list", + "path": "binance.client.Client.margin_v1_get_margin_all_order_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/margin/allOrderList.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-All-OCO\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_margin_all_order_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/margin/allOrderList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-All-OCO\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/allOrderList\", signed=True, data=params, version=1)" + }, + "margin_v1_post_eth_staking_eth_redeem": { + "name": "margin_v1_post_eth_staking_eth_redeem", + "path": "binance.client.Client.margin_v1_post_eth_staking_eth_redeem", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/eth-staking/eth/redeem.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/eth-staking/staking/Redeem-ETH\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_eth_staking_eth_redeem(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/eth-staking/eth/redeem.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/eth-staking/staking/Redeem-ETH\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"eth-staking/eth/redeem\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_rebate_historical_record": { + "name": "margin_v1_get_broker_rebate_historical_record", + "path": "binance.client.Client.margin_v1_get_broker_rebate_historical_record", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/rebate/historicalRecord.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_rebate_historical_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/rebate/historicalRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/rebate/historicalRecord\", signed=True, data=params, version=1)" + }, + "margin_v1_get_simple_earn_locked_history_subscription_record": { + "name": "margin_v1_get_simple_earn_locked_history_subscription_record", + "path": "binance.client.Client.margin_v1_get_simple_earn_locked_history_subscription_record", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/simple-earn/locked/history/subscriptionRecord.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/simple_earn/history/Get-Locked-Subscription-Record\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_simple_earn_locked_history_subscription_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/simple-earn/locked/history/subscriptionRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/simple_earn/history/Get-Locked-Subscription-Record\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"simple-earn/locked/history/subscriptionRecord\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_asset": { + "name": "margin_v1_get_managed_subaccount_asset", + "path": "binance.client.Client.margin_v1_get_managed_subaccount_asset", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/managed-subaccount/asset.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-Asset-Details\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_managed_subaccount_asset(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/asset.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-Asset-Details\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/asset\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_sol_quota": { + "name": "margin_v1_get_sol_staking_sol_quota", + "path": "binance.client.Client.margin_v1_get_sol_staking_sol_quota", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/sol-staking/sol/quota.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/sol-staking/account/Get-SOL-staking-quota-details\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_sol_staking_sol_quota(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/sol/quota.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/account/Get-SOL-staking-quota-details\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/sol/quota\", signed=True, data=params, version=1)" + }, + "margin_v1_post_loan_vip_renew": { + "name": "margin_v1_post_loan_vip_renew", + "path": "binance.client.Client.margin_v1_post_loan_vip_renew", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/loan/vip/renew.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_loan_vip_renew(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/vip/renew.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/vip/renew\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_query_trans_log_for_trade_parent": { + "name": "margin_v1_get_managed_subaccount_query_trans_log_for_trade_parent", + "path": "binance.client.Client.margin_v1_get_managed_subaccount_query_trans_log_for_trade_parent", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/managed-subaccount/queryTransLogForTradeParent.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-Account-Transfer-Log-Trading-Team-Master\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_managed_subaccount_query_trans_log_for_trade_parent(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/queryTransLogForTradeParent.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-Account-Transfer-Log-Trading-Team-Master\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/queryTransLogForTradeParent\", signed=True, data=params, version=1)" + }, + "margin_v1_post_sub_account_sub_account_api_ip_restriction": { + "name": "margin_v1_post_sub_account_sub_account_api_ip_restriction", + "path": "binance.client.Client.margin_v1_post_sub_account_sub_account_api_ip_restriction", + "signature": "(self, **params)", + "description": "Placeholder function for POST /sapi/v1/sub-account/subAccountApi/ipRestriction.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_post_sub_account_sub_account_api_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sub-account/subAccountApi/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sub-account/subAccountApi/ipRestriction\", signed=True, data=params, version=1)" + }, + "margin_v1_get_simple_earn_flexible_history_redemption_record": { + "name": "margin_v1_get_simple_earn_flexible_history_redemption_record", + "path": "binance.client.Client.margin_v1_get_simple_earn_flexible_history_redemption_record", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/simple-earn/flexible/history/redemptionRecord.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/simple_earn/history/Get-Flexible-Redemption-Record\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_simple_earn_flexible_history_redemption_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/simple-earn/flexible/history/redemptionRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/simple_earn/history/Get-Flexible-Redemption-Record\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"simple-earn/flexible/history/redemptionRecord\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account_api": { + "name": "margin_v1_get_broker_sub_account_api", + "path": "binance.client.Client.margin_v1_get_broker_sub_account_api", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/broker/subAccountApi.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/binance_link/exchange-link/account/Query-Sub-Account-Api-Key\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_broker_sub_account_api(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccountApi.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Query-Sub-Account-Api-Key\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccountApi\", signed=True, data=params, version=1)" + }, + "options_v1_get_exercise_history": { + "name": "options_v1_get_exercise_history", + "path": "binance.client.Client.options_v1_get_exercise_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /eapi/v1/exerciseHistory.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/option/market-data/Historical-Exercise-Records\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_v1_get_exercise_history(self, **params):\n \"\"\"\n Placeholder function for GET /eapi/v1/exerciseHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/market-data/Historical-Exercise-Records\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"exerciseHistory\", signed=False, data=params)" + }, + "options_open_interest": { + "name": "options_open_interest", + "path": "binance.client.Client.options_open_interest", + "signature": "(self, **params)", + "description": "Get present open interest specific underlying asset on specific expiration date.\n\nhttps://developers.binance.com/docs/derivatives/option/market-data/Open-Interest\n\n:param params: parameters required by the endpoint\n:type params: dict\n:param underlyingAsset: required\n:type underlyingAsset: str\n:param expiration: required (e.g '221225')\n:type expiration: str", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_open_interest(self, **params):\n \"\"\"Get present open interest specific underlying asset on specific expiration date.\n\n https://developers.binance.com/docs/derivatives/option/market-data/Open-Interest\n\n :param params: parameters required by the endpoint\n :type params: dict\n :param underlyingAsset: required\n :type underlyingAsset: str\n :param expiration: required (e.g '221225')\n :type expiration: str\n\n \"\"\"\n return self._request_options_api(\"get\", \"openInterest\", data=params)" + }, + "margin_v1_get_convert_exchange_info": { + "name": "margin_v1_get_convert_exchange_info", + "path": "binance.client.Client.margin_v1_get_convert_exchange_info", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/convert/exchangeInfo.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/convert/market-data\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_convert_exchange_info(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/convert/exchangeInfo.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/convert/market-data\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"convert/exchangeInfo\", signed=False, data=params, version=1)" + }, + "futures_v1_delete_batch_order": { + "name": "futures_v1_delete_batch_order", + "path": "binance.client.Client.futures_v1_delete_batch_order", + "signature": "(self, **params)", + "description": "Placeholder function for DELETE /fapi/v1/batchOrder.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_delete_batch_order(self, **params):\n \"\"\"\n Placeholder function for DELETE /fapi/v1/batchOrder.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"delete\", \"batchOrder\", signed=True, data=params, version=1)" + }, + "margin_v1_get_eth_staking_eth_history_wbeth_rewards_history": { + "name": "margin_v1_get_eth_staking_eth_history_wbeth_rewards_history", + "path": "binance.client.Client.margin_v1_get_eth_staking_eth_history_wbeth_rewards_history", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/eth-staking/eth/history/wbethRewardsHistory.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-rewards-history\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_eth_staking_eth_history_wbeth_rewards_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/eth-staking/eth/history/wbethRewardsHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-rewards-history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"eth-staking/eth/history/wbethRewardsHistory\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_pub_algo_list": { + "name": "margin_v1_get_mining_pub_algo_list", + "path": "binance.client.Client.margin_v1_get_mining_pub_algo_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/mining/pub/algoList.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/mining/rest-api\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_mining_pub_algo_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/pub/algoList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/pub/algoList\", signed=True, data=params, version=1)" + }, + "options_v1_get_block_trades": { + "name": "options_v1_get_block_trades", + "path": "binance.client.Client.options_v1_get_block_trades", + "signature": "(self, **params)", + "description": "Placeholder function for GET /eapi/v1/blockTrades.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/option/market-data/Recent-Block-Trade-List\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_v1_get_block_trades(self, **params):\n \"\"\"\n Placeholder function for GET /eapi/v1/blockTrades.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/market-data/Recent-Block-Trade-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"blockTrades\", signed=False, data=params)" + }, + "margin_v1_get_copy_trading_futures_lead_symbol": { + "name": "margin_v1_get_copy_trading_futures_lead_symbol", + "path": "binance.client.Client.margin_v1_get_copy_trading_futures_lead_symbol", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/copyTrading/futures/leadSymbol.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/copy_trading/future-copy-trading/Get-Futures-Lead-Trading-Symbol-Whitelist\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_copy_trading_futures_lead_symbol(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/copyTrading/futures/leadSymbol.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/copy_trading/future-copy-trading/Get-Futures-Lead-Trading-Symbol-Whitelist\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"copyTrading/futures/leadSymbol\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_worker_list": { + "name": "margin_v1_get_mining_worker_list", + "path": "binance.client.Client.margin_v1_get_mining_worker_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/mining/worker/list.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/mining/rest-api/Request-for-Miner-List\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_mining_worker_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/worker/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Request-for-Miner-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/worker/list\", signed=True, data=params, version=1)" + }, + "margin_v1_get_dci_product_list": { + "name": "margin_v1_get_dci_product_list", + "path": "binance.client.Client.margin_v1_get_dci_product_list", + "signature": "(self, **params)", + "description": "Placeholder function for GET /sapi/v1/dci/product/list.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/dual_investment/market-data\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_v1_get_dci_product_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/dci/product/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/dual_investment/market-data\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"dci/product/list\", signed=True, data=params, version=1)" + }, + "futures_v1_get_convert_order_status": { + "name": "futures_v1_get_convert_order_status", + "path": "binance.client.Client.futures_v1_get_convert_order_status", + "signature": "(self, **params)", + "description": "Placeholder function for GET /fapi/v1/convert/orderStatus.\nNote: This function was auto-generated. Any issue please open an issue on GitHub.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/convert/Order-Status\n\n:param params: parameters required by the endpoint\n:type params: dict\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_v1_get_convert_order_status(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/convert/orderStatus.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/convert/Order-Status\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"convert/orderStatus\", signed=True, data=params, version=1)" + } + }, + "source": "class Client(BaseClient):\n def __init__(\n self,\n api_key: Optional[str] = None,\n api_secret: Optional[str] = None,\n requests_params: Optional[Dict[str, Any]] = None,\n tld: str = \"com\",\n base_endpoint: str = BaseClient.BASE_ENDPOINT_DEFAULT,\n testnet: bool = False,\n demo: bool = False,\n private_key: Optional[Union[str, Path]] = None,\n private_key_pass: Optional[str] = None,\n ping: Optional[bool] = True,\n time_unit: Optional[str] = None,\n ):\n super().__init__(\n api_key,\n api_secret,\n requests_params,\n tld,\n base_endpoint,\n testnet,\n demo,\n private_key,\n private_key_pass,\n time_unit=time_unit,\n )\n\n # init DNS and SSL cert\n if ping:\n self.ping()\n\n def _init_session(self) -> requests.Session:\n headers = self._get_headers()\n\n session = requests.session()\n session.headers.update(headers)\n return session\n\n def _request(\n self, method, uri: str, signed: bool, force_params: bool = False, **kwargs\n ):\n headers = {}\n if method.upper() in [\"POST\", \"PUT\", \"DELETE\"]:\n headers.update({\"Content-Type\": \"application/x-www-form-urlencoded\"})\n\n if \"data\" in kwargs:\n for key in kwargs[\"data\"]:\n if key == \"headers\":\n headers.update(kwargs[\"data\"][key])\n del kwargs[\"data\"][key]\n break\n\n kwargs = self._get_request_kwargs(method, signed, force_params, **kwargs)\n\n data = kwargs.get(\"data\")\n if data is not None:\n del kwargs[\"data\"]\n\n if signed and self.PRIVATE_KEY and data: # handle issues with signing using eddsa/rsa and POST requests\n dict_data = Client.convert_to_dict(data)\n signature = dict_data[\"signature\"] if \"signature\" in dict_data else None\n if signature:\n del dict_data[\"signature\"]\n url_encoded_data = urlencode(dict_data)\n data = f\"{url_encoded_data}&signature={signature}\"\n\n self.response = getattr(self.session, method)(uri, headers=headers, data=data, **kwargs)\n return self._handle_response(self.response)\n\n @staticmethod\n def _handle_response(response: requests.Response):\n \"\"\"Internal helper for handling API responses from the Binance server.\n Raises the appropriate exceptions when necessary; otherwise, returns the\n response.\n \"\"\"\n if not (200 <= response.status_code < 300):\n raise BinanceAPIException(response, response.status_code, response.text)\n\n if response.text == \"\":\n return {}\n\n try:\n return response.json()\n except ValueError:\n raise BinanceRequestException(\"Invalid Response: %s\" % response.text)\n\n def _request_api(\n self,\n method,\n path: str,\n signed: bool = False,\n version=BaseClient.PUBLIC_API_VERSION,\n **kwargs,\n ):\n uri = self._create_api_uri(path, signed, version)\n return self._request(method, uri, signed, **kwargs)\n\n def _request_futures_api(\n self, method, path, signed=False, version: int = 1, **kwargs\n ) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_futures_api_uri(path, version)\n force_params = kwargs.pop(\"force_params\", False)\n\n return self._request(method, uri, signed, force_params, **kwargs)\n\n def _request_futures_data_api(self, method, path, signed=False, **kwargs) -> Dict:\n uri = self._create_futures_data_api_uri(path)\n\n force_params = kwargs.pop(\"force_params\", True)\n return self._request(method, uri, signed, force_params, **kwargs)\n\n def _request_futures_coin_api(\n self, method, path, signed=False, version=1, **kwargs\n ) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_futures_coin_api_url(path, version=version)\n\n force_params = kwargs.pop(\"force_params\", False)\n return self._request(method, uri, signed, force_params, **kwargs)\n\n def _request_futures_coin_data_api(\n self, method, path, signed=False, version=1, **kwargs\n ) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_futures_coin_data_api_url(path, version=version)\n\n force_params = kwargs.pop(\"force_params\", True)\n return self._request(method, uri, signed, force_params, **kwargs)\n\n def _request_options_api(self, method, path, signed=False, **kwargs) -> Dict:\n \"\"\"\n https://developers.binance.com/docs/derivatives/option/market-data\n \"\"\"\n uri = self._create_options_api_uri(path)\n\n force_params = kwargs.pop(\"force_params\", True)\n return self._request(method, uri, signed, force_params, **kwargs)\n\n def _request_margin_api(\n self, method, path, signed=False, version=1, **kwargs\n ) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_margin_api_uri(path, version)\n\n force_params = kwargs.pop(\"force_params\", False)\n return self._request(method, uri, signed, force_params, **kwargs)\n\n def _request_papi_api(\n self, method, path, signed=False, version=1, **kwargs\n ) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_papi_api_uri(path, version)\n force_params = kwargs.pop(\"force_params\", False)\n return self._request(method, uri, signed, force_params, **kwargs)\n\n def _request_website(self, method, path, signed=False, **kwargs) -> Dict:\n uri = self._create_website_uri(path)\n return self._request(method, uri, signed, **kwargs)\n\n def _get(self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs):\n return self._request_api(\"get\", path, signed, version, **kwargs)\n\n def _post(\n self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs\n ) -> Dict:\n return self._request_api(\"post\", path, signed, version, **kwargs)\n\n def _put(\n self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs\n ) -> Dict:\n return self._request_api(\"put\", path, signed, version, **kwargs)\n\n def _delete(\n self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs\n ) -> Dict:\n return self._request_api(\"delete\", path, signed, version, **kwargs)\n\n # Exchange Endpoints\n\n def get_products(self) -> Dict:\n \"\"\"Return list of products currently listed on Binance\n\n Use get_exchange_info() call instead\n\n :returns: list - List of product dictionaries\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n products = self._request_website(\n \"get\",\n \"bapi/asset/v2/public/asset-service/product/get-products?includeEtf=true\",\n )\n return products\n\n def get_exchange_info(self) -> Dict:\n \"\"\"Return rate limits and list of symbols\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-endpoints#exchange-information\n\n :returns: list - List of product dictionaries\n\n .. code-block:: python\n\n {\n \"timezone\": \"UTC\",\n \"serverTime\": 1508631584636,\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUESTS\",\n \"interval\": \"MINUTE\",\n \"limit\": 1200\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"limit\": 10\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"limit\": 100000\n }\n ],\n \"exchangeFilters\": [],\n \"symbols\": [\n {\n \"symbol\": \"ETHBTC\",\n \"status\": \"TRADING\",\n \"baseAsset\": \"ETH\",\n \"baseAssetPrecision\": 8,\n \"quoteAsset\": \"BTC\",\n \"quotePrecision\": 8,\n \"orderTypes\": [\"LIMIT\", \"MARKET\"],\n \"icebergAllowed\": false,\n \"filters\": [\n {\n \"filterType\": \"PRICE_FILTER\",\n \"minPrice\": \"0.00000100\",\n \"maxPrice\": \"100000.00000000\",\n \"tickSize\": \"0.00000100\"\n }, {\n \"filterType\": \"LOT_SIZE\",\n \"minQty\": \"0.00100000\",\n \"maxQty\": \"100000.00000000\",\n \"stepSize\": \"0.00100000\"\n }, {\n \"filterType\": \"MIN_NOTIONAL\",\n \"minNotional\": \"0.00100000\"\n }\n ]\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n\n return self._get(\"exchangeInfo\")\n\n def get_symbol_info(self, symbol) -> Optional[Dict]:\n \"\"\"Return information about a symbol\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-endpoints#exchange-information\n\n :param symbol: required e.g. BNBBTC\n :type symbol: str\n\n :returns: Dict if found, None if not\n\n .. code-block:: python\n\n {\n \"symbol\": \"ETHBTC\",\n \"status\": \"TRADING\",\n \"baseAsset\": \"ETH\",\n \"baseAssetPrecision\": 8,\n \"quoteAsset\": \"BTC\",\n \"quotePrecision\": 8,\n \"orderTypes\": [\"LIMIT\", \"MARKET\"],\n \"icebergAllowed\": false,\n \"filters\": [\n {\n \"filterType\": \"PRICE_FILTER\",\n \"minPrice\": \"0.00000100\",\n \"maxPrice\": \"100000.00000000\",\n \"tickSize\": \"0.00000100\"\n }, {\n \"filterType\": \"LOT_SIZE\",\n \"minQty\": \"0.00100000\",\n \"maxQty\": \"100000.00000000\",\n \"stepSize\": \"0.00100000\"\n }, {\n \"filterType\": \"MIN_NOTIONAL\",\n \"minNotional\": \"0.00100000\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n\n res = self.get_exchange_info()\n\n for item in res[\"symbols\"]:\n if item[\"symbol\"] == symbol.upper():\n return item\n\n return None\n\n # General Endpoints\n\n def ping(self) -> Dict:\n \"\"\"Test connectivity to the Rest API.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-endpoints#test-connectivity\n\n :returns: Empty array\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"ping\")\n\n def get_server_time(self) -> Dict:\n \"\"\"Test connectivity to the Rest API and get the current server time.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-endpoints#check-server-time\n\n :returns: Current server time\n\n .. code-block:: python\n\n {\n \"serverTime\": 1499827319559\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"time\")\n\n # Market Data Endpoints\n\n def get_all_tickers(self) -> List[Dict[str, str]]:\n \"\"\"Latest price for all symbols.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-price-ticker\n\n :returns: List of market tickers\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"price\": \"0.07946600\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n response = self._get(\"ticker/price\")\n if isinstance(response, list) and all(isinstance(item, dict) for item in response):\n return response\n raise TypeError(\"Expected a list of dictionaries\")\n\n def get_orderbook_tickers(self, **params) -> Dict:\n \"\"\"Best price/qty on the order book for all symbols.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-order-book-ticker\n\n :param symbol: optional\n :type symbol: str\n :param symbols: optional accepted format [\"BTCUSDT\",\"BNBUSDT\"] or %5B%22BTCUSDT%22,%22BNBUSDT%22%5D\n :type symbols: str\n\n :returns: List of order book market entries\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"bidPrice\": \"4.00000000\",\n \"bidQty\": \"431.00000000\",\n \"askPrice\": \"4.00000200\",\n \"askQty\": \"9.00000000\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"bidPrice\": \"0.07946700\",\n \"bidQty\": \"9.00000000\",\n \"askPrice\": \"100000.00000000\",\n \"askQty\": \"1000.00000000\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n data = {}\n if \"symbol\" in params:\n data[\"symbol\"] = params[\"symbol\"]\n elif \"symbols\" in params:\n data[\"symbols\"] = params[\"symbols\"]\n return self._get(\n \"ticker/bookTicker\", data=data\n )\n\n def get_order_book(self, **params) -> Dict:\n \"\"\"Get the Order Book for the market\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#order-book\n\n :param symbol: required\n :type symbol: str\n :param limit: Default 100; max 1000\n :type limit: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"lastUpdateId\": 1027024,\n \"bids\": [\n [\n \"4.00000000\", # PRICE\n \"431.00000000\", # QTY\n [] # Can be ignored\n ]\n ],\n \"asks\": [\n [\n \"4.00000200\",\n \"12.00000000\",\n []\n ]\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"depth\", data=params)\n\n def get_recent_trades(self, **params) -> Dict:\n \"\"\"Get recent trades (up to last 500).\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#recent-trades-list\n\n :param symbol: required\n :type symbol: str\n :param limit: Default 500; max 1000.\n :type limit: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"id\": 28457,\n \"price\": \"4.00000100\",\n \"qty\": \"12.00000000\",\n \"time\": 1499865549590,\n \"isBuyerMaker\": true,\n \"isBestMatch\": true\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"trades\", data=params)\n\n def get_historical_trades(self, **params) -> Dict:\n \"\"\"Get older trades.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#old-trade-lookup\n\n :param symbol: required\n :type symbol: str\n :param limit: Default 500; max 1000.\n :type limit: int\n :param fromId: TradeId to fetch from. Default gets most recent trades.\n :type fromId: str\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"id\": 28457,\n \"price\": \"4.00000100\",\n \"qty\": \"12.00000000\",\n \"time\": 1499865549590,\n \"isBuyerMaker\": true,\n \"isBestMatch\": true\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\n \"historicalTrades\", data=params\n )\n\n def get_aggregate_trades(self, **params) -> Dict:\n \"\"\"Get compressed, aggregate trades. Trades that fill at the time,\n from the same order, with the same price will have the quantity aggregated.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#compressedaggregate-trades-list\n\n :param symbol: required\n :type symbol: str\n :param fromId: ID to get aggregate trades from INCLUSIVE.\n :type fromId: str\n :param startTime: Timestamp in ms to get aggregate trades from INCLUSIVE.\n :type startTime: int\n :param endTime: Timestamp in ms to get aggregate trades until INCLUSIVE.\n :type endTime: int\n :param limit: Default 500; max 1000.\n :type limit: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"a\": 26129, # Aggregate tradeId\n \"p\": \"0.01633102\", # Price\n \"q\": \"4.70443515\", # Quantity\n \"f\": 27781, # First tradeId\n \"l\": 27781, # Last tradeId\n \"T\": 1498793709153, # Timestamp\n \"m\": true, # Was the buyer the maker?\n \"M\": true # Was the trade the best price match?\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"aggTrades\", data=params)\n\n def aggregate_trade_iter(self, symbol: str, start_str=None, last_id=None):\n \"\"\"Iterate over aggregate trade data from (start_time or last_id) to\n the end of the history so far.\n\n If start_time is specified, start with the first trade after\n start_time. Meant to initialise a local cache of trade data.\n\n If last_id is specified, start with the trade after it. This is meant\n for updating a pre-existing local trade data cache.\n\n Only allows start_str or last_id\u2014not both. Not guaranteed to work\n right if you're running more than one of these simultaneously. You\n will probably hit your rate limit.\n\n See dateparser docs for valid start and end string formats http://dateparser.readthedocs.io/en/latest/\n\n If using offset strings for dates add \"UTC\" to date string e.g. \"now UTC\", \"11 hours ago UTC\"\n\n :param symbol: Symbol string e.g. ETHBTC\n :type symbol: str\n :param start_str: Start date string in UTC format or timestamp in milliseconds. The iterator will\n return the first trade occurring later than this time.\n :type start_str: str|int\n :param last_id: aggregate trade ID of the last known aggregate trade.\n Not a regular trade ID. See https://binance-docs.github.io/apidocs/spot/en/#compressed-aggregate-trades-list\n\n :returns: an iterator of JSON objects, one per trade. The format of\n each object is identical to Client.aggregate_trades().\n\n :type last_id: int\n \"\"\"\n if start_str is not None and last_id is not None:\n raise ValueError(\n \"start_time and last_id may not be simultaneously specified.\"\n )\n\n # If there's no last_id, get one.\n if last_id is None:\n # Without a last_id, we actually need the first trade. Normally,\n # we'd get rid of it. See the next loop.\n if start_str is None:\n trades = self.get_aggregate_trades(symbol=symbol, fromId=0)\n else:\n # The difference between startTime and endTime should be less\n # or equal than an hour and the result set should contain at\n # least one trade.\n start_ts = convert_ts_str(start_str)\n # If the resulting set is empty (i.e. no trades in that interval)\n # then we just move forward hour by hour until we find at least one\n # trade or reach present moment\n while True:\n end_ts = start_ts + (60 * 60 * 1000)\n trades = self.get_aggregate_trades(\n symbol=symbol, startTime=start_ts, endTime=end_ts\n )\n if len(trades) > 0:\n break\n # If we reach present moment and find no trades then there is\n # nothing to iterate, so we're done\n if end_ts > int(time.time() * 1000):\n return\n start_ts = end_ts\n for t in trades:\n yield t\n last_id = trades[-1][self.AGG_ID]\n\n while True:\n # There is no need to wait between queries, to avoid hitting the\n # rate limit. We're using blocking IO, and as long as we're the\n # only thread running calls like this, Binance will automatically\n # add the right delay time on their end, forcing us to wait for\n # data. That really simplifies this function's job. Binance is\n # fucking awesome.\n trades = self.get_aggregate_trades(symbol=symbol, fromId=last_id)\n # fromId=n returns a set starting with id n, but we already have\n # that one. So get rid of the first item in the result set.\n trades = trades[1:]\n if len(trades) == 0:\n return\n for t in trades:\n yield t\n last_id = trades[-1][self.AGG_ID]\n\n def get_ui_klines(self, **params) -> Dict:\n \"\"\"Kline/candlestick bars for a symbol with UI enhancements. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#uiklines\n\n :param symbol: required\n :type symbol: str\n :param interval: required - The interval for the klines (e.g., 1m, 3m, 5m, etc.)\n :type interval: str\n :param limit: optional - Default 500; max 1000.\n :type limit: int\n :param startTime: optional - Start time in milliseconds\n :type startTime: int\n :param endTime: optional - End time in milliseconds\n :type endTime: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n [\n 1499040000000, # Open time\n \"0.01634790\", # Open\n \"0.80000000\", # High\n \"0.01575800\", # Low\n \"0.01577100\", # Close\n \"148976.11427815\", # Volume\n 1499644799999, # Close time\n \"2434.19055334\", # Quote asset volume\n 308, # Number of trades\n \"1756.87402397\", # Taker buy base asset volume\n \"28.46694368\", # Taker buy quote asset volume\n \"17928899.62484339\" # Can be ignored\n ]\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"uiKlines\", data=params)\n\n def get_klines(self, **params) -> Dict:\n \"\"\"Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\n\n :param symbol: required\n :type symbol: str\n :param interval: -\n :type interval: str\n :param limit: - Default 500; max 1000.\n :type limit: int\n :param startTime:\n :type startTime: int\n :param endTime:\n :type endTime: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n [\n 1499040000000, # Open time\n \"0.01634790\", # Open\n \"0.80000000\", # High\n \"0.01575800\", # Low\n \"0.01577100\", # Close\n \"148976.11427815\", # Volume\n 1499644799999, # Close time\n \"2434.19055334\", # Quote asset volume\n 308, # Number of trades\n \"1756.87402397\", # Taker buy base asset volume\n \"28.46694368\", # Taker buy quote asset volume\n \"17928899.62484339\" # Can be ignored\n ]\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"klines\", data=params)\n\n def _klines(\n self, klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT, **params\n ) -> Dict:\n \"\"\"Get klines of spot (get_klines) or futures (futures_klines) endpoints.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\n https://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n :param klines_type: Historical klines type: SPOT or FUTURES\n :type klines_type: HistoricalKlinesType\n\n :return: klines, see get_klines\n\n \"\"\"\n if \"endTime\" in params and not params[\"endTime\"]:\n del params[\"endTime\"]\n\n if HistoricalKlinesType.SPOT == klines_type:\n return self.get_klines(**params)\n elif HistoricalKlinesType.FUTURES == klines_type:\n return self.futures_klines(**params)\n elif HistoricalKlinesType.FUTURES_COIN == klines_type:\n return self.futures_coin_klines(**params)\n elif HistoricalKlinesType.FUTURES_MARK_PRICE == klines_type:\n return self.futures_mark_price_klines(**params)\n elif HistoricalKlinesType.FUTURES_INDEX_PRICE == klines_type:\n return self.futures_index_price_klines(**params)\n elif HistoricalKlinesType.FUTURES_COIN_MARK_PRICE == klines_type:\n return self.futures_coin_mark_price_klines(**params)\n elif HistoricalKlinesType.FUTURES_COIN_INDEX_PRICE == klines_type:\n return self.futures_coin_index_price_klines(**params)\n else:\n raise NotImplementedException(klines_type)\n\n def _get_earliest_valid_timestamp(\n self,\n symbol,\n interval,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n ):\n \"\"\"Get the earliest valid open timestamp from Binance\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\n https://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param klines_type: Historical klines type: SPOT or FUTURES\n :type klines_type: HistoricalKlinesType\n\n :return: first valid timestamp\n\n \"\"\"\n kline = self._klines(\n klines_type=klines_type,\n symbol=symbol,\n interval=interval,\n limit=1,\n startTime=0,\n endTime=int(time.time() * 1000),\n )\n return kline[0][0]\n\n def get_historical_klines(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=None,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n ):\n \"\"\"Get Historical Klines from Binance\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\n https://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param start_str: optional - start date string in UTC format or timestamp in milliseconds\n :type start_str: str|int\n :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n :type end_str: str|int\n :param limit: Default 1000; max 1000.\n :type limit: int\n :param klines_type: Historical klines type: SPOT or FUTURES\n :type klines_type: HistoricalKlinesType\n\n :return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)\n\n \"\"\"\n return self._historical_klines(\n symbol,\n interval,\n start_str=start_str,\n end_str=end_str,\n limit=limit,\n klines_type=klines_type,\n )\n\n def _historical_klines(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=None,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n ):\n \"\"\"Get Historical Klines from Binance (spot or futures)\n\n See dateparser docs for valid start and end string formats https://dateparser.readthedocs.io/en/latest/\n\n If using offset strings for dates add \"UTC\" to date string e.g. \"now UTC\", \"11 hours ago UTC\"\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param start_str: optional - start date string in UTC format or timestamp in milliseconds\n :type start_str: str|int\n :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n :type end_str: None|str|int\n :param limit: Default 1000; max 1000.\n :type limit: int\n :param klines_type: Historical klines type: SPOT or FUTURES\n :type klines_type: HistoricalKlinesType\n\n :return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)\n\n \"\"\"\n\n initial_limit_set = True\n if limit is None:\n limit = 1000\n initial_limit_set = False\n\n # init our list\n output_data = []\n\n # convert interval to useful value in seconds\n timeframe = interval_to_milliseconds(interval)\n\n # if a start time was passed convert it\n start_ts = convert_ts_str(start_str)\n\n # establish first available start timestamp\n if start_ts is not None:\n first_valid_ts = self._get_earliest_valid_timestamp(\n symbol, interval, klines_type\n )\n start_ts = max(start_ts, first_valid_ts)\n\n # if an end time was passed convert it\n end_ts = convert_ts_str(end_str)\n if end_ts and start_ts and end_ts <= start_ts:\n return output_data\n\n idx = 0\n while True:\n # fetch the klines from start_ts up to max 500 entries or the end_ts if set\n temp_data = self._klines(\n klines_type=klines_type,\n symbol=symbol,\n interval=interval,\n limit=limit,\n startTime=start_ts,\n endTime=end_ts,\n )\n\n # append this loops data to our output data\n if temp_data:\n output_data += temp_data\n\n # check if output_data is greater than limit and truncate if needed and break loop\n if initial_limit_set and len(output_data) > limit:\n output_data = output_data[:limit]\n break\n\n # handle the case where exactly the limit amount of data was returned last loop\n # check if we received less than the required limit and exit the loop\n if not len(temp_data) or len(temp_data) < limit:\n # exit the while loop\n break\n\n # increment next call by our timeframe\n start_ts = temp_data[-1][0] + timeframe\n\n # exit loop if we reached end_ts before reaching klines\n if end_ts and start_ts >= end_ts:\n break\n\n # sleep after every 3rd call to be kind to the API\n idx += 1\n if idx % 3 == 0:\n time.sleep(1)\n\n return output_data\n\n def get_historical_klines_generator(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=None,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n ):\n \"\"\"Get Historical Klines generator from Binance\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-data\n https://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param start_str: optional - Start date string in UTC format or timestamp in milliseconds\n :type start_str: str|int\n :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n :type end_str: str|int\n :param limit: amount of candles to return per request (default 1000)\n :type limit: int\n :param klines_type: Historical klines type: SPOT or FUTURES\n :type klines_type: HistoricalKlinesType\n\n :return: generator of OHLCV values\n\n \"\"\"\n\n return self._historical_klines_generator(\n symbol, interval, start_str, end_str, limit, klines_type=klines_type\n )\n\n def _historical_klines_generator(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=None,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n ):\n \"\"\"Get Historical Klines generator from Binance (spot or futures)\n\n See dateparser docs for valid start and end string formats https://dateparser.readthedocs.io/en/latest/\n\n If using offset strings for dates add \"UTC\" to date string e.g. \"now UTC\", \"11 hours ago UTC\"\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param start_str: optional - Start date string in UTC format or timestamp in milliseconds\n :type start_str: str|int\n :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n :type end_str: str|int\n :param klines_type: Historical klines type: SPOT or FUTURES\n :type klines_type: HistoricalKlinesType\n\n :return: generator of OHLCV values\n\n \"\"\"\n\n initial_limit_set = True\n if limit is None:\n limit = 1000\n initial_limit_set = False\n\n # convert interval to useful value in seconds\n timeframe = interval_to_milliseconds(interval)\n\n # if a start time was passed convert it\n start_ts = convert_ts_str(start_str)\n\n # establish first available start timestamp\n if start_ts is not None:\n first_valid_ts = self._get_earliest_valid_timestamp(\n symbol, interval, klines_type\n )\n start_ts = max(start_ts, first_valid_ts)\n\n # if an end time was passed convert it\n end_ts = convert_ts_str(end_str)\n if end_ts and start_ts and end_ts <= start_ts:\n return\n\n idx = 0\n while True:\n # fetch the klines from start_ts up to max 500 entries or the end_ts if set\n output_data = self._klines(\n klines_type=klines_type,\n symbol=symbol,\n interval=interval,\n limit=limit,\n startTime=start_ts,\n endTime=end_ts,\n )\n\n # yield data\n if output_data:\n for o in output_data:\n yield o\n\n # handle the case where exactly the limit amount of data was returned last loop\n # check if we received less than the required limit and exit the loop\n if not len(output_data) or len(output_data) < limit:\n # exit the while loop\n break\n\n # set our start timestamp using the last value in the array\n # increment next call by our timeframe\n start_ts = output_data[-1][0] + timeframe\n\n # exit loop if we reached end_ts before reaching klines\n if end_ts and start_ts >= end_ts:\n break\n\n # sleep after every 3rd call to be kind to the API\n idx += 1\n if idx % 3 == 0:\n time.sleep(1)\n\n def get_avg_price(self, **params):\n \"\"\"Current average price for a symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#current-average-price\n\n :param symbol:\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"mins\": 5,\n \"price\": \"9.35751834\"\n }\n \"\"\"\n return self._get(\"avgPrice\", data=params)\n\n def get_ticker(self, **params):\n \"\"\"24 hour price change statistics.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#24hr-ticker-price-change-statistics\n\n :param symbol:\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"priceChange\": \"-94.99999800\",\n \"priceChangePercent\": \"-95.960\",\n \"weightedAvgPrice\": \"0.29628482\",\n \"prevClosePrice\": \"0.10002000\",\n \"lastPrice\": \"4.00000200\",\n \"bidPrice\": \"4.00000000\",\n \"askPrice\": \"4.00000200\",\n \"openPrice\": \"99.00000000\",\n \"highPrice\": \"100.00000000\",\n \"lowPrice\": \"0.10000000\",\n \"volume\": \"8913.30000000\",\n \"openTime\": 1499783499040,\n \"closeTime\": 1499869899040,\n \"fristId\": 28385, # First tradeId\n \"lastId\": 28460, # Last tradeId\n \"count\": 76 # Trade count\n }\n\n OR\n\n .. code-block:: python\n\n [\n {\n \"priceChange\": \"-94.99999800\",\n \"priceChangePercent\": \"-95.960\",\n \"weightedAvgPrice\": \"0.29628482\",\n \"prevClosePrice\": \"0.10002000\",\n \"lastPrice\": \"4.00000200\",\n \"bidPrice\": \"4.00000000\",\n \"askPrice\": \"4.00000200\",\n \"openPrice\": \"99.00000000\",\n \"highPrice\": \"100.00000000\",\n \"lowPrice\": \"0.10000000\",\n \"volume\": \"8913.30000000\",\n \"openTime\": 1499783499040,\n \"closeTime\": 1499869899040,\n \"fristId\": 28385, # First tradeId\n \"lastId\": 28460, # Last tradeId\n \"count\": 76 # Trade count\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"ticker/24hr\", data=params)\n\n def get_symbol_ticker(self, **params):\n \"\"\"Latest price for a symbol or symbols.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-price-ticker\n\n :param symbol:\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n }\n\n OR\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"price\": \"0.07946600\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"ticker/price\", data=params)\n\n def get_symbol_ticker_window(self, **params):\n \"\"\"Latest price for a symbol or symbols.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#rolling-window-price-change-statistics\n\n :param symbol:\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n }\n\n OR\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"price\": \"4.00000200\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"price\": \"0.07946600\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"ticker\", data=params)\n\n def get_orderbook_ticker(self, **params):\n \"\"\"Latest price for a symbol or symbols.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#symbol-order-book-ticker\n\n :param symbol:\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"bidPrice\": \"4.00000000\",\n \"bidQty\": \"431.00000000\",\n \"askPrice\": \"4.00000200\",\n \"askQty\": \"9.00000000\"\n }\n\n OR\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"bidPrice\": \"4.00000000\",\n \"bidQty\": \"431.00000000\",\n \"askPrice\": \"4.00000200\",\n \"askQty\": \"9.00000000\"\n },\n {\n \"symbol\": \"ETHBTC\",\n \"bidPrice\": \"0.07946700\",\n \"bidQty\": \"9.00000000\",\n \"askPrice\": \"100000.00000000\",\n \"askQty\": \"1000.00000000\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\n \"ticker/bookTicker\", data=params\n )\n\n # Account Endpoints\n\n def create_order(self, **params):\n \"\"\"Send in a new order\n\n Any order with an icebergQty MUST have timeInForce set to GTC.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param type: required\n :type type: str\n :param timeInForce: required if limit order\n :type timeInForce: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: amount the user wants to spend (when buying) or receive (when selling)\n of the quote asset, applicable to MARKET orders\n :type quoteOrderQty: decimal\n :param price: required\n :type price: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n Response ACK:\n\n .. code-block:: python\n\n {\n \"symbol\":\"LTCBTC\",\n \"orderId\": 1,\n \"clientOrderId\": \"myOrder1\" # Will be newClientOrderId\n \"transactTime\": 1499827319559\n }\n\n Response RESULT:\n\n .. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595,\n \"price\": \"0.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"10.00000000\",\n \"cummulativeQuoteQty\": \"10.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"SELL\"\n }\n\n Response FULL:\n\n .. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595,\n \"price\": \"0.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"10.00000000\",\n \"cummulativeQuoteQty\": \"10.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"SELL\",\n \"fills\": [\n {\n \"price\": \"4000.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"4.00000000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3999.00000000\",\n \"qty\": \"5.00000000\",\n \"commission\": \"19.99500000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3998.00000000\",\n \"qty\": \"2.00000000\",\n \"commission\": \"7.99600000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3997.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"3.99700000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3995.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"3.99500000\",\n \"commissionAsset\": \"USDT\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return self._post(\"order\", True, data=params)\n\n def order_limit(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n \"\"\"Send in a new limit order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n Any order with an icebergQty MUST have timeInForce set to GTC.\n\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\"type\": self.ORDER_TYPE_LIMIT, \"timeInForce\": timeInForce})\n return self.create_order(**params)\n\n def order_limit_buy(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n \"\"\"Send in a new limit buy order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n Any order with an icebergQty MUST have timeInForce set to GTC.\n\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param stopPrice: Used with stop orders\n :type stopPrice: decimal\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\n \"side\": self.SIDE_BUY,\n })\n return self.order_limit(timeInForce=timeInForce, **params)\n\n def order_limit_sell(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n \"\"\"Send in a new limit sell order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param stopPrice: Used with stop orders\n :type stopPrice: decimal\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\"side\": self.SIDE_SELL})\n return self.order_limit(timeInForce=timeInForce, **params)\n\n def order_market(self, **params):\n \"\"\"Send in a new market order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: amount the user wants to spend (when buying) or receive (when selling)\n of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\"type\": self.ORDER_TYPE_MARKET})\n return self.create_order(**params)\n\n def order_market_buy(self, **params):\n \"\"\"Send in a new market buy order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: the amount the user wants to spend of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\"side\": self.SIDE_BUY})\n return self.order_market(**params)\n\n def order_market_sell(self, **params):\n \"\"\"Send in a new market sell order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-trade\n\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: the amount the user wants to receive of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\"side\": self.SIDE_SELL})\n return self.order_market(**params)\n\n def create_oco_order(self, **params):\n \"\"\"Send in an one-cancels-the-other (OCO) pair, where activation of one order immediately cancels the other.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---oco-trade\n\n An OCO has 2 orders called the above order and below order.\n One of the orders must be a LIMIT_MAKER/TAKE_PROFIT/TAKE_PROFIT_LIMIT order and the other must be STOP_LOSS or STOP_LOSS_LIMIT order.\n\n Price restrictions:\n If the OCO is on the SELL side:\n LIMIT_MAKER/TAKE_PROFIT_LIMIT price > Last Traded Price > STOP_LOSS/STOP_LOSS_LIMIT stopPrice\n TAKE_PROFIT stopPrice > Last Traded Price > STOP_LOSS/STOP_LOSS_LIMIT stopPrice\n If the OCO is on the BUY side:\n LIMIT_MAKER/TAKE_PROFIT_LIMIT price < Last Traded Price < stopPrice\n TAKE_PROFIT stopPrice < Last Traded Price < STOP_LOSS/STOP_LOSS_LIMIT stopPrice\n\n Weight: 1\n\n :param symbol: required\n :type symbol: str\n :param listClientOrderId: Arbitrary unique ID among open order lists. Automatically generated if not sent.\n :type listClientOrderId: str\n :param side: required - BUY or SELL\n :type side: str\n :param quantity: required - Quantity for both orders of the order list\n :type quantity: decimal\n :param aboveType: required - STOP_LOSS_LIMIT, STOP_LOSS, LIMIT_MAKER, TAKE_PROFIT, TAKE_PROFIT_LIMIT\n :type aboveType: str\n :param aboveClientOrderId: Arbitrary unique ID among open orders for the above order\n :type aboveClientOrderId: str\n :param aboveIcebergQty: Note that this can only be used if aboveTimeInForce is GTC\n :type aboveIcebergQty: decimal\n :param abovePrice: Can be used if aboveType is STOP_LOSS_LIMIT, LIMIT_MAKER, or TAKE_PROFIT_LIMIT\n :type abovePrice: decimal\n :param aboveStopPrice: Can be used if aboveType is STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT\n :type aboveStopPrice: decimal\n :param aboveTrailingDelta: See Trailing Stop order FAQ\n :type aboveTrailingDelta: int\n :param aboveTimeInForce: Required if aboveType is STOP_LOSS_LIMIT or TAKE_PROFIT_LIMIT\n :type aboveTimeInForce: str\n :param aboveStrategyId: Arbitrary numeric value identifying the above order within an order strategy\n :type aboveStrategyId: int\n :param aboveStrategyType: Arbitrary numeric value identifying the above order strategy (>= 1000000)\n :type aboveStrategyType: int\n :param belowType: required - STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT\n :type belowType: str\n :param belowClientOrderId: Arbitrary unique ID among open orders for the below order\n :type belowClientOrderId: str\n :param belowIcebergQty: Note that this can only be used if belowTimeInForce is GTC\n :type belowIcebergQty: decimal\n :param belowPrice: Can be used if belowType is STOP_LOSS_LIMIT, LIMIT_MAKER, or TAKE_PROFIT_LIMIT\n :type belowPrice: decimal\n :param belowStopPrice: Can be used if belowType is STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT or TAKE_PROFIT_LIMIT\n :type belowStopPrice: decimal\n :param belowTrailingDelta: See Trailing Stop order FAQ\n :type belowTrailingDelta: int\n :param belowTimeInForce: Required if belowType is STOP_LOSS_LIMIT or TAKE_PROFIT_LIMIT\n :type belowTimeInForce: str\n :param belowStrategyId: Arbitrary numeric value identifying the below order within an order strategy\n :type belowStrategyId: int\n :param belowStrategyType: Arbitrary numeric value identifying the below order strategy (>= 1000000)\n :type belowStrategyType: int\n :param newOrderRespType: Select response format: ACK, RESULT, FULL\n :type newOrderRespType: str\n :param selfTradePreventionMode: The allowed enums is dependent on what is configured on the symbol\n :type selfTradePreventionMode: str\n :param recvWindow: The value cannot be greater than 60000\n :type recvWindow: int\n :param timestamp: required\n :type timestamp: int\n\n :returns: API response\n\n {\n \"orderListId\": 1,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"lH1YDkuQKWiXVXHPSKYEIp\",\n \"transactionTime\": 1710485608839,\n \"symbol\": \"LTCBTC\",\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 10,\n \"clientOrderId\": \"44nZvqpemY7sVYgPYbvPih\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 11,\n \"clientOrderId\": \"NuMp0nVYnciDiFmVqfpBqK\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 10,\n \"orderListId\": 1,\n \"clientOrderId\": \"44nZvqpemY7sVYgPYbvPih\",\n \"transactTime\": 1710485608839,\n \"price\": \"1.00000000\",\n \"origQty\": \"5.00000000\",\n \"executedQty\": \"0.00000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS_LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"1.00000000\",\n \"workingTime\": -1,\n \"icebergQty\": \"1.00000000\",\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 11,\n \"orderListId\": 1,\n \"clientOrderId\": \"NuMp0nVYnciDiFmVqfpBqK\",\n \"transactTime\": 1710485608839,\n \"price\": \"3.00000000\",\n \"origQty\": \"5.00000000\",\n \"executedQty\": \"0.00000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"SELL\",\n \"workingTime\": 1710485608839,\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException,\n BinanceOrderMinAmountException, BinanceOrderMinPriceException,\n BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException,\n BinanceOrderInactiveSymbolException\n\n \"\"\"\n if \"listClientOrderId\" not in params:\n params[\"listClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return self._post(\"orderList/oco\", True, data=params)\n\n def order_oco_buy(self, **params):\n \"\"\"Send in a new OCO buy order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---oco-trade\n\n :param symbol: required\n :type symbol: str\n :param listClientOrderId: A unique id for the list order. Automatically generated if not sent.\n :type listClientOrderId: str\n :param quantity: required\n :type quantity: decimal\n :param limitClientOrderId: A unique id for the limit order. Automatically generated if not sent.\n :type limitClientOrderId: str\n :param price: required\n :type price: str\n :param limitIcebergQty: Used to make the LIMIT_MAKER leg an iceberg order.\n :type limitIcebergQty: decimal\n :param stopClientOrderId: A unique id for the stop order. Automatically generated if not sent.\n :type stopClientOrderId: str\n :param stopPrice: required\n :type stopPrice: str\n :param stopLimitPrice: If provided, stopLimitTimeInForce is required.\n :type stopLimitPrice: str\n :param stopIcebergQty: Used with STOP_LOSS_LIMIT leg to make an iceberg order.\n :type stopIcebergQty: decimal\n :param stopLimitTimeInForce: Valid values are GTC/FOK/IOC.\n :type stopLimitTimeInForce: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See OCO order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\"side\": self.SIDE_BUY})\n return self.create_oco_order(**params)\n\n def order_oco_sell(self, **params):\n \"\"\"Send in a new OCO sell order\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#new-order-list---oco-trade\n\n :param symbol: required\n :type symbol: str\n :param listClientOrderId: A unique id for the list order. Automatically generated if not sent.\n :type listClientOrderId: str\n :param quantity: required\n :type quantity: decimal\n :param limitClientOrderId: A unique id for the limit order. Automatically generated if not sent.\n :type limitClientOrderId: str\n :param price: required\n :type price: str\n :param limitIcebergQty: Used to make the LIMIT_MAKER leg an iceberg order.\n :type limitIcebergQty: decimal\n :param stopClientOrderId: A unique id for the stop order. Automatically generated if not sent.\n :type stopClientOrderId: str\n :param stopPrice: required\n :type stopPrice: str\n :param stopLimitPrice: If provided, stopLimitTimeInForce is required.\n :type stopLimitPrice: str\n :param stopIcebergQty: Used with STOP_LOSS_LIMIT leg to make an iceberg order.\n :type stopIcebergQty: decimal\n :param stopLimitTimeInForce: Valid values are GTC/FOK/IOC.\n :type stopLimitTimeInForce: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n See OCO order endpoint for full response options\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n \"\"\"\n params.update({\"side\": self.SIDE_SELL})\n return self.create_oco_order(**params)\n\n def create_test_order(self, **params):\n \"\"\"Test new order creation and signature/recvWindow long. Creates and validates a new order but does not send it into the matching engine.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#test-new-order-trade\n\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param type: required\n :type type: str\n :param timeInForce: required if limit order\n :type timeInForce: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: The number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException\n\n\n \"\"\"\n return self._post(\"order/test\", True, data=params)\n\n def get_order(self, **params):\n \"\"\"Check an order's status. Either orderId or origClientOrderId must be sent.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-order-user_data\n\n :param symbol: required\n :type symbol: str\n :param orderId: The unique order id\n :type orderId: int\n :param origClientOrderId: optional\n :type origClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 1,\n \"clientOrderId\": \"myOrder1\",\n \"price\": \"0.1\",\n \"origQty\": \"1.0\",\n \"executedQty\": \"0.0\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.0\",\n \"icebergQty\": \"0.0\",\n \"time\": 1499827319559\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"order\", True, data=params)\n\n def get_all_orders(self, **params):\n \"\"\"Get all account orders; active, canceled, or filled.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#all-orders-user_data\n\n :param symbol: required\n :type symbol: str\n :param orderId: The unique order id\n :type orderId: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: Default 500; max 1000.\n :type limit: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 1,\n \"clientOrderId\": \"myOrder1\",\n \"price\": \"0.1\",\n \"origQty\": \"1.0\",\n \"executedQty\": \"0.0\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.0\",\n \"icebergQty\": \"0.0\",\n \"time\": 1499827319559\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"allOrders\", True, data=params)\n\n def cancel_order(self, **params):\n \"\"\"Cancel an active order. Either orderId or origClientOrderId must be sent.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#cancel-order-trade\n\n :param symbol: required\n :type symbol: str\n :param orderId: The unique order id\n :type orderId: int\n :param origClientOrderId: optional\n :type origClientOrderId: str\n :param newClientOrderId: Used to uniquely identify this cancel. Automatically generated by default.\n :type newClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"symbol\": \"LTCBTC\",\n \"origClientOrderId\": \"myOrder1\",\n \"orderId\": 1,\n \"clientOrderId\": \"cancelMyOrder1\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._delete(\"order\", True, data=params)\n\n def cancel_all_open_orders(self, **params):\n \"\"\"\n Cancel all open orders on a symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#cancel-all-open-orders-on-a-symbol-trade\n\n :param symbol: required\n :type symbol: str\n\n :returns: API response\n \"\"\"\n return self._delete(\"openOrders\", True, data=params)\n\n def cancel_replace_order(self, **params):\n \"\"\"Cancels an existing order and places a new order on the same symbol.\n\n Filters and Order Count are evaluated before the processing of the cancellation and order placement occurs.\n\n A new order that was not attempted (i.e. when newOrderResult: NOT_ATTEMPTED), will still increase the order count by 1.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/trading-endpoints#cancel-an-existing-order-and-send-a-new-order-trade\n\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: enum\n :param type: required\n :type type: enum\n :param cancelReplaceMode: required - STOP_ON_FAILURE or ALLOW_FAILURE\n :type cancelReplaceMode: enum\n :param timeInForce: optional\n :type timeInForce: enum\n :param quantity: optional\n :type quantity: decimal\n :param quoteOrderQty: optional\n :type quoteOrderQty: decimal\n :param price: optional\n :type price: decimal\n :param cancelNewClientOrderId: optional - Used to uniquely identify this cancel. Automatically generated by default.\n :type cancelNewClientOrderId: str\n :param cancelOrigClientOrderId: optional - Either the cancelOrigClientOrderId or cancelOrderId must be provided. If both are provided, cancelOrderId takes precedence.\n :type cancelOrigClientOrderId: str\n :param cancelOrderId: optional - Either the cancelOrigClientOrderId or cancelOrderId must be provided. If both are provided, cancelOrderId takes precedence.\n :type cancelOrderId: long\n :param newClientOrderId: optional - Used to identify the new order.\n :type newClientOrderId: str\n :param strategyId: optional\n :type strategyId: int\n :param strategyType: optional - The value cannot be less than 1000000.\n :type strategyType: int\n :param stopPrice: optional\n :type stopPrice: decimal\n :param trailingDelta: optional\n :type trailingDelta: long\n :param icebergQty: optional\n :type icebergQty: decimal\n :param newOrderRespType: optional - ACK, RESULT or FULL. MARKET and LIMIT orders types default to FULL; all other orders default to ACK\n :type newOrderRespType: enum\n :param selfTradePreventionMode: optional - EXPIRE_TAKER, EXPIRE_MAKER, EXPIRE_BOTH or NONE.\n :type selfTradePreventionMode: enum\n :param cancelRestrictions: optional - ONLY_NEW or ONLY_PARTIALLY_FILLED\n :type cancelRestrictions: enum\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n //Both the cancel order placement and new order placement succeeded.\n {\n \"cancelResult\": \"SUCCESS\",\n \"newOrderResult\": \"SUCCESS\",\n \"cancelResponse\": {\n \"symbol\": \"BTCUSDT\",\n \"origClientOrderId\": \"DnLo3vTAQcjha43lAZhZ0y\",\n \"orderId\": 9,\n \"orderListId\": -1,\n \"clientOrderId\": \"osxN3JXAtJvKvCqGeMWMVR\",\n \"transactTime\": 1684804350068,\n \"price\": \"0.01000000\",\n \"origQty\": \"0.000100\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"selfTradePreventionMode\": \"NONE\"\n },\n \"newOrderResponse\": {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 10,\n \"orderListId\": -1,\n \"clientOrderId\": \"wOceeeOzNORyLiQfw7jd8S\",\n \"transactTime\": 1652928801803,\n \"price\": \"0.02000000\",\n \"origQty\": \"0.040000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"workingTime\": 1669277163808,\n \"fills\": [],\n \"selfTradePreventionMode\": \"NONE\"\n\n }\n }\n Similar to POST /api/v3/order, additional mandatory parameters are determined by type.\n\n Response format varies depending on whether the processing of the message succeeded, partially succeeded, or failed.\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return self._post(\"order/cancelReplace\", True, data=params)\n\n def get_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#current-open-orders-user_data\n\n :param symbol: optional\n :type symbol: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 1,\n \"clientOrderId\": \"myOrder1\",\n \"price\": \"0.1\",\n \"origQty\": \"1.0\",\n \"executedQty\": \"0.0\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.0\",\n \"icebergQty\": \"0.0\",\n \"time\": 1499827319559\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"openOrders\", True, data=params)\n\n def get_open_oco_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-open-order-lists-user_data\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: API response\n .. code-block:: python\n [\n {\n \"orderListId\": 31,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"wuB13fmulKj3YjdqWEcsnp\",\n \"transactionTime\": 1565246080644,\n \"symbol\": \"LTCBTC\",\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 4,\n \"clientOrderId\": \"r3EH2N76dHfLoSZWIUw1bT\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 5,\n \"clientOrderId\": \"Cv1SnyPD3qhqpbjpYEHbd2\"\n }\n ]\n }\n ]\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._get(\"openOrderList\", True, data=params)\n\n # User Stream Endpoints\n def get_account(self, **params):\n \"\"\"Get current account information.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#account-information-user_data\n\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"makerCommission\": 15,\n \"takerCommission\": 15,\n \"buyerCommission\": 0,\n \"sellerCommission\": 0,\n \"canTrade\": true,\n \"canWithdraw\": true,\n \"canDeposit\": true,\n \"balances\": [\n {\n \"asset\": \"BTC\",\n \"free\": \"4723846.89208129\",\n \"locked\": \"0.00000000\"\n },\n {\n \"asset\": \"LTC\",\n \"free\": \"4763368.68006011\",\n \"locked\": \"0.00000000\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"account\", True, data=params)\n\n def get_asset_balance(self, asset=None, **params):\n \"\"\"Get current asset balance.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#account-information-user_data\n\n :param asset: optional - the asset to get the balance of\n :type asset: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: dictionary or None if not found\n\n .. code-block:: python\n\n {\n \"asset\": \"BTC\",\n \"free\": \"4723846.89208129\",\n \"locked\": \"0.00000000\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n res = self.get_account(**params)\n # find asset balance in list of balances\n if \"balances\" in res:\n if asset:\n for bal in res[\"balances\"]:\n if bal[\"asset\"].lower() == asset.lower():\n return bal\n else:\n return res[\"balances\"]\n return None\n\n def get_my_trades(self, **params):\n \"\"\"Get trades for a specific symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#account-trade-list-user_data\n\n :param symbol: required\n :type symbol: str\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: Default 500; max 1000.\n :type limit: int\n :param fromId: TradeId to fetch from. Default gets most recent trades.\n :type fromId: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"id\": 28457,\n \"price\": \"4.00000100\",\n \"qty\": \"12.00000000\",\n \"commission\": \"10.10000000\",\n \"commissionAsset\": \"BNB\",\n \"time\": 1499865549590,\n \"isBuyer\": true,\n \"isMaker\": false,\n \"isBestMatch\": true\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._get(\"myTrades\", True, data=params)\n\n def get_current_order_count(self, **params):\n \"\"\"Displays the user's current order count usage for all intervals.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-unfilled-order-count-user_data\n\n :returns: API response\n\n .. code-block:: python\n [\n\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"intervalNum\": 10,\n \"limit\": 10000,\n \"count\": 0\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"intervalNum\": 1,\n \"limit\": 20000,\n \"count\": 0\n }\n ]\n\n \"\"\"\n return self._get(\"rateLimit/order\", True, data=params)\n\n def get_prevented_matches(self, **params):\n \"\"\"Displays the list of orders that were expired because of STP.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-prevented-matches-user_data\n\n :param symbol: required\n :type symbol: str\n :param preventedMatchId: optional\n :type preventedMatchId: int\n :param orderId: optional\n :type orderId: int\n :param fromPreventedMatchId: optional\n :type fromPreventedMatchId: int\n :param limit: optional, Default: 500; Max: 1000\n :type limit: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"preventedMatchId\": 1,\n \"takerOrderId\": 5,\n \"makerOrderId\": 3,\n \"tradeGroupId\": 1,\n \"selfTradePreventionMode\": \"EXPIRE_MAKER\",\n \"price\": \"1.100000\",\n \"makerPreventedQuantity\": \"1.300000\",\n \"transactTime\": 1669101687094\n }\n ]\n \"\"\"\n return self._get(\"myPreventedMatches\", True, data=params)\n\n def get_allocations(self, **params):\n \"\"\"Retrieves allocations resulting from SOR order placement.\n\n https://developers.binance.com/docs/binance-spot-api-docs/rest-api/account-endpoints#query-allocations-user_data\n\n :param symbol: required\n :type symbol: str\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param fromAllocationId: optional\n :type fromAllocationId: int\n :param orderId: optional\n :type orderId: int\n :param limit: optional, Default: 500; Max: 1000\n :type limit: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"allocationId\": 0,\n \"allocationType\": \"SOR\",\n \"orderId\": 1,\n \"orderListId\": -1,\n \"price\": \"1.00000000\",\n \"qty\": \"5.00000000\",\n \"quoteQty\": \"5.00000000\",\n \"commission\": \"0.00000000\",\n \"commissionAsset\": \"BTC\",\n \"time\": 1687506878118,\n \"isBuyer\": true,\n \"isMaker\": false,\n \"isAllocator\": false\n }\n ]\n \"\"\"\n return self._get(\"myAllocations\", True, data=params)\n\n def get_system_status(self):\n \"\"\"Get system status detail.\n\n https://developers.binance.com/docs/wallet/others/system-status\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"status\": 0, # 0: normal\uff0c1\uff1asystem maintenance\n \"msg\": \"normal\" # normal or System maintenance.\n }\n\n :raises: BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"system/status\")\n\n def get_account_status(self, version=1, **params):\n \"\"\"Get account status detail.\n\n https://binance-docs.github.io/apidocs/spot/en/#account-status-sapi-user_data\n https://developers.binance.com/docs/wallet/account/account-status\n :param version: the api version\n :param version: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"data\": \"Normal\"\n }\n\n \"\"\"\n if self.tld == \"us\":\n path = \"accountStatus\"\n else:\n path = \"account/status\"\n return self._request_margin_api(\"get\", path, True, version, data=params)\n\n def get_account_api_trading_status(self, **params):\n \"\"\"Fetch account api trading status detail.\n\n https://developers.binance.com/docs/wallet/account/account-api-trading-status\n\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"data\": { // API trading status detail\n \"isLocked\": false, // API trading function is locked or not\n \"plannedRecoverTime\": 0, // If API trading function is locked, this is the planned recover time\n \"triggerCondition\": {\n \"GCR\": 150, // Number of GTC orders\n \"IFER\": 150, // Number of FOK/IOC orders\n \"UFR\": 300 // Number of orders\n },\n \"indicators\": { // The indicators updated every 30 seconds\n \"BTCUSDT\": [ // The symbol\n {\n \"i\": \"UFR\", // Unfilled Ratio (UFR)\n \"c\": 20, // Count of all orders\n \"v\": 0.05, // Current UFR value\n \"t\": 0.995 // Trigger UFR value\n },\n {\n \"i\": \"IFER\", // IOC/FOK Expiration Ratio (IFER)\n \"c\": 20, // Count of FOK/IOC orders\n \"v\": 0.99, // Current IFER value\n \"t\": 0.99 // Trigger IFER value\n },\n {\n \"i\": \"GCR\", // GTC Cancellation Ratio (GCR)\n \"c\": 20, // Count of GTC orders\n \"v\": 0.99, // Current GCR value\n \"t\": 0.99 // Trigger GCR value\n }\n ],\n \"ETHUSDT\": [\n {\n \"i\": \"UFR\",\n \"c\": 20,\n \"v\": 0.05,\n \"t\": 0.995\n },\n {\n \"i\": \"IFER\",\n \"c\": 20,\n \"v\": 0.99,\n \"t\": 0.99\n },\n {\n \"i\": \"GCR\",\n \"c\": 20,\n \"v\": 0.99,\n \"t\": 0.99\n }\n ]\n },\n \"updateTime\": 1547630471725\n }\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"account/apiTradingStatus\", True, data=params\n )\n\n def get_account_api_permissions(self, **params):\n \"\"\"Fetch api key permissions.\n\n https://developers.binance.com/docs/wallet/account/api-key-permission\n\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"ipRestrict\": false,\n \"createTime\": 1623840271000,\n \"enableWithdrawals\": false, // This option allows you to withdraw via API. You must apply the IP Access Restriction filter in order to enable withdrawals\n \"enableInternalTransfer\": true, // This option authorizes this key to transfer funds between your master account and your sub account instantly\n \"permitsUniversalTransfer\": true, // Authorizes this key to be used for a dedicated universal transfer API to transfer multiple supported currencies. Each business's own transfer API rights are not affected by this authorization\n \"enableVanillaOptions\": false, // Authorizes this key to Vanilla options trading\n \"enableReading\": true,\n \"enableFutures\": false, // API Key created before your futures account opened does not support futures API service\n \"enableMargin\": false, // This option can be adjusted after the Cross Margin account transfer is completed\n \"enableSpotAndMarginTrading\": false, // Spot and margin trading\n \"tradingAuthorityExpirationTime\": 1628985600000 // Expiration time for spot and margin trading permission\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"account/apiRestrictions\", True, data=params\n )\n\n def get_dust_assets(self, **params):\n \"\"\"Get assets that can be converted into BNB\n\n https://developers.binance.com/docs/wallet/asset/assets-can-convert-bnb\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"details\": [\n {\n \"asset\": \"ADA\",\n \"assetFullName\": \"ADA\",\n \"amountFree\": \"6.21\", //Convertible amount\n \"toBTC\": \"0.00016848\", //BTC amount\n \"toBNB\": \"0.01777302\", //BNB amount\uff08Not deducted commission fee\uff09\n \"toBNBOffExchange\": \"0.01741756\", //BNB amount\uff08Deducted commission fee\uff09\n \"exchange\": \"0.00035546\" //Commission fee\n }\n ],\n \"totalTransferBtc\": \"0.00016848\",\n \"totalTransferBNB\": \"0.01777302\",\n \"dribbletPercentage\": \"0.02\" //Commission fee\n }\n\n \"\"\"\n return self._request_margin_api(\"post\", \"asset/dust-btc\", True, data=params)\n\n def get_dust_log(self, **params):\n \"\"\"Get log of small amounts exchanged for BNB.\n\n https://developers.binance.com/docs/wallet/asset/dust-log\n\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"total\": 8, //Total counts of exchange\n \"userAssetDribblets\": [\n {\n \"totalTransferedAmount\": \"0.00132256\", // Total transfered BNB amount for this exchange.\n \"totalServiceChargeAmount\": \"0.00002699\", //Total service charge amount for this exchange.\n \"transId\": 45178372831,\n \"userAssetDribbletDetails\": [ //Details of this exchange.\n {\n \"transId\": 4359321,\n \"serviceChargeAmount\": \"0.000009\",\n \"amount\": \"0.0009\",\n \"operateTime\": 1615985535000,\n \"transferedAmount\": \"0.000441\",\n \"fromAsset\": \"USDT\"\n },\n {\n \"transId\": 4359321,\n \"serviceChargeAmount\": \"0.00001799\",\n \"amount\": \"0.0009\",\n \"operateTime\": \"2018-05-03 17:07:04\",\n \"transferedAmount\": \"0.00088156\",\n \"fromAsset\": \"ETH\"\n }\n ]\n },\n {\n \"operateTime\":1616203180000,\n \"totalTransferedAmount\": \"0.00058795\",\n \"totalServiceChargeAmount\": \"0.000012\",\n \"transId\": 4357015,\n \"userAssetDribbletDetails\": [\n {\n \"transId\": 4357015,\n \"serviceChargeAmount\": \"0.00001\"\n \"amount\": \"0.001\",\n \"operateTime\": 1616203180000,\n \"transferedAmount\": \"0.00049\",\n \"fromAsset\": \"USDT\"\n },\n {\n \"transId\": 4357015,\n \"serviceChargeAmount\": \"0.000002\"\n \"amount\": \"0.0001\",\n \"operateTime\": 1616203180000,\n \"transferedAmount\": \"0.00009795\",\n \"fromAsset\": \"ETH\"\n }\n ]\n }\n ]\n }\n\n \"\"\"\n return self._request_margin_api(\"get\", \"asset/dribblet\", True, data=params)\n\n def transfer_dust(self, **params):\n \"\"\"Convert dust assets to BNB.\n\n https://developers.binance.com/docs/wallet/asset/dust-transfer\n\n :param asset: The asset being converted. e.g: 'ONE'\n :type asset: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n result = client.transfer_dust(asset='ONE')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"totalServiceCharge\":\"0.02102542\",\n \"totalTransfered\":\"1.05127099\",\n \"transferResult\":[\n {\n \"amount\":\"0.03000000\",\n \"fromAsset\":\"ETH\",\n \"operateTime\":1563368549307,\n \"serviceChargeAmount\":\"0.00500000\",\n \"tranId\":2970932918,\n \"transferedAmount\":\"0.25000000\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"post\", \"asset/dust\", True, data=params)\n\n def get_asset_dividend_history(self, **params):\n \"\"\"Query asset dividend record.\n\n https://developers.binance.com/docs/wallet/asset/assets-divided-record\n\n :param asset: optional\n :type asset: str\n :param startTime: optional\n :type startTime: long\n :param endTime: optional\n :type endTime: long\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n result = client.get_asset_dividend_history()\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"rows\":[\n {\n \"amount\":\"10.00000000\",\n \"asset\":\"BHFT\",\n \"divTime\":1563189166000,\n \"enInfo\":\"BHFT distribution\",\n \"tranId\":2968885920\n },\n {\n \"amount\":\"10.00000000\",\n \"asset\":\"BHFT\",\n \"divTime\":1563189165000,\n \"enInfo\":\"BHFT distribution\",\n \"tranId\":2968885920\n }\n ],\n \"total\":2\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"asset/assetDividend\", True, data=params)\n\n def make_universal_transfer(self, **params):\n \"\"\"User Universal Transfer\n\n https://developers.binance.com/docs/wallet/asset/user-universal-transfer\n\n :param type: required\n :type type: str (ENUM)\n :param asset: required\n :type asset: str\n :param amount: required\n :type amount: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transfer_status = client.make_universal_transfer(params)\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\":13526853623\n }\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"asset/transfer\", signed=True, data=params\n )\n\n def query_universal_transfer_history(self, **params):\n \"\"\"Query User Universal Transfer History\n\n https://developers.binance.com/docs/wallet/asset/query-user-universal-transfer\n\n :param type: required\n :type type: str (ENUM)\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param current: optional - Default 1\n :type current: int\n :param size: required - Default 10, Max 100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transfer_status = client.query_universal_transfer_history(params)\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"total\":2,\n \"rows\":[\n {\n \"asset\":\"USDT\",\n \"amount\":\"1\",\n \"type\":\"MAIN_UMFUTURE\"\n \"status\": \"CONFIRMED\",\n \"tranId\": 11415955596,\n \"timestamp\":1544433328000\n },\n {\n \"asset\":\"USDT\",\n \"amount\":\"2\",\n \"type\":\"MAIN_UMFUTURE\",\n \"status\": \"CONFIRMED\",\n \"tranId\": 11366865406,\n \"timestamp\":1544433328000\n }\n ]\n }\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"asset/transfer\", signed=True, data=params\n )\n\n def get_trade_fee(self, **params):\n \"\"\"Get trade fee.\n\n https://developers.binance.com/docs/wallet/asset/trade-fee\n\n :param symbol: optional\n :type symbol: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"ADABNB\",\n \"makerCommission\": \"0.001\",\n \"takerCommission\": \"0.001\"\n },\n {\n \"symbol\": \"BNBBTC\",\n \"makerCommission\": \"0.001\",\n \"takerCommission\": \"0.001\"\n }\n ]\n\n \"\"\"\n if self.tld == \"us\":\n endpoint = \"asset/query/trading-fee\"\n else:\n endpoint = \"asset/tradeFee\"\n\n return self._request_margin_api(\"get\", endpoint, True, data=params)\n\n def get_asset_details(self, **params):\n \"\"\"Fetch details on assets.\n\n https://developers.binance.com/docs/wallet/asset\n\n :param asset: optional\n :type asset: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"CTR\": {\n \"minWithdrawAmount\": \"70.00000000\", //min withdraw amount\n \"depositStatus\": false,//deposit status (false if ALL of networks' are false)\n \"withdrawFee\": 35, // withdraw fee\n \"withdrawStatus\": true, //withdraw status (false if ALL of networks' are false)\n \"depositTip\": \"Delisted, Deposit Suspended\" //reason\n },\n \"SKY\": {\n \"minWithdrawAmount\": \"0.02000000\",\n \"depositStatus\": true,\n \"withdrawFee\": 0.01,\n \"withdrawStatus\": true\n }\n }\n\n \"\"\"\n return self._request_margin_api(\"get\", \"asset/assetDetail\", True, data=params)\n\n def get_spot_delist_schedule(self, **params):\n \"\"\"Get symbols delist schedule for spot\n\n https://developers.binance.com/docs/wallet/others/delist-schedule\n\n :param recvWindow: optional - the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"delistTime\": 1686161202000,\n \"symbols\": [\n \"ADAUSDT\",\n \"BNBUSDT\"\n ]\n },\n {\n \"delistTime\": 1686222232000,\n \"symbols\": [\n \"ETHUSDT\"\n ]\n }\n ]\n \"\"\"\n return self._request_margin_api(\n \"get\", \"spot/delist-schedule\", True, data=params\n )\n\n # Withdraw Endpoints\n\n def withdraw(self, **params):\n \"\"\"Submit a withdraw request.\n\n https://developers.binance.com/docs/wallet/capital/withdraw\n\n Assumptions:\n\n - You must have Withdraw permissions enabled on your API key\n - You must have withdrawn to the address specified through the website and approved the transaction via email\n\n :param coin: required\n :type coin: str\n :param withdrawOrderId: optional - client id for withdraw\n :type withdrawOrderId: str\n :param network: optional\n :type network: str\n :param address: optional\n :type address: str\n :type addressTag: optional - Secondary address identifier for coins like XRP,XMR etc.\n :param amount: required\n :type amount: decimal\n :param transactionFeeFlag: required - When making internal transfer, true for returning the fee to the destination account; false for returning the fee back to the departure account. Default false.\n :type transactionFeeFlag: bool\n :param name: optional - Description of the address, default asset value passed will be used\n :type name: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"id\":\"7213fea8e94b4a5593d507237e5a555b\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"capital/withdraw/apply\", True, data=params\n )\n\n def get_deposit_history(self, **params):\n \"\"\"Fetch deposit history.\n\n https://developers.binance.com/docs/wallet/capital/deposite-history\n\n :param coin: optional\n :type coin: str\n :type status: optional - 0(0:pending,1:success) optional\n :type status: int\n :param startTime: optional\n :type startTime: long\n :param endTime: optional\n :type endTime: long\n :param offset: optional - default:0\n :type offset: long\n :param limit: optional\n :type limit: long\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"amount\":\"0.00999800\",\n \"coin\":\"PAXG\",\n \"network\":\"ETH\",\n \"status\":1,\n \"address\":\"0x788cabe9236ce061e5a892e1a59395a81fc8d62c\",\n \"addressTag\":\"\",\n \"txId\":\"0xaad4654a3234aa6118af9b4b335f5ae81c360b2394721c019b5d1e75328b09f3\",\n \"insertTime\":1599621997000,\n \"transferType\":0,\n \"confirmTimes\":\"12/12\"\n },\n {\n \"amount\":\"0.50000000\",\n \"coin\":\"IOTA\",\n \"network\":\"IOTA\",\n \"status\":1,\n \"address\":\"SIZ9VLMHWATXKV99LH99CIGFJFUMLEHGWVZVNNZXRJJVWBPHYWPPBOSDORZ9EQSHCZAMPVAPGFYQAUUV9DROOXJLNW\",\n \"addressTag\":\"\",\n \"txId\":\"ESBFVQUTPIWQNJSPXFNHNYHSQNTGKRVKPRABQWTAXCDWOAKDKYWPTVG9BGXNVNKTLEJGESAVXIKIZ9999\",\n \"insertTime\":1599620082000,\n \"transferType\":0,\n \"confirmTimes\":\"1/1\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"capital/deposit/hisrec\", True, data=params\n )\n\n def get_withdraw_history(self, **params):\n \"\"\"Fetch withdraw history.\n\n https://developers.binance.com/docs/wallet/capital/withdraw-history\n\n :param coin: optional\n :type coin: str\n :type status: 0(0:Email Sent,1:Cancelled 2:Awaiting Approval 3:Rejected 4:Processing 5:Failure 6Completed) optional\n :type status: int\n :param offset: optional - default:0\n :type offset: int\n :param limit: optional\n :type limit: int\n :param startTime: optional - Default: 90 days from current timestamp\n :type startTime: int\n :param endTime: optional - Default: present timestamp\n :type endTime: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"address\": \"0x94df8b352de7f46f64b01d3666bf6e936e44ce60\",\n \"amount\": \"8.91000000\",\n \"applyTime\": \"2019-10-12 11:12:02\",\n \"coin\": \"USDT\",\n \"id\": \"b6ae22b3aa844210a7041aee7589627c\",\n \"withdrawOrderId\": \"WITHDRAWtest123\", // will not be returned if there's no withdrawOrderId for this withdraw.\n \"network\": \"ETH\",\n \"transferType\": 0, // 1 for internal transfer, 0 for external transfer\n \"status\": 6,\n \"txId\": \"0xb5ef8c13b968a406cc62a93a8bd80f9e9a906ef1b3fcf20a2e48573c17659268\"\n },\n {\n \"address\": \"1FZdVHtiBqMrWdjPyRPULCUceZPJ2WLCsB\",\n \"amount\": \"0.00150000\",\n \"applyTime\": \"2019-09-24 12:43:45\",\n \"coin\": \"BTC\",\n \"id\": \"156ec387f49b41df8724fa744fa82719\",\n \"network\": \"BTC\",\n \"status\": 6,\n \"txId\": \"60fd9007ebfddc753455f95fafa808c4302c836e4d1eebc5a132c36c1d8ac354\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"capital/withdraw/history\", True, data=params\n )\n\n def get_withdraw_history_id(self, withdraw_id, **params):\n \"\"\"Fetch withdraw history.\n\n https://binance-docs.github.io/apidocs/spot/en/#withdraw-history-supporting-network-user_data\n\n :param withdraw_id: required\n :type withdraw_id: str\n :param asset: optional\n :type asset: str\n :type status: 0(0:Email Sent,1:Cancelled 2:Awaiting Approval 3:Rejected 4:Processing 5:Failure 6Completed) optional\n :type status: int\n :param startTime: optional\n :type startTime: long\n :param endTime: optional\n :type endTime: long\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"id\":\"7213fea8e94b4a5593d507237e5a555b\",\n \"withdrawOrderId\": None,\n \"amount\": 0.99,\n \"transactionFee\": 0.01,\n \"address\": \"0x6915f16f8791d0a1cc2bf47c13a6b2a92000504b\",\n \"asset\": \"ETH\",\n \"txId\": \"0xdf33b22bdb2b28b1f75ccd201a4a4m6e7g83jy5fc5d5a9d1340961598cfcb0a1\",\n \"applyTime\": 1508198532000,\n \"status\": 4\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n result = self.get_withdraw_history(**params)\n\n for entry in result:\n if \"id\" in entry and entry[\"id\"] == withdraw_id:\n return entry\n\n raise Exception(\"There is no entry with withdraw id\", result)\n\n def get_deposit_address(self, coin: str, network: Optional[str] = None, **params):\n \"\"\"Fetch a deposit address for a symbol\n\n https://developers.binance.com/docs/wallet/capital/deposite-address\n\n :param coin: required\n :type coin: str\n :param network: optional\n :type network: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"address\": \"1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv\",\n \"coin\": \"BTC\",\n \"tag\": \"\",\n \"url\": \"https://btc.com/1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params[\"coin\"] = coin\n if network:\n params[\"network\"] = network\n return self._request_margin_api(\n \"get\", \"capital/deposit/address\", True, data=params\n )\n\n # User Stream Endpoints\n\n def stream_get_listen_key(self):\n \"\"\"Start a new user data stream and return the listen key\n If a stream already exists it should return the same key.\n If the stream becomes invalid a new key is returned.\n\n Can be used to keep the user stream alive.\n\n https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"listenKey\": \"pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n res = self._post(\n \"userDataStream\", False, data={}\n )\n return res[\"listenKey\"]\n\n def stream_keepalive(self, listenKey):\n \"\"\"PING a user data stream to prevent a time out.\n\n https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot\n\n :param listenKey: required\n :type listenKey: str\n\n :returns: API response\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params = {\"listenKey\": listenKey}\n return self._put(\n \"userDataStream\", False, data=params\n )\n\n def stream_close(self, listenKey):\n \"\"\"Close out a user data stream.\n\n https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot\n\n :param listenKey: required\n :type listenKey: str\n\n :returns: API response\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params = {\"listenKey\": listenKey}\n return self._delete(\n \"userDataStream\", False, data=params, version=self.PRIVATE_API_VERSION\n )\n\n # Margin Trading Endpoints\n\n def get_margin_account(self, **params):\n \"\"\"Query cross-margin account details\n\n https://developers.binance.com/docs/margin_trading/account/Query-Cross-Margin-Account-Details\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"borrowEnabled\": true,\n \"marginLevel\": \"11.64405625\",\n \"totalAssetOfBtc\": \"6.82728457\",\n \"totalLiabilityOfBtc\": \"0.58633215\",\n \"totalNetAssetOfBtc\": \"6.24095242\",\n \"tradeEnabled\": true,\n \"transferEnabled\": true,\n \"userAssets\": [\n {\n \"asset\": \"BTC\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00499500\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00499500\"\n },\n {\n \"asset\": \"BNB\",\n \"borrowed\": \"201.66666672\",\n \"free\": \"2346.50000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"2144.83333328\"\n },\n {\n \"asset\": \"ETH\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\"\n },\n {\n \"asset\": \"USDT\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/account\", True, data=params)\n\n def get_isolated_margin_account(self, **params):\n \"\"\"Query isolated margin account details\n\n https://developers.binance.com/docs/margin_trading/account/Query-Isolated-Margin-Account-Info\n\n :param symbols: optional up to 5 margin pairs as a comma separated string\n :type asset: str\n\n .. code:: python\n\n account_info = client.get_isolated_margin_account()\n account_info = client.get_isolated_margin_account(symbols=\"BTCUSDT,ETHUSDT\")\n\n :returns: API response\n\n .. code-block:: python\n\n If \"symbols\" is not sent:\n\n {\n \"assets\":[\n {\n \"baseAsset\":\n {\n \"asset\": \"BTC\",\n \"borrowEnabled\": true,\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\",\n \"netAssetOfBtc\": \"0.00000000\",\n \"repayEnabled\": true,\n \"totalAsset\": \"0.00000000\"\n },\n \"quoteAsset\":\n {\n \"asset\": \"USDT\",\n \"borrowEnabled\": true,\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\",\n \"netAssetOfBtc\": \"0.00000000\",\n \"repayEnabled\": true,\n \"totalAsset\": \"0.00000000\"\n },\n \"symbol\": \"BTCUSDT\"\n \"isolatedCreated\": true,\n \"marginLevel\": \"0.00000000\",\n \"marginLevelStatus\": \"EXCESSIVE\", // \"EXCESSIVE\", \"NORMAL\", \"MARGIN_CALL\", \"PRE_LIQUIDATION\", \"FORCE_LIQUIDATION\"\n \"marginRatio\": \"0.00000000\",\n \"indexPrice\": \"10000.00000000\"\n \"liquidatePrice\": \"1000.00000000\",\n \"liquidateRate\": \"1.00000000\"\n \"tradeEnabled\": true\n }\n ],\n \"totalAssetOfBtc\": \"0.00000000\",\n \"totalLiabilityOfBtc\": \"0.00000000\",\n \"totalNetAssetOfBtc\": \"0.00000000\"\n }\n\n If \"symbols\" is sent:\n\n {\n \"assets\":[\n {\n \"baseAsset\":\n {\n \"asset\": \"BTC\",\n \"borrowEnabled\": true,\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\",\n \"netAssetOfBtc\": \"0.00000000\",\n \"repayEnabled\": true,\n \"totalAsset\": \"0.00000000\"\n },\n \"quoteAsset\":\n {\n \"asset\": \"USDT\",\n \"borrowEnabled\": true,\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\",\n \"netAssetOfBtc\": \"0.00000000\",\n \"repayEnabled\": true,\n \"totalAsset\": \"0.00000000\"\n },\n \"symbol\": \"BTCUSDT\"\n \"isolatedCreated\": true,\n \"marginLevel\": \"0.00000000\",\n \"marginLevelStatus\": \"EXCESSIVE\", // \"EXCESSIVE\", \"NORMAL\", \"MARGIN_CALL\", \"PRE_LIQUIDATION\", \"FORCE_LIQUIDATION\"\n \"marginRatio\": \"0.00000000\",\n \"indexPrice\": \"10000.00000000\"\n \"liquidatePrice\": \"1000.00000000\",\n \"liquidateRate\": \"1.00000000\"\n \"tradeEnabled\": true\n }\n ]\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/isolated/account\", True, data=params\n )\n\n def enable_isolated_margin_account(self, **params):\n \"\"\"Enable isolated margin account for a specific symbol.\n\n https://developers.binance.com/docs/margin_trading/account/Enable-Isolated-Margin-Account\n\n :param symbol:\n :type asset: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"success\": true,\n \"symbol\": \"BTCUSDT\"\n }\n\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/isolated/account\", True, data=params\n )\n\n def disable_isolated_margin_account(self, **params):\n \"\"\"Disable isolated margin account for a specific symbol. Each trading pair can only\n be deactivated once every 24 hours.\n\n https://developers.binance.com/docs/margin_trading/account/Disable-Isolated-Margin-Account\n\n :param symbol:\n :type asset: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"success\": true,\n \"symbol\": \"BTCUSDT\"\n }\n\n \"\"\"\n return self._request_margin_api(\n \"delete\", \"margin/isolated/account\", True, data=params\n )\n\n def get_enabled_isolated_margin_account_limit(self, **params):\n \"\"\"Query enabled isolated margin account limit.\n\n https://developers.binance.com/docs/margin_trading/account/Query-Enabled-Isolated-Margin-Account-Limit\n\n :returns: API response\n\n .. code-block:: python\n {\n \"enabledAccount\": 5,\n \"maxAccount\": 20\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/isolated/accountLimit\", True, data=params\n )\n\n def get_margin_dustlog(self, **params):\n \"\"\"\n Query the historical information of user's margin account small-value asset conversion BNB.\n\n https://binance-docs.github.io/apidocs/spot/en/#margin-dustlog-user_data\n\n :param startTime: optional\n :type startTime: long\n :param endTime: optional\n :type endTime: long\n\n :returns: API response\n\n .. code-block:: python\n {\n \"total\": 8, //Total counts of exchange\n \"userAssetDribblets\": [\n {\n \"operateTime\": 1615985535000,\n \"totalTransferedAmount\": \"0.00132256\", // Total transfered BNB amount for this exchange.\n \"totalServiceChargeAmount\": \"0.00002699\", //Total service charge amount for this exchange.\n \"transId\": 45178372831,\n \"userAssetDribbletDetails\": [ //Details of this exchange.\n {\n \"transId\": 4359321,\n \"serviceChargeAmount\": \"0.000009\",\n \"amount\": \"0.0009\",\n \"operateTime\": 1615985535000,\n \"transferedAmount\": \"0.000441\",\n \"fromAsset\": \"USDT\"\n },\n {\n \"transId\": 4359321,\n \"serviceChargeAmount\": \"0.00001799\",\n \"amount\": \"0.0009\",\n \"operateTime\": 1615985535000,\n \"transferedAmount\": \"0.00088156\",\n \"fromAsset\": \"ETH\"\n }\n ]\n },\n {\n \"operateTime\":1616203180000,\n \"totalTransferedAmount\": \"0.00058795\",\n \"totalServiceChargeAmount\": \"0.000012\",\n \"transId\": 4357015,\n \"userAssetDribbletDetails\": [\n {\n \"transId\": 4357015,\n \"serviceChargeAmount\": \"0.00001\",\n \"amount\": \"0.001\",\n \"operateTime\": 1616203180000,\n \"transferedAmount\": \"0.00049\",\n \"fromAsset\": \"USDT\"\n },\n {\n \"transId\": 4357015,\n \"serviceChargeAmount\": \"0.000002\",\n \"amount\": \"0.0001\",\n \"operateTime\": 1616203180000,\n \"transferedAmount\": \"0.00009795\",\n \"fromAsset\": \"ETH\"\n }\n ]\n }\n ]\n }\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/dribblet\", True, data=params)\n\n def get_margin_dust_assets(self, **params):\n \"\"\"Get margin assets that can be converted into BNB.\n\n https://binance-docs.github.io/apidocs/spot/en/#margin-dustlog-user_data\n\n :returns: API response\n\n .. code-block:: python\n {\n \"details\": [\n {\n \"asset\": \"ADA\",\n \"assetFullName\": \"ADA\",\n \"amountFree\": \"6.21\",\n \"toBTC\": \"0.00016848\",\n \"toBNB\": \"0.01777302\",\n \"toBNBOffExchange\": \"0.01741756\",\n \"exchange\": \"0.00035546\"\n }\n ],\n \"totalTransferBtc\": \"0.00016848\",\n \"totalTransferBNB\": \"0.01777302\",\n \"dribbletPercentage\": \"0.02\"\n }\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/dust\", True, data=params)\n\n def transfer_margin_dust(self, **params):\n \"\"\"Convert dust assets to BNB.\n\n https://binance-docs.github.io/apidocs/spot/en/#dust-transfer-trade\n\n :returns: API response\n\n .. code-block:: python\n {\n \"totalServiceCharge\":\"0.02102542\",\n \"totalTransfered\":\"1.05127099\",\n \"transferResult\":[\n {\n \"amount\":\"0.03000000\",\n \"fromAsset\":\"ETH\",\n \"operateTime\":1563368549307,\n \"serviceChargeAmount\":\"0.00500000\",\n \"tranId\":2970932918,\n \"transferedAmount\":\"0.25000000\"\n },\n {\n \"amount\":\"0.09000000\",\n \"fromAsset\":\"LTC\",\n \"operateTime\":1563368549404,\n \"serviceChargeAmount\":\"0.01548000\",\n \"tranId\":2970932918,\n \"transferedAmount\":\"0.77400000\"\n }\n ]\n }\n\n \"\"\"\n return self._request_margin_api(\"post\", \"margin/dust\", True, data=params)\n\n def get_cross_margin_collateral_ratio(self, **params):\n \"\"\"\n https://developers.binance.com/docs/margin_trading/market-data\n\n :param none\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"collaterals\": [\n {\n \"minUsdValue\": \"0\",\n \"maxUsdValue\": \"13000000\",\n \"discountRate\": \"1\"\n },\n {\n \"minUsdValue\": \"13000000\",\n \"maxUsdValue\": \"20000000\",\n \"discountRate\": \"0.975\"\n },\n {\n \"minUsdValue\": \"20000000\",\n \"discountRate\": \"0\"\n }\n ],\n \"assetNames\": [\n \"BNX\"\n ]\n },\n {\n \"collaterals\": [\n {\n \"minUsdValue\": \"0\",\n \"discountRate\": \"1\"\n }\n ],\n \"assetNames\": [\n \"BTC\",\n \"BUSD\",\n \"ETH\",\n \"USDT\"\n ]\n }\n ]\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/crossMarginCollateralRatio\", True, data=params\n )\n\n def get_small_liability_exchange_assets(self, **params):\n \"\"\"Query the coins which can be small liability exchange\n\n https://developers.binance.com/docs/margin_trading/trade/Get-Small-Liability-Exchange-Coin-List\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"asset\": \"ETH\",\n \"interest\": \"0.00083334\",\n \"principal\": \"0.001\",\n \"liabilityAsset\": \"USDT\",\n \"liabilityQty\": 0.3552\n }\n ]\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/exchange-small-liability\", True, data=params\n )\n\n def exchange_small_liability_assets(self, **params):\n \"\"\"Cross Margin Small Liability Exchange\n\n https://developers.binance.com/docs/margin_trading/trade/Small-Liability-Exchange\n\n :param assetNames: The assets list of small liability exchange\n :type assetNames: array\n\n :returns: API response\n\n .. code-block:: python\n none\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/exchange-small-liability\", True, data=params\n )\n\n def get_small_liability_exchange_history(self, **params):\n \"\"\"Get Small liability Exchange History\n\n https://developers.binance.com/docs/margin_trading/trade/Get-Small-Liability-Exchange-History\n\n :param current: Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: Default:10, Max:100\n :type size: int\n :param startTime: Default: 30 days from current timestamp\n :type startTime: long\n :param endTime: Default: present timestamp\n :type endTIme: long\n\n :returns: API response\n\n .. code-block:: python\n {\n \"total\": 1,\n \"rows\": [\n {\n \"asset\": \"ETH\",\n \"amount\": \"0.00083434\",\n \"targetAsset\": \"BUSD\",\n \"targetAmount\": \"1.37576819\",\n \"bizType\": \"EXCHANGE_SMALL_LIABILITY\",\n \"timestamp\": 1672801339253\n }\n ]\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/exchange-small-liability-history\", True, data=params\n )\n\n def get_future_hourly_interest_rate(self, **params):\n \"\"\"Get user the next hourly estimate interest\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay\n\n :param assets: List of assets, separated by commas, up to 20\n :type assets: str\n :param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\n :type isIsolated: bool\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"asset\": \"BTC\",\n \"nextHourlyInterestRate\": \"0.00000571\"\n },\n {\n \"asset\": \"ETH\",\n \"nextHourlyInterestRate\": \"0.00000578\"\n }\n ]\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/next-hourly-interest-rate\", True, data=params\n )\n\n def get_margin_capital_flow(self, **params):\n \"\"\"Get cross or isolated margin capital flow\n\n https://developers.binance.com/docs/margin_trading/account/Query-Cross-Isolated-Margin-Capital-Flow\n\n :param asset: optional\n :type asset: str\n :param symbol: Required when querying isolated data\n :type symbol: str\n :param type: optional\n :type type: string\n :param startTime: Only supports querying the data of the last 90 days\n :type startTime: long\n :param endTime: optional\n :type endTime: long\n :param formId: If fromId is set, the data with id > fromId will be returned. Otherwise the latest data will be returned\n :type formId: long\n :param limit: The number of data items returned each time is limited. Default 500; Max 1000.\n :type limit: long\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"id\": 123456,\n \"tranId\": 123123,\n \"timestamp\": 1691116657000,\n \"asset\": \"USDT,\n \"symbol\": \"BTCUSDT\",\n \"type\": \"BORROW\",\n \"amount\": \"101\"\n },\n {\n \"id\": 123457,\n \"tranId\": 123124,\n \"timestamp\": 1691116658000,\n \"asset\": \"BTC\",\n \"symbol\": \"BTCUSDT\",\n \"type\": \"REPAY\",\n \"amount\": \"10\"\n }\n ]\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/capital-flow\", True, data=params)\n\n def get_margin_asset(self, **params):\n \"\"\"Query cross-margin asset\n\n https://binance-docs.github.io/apidocs/spot/en/#query-margin-asset-market_data\n\n :param asset: name of the asset\n :type asset: str\n\n .. code-block:: python\n\n asset_details = client.get_margin_asset(asset='BNB')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"assetFullName\": \"Binance Coin\",\n \"assetName\": \"BNB\",\n \"isBorrowable\": false,\n \"isMortgageable\": true,\n \"userMinBorrow\": \"0.00000000\",\n \"userMinRepay\": \"0.00000000\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/asset\", data=params)\n\n def get_margin_symbol(self, **params):\n \"\"\"Query cross-margin symbol info\n\n https://binance-docs.github.io/apidocs/spot/en/#query-cross-margin-pair-market_data\n\n :param symbol: name of the symbol pair\n :type symbol: str\n\n .. code:: python\n\n pair_details = client.get_margin_symbol(symbol='BTCUSDT')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"id\":323355778339572400,\n \"symbol\":\"BTCUSDT\",\n \"base\":\"BTC\",\n \"quote\":\"USDT\",\n \"isMarginTrade\":true,\n \"isBuyAllowed\":true,\n \"isSellAllowed\":true\n }\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/pair\", data=params)\n\n def get_margin_all_assets(self, **params):\n \"\"\"Get All Margin Assets (MARKET_DATA)\n\n https://developers.binance.com/docs/margin_trading/market-data/Get-All-Margin-Assets\n\n .. code:: python\n\n margin_assets = client.get_margin_all_assets()\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"assetFullName\": \"USD coin\",\n \"assetName\": \"USDC\",\n \"isBorrowable\": true,\n \"isMortgageable\": true,\n \"userMinBorrow\": \"0.00000000\",\n \"userMinRepay\": \"0.00000000\"\n },\n {\n \"assetFullName\": \"BNB-coin\",\n \"assetName\": \"BNB\",\n \"isBorrowable\": true,\n \"isMortgageable\": true,\n \"userMinBorrow\": \"1.00000000\",\n \"userMinRepay\": \"0.00000000\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/allAssets\", data=params)\n\n def get_margin_all_pairs(self, **params):\n \"\"\"Get All Cross Margin Pairs (MARKET_DATA)\n\n https://developers.binance.com/docs/margin_trading/market-data/Get-All-Cross-Margin-Pairs\n\n .. code:: python\n\n margin_pairs = client.get_margin_all_pairs()\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"base\": \"BNB\",\n \"id\": 351637150141315861,\n \"isBuyAllowed\": true,\n \"isMarginTrade\": true,\n \"isSellAllowed\": true,\n \"quote\": \"BTC\",\n \"symbol\": \"BNBBTC\"\n },\n {\n \"base\": \"TRX\",\n \"id\": 351637923235429141,\n \"isBuyAllowed\": true,\n \"isMarginTrade\": true,\n \"isSellAllowed\": true,\n \"quote\": \"BTC\",\n \"symbol\": \"TRXBTC\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/allPairs\", data=params)\n\n def create_isolated_margin_account(self, **params):\n \"\"\"Create isolated margin account for symbol\n\n https://binance-docs.github.io/apidocs/spot/en/#create-isolated-margin-account-margin\n\n :param base: Base asset of symbol\n :type base: str\n :param quote: Quote asset of symbol\n :type quote: str\n\n .. code:: python\n\n pair_details = client.create_isolated_margin_account(base='USDT', quote='BTC')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"success\": true,\n \"symbol\": \"BTCUSDT\"\n }\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/isolated/create\", signed=True, data=params\n )\n\n def get_isolated_margin_symbol(self, **params):\n \"\"\"Query isolated margin symbol info\n\n https://binance-docs.github.io/apidocs/spot/en/#query-isolated-margin-symbol-user_data\n\n :param symbol: name of the symbol pair\n :type symbol: str\n\n .. code:: python\n\n pair_details = client.get_isolated_margin_symbol(symbol='BTCUSDT')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"symbol\":\"BTCUSDT\",\n \"base\":\"BTC\",\n \"quote\":\"USDT\",\n \"isMarginTrade\":true,\n \"isBuyAllowed\":true,\n \"isSellAllowed\":true\n }\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/isolated/pair\", signed=True, data=params\n )\n\n def get_all_isolated_margin_symbols(self, **params):\n \"\"\"Query isolated margin symbol info for all pairs\n\n https://developers.binance.com/docs/margin_trading/market-data/Get-All-Isolated-Margin-Symbol\n\n .. code:: python\n\n pair_details = client.get_all_isolated_margin_symbols()\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"base\": \"BNB\",\n \"isBuyAllowed\": true,\n \"isMarginTrade\": true,\n \"isSellAllowed\": true,\n \"quote\": \"BTC\",\n \"symbol\": \"BNBBTC\"\n },\n {\n \"base\": \"TRX\",\n \"isBuyAllowed\": true,\n \"isMarginTrade\": true,\n \"isSellAllowed\": true,\n \"quote\": \"BTC\",\n \"symbol\": \"TRXBTC\"\n }\n ]\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/isolated/allPairs\", signed=True, data=params\n )\n\n def get_isolated_margin_fee_data(self, **params):\n \"\"\"Get isolated margin fee data collection with any vip level or user's current specific data as https://www.binance.com/en/margin-fee\n\n https://developers.binance.com/docs/margin_trading/account/Query-Isolated-Margin-Fee-Data\n\n :param vipLevel: User's current specific margin data will be returned if vipLevel is omitted\n :type vipLevel: int\n :param symbol: optional\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"vipLevel\": 0,\n \"symbol\": \"BTCUSDT\",\n \"leverage\": \"10\",\n \"data\": [\n {\n \"coin\": \"BTC\",\n \"dailyInterest\": \"0.00026125\",\n \"borrowLimit\": \"270\"\n },\n {\n \"coin\": \"USDT\",\n \"dailyInterest\": \"0.000475\",\n \"borrowLimit\": \"2100000\"\n }\n ]\n }\n ]\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/isolatedMarginData\", True, data=params\n )\n\n def get_isolated_margin_tier_data(self, **params):\n \"\"\"Get isolated margin tier data collection with any tier as https://www.binance.com/en/margin-data\n\n https://developers.binance.com/docs/margin_trading/market-data/Query-Isolated-Margin-Tier-Data\n\n :param symbol: required\n :type symbol: str\n :param tier: All margin tier data will be returned if tier is omitted\n :type tier: int\n :param recvWindow: optional: No more than 60000\n :type recvWindow:\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"tier\": 1,\n \"effectiveMultiple\": \"10\",\n \"initialRiskRatio\": \"1.111\",\n \"liquidationRiskRatio\": \"1.05\",\n \"baseAssetMaxBorrowable\": \"9\",\n \"quoteAssetMaxBorrowable\": \"70000\"\n }\n ]\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/isolatedMarginTier\", True, data=params\n )\n\n def margin_manual_liquidation(self, **params):\n \"\"\"\n\n https://developers.binance.com/docs/margin_trading/trade/Margin-Manual-Liquidation\n\n\n\n :param type: required\n :type symbol: str: When type selected is \"ISOLATED\", symbol must be filled in\n\n :returns: API response\n\n [\n {\n \"asset\": \"ETH\",\n \"interest\": \"0.00083334\",\n \"principal\": \"0.001\",\n \"liabilityAsset\": \"USDT\",\n \"liabilityQty\": 0.3552\n }\n ]\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/manual-liquidation\", True, data=params\n )\n\n def toggle_bnb_burn_spot_margin(self, **params):\n \"\"\"Toggle BNB Burn On Spot Trade And Margin Interest\n\n https://developers.binance.com/docs/wallet/asset/Toggle-BNB-Burn-On-Spot-Trade-And-Margin-Interest\n\n :param spotBNBBurn: Determines whether to use BNB to pay for trading fees on SPOT\n :type spotBNBBurn: bool\n :param interestBNBBurn: Determines whether to use BNB to pay for margin loan's interest\n :type interestBNBBurn: bool\n\n .. code:: python\n\n response = client.toggle_bnb_burn_spot_margin()\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"spotBNBBurn\":true,\n \"interestBNBBurn\": false\n }\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"post\", \"bnbBurn\", signed=True, data=params)\n\n def get_bnb_burn_spot_margin(self, **params):\n \"\"\"Get BNB Burn Status\n\n https://developers.binance.com/docs/margin_trading/account/Get-BNB-Burn-Status\n\n .. code:: python\n\n status = client.get_bnb_burn_spot_margin()\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"spotBNBBurn\":true,\n \"interestBNBBurn\": false\n }\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"bnbBurn\", signed=True, data=params)\n\n def get_margin_price_index(self, **params):\n \"\"\"Query margin priceIndex\n\n https://developers.binance.com/docs/margin_trading/market-data/Query-Margin-PriceIndex\n\n :param symbol: name of the symbol pair\n :type symbol: str\n\n .. code:: python\n\n price_index_details = client.get_margin_price_index(symbol='BTCUSDT')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"calcTime\": 1562046418000,\n \"price\": \"0.00333930\",\n \"symbol\": \"BNBBTC\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/priceIndex\", data=params)\n\n def transfer_margin_to_spot(self, **params):\n \"\"\"Execute transfer between cross-margin account and spot account.\n\n https://binance-docs.github.io/apidocs/spot/en/#cross-margin-account-transfer-margin\n\n :param asset: name of the asset\n :type asset: str\n :param amount: amount to transfer\n :type amount: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transfer = client.transfer_margin_to_spot(asset='BTC', amount='1.1')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params[\"type\"] = 2\n return self._request_margin_api(\n \"post\", \"margin/transfer\", signed=True, data=params\n )\n\n def transfer_spot_to_margin(self, **params):\n \"\"\"Execute transfer between spot account and cross-margin account.\n\n https://binance-docs.github.io/apidocs/spot/en/#cross-margin-account-transfer-margin\n\n :param asset: name of the asset\n :type asset: str\n :param amount: amount to transfer\n :type amount: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transfer = client.transfer_spot_to_margin(asset='BTC', amount='1.1')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params[\"type\"] = 1\n return self._request_margin_api(\n \"post\", \"margin/transfer\", signed=True, data=params\n )\n\n def transfer_isolated_margin_to_spot(self, **params):\n \"\"\"Execute transfer between isolated margin account and spot account.\n\n https://binance-docs.github.io/apidocs/spot/en/#isolated-margin-account-transfer-margin\n\n :param asset: name of the asset\n :type asset: str\n :param symbol: pair symbol\n :type symbol: str\n :param amount: amount to transfer\n :type amount: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transfer = client.transfer_isolated_margin_to_spot(asset='BTC',\n symbol='ETHBTC', amount='1.1')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params[\"transFrom\"] = \"ISOLATED_MARGIN\"\n params[\"transTo\"] = \"SPOT\"\n return self._request_margin_api(\n \"post\", \"margin/isolated/transfer\", signed=True, data=params\n )\n\n def transfer_spot_to_isolated_margin(self, **params):\n \"\"\"Execute transfer between spot account and isolated margin account.\n\n https://binance-docs.github.io/apidocs/spot/en/#isolated-margin-account-transfer-margin\n\n :param asset: name of the asset\n :type asset: str\n :param symbol: pair symbol\n :type symbol: str\n :param amount: amount to transfer\n :type amount: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transfer = client.transfer_spot_to_isolated_margin(asset='BTC',\n symbol='ETHBTC', amount='1.1')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params[\"transFrom\"] = \"SPOT\"\n params[\"transTo\"] = \"ISOLATED_MARGIN\"\n return self._request_margin_api(\n \"post\", \"margin/isolated/transfer\", signed=True, data=params\n )\n\n def get_isolated_margin_tranfer_history(self, **params):\n \"\"\"Get transfers to isolated margin account.\n\n https://binance-docs.github.io/apidocs/spot/en/#get-isolated-margin-transfer-history-user_data\n\n :param asset: name of the asset\n :type asset: str\n :param symbol: pair required\n :type symbol: str\n :param transFrom: optional SPOT, ISOLATED_MARGIN\n :param transFrom: str SPOT, ISOLATED_MARGIN\n :param transTo: optional\n :param transTo: str\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param current: Currently querying page. Start from 1. Default:1\n :type current: str\n :param size: Default:10 Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transfer = client.transfer_spot_to_isolated_margin(symbol='ETHBTC')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"rows\": [\n {\n \"amount\": \"0.10000000\",\n \"asset\": \"BNB\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566898617000,\n \"txId\": 5240372201,\n \"transFrom\": \"SPOT\",\n \"transTo\": \"ISOLATED_MARGIN\"\n },\n {\n \"amount\": \"5.00000000\",\n \"asset\": \"USDT\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566888436123,\n \"txId\": 5239810406,\n \"transFrom\": \"ISOLATED_MARGIN\",\n \"transTo\": \"SPOT\"\n }\n ],\n \"total\": 2\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/isolated/transfer\", signed=True, data=params\n )\n\n def create_margin_loan(self, **params):\n \"\"\"Apply for a loan in cross-margin or isolated-margin account.\n\n https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-margin\n\n :param asset: name of the asset\n :type asset: str\n :param amount: amount to transfer\n :type amount: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param symbol: Isolated margin symbol (default blank for cross-margin)\n :type symbol: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transaction = client.margin_create_loan(asset='BTC', amount='1.1')\n\n transaction = client.margin_create_loan(asset='BTC', amount='1.1',\n isIsolated='TRUE', symbol='ETHBTC')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"post\", \"margin/loan\", signed=True, data=params)\n\n def repay_margin_loan(self, **params):\n \"\"\"Repay loan in cross-margin or isolated-margin account.\n\n If amount is more than the amount borrowed, the full loan will be repaid.\n\n https://binance-docs.github.io/apidocs/spot/en/#margin-account-repay-margin\n\n :param asset: name of the asset\n :type asset: str\n :param amount: amount to transfer\n :type amount: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param symbol: Isolated margin symbol (default blank for cross-margin)\n :type symbol: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n .. code-block:: python\n\n transaction = client.margin_repay_loan(asset='BTC', amount='1.1')\n\n transaction = client.margin_repay_loan(asset='BTC', amount='1.1',\n isIsolated='TRUE', symbol='ETHBTC')\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\": 100000001\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/repay\", signed=True, data=params\n )\n\n def create_margin_order(self, **params):\n \"\"\"Post a new order for margin account.\n\n https://developers.binance.com/docs/margin_trading/trade/Margin-Account-New-Order\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param side: required\n :type side: str\n :param type: required\n :type type: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param stopPrice: Used with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders.\n :type stopPrice: str\n :param timeInForce: required if limit order GTC,IOC,FOK\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n :type icebergQty: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; MARKET and LIMIT order types default to\n FULL, all other orders default to ACK.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n Response ACK:\n\n .. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595\n }\n\n Response RESULT:\n\n .. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595,\n \"price\": \"1.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"10.00000000\",\n \"cummulativeQuoteQty\": \"10.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"SELL\"\n }\n\n Response FULL:\n\n .. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 28,\n \"clientOrderId\": \"6gCrw2kRUAF9CvJDGP16IP\",\n \"transactTime\": 1507725176595,\n \"price\": \"1.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"10.00000000\",\n \"cummulativeQuoteQty\": \"10.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"SELL\",\n \"fills\": [\n {\n \"price\": \"4000.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"4.00000000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3999.00000000\",\n \"qty\": \"5.00000000\",\n \"commission\": \"19.99500000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3998.00000000\",\n \"qty\": \"2.00000000\",\n \"commission\": \"7.99600000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3997.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"3.99700000\",\n \"commissionAsset\": \"USDT\"\n },\n {\n \"price\": \"3995.00000000\",\n \"qty\": \"1.00000000\",\n \"commission\": \"3.99500000\",\n \"commissionAsset\": \"USDT\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException,\n BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException,\n BinanceOrderInactiveSymbolException\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return self._request_margin_api(\n \"post\", \"margin/order\", signed=True, data=params\n )\n\n def cancel_margin_order(self, **params):\n \"\"\"Cancel an active order for margin account.\n\n Either orderId or origClientOrderId must be sent.\n\n https://developers.binance.com/docs/margin_trading/trade/Margin-Account-Cancel-Order\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param orderId:\n :type orderId: str\n :param origClientOrderId:\n :type origClientOrderId: str\n :param newClientOrderId: Used to uniquely identify this cancel. Automatically generated by default.\n :type newClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 28,\n \"origClientOrderId\": \"myOrder1\",\n \"clientOrderId\": \"cancelMyOrder1\",\n \"transactTime\": 1507725176595,\n \"price\": \"1.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"8.00000000\",\n \"cummulativeQuoteQty\": \"8.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"delete\", \"margin/order\", signed=True, data=params\n )\n\n def cancel_all_open_margin_orders(self, **params):\n \"\"\"\n Cancels all active orders on a symbol for margin account.\n\n https://developers.binance.com/docs/margin_trading/trade/Margin-Account-Cancel-All-Open-Orders\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: API response\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_margin_api(\n \"delete\", \"margin/openOrders\", signed=True, data=params\n )\n\n def set_margin_max_leverage(self, **params):\n \"\"\"Adjust cross margin max leverage\n\n https://developers.binance.com/docs/margin_trading/account\n\n :param maxLeverage: required Can only adjust 3 or 5\uff0cExample: maxLeverage=3\n :type maxLeverage: int\n\n :returns: API response\n\n {\n \"success\": true\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/max-leverage\", signed=True, data=params\n )\n\n def get_margin_transfer_history(self, **params):\n \"\"\"Query margin transfer history\n\n https://developers.binance.com/docs/margin_trading/transfer\n\n :param asset: optional\n :type asset: str\n :param type: optional Transfer Type: ROLL_IN, ROLL_OUT\n :type type: str\n :param archived: optional Default: false. Set to true for archived data from 6 months ago\n :type archived: str\n :param startTime: earliest timestamp to filter transactions\n :type startTime: str\n :param endTime: Used to uniquely identify this cancel. Automatically generated by default.\n :type endTime: str\n :param current: Currently querying page. Start from 1. Default:1\n :type current: str\n :param size: Default:10 Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"rows\": [\n {\n \"amount\": \"0.10000000\",\n \"asset\": \"BNB\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566898617,\n \"txId\": 5240372201,\n \"type\": \"ROLL_IN\"\n },\n {\n \"amount\": \"5.00000000\",\n \"asset\": \"USDT\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566888436,\n \"txId\": 5239810406,\n \"type\": \"ROLL_OUT\"\n },\n {\n \"amount\": \"1.00000000\",\n \"asset\": \"EOS\",\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1566888403,\n \"txId\": 5239808703,\n \"type\": \"ROLL_IN\"\n }\n ],\n \"total\": 3\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/transfer\", signed=True, data=params\n )\n\n def get_margin_loan_details(self, **params):\n \"\"\"Query loan record\n\n txId or startTime must be sent. txId takes precedence.\n\n https://binance-docs.github.io/apidocs/spot/en/#query-loan-record-user_data\n\n :param asset: required\n :type asset: str\n :param isolatedSymbol: isolated symbol (if querying isolated margin)\n :type isolatedSymbol: str\n :param txId: the tranId in of the created loan\n :type txId: str\n :param startTime: earliest timestamp to filter transactions\n :type startTime: str\n :param endTime: Used to uniquely identify this cancel. Automatically generated by default.\n :type endTime: str\n :param current: Currently querying page. Start from 1. Default:1\n :type current: str\n :param size: Default:10 Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"rows\": [\n {\n \"asset\": \"BNB\",\n \"principal\": \"0.84624403\",\n \"timestamp\": 1555056425000,\n //one of PENDING (pending to execution), CONFIRMED (successfully loaned), FAILED (execution failed, nothing happened to your account);\n \"status\": \"CONFIRMED\"\n }\n ],\n \"total\": 1\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/loan\", signed=True, data=params)\n\n def get_margin_repay_details(self, **params):\n \"\"\"Query repay record\n\n txId or startTime must be sent. txId takes precedence.\n\n https://binance-docs.github.io/apidocs/spot/en/#query-repay-record-user_data\n\n :param asset: required\n :type asset: str\n :param isolatedSymbol: isolated symbol (if querying isolated margin)\n :type isolatedSymbol: str\n :param txId: the tranId in of the created loan\n :type txId: str\n :param startTime:\n :type startTime: str\n :param endTime: Used to uniquely identify this cancel. Automatically generated by default.\n :type endTime: str\n :param current: Currently querying page. Start from 1. Default:1\n :type current: str\n :param size: Default:10 Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"rows\": [\n {\n //Total amount repaid\n \"amount\": \"14.00000000\",\n \"asset\": \"BNB\",\n //Interest repaid\n \"interest\": \"0.01866667\",\n //Principal repaid\n \"principal\": \"13.98133333\",\n //one of PENDING (pending to execution), CONFIRMED (successfully loaned), FAILED (execution failed, nothing happened to your account);\n \"status\": \"CONFIRMED\",\n \"timestamp\": 1563438204000,\n \"txId\": 2970933056\n }\n ],\n \"total\": 1\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/repay\", signed=True, data=params)\n\n def get_cross_margin_data(self, **params):\n \"\"\"Query Cross Margin Fee Data (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/account/Query-Cross-Margin-Fee-Data\n\n :param vipLevel: User's current specific margin data will be returned if vipLevel is omitted\n :type vipLevel: int\n :param coin\n :type coin: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: API response (example):\n [\n {\n \"vipLevel\": 0,\n \"coin\": \"BTC\",\n \"transferIn\": true,\n \"borrowable\": true,\n \"dailyInterest\": \"0.00026125\",\n \"yearlyInterest\": \"0.0953\",\n \"borrowLimit\": \"180\",\n \"marginablePairs\": [\n \"BNBBTC\",\n \"TRXBTC\",\n \"ETHBTC\",\n \"BTCUSDT\"\n ]\n }\n ]\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/crossMarginData\", signed=True, data=params\n )\n\n def get_margin_interest_history(self, **params):\n \"\"\"Get Interest History (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay/Get-Interest-History\n\n :param asset:\n :type asset: str\n :param isolatedSymbol: isolated symbol (if querying isolated margin)\n :type isolatedSymbol: str\n :param startTime:\n :type startTime: str\n :param endTime:\n :type endTime: str\n :param current: Currently querying page. Start from 1. Default:1\n :type current: str\n :param size: Default:10 Max:100\n :type size: int\n :param archived: Default: false. Set to true for archived data from 6 months ago\n :type archived: bool\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"rows\":[\n {\n \"isolatedSymbol\": \"BNBUSDT\", // isolated symbol, will not be returned for crossed margin\n \"asset\": \"BNB\",\n \"interest\": \"0.02414667\",\n \"interestAccuredTime\": 1566813600000,\n \"interestRate\": \"0.01600000\",\n \"principal\": \"36.22000000\",\n \"type\": \"ON_BORROW\"\n }\n ],\n \"total\": 1\n }\n\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/interestHistory\", signed=True, data=params\n )\n\n def get_margin_force_liquidation_rec(self, **params):\n \"\"\"Get Force Liquidation Record (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/trade\n\n :param startTime:\n :type startTime: str\n :param endTime:\n :type endTime: str\n :param isolatedSymbol: isolated symbol (if querying isolated margin)\n :type isolatedSymbol: str\n :param current: Currently querying page. Start from 1. Default:1\n :type current: str\n :param size: Default:10 Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"rows\": [\n {\n \"avgPrice\": \"0.00388359\",\n \"executedQty\": \"31.39000000\",\n \"orderId\": 180015097,\n \"price\": \"0.00388110\",\n \"qty\": \"31.39000000\",\n \"side\": \"SELL\",\n \"symbol\": \"BNBBTC\",\n \"timeInForce\": \"GTC\",\n \"isIsolated\": true,\n \"updatedTime\": 1558941374745\n }\n ],\n \"total\": 1\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/forceLiquidationRec\", signed=True, data=params\n )\n\n def get_margin_order(self, **params):\n \"\"\"Query margin accounts order\n\n Either orderId or origClientOrderId must be sent.\n\n For some historical orders cummulativeQuoteQty will be < 0, meaning the data is not available at this time.\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Order\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param orderId:\n :type orderId: str\n :param origClientOrderId:\n :type origClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"clientOrderId\": \"ZwfQzuDIGpceVhKW5DvCmO\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"executedQty\": \"0.00000000\",\n \"icebergQty\": \"0.00000000\",\n \"isWorking\": true,\n \"orderId\": 213205622,\n \"origQty\": \"0.30000000\",\n \"price\": \"0.00493630\",\n \"side\": \"SELL\",\n \"status\": \"NEW\",\n \"stopPrice\": \"0.00000000\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1562133008725,\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"updateTime\": 1562133008725\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/order\", signed=True, data=params)\n\n def get_open_margin_orders(self, **params):\n \"\"\"Query margin accounts open orders\n\n If the symbol is not sent, orders for all symbols will be returned in an array (cross-margin only).\n\n If querying isolated margin orders, both the isIsolated='TRUE' and symbol=symbol_name must be set.\n\n When all symbols are returned, the number of requests counted against the rate limiter is equal to the number\n of symbols currently trading on the exchange.\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Open-Orders\n\n :param symbol: optional\n :type symbol: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n [\n {\n \"clientOrderId\": \"qhcZw71gAkCCTv0t0k8LUK\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"executedQty\": \"0.00000000\",\n \"icebergQty\": \"0.00000000\",\n \"isWorking\": true,\n \"orderId\": 211842552,\n \"origQty\": \"0.30000000\",\n \"price\": \"0.00475010\",\n \"side\": \"SELL\",\n \"status\": \"NEW\",\n \"stopPrice\": \"0.00000000\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1562040170089,\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"updateTime\": 1562040170089\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/openOrders\", signed=True, data=params\n )\n\n def get_all_margin_orders(self, **params):\n \"\"\"Query all margin accounts orders\n\n If orderId is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n\n For some historical orders cummulativeQuoteQty will be < 0, meaning the data is not available at this time.\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-All-Orders\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param orderId: optional\n :type orderId: str\n :param startTime: optional\n :type startTime: str\n :param endTime: optional\n :type endTime: str\n :param limit: Default 500; max 1000\n :type limit: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n [\n {\n \"id\": 43123876,\n \"price\": \"0.00395740\",\n \"qty\": \"4.06000000\",\n \"quoteQty\": \"0.01606704\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1556089977693\n },\n {\n \"id\": 43123877,\n \"price\": \"0.00395740\",\n \"qty\": \"0.77000000\",\n \"quoteQty\": \"0.00304719\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1556089977693\n },\n {\n \"id\": 43253549,\n \"price\": \"0.00428930\",\n \"qty\": \"23.30000000\",\n \"quoteQty\": \"0.09994069\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1556163963504\n }\n ]\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/allOrders\", signed=True, data=params\n )\n\n def get_margin_trades(self, **params):\n \"\"\"Query margin accounts trades\n\n If fromId is set, it will get orders >= that fromId. Otherwise most recent orders are returned.\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Trade-List\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')\n :type isIsolated: str\n :param fromId: optional\n :type fromId: str\n :param startTime: optional\n :type startTime: str\n :param endTime: optional\n :type endTime: str\n :param limit: Default 500; max 1000\n :type limit: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n [\n {\n \"commission\": \"0.00006000\",\n \"commissionAsset\": \"BTC\",\n \"id\": 34,\n \"isBestMatch\": true,\n \"isBuyer\": false,\n \"isMaker\": false,\n \"orderId\": 39324,\n \"price\": \"0.02000000\",\n \"qty\": \"3.00000000\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1561973357171\n }, {\n \"commission\": \"0.00002950\",\n \"commissionAsset\": \"BTC\",\n \"id\": 32,\n \"isBestMatch\": true,\n \"isBuyer\": false,\n \"isMaker\": true,\n \"orderId\": 39319,\n \"price\": \"0.00590000\",\n \"qty\": \"5.00000000\",\n \"symbol\": \"BNBBTC\",\n \"time\": 1561964645345\n }\n ]\n\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/myTrades\", signed=True, data=params\n )\n\n def get_max_margin_loan(self, **params):\n \"\"\"Query max borrow amount for an asset\n\n https://binance-docs.github.io/apidocs/spot/en/#query-max-borrow-user_data\n\n :param asset: required\n :type asset: str\n :param isolatedSymbol: isolated symbol (if querying isolated margin)\n :type isolatedSymbol: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"amount\": \"1.69248805\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/maxBorrowable\", signed=True, data=params\n )\n\n def get_max_margin_transfer(self, **params):\n \"\"\"Query max transfer-out amount\n\n https://developers.binance.com/docs/margin_trading/transfer/Query-Max-Transfer-Out-Amount\n\n :param asset: required\n :type asset: str\n :param isolatedSymbol: isolated symbol (if querying isolated margin)\n :type isolatedSymbol: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"amount\": \"3.59498107\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/maxTransferable\", signed=True, data=params\n )\n\n def get_margin_delist_schedule(self, **params):\n \"\"\"Get tokens or symbols delist schedule for cross margin and isolated margin\n\n https://developers.binance.com/docs/margin_trading/market-data/Get-Delist-Schedule\n\n :param recvWindow: optional - the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"delistTime\": 1686161202000,\n \"crossMarginAssets\": [\n \"BTC\",\n \"USDT\"\n ],\n \"isolatedMarginSymbols\": [\n \"ADAUSDT\",\n \"BNBUSDT\"\n ]\n },\n {\n \"delistTime\": 1686222232000,\n \"crossMarginAssets\": [\n \"ADA\"\n ],\n \"isolatedMarginSymbols\": []\n }\n ]\n \"\"\"\n return self._request_margin_api(\n \"get\", \"/margin/delist-schedule\", signed=True, data=params\n )\n\n # Margin OCO\n\n def create_margin_oco_order(self, **params):\n \"\"\"Post a new OCO trade for margin account.\n\n https://developers.binance.com/docs/margin_trading/trade/Margin-Account-New-OCO\n\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\uff0cdefault \"FALSE\"\n :type symbol: str\n :param listClientOrderId: A unique id for the list order. Automatically generated if not sent.\n :type listClientOrderId: str\n :param side: required\n :type side: str\n :param quantity: required\n :type quantity: decimal\n :param limitClientOrderId: A unique id for the limit order. Automatically generated if not sent.\n :type limitClientOrderId: str\n :param price: required\n :type price: str\n :param limitIcebergQty: Used to make the LIMIT_MAKER leg an iceberg order.\n :type limitIcebergQty: decimal\n :param stopClientOrderId: A unique Id for the stop loss/stop loss limit leg. Automatically generated if not sent.\n :type stopClientOrderId: str\n :param stopPrice: required\n :type stopPrice: str\n :param stopLimitPrice: If provided, stopLimitTimeInForce is required.\n :type stopLimitPrice: str\n :param stopIcebergQty: Used with STOP_LOSS_LIMIT leg to make an iceberg order.\n :type stopIcebergQty: decimal\n :param stopLimitTimeInForce: Valid values are GTC/FOK/IOC.\n :type stopLimitTimeInForce: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param sideEffectType: NO_SIDE_EFFECT, MARGIN_BUY, AUTO_REPAY; default NO_SIDE_EFFECT.\n :type sideEffectType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"orderListId\": 0,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"JYVpp3F0f5CAG15DhtrqLp\",\n \"transactionTime\": 1563417480525,\n \"symbol\": \"LTCBTC\",\n \"marginBuyBorrowAmount\": \"5\", // will not return if no margin trade happens\n \"marginBuyBorrowAsset\": \"BTC\", // will not return if no margin trade happens\n \"isIsolated\": false, // if isolated margin\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 2,\n \"clientOrderId\": \"Kk7sqHb9J6mJWTMDVW7Vos\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 3,\n \"clientOrderId\": \"xTXKaGYd4bluPVp78IVRvl\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 2,\n \"orderListId\": 0,\n \"clientOrderId\": \"Kk7sqHb9J6mJWTMDVW7Vos\",\n \"transactTime\": 1563417480525,\n \"price\": \"0.000000\",\n \"origQty\": \"0.624363\",\n \"executedQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.960664\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 3,\n \"orderListId\": 0,\n \"clientOrderId\": \"xTXKaGYd4bluPVp78IVRvl\",\n \"transactTime\": 1563417480525,\n \"price\": \"0.036435\",\n \"origQty\": \"0.624363\",\n \"executedQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"BUY\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException,\n BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException,\n BinanceOrderInactiveSymbolException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/order/oco\", signed=True, data=params\n )\n\n def cancel_margin_oco_order(self, **params):\n \"\"\"Cancel an entire Order List for a margin account.\n\n https://developers.binance.com/docs/margin_trading/trade/Margin-Account-Cancel-OCO\n\n :param symbol: required\n :type symbol: str\n :param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\uff0cdefault \"FALSE\"\n :type symbol: str\n :param orderListId: Either orderListId or listClientOrderId must be provided\n :type orderListId: int\n :param listClientOrderId: Either orderListId or listClientOrderId must be provided\n :type listClientOrderId: str\n :param newClientOrderId: Used to uniquely identify this cancel. Automatically generated by default.\n :type newClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"orderListId\": 0,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"ALL_DONE\",\n \"listOrderStatus\": \"ALL_DONE\",\n \"listClientOrderId\": \"C3wyj4WVEktd7u9aVBRXcN\",\n \"transactionTime\": 1574040868128,\n \"symbol\": \"LTCBTC\",\n \"isIsolated\": false, // if isolated margin\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 2,\n \"clientOrderId\": \"pO9ufTiFGg3nw2fOdgeOXa\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 3,\n \"clientOrderId\": \"TXOvglzXuaubXAaENpaRCB\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"LTCBTC\",\n \"origClientOrderId\": \"pO9ufTiFGg3nw2fOdgeOXa\",\n \"orderId\": 2,\n \"orderListId\": 0,\n \"clientOrderId\": \"unfWT8ig8i0uj6lPuYLez6\",\n \"price\": \"1.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS_LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"1.00000000\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"origClientOrderId\": \"TXOvglzXuaubXAaENpaRCB\",\n \"orderId\": 3,\n \"orderListId\": 0,\n \"clientOrderId\": \"unfWT8ig8i0uj6lPuYLez6\",\n \"price\": \"3.00000000\",\n \"origQty\": \"10.00000000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"SELL\"\n }\n ]\n }\n\n \"\"\"\n return self._request_margin_api(\n \"delete\", \"margin/orderList\", signed=True, data=params\n )\n\n def get_margin_oco_order(self, **params):\n \"\"\"Retrieves a specific OCO based on provided optional parameters\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-OCO\n\n :param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\uff0cdefault \"FALSE\"\n :type symbol: str\n :param symbol: mandatory for isolated margin, not supported for cross margin\n :type symbol: str\n :param orderListId: Either orderListId or listClientOrderId must be provided\n :type orderListId: int\n :param listClientOrderId: Either orderListId or listClientOrderId must be provided\n :type listClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"orderListId\": 27,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"h2USkA5YQpaXHPIrkd96xE\",\n \"transactionTime\": 1565245656253,\n \"symbol\": \"LTCBTC\",\n \"isIsolated\": false, // if isolated margin\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 4,\n \"clientOrderId\": \"qD1gy3kc3Gx0rihm9Y3xwS\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 5,\n \"clientOrderId\": \"ARzZ9I00CPM8i3NhmU9Ega\"\n }\n ]\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/orderList\", signed=True, data=params\n )\n\n def get_open_margin_oco_orders(self, **params):\n \"\"\"Retrieves open OCO trades\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-Open-OCO\n\n :param isIsolated: for isolated margin or not, \"TRUE\", \"FALSE\"\uff0cdefault \"FALSE\"\n :type symbol: str\n :param symbol: mandatory for isolated margin, not supported for cross margin\n :type symbol: str\n :param fromId: If supplied, neither startTime or endTime can be provided\n :type fromId: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional Default Value: 500; Max Value: 1000\n :type limit: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n [\n {\n \"orderListId\": 29,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"amEEAXryFzFwYF1FeRpUoZ\",\n \"transactionTime\": 1565245913483,\n \"symbol\": \"LTCBTC\",\n \"isIsolated\": true, // if isolated margin\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 4,\n \"clientOrderId\": \"oD7aesZqjEGlZrbtRpy5zB\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 5,\n \"clientOrderId\": \"Jr1h6xirOxgeJOUuYQS7V3\"\n }\n ]\n },\n {\n \"orderListId\": 28,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"hG7hFNxJV6cZy3Ze4AUT4d\",\n \"transactionTime\": 1565245913407,\n \"symbol\": \"LTCBTC\",\n \"orders\": [\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 2,\n \"clientOrderId\": \"j6lFOfbmFMRjTYA7rRJ0LP\"\n },\n {\n \"symbol\": \"LTCBTC\",\n \"orderId\": 3,\n \"clientOrderId\": \"z0KCjOdditiLS5ekAFtK81\"\n }\n ]\n }\n ]\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/openOrderList\", signed=True, data=params\n )\n\n # Cross-margin\n\n def margin_stream_get_listen_key(self):\n \"\"\"Start a new cross-margin data stream and return the listen key\n If a stream already exists it should return the same key.\n If the stream becomes invalid a new key is returned.\n\n Can be used to keep the stream alive.\n\n https://developers.binance.com/docs/margin_trading/trade-data-stream/Start-Margin-User-Data-Stream\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"listenKey\": \"pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n res = self._request_margin_api(\"post\", \"userDataStream\", signed=False, data={})\n return res[\"listenKey\"]\n\n def margin_stream_keepalive(self, listenKey):\n \"\"\"PING a cross-margin data stream to prevent a time out.\n\n https://developers.binance.com/docs/margin_trading/trade-data-stream/Keepalive-Margin-User-Data-Stream\n\n :param listenKey: required\n :type listenKey: str\n\n :returns: API response\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params = {\"listenKey\": listenKey}\n return self._request_margin_api(\n \"put\", \"userDataStream\", signed=False, data=params\n )\n\n def margin_stream_close(self, listenKey):\n \"\"\"Close out a cross-margin data stream.\n\n https://developers.binance.com/docs/margin_trading/trade-data-stream/Close-Margin-User-Data-Stream\n\n :param listenKey: required\n :type listenKey: str\n\n :returns: API response\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params = {\"listenKey\": listenKey}\n return self._request_margin_api(\n \"delete\", \"userDataStream\", signed=False, data=params\n )\n\n # Isolated margin\n\n def isolated_margin_stream_get_listen_key(self, symbol):\n \"\"\"Start a new isolated margin data stream and return the listen key\n If a stream already exists it should return the same key.\n If the stream becomes invalid a new key is returned.\n\n Can be used to keep the stream alive.\n\n https://developers.binance.com/docs/margin_trading/trade-data-stream/Start-Isolated-Margin-User-Data-Stream\n\n :param symbol: required - symbol for the isolated margin account\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"listenKey\": \"T3ee22BIYuWqmvne0HNq2A2WsFlEtLhvWCtItw6ffhhdmjifQ2tRbuKkTHhr\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params = {\"symbol\": symbol}\n res = self._request_margin_api(\n \"post\", \"userDataStream/isolated\", signed=False, data=params\n )\n return res[\"listenKey\"]\n\n def isolated_margin_stream_keepalive(self, symbol, listenKey):\n \"\"\"PING an isolated margin data stream to prevent a time out.\n\n https://developers.binance.com/docs/margin_trading/trade-data-stream/Keepalive-Isolated-Margin-User-Data-Stream\n\n :param symbol: required - symbol for the isolated margin account\n :type symbol: str\n :param listenKey: required\n :type listenKey: str\n\n :returns: API response\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params = {\"symbol\": symbol, \"listenKey\": listenKey}\n return self._request_margin_api(\n \"put\", \"userDataStream/isolated\", signed=False, data=params\n )\n\n def isolated_margin_stream_close(self, symbol, listenKey):\n \"\"\"Close out an isolated margin data stream.\n\n https://developers.binance.com/docs/margin_trading/trade-data-stream/Close-Isolated-Margin-User-Data-Stream\n\n :param symbol: required - symbol for the isolated margin account\n :type symbol: str\n :param listenKey: required\n :type listenKey: str\n\n :returns: API response\n\n .. code-block:: python\n\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n params = {\"symbol\": symbol, \"listenKey\": listenKey}\n return self._request_margin_api(\n \"delete\", \"userDataStream/isolated\", signed=False, data=params\n )\n\n # Simple Earn Endpoints\n\n def get_simple_earn_flexible_product_list(self, **params):\n \"\"\"Get available Simple Earn flexible product list\n\n https://binance-docs.github.io/apidocs/spot/en/#get-simple-earn-flexible-product-list-user_data\n\n :param asset: optional\n :type asset: str\n :param current: optional - Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: optional - Default:10, Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"rows\":[\n {\n \"asset\": \"BTC\",\n \"latestAnnualPercentageRate\": \"0.05000000\",\n \"tierAnnualPercentageRate\": {\n \"0-5BTC\": 0.05,\n \"5-10BTC\": 0.03\n },\n \"airDropPercentageRate\": \"0.05000000\",\n \"canPurchase\": true,\n \"canRedeem\": true,\n \"isSoldOut\": true,\n \"hot\": true,\n \"minPurchaseAmount\": \"0.01000000\",\n \"productId\": \"BTC001\",\n \"subscriptionStartTime\": \"1646182276000\",\n \"status\": \"PURCHASING\"\n }\n ],\n \"total\": 1\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"simple-earn/flexible/list\", signed=True, data=params\n )\n\n def get_simple_earn_locked_product_list(self, **params):\n \"\"\"Get available Simple Earn flexible product list\n\n https://binance-docs.github.io/apidocs/spot/en/#get-simple-earn-locked-product-list-user_data\n\n :param asset: optional\n :type asset: str\n :param current: optional - Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: optional - Default:10, Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"rows\": [\n {\n \"projectId\": \"Axs*90\",\n \"detail\": {\n \"asset\": \"AXS\",\n \"rewardAsset\": \"AXS\",\n \"duration\": 90,\n \"renewable\": true,\n \"isSoldOut\": true,\n \"apr\": \"1.2069\",\n \"status\": \"CREATED\",\n \"subscriptionStartTime\": \"1646182276000\",\n \"extraRewardAsset\": \"BNB\",\n \"extraRewardAPR\": \"0.23\"\n },\n \"quota\": {\n \"totalPersonalQuota\": \"2\",\n \"minimum\": \"0.001\"\n }\n }\n ],\n \"total\": 1\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"simple-earn/locked/list\", signed=True, data=params\n )\n\n def subscribe_simple_earn_flexible_product(self, **params):\n \"\"\"Subscribe to a simple earn flexible product\n\n https://binance-docs.github.io/apidocs/spot/en/#subscribe-locked-product-trade\n\n :param productId: required\n :type productId: str\n :param amount: required\n :type amount: str\n :param autoSubscribe: optional - Default True\n :type autoSubscribe: bool\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"purchaseId\": 40607,\n \"success\": true\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"simple-earn/flexible/subscribe\", signed=True, data=params\n )\n\n def subscribe_simple_earn_locked_product(self, **params):\n \"\"\"Subscribe to a simple earn locked product\n\n https://binance-docs.github.io/apidocs/spot/en/#subscribe-locked-product-trade\n\n :param productId: required\n :type productId: str\n :param amount: required\n :type amount: str\n :param autoSubscribe: optional - Default True\n :type autoSubscribe: bool\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"purchaseId\": 40607,\n \"positionId\": \"12345\",\n \"success\": true\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"simple-earn/locked/subscribe\", signed=True, data=params\n )\n\n def redeem_simple_earn_flexible_product(self, **params):\n \"\"\"Redeem a simple earn flexible product\n\n https://binance-docs.github.io/apidocs/spot/en/#redeem-flexible-product-trade\n\n :param productId: required\n :type productId: str\n :param amount: optional\n :type amount: str\n :param redeemAll: optional - Default False\n :type redeemAll: bool\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"redeemId\": 40607,\n \"success\": true\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"simple-earn/flexible/redeem\", signed=True, data=params\n )\n\n def redeem_simple_earn_locked_product(self, **params):\n \"\"\"Redeem a simple earn locked product\n\n https://binance-docs.github.io/apidocs/spot/en/#redeem-locked-product-trade\n\n :param productId: required\n :type productId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"redeemId\": 40607,\n \"success\": true\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"simple-earn/locked/redeem\", signed=True, data=params\n )\n\n def get_simple_earn_flexible_product_position(self, **params):\n \"\"\"\n\n https://binance-docs.github.io/apidocs/spot/en/#get-flexible-product-position-user_data\n\n :param asset: optional\n :type asset: str\n :param current: optional - Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: optional - Default:10, Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"rows\":[\n {\n \"totalAmount\": \"75.46000000\",\n \"tierAnnualPercentageRate\": {\n \"0-5BTC\": 0.05,\n \"5-10BTC\": 0.03\n },\n \"latestAnnualPercentageRate\": \"0.02599895\",\n \"yesterdayAirdropPercentageRate\": \"0.02599895\",\n \"asset\": \"USDT\",\n \"airDropAsset\": \"BETH\",\n \"canRedeem\": true,\n \"collateralAmount\": \"232.23123213\",\n \"productId\": \"USDT001\",\n \"yesterdayRealTimeRewards\": \"0.10293829\",\n \"cumulativeBonusRewards\": \"0.22759183\",\n \"cumulativeRealTimeRewards\": \"0.22759183\",\n \"cumulativeTotalRewards\": \"0.45459183\",\n \"autoSubscribe\": true\n }\n ],\n \"total\": 1\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"simple-earn/flexible/position\", signed=True, data=params\n )\n\n def get_simple_earn_locked_product_position(self, **params):\n \"\"\"\n\n https://binance-docs.github.io/apidocs/spot/en/#get-locked-product-position-user_data\n\n :param asset: optional\n :type asset: str\n :param current: optional - Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: optional - Default:10, Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"rows\":[\n {\n \"positionId\": \"123123\",\n \"projectId\": \"Axs*90\",\n \"asset\": \"AXS\",\n \"amount\": \"122.09202928\",\n \"purchaseTime\": \"1646182276000\",\n \"duration\": \"60\",\n \"accrualDays\": \"4\",\n \"rewardAsset\": \"AXS\",\n \"APY\": \"0.23\",\n \"isRenewable\": true,\n \"isAutoRenew\": true,\n \"redeemDate\": \"1732182276000\"\n }\n ],\n \"total\": 1\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"simple-earn/locked/position\", signed=True, data=params\n )\n\n def get_simple_earn_account(self, **params):\n \"\"\"\n\n https://binance-docs.github.io/apidocs/spot/en/#simple-account-user_data\n\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"totalAmountInBTC\": \"0.01067982\",\n \"totalAmountInUSDT\": \"77.13289230\",\n \"totalFlexibleAmountInBTC\": \"0.00000000\",\n \"totalFlexibleAmountInUSDT\": \"0.00000000\",\n \"totalLockedInBTC\": \"0.01067982\",\n \"totalLockedInUSDT\": \"77.13289230\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"simple-earn/account\", signed=True, data=params\n )\n\n # Lending Endpoints\n\n def get_fixed_activity_project_list(self, **params):\n \"\"\"Get Fixed and Activity Project List\n\n https://binance-docs.github.io/apidocs/spot/en/#get-fixed-and-activity-project-list-user_data\n\n :param asset: optional\n :type asset: str\n :param type: required - \"ACTIVITY\", \"CUSTOMIZED_FIXED\"\n :type type: str\n :param status: optional - \"ALL\", \"SUBSCRIBABLE\", \"UNSUBSCRIBABLE\"; default \"ALL\"\n :type status: str\n :param sortBy: optional - \"START_TIME\", \"LOT_SIZE\", \"INTEREST_RATE\", \"DURATION\"; default \"START_TIME\"\n :type sortBy: str\n :param current: optional - Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: optional - Default:10, Max:100\n :type size: int\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"asset\": \"USDT\",\n \"displayPriority\": 1,\n \"duration\": 90,\n \"interestPerLot\": \"1.35810000\",\n \"interestRate\": \"0.05510000\",\n \"lotSize\": \"100.00000000\",\n \"lotsLowLimit\": 1,\n \"lotsPurchased\": 74155,\n \"lotsUpLimit\": 80000,\n \"maxLotsPerUser\": 2000,\n \"needKyc\": False,\n \"projectId\": \"CUSDT90DAYSS001\",\n \"projectName\": \"USDT\",\n \"status\": \"PURCHASING\",\n \"type\": \"CUSTOMIZED_FIXED\",\n \"withAreaLimitation\": False\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"lending/project/list\", signed=True, data=params\n )\n\n def change_fixed_activity_to_daily_position(self, **params):\n \"\"\"Change Fixed/Activity Position to Daily Position\n\n https://binance-docs.github.io/apidocs/spot/en/#change-fixed-activity-position-to-daily-position-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"lending/positionChanged\", signed=True, data=params\n )\n\n # Staking Endpoints\n\n def get_staking_product_list(self, **params):\n \"\"\"Get Staking Product List\n\n https://binance-docs.github.io/apidocs/spot/en/#get-staking-product-list-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"staking/productList\", signed=True, data=params\n )\n\n def purchase_staking_product(self, **params):\n \"\"\"Purchase Staking Product\n\n https://binance-docs.github.io/apidocs/spot/en/#purchase-staking-product-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"staking/purchase\", signed=True, data=params\n )\n\n def redeem_staking_product(self, **params):\n \"\"\"Redeem Staking Product\n\n https://binance-docs.github.io/apidocs/spot/en/#redeem-staking-product-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"staking/redeem\", signed=True, data=params\n )\n\n def get_staking_position(self, **params):\n \"\"\"Get Staking Product Position\n\n https://binance-docs.github.io/apidocs/spot/en/#get-staking-product-position-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"staking/position\", signed=True, data=params\n )\n\n def get_staking_purchase_history(self, **params):\n \"\"\"Get Staking Purchase History\n\n https://binance-docs.github.io/apidocs/spot/en/#get-staking-history-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"staking/purchaseRecord\", signed=True, data=params\n )\n\n def set_auto_staking(self, **params):\n \"\"\"Set Auto Staking on Locked Staking or Locked DeFi Staking\n\n https://binance-docs.github.io/apidocs/spot/en/#set-auto-staking-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"staking/setAutoStaking\", signed=True, data=params\n )\n\n def get_personal_left_quota(self, **params):\n \"\"\"Get Personal Left Quota of Staking Product\n\n https://binance-docs.github.io/apidocs/spot/en/#get-personal-left-quota-of-staking-product-user_data\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"staking/personalLeftQuota\", signed=True, data=params\n )\n\n # US Staking Endpoints\n\n def get_staking_asset_us(self, **params):\n \"\"\"Get staking information for a supported asset (or assets)\n\n https://docs.binance.us/#get-staking-asset-information\n\n \"\"\"\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return self._request_margin_api(\"get\", \"staking/asset\", True, data=params)\n\n def stake_asset_us(self, **params):\n \"\"\"Stake a supported asset.\n\n https://docs.binance.us/#stake-asset\n\n \"\"\"\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return self._request_margin_api(\"post\", \"staking/stake\", True, data=params)\n\n def unstake_asset_us(self, **params):\n \"\"\"Unstake a staked asset\n\n https://docs.binance.us/#unstake-asset\n\n \"\"\"\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return self._request_margin_api(\"post\", \"staking/unstake\", True, data=params)\n\n def get_staking_balance_us(self, **params):\n \"\"\"Get staking balance\n\n https://docs.binance.us/#get-staking-balance\n\n \"\"\"\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return self._request_margin_api(\n \"get\", \"staking/stakingBalance\", True, data=params\n )\n\n def get_staking_history_us(self, **params):\n \"\"\"Get staking history\n\n https://docs.binance.us/#get-staking-history\n\n \"\"\"\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return self._request_margin_api(\"get\", \"staking/history\", True, data=params)\n\n def get_staking_rewards_history_us(self, **params):\n \"\"\"Get staking rewards history for an asset(or assets) within a given time range.\n\n https://docs.binance.us/#get-staking-rewards-history\n\n \"\"\"\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return self._request_margin_api(\n \"get\", \"staking/stakingRewardsHistory\", True, data=params\n )\n\n # Sub Accounts\n\n def get_sub_account_list(self, **params):\n \"\"\"Query Sub-account List.\n\n https://developers.binance.com/docs/sub_account/account-management/Query-Sub-account-List\n\n :param email: optional - Sub-account email\n :type email: str\n :param isFreeze: optional\n :type isFreeze: str\n :param page: optional - Default value: 1\n :type page: int\n :param limit: optional - Default value: 1, Max value: 200\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"subAccounts\":[\n {\n \"email\":\"testsub@gmail.com\",\n \"isFreeze\":false,\n \"createTime\":1544433328000\n },\n {\n \"email\":\"virtual@oxebmvfonoemail.com\",\n \"isFreeze\":false,\n \"createTime\":1544433328000\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"sub-account/list\", True, data=params)\n\n def get_sub_account_transfer_history(self, **params):\n \"\"\"Query Sub-account Transfer History.\n\n https://developers.binance.com/docs/sub_account/asset-management/Query-Sub-account-Spot-Asset-Transfer-History\n\n :param fromEmail: optional\n :type fromEmail: str\n :param toEmail: optional\n :type toEmail: str\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param page: optional - Default value: 1\n :type page: int\n :param limit: optional - Default value: 500\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"from\":\"aaa@test.com\",\n \"to\":\"bbb@test.com\",\n \"asset\":\"BTC\",\n \"qty\":\"10\",\n \"status\": \"SUCCESS\",\n \"tranId\": 6489943656,\n \"time\":1544433328000\n },\n {\n \"from\":\"bbb@test.com\",\n \"to\":\"ccc@test.com\",\n \"asset\":\"ETH\",\n \"qty\":\"2\",\n \"status\": \"SUCCESS\",\n \"tranId\": 6489938713,\n \"time\":1544433328000\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/sub/transfer/history\", True, data=params\n )\n\n def get_sub_account_futures_transfer_history(self, **params):\n \"\"\"Query Sub-account Futures Transfer History.\n\n https://developers.binance.com/docs/sub_account/asset-management/Query-Sub-account-Futures-Asset-Transfer-History\n\n :param email: required\n :type email: str\n :param futuresType: required\n :type futuresType: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param page: optional\n :type page: int\n :param limit: optional\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"success\":true,\n \"futuresType\": 2,\n \"transfers\":[\n {\n \"from\":\"aaa@test.com\",\n \"to\":\"bbb@test.com\",\n \"asset\":\"BTC\",\n \"qty\":\"1\",\n \"time\":1544433328000\n },\n {\n \"from\":\"bbb@test.com\",\n \"to\":\"ccc@test.com\",\n \"asset\":\"ETH\",\n \"qty\":\"2\",\n \"time\":1544433328000\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/futures/internalTransfer\", True, data=params\n )\n\n def create_sub_account_futures_transfer(self, **params):\n \"\"\"Execute sub-account Futures transfer\n\n https://developers.binance.com/docs/sub_account/asset-management/Sub-account-Futures-Asset-Transfer\n\n :param fromEmail: required - Sender email\n :type fromEmail: str\n :param toEmail: required - Recipient email\n :type toEmail: str\n :param futuresType: required\n :type futuresType: int\n :param asset: required\n :type asset: str\n :param amount: required\n :type amount: decimal\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"success\":true,\n \"txnId\":\"2934662589\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/futures/internalTransfer\", True, data=params\n )\n\n def get_sub_account_assets(self, **params):\n \"\"\"Fetch sub-account assets\n\n https://developers.binance.com/docs/sub_account/asset-management/Query-Sub-account-Assets-V4\n\n :param email: required\n :type email: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"balances\":[\n {\n \"asset\":\"ADA\",\n \"free\":10000,\n \"locked\":0\n },\n {\n \"asset\":\"BNB\",\n \"free\":10003,\n \"locked\":0\n },\n {\n \"asset\":\"BTC\",\n \"free\":11467.6399,\n \"locked\":0\n },\n {\n \"asset\":\"ETH\",\n \"free\":10004.995,\n \"locked\":0\n },\n {\n \"asset\":\"USDT\",\n \"free\":11652.14213,\n \"locked\":0\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/assets\", True, data=params, version=4\n )\n\n def query_subaccount_spot_summary(self, **params):\n \"\"\"Query Sub-account Spot Assets Summary (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Query-Sub-account-Spot-Assets-Summary\n\n :param email: optional - Sub account email\n :type email: str\n :param page: optional - default 1\n :type page: int\n :param size: optional - default 10, max 20\n :type size: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"totalCount\":2,\n \"masterAccountTotalAsset\": \"0.23231201\",\n \"spotSubUserAssetBtcVoList\":[\n {\n \"email\":\"sub123@test.com\",\n \"totalAsset\":\"9999.00000000\"\n },\n {\n \"email\":\"test456@test.com\",\n \"totalAsset\":\"0.00000000\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/spotSummary\", True, data=params\n )\n\n def get_subaccount_deposit_address(self, **params):\n \"\"\"Get Sub-account Deposit Address (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Get-Sub-account-Deposit-Address\n\n :param email: required - Sub account email\n :type email: str\n :param coin: required\n :type coin: str\n :param network: optional\n :type network: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"address\":\"TDunhSa7jkTNuKrusUTU1MUHtqXoBPKETV\",\n \"coin\":\"USDT\",\n \"tag\":\"\",\n \"url\":\"https://tronscan.org/#/address/TDunhSa7jkTNuKrusUTU1MUHtqXoBPKETV\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"capital/deposit/subAddress\", True, data=params\n )\n\n def get_subaccount_deposit_history(self, **params):\n \"\"\"Get Sub-account Deposit History (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Get-Sub-account-Deposit-History\n\n :param email: required - Sub account email\n :type email: str\n :param coin: optional\n :type coin: str\n :param status: optional - (0:pending,6: credited but cannot withdraw, 1:success)\n :type status: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional\n :type limit: int\n :param offset: optional - default:0\n :type offset: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"amount\":\"0.00999800\",\n \"coin\":\"PAXG\",\n \"network\":\"ETH\",\n \"status\":1,\n \"address\":\"0x788cabe9236ce061e5a892e1a59395a81fc8d62c\",\n \"addressTag\":\"\",\n \"txId\":\"0xaad4654a3234aa6118af9b4b335f5ae81c360b2394721c019b5d1e75328b09f3\",\n \"insertTime\":1599621997000,\n \"transferType\":0,\n \"confirmTimes\":\"12/12\"\n },\n {\n \"amount\":\"0.50000000\",\n \"coin\":\"IOTA\",\n \"network\":\"IOTA\",\n \"status\":1,\n \"address\":\"SIZ9VLMHWATXKV99LH99CIGFJFUMLEHGWVZVNNZXRJJVWBPHYWPPBOSDORZ9EQSHCZAMPVAPGFYQAUUV9DROOXJLNW\",\n \"addressTag\":\"\",\n \"txId\":\"ESBFVQUTPIWQNJSPXFNHNYHSQNTGKRVKPRABQWTAXCDWOAKDKYWPTVG9BGXNVNKTLEJGESAVXIKIZ9999\",\n \"insertTime\":1599620082000,\n \"transferType\":0,\n \"confirmTimes\":\"1/1\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"capital/deposit/subHisrec\", True, data=params\n )\n\n def get_subaccount_futures_margin_status(self, **params):\n \"\"\"Get Sub-account's Status on Margin/Futures (For Master Account)\n\n https://developers.binance.com/docs/sub_account/account-management/Get-Sub-accounts-Status-on-Margin-Or-Futures\n\n :param email: optional - Sub account email\n :type email: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"email\":\"123@test.com\", // user email\n \"isSubUserEnabled\": true, // true or false\n \"isUserActive\": true, // true or false\n \"insertTime\": 1570791523523 // sub account create time\n \"isMarginEnabled\": true, // true or false for margin\n \"isFutureEnabled\": true // true or false for futures.\n \"mobile\": 1570791523523 // user mobile number\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"sub-account/status\", True, data=params)\n\n def enable_subaccount_margin(self, **params):\n \"\"\"Enable Margin for Sub-account (For Master Account)\n\n https://binance-docs.github.io/apidocs/spot/en/#enable-margin-for-sub-account-for-master-account\n\n :param email: required - Sub account email\n :type email: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n\n \"email\":\"123@test.com\",\n\n \"isMarginEnabled\": true\n\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/margin/enable\", True, data=params\n )\n\n def get_subaccount_margin_details(self, **params):\n \"\"\"Get Detail on Sub-account's Margin Account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Get-Detail-on-Sub-accounts-Margin-Account\n\n :param email: required - Sub account email\n :type email: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"email\":\"123@test.com\",\n \"marginLevel\": \"11.64405625\",\n \"totalAssetOfBtc\": \"6.82728457\",\n \"totalLiabilityOfBtc\": \"0.58633215\",\n \"totalNetAssetOfBtc\": \"6.24095242\",\n \"marginTradeCoeffVo\":\n {\n \"forceLiquidationBar\": \"1.10000000\", // Liquidation margin ratio\n \"marginCallBar\": \"1.50000000\", // Margin call margin ratio\n \"normalBar\": \"2.00000000\" // Initial margin ratio\n },\n \"marginUserAssetVoList\": [\n {\n \"asset\": \"BTC\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00499500\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00499500\"\n },\n {\n \"asset\": \"BNB\",\n \"borrowed\": \"201.66666672\",\n \"free\": \"2346.50000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"2144.83333328\"\n },\n {\n \"asset\": \"ETH\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\"\n },\n {\n \"asset\": \"USDT\",\n \"borrowed\": \"0.00000000\",\n \"free\": \"0.00000000\",\n \"interest\": \"0.00000000\",\n \"locked\": \"0.00000000\",\n \"netAsset\": \"0.00000000\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/margin/account\", True, data=params\n )\n\n def get_subaccount_margin_summary(self, **params):\n \"\"\"Get Summary of Sub-account's Margin Account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Get-Summary-of-Sub-accounts-Margin-Account\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"totalAssetOfBtc\": \"4.33333333\",\n \"totalLiabilityOfBtc\": \"2.11111112\",\n \"totalNetAssetOfBtc\": \"2.22222221\",\n \"subAccountList\":[\n {\n \"email\":\"123@test.com\",\n \"totalAssetOfBtc\": \"2.11111111\",\n \"totalLiabilityOfBtc\": \"1.11111111\",\n \"totalNetAssetOfBtc\": \"1.00000000\"\n },\n {\n \"email\":\"345@test.com\",\n \"totalAssetOfBtc\": \"2.22222222\",\n \"totalLiabilityOfBtc\": \"1.00000001\",\n \"totalNetAssetOfBtc\": \"1.22222221\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/margin/accountSummary\", True, data=params\n )\n\n def enable_subaccount_futures(self, **params):\n \"\"\"Enable Futures for Sub-account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/account-management/Enable-Futures-for-Sub-account\n\n :param email: required - Sub account email\n :type email: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n\n \"email\":\"123@test.com\",\n\n \"isFuturesEnabled\": true // true or false\n\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/futures/enable\", True, data=params\n )\n\n def get_subaccount_futures_details(self, **params):\n \"\"\"Get Detail on Sub-account's Futures Account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Get-Detail-on-Sub-accounts-Futures-Account\n\n :param email: required - Sub account email\n :type email: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"email\": \"abc@test.com\",\n \"asset\": \"USDT\",\n \"assets\":[\n {\n \"asset\": \"USDT\",\n \"initialMargin\": \"0.00000000\",\n \"maintenanceMargin\": \"0.00000000\",\n \"marginBalance\": \"0.88308000\",\n \"maxWithdrawAmount\": \"0.88308000\",\n \"openOrderInitialMargin\": \"0.00000000\",\n \"positionInitialMargin\": \"0.00000000\",\n \"unrealizedProfit\": \"0.00000000\",\n \"walletBalance\": \"0.88308000\"\n }\n ],\n \"canDeposit\": true,\n \"canTrade\": true,\n \"canWithdraw\": true,\n \"feeTier\": 2,\n \"maxWithdrawAmount\": \"0.88308000\",\n \"totalInitialMargin\": \"0.00000000\",\n \"totalMaintenanceMargin\": \"0.00000000\",\n \"totalMarginBalance\": \"0.88308000\",\n \"totalOpenOrderInitialMargin\": \"0.00000000\",\n \"totalPositionInitialMargin\": \"0.00000000\",\n \"totalUnrealizedProfit\": \"0.00000000\",\n \"totalWalletBalance\": \"0.88308000\",\n \"updateTime\": 1576756674610\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/futures/account\", True, data=params, version=2\n )\n\n def get_subaccount_futures_summary(self, **params):\n \"\"\"Get Summary of Sub-account's Futures Account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Get-Summary-of-Sub-accounts-Futures-Account-V2\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"totalInitialMargin\": \"9.83137400\",\n \"totalMaintenanceMargin\": \"0.41568700\",\n \"totalMarginBalance\": \"23.03235621\",\n \"totalOpenOrderInitialMargin\": \"9.00000000\",\n \"totalPositionInitialMargin\": \"0.83137400\",\n \"totalUnrealizedProfit\": \"0.03219710\",\n \"totalWalletBalance\": \"22.15879444\",\n \"asset\": \"USDT\",\n \"subAccountList\":[\n {\n \"email\": \"123@test.com\",\n \"totalInitialMargin\": \"9.00000000\",\n \"totalMaintenanceMargin\": \"0.00000000\",\n \"totalMarginBalance\": \"22.12659734\",\n \"totalOpenOrderInitialMargin\": \"9.00000000\",\n \"totalPositionInitialMargin\": \"0.00000000\",\n \"totalUnrealizedProfit\": \"0.00000000\",\n \"totalWalletBalance\": \"22.12659734\",\n \"asset\": \"USDT\"\n },\n {\n \"email\": \"345@test.com\",\n \"totalInitialMargin\": \"0.83137400\",\n \"totalMaintenanceMargin\": \"0.41568700\",\n \"totalMarginBalance\": \"0.90575887\",\n \"totalOpenOrderInitialMargin\": \"0.00000000\",\n \"totalPositionInitialMargin\": \"0.83137400\",\n \"totalUnrealizedProfit\": \"0.03219710\",\n \"totalWalletBalance\": \"0.87356177\",\n \"asset\": \"USDT\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/futures/accountSummary\", True, data=params, version=2\n )\n\n def get_subaccount_futures_positionrisk(self, **params):\n \"\"\"Get Futures Position-Risk of Sub-account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/account-management/Get-Futures-Position-Risk-of-Sub-account-V2\n\n :param email: required - Sub account email\n :type email: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"entryPrice\": \"9975.12000\",\n \"leverage\": \"50\", // current initial leverage\n \"maxNotional\": \"1000000\", // notional value limit of current initial leverage\n \"liquidationPrice\": \"7963.54\",\n \"markPrice\": \"9973.50770517\",\n \"positionAmount\": \"0.010\",\n \"symbol\": \"BTCUSDT\",\n \"unrealizedProfit\": \"-0.01612295\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/futures/positionRisk\", True, data=params, version=2\n )\n\n def make_subaccount_futures_transfer(self, **params):\n \"\"\"Futures Transfer for Sub-account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management\n\n :param email: required - Sub account email\n :type email: str\n :param asset: required - The asset being transferred, e.g., USDT\n :type asset: str\n :param amount: required - The amount to be transferred\n :type amount: float\n :param type: required - 1: transfer from subaccount's spot account to its USDT-margined futures account\n 2: transfer from subaccount's USDT-margined futures account to its spot account\n 3: transfer from subaccount's spot account to its COIN-margined futures account\n 4: transfer from subaccount's COIN-margined futures account to its spot account\n :type type: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"txnId\":\"2966662589\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/futures/transfer\", True, data=params\n )\n\n def make_subaccount_margin_transfer(self, **params):\n \"\"\"Margin Transfer for Sub-account (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Margin-Transfer-for-Sub-account\n\n :param email: required - Sub account email\n :type email: str\n :param asset: required - The asset being transferred, e.g., USDT\n :type asset: str\n :param amount: required - The amount to be transferred\n :type amount: float\n :param type: required - 1: transfer from subaccount's spot account to margin account\n 2: transfer from subaccount's margin account to its spot account\n :type type: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"txnId\":\"2966662589\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/margin/transfer\", True, data=params\n )\n\n def make_subaccount_to_subaccount_transfer(self, **params):\n \"\"\"Transfer to Sub-account of Same Master (For Sub-account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Transfer-to-Sub-account-of-Same-Master\n\n :param toEmail: required - Sub account email\n :type toEmail: str\n :param asset: required - The asset being transferred, e.g., USDT\n :type asset: str\n :param amount: required - The amount to be transferred\n :type amount: float\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"txnId\":\"2966662589\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/transfer/subToSub\", True, data=params\n )\n\n def make_subaccount_to_master_transfer(self, **params):\n \"\"\"Transfer to Master (For Sub-account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Transfer-to-Master\n\n :param asset: required - The asset being transferred, e.g., USDT\n :type asset: str\n :param amount: required - The amount to be transferred\n :type amount: float\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"txnId\":\"2966662589\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/transfer/subToMaster\", True, data=params\n )\n\n def get_subaccount_transfer_history(self, **params):\n \"\"\"Sub-account Transfer History (For Sub-account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Sub-account-Transfer-History\n\n :param asset: required - The asset being transferred, e.g., USDT\n :type asset: str\n :param type: optional - 1: transfer in, 2: transfer out\n :type type: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional - Default 500\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"counterParty\":\"master\",\n \"email\":\"master@test.com\",\n \"type\":1, // 1 for transfer in, 2 for transfer out\n \"asset\":\"BTC\",\n \"qty\":\"1\",\n \"status\":\"SUCCESS\",\n \"tranId\":11798835829,\n \"time\":1544433325000\n },\n {\n \"counterParty\":\"subAccount\",\n \"email\":\"sub2@test.com\",\n \"type\":2,\n \"asset\":\"ETH\",\n \"qty\":\"2\",\n \"status\":\"SUCCESS\",\n \"tranId\":11798829519,\n \"time\":1544433326000\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/transfer/subUserHistory\", True, data=params\n )\n\n def make_subaccount_universal_transfer(self, **params):\n \"\"\"Universal Transfer (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Universal-Transfer\n\n :param fromEmail: optional\n :type fromEmail: str\n :param toEmail: optional\n :type toEmail: str\n :param fromAccountType: required - \"SPOT\",\"USDT_FUTURE\",\"COIN_FUTURE\"\n :type fromAccountType: str\n :param toAccountType: required - \"SPOT\",\"USDT_FUTURE\",\"COIN_FUTURE\"\n :type toAccountType: str\n :param asset: required - The asset being transferred, e.g., USDT\n :type asset: str\n :param amount: required\n :type amount: float\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"tranId\":11945860693\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"sub-account/universalTransfer\", True, data=params\n )\n\n def get_universal_transfer_history(self, **params):\n \"\"\"Universal Transfer (For Master Account)\n\n https://developers.binance.com/docs/sub_account/asset-management/Query-Universal-Transfer-History\n\n :param fromEmail: optional\n :type fromEmail: str\n :param toEmail: optional\n :type toEmail: str\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param page: optional\n :type page: int\n :param limit: optional\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n [\n {\n \"tranId\":11945860693,\n \"fromEmail\":\"master@test.com\",\n \"toEmail\":\"subaccount1@test.com\",\n \"asset\":\"BTC\",\n \"amount\":\"0.1\",\n \"fromAccountType\":\"SPOT\",\n \"toAccountType\":\"COIN_FUTURE\",\n \"status\":\"SUCCESS\",\n \"createTimeStamp\":1544433325000\n },\n {\n \"tranId\":11945857955,\n \"fromEmail\":\"master@test.com\",\n \"toEmail\":\"subaccount2@test.com\",\n \"asset\":\"ETH\",\n \"amount\":\"0.2\",\n \"fromAccountType\":\"SPOT\",\n \"toAccountType\":\"USDT_FUTURE\",\n \"status\":\"SUCCESS\",\n \"createTimeStamp\":1544433326000\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"sub-account/universalTransfer\", True, data=params\n )\n\n # Futures API\n\n def futures_ping(self):\n \"\"\"Test connectivity to the Rest API\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api\n\n \"\"\"\n return self._request_futures_api(\"get\", \"ping\")\n\n def futures_time(self):\n \"\"\"Test connectivity to the Rest API and get the current server time.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Check-Server-Time\n\n \"\"\"\n return self._request_futures_api(\"get\", \"time\")\n\n def futures_exchange_info(self):\n \"\"\"Current exchange trading rules and symbol information\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Exchange-Information\n\n \"\"\"\n return self._request_futures_api(\"get\", \"exchangeInfo\")\n\n def futures_order_book(self, **params):\n \"\"\"Get the Order Book for the market\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Order-Book\n\n \"\"\"\n return self._request_futures_api(\"get\", \"depth\", data=params)\n\n def futures_recent_trades(self, **params):\n \"\"\"Get recent trades (up to last 500).\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Recent-Trades-List\n\n \"\"\"\n return self._request_futures_api(\"get\", \"trades\", data=params)\n\n def futures_historical_trades(self, **params):\n \"\"\"Get older market historical trades.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Old-Trades-Lookup\n\n \"\"\"\n return self._request_futures_api(\"get\", \"historicalTrades\", data=params)\n\n def futures_aggregate_trades(self, **params):\n \"\"\"Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same\n price will have the quantity aggregated.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Compressed-Aggregate-Trades-List\n\n \"\"\"\n return self._request_futures_api(\"get\", \"aggTrades\", data=params)\n\n def futures_klines(self, **params):\n \"\"\"Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_api(\"get\", \"klines\", data=params)\n\n def futures_mark_price_klines(self, **params):\n \"\"\"Kline/candlestick bars for the mark price of a symbol. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_api(\"get\", \"markPriceKlines\", data=params)\n\n def futures_index_price_klines(self, **params):\n \"\"\"Kline/candlestick bars for the index price of a symbol. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_api(\"get\", \"indexPriceKlines\", data=params)\n\n def futures_premium_index_klines(self, **params):\n \"\"\"Premium index kline bars of a symbol.l. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n \"\"\"\n return self._request_futures_api(\"get\", \"premiumIndexKlines\", data=params)\n\n def futures_continuous_klines(self, **params):\n \"\"\"Kline/candlestick bars for a specific contract type. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Continuous-Contract-Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_api(\"get\", \"continuousKlines\", data=params)\n\n def futures_historical_klines(\n self, symbol: str, interval :str, start_str, end_str=None, limit=None\n ):\n \"\"\"Get historical futures klines from Binance\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param start_str: Start date string in UTC format or timestamp in milliseconds\n :type start_str: str|int\n :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n :type end_str: str|int\n :param limit: Default None (fetches full range in batches of max 1000 per request). To limit the number of rows, pass an integer.\n :type limit: int\n\n :return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)\n\n \"\"\"\n return self._historical_klines(\n symbol,\n interval,\n start_str,\n end_str=end_str,\n limit=limit,\n klines_type=HistoricalKlinesType.FUTURES,\n )\n\n def futures_historical_mark_price_klines(\n self, symbol: str, interval: str, start_str, end_str=None, limit=None\n ):\n \"\"\"Get historical futures mark price klines from Binance\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param start_str: Start date string in UTC format or timestamp in milliseconds\n :type start_str: str|int\n :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n :type end_str: str|int\n :param limit: Default None (fetches full range in batches of max 1000 per request). To limit the number of rows, pass an integer.\n :type limit: int\n\n :return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)\n\n \"\"\"\n return self._historical_klines(\n symbol,\n interval,\n start_str,\n end_str=end_str,\n limit=limit,\n klines_type=HistoricalKlinesType.FUTURES_MARK_PRICE,\n )\n\n def futures_historical_klines_generator(\n self, symbol, interval, start_str, end_str=None\n ):\n \"\"\"Get historical futures klines generator from Binance\n\n :param symbol: Name of symbol pair e.g. BNBBTC\n :type symbol: str\n :param interval: Binance Kline interval\n :type interval: str\n :param start_str: Start date string in UTC format or timestamp in milliseconds\n :type start_str: str|int\n :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)\n :type end_str: str|int\n\n :return: generator of OHLCV values\n\n \"\"\"\n\n return self._historical_klines_generator(\n symbol,\n interval,\n start_str,\n end_str=end_str,\n klines_type=HistoricalKlinesType.FUTURES,\n )\n\n def futures_mark_price(self, **params):\n \"\"\"Get Mark Price and Funding Rate\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Mark-Price\n\n \"\"\"\n return self._request_futures_api(\"get\", \"premiumIndex\", data=params)\n\n def futures_funding_rate(self, **params):\n \"\"\"Get funding rate history\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Get-Funding-Rate-History\n\n \"\"\"\n return self._request_futures_api(\"get\", \"fundingRate\", data=params)\n\n def futures_top_longshort_account_ratio(self, **params):\n \"\"\"Get present long to short ratio for top accounts of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Top-Long-Short-Account-Ratio\n \"\"\"\n return self._request_futures_data_api(\n \"get\", \"topLongShortAccountRatio\", data=params\n )\n\n def futures_top_longshort_position_ratio(self, **params):\n \"\"\"Get present long to short ratio for top positions of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Top-Trader-Long-Short-Ratio\n \"\"\"\n return self._request_futures_data_api(\n \"get\", \"topLongShortPositionRatio\", data=params\n )\n\n def futures_global_longshort_ratio(self, **params):\n \"\"\"Get present global long to short ratio of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Long-Short-Ratio\n \"\"\"\n return self._request_futures_data_api(\n \"get\", \"globalLongShortAccountRatio\", data=params\n )\n\n def futures_taker_longshort_ratio(self, **params):\n \"\"\"Get taker buy to sell volume ratio of a specific symbol\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Taker-BuySell-Volume\n \"\"\"\n return self._request_futures_data_api(\n \"get\", \"takerlongshortRatio\", data=params\n )\n\n def futures_basis(self, **params):\n \"\"\"Get future basis of a specific symbol\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Basis\n \"\"\"\n return self._request_futures_data_api(\n \"get\", \"basis\", data=params\n )\n\n def futures_ticker(self, **params):\n \"\"\"24 hour rolling window price change statistics.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/24hr-Ticker-Price-Change-Statistics\n\n \"\"\"\n return self._request_futures_api(\"get\", \"ticker/24hr\", data=params)\n\n def futures_symbol_ticker(self, **params):\n \"\"\"Latest price for a symbol or symbols.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Symbol-Price-Ticker\n\n \"\"\"\n return self._request_futures_api(\"get\", \"ticker/price\", data=params)\n\n def futures_orderbook_ticker(self, **params):\n \"\"\"Best price/qty on the order book for a symbol or symbols.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Symbol-Order-Book-Ticker\n\n \"\"\"\n return self._request_futures_api(\"get\", \"ticker/bookTicker\", data=params)\n\n def futures_delivery_price(self, **params):\n \"\"\"Get latest price for a symbol or symbols\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Delivery-Price\n\n \"\"\"\n return self._request_futures_data_api(\"get\", \"delivery-price\", data=params)\n\n def futures_index_price_constituents(self, **params):\n \"\"\"Get index price constituents\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Index-Constituents\n\n \"\"\"\n return self._request_futures_api(\"get\", \"constituents\", data=params)\n\n def futures_insurance_fund_balance_snapshot(self, **params):\n \"\"\"Get Insurance Fund Balance Snapshot\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Insurance-Fund-Balance\n\n \"\"\"\n return self._request_futures_api(\"get\", \"insuranceBalance\", data=params)\n\n def futures_liquidation_orders(self, **params):\n \"\"\"Get all liquidation orders\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Users-Force-Orders\n\n \"\"\"\n return self._request_futures_api(\"get\", \"forceOrders\", signed=True, data=params)\n\n def futures_api_trading_status(self, **params):\n \"\"\"Get quantitative trading rules for order placement, such as Unfilled Ratio (UFR), Good-Til-Canceled Ratio (GCR),\n Immediate-or-Cancel (IOC) & Fill-or-Kill (FOK) Expire Ratio (IFER), among others.\n https://www.binance.com/en/support/faq/binance-futures-trading-quantitative-rules-4f462ebe6ff445d4a170be7d9e897272\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Futures-Trading-Quantitative-Rules-Indicators\n\n :param symbol: optional\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"indicators\": { // indicator: quantitative rules indicators, value: user's indicators value, triggerValue: trigger indicator value threshold of quantitative rules.\n \"BTCUSDT\": [\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"UFR\", // Unfilled Ratio (UFR)\n \"value\": 0.05, // Current value\n \"triggerValue\": 0.995 // Trigger value\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"IFER\", // IOC/FOK Expiration Ratio (IFER)\n \"value\": 0.99, // Current value\n \"triggerValue\": 0.99 // Trigger value\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"GCR\", // GTC Cancellation Ratio (GCR)\n \"value\": 0.99, // Current value\n \"triggerValue\": 0.99 // Trigger value\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"DR\", // Dust Ratio (DR)\n \"value\": 0.99, // Current value\n \"triggerValue\": 0.99 // Trigger value\n }\n ],\n \"ETHUSDT\": [\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"UFR\",\n \"value\": 0.05,\n \"triggerValue\": 0.995\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"IFER\",\n \"value\": 0.99,\n \"triggerValue\": 0.99\n },\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"GCR\",\n \"value\": 0.99,\n \"triggerValue\": 0.99\n }\n {\n \"isLocked\": true,\n \"plannedRecoverTime\": 1545741270000,\n \"indicator\": \"DR\",\n \"value\": 0.99,\n \"triggerValue\": 0.99\n }\n ]\n },\n \"updateTime\": 1545741270000\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_futures_api(\n \"get\", \"apiTradingStatus\", signed=True, data=params\n )\n\n def futures_commission_rate(self, **params):\n \"\"\"Get Futures commission rate\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/User-Commission-Rate\n\n :param symbol: required\n :type symbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"symbol\": \"BTCUSDT\",\n \"makerCommissionRate\": \"0.0002\", // 0.02%\n \"takerCommissionRate\": \"0.0004\" // 0.04%\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_futures_api(\n \"get\", \"commissionRate\", signed=True, data=params\n )\n\n def futures_adl_quantile_estimate(self, **params):\n \"\"\"Get Position ADL Quantile Estimate\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Position-ADL-Quantile-Estimation\n\n \"\"\"\n return self._request_futures_api(\"get\", \"adlQuantile\", signed=True, data=params)\n\n def futures_open_interest(self, **params):\n \"\"\"Get present open interest of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Open-Interest\n\n \"\"\"\n return self._request_futures_api(\"get\", \"openInterest\", data=params)\n\n def futures_index_info(self, **params):\n \"\"\"Get index_info\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Composite-Index-Symbol-Information\n\n \"\"\"\n return self._request_futures_api(\"get\", \"indexInfo\", data=params)\n\n def futures_open_interest_hist(self, **params):\n \"\"\"Get open interest statistics of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Open-Interest-Statistics\n\n \"\"\"\n return self._request_futures_data_api(\"get\", \"openInterestHist\", data=params)\n\n def futures_leverage_bracket(self, **params):\n \"\"\"Notional and Leverage Brackets\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Notional-and-Leverage-Brackets\n\n \"\"\"\n return self._request_futures_api(\"get\", \"leverageBracket\", True, data=params)\n\n def futures_account_transfer(self, **params):\n \"\"\"Execute transfer between spot account and futures account.\n\n https://binance-docs.github.io/apidocs/futures/en/#new-future-account-transfer\n\n \"\"\"\n return self._request_margin_api(\"post\", \"futures/transfer\", True, data=params)\n\n def transfer_history(self, **params):\n \"\"\"Get future account transaction history list\n\n https://binance-docs.github.io/apidocs/futures/en/#get-future-account-transaction-history-list-user_data\n\n \"\"\"\n return self._request_margin_api(\"get\", \"futures/transfer\", True, data=params)\n\n def futures_loan_borrow_history(self, **params):\n return self._request_margin_api(\n \"get\", \"futures/loan/borrow/history\", True, data=params\n )\n\n def futures_loan_repay_history(self, **params):\n return self._request_margin_api(\n \"get\", \"futures/loan/repay/history\", True, data=params\n )\n\n def futures_loan_wallet(self, **params):\n return self._request_margin_api(\n \"get\", \"futures/loan/wallet\", True, data=params, version=2\n )\n\n def futures_cross_collateral_adjust_history(self, **params):\n return self._request_margin_api(\n \"get\", \"futures/loan/adjustCollateral/history\", True, data=params\n )\n\n def futures_cross_collateral_liquidation_history(self, **params):\n return self._request_margin_api(\n \"get\", \"futures/loan/liquidationHistory\", True, data=params\n )\n\n def futures_loan_interest_history(self, **params):\n return self._request_margin_api(\n \"get\", \"futures/loan/interestHistory\", True, data=params\n )\n\n def futures_create_order(self, **params):\n \"\"\"Send in a new order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_futures_api(\"post\", \"order\", True, data=params)\n\n def futures_limit_order(self, **params):\n \"\"\"Send in a new futures limit order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"type\"] = \"LIMIT\"\n return self._request_futures_api(\"post\", \"order\", True, data=params)\n\n def futures_market_order(self, **params):\n \"\"\"Send in a new futures market order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"type\"] = \"MARKET\"\n return self._request_futures_api(\"post\", \"order\", True, data=params)\n\n\n def futures_limit_buy_order(self, **params):\n \"\"\"Send in a new futures limit buy order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"BUY\"\n params[\"type\"] = \"LIMIT\"\n return self._request_futures_api(\"post\", \"order\", True, data=params)\n\n def futures_limit_sell_order(self, **params):\n \"\"\"Send in a new futures limit sell order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"SELL\"\n params[\"type\"] = \"LIMIT\"\n return self._request_futures_api(\"post\", \"order\", True, data=params)\n\n def futures_market_buy_order(self, **params):\n \"\"\"Send in a new futures market buy order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"BUY\"\n params[\"type\"] = \"MARKET\"\n return self._request_futures_api(\"post\", \"order\", True, data=params)\n\n def futures_market_sell_order(self, **params):\n \"\"\"Send in a new futures market sell order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"SELL\"\n params[\"type\"] = \"MARKET\"\n return self._request_futures_api(\"post\", \"order\", True, data=params)\n\n def futures_modify_order(self, **params):\n \"\"\"Modify an existing order. Currently only LIMIT order modification is supported.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Modify-Order\n\n \"\"\"\n return self._request_futures_api(\"put\", \"order\", True, data=params)\n\n def futures_create_test_order(self, **params):\n \"\"\"Testing order request, this order will not be submitted to matching engine\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/New-Order-Test\n\n \"\"\"\n return self._request_futures_api(\"post\", \"order/test\", True, data=params)\n\n def futures_place_batch_order(self, **params):\n \"\"\"Send in new orders.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Place-Multiple-Orders\n\n To avoid modifying the existing signature generation and parameter order logic,\n the url encoding is done on the special query param, batchOrders, in the early stage.\n\n \"\"\"\n for order in params[\"batchOrders\"]:\n if \"newClientOrderId\" not in order:\n order[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n query_string = urlencode(params)\n query_string = query_string.replace(\"%27\", \"%22\")\n params[\"batchOrders\"] = query_string[12:]\n return self._request_futures_api(\n \"post\", \"batchOrders\", True, data=params, force_params=True\n )\n\n def futures_get_order(self, **params):\n \"\"\"Check an order's status.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-Order\n\n \"\"\"\n return self._request_futures_api(\"get\", \"order\", True, data=params)\n\n def futures_get_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Current-All-Open-Orders\n\n \"\"\"\n return self._request_futures_api(\"get\", \"openOrders\", True, data=params)\n\n def futures_get_all_orders(self, **params):\n \"\"\"Get all futures account orders; active, canceled, or filled.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/All-Orders\n\n \"\"\"\n return self._request_futures_api(\"get\", \"allOrders\", True, data=params)\n\n def futures_cancel_order(self, **params):\n \"\"\"Cancel an active futures order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-Order\n\n \"\"\"\n return self._request_futures_api(\"delete\", \"order\", True, data=params)\n\n def futures_cancel_all_open_orders(self, **params):\n \"\"\"Cancel all open futures orders\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-All-Open-Orders\n\n \"\"\"\n return self._request_futures_api(\"delete\", \"allOpenOrders\", True, data=params)\n\n def futures_cancel_orders(self, **params):\n \"\"\"Cancel multiple futures orders\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-Multiple-Orders\n\n \"\"\"\n if params.get(\"orderidlist\"):\n params[\"orderidlist\"] = quote(\n convert_list_to_json_array(params[\"orderidlist\"])\n )\n if params.get(\"origclientorderidlist\"):\n params[\"origclientorderidlist\"] = quote(\n convert_list_to_json_array(params[\"origclientorderidlist\"])\n )\n return self._request_futures_api(\n \"delete\", \"batchOrders\", True, force_params=True, data=params\n )\n\n def futures_countdown_cancel_all(self, **params):\n \"\"\"Cancel all open orders of the specified symbol at the end of the specified countdown.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Auto-Cancel-All-Open-Orders\n\n :param symbol: required\n :type symbol: str\n :param countdownTime: required\n :type countdownTime: int\n :param recvWindow: optional - the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"symbol\": \"BTCUSDT\",\n \"countdownTime\": \"100000\"\n }\n\n \"\"\"\n return self._request_futures_api(\n \"post\", \"countdownCancelAll\", True, data=params\n )\n\n def futures_account_balance(self, **params):\n \"\"\"Get futures account balance\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Futures-Account-Balance-V3\n\n \"\"\"\n return self._request_futures_api(\"get\", \"balance\", True, 3, data=params)\n\n def futures_account(self, **params):\n \"\"\"Get current account information.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Account-Information-V2\n\n \"\"\"\n return self._request_futures_api(\"get\", \"account\", True, 2, data=params)\n\n def futures_change_leverage(self, **params):\n \"\"\"Change user's initial leverage of specific symbol market\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Change-Initial-Leverage\n\n \"\"\"\n return self._request_futures_api(\"post\", \"leverage\", True, data=params)\n\n def futures_change_margin_type(self, **params):\n \"\"\"Change the margin type for a symbol\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Change-Margin-Type\n\n \"\"\"\n return self._request_futures_api(\"post\", \"marginType\", True, data=params)\n\n def futures_change_position_margin(self, **params):\n \"\"\"Change the position margin for a symbol\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Modify-Isolated-Position-Margin\n\n \"\"\"\n return self._request_futures_api(\"post\", \"positionMargin\", True, data=params)\n\n def futures_position_margin_history(self, **params):\n \"\"\"Get position margin change history\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Get-Position-Margin-Change-History\n\n \"\"\"\n return self._request_futures_api(\n \"get\", \"positionMargin/history\", True, data=params\n )\n\n def futures_position_information(self, **params):\n \"\"\"Get position information\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Position-Information-V3\n\n \"\"\"\n return self._request_futures_api(\"get\", \"positionRisk\", True, 3, data=params)\n\n def futures_account_trades(self, **params):\n \"\"\"Get trades for the authenticated account and symbol.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Account-Trade-List\n\n \"\"\"\n return self._request_futures_api(\"get\", \"userTrades\", True, data=params)\n\n def futures_income_history(self, **params):\n \"\"\"Get income history for authenticated account\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Income-History\n\n \"\"\"\n return self._request_futures_api(\"get\", \"income\", True, data=params)\n\n def futures_change_position_mode(self, **params):\n \"\"\"Change position mode for authenticated account\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Change-Position-Mode\n\n \"\"\"\n return self._request_futures_api(\"post\", \"positionSide/dual\", True, data=params)\n\n def futures_get_position_mode(self, **params):\n \"\"\"Get position mode for authenticated account\n\n https://binance-docs.github.io/apidocs/futures/en/#get-current-position-mode-user_data\n\n \"\"\"\n return self._request_futures_api(\"get\", \"positionSide/dual\", True, data=params)\n\n def futures_change_multi_assets_mode(self, multiAssetsMargin: bool):\n \"\"\"Change user's Multi-Assets mode (Multi-Assets Mode or Single-Asset Mode) on Every symbol\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Change-Multi-Assets-Mode\n\n \"\"\"\n params = {\"multiAssetsMargin\": \"true\" if multiAssetsMargin else \"false\"}\n return self._request_futures_api(\"post\", \"multiAssetsMargin\", True, data=params)\n\n def futures_get_multi_assets_mode(self):\n \"\"\"Get user's Multi-Assets mode (Multi-Assets Mode or Single-Asset Mode) on Every symbol\n\n https://binance-docs.github.io/apidocs/futures/en/#get-current-multi-assets-mode-user_data\n\n \"\"\"\n return self._request_futures_api(\"get\", \"multiAssetsMargin\", True, data={})\n\n def futures_stream_get_listen_key(self):\n res = self._request_futures_api(\"post\", \"listenKey\", signed=False, data={})\n return res[\"listenKey\"]\n\n def futures_stream_keepalive(self, listenKey):\n params = {\"listenKey\": listenKey}\n return self._request_futures_api(\"put\", \"listenKey\", signed=False, data=params)\n\n def futures_stream_close(self, listenKey):\n params = {\"listenKey\": listenKey}\n return self._request_futures_api(\n \"delete\", \"listenKey\", signed=False, data=params\n )\n\n # new methods\n def futures_account_config(self, **params):\n \"\"\"Get futures account configuration\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Account-Config\n \"\"\"\n return self._request_futures_api(\n \"get\", \"accountConfig\", signed=True, version=1, data=params\n )\n\n def futures_symbol_config(self, **params):\n \"\"\"Get current account symbol configuration\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Symbol-Config\n \"\"\"\n return self._request_futures_api(\n \"get\", \"symbolConfig\", signed=True, version=1, data=params\n )\n\n # COIN Futures API\n def futures_coin_ping(self):\n \"\"\"Test connectivity to the Rest API\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"ping\")\n\n def futures_coin_time(self):\n \"\"\"Test connectivity to the Rest API and get the current server time.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Check-Server-time\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"time\")\n\n def futures_coin_exchange_info(self):\n \"\"\"Current exchange trading rules and symbol information\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Exchange-Information\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"exchangeInfo\")\n\n def futures_coin_order_book(self, **params):\n \"\"\"Get the Order Book for the market\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Order-Book\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"depth\", data=params)\n\n def futures_coin_recent_trades(self, **params):\n \"\"\"Get recent trades (up to last 500).\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Recent-Trades-List\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"trades\", data=params)\n\n def futures_coin_historical_trades(self, **params):\n \"\"\"Get older market historical trades.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Old-Trades-Lookup\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"historicalTrades\", data=params)\n\n def futures_coin_aggregate_trades(self, **params):\n \"\"\"Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same\n price will have the quantity aggregated.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Compressed-Aggregate-Trades-List\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"aggTrades\", data=params)\n\n def futures_coin_klines(self, **params):\n \"\"\"Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"klines\", data=params)\n\n def futures_coin_continous_klines(self, **params):\n \"\"\"Kline/candlestick bars for a specific contract type. Klines are uniquely identified by their open time.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Continuous-Contract-Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"continuousKlines\", data=params)\n\n def futures_coin_index_price_klines(self, **params):\n \"\"\"Kline/candlestick bars for the index price of a pair..\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"indexPriceKlines\", data=params)\n\n def futures_coin_premium_index_klines(self, **params):\n \"\"\"Kline/candlestick bars for the index price of a pair..\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Premium-Index-Kline-Data\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"premiumIndexKlines\", data=params)\n\n def futures_coin_mark_price_klines(self, **params):\n \"\"\"Kline/candlestick bars for the index price of a pair..\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Mark-Price-Kline-Candlestick-Data\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"markPriceKlines\", data=params)\n\n def futures_coin_mark_price(self, **params):\n \"\"\"Get Mark Price and Funding Rate\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Price-and-Mark-Price\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"premiumIndex\", data=params)\n\n def futures_coin_funding_rate(self, **params):\n \"\"\"Get funding rate history\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Get-Funding-Rate-History-of-Perpetual-Futures\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"fundingRate\", data=params)\n\n def futures_coin_ticker(self, **params):\n \"\"\"24 hour rolling window price change statistics.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/24hr-Ticker-Price-Change-Statistics\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"ticker/24hr\", data=params)\n\n def futures_coin_symbol_ticker(self, **params):\n \"\"\"Latest price for a symbol or symbols.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Symbol-Price-Ticker\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"ticker/price\", data=params)\n\n def futures_coin_orderbook_ticker(self, **params):\n \"\"\"Best price/qty on the order book for a symbol or symbols.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Symbol-Order-Book-Ticker\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"ticker/bookTicker\", data=params)\n\n def futures_coin_top_longshort_position_ratio(self, **params):\n \"\"\"Get present long to short ratio for top positions of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Top-Trader-Long-Short-Ratio\n \"\"\"\n return self._request_futures_coin_data_api(\"get\", \"topLongShortPositionRatio\", data=params)\n\n def futures_coin_top_longshort_account_ratio(self, **params):\n \"\"\"Get present long to short ratio for top positions of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Top-Long-Short-Account-Ratio\n \"\"\"\n return self._request_futures_coin_data_api(\"get\", \"topLongShortAccountRatio\", data=params)\n\n def futures_coin_global_longshort_ratio(self, **params):\n \"\"\"Get present long to short ratio for top positions of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Long-Short-Ratio\n \"\"\"\n return self._request_futures_coin_data_api(\"get\", \"globalLongShortAccountRatio\", data=params)\n\n def futures_coin_taker_buy_sell_volume(self, **params):\n \"\"\"Get present long to short ratio for top positions of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Taker-Buy-Sell-Volume\n \"\"\"\n return self._request_futures_coin_data_api(\"get\", \"takerBuySellVol\", data=params)\n\n def futures_coin_basis(self, **params):\n \"\"\"Get future basis of a specific symbol\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Basis\n \"\"\"\n return self._request_futures_coin_data_api(\"get\", \"basis\", data=params)\n\n def futures_coin_index_price_constituents(self, **params):\n \"\"\"Get index price constituents\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Index-Constituents\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"constituents\", data=params)\n\n def futures_coin_liquidation_orders(self, **params):\n \"\"\"Get all liquidation orders\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Users-Force-Orders\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"forceOrders\", signed=True, data=params\n )\n\n def futures_coin_open_interest(self, **params):\n \"\"\"Get present open interest of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Open-Interest\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"openInterest\", data=params)\n\n def futures_coin_open_interest_hist(self, **params):\n \"\"\"Get open interest statistics of a specific symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Open-Interest-Statistics\n\n \"\"\"\n return self._request_futures_coin_data_api(\n \"get\", \"openInterestHist\", data=params\n )\n\n def futures_coin_leverage_bracket(self, **params):\n \"\"\"Notional and Leverage Brackets\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Notional-Bracket-for-Symbol\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"leverageBracket\", version=2, signed=True, data=params\n )\n\n def new_transfer_history(self, **params):\n \"\"\"Get future account transaction history list\n\n https://developers.binance.com/docs/wallet/asset/query-user-universal-transfer\n\n \"\"\"\n return self._request_margin_api(\"get\", \"asset/transfer\", True, data=params)\n\n def funding_wallet(self, **params):\n \"\"\" Query Funding Wallet\n\n https://developers.binance.com/docs/wallet/asset/funding-wallet\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"asset/get-funding-asset\", True, data=params\n )\n\n def get_user_asset(self, **params):\n \"\"\" Get user assets, just for positive data\n\n https://developers.binance.com/docs/wallet/asset/user-assets\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"asset/getUserAsset\", True, data=params, version=3\n )\n\n def universal_transfer(self, **params):\n \"\"\"Unviversal transfer api accross different binance account types\n\n https://developers.binance.com/docs/wallet/asset/user-universal-transfer\n \"\"\"\n return self._request_margin_api(\n \"post\", \"asset/transfer\", signed=True, data=params\n )\n\n def futures_coin_create_order(self, **params):\n \"\"\"Send in a new order.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_futures_coin_api(\"post\", \"order\", True, data=params)\n\n def futures_coin_place_batch_order(self, **params):\n \"\"\"Send in new orders.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Place-Multiple-Orders\n\n To avoid modifying the existing signature generation and parameter order logic,\n the url encoding is done on the special query param, batchOrders, in the early stage.\n\n \"\"\"\n for order in params[\"batchOrders\"]:\n if \"newClientOrderId\" not in order:\n order[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n query_string = urlencode(params)\n query_string = query_string.replace(\"%27\", \"%22\")\n params[\"batchOrders\"] = query_string[12:]\n\n return self._request_futures_coin_api(\"post\", \"batchOrders\", True, data=params)\n\n def futures_coin_modify_order(self, **params):\n \"\"\"Modify an existing order. Currently only LIMIT order modification is supported.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Modify-Order\n\n \"\"\"\n return self._request_futures_coin_api(\"put\", \"order\", True, data=params)\n\n def futures_coin_get_order(self, **params):\n \"\"\"Check an order's status.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Query-Order\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"order\", True, data=params)\n\n def futures_coin_get_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Current-All-Open-Orders\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"openOrders\", True, data=params)\n\n def futures_coin_get_all_orders(self, **params):\n \"\"\"Get all futures account orders; active, canceled, or filled.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/All-Orders\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"allOrders\", signed=True, data=params\n )\n\n def futures_coin_cancel_order(self, **params):\n \"\"\"Cancel an active futures order.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Cancel-Order\n\n \"\"\"\n return self._request_futures_coin_api(\n \"delete\", \"order\", signed=True, data=params\n )\n\n def futures_coin_cancel_all_open_orders(self, **params):\n \"\"\"Cancel all open futures orders\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Cancel-All-Open-Orders\n\n \"\"\"\n return self._request_futures_coin_api(\n \"delete\", \"allOpenOrders\", signed=True, force_params=True, data=params\n )\n\n def futures_coin_cancel_orders(self, **params):\n \"\"\"Cancel multiple futures orders\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Cancel-Multiple-Orders\n\n \"\"\"\n if params.get(\"orderidlist\"):\n params[\"orderidlist\"] = quote(\n convert_list_to_json_array(params[\"orderidlist\"])\n )\n if params.get(\"origclientOrderidlist\"):\n params[\"origclientorderidlist\"] = quote(\n convert_list_to_json_array(params[\"origclientorderidlist\"])\n )\n return self._request_futures_coin_api(\n \"delete\", \"batchOrders\", True, data=params\n )\n\n def futures_coin_countdown_cancel_all(self, **params):\n \"\"\"Cancel all open orders of the specified symbol at the end of the specified countdown.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Auto-Cancel-All-Open-Orders\n\n :param symbol: required\n :type symbol: str\n :param countdownTime: required\n :type countdownTime: int\n :param recvWindow: optional - the number of milliseconds the request is valid for\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"symbol\": \"BTCUSDT\",\n \"countdownTime\": \"100000\"\n }\n\n \"\"\"\n return self._request_futures_coin_api(\n \"post\", \"countdownCancelAll\", True, data=params\n )\n\n def futures_coin_get_open_order(self, **params):\n \"\"\"Get current open order.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Query-Current-Open-Order\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"openOrder\", signed=True, data=params\n )\n\n def futures_coin_account_balance(self, **params):\n \"\"\"Get futures account balance\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Futures-Account-Balance\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"balance\", signed=True, data=params\n )\n\n def futures_coin_account(self, **params):\n \"\"\"Get current account information.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Account-Information\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"account\", signed=True, data=params\n )\n\n def futures_coin_change_leverage(self, **params):\n \"\"\"Change user's initial leverage of specific symbol market\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Change-Initial-Leverage\n\n \"\"\"\n return self._request_futures_coin_api(\n \"post\", \"leverage\", signed=True, data=params\n )\n\n def futures_coin_change_margin_type(self, **params):\n \"\"\"Change the margin type for a symbol\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Change-Margin-Type\n\n \"\"\"\n return self._request_futures_coin_api(\n \"post\", \"marginType\", signed=True, data=params\n )\n\n def futures_coin_change_position_margin(self, **params):\n \"\"\"Change the position margin for a symbol\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Modify-Isolated-Position-Margin\n\n \"\"\"\n return self._request_futures_coin_api(\n \"post\", \"positionMargin\", True, data=params\n )\n\n def futures_coin_position_margin_history(self, **params):\n \"\"\"Get position margin change history\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Get-Position-Margin-Change-History\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"positionMargin/history\", True, data=params\n )\n\n def futures_coin_position_information(self, **params):\n \"\"\"Get position information\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Position-Information\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"positionRisk\", True, data=params)\n\n def futures_coin_account_trades(self, **params):\n \"\"\"Get trades for the authenticated account and symbol.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Account-Trade-List\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"userTrades\", True, data=params)\n\n def futures_coin_income_history(self, **params):\n \"\"\"Get income history for authenticated account\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Income-History\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"income\", True, data=params)\n\n def futures_coin_change_position_mode(self, **params):\n \"\"\"Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Change-Position-Mode\n\n \"\"\"\n return self._request_futures_coin_api(\n \"post\", \"positionSide/dual\", True, data=params\n )\n\n def futures_coin_get_position_mode(self, **params):\n \"\"\"Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Current-Position-Mode\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"positionSide/dual\", True, data=params\n )\n\n def futures_coin_stream_get_listen_key(self):\n res = self._request_futures_coin_api(\"post\", \"listenKey\", signed=False, data={})\n return res[\"listenKey\"]\n\n def futures_coin_stream_keepalive(self, listenKey):\n params = {\"listenKey\": listenKey}\n return self._request_futures_coin_api(\n \"put\", \"listenKey\", signed=False, data=params\n )\n\n def futures_coin_stream_close(self, listenKey):\n params = {\"listenKey\": listenKey}\n return self._request_futures_coin_api(\n \"delete\", \"listenKey\", signed=False, data=params\n )\n\n def futures_coin_account_order_history_download(self, **params):\n \"\"\"Get Download Id For Futures Order History\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Order-History\n\n :param startTime: required - Start timestamp in ms\n :type startTime: int\n :param endTime: required - End timestamp in ms\n :type endTime: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"avgCostTimestampOfLast30d\": 7241837, # Average time taken for data download in the past 30 days\n \"downloadId\": \"546975389218332672\"\n }\n\n Note:\n - Request Limitation is 10 times per month, shared by front end download page and rest api\n - The time between startTime and endTime can not be longer than 1 year\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_futures_coin_api(\n \"get\", \"order/asyn\", signed=True, data=params\n )\n\n def futures_coin_accout_order_history_download_link(self, **params):\n \"\"\"Get futures order history download link by Id\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Futures-Order-History-Download-Link-by-Id\n\n :param downloadId: required - Download ID obtained from futures_coin_download_id\n :type downloadId: str\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"downloadId\": \"545923594199212032\",\n \"status\": \"completed\", # Enum\uff1acompleted\uff0cprocessing\n \"url\": \"www.binance.com\", # The link is mapped to download id\n \"notified\": true, # ignore\n \"expirationTimestamp\": 1645009771000, # The link would expire after this timestamp\n \"isExpired\": null\n }\n\n # OR (Response when server is processing)\n {\n \"downloadId\": \"545923594199212032\",\n \"status\": \"processing\",\n \"url\": \"\",\n \"notified\": false,\n \"expirationTimestamp\": -1,\n \"isExpired\": null\n }\n\n Note:\n - Download link expiration: 24h\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"order/asyn/id\", True, data=params)\n\n def futures_coin_account_trade_history_download(self, **params):\n \"\"\"Get Download Id For Futures Trade History (USER_DATA)\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Trade-History\n\n :param startTime: required - Start timestamp in ms\n :type startTime: int\n :param endTime: required - End timestamp in ms\n :type endTime: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"avgCostTimestampOfLast30d\": 7241837, # Average time taken for data download in the past 30 days\n \"downloadId\": \"546975389218332672\"\n }\n\n Note:\n - Request Limitation is 5 times per month, shared by front end download page and rest api\n - The time between startTime and endTime can not be longer than 1 year\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"trade/asyn\", True, data=params)\n\n def futures_coin_account_trade_history_download_link(self, **params):\n \"\"\"Get futures trade download link by Id\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Futures-Trade-Download-Link-by-Id\n\n :param downloadId: required - Download ID obtained from futures_coin_trade_download_id\n :type downloadId: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"downloadId\": \"545923594199212032\",\n \"status\": \"completed\", # Enum\uff1acompleted\uff0cprocessing\n \"url\": \"www.binance.com\", # The link is mapped to download id\n \"notified\": true, # ignore\n \"expirationTimestamp\": 1645009771000, # The link would expire after this timestamp\n \"isExpired\": null\n }\n\n # OR (Response when server is processing)\n {\n \"downloadId\": \"545923594199212032\",\n \"status\": \"processing\",\n \"url\": \"\",\n \"notified\": false,\n \"expirationTimestamp\": -1,\n \"isExpired\": null\n }\n\n Note:\n - Download link expiration: 24h\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"trade/asyn/id\", True, data=params)\n\n def get_all_coins_info(self, **params):\n \"\"\"Get information of coins (available for deposit and withdraw) for user.\n\n https://developers.binance.com/docs/wallet/capital\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"coin\": \"BTC\",\n \"depositAllEnable\": true,\n \"withdrawAllEnable\": true,\n \"name\": \"Bitcoin\",\n \"free\": \"0\",\n \"locked\": \"0\",\n \"freeze\": \"0\",\n \"withdrawing\": \"0\",\n \"ipoing\": \"0\",\n \"ipoable\": \"0\",\n \"storage\": \"0\",\n \"isLegalMoney\": false,\n \"trading\": true,\n \"networkList\": [\n {\n \"network\": \"BNB\",\n \"coin\": \"BTC\",\n \"withdrawIntegerMultiple\": \"0.00000001\",\n \"isDefault\": false,\n \"depositEnable\": true,\n \"withdrawEnable\": true,\n \"depositDesc\": \"\",\n \"withdrawDesc\": \"\",\n \"specialTips\": \"Both a MEMO and an Address are required to successfully deposit your BEP2-BTCB tokens to Binance.\",\n \"name\": \"BEP2\",\n \"resetAddressStatus\": false,\n \"addressRegex\": \"^(bnb1)[0-9a-z]{38}$\",\n \"memoRegex\": \"^[0-9A-Za-z-_]{1,120}$\",\n \"withdrawFee\": \"0.0000026\",\n \"withdrawMin\": \"0.0000052\",\n \"withdrawMax\": \"0\",\n \"minConfirm\": 1,\n \"unLockConfirm\": 0\n },\n {\n \"network\": \"BTC\",\n \"coin\": \"BTC\",\n \"withdrawIntegerMultiple\": \"0.00000001\",\n \"isDefault\": true,\n \"depositEnable\": true,\n \"withdrawEnable\": true,\n \"depositDesc\": \"\",\n \"withdrawDesc\": \"\",\n \"specialTips\": \"\",\n \"name\": \"BTC\",\n \"resetAddressStatus\": false,\n \"addressRegex\": \"^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^(bc1)[0-9A-Za-z]{39,59}$\",\n \"memoRegex\": \"\",\n \"withdrawFee\": \"0.0005\",\n \"withdrawMin\": \"0.001\",\n \"withdrawMax\": \"0\",\n \"minConfirm\": 1,\n \"unLockConfirm\": 2\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"capital/config/getall\", True, data=params\n )\n\n def get_account_snapshot(self, **params):\n \"\"\"Get daily account snapshot of specific type.\n\n https://developers.binance.com/docs/wallet/account/daily-account-snapshoot\n\n :param type: required. Valid values are SPOT/MARGIN/FUTURES.\n :type type: string\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"code\":200, // 200 for success; others are error codes\n \"msg\":\"\", // error message\n \"snapshotVos\":[\n {\n \"data\":{\n \"balances\":[\n {\n \"asset\":\"BTC\",\n \"free\":\"0.09905021\",\n \"locked\":\"0.00000000\"\n },\n {\n \"asset\":\"USDT\",\n \"free\":\"1.89109409\",\n \"locked\":\"0.00000000\"\n }\n ],\n \"totalAssetOfBtc\":\"0.09942700\"\n },\n \"type\":\"spot\",\n \"updateTime\":1576281599000\n }\n ]\n }\n\n OR\n\n .. code-block:: python\n\n {\n \"code\":200, // 200 for success; others are error codes\n \"msg\":\"\", // error message\n \"snapshotVos\":[\n {\n \"data\":{\n \"marginLevel\":\"2748.02909813\",\n \"totalAssetOfBtc\":\"0.00274803\",\n \"totalLiabilityOfBtc\":\"0.00000100\",\n \"totalNetAssetOfBtc\":\"0.00274750\",\n \"userAssets\":[\n {\n \"asset\":\"XRP\",\n \"borrowed\":\"0.00000000\",\n \"free\":\"1.00000000\",\n \"interest\":\"0.00000000\",\n \"locked\":\"0.00000000\",\n \"netAsset\":\"1.00000000\"\n }\n ]\n },\n \"type\":\"margin\",\n \"updateTime\":1576281599000\n }\n ]\n }\n\n OR\n\n .. code-block:: python\n\n {\n \"code\":200, // 200 for success; others are error codes\n \"msg\":\"\", // error message\n \"snapshotVos\":[\n {\n \"data\":{\n \"assets\":[\n {\n \"asset\":\"USDT\",\n \"marginBalance\":\"118.99782335\",\n \"walletBalance\":\"120.23811389\"\n }\n ],\n \"position\":[\n {\n \"entryPrice\":\"7130.41000000\",\n \"markPrice\":\"7257.66239673\",\n \"positionAmt\":\"0.01000000\",\n \"symbol\":\"BTCUSDT\",\n \"unRealizedProfit\":\"1.24029054\"\n }\n ]\n },\n \"type\":\"futures\",\n \"updateTime\":1576281599000\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\"get\", \"accountSnapshot\", True, data=params)\n\n def disable_fast_withdraw_switch(self, **params):\n \"\"\"Disable Fast Withdraw Switch\n\n https://binance-docs.github.io/apidocs/spot/en/#disable-fast-withdraw-switch-user_data\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"disableFastWithdrawSwitch\", True, data=params\n )\n\n def enable_fast_withdraw_switch(self, **params):\n \"\"\"Enable Fast Withdraw Switch\n\n https://binance-docs.github.io/apidocs/spot/en/#enable-fast-withdraw-switch-user_data\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n :raises: BinanceRequestException, BinanceAPIException\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"enableFastWithdrawSwitch\", True, data=params\n )\n\n \"\"\"\n ====================================================================================================================\n Options API\n ====================================================================================================================\n \"\"\"\n # Quoting interface endpoints\n\n def options_ping(self):\n \"\"\"Test connectivity\n\n https://developers.binance.com/docs/derivatives/option/market-data/Test-Connectivity\n\n \"\"\"\n return self._request_options_api(\"get\", \"ping\")\n\n def options_time(self):\n \"\"\"Get server time\n\n https://developers.binance.com/docs/derivatives/option/market-data\n\n \"\"\"\n return self._request_options_api(\"get\", \"time\")\n\n def options_info(self):\n \"\"\"Get current trading pair info\n\n https://binance-docs.github.io/apidocs/voptions/en/#get-current-trading-pair-info\n\n \"\"\"\n return self._request_options_api(\"get\", \"optionInfo\")\n\n def options_exchange_info(self):\n \"\"\"Get current limit info and trading pair info\n\n https://developers.binance.com/docs/derivatives/option/market-data/Exchange-Information\n\n \"\"\"\n return self._request_options_api(\"get\", \"exchangeInfo\")\n\n def options_index_price(self, **params):\n \"\"\"Get the spot index price\n\n https://developers.binance.com/docs/derivatives/option/market-data/Symbol-Price-Ticker\n\n :param underlying: required - Spot pair\uff08Option contract underlying asset\uff09- BTCUSDT\n :type underlying: str\n\n \"\"\"\n return self._request_options_api(\"get\", \"index\", data=params)\n\n def options_price(self, **params):\n \"\"\"Get the latest price\n\n https://developers.binance.com/docs/derivatives/option/market-data/24hr-Ticker-Price-Change-Statistics\n\n :param symbol: optional - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n\n \"\"\"\n return self._request_options_api(\"get\", \"ticker\", data=params)\n\n def options_mark_price(self, **params):\n \"\"\"Get the latest mark price\n\n https://developers.binance.com/docs/derivatives/option/market-data/Option-Mark-Price\n\n :param symbol: optional - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n\n \"\"\"\n return self._request_options_api(\"get\", \"mark\", data=params)\n\n def options_order_book(self, **params):\n \"\"\"Depth information\n\n https://developers.binance.com/docs/derivatives/option/market-data/Order-Book\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param limit: optional - Default:100 Max:1000.Optional value:[10, 20, 50, 100, 500, 1000] - 100\n :type limit: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"depth\", data=params)\n\n def options_klines(self, **params):\n \"\"\"Candle data\n\n https://developers.binance.com/docs/derivatives/option/market-data/Kline-Candlestick-Data\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param interval: required - Time interval - 5m\n :type interval: str\n :param startTime: optional - Start Time - 1592317127349\n :type startTime: int\n :param endTime: optional - End Time - 1592317127349\n :type endTime: int\n :param limit: optional - Number of records Default:500 Max:1500 - 500\n :type limit: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"klines\", data=params)\n\n def options_recent_trades(self, **params):\n \"\"\"Recently completed Option trades\n\n https://developers.binance.com/docs/derivatives/option/market-data/Recent-Trades-List\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param limit: optional - Number of records Default:100 Max:500 - 100\n :type limit: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"trades\", data=params)\n\n def options_historical_trades(self, **params):\n \"\"\"Query trade history\n\n https://developers.binance.com/docs/derivatives/option/market-data/Old-Trades-Lookup\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param fromId: optional - The deal ID from which to return. The latest deal record is returned by default - 1592317127349\n :type fromId: int\n :param limit: optional - Number of records Default:100 Max:500 - 100\n :type limit: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"historicalTrades\", data=params)\n\n # Account and trading interface endpoints\n\n def options_account_info(self, **params):\n \"\"\"Account asset info (USER_DATA)\n\n https://developers.binance.com/docs/derivatives/option/account\n\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"account\", signed=True, data=params)\n\n def options_get_bill(self, **params):\n \"\"\"Get account funding flows\n\n https://developers.binance.com/docs/derivatives/option/account/Account-Funding-Flow\n\n :param currency: required\n :type currency: str\n :param recordId: optional\n :type recordId: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"bill\", signed=True, data=params)\n\n def options_funds_transfer(self, **params):\n \"\"\"Funds transfer (USER_DATA)\n\n https://binance-docs.github.io/apidocs/voptions/en/#funds-transfer-user_data\n\n :param currency: required - Asset type - USDT\n :type currency: str\n :param type: required - IN: Transfer from spot account to option account OUT: Transfer from option account to spot account - IN\n :type type: str (ENUM)\n :param amount: required - Amount - 10000\n :type amount: float\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"post\", \"transfer\", signed=True, data=params)\n\n def options_positions(self, **params):\n \"\"\"Option holdings info (USER_DATA)\n\n https://developers.binance.com/docs/derivatives/option/trade/Option-Position-Information\n\n :param symbol: optional - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"position\", signed=True, data=params)\n\n def options_exercise_record(self, **params):\n \"\"\"\n Get account exercise records.\n\n https://developers.binance.com/docs/derivatives/option/trade/User-Exercise-Record\n\n :param symbol: optional\n :type symbol: str\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"exerciseRecord\", signed=True, data=params)\n\n def options_bill(self, **params):\n \"\"\"Account funding flow (USER_DATA)\n\n https://binance-docs.github.io/apidocs/voptions/en/#account-funding-flow-user_data\n\n :param currency: required - Asset type - USDT\n :type currency: str\n :param recordId: optional - Return the recordId and subsequent data, the latest data is returned by default - 100000\n :type recordId: int\n :param startTime: optional - Start Time - 1593511200000\n :type startTime: int\n :param endTime: optional - End Time - 1593511200000\n :type endTime: int\n :param limit: optional - Number of result sets returned Default:100 Max:1000 - 100\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"post\", \"bill\", signed=True, data=params)\n\n def options_place_order(self, **params):\n \"\"\"Option order (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param side: required - Buy/sell direction: SELL, BUY - BUY\n :type side: str (ENUM)\n :param type: required - Order Type: LIMIT, MARKET - LIMIT\n :type type: str (ENUM)\n :param quantity: required - Order Quantity - 3\n :type quantity: float\n :param price: optional - Order Price - 1000\n :type price: float\n :param timeInForce: optional - Time in force method\uff08Default GTC) - GTC\n :type timeInForce: str (ENUM)\n :param reduceOnly: optional - Reduce Only (Default false) - false\n :type reduceOnly: bool\n :param postOnly: optional - Post Only (Default false) - false\n :type postOnly: bool\n :param newOrderRespType: optional - \"ACK\", \"RESULT\", Default \"ACK\" - ACK\n :type newOrderRespType: str (ENUM)\n :param clientOrderId: optional - User-defined order ID cannot be repeated in pending orders - 10000\n :type clientOrderId: str\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n if \"clientOrderId\" not in params:\n params[\"clientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_options_api(\"post\", \"order\", signed=True, data=params)\n\n def options_place_batch_order(self, **params):\n \"\"\"Place Multiple Option orders (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade/Place-Multiple-Orders\n\n :param orders: required - order list. Max 5 orders - [{\"symbol\":\"BTC-210115-35000-C\",\"price\":\"100\",\"quantity\":\"0.0001\",\"side\":\"BUY\",\"type\":\"LIMIT\"}]\n :type orders: list\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n for order in params[\"batchOrders\"]:\n if \"newClientOrderId\" not in order:\n order[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_options_api(\n \"post\", \"batchOrders\", signed=True, data=params\n )\n\n def options_cancel_order(self, **params):\n \"\"\"Cancel Option order (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade/Cancel-Option-Order\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param orderId: optional - Order ID - 4611875134427365377\n :type orderId: str\n :param clientOrderId: optional - User-defined order ID - 10000\n :type clientOrderId: str\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"delete\", \"order\", signed=True, data=params)\n\n def options_cancel_batch_order(self, **params):\n \"\"\"Cancel Multiple Option orders (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade/Cancel-Multiple-Option-Orders\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param orderIds: optional - Order ID - [4611875134427365377,4611875134427365378]\n :type orderId: list\n :param clientOrderIds: optional - User-defined order ID - [\"my_id_1\",\"my_id_2\"]\n :type clientOrderIds: list\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\n \"delete\", \"batchOrders\", signed=True, data=params\n )\n\n def options_cancel_all_orders(self, **params):\n \"\"\"Cancel all Option orders (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade/Cancel-all-Option-orders-on-specific-symbol\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\n \"delete\", \"allOpenOrders\", signed=True, data=params\n )\n\n def options_query_order(self, **params):\n \"\"\"Query Option order (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade/Query-Single-Order\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param orderId: optional - Order ID - 4611875134427365377\n :type orderId: str\n :param clientOrderId: optional - User-defined order ID - 10000\n :type clientOrderId: str\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"order\", signed=True, data=params)\n\n def options_query_pending_orders(self, **params):\n \"\"\"Query current pending Option orders (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade/Query-Current-Open-Option-Orders\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param orderId: optional - Returns the orderId and subsequent orders, the most recent order is returned by default - 100000\n :type orderId: str\n :param startTime: optional - Start Time - 1593511200000\n :type startTime: int\n :param endTime: optional - End Time - 1593511200000\n :type endTime: int\n :param limit: optional - Number of result sets returned Default:100 Max:1000 - 100\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"openOrders\", signed=True, data=params)\n\n def options_query_order_history(self, **params):\n \"\"\"Query Option order history (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/trade/Query-Option-Order-History\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param orderId: optional - Returns the orderId and subsequent orders, the most recent order is returned by default - 100000\n :type orderId: str\n :param startTime: optional - Start Time - 1593511200000\n :type startTime: int\n :param endTime: optional - End Time - 1593511200000\n :type endTime: int\n :param limit: optional - Number of result sets returned Default:100 Max:1000 - 100\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\n \"get\", \"historyOrders\", signed=True, data=params\n )\n\n def options_user_trades(self, **params):\n \"\"\"Option Trade List (USER_DATA)\n\n https://developers.binance.com/docs/derivatives/option/trade/Account-Trade-List\n\n :param symbol: required - Option trading pair - BTC-200730-9000-C\n :type symbol: str\n :param fromId: optional - Trade id to fetch from. Default gets most recent trades. - 4611875134427365376\n :type fromId: int\n :param startTime: optional - Start Time - 1593511200000\n :type startTime: int\n :param endTime: optional - End Time - 1593511200000\n :type endTime: int\n :param limit: optional - Number of result sets returned Default:100 Max:1000 - 100\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_options_api(\"get\", \"userTrades\", signed=True, data=params)\n\n ####################################################\n # Options - Market Maker Block Trade\n ####################################################\n\n def options_create_block_trade_order(self, **params):\n \"\"\"New Block Trade Order (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/market-maker-block-trade\n\n :param liquidity: required - Taker or Maker\n :type liquidity: str\n :param symbol: required - Option trading pair, e.g BTC-200730-9000-C\n :type symbol: str\n :param side: required - BUY or SELL\n :type side: str\n :param price: required - Order Price\n :type price: float\n :param quantity: required - Order Quantity\n :type quantity: float\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"blockTradeSettlementKey\": \"3668822b8-1baa-6a2f-adb8-d3de6289b361\",\n \"expireTime\": 1730171888109,\n \"liquidity\": \"TAKER\",\n \"status\": \"RECEIVED\",\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"BUY\",\n \"quantity\": \"1.2\",\n \"price\": \"2.8\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_options_api(\n \"post\", \"block/order/create\", signed=True, data=params\n )\n\n def options_cancel_block_trade_order(self, **params):\n \"\"\"Cancel Block Trade Order (TRADE)\n\n https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Cancel-Block-Trade-Order\n\n :param blockOrderMatchingKey: required - Block Order Matching Key\n :type blockOrderMatchingKey: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n {}\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_options_api(\n \"delete\", \"block/order/create\", signed=True, data=params\n )\n\n def options_extend_block_trade_order(self, **params):\n \"\"\"Extend Block Trade Order (TRADE)\n\n Extends a block trade expire time by 30 mins from the current time.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Extend-Block-Trade-Order\n\n :param blockOrderMatchingKey: required - Block Order Matching Key\n :type blockOrderMatchingKey: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"blockTradeSettlementKey\": \"3668822b8-1baa-6a2f-adb8-d3de6289b361\",\n \"expireTime\": 1730172007000,\n \"liquidity\": \"TAKER\",\n \"status\": \"RECEIVED\",\n \"createTime\": 1730170088111,\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"BUY\",\n \"quantity\": \"1.2\",\n \"price\": \"2.8\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_options_api(\n \"put\", \"block/order/create\", signed=True, data=params\n )\n\n def options_get_block_trade_orders(self, **params):\n \"\"\"Query Block Trade Order (TRADE)\n\n Check block trade order status.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Query-Block-Trade-Order\n\n :param blockOrderMatchingKey: optional - Returns specific block trade for this key\n :type blockOrderMatchingKey: str\n :param endTime: optional\n :type endTime: int\n :param startTime: optional\n :type startTime: int\n :param underlying: optional\n :type underlying: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"blockTradeSettlementKey\": \"7d046e6e-a429-4335-ab9d-6a681febcde5\",\n \"expireTime\": 1730172115801,\n \"liquidity\": \"TAKER\",\n \"status\": \"RECEIVED\",\n \"createTime\": 1730170315803,\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"BUY\",\n \"quantity\": \"1.2\",\n \"price\": \"2.8\"\n }\n ]\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_options_api(\n \"get\", \"block/order/orders\", signed=True, data=params\n )\n\n def options_accept_block_trade_order(self, **params):\n \"\"\"Accept Block Trade Order (TRADE)\n\n Accept a block trade order.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Accept-Block-Trade-Order\n\n :param blockOrderMatchingKey: required - Block Order Matching Key\n :type blockOrderMatchingKey: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"blockTradeSettlementKey\": \"7d046e6e-a429-4335-ab9d-6a681febcde5\",\n \"expireTime\": 1730172115801,\n \"liquidity\": \"MAKER\",\n \"status\": \"ACCEPTED\",\n \"createTime\": 1730170315803,\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"SELL\",\n \"quantity\": \"1.2\",\n \"price\": \"2.8\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_options_api(\n \"post\", \"block/order/execute\", signed=True, data=params\n )\n\n def options_get_block_trade_order(self, **params):\n \"\"\"Query Block Trade Details (USER_DATA)\n\n Query block trade details; returns block trade details from counterparty's perspective.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Query-Block-Trade-Detail\n\n :param blockOrderMatchingKey: required - Block Order Matching Key\n :type blockOrderMatchingKey: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"blockTradeSettlementKey\": \"12b96c28-ba05-8906-c89t-703215cfb2e6\",\n \"expireTime\": 1730171860460,\n \"liquidity\": \"MAKER\",\n \"status\": \"RECEIVED\",\n \"createTime\": 1730170060462,\n \"legs\": [\n {\n \"symbol\": \"BNB-241101-700-C\",\n \"side\": \"SELL\",\n \"quantity\": \"1.66\",\n \"price\": \"20\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_options_api(\n \"get\", \"block/order/execute\", signed=True, data=params\n )\n\n def options_account_get_block_trades(self, **params):\n \"\"\"Account Block Trade List (USER_DATA)\n\n Gets block trades for a specific account.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-block-trade/Account-Block-Trade-List\n\n :param endTime: optional\n :type endTime: int\n :param startTime: optional\n :type startTime: int\n :param underlying: optional\n :type underlying: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"parentOrderId\": \"4675011431944499201\",\n \"crossType\": \"USER_BLOCK\",\n \"legs\": [\n {\n \"createTime\": 1730170445600,\n \"updateTime\": 1730170445600,\n \"symbol\": \"BNB-241101-700-C\",\n \"orderId\": \"4675011431944499203\",\n \"orderPrice\": 2.8,\n \"orderQuantity\": 1.2,\n \"orderStatus\": \"FILLED\",\n \"executedQty\": 1.2,\n \"executedAmount\": 3.36,\n \"fee\": 0.336,\n \"orderType\": \"PREV_QUOTED\",\n \"orderSide\": \"BUY\",\n \"id\": \"1125899906900937837\",\n \"tradeId\": 1,\n \"tradePrice\": 2.8,\n \"tradeQty\": 1.2,\n \"tradeTime\": 1730170445600,\n \"liquidity\": \"TAKER\",\n \"commission\": 0.336\n }\n ],\n \"blockTradeSettlementKey\": \"7d085e6e-a229-2335-ab9d-6a581febcd25\"\n }\n ]\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._request_options_api(\n \"get\", \"block/user-trades\", signed=True, data=params\n )\n\n # Fiat Endpoints\n\n def get_fiat_deposit_withdraw_history(self, **params):\n \"\"\"Get Fiat Deposit/Withdraw History\n\n https://binance-docs.github.io/apidocs/spot/en/#get-fiat-deposit-withdraw-history-user_data\n\n :param transactionType: required - 0-deposit,1-withdraw\n :type transactionType: str\n :param beginTime: optional\n :type beginTime: int\n :param endTime: optional\n :type endTime: int\n :param page: optional - default 1\n :type page: int\n :param rows: optional - default 100, max 500\n :type rows: int\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_margin_api(\"get\", \"fiat/orders\", signed=True, data=params)\n\n def get_fiat_payments_history(self, **params):\n \"\"\"Get Fiat Payments History\n\n https://binance-docs.github.io/apidocs/spot/en/#get-fiat-payments-history-user_data\n\n :param transactionType: required - 0-buy,1-sell\n :type transactionType: str\n :param beginTime: optional\n :type beginTime: int\n :param endTime: optional\n :type endTime: int\n :param page: optional - default 1\n :type page: int\n :param rows: optional - default 100, max 500\n :type rows: int\n :param recvWindow: optional\n :type recvWindow: int\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"fiat/payments\", signed=True, data=params\n )\n\n # C2C Endpoints\n\n def get_c2c_trade_history(self, **params):\n \"\"\"Get C2C Trade History\n\n https://binance-docs.github.io/apidocs/spot/en/#get-c2c-trade-history-user_data\n\n :param tradeType: required - BUY, SELL\n :type tradeType: str\n :param startTimestamp: optional\n :type startTime: int\n :param endTimestamp: optional\n :type endTimestamp: int\n :param page: optional - default 1\n :type page: int\n :param rows: optional - default 100, max 100\n :type rows: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": [\n {\n \"orderNumber\":\"20219644646554779648\",\n \"advNo\": \"11218246497340923904\",\n \"tradeType\": \"SELL\",\n \"asset\": \"BUSD\",\n \"fiat\": \"CNY\",\n \"fiatSymbol\": \"\uffe5\",\n \"amount\": \"5000.00000000\", // Quantity (in Crypto)\n \"totalPrice\": \"33400.00000000\",\n \"unitPrice\": \"6.68\", // Unit Price (in Fiat)\n \"orderStatus\": \"COMPLETED\", // PENDING, TRADING, BUYER_PAYED, DISTRIBUTING, COMPLETED, IN_APPEAL, CANCELLED, CANCELLED_BY_SYSTEM\n \"createTime\": 1619361369000,\n \"commission\": \"0\", // Transaction Fee (in Crypto)\n \"counterPartNickName\": \"ab***\",\n \"advertisementRole\": \"TAKER\"\n }\n ],\n \"total\": 1,\n \"success\": true\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"c2c/orderMatch/listUserOrderHistory\", signed=True, data=params\n )\n\n # Pay Endpoints\n\n def get_pay_trade_history(self, **params):\n \"\"\"Get C2C Trade History\n\n https://binance-docs.github.io/apidocs/spot/en/#pay-endpoints\n\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional - default 100, max 100\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"pay/transactions\", signed=True, data=params\n )\n\n # Convert Endpoints\n\n def get_convert_trade_history(self, **params):\n \"\"\"Get C2C Trade History\n\n https://developers.binance.com/docs/convert/trade/Get-Convert-Trade-History\n\n :param startTime: required - Start Time - 1593511200000\n :type startTime: int\n :param endTime: required - End Time - 1593511200000\n :type endTime: int\n :param limit: optional - default 100, max 100\n :type limit: int\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"convert/tradeFlow\", signed=True, data=params\n )\n\n def convert_request_quote(self, **params):\n \"\"\"Request a quote for the requested token pairs\n\n https://developers.binance.com/docs/convert/trade\n\n :param fromAsset: required - Asset to convert from - BUSD\n :type fromAsset: str\n :param toAsset: required - Asset to convert to - BTC\n :type toAsset: str\n :param fromAmount: EITHER - When specified, it is the amount you will be debited after the conversion\n :type fromAmount: decimal\n :param toAmount: EITHER - When specified, it is the amount you will be credited after the conversion\n :type toAmount: decimal\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"convert/getQuote\", signed=True, data=params\n )\n\n def convert_accept_quote(self, **params):\n \"\"\"Accept the offered quote by quote ID.\n\n https://developers.binance.com/docs/convert/trade/Accept-Quote\n\n :param quoteId: required - 457235734584567\n :type quoteId: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"convert/acceptQuote\", signed=True, data=params\n )\n\n \"\"\"\n ====================================================================================================================\n PortfolioMargin API\n ====================================================================================================================\n \"\"\"\n\n def papi_get_balance(self, **params):\n \"\"\"Query account balance.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account\n\n :param asset: required\n :type asset: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"balance\", signed=True, data=params)\n\n def papi_get_rate_limit(self, **params):\n \"\"\"Query User Rate Limit\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-User-Rate-Limit\n\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"rateLimit/order\", signed=True, data=params)\n\n def papi_stream_get_listen_key(self):\n \"\"\"Start a new user data stream for Portfolio Margin account.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Start-User-Data-Stream\n\n :returns: API response\n\n {\n \"listenKey\": \"pM_XXXXXXX\"\n }\n\n The stream will close after 60 minutes unless a keepalive is sent.\n If the account has an active listenKey, that listenKey will be returned and its validity will be extended for 60 minutes.\n\n Weight: 1\n\n \"\"\"\n res = self._request_papi_api(\"post\", \"listenKey\", signed=False, data={})\n return res[\"listenKey\"]\n\n def papi_stream_keepalive(self, listenKey):\n \"\"\"Keepalive a user data stream to prevent a time out.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Keepalive-User-Data-Stream\n\n :returns: API response\n\n {}\n\n User data streams will close after 60 minutes. It's recommended to send a ping about every 60 minutes.\n\n Weight: 1\n\n \"\"\"\n params = {\"listenKey\": listenKey}\n return self._request_papi_api(\"put\", \"listenKey\", signed=False, data=params)\n\n def papi_stream_close(self, listenKey):\n \"\"\"Close out a user data stream.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Close-User-Data-Stream\n\n :returns: API response\n\n {}\n\n Weight: 1\n\n \"\"\"\n params = {\"listenKey\": listenKey}\n return self._request_papi_api(\"delete\", \"listenKey\", signed=False, data=params)\n\n def papi_get_account(self, **params):\n \"\"\"Query account information.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Account-Information\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"account\", signed=True, data=params)\n\n def papi_get_margin_max_borrowable(self, **params):\n \"\"\"Query margin max borrow.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Margin-Max-Borrow\n\n :param asset: required\n :type asset: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/maxBorrowable\", signed=True, data=params\n )\n\n def papi_get_margin_max_withdraw(self, **params):\n \"\"\"Query margin max borrow.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-Max-Withdraw\n\n :param asset: required\n :type asset: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/maxWithdraw\", signed=True, data=params\n )\n\n def papi_get_um_position_risk(self, **params):\n \"\"\"Query margin max borrow.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-UM-Position-Information\n\n :param symbol: required\n :type symbol: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/positionRisk\", signed=True, data=params\n )\n\n def papi_get_cm_position_risk(self, **params):\n \"\"\"Query margin max borrow.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-CM-Position-Information\n\n :param asset: required\n :type asset: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/positionRisk\", signed=True, data=params\n )\n\n def papi_set_um_leverage(self, **params):\n \"\"\"Query margin max borrow.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-UM-Initial-Leverage\n\n :param asset: required\n :type asset: str\n\n :param leverage: required\n :type leverage: int\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"post\", \"um/leverage\", signed=True, data=params)\n\n def papi_set_cm_leverage(self, **params):\n \"\"\"Query margin max borrow.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-CM-Initial-Leverage\n\n :param asset: required\n :type asset: str\n\n :param leverage: required\n :type leverage: int\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"post\", \"cm/leverage\", signed=True, data=params)\n\n def papi_change_um_position_side_dual(self, **params):\n \"\"\"Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-UM-Position-Mode\n\n :param dualSidePosition: required\n :type dualSidePosition: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"um/positionSide/dual\", signed=True, data=params\n )\n\n def papi_change_cm_position_side_dual(self, **params):\n \"\"\"Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-CM-Position-Mode\n\n :param dualSidePosition: required\n :type dualSidePosition: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"cm/positionSide/dual\", signed=True, data=params\n )\n\n def papi_get_um_position_side_dual(self, **params):\n \"\"\"Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Current-Position-Mode\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/positionSide/dual\", signed=True, data=params\n )\n\n def papi_get_cm_position_side_dual(self, **params):\n \"\"\"Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Current-Position-Mode\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/positionSide/dual\", signed=True, data=params\n )\n\n def papi_get_um_leverage_bracket(self, **params):\n \"\"\"Query UM notional and leverage brackets.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/UM-Notional-and-Leverage-Brackets\n\n :param symbol: optional\n :type symbol: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/leverageBracket\", signed=True, data=params\n )\n\n def papi_get_cm_leverage_bracket(self, **params):\n \"\"\"Query CM notional and leverage brackets.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/CM-Notional-and-Leverage-Brackets\n\n :param symbol: optional\n :type symbol: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/leverageBracket\", signed=True, data=params\n )\n\n def papi_get_um_api_trading_status(self, **params):\n \"\"\"Portfolio Margin UM Trading Quantitative Rules Indicators.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Portfolio-Margin-UM-Trading-Quantitative-Rules-Indicators\n\n :param symbol: optional\n :type symbol: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/apiTradingStatus\", signed=True, data=params\n )\n\n def papi_get_um_comission_rate(self, **params):\n \"\"\"Get User Commission Rate for UM.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-User-Commission-Rate-for-UM\n\n :param symbol: required\n :type symbol: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/commissionRate\", signed=True, data=params\n )\n\n def papi_get_cm_comission_rate(self, **params):\n \"\"\"Get User Commission Rate for CM.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-User-Commission-Rate-for-CM\n\n :param symbol: required\n :type symbol: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/commissionRate\", signed=True, data=params\n )\n\n def papi_get_margin_margin_loan(self, **params):\n \"\"\"Query margin loan record.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-Loan-Record\n\n :param asset: required\n :type asset: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/marginLoan\", signed=True, data=params\n )\n\n def papi_get_margin_repay_loan(self, **params):\n \"\"\"Query margin repay record.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-repay-Record\n\n :param asset: required\n :type asset: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/repayLoan\", signed=True, data=params\n )\n\n def papi_get_repay_futures_switch(self, **params):\n \"\"\"Query Auto-repay-futures Status.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Auto-repay-futures-Status\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"repay-futures-switch\", signed=True, data=params\n )\n\n def papi_repay_futures_switch(self, **params):\n \"\"\"Change Auto-repay-futures Status.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-Auto-repay-futures-Status\n\n :param autoRepay: required\n :type autoRepay: str\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"repay-futures-switch\", signed=True, data=params\n )\n\n def papi_get_margin_interest_history(self, **params):\n \"\"\"Get Margin Borrow/Loan Interest History.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Margin-BorrowLoan-Interest-History\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/marginInterestHistory\", signed=True, data=params\n )\n\n def papi_repay_futures_negative_balance(self, **params):\n \"\"\"Repay futures Negative Balance.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Repay-futures-Negative-Balance\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"repay-futures-negative-balance\", signed=True, data=params\n )\n\n def papi_get_portfolio_interest_history(self, **params):\n \"\"\"Query interest history of negative balance for portfolio margin.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Portfolio-Margin-Negative-Balance-Interest-History\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"portfolio/interest-history\", signed=True, data=params\n )\n\n\n def papi_get_portfolio_negative_balance_exchange_record(self, **params):\n \"\"\"Query user negative balance auto exchange record.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-User-Negative-Balance-Auto-Exchange-Record\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"portfolio/negative-balance-exchange-record\", signed=True, data=params\n )\n\n def papi_fund_auto_collection(self, **params):\n \"\"\"Fund collection for Portfolio Margin.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Fund-Auto-collection\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"auto-collection\", signed=True, data=params\n )\n\n def papi_fund_asset_collection(self, **params):\n \"\"\"Transfers specific asset from Futures Account to Margin account.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Fund-Collection-by-Asset\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"asset-collection\", signed=True, data=params\n )\n\n def papi_bnb_transfer(self, **params):\n \"\"\"Transfer BNB in and out of UM.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/BNB-transfer\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"post\", \"bnb-transfer\", signed=True, data=params)\n\n def papi_get_um_income_history(self, **params):\n \"\"\"Get UM Income History.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Income-History\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/income\", signed=True, data=params)\n\n def papi_get_cm_income_history(self, **params):\n \"\"\"Get CM Income History.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Income-History\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/income\", signed=True, data=params)\n\n def papi_get_um_account(self, **params):\n \"\"\"Get current UM account asset and position information.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Account-Detail\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/account\", signed=True, data=params)\n\n def papi_get_um_account_v2(self, **params):\n \"\"\"Get current UM account asset and position information.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Account-Detail-V2\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/account\", version=2, signed=True, data=params\n )\n\n def papi_get_cm_account(self, **params):\n \"\"\"Get current CM account asset and position information.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Account-Detail\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/account\", signed=True, data=params)\n\n def papi_get_um_account_config(self, **params):\n \"\"\"Query UM Futures account configuration.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Account-Config\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/accountConfig\", signed=True, data=params\n )\n\n def papi_get_um_symbol_config(self, **params):\n \"\"\"Get current UM account symbol configuration.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Symbol-Config\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/symbolConfig\", signed=True, data=params\n )\n\n def papi_get_um_trade_asyn(self, **params):\n \"\"\"Get download id for UM futures trade history.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Trade-History\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/trade/asyn\", signed=True, data=params)\n\n def papi_get_um_trade_asyn_id(self, **params):\n \"\"\"Get UM futures trade download link by Id.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Trade-Download-Link-by-Id\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/trade/asyn/id\", signed=True, data=params\n )\n\n def papi_get_um_order_asyn(self, **params):\n \"\"\"Get download id for UM futures order history.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Order-History\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/order/asyn\", signed=True, data=params)\n\n def papi_get_um_order_asyn_id(self, **params):\n \"\"\"Get UM futures order download link by Id.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Order-Download-Link-by-Id\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/order/asyn/id\", signed=True, data=params\n )\n\n def papi_get_um_income_asyn(self, **params):\n \"\"\"Get download id for UM futures transaction history.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Transaction-History\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/income/asyn\", signed=True, data=params)\n\n def papi_get_um_income_asyn_id(self, **params):\n \"\"\"Get UM futures Transaction download link by Id.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Transaction-Download-Link-by-Id\n\n :param recvWindow: optional\n :type recvWindow: int\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/income/asyn/id\", signed=True, data=params\n )\n\n # Public papi endpoints\n\n def papi_ping(self, **params):\n \"\"\"Test connectivity to the Rest API.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/market-data\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"ping\", signed=False, data=params)\n\n # Trade papi endpoints\n\n def papi_create_um_order(self, **params):\n \"\"\"Place new UM order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_papi_api(\"post\", \"um/order\", signed=True, data=params)\n\n def papi_create_um_conditional_order(self, **params):\n \"\"\"Place new UM Conditional order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_papi_api(\n \"post\", \"um/conditional/order\", signed=True, data=params\n )\n\n def papi_create_cm_order(self, **params):\n \"\"\"Place new CM order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_papi_api(\"post\", \"cm/order\", signed=True, data=params)\n\n def papi_create_cm_conditional_order(self, **params):\n \"\"\"Place new CM Conditional order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_papi_api(\n \"post\", \"cm/conditional/order\", signed=True, data=params\n )\n\n def papi_create_margin_order(self, **params):\n \"\"\"New Margin Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-Margin-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._request_papi_api(\"post\", \"margin/order\", signed=True, data=params)\n\n def papi_margin_loan(self, **params):\n \"\"\"Apply for a margin loan.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Borrow\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"post\", \"marginLoan\", signed=True, data=params)\n\n def papi_repay_loan(self, **params):\n \"\"\"Repay for a margin loan.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"post\", \"repayLoan\", signed=True, data=params)\n\n def papi_margin_order_oco(self, **params):\n \"\"\"Send in a new OCO for a margin account.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-New-OCO\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"margin/order/oco\", signed=True, data=params\n )\n\n def papi_cancel_um_order(self, **params):\n \"\"\"Cancel an active UM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"delete\", \"um/order\", signed=True, data=params)\n\n def papi_cancel_um_all_open_orders(self, **params):\n \"\"\"Cancel an active UM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"um/allOpenOrders\", signed=True, data=params\n )\n\n def papi_cancel_um_conditional_order(self, **params):\n \"\"\"Cancel UM Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"um/conditional/order\", signed=True, data=params\n )\n\n def papi_cancel_um_conditional_all_open_orders(self, **params):\n \"\"\"Cancel All UM Open Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"um/conditional/allOpenOrders\", signed=True, data=params\n )\n\n def papi_cancel_cm_order(self, **params):\n \"\"\"Cancel an active CM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"delete\", \"cm/order\", signed=True, data=params)\n\n def papi_cancel_cm_all_open_orders(self, **params):\n \"\"\"Cancel an active CM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"cm/allOpenOrders\", signed=True, data=params\n )\n\n def papi_cancel_cm_conditional_order(self, **params):\n \"\"\"Cancel CM Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"cm/conditional/order\", signed=True, data=params\n )\n\n def papi_cancel_cm_conditional_all_open_orders(self, **params):\n \"\"\"Cancel All CM Open Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"cm/conditional/allOpenOrders\", signed=True, data=params\n )\n\n def papi_cancel_margin_order(self, **params):\n \"\"\"Cancel Margin Account Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"margin/order\", signed=True, data=params\n )\n\n def papi_cancel_margin_order_list(self, **params):\n \"\"\"Cancel Margin Account OCO Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-OCO-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"margin/orderList\", signed=True, data=params\n )\n\n def papi_cancel_margin_all_open_orders(self, **params):\n \"\"\"Cancel Margin Account All Open Orders on a Symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-All-Open-Orders-on-a-Symbol\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"delete\", \"margin/allOpenOrders\", signed=True, data=params\n )\n\n def papi_modify_um_order(self, **params):\n \"\"\"Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-UM-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"put\", \"um/order\", signed=True, data=params)\n\n def papi_modify_cm_order(self, **params):\n \"\"\"Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-CM-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"put\", \"cm/order\", signed=True, data=params)\n\n def papi_get_um_order(self, **params):\n \"\"\"Check an UM order's status.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/order\", signed=True, data=params)\n\n def papi_get_um_all_orders(self, **params):\n \"\"\"Get all account UM orders; active, canceled, or filled.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/allOrders\", signed=True, data=params)\n\n def papi_get_um_open_order(self, **params):\n \"\"\"Query current UM open order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/openOrder\", signed=True, data=params)\n\n def papi_get_um_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/openOrders\", signed=True, data=params)\n\n def papi_get_um_conditional_all_orders(self, **params):\n \"\"\"Query All UM Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/conditional/allOrders\", signed=True, data=params\n )\n\n def papi_get_um_conditional_open_orders(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/conditional/openOrders\", signed=True, data=params\n )\n\n def papi_get_um_conditional_open_order(self, **params):\n \"\"\"Query Current UM Open Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/conditional/openOrder\", signed=True, data=params\n )\n\n def papi_get_um_conditional_order_history(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Conditional-Order-History\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/conditional/orderHistory\", signed=True, data=params\n )\n\n def papi_get_cm_order(self, **params):\n \"\"\"Check an CM order's status.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/order\", signed=True, data=params)\n\n def papi_get_cm_all_orders(self, **params):\n \"\"\"Get all account CM orders; active, canceled, or filled.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/allOrders\", signed=True, data=params)\n\n def papi_get_cm_open_order(self, **params):\n \"\"\"Query current CM open order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/openOrder\", signed=True, data=params)\n\n def papi_get_cm_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/openOrders\", signed=True, data=params)\n\n def papi_get_cm_conditional_all_orders(self, **params):\n \"\"\"Query All CM Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/conditional/allOrders\", signed=True, data=params\n )\n\n def papi_get_cm_conditional_open_orders(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/conditional/openOrders\", signed=True, data=params\n )\n\n def papi_get_cm_conditional_open_order(self, **params):\n \"\"\"Query Current UM Open Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/conditional/openOrder\", signed=True, data=params\n )\n\n def papi_get_cm_conditional_order_history(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Conditional-Order-History\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/conditional/orderHistory\", signed=True, data=params\n )\n\n def papi_get_um_force_orders(self, **params):\n \"\"\"Query User's UM Force Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-UM-Force-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/forceOrders\", signed=True, data=params)\n\n def papi_get_cm_force_orders(self, **params):\n \"\"\"Query User's CM Force Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-CM-Force-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/forceOrders\", signed=True, data=params)\n\n def papi_get_um_order_amendment(self, **params):\n \"\"\"Get order modification history.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Modify-Order-History\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"um/orderAmendment\", signed=True, data=params\n )\n\n def papi_get_cm_order_amendment(self, **params):\n \"\"\"Get order modification history.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Modify-Order-History\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"cm/orderAmendment\", signed=True, data=params\n )\n\n def papi_get_margin_force_orders(self, **params):\n \"\"\"Query user's margin force orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-Margin-Force-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/forceOrders\", signed=True, data=params\n )\n\n def papi_get_um_user_trades(self, **params):\n \"\"\"Get trades for a specific account and UM symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Account-Trade-List\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/userTrades\", signed=True, data=params)\n\n def papi_get_cm_user_trades(self, **params):\n \"\"\"Get trades for a specific account and CM symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Account-Trade-List\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/userTrades\", signed=True, data=params)\n\n def papi_get_um_adl_quantile(self, **params):\n \"\"\"Query UM Position ADL Quantile Estimation.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Position-ADL-Quantile-Estimation\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/adlQuantile\", signed=True, data=params)\n\n def papi_get_cm_adl_quantile(self, **params):\n \"\"\"Query CM Position ADL Quantile Estimation.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Position-ADL-Quantile-Estimation\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"cm/adlQuantile\", signed=True, data=params)\n\n def papi_set_um_fee_burn(self, **params):\n \"\"\"Change user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off ) on EVERY symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Toggle-BNB-Burn-On-UM-Futures-Trade\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"post\", \"um/feeBurn\", signed=True, data=params)\n\n def papi_get_um_fee_burn(self, **params):\n \"\"\"Get user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off).\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Get-UM-Futures-BNB-Burn-Status\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"um/feeBurn\", signed=True, data=params)\n\n def papi_get_margin_order(self, **params):\n \"\"\"Query Margin Account Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\"get\", \"margin/order\", signed=True, data=params)\n\n def papi_get_margin_open_orders(self, **params):\n \"\"\"Query Current Margin Open Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-Margin-Open-Order\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/openOrders\", signed=True, data=params\n )\n\n def papi_get_margin_all_orders(self, **params):\n \"\"\"Query All Margin Account Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Margin-Account-Orders\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/allOrders\", signed=True, data=params\n )\n\n def papi_get_margin_order_list(self, **params):\n \"\"\"Retrieves a specific OCO based on provided optional parameters.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-OCO\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/orderList\", signed=True, data=params\n )\n\n def papi_get_margin_all_order_list(self, **params):\n \"\"\"Query all OCO for a specific margin account based on provided optional parameters.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-all-OCO\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/allOrderList\", signed=True, data=params\n )\n\n def papi_get_margin_open_order_list(self, **params):\n \"\"\"Query Margin Account's Open OCO.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Open-OCO\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/openOrderList\", signed=True, data=params\n )\n\n def papi_get_margin_my_trades(self, **params):\n \"\"\"Margin Account Trade List.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Trade-List\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"get\", \"margin/myTrades\", signed=True, data=params\n )\n\n def papi_get_margin_repay_debt(self, **params):\n \"\"\"Repay debt for a margin loan.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay-Debt\n\n :returns: API response\n\n \"\"\"\n return self._request_papi_api(\n \"post\", \"margin/repay-debt\", signed=True, data=params\n )\n\n def close_connection(self):\n if self.session:\n self.session.close()\n\n def __del__(self):\n self.close_connection()\n\n ############################################################\n # WebSocket API methods\n ############################################################\n\n def ws_create_test_order(self, **params):\n \"\"\"Test new order creation and signature/recvWindow long. Creates and validates a new order but does not send it into the matching engine.\n https://binance-docs.github.io/apidocs/websocket_api/en/#test-new-order-trade\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param type: required\n :type type: str\n :param timeInForce: required if limit order\n :type timeInForce: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: The number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n .. code-block:: python\n {}\n \"\"\"\n\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n\n return self._ws_api_request_sync(\"order.test\", True, params)\n\n def ws_create_order(self, **params):\n \"\"\"Create an order via WebSocket.\n https://binance-docs.github.io/apidocs/websocket_api/en/#place-new-order-trade\n :param id: The request ID to be used. By default uuid22() is used.\n :param symbol: The symbol to create an order for\n :param side: BUY or SELL\n :param type: Order type (e.g., LIMIT, MARKET)\n :param quantity: The amount to buy or sell\n :param kwargs: Additional order parameters\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n\n return self._ws_api_request_sync(\"order.place\", True, params)\n\n def ws_order_limit(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n \"\"\"Send in a new limit order\n Any order with an icebergQty MUST have timeInForce set to GTC.\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\n \"type\": self.ORDER_TYPE_LIMIT,\n \"timeInForce\": timeInForce,\n })\n return self.ws_create_order(**params)\n\n def ws_order_limit_buy(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n \"\"\"Send in a new limit buy order\n Any order with an icebergQty MUST have timeInForce set to GTC.\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param stopPrice: Used with stop orders\n :type stopPrice: decimal\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\n \"side\": self.SIDE_BUY,\n })\n return self.ws_order_limit(timeInForce=timeInForce, **params)\n\n def ws_order_limit_sell(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n \"\"\"Send in a new limit sell order\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param stopPrice: Used with stop orders\n :type stopPrice: decimal\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"side\": self.SIDE_SELL})\n return self.ws_order_limit(timeInForce=timeInForce, **params)\n\n def ws_order_market(self, **params):\n \"\"\"Send in a new market order\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: amount the user wants to spend (when buying) or receive (when selling)\n of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"type\": self.ORDER_TYPE_MARKET})\n return self.ws_create_order(**params)\n\n def ws_order_market_buy(self, **params):\n \"\"\"Send in a new market buy order\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: the amount the user wants to spend of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"side\": self.SIDE_BUY})\n return self.ws_order_market(**params)\n\n def ws_order_market_sell(self, **params):\n \"\"\"Send in a new market sell order\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: the amount the user wants to receive of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"side\": self.SIDE_SELL})\n return self.ws_order_market(**params)\n\n def ws_get_order(self, **params):\n \"\"\"Check an order's status. Either orderId or origClientOrderId must be sent.\n https://binance-docs.github.io/apidocs/websocket_api/en/#query-order-user_data\n :param symbol: required\n :type symbol: str\n :param orderId: The unique order id\n :type orderId: int\n :param origClientOrderId: optional\n :type origClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n \"\"\"\n return self._ws_api_request_sync(\"order.status\", True, params)\n\n def ws_cancel_order(self, **params):\n \"\"\"Cancel an active order.\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#cancel-order-trade\n\n :param symbol: required - Trading symbol, e.g. 'BTCUSDT'\n :type symbol: str\n :param orderId: optional - The unique order id\n :type orderId: int\n :param origClientOrderId: optional - The original client order id\n :type origClientOrderId: str\n :param newClientOrderId: optional - Used to uniquely identify this cancel. Automatically generated if not sent\n :type newClientOrderId: str\n :param cancelRestrictions: optional - ONLY_NEW - Cancel will succeed if the order status is NEW. ONLY_PARTIALLY_FILLED - Cancel will succeed if order status is PARTIALLY_FILLED.\n :type cancelRestrictions: str\n :param recvWindow: optional - The number of milliseconds the request is valid for\n :type recvWindow: int\n\n Either orderId or origClientOrderId must be sent.\n\n Weight: 1\n\n Returns:\n .. code-block:: python\n {\n \"id\": \"5633b6a2-90a9-4192-83e7-925c90b6a2fd\",\n \"method\": \"order.cancel\",\n \"params\": {\n \"symbol\": \"BTCUSDT\",\n \"origClientOrderId\": \"4d96324ff9d44481926157\",\n \"apiKey\": \"vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A\",\n \"signature\": \"33d5b721f278ae17a52f004a82a6f68a70c68e7dd6776ed0be77a455ab855282\",\n \"timestamp\": 1660801715830\n }\n }\n \"\"\"\n return self._ws_api_request_sync(\"order.cancel\", True, params)\n\n def ws_cancel_and_replace_order(self, **params):\n \"\"\"Cancels an existing order and places a new order on the same symbol.\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#cancel-and-replace-order-trade\n\n :param symbol: required - Trading symbol, e.g. 'BTCUSDT'\n :type symbol: str\n :param cancelReplaceMode: required - The mode of cancel-replace: STOP_ON_FAILURE - If the cancel request fails, new order placement will not be attempted. ALLOW_FAILURE - New order placement will be attempted even if cancel request fails\n :type cancelReplaceMode: str\n :param cancelOrderId: optional - The order ID to cancel\n :type cancelOrderId: int\n :param cancelOrigClientOrderId: optional - The original client order ID to cancel\n :type cancelOrigClientOrderId: str\n :param cancelNewClientOrderId: optional - Used to uniquely identify this cancel. Automatically generated if not sent\n :type cancelNewClientOrderId: str\n :param side: required - BUY or SELL\n :type side: str\n :param type: required - Order type, e.g. LIMIT, MARKET\n :type type: str\n :param timeInForce: optional - GTC, IOC, FOK\n :type timeInForce: str\n :param price: optional - Order price\n :type price: str\n :param quantity: optional - Order quantity\n :type quantity: str\n :param quoteOrderQty: optional - Quote quantity\n :type quoteOrderQty: str\n :param newClientOrderId: optional - Used to uniquely identify this new order\n :type newClientOrderId: str\n :param newOrderRespType: optional - ACK, RESULT, or FULL\n :type newOrderRespType: str\n :param stopPrice: optional - Used with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders\n :type stopPrice: str\n :param trailingDelta: optional - Used with TAKE_PROFIT, TAKE_PROFIT_LIMIT, STOP_LOSS, STOP_LOSS_LIMIT orders\n :type trailingDelta: int\n :param icebergQty: optional - Used with iceberg orders\n :type icebergQty: str\n :param strategyId: optional - Arbitrary numeric value identifying the order within an order strategy\n :type strategyId: int\n :param strategyType: optional - Arbitrary numeric value identifying the order strategy\n :type strategyType: int\n :param selfTradePreventionMode: optional - The allowed enums is dependent on what is configured on the symbol\n :type selfTradePreventionMode: str\n :param cancelRestrictions: optional - ONLY_NEW - Cancel will succeed if order status is NEW. ONLY_PARTIALLY_FILLED - Cancel will succeed if order status is PARTIALLY_FILLED\n :type cancelRestrictions: str\n :param recvWindow: optional - The number of milliseconds the request is valid for\n :type recvWindow: int\n\n Either cancelOrderId or cancelOrigClientOrderId must be provided.\n Price is required for LIMIT orders.\n Either quantity or quoteOrderQty must be provided.\n\n Weight: 1\n\n Returns:\n .. code-block:: python\n {\n \"id\": \"99de6b92-0eda-4154-9c8d-a51d93c6f92e\",\n \"status\": 200,\n \"result\": {\n \"cancelResult\": \"SUCCESS\",\n \"newOrderResult\": \"SUCCESS\",\n \"cancelResponse\": {\n \"symbol\": \"BTCUSDT\",\n \"origClientOrderId\": \"4d96324ff9d44481926157\",\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"clientOrderId\": \"91fe37ce9e69c90d6358c0\",\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00001000\",\n \"cummulativeQuoteQty\": \"0.23416100\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"selfTradePreventionMode\": \"NONE\"\n },\n \"newOrderResponse\": {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099454,\n \"orderListId\": -1,\n \"clientOrderId\": \"bX5wROblo6YeDwa9iTLeyY\",\n \"transactTime\": 1660801715639\n }\n }\n }\n \"\"\"\n return self._ws_api_request_sync(\"order.cancelReplace\", True, params)\n\n def ws_get_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol or all symbols.\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#current-open-orders-user_data\n\n :param symbol: optional - Symbol to get open orders for\n :type symbol: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response\n\n Response format:\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"clientOrderId\": \"4d96324ff9d44481926157\",\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00720000\",\n \"cummulativeQuoteQty\": \"168.59532000\",\n \"status\": \"PARTIALLY_FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.00000000\",\n \"icebergQty\": \"0.00000000\",\n \"time\": 1660801715639,\n \"updateTime\": 1660801717945,\n \"isWorking\": true,\n \"workingTime\": 1660801715639,\n \"origQuoteOrderQty\": \"0.00000000\",\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n\n Weight: Adjusted based on parameters:\n - With symbol: 6\n - Without symbol: 12\n \"\"\"\n return self._ws_api_request_sync(\"openOrders.status\", True, params)\n\n def ws_cancel_all_open_orders(self, **params):\n \"\"\"Cancel all open orders on a symbol or all symbols.\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#cancel-open-orders-trade\n\n :param symbol: optional - Symbol to cancel orders for\n :type symbol: str\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: Websocket message\n\n Response format:\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"origClientOrderId\": \"4d96324ff9d44481926157\",\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"clientOrderId\": \"91fe37ce9e69c90d6358c0\",\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00847000\",\n \"cummulativeQuoteQty\": \"198.33521500\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.00000000\",\n \"trailingDelta\": 0,\n \"trailingTime\": -1,\n \"icebergQty\": \"0.00000000\",\n \"strategyId\": 37463720,\n \"strategyType\": 1000000,\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n\n Weight: 1\n \"\"\"\n return self._ws_api_request_sync(\"openOrders.cancelAll\", True, params)\n\n def ws_create_oco_order(self, **params):\n \"\"\"Create a new OCO (One-Cancels-the-Other) order.\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#place-new-order-list---oco-trade\n\n :param symbol: required - Trading symbol\n :type symbol: str\n :param side: required - BUY or SELL\n :type side: str\n :param quantity: required - Order quantity\n :type quantity: decimal\n :param price: required - Order price for limit leg\n :type price: decimal\n :param stopPrice: required - Stop trigger price for stop leg\n :type stopPrice: decimal\n :param stopLimitPrice: optional - Stop limit price for stop leg\n :type stopLimitPrice: decimal\n :param stopLimitTimeInForce: optional - Time in force for stop leg\n :type stopLimitTimeInForce: str\n :param listClientOrderId: optional - Unique ID for the entire orderList\n :type listClientOrderId: str\n :param limitClientOrderId: optional - Unique ID for the limit order\n :type limitClientOrderId: str\n :param stopClientOrderId: optional - Unique ID for the stop order\n :type stopClientOrderId: str\n :param limitStrategyId: optional - Arbitrary numeric value identifying the limit order within an order strategy\n :type limitStrategyId: int\n :param limitStrategyType: optional - Arbitrary numeric value identifying the limit order strategy\n :type limitStrategyType: int\n :param stopStrategyId: optional - Arbitrary numeric value identifying the stop order within an order strategy\n :type stopStrategyId: int\n :param stopStrategyType: optional - Arbitrary numeric value identifying the stop order strategy\n :type stopStrategyType: int\n :param limitIcebergQty: optional - Iceberg quantity for the limit leg\n :type limitIcebergQty: decimal\n :param stopIcebergQty: optional - Iceberg quantity for the stop leg\n :type stopIcebergQty: decimal\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: Websocket message\n\n Response format:\n .. code-block:: python\n {\n \"id\": \"56374a46-3261-486b-a211-99ed972eb648\",\n \"status\": 200,\n \"result\":\n {\n \"orderListId\": 2,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"cKPMnDCbcLQILtDYM4f4fX\",\n \"transactionTime\": 1711062760648,\n \"symbol\": \"LTCBNB\",\n \"orders\":\n [\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 2,\n \"clientOrderId\": \"0m6I4wfxvTUrOBSMUl0OPU\"\n },\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 3,\n \"clientOrderId\": \"Z2IMlR79XNY5LU0tOxrWyW\"\n }\n ],\n \"orderReports\":\n [\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 2,\n \"orderListId\": 2,\n \"clientOrderId\": \"0m6I4wfxvTUrOBSMUl0OPU\",\n \"transactTime\": 1711062760648,\n \"price\": \"1.50000000\",\n \"origQty\": \"1.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS_LIMIT\",\n \"side\": \"BUY\",\n \"stopPrice\": \"1.50000001\",\n \"workingTime\": -1,\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 3,\n \"orderListId\": 2,\n \"clientOrderId\": \"Z2IMlR79XNY5LU0tOxrWyW\",\n \"transactTime\": 1711062760648,\n \"price\": \"1.49999999\",\n \"origQty\": \"1.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"BUY\",\n \"workingTime\": 1711062760648,\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n },\n \"rateLimits\":\n [\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"intervalNum\": 10,\n \"limit\": 50,\n \"count\": 2\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"intervalNum\": 1,\n \"limit\": 160000,\n \"count\": 2\n },\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n Weight: 2\n \"\"\"\n return self._ws_api_request_sync(\"orderList.place.oco\", True, params)\n\n def ws_create_oto_order(self, **params):\n \"\"\"Create a new OTO (One-Triggers-Other) order list.\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#place-new-order-list---oto-trade\n\n An OTO order list consists of two orders:\n 1. Primary order that must be filled first\n 2. Secondary order that is placed only after the primary order is filled\n\n :param symbol: required - Trading symbol\n :type symbol: str\n :param orders: required - Array of order objects containing:\n [\n { # Primary order\n \"type\": required - Order type (e.g. LIMIT, MARKET),\n \"side\": required - BUY or SELL,\n \"price\": required for LIMIT orders,\n \"quantity\": required - Order quantity,\n \"timeInForce\": required for LIMIT orders,\n \"icebergQty\": optional,\n \"strategyId\": optional,\n \"strategyType\": optional,\n \"selfTradePreventionMode\": optional\n },\n { # Secondary order - same parameters as primary\n ...\n }\n ]\n :type orders: list\n :param listClientOrderId: optional - Unique ID for the entire order list\n :type listClientOrderId: str\n :param limitClientOrderId: optional - Client order ID for the LIMIT leg\n :type limitClientOrderId: str\n :param limitStrategyId: optional - Strategy ID for the LIMIT leg\n :type limitStrategyId: int\n :param limitStrategyType: optional - Strategy type for the LIMIT leg\n :type limitStrategyType: int\n :param stopClientOrderId: optional - Client order ID for the STOP_LOSS/STOP_LOSS_LIMIT leg\n :type stopClientOrderId: str\n :param stopStrategyId: optional - Strategy ID for the STOP_LOSS/STOP_LOSS_LIMIT leg\n :type stopStrategyId: int\n :param stopStrategyType: optional - Strategy type for the STOP_LOSS/STOP_LOSS_LIMIT leg\n :type stopStrategyType: int\n :param newOrderRespType: optional - Set the response JSON\n :type newOrderRespType: str\n\n Response example:\n .. code-block:: python\n {\n \"id\": \"c5899911-d3f4-47ae-8835-97da553d27d0\",\n \"status\": 200,\n \"result\": {\n \"orderListId\": 1,\n \"contingencyType\": \"OTO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"C3wyRVh3aqKyI2RpBZYmFz\",\n \"transactionTime\": 1669632210676,\n \"symbol\": \"BTCUSDT\",\n \"orders\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099453,\n \"clientOrderId\": \"bX5wROblo6YeDwa9iTLeyY\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099454,\n \"clientOrderId\": \"Tnu2IP0J5Y4mxw3IxZYeFi\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099453,\n \"orderListId\": 1,\n \"clientOrderId\": \"bX5wROblo6YeDwa9iTLeyY\",\n \"transactTime\": 1669632210676,\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00847000\",\n \"cummulativeQuoteQty\": \"198.33521500\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.00000000\",\n \"workingTime\": 1669632210676,\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099454,\n \"orderListId\": 1,\n \"clientOrderId\": \"Tnu2IP0J5Y4mxw3IxZYeFi\",\n \"transactTime\": 1669632210676,\n \"price\": \"0.00000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"MARKET\",\n \"side\": \"BUY\",\n \"stopPrice\": \"0.00000000\",\n \"workingTime\": -1,\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"intervalNum\": 10,\n \"limit\": 50,\n \"count\": 1\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"intervalNum\": 1,\n \"limit\": 160000,\n \"count\": 1\n },\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n Weight: 1\n \"\"\"\n return self._ws_api_request_sync(\"orderList.place.oto\", True, params)\n\n def ws_create_otoco_order(self, **params):\n \"\"\"\n\n Returns: Websocket message\n .. code-block:: python\n {\n \"id\": \"1712544408508\",\n \"status\": 200,\n \"result\": {\n \"orderListId\": 629,\n \"contingencyType\": \"OTO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"GaeJHjZPasPItFj4x7Mqm6\",\n \"transactionTime\": 1712544408537,\n \"symbol\": \"1712544378871\",\n \"orders\": [\n {\n \"symbol\": \"1712544378871\",\n \"orderId\": 23,\n \"clientOrderId\": \"OVQOpKwfmPCfaBTD0n7e7H\"\n },\n {\n \"symbol\": \"1712544378871\",\n \"orderId\": 24,\n \"clientOrderId\": \"YcCPKCDMQIjNvLtNswt82X\"\n },\n {\n \"symbol\": \"1712544378871\",\n \"orderId\": 25,\n \"clientOrderId\": \"ilpIoShcFZ1ZGgSASKxMPt\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 23,\n \"orderListId\": 629,\n \"clientOrderId\": \"OVQOpKwfmPCfaBTD0n7e7H\",\n \"transactTime\": 1712544408537,\n \"price\": \"1.500000\",\n \"origQty\": \"1.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"workingTime\": 1712544408537,\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 24,\n \"orderListId\": 629,\n \"clientOrderId\": \"YcCPKCDMQIjNvLtNswt82X\",\n \"transactTime\": 1712544408537,\n \"price\": \"0.000000\",\n \"origQty\": \"5.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"PENDING_NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.500000\",\n \"workingTime\": -1,\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"LTCBNB\",\n \"orderId\": 25,\n \"orderListId\": 629,\n \"clientOrderId\": \"ilpIoShcFZ1ZGgSASKxMPt\",\n \"transactTime\": 1712544408537,\n \"price\": \"5.000000\",\n \"origQty\": \"5.000000\",\n \"executedQty\": \"0.000000\",\n \"origQuoteOrderQty\": \"0.000000\",\n \"cummulativeQuoteQty\": \"0.000000\",\n \"status\": \"PENDING_NEW\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"SELL\",\n \"workingTime\": -1,\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 10000000,\n \"count\": 18\n },\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 1000,\n \"count\": 65\n }\n ]\n }\n\n Weight: 1\n \"\"\"\n return self._ws_api_request_sync(\"orderList.place.otoco\", True, params)\n\n def ws_get_oco_order(self, **params):\n \"\"\"Query information about a specific OCO order list.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#query-order-list-user_data\n\n :param orderListId: int - The identifier for the OCO order list (optional)\n :param origClientOrderId: str - The client-specified OCO order list ID (optional)\n\n :returns: API response containing OCO order list information including:\n .. code-block:: python\n {\n \"id\": \"b53fd5ff-82c7-4a04-bd64-5f9dc42c2100\",\n \"status\": 200,\n \"result\": {\n \"orderListId\": 1274512,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"08985fedd9ea2cf6b28996\",\n \"transactionTime\": 1660801713793,\n \"symbol\": \"BTCUSDT\",\n \"orders\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138901,\n \"clientOrderId\": \"BqtFCj5odMoWtSqGk2X9tU\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138902,\n \"clientOrderId\": \"jLnZpj5enfMXTuhKB1d0us\"\n }\n ]\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 4\n }\n ]\n }\n\n Notes:\n - Either orderListId or origClientOrderId must be provided\n - Weight: 4\n - Data Source: Database\n\n \"\"\"\n return self._ws_api_request_sync(\"orderList.status\", True, params)\n\n def ws_cancel_oco_order(self, **params):\n \"\"\"Cancel an OCO (One-Cancels-the-Other) order list.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#cancel-order-list-trade\n\n :param symbol: required - Trading symbol\n :type symbol: str\n :param orderListId: optional - The ID of the OCO order list to cancel\n :type orderListId: int\n :param listClientOrderId: optional - The client-specified ID of the OCO order list\n :type listClientOrderId: str\n :param newClientOrderId: optional - Client ID to identify the cancel request\n :type newClientOrderId: str\n :param apiKey: required - Your API key\n :type apiKey: str\n :param recvWindow: optional - Number of milliseconds the request is valid for\n :type recvWindow: int\n :param signature: required - HMAC SHA256 signature\n :type signature: str\n :param timestamp: required - Current timestamp in milliseconds\n :type timestamp: int\n\n **Notes**:\n - Either orderListId or listClientOrderId must be provided\n - newClientOrderId will be auto-generated if not provided\n\n Response example:\n .. code-block:: python\n {\n \"id\": \"c5899911-d3f4-47ae-8835-97da553d27d0\",\n \"status\": 200,\n \"result\": {\n \"orderListId\": 1274512,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"ALL_DONE\",\n \"listOrderStatus\": \"ALL_DONE\",\n \"listClientOrderId\": \"6023531d7edaad348f5aff\",\n \"transactionTime\": 1660801720215,\n \"symbol\": \"BTCUSDT\",\n \"orders\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138901,\n \"clientOrderId\": \"BqtFCj5odMoWtSqGk2X9tU\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138902,\n \"clientOrderId\": \"jLnZpj5enfMXTuhKB1d0us\"\n }\n ],\n \"orderReports\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138901,\n \"orderListId\": 1274512,\n \"clientOrderId\": \"BqtFCj5odMoWtSqGk2X9tU\",\n \"transactTime\": 1660801720215,\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"STOP_LOSS_LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"23416.10000000\",\n \"selfTradePreventionMode\": \"NONE\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138902,\n \"orderListId\": 1274512,\n \"clientOrderId\": \"jLnZpj5enfMXTuhKB1d0us\",\n \"transactTime\": 1660801720215,\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00000000\",\n \"cummulativeQuoteQty\": \"0.00000000\",\n \"status\": \"CANCELED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT_MAKER\",\n \"side\": \"SELL\",\n \"selfTradePreventionMode\": \"NONE\"\n }\n ]\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n \"\"\"\n return self._ws_api_request_sync(\"orderList.cancel\", True, params)\n\n def ws_get_oco_open_orders(self, **params):\n \"\"\"Query current open OCO (One-Cancels-the-Other) order lists.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#current-open-order-lists-user_data\n\n :param recvWindow: optional - Number of milliseconds after timestamp the request is valid for. Default 5000, max 60000\n :type recvWindow: int\n :param apiKey: required - Your API key\n :type apiKey: str\n :param signature: required - HMAC SHA256 signature\n :type signature: str\n :param timestamp: required - Current timestamp in milliseconds\n :type timestamp: int\n\n :returns: API response in JSON format with open OCO orders\n\n {\n \"id\": \"c5899911-d3f5-47b3-9b67-4c1342f2a7e1\",\n \"status\": 200,\n \"result\": [\n {\n \"orderListId\": 1274512,\n \"contingencyType\": \"OCO\",\n \"listStatusType\": \"EXEC_STARTED\",\n \"listOrderStatus\": \"EXECUTING\",\n \"listClientOrderId\": \"08985fedd9ea2cf6b28996\",\n \"transactionTime\": 1660801713793,\n \"symbol\": \"BTCUSDT\",\n \"orders\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138901,\n \"clientOrderId\": \"BqtFCj5odMoWtSqGk2X9tU\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569138902,\n \"clientOrderId\": \"jLnZpj5enfMXTuhKB1d0us\"\n }\n ]\n }\n ],\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 10\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Weight: 10\n Data Source: Memory\n \"\"\"\n return self._ws_api_request_sync(\"openOrderLists.status\", True, params)\n\n def ws_create_sor_order(self, **params):\n \"\"\"Place a new order using Smart Order Routing (SOR).\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#place-new-order-using-sor-trade\n\n :param symbol: required - Trading symbol, e.g. BTCUSDT\n :type symbol: str\n :param side: required - Order side: BUY or SELL\n :type side: str\n :param type: required - Order type: LIMIT or MARKET\n :type type: str\n :param quantity: required - Order quantity\n :type quantity: float\n :param timeInForce: required for LIMIT orders - Time in force: GTC, IOC, FOK\n :type timeInForce: str\n :param price: required for LIMIT orders - Order price\n :type price: float\n :param newClientOrderId: optional - Unique order ID. Automatically generated if not sent\n :type newClientOrderId: str\n :param newOrderRespType: optional - Response format: ACK, RESULT, FULL. MARKET and LIMIT orders use FULL by default\n :type newOrderRespType: str\n :param strategyId: optional - Arbitrary numeric value identifying the order within an order strategy\n :type strategyId: int\n :param strategyType: optional - Arbitrary numeric value identifying the order strategy. Values < 1000000 are reserved\n :type strategyType: int\n :param selfTradePreventionMode: optional - Supported values depend on exchange configuration: EXPIRE_TAKER, EXPIRE_MAKER, EXPIRE_BOTH, NONE\n :type selfTradePreventionMode: str\n :param recvWindow: optional - Number of milliseconds after timestamp the request is valid for. Default 5000, max 60000\n :type recvWindow: int\n\n :returns: Websocket message\n\n .. code-block:: python\n {\n \"id\": \"3a4437e2-41a3-4c19-897c-9cadc5dce8b6\",\n \"status\": 200,\n \"result\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 2,\n \"orderListId\": -1,\n \"clientOrderId\": \"sBI1KM6nNtOfj5tccZSKly\",\n \"transactTime\": 1689149087774,\n \"price\": \"31000.00000000\",\n \"origQty\": \"0.50000000\",\n \"executedQty\": \"0.50000000\",\n \"cummulativeQuoteQty\": \"14000.00000000\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"BUY\",\n \"workingTime\": 1689149087774,\n \"fills\": [\n {\n \"matchType\": \"ONE_PARTY_TRADE_REPORT\",\n \"price\": \"28000.00000000\",\n \"qty\": \"0.50000000\",\n \"commission\": \"0.00000000\",\n \"commissionAsset\": \"BTC\",\n \"tradeId\": -1,\n \"allocId\": 0\n }\n ],\n \"workingFloor\": \"SOR\",\n \"selfTradePreventionMode\": \"NONE\",\n \"usedSor\": true\n }\n ],\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n Notes:\n - SOR only supports LIMIT and MARKET orders\n - quoteOrderQty is not supported\n - Weight: 1\n - Data Source: Matching Engine\n \"\"\"\n return self._ws_api_request_sync(\"sor.order.place\", True, params)\n\n def ws_create_test_sor_order(self, **params):\n \"\"\"Test new order creation using Smart Order Routing (SOR).\n Creates and validates a new order but does not send it into the matching engine.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#test-new-order-using-sor-trade\n\n :param symbol: required - Trading symbol, e.g. BTCUSDT\n :type symbol: str\n :param side: required - Order side: BUY or SELL\n :type side: str\n :param type: required - Order type: LIMIT or MARKET\n :type type: str\n :param quantity: required - Order quantity\n :type quantity: float\n :param timeInForce: required for LIMIT orders - Time in force: GTC, IOC, FOK\n :type timeInForce: str\n :param price: required for LIMIT orders - Order price\n :type price: float\n :param newClientOrderId: optional - Unique order ID. Generated automatically if not sent\n :type newClientOrderId: str\n :param strategyId: optional - Arbitrary numeric value identifying the order within an order strategy\n :type strategyId: int\n :param strategyType: optional - Arbitrary numeric value identifying the order strategy. Values < 1000000 are reserved\n :type strategyType: int\n :param selfTradePreventionMode: optional - EXPIRE_TAKER, EXPIRE_MAKER, EXPIRE_BOTH, NONE\n :type selfTradePreventionMode: str\n :param computeCommissionRates: optional - Calculate commission rates. Default: False\n :type computeCommissionRates: bool\n\n :returns: Websocket message\n\n Without computeCommissionRates:\n\n .. code-block:: python\n\n {\n \"id\": \"3a4437e2-41a3-4c19-897c-9cadc5dce8b6\",\n \"status\": 200,\n \"result\": {},\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n With computeCommissionRates:\n\n .. code-block:: python\n\n {\n \"id\": \"3a4437e2-41a3-4c19-897c-9cadc5dce8b6\",\n \"status\": 200,\n \"result\": {\n \"standardCommissionForOrder\": {\n \"maker\": \"0.00000112\",\n \"taker\": \"0.00000114\"\n },\n \"taxCommissionForOrder\": {\n \"maker\": \"0.00000112\",\n \"taker\": \"0.00000114\"\n },\n \"discount\": {\n \"enabledForAccount\": true,\n \"enabledForSymbol\": true,\n \"discountAsset\": \"BNB\",\n \"discount\": \"0.25\"\n }\n },\n \"rateLimits\": [...]\n }\n\n Notes:\n - SOR only supports LIMIT and MARKET orders\n - quoteOrderQty is not supported\n - Weight: 1 (without computeCommissionRates), 20 (with computeCommissionRates)\n - Data Source: Memory\n \"\"\"\n return self._ws_api_request_sync(\"sor.order.test\", True, params)\n\n def ws_get_account(self, **params):\n \"\"\"Get current account information.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-information-user_data\n\n :param omitZeroBalances: optional - When set to true, emits only the non-zero balances of an account. Default: false\n :type omitZeroBalances: bool\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: Websocket message\n\n .. code-block:: python\n\n {\n \"makerCommission\": 15,\n \"takerCommission\": 15,\n \"buyerCommission\": 0,\n \"sellerCommission\": 0,\n \"canTrade\": true,\n \"canWithdraw\": true,\n \"canDeposit\": true,\n \"commissionRates\": {\n \"maker\": \"0.00150000\",\n \"taker\": \"0.00150000\",\n \"buyer\": \"0.00000000\",\n \"seller\": \"0.00000000\"\n },\n \"brokered\": false,\n \"requireSelfTradePrevention\": false,\n \"preventSor\": false,\n \"updateTime\": 1660801833000,\n \"accountType\": \"SPOT\",\n \"balances\": [\n {\n \"asset\": \"BNB\",\n \"free\": \"0.00000000\",\n \"locked\": \"0.00000000\"\n },\n {\n \"asset\": \"BTC\",\n \"free\": \"1.34471120\",\n \"locked\": \"0.08600000\"\n }\n ],\n \"permissions\": [\n \"SPOT\"\n ],\n \"uid\": 354937868\n }\n\n Notes:\n - Weight: 20\n - Data Source: Memory => Database\n \"\"\"\n return self._ws_api_request_sync(\"account.status\", True, params)\n\n def ws_get_account_rate_limits_orders(self, **params):\n \"\"\"Query your current unfilled order count for all intervals.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-unfilled-order-count-user_data\n\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: Websocket response\n\n .. code-block:: python\n\n {\n \"result\": [\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"SECOND\",\n \"intervalNum\": 10,\n \"limit\": 50,\n \"count\": 0\n },\n {\n \"rateLimitType\": \"ORDERS\",\n \"interval\": \"DAY\",\n \"intervalNum\": 1,\n \"limit\": 160000,\n \"count\": 0\n }\n ],\n \"id\": \"d3783d8d-f8d1-4d2c-b8a0-b7596af5a664\"\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Notes:\n - Weight: 40\n - Data Source: Memory\n \"\"\"\n return self._ws_api_request_sync(\"account.rateLimits.orders\", True, params)\n\n def ws_get_all_orders(self, **params):\n \"\"\"Query information about all your orders \u2013 active, canceled, filled \u2013 filtered by time range.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-order-history-user_data\n\n :param symbol: STRING - Required\n :type symbol: str\n :param orderId: optional - Order ID to begin at\n :type orderId: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param limit: optional - Default 500; max 1000\n :type limit: int\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: Websocket response\n\n .. code-block:: python\n\n {\n \"id\": \"734235c2-13d2-4574-be68-723e818c08f3\",\n \"status\": 200,\n \"result\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"clientOrderId\": \"4d96324ff9d44481926157\",\n \"price\": \"23416.10000000\",\n \"origQty\": \"0.00847000\",\n \"executedQty\": \"0.00847000\",\n \"cummulativeQuoteQty\": \"198.33521500\",\n \"status\": \"FILLED\",\n \"timeInForce\": \"GTC\",\n \"type\": \"LIMIT\",\n \"side\": \"SELL\",\n \"stopPrice\": \"0.00000000\",\n \"icebergQty\": \"0.00000000\",\n \"time\": 1660801715639,\n \"updateTime\": 1660801717945,\n \"isWorking\": true,\n \"workingTime\": 1660801715639,\n \"origQuoteOrderQty\": \"0.00000000\",\n \"selfTradePreventionMode\": \"NONE\",\n \"preventedMatchId\": 0, // Only appears if order expired due to STP\n \"preventedQuantity\": \"1.200000\" // Only appears if order expired due to STP\n }\n ]\n }\n\n Notes:\n - Weight: 20\n - Data Source: Database\n - If startTime and/or endTime are specified, orderId is ignored\n - Orders are filtered by time of the last execution status update\n - If orderId is specified, return orders with order ID >= orderId\n - If no condition is specified, the most recent orders are returned\n - For some historical orders the cummulativeQuoteQty response field may be negative\n - The time between startTime and endTime can't be longer than 24 hours\n \"\"\"\n return self._ws_api_request_sync(\"allOrders\", True, params)\n\n def ws_get_my_trades(self, **params):\n \"\"\"Query information about your trades, filtered by time range.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-trade-history-user_data\n\n :param symbol: STRING - Required\n :type symbol: str\n :param orderId: optional - Get trades for a specific order\n :type orderId: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param fromId: optional - Trade ID to fetch from\n :type fromId: int\n :param limit: optional - Default 500; max 1000\n :type limit: int\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: Websocket response\n\n .. code-block:: python\n\n [\n {\n \"symbol\": \"BTCUSDT\",\n \"id\": 1650422481,\n \"orderId\": 12569099453,\n \"orderListId\": -1,\n \"price\": \"23416.10000000\",\n \"qty\": \"0.00635000\",\n \"quoteQty\": \"148.69223500\",\n \"commission\": \"0.00000000\",\n \"commissionAsset\": \"BNB\",\n \"time\": 1660801715793,\n \"isBuyer\": false,\n \"isMaker\": true,\n \"isBestMatch\": true\n }\n ]\n\n Notes:\n - Weight: 20\n - Data Source: Memory => Database\n - If fromId is specified, return trades with trade ID >= fromId\n - If startTime and/or endTime are specified, trades are filtered by execution time (time)\n - fromId cannot be used together with startTime and endTime\n - If orderId is specified, only trades related to that order are returned\n - startTime and endTime cannot be used together with orderId\n - If no condition is specified, the most recent trades are returned\n - The time between startTime and endTime can't be longer than 24 hours\n \"\"\"\n return self._ws_api_request_sync(\"myTrades\", True, params)\n\n def ws_get_prevented_matches(self, **params):\n \"\"\"Displays the list of orders that were expired due to STP (Self-Trade Prevention).\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-prevented-matches-user_data\n\n :param symbol: STRING - Required\n :type symbol: str\n :param preventedMatchId: optional - Get specific prevented match by ID\n :type preventedMatchId: int\n :param orderId: optional - Get prevented matches for specific order\n :type orderId: int\n :param fromPreventedMatchId: optional - Get prevented matches from this ID\n :type fromPreventedMatchId: int\n :param limit: optional - Default 500; max 1000\n :type limit: int\n :param recvWindow: optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: Websocket response\n\n .. code-block:: python\n {\n \"symbol\": \"BTCUSDT\", # Trading pair\n \"preventedMatchId\": 1, # Unique ID for prevented match\n \"takerOrderId\": 5, # Order ID of the taker order\n \"makerSymbol\": \"BTCUSDT\", # Symbol of maker order\n \"makerOrderId\": 3, # Order ID of maker order\n \"tradeGroupId\": 1, # Trade group ID\n \"selfTradePreventionMode\": \"EXPIRE_MAKER\", # STP mode used\n \"price\": \"1.100000\", # Price level where match was prevented\n \"makerPreventedQuantity\": \"1.300000\", # Quantity that was prevented\n \"transactTime\": 1669101687094 # Time of prevention\n }\n\n Supported parameter combinations:\n - symbol + preventedMatchId\n - symbol + orderId\n - symbol + orderId + fromPreventedMatchId (limit defaults to 500)\n - symbol + orderId + fromPreventedMatchId + limit\n\n Weight:\n - 2 if symbol is invalid\n - 2 when querying by preventedMatchId\n - 20 when querying by orderId\n\n Data Source: Database\n \"\"\"\n return self._ws_api_request_sync(\"myPreventedMatches\", True, params)\n\n def ws_get_allocations(self, **params):\n \"\"\"Get information about orders that were expired due to STP (Self-Trade Prevention).\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-prevented-matches-user_data\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param preventedMatchId: LONG - Optional - Get specific prevented match by ID\n :type preventedMatchId: int\n :param orderId: LONG - Optional - Get prevented matches for specific order\n :type orderId: int\n :param fromPreventedMatchId: LONG - Optional - Get prevented matches from this ID\n :type fromPreventedMatchId: int\n :param limit: INT - Optional - Default 500; max 1000\n :type limit: int\n :param recvWindow: LONG - Optional - The value cannot be greater than 60000\n :type recvWindow: int\n :param timestamp: LONG - Required\n :type timestamp: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"symbol\": \"BTCUSDT\",\n \"preventedMatchId\": 1,\n \"takerOrderId\": 5,\n \"makerSymbol\": \"BTCUSDT\",\n \"makerOrderId\": 3,\n \"tradeGroupId\": 1,\n \"selfTradePreventionMode\": \"EXPIRE_MAKER\",\n \"price\": \"1.100000\",\n \"makerPreventedQuantity\": \"1.300000\",\n \"transactTime\": 1669101687094\n }\n\n Supported parameter combinations:\n - symbol + preventedMatchId\n - symbol + orderId\n - symbol + orderId + fromPreventedMatchId (limit defaults to 500)\n - symbol + orderId + fromPreventedMatchId + limit\n\n Weight:\n - 2 if symbol is invalid\n - 2 when querying by preventedMatchId\n - 20 when querying by orderId\n\n Data Source: Database\n \"\"\"\n return self._ws_api_request_sync(\"myAllocations\", True, params)\n\n def ws_get_commission_rates(self, **params):\n \"\"\"Get current account commission rates for a symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#account-commission-rates-user_data\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param recvWindow: LONG - Optional - The value cannot be greater than 60000\n :type recvWindow: int\n\n :returns: API response dict with commission rates:\n\n {\n \"symbol\": \"BTCUSDT\",\n \"standardCommission\": { # Standard commission rates on trades\n \"maker\": \"0.00000010\",\n \"taker\": \"0.00000020\",\n \"buyer\": \"0.00000030\",\n \"seller\": \"0.00000040\"\n },\n \"taxCommission\": { # Tax commission rates on trades\n \"maker\": \"0.00000112\",\n \"taker\": \"0.00000114\",\n \"buyer\": \"0.00000118\",\n \"seller\": \"0.00000116\"\n },\n \"discount\": { # Discount on standard commissions when paying in BNB\n \"enabledForAccount\": true,\n \"enabledForSymbol\": true,\n \"discountAsset\": \"BNB\",\n \"discount\": \"0.75000000\" # Standard commission reduction rate when paying in BNB\n }\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Weight: 20\n\n Data Source: Database\n \"\"\"\n return self._ws_api_request_sync(\"account.commission\", True, params)\n\n def ws_get_order_book(self, **params):\n \"\"\"Get current order book for a symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#order-book\n\n Note that this request returns limited market depth. If you need to continuously monitor\n order book updates, consider using WebSocket Streams:\n - @depth\n - @depth\n\n You can use `depth` request together with `@depth` streams to maintain a local order book.\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param limit: INT - Optional - Default 100; max 5000\n :type limit: int\n\n :returns: Websocket message\n\n {\n \"lastUpdateId\": 2731179239,\n \"bids\": [ // Bid levels sorted from highest to lowest price\n [\n \"0.01379900\", // Price level\n \"3.43200000\" // Quantity\n ],\n ...\n ],\n \"asks\": [ // Ask levels sorted from lowest to highest price\n [\n \"0.01380000\", // Price level\n \"5.91700000\" // Quantity\n ],\n ...\n ]\n }\n\n Weight: Adjusted based on limit:\n - 1-100: 5\n - 101-500: 25\n - 501-1000: 50\n - 1001-5000: 250\n\n Data Source: Memory\n \"\"\"\n return self._ws_api_request_sync(\"depth\", False, params)\n\n def ws_get_recent_trades(self, **params):\n \"\"\"Get recent trades for a symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#recent-trades\n\n If you need access to real-time trading activity, please consider using WebSocket Streams:\n - @trade\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param limit: INT - Optional - Default 500; max 1000\n :type limit: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"id\": \"409a20bd-253d-41db-a6dd-687862a5882f\",\n \"status\": 200,\n \"result\": [\n {\n \"id\": 194686783, # Trade ID\n \"price\": \"0.01361000\", # Price\n \"qty\": \"0.01400000\", # Quantity\n \"quoteQty\": \"0.00019054\", # Quote quantity\n \"time\": 1660009530807, # Trade time\n \"isBuyerMaker\": true, # Was the buyer the maker?\n \"isBestMatch\": true # Was this the best price match?\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Weight: 25\n Data Source: Memory\n \"\"\"\n return self._ws_api_request_sync(\"trades.recent\", False, params)\n\n def ws_get_historical_trades(self, **params):\n \"\"\"Get historical trades.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#historical-trades\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param fromId: INT - Optional - Trade ID to begin at\n :type fromId: int\n :param limit: INT - Optional - Default 500; max 1000\n :type limit: int\n\n :returns: Websocket message\n\n .. code-block:: python\n\n {\n \"id\": \"cffc9c7d-4efc-4ce0-b587-6b87448f052a\",\n \"result\": [\n {\n \"id\": 0, # Trade ID\n \"price\": \"0.00005000\", # Price\n \"qty\": \"40.00000000\", # Quantity\n \"quoteQty\": \"0.00200000\", # Quote quantity\n \"time\": 1500004800376, # Trade time\n \"isBuyerMaker\": true, # Was the buyer the maker?\n \"isBestMatch\": true # Was this the best price match?\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Notes:\n - If fromId is not specified, the most recent trades are returned\n\n Weight: 25\n Data Source: Database\n \"\"\"\n return self._ws_api_request_sync(\"trades.historical\", False, params)\n\n def ws_get_aggregate_trades(self, **params):\n \"\"\"Get aggregate trades.\n\n An aggregate trade represents one or more individual trades that fill at the same time,\n from the same taker order, with the same price.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#aggregate-trades\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param fromId: INT - Optional - Aggregate trade ID to begin at\n :type fromId: int\n :param startTime: INT - Optional - Start time in milliseconds\n :type startTime: int\n :param endTime: INT - Optional - End time in milliseconds\n :type endTime: int\n :param limit: INT - Optional - Default 500; max 1000\n :type limit: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"id\": \"...\",\n \"status\": 200,\n \"result\": [\n {\n \"a\": 50000000, # Aggregate trade ID\n \"p\": \"0.00274100\", # Price\n \"q\": \"57.19000000\", # Quantity\n \"f\": 59120167, # First trade ID\n \"l\": 59120170, # Last trade ID\n \"T\": 1565877971222, # Timestamp\n \"m\": true, # Was the buyer the maker?\n \"M\": true # Was the trade the best price match?\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Notes:\n - If fromId is specified, return aggtrades with aggregate trade ID >= fromId.\n Use fromId and limit to page through all aggtrades.\n - If startTime and/or endTime are specified, aggtrades are filtered by execution time (T).\n fromId cannot be used together with startTime and endTime.\n - If no condition is specified, the most recent aggregate trades are returned.\n - For real-time updates, consider using WebSocket Streams: @aggTrade\n - For historical data, consider using data.binance.vision\n\n Weight: 2\n Data Source: Database\n \"\"\"\n return self._ws_api_request_sync(\"trades.aggregate\", False, params)\n\n def ws_get_klines(self, **params):\n \"\"\"Get klines (candlestick bars).\n\n Klines are uniquely identified by their open & close time.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#klines\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param interval: ENUM - Required - Kline interval\n :type interval: str\n :param startTime: INT - Optional - Start time in milliseconds\n :type startTime: int\n :param endTime: INT - Optional - End time in milliseconds\n :type endTime: int\n :param timeZone: STRING - Optional - Default: 0 (UTC)\n :type timeZone: str\n :param limit: INT - Optional - Default 500; max 1000\n :type limit: int\n\n Supported kline intervals:\n - seconds: 1s\n - minutes: 1m, 3m, 5m, 15m, 30m\n - hours: 1h, 2h, 4h, 6h, 8h, 12h\n - days: 1d, 3d\n - weeks: 1w\n - months: 1M\n\n Notes:\n - If startTime/endTime not specified, returns most recent klines\n - Supported timeZone values:\n - Hours and minutes (e.g. \"-1:00\", \"05:45\")\n - Only hours (e.g. \"0\", \"8\", \"4\")\n - Accepted range is strictly [-12:00 to +14:00] inclusive\n - If timeZone provided, kline intervals interpreted in that timezone instead of UTC\n - startTime and endTime always interpreted in UTC, regardless of timeZone\n - For real-time updates, consider using WebSocket Streams: @kline_\n - For historical data, consider using data.binance.vision\n\n Weight: 2\n Data Source: Database\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"id\": \"1dbbeb56-8eea-466a-8f6e-86bdcfa2fc0b\",\n \"status\": 200,\n \"result\": [\n [\n 1655971200000, # Kline open time\n \"0.01086000\", # Open price\n \"0.01086600\", # High price\n \"0.01083600\", # Low price\n \"0.01083800\", # Close price\n \"2290.53800000\", # Volume\n 1655974799999, # Kline close time\n \"24.85074442\", # Quote asset volume\n 2283, # Number of trades\n \"1171.64000000\", # Taker buy base asset volume\n \"12.71225884\", # Taker buy quote asset volume\n \"0\" # Unused field, ignore\n ]\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._ws_api_request_sync(\"klines\", False, params)\n\n def ws_get_uiKlines(self, **params):\n \"\"\"Get klines (candlestick bars) optimized for presentation.\n\n This request is similar to klines, having the same parameters and response.\n uiKlines return modified kline data, optimized for presentation of candlestick charts.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#ui-klines\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n :param interval: ENUM - Required - Kline interval\n :type interval: str\n :param startTime: INT - Optional - Start time in milliseconds\n :type startTime: int\n :param endTime: INT - Optional - End time in milliseconds\n :type endTime: int\n :param timeZone: STRING - Optional - Default: 0 (UTC)\n :type timeZone: str\n :param limit: INT - Optional - Default 500; max 1000\n :type limit: int\n\n Supported kline intervals:\n - seconds: 1s\n - minutes: 1m, 3m, 5m, 15m, 30m\n - hours: 1h, 2h, 4h, 6h, 8h, 12h\n - days: 1d, 3d\n - weeks: 1w\n - months: 1M\n\n Notes:\n - If startTime/endTime not specified, returns most recent klines\n - Supported timeZone values:\n - Hours and minutes (e.g. \"-1:00\", \"05:45\")\n - Only hours (e.g. \"0\", \"8\", \"4\")\n - Accepted range is strictly [-12:00 to +14:00] inclusive\n - If timeZone provided, kline intervals are interpreted in that timezone instead of UTC\n - startTime and endTime are always interpreted in UTC, regardless of timeZone\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"id\": \"b137468a-fb20-4c06-bd6b-625148eec958\",\n \"result\": [\n [\n 1655971200000, # Kline open time\n \"0.01086000\", # Open price\n \"0.01086600\", # High price\n \"0.01083600\", # Low price\n \"0.01083800\", # Close price\n \"2290.53800000\", # Volume\n 1655974799999, # Kline close time\n \"24.85074442\", # Quote asset volume\n 2283, # Number of trades\n \"1171.64000000\", # Taker buy base asset volume\n \"12.71225884\", # Taker buy quote asset volume\n \"0\" # Unused field, ignore\n ]\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n \"\"\"\n return self._ws_api_request_sync(\"uiKlines\", False, params)\n\n def ws_get_avg_price(self, **params):\n \"\"\"Get current average price for a symbol.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#current-average-price\n\n :param symbol: STRING - Required - Trading symbol\n :type symbol: str\n\n :returns: Websocket message\n\n .. code-block:: python\n {\n \"mins\": 5, # Average price interval (in minutes)\n \"price\": \"9.35751834\", # Average price\n \"closeTime\": 1694061154503 # Last trade time\n }\n\n Weight: 2\n \"\"\"\n return self._ws_api_request_sync(\"avgPrice\", False, params)\n\n def ws_get_ticker(self, **params):\n \"\"\"Get 24-hour rolling window price change statistics.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#24hr-ticker-price-change-statistics\n\n :param symbol: STRING - Optional - Query ticker for a single symbol\n :type symbol: str\n :param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n :type symbols: list\n :param type: ENUM - Optional - Ticker type: FULL (default) or MINI\n :type type: str\n\n Note:\n - symbol and symbols cannot be used together\n - If no symbol is specified, returns information about all symbols currently trading on the exchange\n\n Weight:\n Adjusted based on the number of requested symbols:\n - 1-20 symbols: 2\n - 21-100 symbols: 40\n - 101 or more symbols: 80\n - all symbols: 80\n\n :returns: Websocket message\n\n For a single symbol with type=FULL:\n .. code-block:: python\n {\n \"symbol\": \"BNBBTC\",\n \"priceChange\": \"0.00013900\", # Absolute price change\n \"priceChangePercent\": \"1.020\", # Relative price change in percent\n \"weightedAvgPrice\": \"0.01382453\", # Quote volume divided by volume\n \"prevClosePrice\": \"0.01362800\", # Previous day's close price\n \"lastPrice\": \"0.01376700\", # Latest price\n \"lastQty\": \"1.78800000\", # Latest quantity\n \"bidPrice\": \"0.01376700\", # Best bid price\n \"bidQty\": \"4.64600000\", # Best bid quantity\n \"askPrice\": \"0.01376800\", # Best ask price\n \"askQty\": \"14.31400000\", # Best ask quantity\n \"openPrice\": \"0.01362800\", # Open price 24 hours ago\n \"highPrice\": \"0.01414900\", # Highest price in the last 24 hours\n \"lowPrice\": \"0.01346600\", # Lowest price in the last 24 hours\n \"volume\": \"69412.40500000\", # Trading volume in base asset\n \"quoteVolume\": \"959.59411487\", # Trading volume in quote asset\n \"openTime\": 1660014164909, # Open time for 24hr rolling window\n \"closeTime\": 1660100564909, # Close time for 24hr rolling window\n \"firstId\": 194696115, # First trade ID\n \"lastId\": 194968287, # Last trade ID\n \"count\": 272173 # Number of trades\n }\n\n For a single symbol with type=MINI:\n .. code-block:: python\n {\n \"symbol\": \"BNBBTC\",\n \"openPrice\": \"0.01362800\",\n \"highPrice\": \"0.01414900\",\n \"lowPrice\": \"0.01346600\",\n \"lastPrice\": \"0.01376700\",\n \"volume\": \"69412.40500000\",\n \"quoteVolume\": \"959.59411487\",\n \"openTime\": 1660014164909,\n \"closeTime\": 1660100564909,\n \"firstId\": 194696115,\n \"lastId\": 194968287,\n \"count\": 272173\n }\n\n \"\"\"\n return self._ws_api_request_sync(\"ticker.24hr\", False, params)\n\n def ws_get_trading_day_ticker(self, **params):\n \"\"\"Price change statistics for a trading day.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#trading-day-ticker\n\n :param symbol: STRING - Optional - Query ticker of a single symbol\n :type symbol: str\n :param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n :type symbols: list\n :param timeZone: STRING - Optional - Default: 0 (UTC)\n Supported values:\n - Hours and minutes (e.g. \"-1:00\", \"05:45\")\n - Only hours (e.g. \"0\", \"8\", \"4\")\n - Accepted range is strictly [-12:00 to +14:00] inclusive\n :type timeZone: str\n :param type: ENUM - Optional - FULL (default) or MINI\n :type type: str\n\n :returns: Websocket message\n\n Response FULL type example:\n {\n \"symbol\": \"BTCUSDT\",\n \"priceChange\": \"-83.13000000\", # Absolute price change\n \"priceChangePercent\": \"-0.317\", # Relative price change in percent\n \"weightedAvgPrice\": \"26234.58803036\", # quoteVolume / volume\n \"openPrice\": \"26304.80000000\",\n \"highPrice\": \"26397.46000000\",\n \"lowPrice\": \"26088.34000000\",\n \"lastPrice\": \"26221.67000000\",\n \"volume\": \"18495.35066000\", # Volume in base asset\n \"quoteVolume\": \"485217905.04210480\",\n \"openTime\": 1695686400000,\n \"closeTime\": 1695772799999,\n \"firstId\": 3220151555,\n \"lastId\": 3220849281,\n \"count\": 697727\n }\n\n Response MINI type example:\n {\n \"symbol\": \"BTCUSDT\",\n \"openPrice\": \"26304.80000000\",\n \"highPrice\": \"26397.46000000\",\n \"lowPrice\": \"26088.34000000\",\n \"lastPrice\": \"26221.67000000\",\n \"volume\": \"18495.35066000\", # Volume in base asset\n \"quoteVolume\": \"485217905.04210480\", # Volume in quote asset\n \"openTime\": 1695686400000,\n \"closeTime\": 1695772799999,\n \"firstId\": 3220151555, # Trade ID of the first trade in the interval\n \"lastId\": 3220849281, # Trade ID of the last trade in the interval\n \"count\": 697727 # Number of trades in the interval\n }\n\n Weight:\n - 4 for each requested symbol\n - Weight caps at 200 once number of symbols > 50\n \"\"\"\n return self._ws_api_request_sync(\"ticker.tradingDay\", False, params)\n\n def ws_get_symbol_ticker_window(self, **params):\n \"\"\"Get rolling window price change statistics.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#rolling-window-price-change-statistics\n\n :param symbol: STRING - Optional - Query ticker of a single symbol\n :type symbol: str\n :param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n :type symbols: list\n :param windowSize: STRING - Required - Supported windowSize values:\n - 1h, 2h, 4h, 6h, 12h\n - 1d, 2d, 3d, 4d, 5d, 6d, 7d, 14d, 30d\n :type windowSize: str\n :param type: ENUM - Optional - FULL (default) or MINI\n :type type: str\n\n :returns: Websocket message\n\n With symbol parameter:\n .. code-block:: python\n {\n \"symbol\": \"BTCUSDT\",\n \"priceChange\": \"-83.13000000\", # Absolute price change\n \"priceChangePercent\": \"-0.317\", # Relative price change in percent\n \"weightedAvgPrice\": \"26234.58803036\", # quoteVolume / volume\n \"openPrice\": \"26304.80000000\",\n \"highPrice\": \"26397.46000000\",\n \"lowPrice\": \"26088.34000000\",\n \"lastPrice\": \"26221.67000000\",\n \"volume\": \"18495.35066000\", # Volume in base asset\n \"quoteVolume\": \"485217905.04210480\", # Volume in quote asset\n \"openTime\": 1695686400000,\n \"closeTime\": 1695772799999,\n \"firstId\": 3220151555, # Trade ID of first trade in the interval\n \"lastId\": 3220849281, # Trade ID of last trade in the interval\n \"count\": 697727 # Number of trades in the interval\n }\n\n With symbols parameter:\n .. code-block:: python\n [\n {\n # Same fields as above\n },\n {\n # Same fields as above for next symbol\n }\n ]\n\n For MINI type response:\n .. code-block:: python\n {\n \"symbol\": \"BTCUSDT\",\n \"openPrice\": \"26304.80000000\",\n \"highPrice\": \"26397.46000000\",\n \"lowPrice\": \"26088.34000000\",\n \"lastPrice\": \"26221.67000000\",\n \"volume\": \"18495.35066000\",\n \"quoteVolume\": \"485217905.04210480\",\n \"openTime\": 1695686400000,\n \"closeTime\": 1695772799999,\n \"firstId\": 3220151555,\n \"lastId\": 3220849281,\n \"count\": 697727\n }\n\n Weight:\n - 4 for each requested symbol\n - Weight caps at 200 once number of symbols > 50\n \"\"\"\n return self._ws_api_request_sync(\"ticker\", False, params)\n\n def ws_get_symbol_ticker(self, **params):\n \"\"\"Get latest price for a symbol or symbols.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#symbol-price-ticker\n\n :param symbol: STRING - Optional - Query ticker of a single symbol\n :type symbol: str\n :param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n :type symbols: list\n\n :returns: Websocket message\n\n With symbol parameter:\n {\n \"symbol\": \"BNBBTC\",\n \"price\": \"0.01361000\"\n }\n\n With symbols parameter:\n [\n {\n \"symbol\": \"BNBBTC\",\n \"price\": \"0.01361000\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"price\": \"23440.91000000\"\n }\n ]\n\n Weight:\n - 1 for a single symbol\n - 2 for up to 20 symbols\n - 40 for 21 to 100 symbols\n - 40 for all symbols\n \"\"\"\n return self._ws_api_request_sync(\"ticker.price\", False, params)\n\n def ws_get_orderbook_ticker(self, **params):\n \"\"\"Get the best price/quantity on the order book for a symbol or symbols.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#symbol-order-book-ticker\n\n :param symbol: STRING - Optional - Query ticker of a single symbol\n :type symbol: str\n :param symbols: ARRAY of STRING - Optional - Query ticker for multiple symbols\n :type symbols: list\n\n :returns: Websocket response\n\n With symbol parameter:\n {\n \"symbol\": \"BNBBTC\",\n \"bidPrice\": \"0.01358000\",\n \"bidQty\": \"0.95200000\",\n \"askPrice\": \"0.01358100\",\n \"askQty\": \"11.91700000\"\n }\n\n With symbols parameter:\n [\n {\n \"symbol\": \"BNBBTC\",\n \"bidPrice\": \"0.01358000\",\n \"bidQty\": \"0.95200000\",\n \"askPrice\": \"0.01358100\",\n \"askQty\": \"11.91700000\"\n },\n {\n \"symbol\": \"BTCUSDT\",\n \"bidPrice\": \"23440.90000000\",\n \"bidQty\": \"0.00200000\",\n \"askPrice\": \"23440.91000000\",\n \"askQty\": \"0.00200000\"\n }\n ]\n\n Weight:\n - 2 for a single symbol\n - 4 for up to 100 symbols\n - 40 for 101 or more symbols\n \"\"\"\n return self._ws_api_request_sync(\"ticker.book\", False, params)\n\n def ws_ping(self, **params):\n \"\"\"Test connectivity to the WebSocket API.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#test-connectivity\n\n :returns: API response\n\n {\n \"id\": \"922bcc6e-9de8-440d-9e84-7c80933a8d0d\",\n \"status\": 200,\n \"result\": {},\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n\n Weight: 1\n \"\"\"\n return self._ws_api_request_sync(\"ping\", False, params)\n\n def ws_get_time(self, **params):\n \"\"\"Test connectivity to the WebSocket API and get the current server time.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#check-server-time\n\n :returns: API response with server time\n\n {\n \"id\": \"187d3cb2-942d-484c-8271-4e2141bbadb1\",\n \"status\": 200,\n \"result\": {\n \"serverTime\": 1656400526260\n },\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000,\n \"count\": 1\n }\n ]\n }\n\n Weight: 1\n Data Source: Memory\n \"\"\"\n return self._ws_api_request_sync(\"time\", False, params)\n\n def ws_get_exchange_info(self, **params):\n \"\"\"Query current exchange trading rules, rate limits, and symbol information.\n\n https://developers.binance.com/docs/binance-spot-api-docs/testnet/web-socket-api/public-api-requests#exchange-information\n\n :param symbol: str - Filter by single symbol (optional)\n :param symbols: list - Filter by multiple symbols (optional)\n :param permissions: list or str - Filter symbols by permissions (optional)\n\n :returns: API response containing exchange information including:\n - Rate limits\n - Exchange filters\n - Symbol information including:\n - Status\n - Base/quote assets\n - Order types allowed\n - Filters (price, lot size, etc)\n - Trading permissions\n - Self-trade prevention modes\n\n Example response:\n {\n \"timezone\": \"UTC\",\n \"serverTime\": 1655969291181,\n \"rateLimits\": [\n {\n \"rateLimitType\": \"REQUEST_WEIGHT\",\n \"interval\": \"MINUTE\",\n \"intervalNum\": 1,\n \"limit\": 6000\n },\n ...\n ],\n \"exchangeFilters\": [],\n \"symbols\": [\n {\n \"symbol\": \"BTCUSDT\",\n \"status\": \"TRADING\",\n \"baseAsset\": \"BTC\",\n \"baseAssetPrecision\": 8,\n ...\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Notes:\n - Only one of symbol, symbols, permissions parameters can be specified\n - Without parameters, displays all symbols with [\"SPOT\", \"MARGIN\", \"LEVERAGED\"] permissions\n - To list all active symbols, explicitly request all permissions\n - Permissions accepts either a list or single permission name (e.g. \"SPOT\")\n\n Weight: 20\n Data Source: Memory\n \"\"\"\n return self._ws_api_request_sync(\"exchangeInfo\", False, params)\n\n ####################################################\n # WS Futures Endpoints\n ####################################################\n def ws_futures_get_order_book(self, **params):\n \"\"\"\n Get the order book for a symbol\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api\n \"\"\"\n return self._ws_futures_api_request_sync(\"depth\", False, params)\n\n def ws_futures_get_all_tickers(self, **params):\n \"\"\"\n Latest price for a symbol or symbols\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api/Symbol-Price-Ticker\n \"\"\"\n return self._ws_futures_api_request_sync(\"ticker.price\", False, params)\n\n def ws_futures_get_order_book_ticker(self, **params):\n \"\"\"\n Best price/qty on the order book for a symbol or symbols.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api/Symbol-Order-Book-Ticker\n \"\"\"\n return self._ws_futures_api_request_sync(\"ticker.book\", False, params)\n\n def ws_futures_create_order(self, **params):\n \"\"\"\n Send in a new order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return self._ws_futures_api_request_sync(\"order.place\", True, params)\n\n def ws_futures_edit_order(self, **params):\n \"\"\"\n Edit an order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Modify-Order\n \"\"\"\n return self._ws_futures_api_request_sync(\"order.modify\", True, params)\n\n def ws_futures_cancel_order(self, **params):\n \"\"\"\n cancel an order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Cancel-Order\n \"\"\"\n return self._ws_futures_api_request_sync(\"order.cancel\", True, params)\n\n def ws_futures_get_order(self, **params):\n \"\"\"\n Get an order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Query-Order\n \"\"\"\n return self._ws_futures_api_request_sync(\"order.status\", True, params)\n\n def ws_futures_v2_account_position(self, **params):\n \"\"\"\n Get current position information(only symbol that has position or open orders will be returned).\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Position-Info-V2\n \"\"\"\n return self._ws_futures_api_request_sync(\"v2/account.position\", True, params)\n\n def ws_futures_account_position(self, **params):\n \"\"\"\n Get current position information.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Position-Information\n \"\"\"\n return self._ws_futures_api_request_sync(\"account.position\", True, params)\n\n def ws_futures_v2_account_balance(self, **params):\n \"\"\"\n Get current account information.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api#api-description\n \"\"\"\n return self._ws_futures_api_request_sync(\"v2/account.balance\", True, params)\n\n def ws_futures_account_balance(self, **params):\n \"\"\"\n Get current account information.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Futures-Account-Balance\n \"\"\"\n return self._ws_futures_api_request_sync(\"account.balance\", True, params)\n\n def ws_futures_v2_account_status(self, **params):\n \"\"\"\n Get current account information. User in single-asset/ multi-assets mode will see different value, see comments in response section for detail.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Account-Information-V2\n \"\"\"\n return self._ws_futures_api_request_sync(\"v2/account.status\", True, params)\n\n def ws_futures_account_status(self, **params):\n \"\"\"\n Get current account information. User in single-asset/ multi-assets mode will see different value, see comments in response section for detail.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Account-Information\n \"\"\"\n return self._ws_futures_api_request_sync(\"account.status\", True, params)\n\n ###############################################\n ### Gift card api\n ###############################################\n def gift_card_fetch_token_limit(self, **params):\n \"\"\"Verify which tokens are available for you to create Stablecoin-Denominated gift cards\n https://developers.binance.com/docs/gift_card/market-data/Fetch-Token-Limit\n\n :param baseToken: The token you want to pay, example: BUSD\n :type baseToken: str\n :return: api response\n .. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": [\n {\n \"coin\": \"BNB\",\n \"fromMin\": \"0.01\",\n \"fromMax\": \"1\"\n }\n ],\n \"success\": true\n }\n \"\"\"\n return self._request_margin_api(\n \"get\", \"giftcard/buyCode/token-limit\", signed=True, data=params\n )\n\n def gift_card_fetch_rsa_public_key(self, **params):\n \"\"\"This API is for fetching the RSA Public Key. This RSA Public key will be used to encrypt the card code.\n\n Important Note:\n The RSA Public key fetched is valid only for the current day.\n\n https://developers.binance.com/docs/gift_card/market-data/Fetch-RSA-Public-Key\n :param recvWindow: The receive window for the request in milliseconds (optional)\n :type recvWindow: int\n :return: api response\n .. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": \"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCXBBVKLAc1GQ5FsIFFqOHrPTox5noBONIKr+IAedTR9FkVxq6e65updEbfdhRNkMOeYIO2i0UylrjGC0X8YSoIszmrVHeV0l06Zh1oJuZos1+7N+WLuz9JvlPaawof3GUakTxYWWCa9+8KIbLKsoKMdfS96VT+8iOXO3quMGKUmQIDAQAB\",\n \"success\": true\n }\n \"\"\"\n return self._request_margin_api(\n \"get\", \"giftcard/cryptography/rsa-public-key\", signed=True, data=params\n )\n\n def gift_card_verify(self, **params):\n \"\"\"This API is for verifying whether the Binance Gift Card is valid or not by entering Gift Card Number.\n\n Important Note:\n If you enter the wrong Gift Card Number 5 times within an hour, you will no longer be able\n to verify any Gift Card Number for that hour.\n\n https://developers.binance.com/docs/gift_card/market-data/Verify-Binance-Gift-Card-by-Gift-Card-Number\n\n :param referenceNo: Enter the Gift Card Number\n :type referenceNo: str\n :return: api response\n .. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": {\n \"valid\": true,\n \"token\": \"BNB\", # coin\n \"amount\": \"0.00000001\" # amount\n },\n \"success\": true\n }\n \"\"\"\n return self._request_margin_api(\n \"get\", \"giftcard/verify\", signed=True, data=params\n )\n\n def gift_card_redeem(self, **params):\n \"\"\"This API is for redeeming a Binance Gift Card. Once redeemed, the coins will be deposited in your funding wallet.\n\n Important Note:\n If you enter the wrong redemption code 5 times within 24 hours, you will no longer be able to\n redeem any Binance Gift Cards that day.\n\n Code Format Options:\n - Plaintext\n - Encrypted (Recommended for better security)\n\n For encrypted format:\n 1. Fetch RSA public key from the RSA public key endpoint\n 2. Encrypt the code using algorithm: RSA/ECB/OAEPWithSHA-256AndMGF1Padding\n\n https://developers.binance.com/docs/gift_card/market-data/Redeem-a-Binance-Gift-Card\n :param code: Redemption code of Binance Gift Card to be redeemed, supports both Plaintext & Encrypted code\n :type code: str\n :param externalUid: External unique ID representing a user on the partner platform.\n Helps identify redemption behavior and control risks/limits.\n Max 400 characters. (optional)\n :type externalUid: str\n :param recvWindow: The receive window for the request in milliseconds (optional)\n :type recvWindow: int\n :return: api response\n .. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": {\n \"referenceNo\": \"0033002328060227\",\n \"identityNo\": \"10317392647411060736\",\n \"token\": \"BNB\",\n \"amount\": \"0.00000001\"\n },\n \"success\": true\n }\n \"\"\"\n return self._request_margin_api(\n \"post\", \"giftcard/redeemCode\", signed=True, data=params\n )\n\n def gift_card_create(self, **params):\n \"\"\"\n This API is for creating a Binance Gift Card.\n\n To get started with, please make sure:\n\n - You have a Binance account\n - You have passed KYB\n - You have a suf\ufb01cient balance(Gift Card amount and fee amount) in your Binance funding wallet\n - You need Enable Withdrawals for the API Key which requests this endpoint.\n\n https://developers.binance.com/docs/gift_card/market-data\n\n :param token: The token type contained in the Binance Gift Card\n :type token: str\n :param amount: The amount of the token contained in the Binance Gift Card\n :type amount: float\n :return: api response\n .. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": {\n \"referenceNo\": \"0033002144060553\",\n \"code\": \"6H9EKF5ECCWFBHGE\",\n \"expiredTime\": 1727417154000\n },\n \"success\": true\n }\n \"\"\"\n return self._request_margin_api(\n \"post\", \"giftcard/createCode\", signed=True, data=params\n )\n\n def gift_card_create_dual_token(self, **params):\n \"\"\"This API is for creating a dual-token ( stablecoin-denominated) Binance Gift Card. You may create a gift card using USDT as baseToken, that is redeemable to another designated token (faceToken). For example, you can create a fixed-value BTC gift card and pay with 100 USDT plus 1 USDT fee. This gift card can keep the value fixed at 100 USDT before redemption, and will be redeemable to BTC equivalent to 100 USDT upon redemption.\n\n Once successfully created, the amount of baseToken (e.g. USDT) in the fixed-value gift card along with the fee would be deducted from your funding wallet.\n\n To get started with, please make sure:\n - You have a Binance account\n - You have passed KYB\n - You have a suf\ufb01cient balance(Gift Card amount and fee amount) in your Binance funding wallet\n - You need Enable Withdrawals for the API Key which requests this endpoint.\n\n https://developers.binance.com/docs/gift_card/market-data/Create-a-dual-token-gift-card\n :param baseToken: The token you want to pay, example: BUSD\n :type baseToken: str\n :param faceToken: The token you want to buy, example: BNB. If faceToken = baseToken, it's the same as createCode endpoint.\n :type faceToken: str\n :param discount: Stablecoin-denominated card discount percentage, Example: 1 for 1% discount. Scale should be less than 6.\n :type discount: float\n :return: api response\n .. code-block:: python\n {\n \"code\": \"000000\",\n \"message\": \"success\",\n \"data\": {\n \"referenceNo\": \"0033002144060553\",\n \"code\": \"6H9EKF5ECCWFBHGE\",\n \"expiredTime\": 1727417154000\n },\n \"success\": true\n }\n \"\"\"\n return self._request_margin_api(\n \"post\", \"giftcard/buyCode\", signed=True, data=params\n )\n\n ####################################################\n # Borrow and repay Endpoints\n ####################################################\n\n def margin_next_hourly_interest_rate(self, **params):\n \"\"\"Get future hourly interest rate (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay\n\n :param assets: required - List of assets, separated by commas, up to 20\n :type assets: str\n :param isIsolated: required - for isolated margin or not, \"TRUE\", \"FALSE\"\n :type isIsolated: bool\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"asset\": \"BTC\",\n \"nextHourlyInterestRate\": \"0.00000571\"\n },\n {\n \"asset\": \"ETH\",\n \"nextHourlyInterestRate\": \"0.00000578\"\n }\n ]\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/next-hourly-interest-rate\", signed=True, data=params\n )\n\n def margin_interest_history(self, **params):\n \"\"\"Get Interest History (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay/Get-Interest-History\n\n :param asset: optional\n :type asset: str\n :param isolatedSymbol: optional - isolated symbol\n :type isolatedSymbol: str\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param current: optional - Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: optional - Default:10 Max:100\n :type size: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"rows\": [\n {\n \"txId\": 1352286576452864727,\n \"interestAccuredTime\": 1672160400000,\n \"asset\": \"USDT\",\n \"rawAsset\": \u201cUSDT\u201d, // will not be returned for isolated margin\n \"principal\": \"45.3313\",\n \"interest\": \"0.00024995\",\n \"interestRate\": \"0.00013233\",\n \"type\": \"ON_BORROW\",\n \"isolatedSymbol\": \"BNBUSDT\" // isolated symbol, will not be returned for crossed margin\n }\n ],\n \"total\": 1\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/interestHistory\", signed=True, data=params\n )\n\n def margin_borrow_repay(self, **params):\n \"\"\"Margin Account Borrow/Repay (MARGIN)\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay/Margin-Account-Borrow-Repay\n\n :param asset: required\n :type asset: str\n :param amount: required\n :type amount: float\n :param isIsolated: optional - for isolated margin or not, \"TRUE\", \"FALSE\", default \"FALSE\"\n :type isIsolated: str\n :param symbol: optional - isolated symbol\n :type symbol: str\n :param type: str\n :type type: str - BORROW or REPAY\n\n :returns: API response\n .. code-block:: python\n {\n //transaction id\n \"tranId\": 100000001\n }\n\n \"\"\"\n return self._request_margin_api(\n \"post\", \"margin/borrow-repay\", signed=True, data=params\n )\n\n def margin_get_borrow_repay_records(self, **params):\n \"\"\"Query Query borrow/repay records in Margin account (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay/Query-Borrow-Repay\n\n :param asset: required\n :type asset: str\n :param isolatedSymbol: optional - isolated symbol\n :type isolatedSymbol: str\n :param txId: optional - the tranId in POST /sapi/v1/margin/loan\n :type txId: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n :param current: optional - Currently querying page. Start from 1. Default:1\n :type current: int\n :param size: optional - Default:10 Max:100\n :type size: int\n\n :returns: API response\n\n .. code-block:: python\n {\n \"rows\": [\n {\n \"type\": \"AUTO\", // AUTO,MANUAL for Cross Margin Borrow; MANUAL\uff0cAUTO\uff0cBNB_AUTO_REPAY\uff0cPOINT_AUTO_REPAY for Cross Margin Repay; AUTO\uff0cMANUAL for Isolated Margin Borrow/Repay;\n \"isolatedSymbol\": \"BNBUSDT\", // isolated symbol, will not be returned for crossed margin\n \"amount\": \"14.00000000\", // Total amount borrowed/repaid\n \"asset\": \"BNB\",\n \"interest\": \"0.01866667\", // Interest repaid\n \"principal\": \"13.98133333\", // Principal repaid\n \"status\": \"CONFIRMED\", //one of PENDING (pending execution), CONFIRMED (successfully execution), FAILED (execution failed, nothing happened to your account);\n \"timestamp\": 1563438204000,\n \"txId\": 2970933056\n }\n ],\n \"total\": 1\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/borrow-repay\", signed=True, data=params\n )\n\n def margin_interest_rate_history(self, **params):\n \"\"\"Query Margin Interest Rate History (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay/Query-Margin-Interest-Rate-History\n\n :param asset: required\n :type asset: str\n :param vipLevel: optional\n :type vipLevel: int\n :param startTime: optional\n :type startTime: int\n :param endTime: optional\n :type endTime: int\n\n :returns: API response\n\n .. code-block:: python\n [\n {\n \"asset\": \"BTC\",\n \"dailyInterestRate\": \"0.00025000\",\n \"timestamp\": 1611544731000,\n \"vipLevel\": 1\n },\n {\n \"asset\": \"BTC\",\n \"dailyInterestRate\": \"0.00035000\",\n \"timestamp\": 1610248118000,\n \"vipLevel\": 1\n }\n ]\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/interestRateHistory\", signed=True, data=params\n )\n\n def margin_max_borrowable(self, **params):\n \"\"\"Query Max Borrow (USER_DATA)\n\n https://developers.binance.com/docs/margin_trading/borrow-and-repay/Query-Max-Borrow\n\n :param asset: required\n :type asset: str\n :param isolatedSymbol: optional - isolated symbol\n :type isolatedSymbol: str\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"amount\": \"1.69248805\", // account's currently max borrowable amount with sufficient system availability\n \"borrowLimit\": \"60\" // max borrowable amount limited by the account level\n }\n\n \"\"\"\n return self._request_margin_api(\n \"get\", \"margin/maxBorrowable\", signed=True, data=params\n )\n\n ####################################################\n # Futures Data\n ####################################################\n\n def futures_historical_data_link(self, **params):\n \"\"\"Get Future TickLevel Orderbook Historical Data Download Link.\n\n https://developers.binance.com/docs/derivatives/futures-data/market-data\n\n :param symbol: STRING - Required - Symbol name, e.g. BTCUSDT or BTCUSD_PERP\n :type symbol: str\n :param dataType: ENUM - Required - Data type:\n - T_DEPTH for ticklevel orderbook data\n - S_DEPTH for orderbook snapshot data\n :type dataType: str\n :param startTime: LONG - Required - Start time in milliseconds\n :type startTime: int\n :param endTime: LONG - Required - End time in milliseconds\n :type endTime: int\n :param recvWindow: LONG - Optional - Number of milliseconds after timestamp the request is valid for\n :type recvWindow: int\n :param timestamp: LONG - Required - Current timestamp in milliseconds\n :type timestamp: int\n\n :returns: API response\n\n .. code-block:: python\n\n {\n \"data\": [\n {\n \"day\": \"2023-06-30\",\n \"url\": \"\"\n }\n ]\n }\n\n :raises: BinanceRequestException, BinanceAPIException\n\n Notes:\n - The span between startTime and endTime can't be more than 7 days\n - The download link will be valid for 1 day\n - Only VIP users can query this endpoint\n - Weight: 200\n \"\"\"\n return self._request_margin_api(\"get\", \"futures/data/histDataLink\", signed=True, data=params)\n\n def margin_v1_get_loan_vip_ongoing_orders(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/vip/ongoing/orders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n GET /sapi/v1/loan/vip/ongoing/orders\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/vip/ongoing/orders\", signed=True, data=params, version=1)\n\n def margin_v1_get_mining_payment_other(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/payment/other.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Extra-Bonus-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/payment/other\", signed=True, data=params, version=1)\n\n def futures_coin_v1_get_income_asyn_id(self, **params):\n \"\"\"\n Placeholder function for GET /dapi/v1/income/asyn/id.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Futures-Transaction-History-Download-Link-by-Id\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"income/asyn/id\", signed=True, data=params, version=1)\n\n def margin_v1_get_simple_earn_flexible_history_subscription_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/simple-earn/flexible/history/subscriptionRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/simple_earn/history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"simple-earn/flexible/history/subscriptionRecord\", signed=True, data=params, version=1)\n\n def margin_v1_post_lending_auto_invest_one_off(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/lending/auto-invest/one-off.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"lending/auto-invest/one-off\", signed=True, data=params, version=1)\n\n def margin_v1_post_broker_sub_account_api_commission_coin_futures(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/commission/coinFutures.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/fee/Change-Sub-Account-CM-Futures-Commission\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/commission/coinFutures\", signed=True, data=params, version=1)\n\n def v3_post_order_list_otoco(self, **params):\n \"\"\"\n Placeholder function for POST /api/v3/orderList/otoco.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"post\", \"orderList/otoco\", signed=True, data=params, version=\"v3\")\n\n def futures_v1_get_order_asyn(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/order/asyn.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Order-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"order/asyn\", signed=True, data=params, version=1)\n\n def margin_v1_get_asset_custody_transfer_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/asset/custody/transfer-history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/asset/query-user-delegation\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"asset/custody/transfer-history\", signed=True, data=params, version=1)\n\n def margin_v1_post_broker_sub_account_blvt(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccount/blvt.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccount/blvt\", signed=True, data=params, version=1)\n\n def margin_v1_post_sol_staking_sol_redeem(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sol-staking/sol/redeem.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/staking/Redeem-SOL\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sol-staking/sol/redeem\", signed=True, data=params, version=1)\n\n def options_v1_get_countdown_cancel_all(self, **params):\n \"\"\"\n Placeholder function for GET /eapi/v1/countdownCancelAll.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Get-Auto-Cancel-All-Open-Orders-Config\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"countdownCancelAll\", signed=True, data=params)\n\n def margin_v1_get_margin_trade_coeff(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/margin/tradeCoeff.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/margin_trading/account/Get-Summary-Of-Margin-Account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/tradeCoeff\", signed=True, data=params, version=1)\n\n def futures_coin_v1_get_order_amendment(self, **params):\n \"\"\"\n Placeholder function for GET /dapi/v1/orderAmendment.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Get-Order-Modify-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"orderAmendment\", signed=True, data=params, version=1)\n\n def margin_v1_get_margin_available_inventory(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/margin/available-inventory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/margin_trading/market-data/Query-margin-avaliable-inventory\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/available-inventory\", signed=True, data=params, version=1)\n\n def margin_v1_post_account_api_restrictions_ip_restriction_ip_list(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/account/apiRestrictions/ipRestriction/ipList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"account/apiRestrictions/ipRestriction/ipList\", signed=True, data=params, version=1)\n\n def margin_v2_get_eth_staking_account(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/eth-staking/account.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/eth-staking/account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"eth-staking/account\", signed=True, data=params, version=2)\n\n def margin_v1_get_loan_income(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/income.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/stable-rate/market-data\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/income\", signed=True, data=params, version=1)\n\n def futures_coin_v1_get_pm_account_info(self, **params):\n \"\"\"\n Placeholder function for GET /dapi/v1/pmAccountInfo.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/portfolio-margin-endpoints\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"pmAccountInfo\", signed=True, data=params, version=1)\n\n def margin_v1_get_managed_subaccount_query_trans_log_for_investor(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/queryTransLogForInvestor.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-Account-Transfer-Log-Investor\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/queryTransLogForInvestor\", signed=True, data=params, version=1)\n\n def margin_v1_post_dci_product_auto_compound_edit_status(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/dci/product/auto_compound/edit-status.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/dual_investment/trade/Change-Auto-Compound-status\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"dci/product/auto_compound/edit-status\", signed=True, data=params, version=1)\n\n def futures_v1_get_trade_asyn(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/trade/asyn.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Trade-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"trade/asyn\", signed=True, data=params, version=1)\n\n def margin_v1_get_loan_vip_request_interest_rate(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/vip/request/interestRate.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/vip_loan/market-data\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/vip/request/interestRate\", signed=True, data=params, version=1)\n\n def futures_v1_get_funding_info(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/fundingInfo.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Get-Funding-Rate-Info\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"fundingInfo\", signed=False, data=params, version=1)\n\n def margin_v2_get_loan_flexible_repay_rate(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/loan/flexible/repay/rate.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Check-Collateral-Repay-Rate\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/flexible/repay/rate\", signed=True, data=params, version=2)\n\n def margin_v1_get_lending_auto_invest_plan_id(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/plan/id.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/plan/id\", signed=True, data=params, version=1)\n\n def margin_v1_post_loan_adjust_ltv(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/adjust/ltv.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/adjust/ltv\", signed=True, data=params, version=1)\n\n def margin_v1_get_mining_statistics_user_status(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/statistics/user/status.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Statistic-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/statistics/user/status\", signed=True, data=params, version=1)\n\n def margin_v1_get_broker_transfer_futures(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/transfer/futures.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Transfer-History-Futures\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/transfer/futures\", signed=True, data=params, version=1)\n\n def margin_v1_post_algo_spot_new_order_twap(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/algo/spot/newOrderTwap.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/algo/spot-algo/Time-Weighted-Average-Price-New-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"algo/spot/newOrderTwap\", signed=True, data=params, version=1)\n\n def margin_v1_get_lending_auto_invest_target_asset_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/target-asset/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/target-asset/list\", signed=True, data=params, version=1)\n\n def margin_v1_get_capital_deposit_address_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/capital/deposit/address/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/capital/deposite-address\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"capital/deposit/address/list\", signed=True, data=params, version=1)\n\n def margin_v1_post_broker_sub_account_bnb_burn_margin_interest(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccount/bnbBurn/marginInterest.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Enable-Or-Disable-BNB-Burn-for-Sub-Account-Margin-Interest\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccount/bnbBurn/marginInterest\", signed=True, data=params, version=1)\n\n def margin_v2_post_loan_flexible_repay(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v2/loan/flexible/repay.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Repay\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/flexible/repay\", signed=True, data=params, version=2)\n\n def margin_v2_get_loan_flexible_loanable_data(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/loan/flexible/loanable/data.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/market-data/Get-Flexible-Loan-Assets-Data\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/flexible/loanable/data\", signed=True, data=params, version=2)\n\n def margin_v1_post_broker_sub_account_api_permission(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/permission.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Change-Sub-Account-Api-Permission\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/permission\", signed=True, data=params, version=1)\n\n def margin_v1_post_broker_sub_account_api(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Create-Api-Key-for-Sub-Account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi\", signed=True, data=params, version=1)\n\n def margin_v1_get_dci_product_positions(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/dci/product/positions.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/dual_investment/trade/Get-Dual-Investment-positions\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"dci/product/positions\", signed=True, data=params, version=1)\n\n def margin_v1_post_convert_limit_cancel_order(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/convert/limit/cancelOrder.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/convert/trade/Cancel-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"convert/limit/cancelOrder\", signed=True, data=params, version=1)\n\n def v3_post_order_list_oto(self, **params):\n \"\"\"\n Placeholder function for POST /api/v3/orderList/oto.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"post\", \"orderList/oto\", signed=True, data=params, version=\"v3\")\n\n def margin_v1_get_mining_hash_transfer_config_details_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/hash-transfer/config/details/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/hash-transfer/config/details/list\", signed=True, data=params, version=1)\n\n def margin_v1_get_mining_hash_transfer_profit_details(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/hash-transfer/profit/details.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-Detail\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/hash-transfer/profit/details\", signed=True, data=params, version=1)\n\n def margin_v1_get_broker_sub_account(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccount.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Query-Sub-Account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount\", signed=True, data=params, version=1)\n\n def margin_v1_get_portfolio_balance(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/portfolio/balance.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Balance-Info\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"portfolio/balance\", signed=True, data=params, version=1)\n\n def margin_v1_post_sub_account_eoptions_enable(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sub-account/eoptions/enable.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/account-management/Enable-Options-for-Sub-account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sub-account/eoptions/enable\", signed=True, data=params, version=1)\n\n def papi_v1_post_ping(self, **params):\n \"\"\"\n Placeholder function for POST /papi/v1/ping.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_papi_api(\"post\", \"ping\", signed=True, data=params, version=1)\n\n def margin_v1_get_loan_loanable_data(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/loanable/data.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/loanable/data\", signed=True, data=params, version=1)\n\n def margin_v1_post_eth_staking_wbeth_unwrap(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/eth-staking/wbeth/unwrap.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"eth-staking/wbeth/unwrap\", signed=True, data=params, version=1)\n\n def margin_v1_get_eth_staking_eth_history_staking_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/eth-staking/eth/history/stakingHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/eth-staking/history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"eth-staking/eth/history/stakingHistory\", signed=True, data=params, version=1)\n\n def margin_v1_get_staking_staking_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/staking/stakingRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"staking/stakingRecord\", signed=True, data=params, version=1)\n\n def margin_v1_get_broker_rebate_recent_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/rebate/recentRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/fee/Query-Spot-Commission-Rebate-Recent-Record\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/rebate/recentRecord\", signed=True, data=params, version=1)\n\n def margin_v1_get_loan_vip_collateral_account(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/vip/collateral/account.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/vip_loan/user-information/Check-Locked-Value-of-VIP-Collateral-Account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/vip/collateral/account\", signed=True, data=params, version=1)\n\n def margin_v1_get_algo_spot_open_orders(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/algo/spot/openOrders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/algo/spot-algo/Query-Current-Algo-Open-Orders\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"algo/spot/openOrders\", signed=True, data=params, version=1)\n\n def margin_v1_post_loan_repay(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/repay.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/repay\", signed=True, data=params, version=1)\n\n def futures_coin_v1_get_funding_info(self, **params):\n \"\"\"\n Placeholder function for GET /dapi/v1/fundingInfo.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Get-Funding-Info\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"fundingInfo\", signed=False, data=params, version=1)\n\n def margin_v1_get_margin_leverage_bracket(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/margin/leverageBracket.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/margin_trading/market-data/Query-Liability-Coin-Leverage-Bracket-in-Cross-Margin-Pro-Mode\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/leverageBracket\", signed=True, data=params, version=1)\n\n def margin_v2_get_portfolio_collateral_rate(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/portfolio/collateralRate.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin-pro/market-data/Portfolio-Margin-Pro-Tiered-Collateral-Rate\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"portfolio/collateralRate\", signed=True, data=params, version=2)\n\n def margin_v2_post_loan_flexible_adjust_ltv(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v2/loan/flexible/adjust/ltv.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/trade/Flexible-Loan-Adjust-LTV\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/flexible/adjust/ltv\", signed=True, data=params, version=2)\n\n def margin_v1_get_convert_order_status(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/convert/orderStatus.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/convert/trade/Order-Status\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"convert/orderStatus\", signed=True, data=params, version=1)\n\n def margin_v1_get_broker_sub_account_api_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccountApi/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Get-IPRestriction-for-Sub-Account-Api-Key\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccountApi/ipRestriction\", signed=True, data=params, version=1)\n\n def margin_v1_post_dci_product_subscribe(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/dci/product/subscribe.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/dual_investment/trade\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"dci/product/subscribe\", signed=True, data=params, version=1)\n\n def futures_v1_get_income_asyn_id(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/income/asyn/id.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Futures-Transaction-History-Download-Link-by-Id\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"income/asyn/id\", signed=True, data=params, version=1)\n\n def options_v1_post_countdown_cancel_all(self, **params):\n \"\"\"\n Placeholder function for POST /eapi/v1/countdownCancelAll.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Set-Auto-Cancel-All-Open-Orders-Config\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"post\", \"countdownCancelAll\", signed=True, data=params)\n\n def margin_v1_post_mining_hash_transfer_config_cancel(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/mining/hash-transfer/config/cancel.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Cancel-hashrate-resale-configuration\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"mining/hash-transfer/config/cancel\", signed=True, data=params, version=1)\n\n def margin_v1_get_broker_sub_account_deposit_hist(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccount/depositHist.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Get-Sub-Account-Deposit-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount/depositHist\", signed=True, data=params, version=1)\n\n def margin_v1_get_mining_payment_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/payment/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Earnings-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/payment/list\", signed=True, data=params, version=1)\n\n def futures_v1_get_pm_account_info(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/pmAccountInfo.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/portfolio-margin-endpoints\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"pmAccountInfo\", signed=True, data=params, version=1)\n\n def futures_coin_v1_get_adl_quantile(self, **params):\n \"\"\"\n Placeholder function for GET /dapi/v1/adlQuantile.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Position-ADL-Quantile-Estimation\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"adlQuantile\", signed=True, data=params, version=1)\n\n def options_v1_get_income_asyn_id(self, **params):\n \"\"\"\n Placeholder function for GET /eapi/v1/income/asyn/id.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/account/Get-Option-Transaction-History-Download-Link-by-Id\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"income/asyn/id\", signed=True, data=params)\n\n def v3_post_cancel_replace(self, **params):\n \"\"\"\n Placeholder function for POST /api/v3/cancelReplace.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"post\", \"cancelReplace\", signed=True, data=params, version=\"v3\")\n\n def margin_v1_post_account_enable_fast_withdraw_switch(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/account/enableFastWithdrawSwitch.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/account/enable-fast-withdraw-switch\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"account/enableFastWithdrawSwitch\", signed=True, data=params, version=1)\n\n def margin_v1_post_broker_transfer_futures(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/transfer/futures.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Sub-Account-Transfer-Futures\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/transfer/futures\", signed=True, data=params, version=1)\n\n def margin_v1_post_sol_staking_sol_stake(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sol-staking/sol/stake.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/staking\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sol-staking/sol/stake\", signed=True, data=params, version=1)\n\n def margin_v1_post_loan_borrow(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/borrow.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/borrow\", signed=True, data=params, version=1)\n\n def margin_v1_get_managed_subaccount_info(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/info.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/info\", signed=True, data=params, version=1)\n\n def margin_v1_post_lending_auto_invest_plan_edit_status(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/lending/auto-invest/plan/edit-status.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"lending/auto-invest/plan/edit-status\", signed=True, data=params, version=1)\n\n def margin_v1_get_sol_staking_sol_history_unclaimed_rewards(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/sol/history/unclaimedRewards.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/history/Get-Unclaimed-rewards\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/sol/history/unclaimedRewards\", signed=True, data=params, version=1)\n\n def margin_v1_post_asset_convert_transfer_query_by_page(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/asset/convert-transfer/queryByPage.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"asset/convert-transfer/queryByPage\", signed=True, data=params, version=1)\n\n def margin_v1_get_sol_staking_sol_history_boost_rewards_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/sol/history/boostRewardsHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/history/Get-Boost-rewards-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/sol/history/boostRewardsHistory\", signed=True, data=params, version=1)\n\n def margin_v1_get_lending_auto_invest_one_off_status(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/one-off/status.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/one-off/status\", signed=True, data=params, version=1)\n\n def margin_v1_post_broker_sub_account(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccount.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccount\", signed=True, data=params, version=1)\n\n def margin_v1_get_asset_ledger_transfer_cloud_mining_query_by_page(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/asset/ledger-transfer/cloud-mining/queryByPage.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/asset/cloud-mining-payment-and-refund-history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"asset/ledger-transfer/cloud-mining/queryByPage\", signed=True, data=params, version=1)\n\n def margin_v1_get_mining_pub_coin_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/pub/coinList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Acquiring-CoinName\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/pub/coinList\", signed=True, data=params, version=1)\n\n def margin_v2_get_loan_flexible_repay_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/loan/flexible/repay/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Repayment-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/flexible/repay/history\", signed=True, data=params, version=2)\n\n def v3_post_sor_order(self, **params):\n \"\"\"\n Placeholder function for POST /api/v3/sor/order.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"post\", \"sor/order\", signed=True, data=params, version=\"v3\")\n\n def margin_v1_post_capital_deposit_credit_apply(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/capital/deposit/credit-apply.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/capital/one-click-arrival-deposite-apply\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"capital/deposit/credit-apply\", signed=True, data=params, version=1)\n\n def futures_v1_put_batch_order(self, **params):\n \"\"\"\n Placeholder function for PUT /fapi/v1/batchOrder.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"put\", \"batchOrder\", signed=True, data=params, version=1)\n\n def margin_v1_get_mining_statistics_user_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/statistics/user/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Account-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/statistics/user/list\", signed=True, data=params, version=1)\n\n def futures_v1_post_batch_order(self, **params):\n \"\"\"\n Placeholder function for POST /fapi/v1/batchOrder.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"post\", \"batchOrder\", signed=True, data=params, version=1)\n\n def v3_get_ticker_trading_day(self, **params):\n \"\"\"\n Placeholder function for GET /api/v3/ticker/tradingDay.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"get\", \"ticker/tradingDay\", signed=False, data=params, version=\"v3\")\n\n def margin_v1_get_mining_worker_detail(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/worker/detail.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Request-for-Detail-Miner-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/worker/detail\", signed=True, data=params, version=1)\n\n def margin_v1_get_managed_subaccount_fetch_future_asset(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/fetch-future-asset.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-Futures-Asset-Details\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/fetch-future-asset\", signed=True, data=params, version=1)\n\n def margin_v1_get_margin_rate_limit_order(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/margin/rateLimit/order.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Current-Margin-Order-Count-Usage\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/rateLimit/order\", signed=True, data=params, version=1)\n\n def margin_v1_get_localentity_vasp(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/localentity/vasp.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/travel-rule/onboarded-vasp-list\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"localentity/vasp\", signed=True, data=params, version=1)\n\n def margin_v1_get_sol_staking_sol_history_rate_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/sol/history/rateHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-Rate-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/sol/history/rateHistory\", signed=True, data=params, version=1)\n\n def margin_v1_post_broker_sub_account_api_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/ipRestriction\", signed=True, data=params, version=1)\n\n def margin_v1_get_broker_transfer(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/transfer.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Transfer-History-Spot\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/transfer\", signed=True, data=params, version=1)\n\n def margin_v1_get_sol_staking_account(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/account.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/account\", signed=True, data=params, version=1)\n\n def margin_v1_get_account_info(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/account/info.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"account/info\", signed=True, data=params, version=1)\n\n def margin_v1_post_portfolio_repay_futures_switch(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/portfolio/repay-futures-switch.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Change-Auto-repay-futures-Status\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"portfolio/repay-futures-switch\", signed=True, data=params, version=1)\n\n def margin_v1_post_loan_vip_borrow(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/vip/borrow.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/vip/borrow\", signed=True, data=params, version=1)\n\n def margin_v2_get_loan_flexible_ltv_adjustment_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/loan/flexible/ltv/adjustment/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/flexible/ltv/adjustment/history\", signed=True, data=params, version=2)\n\n def options_v1_delete_all_open_orders_by_underlying(self, **params):\n \"\"\"\n Placeholder function for DELETE /eapi/v1/allOpenOrdersByUnderlying.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/trade/Cancel-All-Option-Orders-By-Underlying\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"delete\", \"allOpenOrdersByUnderlying\", signed=True, data=params)\n\n def margin_v1_get_broker_sub_account_futures_summary(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccount/futuresSummary.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount/futuresSummary\", signed=True, data=params, version=1)\n\n def margin_v1_get_broker_sub_account_spot_summary(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccount/spotSummary.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Spot-Asset-Info\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount/spotSummary\", signed=True, data=params, version=1)\n\n def margin_v1_post_sub_account_blvt_enable(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sub-account/blvt/enable.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sub-account/blvt/enable\", signed=True, data=params, version=1)\n\n def margin_v1_get_algo_spot_historical_orders(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/algo/spot/historicalOrders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/algo/spot-algo/Query-Historical-Algo-Orders\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"algo/spot/historicalOrders\", signed=True, data=params, version=1)\n\n def margin_v1_get_loan_vip_repay_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/vip/repay/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/vip_loan/user-information/Get-VIP-Loan-Repayment-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/vip/repay/history\", signed=True, data=params, version=1)\n\n def margin_v1_get_loan_borrow_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/borrow/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/stable-rate/user-information\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/borrow/history\", signed=True, data=params, version=1)\n\n def margin_v1_post_lending_auto_invest_redeem(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/lending/auto-invest/redeem.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"lending/auto-invest/redeem\", signed=True, data=params, version=1)\n\n def futures_coin_v1_get_income_asyn(self, **params):\n \"\"\"\n Placeholder function for GET /dapi/v1/income/asyn.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Transaction-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"income/asyn\", signed=True, data=params, version=1)\n\n def margin_v1_post_managed_subaccount_deposit(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/managed-subaccount/deposit.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"managed-subaccount/deposit\", signed=True, data=params, version=1)\n\n def margin_v1_post_lending_daily_purchase(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/lending/daily/purchase.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"lending/daily/purchase\", signed=True, data=params, version=1)\n\n def futures_v1_get_trade_asyn_id(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/trade/asyn/id.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Futures-Trade-Download-Link-by-Id\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"trade/asyn/id\", signed=True, data=params, version=1)\n\n def margin_v1_delete_sub_account_sub_account_api_ip_restriction_ip_list(self, **params):\n \"\"\"\n Placeholder function for DELETE /sapi/v1/sub-account/subAccountApi/ipRestriction/ipList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/api-management/Delete-IP-List-For-a-Sub-account-API-Key\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"delete\", \"sub-account/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)\n\n def margin_v1_get_copy_trading_futures_user_status(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/copyTrading/futures/userStatus.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/copy_trading/future-copy-trading\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"copyTrading/futures/userStatus\", signed=True, data=params, version=1)\n\n def options_v1_get_margin_account(self, **params):\n \"\"\"\n Placeholder function for GET /eapi/v1/marginAccount.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-endpoints\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"marginAccount\", signed=True, data=params)\n\n def options_get_market_maker_protection_config(self, **params):\n \"\"\"\n Get config for MMP.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Get-Market-Maker-Protection-Config\n\n :param underlying: required\n :type underlying: str\n :param recvWindow: optional\n :type recvWindow: int\n \"\"\"\n return self._request_options_api(\"get\", \"mmp\", signed=True, data=params)\n\n def options_post_market_maker_protection_config(self, **params):\n \"\"\"\n Set config for MMP.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Set-Market-Maker-Protection-Config\n\n :param underlying: required\n :type underlying: str\n :param windowTimeInMilliseconds: required\n :type windowTimeInMilliseconds: int\n :param frozenTimeInMilliseconds: required\n :type frozenTimeInMilliseconds: int\n :param qtyLimit: required\n :type qtyLimit: decimal\n :param deltaLimit: required\n :type deltaLimit: decimal\n :param recvWindow: optional\n :type recvWindow: int\n \"\"\"\n return self._request_options_api(\"post\", \"mmpSet\", signed=True, data=params)\n\n def options_reset_market_maker_protection_config(self, **params):\n \"\"\"\n Reset MMP, start MMP order again.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Reset-Market-Maker-Protection-Config\n\n :param underlying: required\n :type underlying: str\n :param recvWindow: optional\n :type recvWindow: int\n \"\"\"\n return self._request_options_api(\"post\", \"mmpReset\", signed=True, data=params)\n\n def margin_v1_post_localentity_withdraw_apply(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/localentity/withdraw/apply.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/travel-rule/withdraw\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"localentity/withdraw/apply\", signed=True, data=params, version=1)\n\n def margin_v1_get_asset_wallet_balance(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/asset/wallet/balance.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/asset/query-user-wallet-balance\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"asset/wallet/balance\", signed=True, data=params, version=1)\n\n def margin_v1_post_broker_transfer(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/transfer.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/transfer\", signed=True, data=params, version=1)\n\n def margin_v1_post_lending_customized_fixed_purchase(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/lending/customizedFixed/purchase.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"lending/customizedFixed/purchase\", signed=True, data=params, version=1)\n\n def margin_v1_post_algo_futures_new_order_twap(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/algo/futures/newOrderTwap.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/algo/future-algo/Time-Weighted-Average-Price-New-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"algo/futures/newOrderTwap\", signed=True, data=params, version=1)\n\n def margin_v2_post_eth_staking_eth_stake(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v2/eth-staking/eth/stake.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/eth-staking/staking\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"eth-staking/eth/stake\", signed=True, data=params, version=2)\n\n def margin_v1_post_loan_flexible_repay_history(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/flexible/repay/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/flexible/repay/history\", signed=True, data=params, version=1)\n\n def margin_v1_get_lending_auto_invest_index_info(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/index/info.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/index/info\", signed=True, data=params, version=1)\n\n def margin_v1_get_sol_staking_sol_history_redemption_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/sol/history/redemptionHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-redemption-history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/sol/history/redemptionHistory\", signed=True, data=params, version=1)\n\n def margin_v1_get_broker_rebate_futures_recent_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/rebate/futures/recentRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/fee/Query-Futures-Commission-Rebate-Record\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/rebate/futures/recentRecord\", signed=True, data=params, version=1)\n\n def margin_v3_get_broker_sub_account_futures_summary(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v3/broker/subAccount/futuresSummary.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Futures-Asset-Info\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount/futuresSummary\", signed=True, data=params, version=3)\n\n def margin_v1_get_lending_auto_invest_target_asset_roi_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/target-asset/roi/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/target-asset/roi/list\", signed=True, data=params, version=1)\n\n def margin_v1_get_broker_universal_transfer(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/universalTransfer.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Universal-Transfer-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/universalTransfer\", signed=True, data=params, version=1)\n\n def futures_v1_put_batch_orders(self, **params):\n \"\"\"\n Placeholder function for PUT /fapi/v1/batchOrders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Modify-Multiple-Orders\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"put\", \"batchOrders\", signed=True, data=params, version=1)\n\n def options_v1_post_countdown_cancel_all_heart_beat(self, **params):\n \"\"\"\n Placeholder function for POST /eapi/v1/countdownCancelAllHeartBeat.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/market-maker-endpoints/Auto-Cancel-All-Open-Orders-Heartbeat\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"post\", \"countdownCancelAllHeartBeat\", signed=True, data=params)\n\n def margin_v1_get_loan_collateral_data(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/collateral/data.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/collateral/data\", signed=True, data=params, version=1)\n\n def margin_v1_get_loan_repay_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/repay/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-Repayment-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/repay/history\", signed=True, data=params, version=1)\n\n def margin_v1_post_convert_limit_place_order(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/convert/limit/placeOrder.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/convert/trade/Place-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"convert/limit/placeOrder\", signed=True, data=params, version=1)\n\n def futures_v1_get_convert_exchange_info(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/convert/exchangeInfo.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/convert\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"convert/exchangeInfo\", signed=False, data=params, version=1)\n\n def v3_get_all_order_list(self, **params):\n \"\"\"\n Placeholder function for GET /api/v3/allOrderList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"get\", \"allOrderList\", signed=True, data=params, version=\"v3\")\n\n def margin_v1_delete_broker_sub_account_api_ip_restriction_ip_list(self, **params):\n \"\"\"\n Placeholder function for DELETE /sapi/v1/broker/subAccountApi/ipRestriction/ipList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Delete-IPRestriction-for-Sub-Account-Api-Key\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"delete\", \"broker/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)\n\n def margin_v1_post_sub_account_virtual_sub_account(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sub-account/virtualSubAccount.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/account-management\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sub-account/virtualSubAccount\", signed=True, data=params, version=1)\n\n def margin_v1_put_localentity_deposit_provide_info(self, **params):\n \"\"\"\n Placeholder function for PUT /sapi/v1/localentity/deposit/provide-info.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/travel-rule/deposit-provide-info\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"put\", \"localentity/deposit/provide-info\", signed=True, data=params, version=1)\n\n def margin_v1_post_portfolio_mint(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/portfolio/mint.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Mint-BFUSD-Portfolio-Margin\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"portfolio/mint\", signed=True, data=params, version=1)\n\n def futures_v1_get_order_amendment(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/orderAmendment.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Get-Order-Modify-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"orderAmendment\", signed=True, data=params, version=1)\n\n def margin_v1_post_sol_staking_sol_claim(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sol-staking/sol/claim.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/staking/Claim-Boost-rewards\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sol-staking/sol/claim\", signed=True, data=params, version=1)\n\n def margin_v1_post_lending_daily_redeem(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/lending/daily/redeem.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"lending/daily/redeem\", signed=True, data=params, version=1)\n\n def margin_v1_post_mining_hash_transfer_config(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/mining/hash-transfer/config.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Hashrate-Resale-Request\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"mining/hash-transfer/config\", signed=True, data=params, version=1)\n\n def margin_v1_get_lending_auto_invest_rebalance_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/rebalance/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/rebalance/history\", signed=True, data=params, version=1)\n\n def margin_v1_get_loan_repay_collateral_rate(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/repay/collateral/rate.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/repay/collateral/rate\", signed=True, data=params, version=1)\n\n def futures_v1_get_income_asyn(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/income/asyn.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Download-Id-For-Futures-Transaction-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"income/asyn\", signed=True, data=params, version=1)\n\n def margin_v1_get_mining_payment_uid(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/payment/uid.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Mining-Account-Earning\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/payment/uid\", signed=True, data=params, version=1)\n\n def margin_v2_get_loan_flexible_borrow_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/loan/flexible/borrow/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Borrow-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/flexible/borrow/history\", signed=True, data=params, version=2)\n\n def margin_v1_get_capital_contract_convertible_coins(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/capital/contract/convertible-coins.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"capital/contract/convertible-coins\", signed=True, data=params, version=1)\n\n def margin_v1_post_broker_sub_account_api_permission_vanilla_options(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/permission/vanillaOptions.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/permission/vanillaOptions\", signed=True, data=params, version=1)\n\n def margin_v1_get_lending_auto_invest_redeem_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/redeem/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/travel-rule/withdraw-history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/redeem/history\", signed=True, data=params, version=1)\n\n def margin_v2_get_localentity_withdraw_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/localentity/withdraw/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/travel-rule/withdraw-history-v2\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"localentity/withdraw/history\", signed=True, data=params, version=2)\n\n def margin_v1_get_eth_staking_eth_history_redemption_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/eth-staking/eth/history/redemptionHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-redemption-history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"eth-staking/eth/history/redemptionHistory\", signed=True, data=params, version=1)\n\n def futures_v1_get_fee_burn(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/feeBurn.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-BNB-Burn-Status\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"feeBurn\", signed=True, data=params, version=1)\n\n def margin_v1_get_lending_auto_invest_index_user_summary(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/index/user-summary.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/index/user-summary\", signed=True, data=params, version=1)\n\n def margin_v2_post_loan_flexible_borrow(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v2/loan/flexible/borrow.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/trade\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/flexible/borrow\", signed=True, data=params, version=2)\n\n def margin_v1_post_loan_vip_repay(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/vip/repay.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/vip_loan/trade/VIP-Loan-Repay\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/vip/repay\", signed=True, data=params, version=1)\n\n def futures_coin_v1_get_commission_rate(self, **params):\n \"\"\"\n Placeholder function for GET /dapi/v1/commissionRate.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/account/rest-api/User-Commission-Rate\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"get\", \"commissionRate\", signed=True, data=params, version=1)\n\n def margin_v1_get_convert_asset_info(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/convert/assetInfo.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/convert/market-data/Query-order-quantity-precision-per-asset\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"convert/assetInfo\", signed=True, data=params, version=1)\n\n def v3_post_sor_order_test(self, **params):\n \"\"\"\n Placeholder function for POST /api/v3/sor/order/test.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"post\", \"sor/order/test\", signed=True, data=params, version=\"v3\")\n\n def margin_v1_post_broker_universal_transfer(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/universalTransfer.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Universal-Transfer\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/universalTransfer\", signed=True, data=params, version=1)\n\n def margin_v1_post_account_disable_fast_withdraw_switch(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/account/disableFastWithdrawSwitch.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/account/disable-fast-withdraw-switch\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"account/disableFastWithdrawSwitch\", signed=True, data=params, version=1)\n\n def futures_v1_get_asset_index(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/assetIndex.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Multi-Assets-Mode-Asset-Index\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"assetIndex\", signed=False, data=params, version=1)\n\n def margin_v1_get_account_api_restrictions_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/account/apiRestrictions/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"account/apiRestrictions/ipRestriction\", signed=True, data=params, version=1)\n\n def margin_v1_post_broker_sub_account_bnb_burn_spot(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccount/bnbBurn/spot.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Enable-Or-Disable-BNB-Burn-for-Sub-Account-Spot-Margin\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccount/bnbBurn/spot\", signed=True, data=params, version=1)\n\n def futures_coin_v1_put_order(self, **params):\n \"\"\"\n Placeholder function for PUT /dapi/v1/order.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Modify-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"put\", \"order\", signed=True, data=params, version=1)\n\n def futures_coin_v1_put_batch_orders(self, **params):\n \"\"\"\n Placeholder function for PUT /dapi/v1/batchOrders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/coin-margined-futures/trade/rest-api/Modify-Multiple-Orders\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_coin_api(\"put\", \"batchOrders\", signed=True, data=params, version=1)\n\n def margin_v1_get_margin_delist_schedule(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/margin/delist-schedule.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/delist-schedule\", signed=True, data=params, version=1)\n\n def margin_v1_post_broker_sub_account_api_permission_universal_transfer(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/permission/universalTransfer.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Enable-Universal-Transfer-Permission-For-SubAccount-Api-Key\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/permission/universalTransfer\", signed=True, data=params, version=1)\n\n def margin_v1_get_loan_ltv_adjustment_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/ltv/adjustment/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/stable-rate/user-information/Get-Loan-LTV-Adjustment-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/ltv/adjustment/history\", signed=True, data=params, version=1)\n\n def margin_v1_get_localentity_withdraw_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/localentity/withdraw/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"localentity/withdraw/history\", signed=True, data=params, version=1)\n\n def margin_v2_post_sub_account_sub_account_api_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v2/sub-account/subAccountApi/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/api-management/Add-IP-Restriction-for-Sub-Account-API-key\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sub-account/subAccountApi/ipRestriction\", signed=True, data=params, version=2)\n\n def futures_v1_get_rate_limit_order(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/rateLimit/order.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Query-Rate-Limit\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"rateLimit/order\", signed=True, data=params, version=1)\n\n def margin_v1_get_broker_sub_account_api_commission_futures(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccountApi/commission/futures.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/fee/Query-Sub-Account-UM-Futures-Commission\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccountApi/commission/futures\", signed=True, data=params, version=1)\n\n def margin_v1_get_sol_staking_sol_history_staking_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/sol/history/stakingHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/sol/history/stakingHistory\", signed=True, data=params, version=1)\n\n def futures_v1_get_open_order(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/openOrder.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-Current-Open-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"openOrder\", signed=True, data=params, version=1)\n\n def margin_v1_delete_algo_spot_order(self, **params):\n \"\"\"\n Placeholder function for DELETE /sapi/v1/algo/spot/order.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/algo/spot-algo/Cancel-Algo-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"delete\", \"algo/spot/order\", signed=True, data=params, version=1)\n\n def margin_v1_delete_account_api_restrictions_ip_restriction_ip_list(self, **params):\n \"\"\"\n Placeholder function for DELETE /sapi/v1/account/apiRestrictions/ipRestriction/ipList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"delete\", \"account/apiRestrictions/ipRestriction/ipList\", signed=True, data=params, version=1)\n\n def margin_v1_post_capital_contract_convertible_coins(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/capital/contract/convertible-coins.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"capital/contract/convertible-coins\", signed=True, data=params, version=1)\n\n def margin_v1_get_managed_subaccount_margin_asset(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/marginAsset.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-Margin-Asset-Details\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/marginAsset\", signed=True, data=params, version=1)\n\n def v3_delete_order_list(self, **params):\n \"\"\"\n Placeholder function for DELETE /api/v3/orderList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"delete\", \"orderList\", signed=True, data=params, version=\"v3\")\n\n def margin_v1_post_sub_account_sub_account_api_ip_restriction_ip_list(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sub-account/subAccountApi/ipRestriction/ipList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sub-account/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)\n\n def margin_v1_post_broker_sub_account_api_commission(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/commission.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/fee\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/commission\", signed=True, data=params, version=1)\n\n def futures_v1_post_fee_burn(self, **params):\n \"\"\"\n Placeholder function for POST /fapi/v1/feeBurn.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Toggle-BNB-Burn-On-Futures-Trade\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"post\", \"feeBurn\", signed=True, data=params, version=1)\n\n def margin_v1_get_broker_sub_account_margin_summary(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccount/marginSummary.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/asset/Query-Sub-Account-Margin-Asset-Info\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount/marginSummary\", signed=True, data=params, version=1)\n\n def margin_v1_get_lending_auto_invest_plan_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/plan/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/plan/list\", signed=True, data=params, version=1)\n\n def margin_v1_get_loan_vip_loanable_data(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/vip/loanable/data.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/vip_loan/market-data/Get-Loanable-Assets-Data\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/vip/loanable/data\", signed=True, data=params, version=1)\n\n def margin_v2_get_loan_flexible_collateral_data(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/loan/flexible/collateral/data.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/market-data\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/flexible/collateral/data\", signed=True, data=params, version=2)\n\n def margin_v1_delete_broker_sub_account_api(self, **params):\n \"\"\"\n Placeholder function for DELETE /sapi/v1/broker/subAccountApi.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Delete-Sub-Account-Api-Key\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"delete\", \"broker/subAccountApi\", signed=True, data=params, version=1)\n\n def margin_v1_get_sol_staking_sol_history_bnsol_rewards_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/sol/history/bnsolRewardsHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-rewards-history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/sol/history/bnsolRewardsHistory\", signed=True, data=params, version=1)\n\n def margin_v1_get_convert_limit_query_open_orders(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/convert/limit/queryOpenOrders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/convert/trade/Query-Order\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"convert/limit/queryOpenOrders\", signed=True, data=params, version=1)\n\n def v3_get_account_commission(self, **params):\n \"\"\"\n Placeholder function for GET /api/v3/account/commission.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"get\", \"account/commission\", signed=True, data=params, version=\"v3\")\n\n def margin_v1_get_managed_subaccount_query_trans_log(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/query-trans-log.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-Account-Transfer-Log-Trading-Team-Sub\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/query-trans-log\", signed=True, data=params, version=1)\n\n def margin_v2_post_broker_sub_account_api_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v2/broker/subAccountApi/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Update-IP-Restriction-for-Sub-Account-API-key-For-Master-Account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/ipRestriction\", signed=True, data=params, version=2)\n\n def margin_v1_get_lending_auto_invest_all_asset(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/all/asset.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/all/asset\", signed=True, data=params, version=1)\n\n def futures_v1_post_convert_accept_quote(self, **params):\n \"\"\"\n Placeholder function for POST /fapi/v1/convert/acceptQuote.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/convert/Accept-Quote\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"post\", \"convert/acceptQuote\", signed=True, data=params, version=1)\n\n def margin_v1_get_spot_delist_schedule(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/spot/delist-schedule.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/asset/spot-delist-schedule\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"spot/delist-schedule\", signed=True, data=params, version=1)\n\n def margin_v1_post_account_api_restrictions_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/account/apiRestrictions/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"account/apiRestrictions/ipRestriction\", signed=True, data=params, version=1)\n\n def margin_v1_get_dci_product_accounts(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/dci/product/accounts.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/dual_investment/trade/Check-Dual-Investment-accounts\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"dci/product/accounts\", signed=True, data=params, version=1)\n\n def margin_v1_get_sub_account_sub_account_api_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sub-account/subAccountApi/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/api-management\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sub-account/subAccountApi/ipRestriction\", signed=True, data=params, version=1)\n\n def margin_v1_get_sub_account_transaction_statistics(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sub-account/transaction-statistics.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/account-management/Query-Sub-account-Transaction-Statistics\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sub-account/transaction-statistics\", signed=True, data=params, version=1)\n\n def margin_v1_get_managed_subaccount_deposit_address(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/deposit/address.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Get-Managed-Sub-account-Deposit-Address\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/deposit/address\", signed=True, data=params, version=1)\n\n def margin_v2_get_portfolio_account(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/portfolio/account.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Get-Classic-Portfolio-Margin-Account-Info-V2\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"portfolio/account\", signed=True, data=params, version=2)\n\n def margin_v1_get_simple_earn_locked_history_redemption_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/simple-earn/locked/history/redemptionRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/simple_earn/history/Get-Locked-Redemption-Record\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"simple-earn/locked/history/redemptionRecord\", signed=True, data=params, version=1)\n\n def futures_v1_get_order_asyn_id(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/order/asyn/id.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Get-Futures-Order-History-Download-Link-by-Id\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"order/asyn/id\", signed=True, data=params, version=1)\n\n def margin_v1_post_managed_subaccount_withdraw(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/managed-subaccount/withdraw.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Withdrawl-Assets-From-The-Managed-Sub-account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"managed-subaccount/withdraw\", signed=True, data=params, version=1)\n\n def margin_v1_get_localentity_deposit_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/localentity/deposit/history.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/wallet/travel-rule/deposit-history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"localentity/deposit/history\", signed=True, data=params, version=1)\n\n def margin_v1_post_eth_staking_wbeth_wrap(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/eth-staking/wbeth/wrap.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/eth-staking/staking/Wrap-BETH\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"eth-staking/wbeth/wrap\", signed=True, data=params, version=1)\n\n def margin_v1_post_simple_earn_locked_set_redeem_option(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/simple-earn/locked/setRedeemOption.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/simple_earn/earn/Set-Locked-Redeem-Option\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"simple-earn/locked/setRedeemOption\", signed=True, data=params, version=1)\n\n def margin_v1_post_broker_sub_account_api_ip_restriction_ip_list(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/ipRestriction/ipList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)\n\n def margin_v1_post_broker_sub_account_api_commission_futures(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/broker/subAccountApi/commission/futures.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/fee/Change-Sub-Account-UM-Futures-Commission\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"broker/subAccountApi/commission/futures\", signed=True, data=params, version=1)\n\n def margin_v1_get_lending_auto_invest_history_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/history/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/history/list\", signed=True, data=params, version=1)\n\n def margin_v1_post_loan_customize_margin_call(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/customize/margin_call.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/customize/margin_call\", signed=True, data=params, version=1)\n\n def margin_v1_get_broker_sub_account_bnb_burn_status(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccount/bnbBurn/status.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Get-BNB-Burn-Status-for-Sub-Account\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount/bnbBurn/status\", signed=True, data=params, version=1)\n\n def margin_v1_get_managed_subaccount_account_snapshot(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/accountSnapshot.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-Snapshot\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/accountSnapshot\", signed=True, data=params, version=1)\n\n def margin_v1_post_asset_convert_transfer(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/asset/convert-transfer.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"asset/convert-transfer\", signed=True, data=params, version=1)\n\n def options_v1_get_income_asyn(self, **params):\n \"\"\"\n Placeholder function for GET /eapi/v1/income/asyn.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/account/Get-Download-Id-For-Option-Transaction-History\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"income/asyn\", signed=True, data=params)\n\n def margin_v1_get_broker_sub_account_api_commission_coin_futures(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccountApi/commission/coinFutures.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/fee/Query-Sub-Account-CM-Futures-Commission\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccountApi/commission/coinFutures\", signed=True, data=params, version=1)\n\n def margin_v2_get_broker_sub_account_futures_summary(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/broker/subAccount/futuresSummary.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccount/futuresSummary\", signed=True, data=params, version=2)\n\n def margin_v1_get_loan_ongoing_orders(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/loan/ongoing/orders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/ongoing/orders\", signed=True, data=params, version=1)\n\n def margin_v2_get_loan_flexible_ongoing_orders(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v2/loan/flexible/ongoing/orders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/crypto_loan/flexible-rate/user-information/Get-Flexible-Loan-Ongoing-Orders\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"loan/flexible/ongoing/orders\", signed=True, data=params, version=2)\n\n def margin_v1_post_algo_futures_new_order_vp(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/algo/futures/newOrderVp.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/algo/future-algo\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"algo/futures/newOrderVp\", signed=True, data=params, version=1)\n\n def futures_v1_post_convert_get_quote(self, **params):\n \"\"\"\n Placeholder function for POST /fapi/v1/convert/getQuote.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/convert/Send-quote-request\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"post\", \"convert/getQuote\", signed=True, data=params, version=1)\n\n def margin_v1_get_algo_spot_sub_orders(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/algo/spot/subOrders.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/algo/spot-algo/Query-Sub-Orders\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"algo/spot/subOrders\", signed=True, data=params, version=1)\n\n def margin_v1_post_portfolio_redeem(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/portfolio/redeem.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin-pro/account/Redeem-BFUSD-Portfolio-Margin\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"portfolio/redeem\", signed=True, data=params, version=1)\n\n def margin_v1_post_lending_auto_invest_plan_add(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/lending/auto-invest/plan/add.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"lending/auto-invest/plan/add\", signed=True, data=params, version=1)\n\n def v3_get_order_list(self, **params):\n \"\"\"\n Placeholder function for GET /api/v3/orderList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_api(\"get\", \"orderList\", signed=True, data=params, version=\"v3\")\n\n def margin_v1_get_lending_auto_invest_source_asset_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/lending/auto-invest/source-asset/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"lending/auto-invest/source-asset/list\", signed=True, data=params, version=1)\n\n def margin_v1_get_margin_all_order_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/margin/allOrderList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/margin_trading/trade/Query-Margin-Account-All-OCO\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"margin/allOrderList\", signed=True, data=params, version=1)\n\n def margin_v1_post_eth_staking_eth_redeem(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/eth-staking/eth/redeem.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/eth-staking/staking/Redeem-ETH\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"eth-staking/eth/redeem\", signed=True, data=params, version=1)\n\n def margin_v1_get_broker_rebate_historical_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/rebate/historicalRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/rebate/historicalRecord\", signed=True, data=params, version=1)\n\n def margin_v1_get_simple_earn_locked_history_subscription_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/simple-earn/locked/history/subscriptionRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/simple_earn/history/Get-Locked-Subscription-Record\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"simple-earn/locked/history/subscriptionRecord\", signed=True, data=params, version=1)\n\n def margin_v1_get_managed_subaccount_asset(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/asset.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-account-Asset-Details\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/asset\", signed=True, data=params, version=1)\n\n def margin_v1_get_sol_staking_sol_quota(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/sol-staking/sol/quota.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/sol-staking/account/Get-SOL-staking-quota-details\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"sol-staking/sol/quota\", signed=True, data=params, version=1)\n\n def margin_v1_post_loan_vip_renew(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/loan/vip/renew.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"loan/vip/renew\", signed=True, data=params, version=1)\n\n def margin_v1_get_managed_subaccount_query_trans_log_for_trade_parent(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/managed-subaccount/queryTransLogForTradeParent.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/sub_account/managed-sub-account/Query-Managed-Sub-Account-Transfer-Log-Trading-Team-Master\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"managed-subaccount/queryTransLogForTradeParent\", signed=True, data=params, version=1)\n\n def margin_v1_post_sub_account_sub_account_api_ip_restriction(self, **params):\n \"\"\"\n Placeholder function for POST /sapi/v1/sub-account/subAccountApi/ipRestriction.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"post\", \"sub-account/subAccountApi/ipRestriction\", signed=True, data=params, version=1)\n\n def margin_v1_get_simple_earn_flexible_history_redemption_record(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/simple-earn/flexible/history/redemptionRecord.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/simple_earn/history/Get-Flexible-Redemption-Record\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"simple-earn/flexible/history/redemptionRecord\", signed=True, data=params, version=1)\n\n def margin_v1_get_broker_sub_account_api(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/broker/subAccountApi.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/binance_link/exchange-link/account/Query-Sub-Account-Api-Key\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"broker/subAccountApi\", signed=True, data=params, version=1)\n\n def options_v1_get_exercise_history(self, **params):\n \"\"\"\n Placeholder function for GET /eapi/v1/exerciseHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/market-data/Historical-Exercise-Records\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"exerciseHistory\", signed=False, data=params)\n\n def options_open_interest(self, **params):\n \"\"\"Get present open interest specific underlying asset on specific expiration date.\n\n https://developers.binance.com/docs/derivatives/option/market-data/Open-Interest\n\n :param params: parameters required by the endpoint\n :type params: dict\n :param underlyingAsset: required\n :type underlyingAsset: str\n :param expiration: required (e.g '221225')\n :type expiration: str\n\n \"\"\"\n return self._request_options_api(\"get\", \"openInterest\", data=params)\n\n def margin_v1_get_convert_exchange_info(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/convert/exchangeInfo.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/convert/market-data\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"convert/exchangeInfo\", signed=False, data=params, version=1)\n\n def futures_v1_delete_batch_order(self, **params):\n \"\"\"\n Placeholder function for DELETE /fapi/v1/batchOrder.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"delete\", \"batchOrder\", signed=True, data=params, version=1)\n\n def margin_v1_get_eth_staking_eth_history_wbeth_rewards_history(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/eth-staking/eth/history/wbethRewardsHistory.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-rewards-history\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"eth-staking/eth/history/wbethRewardsHistory\", signed=True, data=params, version=1)\n\n def margin_v1_get_mining_pub_algo_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/pub/algoList.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/pub/algoList\", signed=True, data=params, version=1)\n\n def options_v1_get_block_trades(self, **params):\n \"\"\"\n Placeholder function for GET /eapi/v1/blockTrades.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/option/market-data/Recent-Block-Trade-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_options_api(\"get\", \"blockTrades\", signed=False, data=params)\n\n def margin_v1_get_copy_trading_futures_lead_symbol(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/copyTrading/futures/leadSymbol.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/copy_trading/future-copy-trading/Get-Futures-Lead-Trading-Symbol-Whitelist\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"copyTrading/futures/leadSymbol\", signed=True, data=params, version=1)\n\n def margin_v1_get_mining_worker_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/mining/worker/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/mining/rest-api/Request-for-Miner-List\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"mining/worker/list\", signed=True, data=params, version=1)\n\n def margin_v1_get_dci_product_list(self, **params):\n \"\"\"\n Placeholder function for GET /sapi/v1/dci/product/list.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/dual_investment/market-data\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_margin_api(\"get\", \"dci/product/list\", signed=True, data=params, version=1)\n\n def futures_v1_get_convert_order_status(self, **params):\n \"\"\"\n Placeholder function for GET /fapi/v1/convert/orderStatus.\n Note: This function was auto-generated. Any issue please open an issue on GitHub.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/convert/Order-Status\n\n :param params: parameters required by the endpoint\n :type params: dict\n\n :returns: API response\n \"\"\"\n return self._request_futures_api(\"get\", \"convert/orderStatus\", signed=True, data=params, version=1)", + "inherited_members": { + "binance.base_client.BaseClient": [ + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.API_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.API_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.API_DEMO_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MARGIN_API_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.WEBSITE_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_DEMO_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_DATA_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_DATA_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_COIN_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_COIN_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_COIN_DEMO_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_COIN_DATA_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_COIN_DATA_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.OPTIONS_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.OPTIONS_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.PAPI_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.WS_API_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.WS_API_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.WS_API_DEMO_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.WS_FUTURES_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.WS_FUTURES_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.WS_FUTURES_DEMO_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.PUBLIC_API_VERSION" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.PRIVATE_API_VERSION" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MARGIN_API_VERSION" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MARGIN_API_VERSION2" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MARGIN_API_VERSION3" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MARGIN_API_VERSION4" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_API_VERSION" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_API_VERSION2" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_API_VERSION3" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.OPTIONS_API_VERSION" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.PORTFOLIO_API_VERSION" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.PORTFOLIO_API_VERSION2" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.BASE_ENDPOINT_DEFAULT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.BASE_ENDPOINT_1" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.BASE_ENDPOINT_2" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.BASE_ENDPOINT_3" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.BASE_ENDPOINT_4" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.REQUEST_TIMEOUT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.REQUEST_RECVWINDOW" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SYMBOL_TYPE_SPOT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_STATUS_NEW" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_STATUS_PARTIALLY_FILLED" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_STATUS_FILLED" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_STATUS_CANCELED" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_STATUS_PENDING_CANCEL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_STATUS_REJECTED" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_STATUS_EXPIRED" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_1SECOND" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_1MINUTE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_3MINUTE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_5MINUTE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_15MINUTE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_30MINUTE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_1HOUR" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_2HOUR" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_4HOUR" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_6HOUR" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_8HOUR" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_12HOUR" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_1DAY" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_3DAY" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_1WEEK" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_1MONTH" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SIDE_BUY" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SIDE_SELL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_TYPE_LIMIT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_TYPE_MARKET" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_TYPE_STOP_LOSS" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_TYPE_STOP_LOSS_LIMIT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_TYPE_TAKE_PROFIT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_TYPE_TAKE_PROFIT_LIMIT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_TYPE_LIMIT_MAKER" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURE_ORDER_TYPE_LIMIT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURE_ORDER_TYPE_MARKET" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURE_ORDER_TYPE_STOP" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURE_ORDER_TYPE_STOP_MARKET" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURE_ORDER_TYPE_TAKE_PROFIT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURE_ORDER_TYPE_TAKE_PROFIT_MARKET" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURE_ORDER_TYPE_LIMIT_MAKER" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.TIME_IN_FORCE_GTC" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.TIME_IN_FORCE_IOC" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.TIME_IN_FORCE_FOK" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_RESP_TYPE_ACK" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_RESP_TYPE_RESULT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_RESP_TYPE_FULL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_ID" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_PRICE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_QUANTITY" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_FIRST_TRADE_ID" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_LAST_TRADE_ID" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_TIME" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_BUYER_MAKES" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_BEST_MATCH" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SPOT_TO_FIAT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SPOT_TO_USDT_FUTURE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SPOT_TO_COIN_FUTURE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SPOT_TO_MARGIN_CROSS" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SPOT_TO_MINING" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FIAT_TO_SPOT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FIAT_TO_USDT_FUTURE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FIAT_TO_MINING" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.USDT_FUTURE_TO_SPOT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.USDT_FUTURE_TO_FIAT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.USDT_FUTURE_TO_MARGIN_CROSS" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.COIN_FUTURE_TO_SPOT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MARGIN_CROSS_TO_SPOT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MARGIN_CROSS_TO_USDT_FUTURE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MINING_TO_SPOT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MINING_TO_USDT_FUTURE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MINING_TO_FIAT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SPOT_ORDER_PREFIX" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.CONTRACT_ORDER_PREFIX" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.tld" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.API_KEY" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.API_SECRET" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.TIME_UNIT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient._is_rsa" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.PRIVATE_KEY" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.session" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient._requests_params" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.response" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.testnet" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.demo" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.timestamp_offset" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ws_api" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ws_future" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.loop" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._get_headers" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._init_private_key" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_api_uri" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_margin_api_uri" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_papi_api_uri" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_website_uri" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_futures_api_uri" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_futures_data_api_uri" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_futures_coin_api_url" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_futures_coin_data_api_url" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_options_api_uri" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._rsa_signature" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient.encode_uri_component" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient.convert_to_dict" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._ed25519_signature" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._hmac_signature" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._generate_signature" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._sign_ws_params" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._generate_ws_api_signature" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._ws_futures_api_request" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._ws_futures_api_request_sync" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._make_sync" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._ws_api_request" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._ws_api_request_sync" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._get_version" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient.uuid22" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._order_params" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._get_request_kwargs" + } + ] + } + } + }, + "functions": {} + }, + "async_client": { + "name": "async_client", + "path": "binance.async_client", + "filepath": "/Users/pablo/github/python-binance/binance/async_client.py", + "description": null, + "docstring": [], + "attributes": [], + "modules": {}, + "classes": { + "AsyncClient": { + "name": "AsyncClient", + "path": "binance.async_client.AsyncClient", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "api_key", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "api_secret", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "requests_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "base_endpoint", + "annotation": "str", + "description": null, + "value": "BaseClient.BASE_ENDPOINT_DEFAULT" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "demo", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "loop", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "session_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "private_key", + "annotation": "Optional[Union[str, Path]]", + "description": null, + "value": "None" + }, + { + "name": "private_key_pass", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "https_proxy", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "time_unit", + "annotation": "Optional[str]", + "description": null, + "value": "None" + } + ], + "attributes": [ + { + "name": "https_proxy", + "annotation": null, + "description": null, + "value": "https_proxy" + }, + { + "name": "loop", + "annotation": null, + "description": null, + "value": "loop or get_loop()" + } + ], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.async_client.AsyncClient.__init__", + "signature": "(self, api_key=None, api_secret=None, requests_params=None, tld='com', base_endpoint=BaseClient.BASE_ENDPOINT_DEFAULT, testnet=False, demo=False, loop=None, session_params=None, private_key=None, private_key_pass=None, https_proxy=None, time_unit=None)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "api_key", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "api_secret", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "requests_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "base_endpoint", + "annotation": "str", + "description": null, + "value": "BaseClient.BASE_ENDPOINT_DEFAULT" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "demo", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "loop", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "session_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "private_key", + "annotation": "Optional[Union[str, Path]]", + "description": null, + "value": "None" + }, + { + "name": "private_key_pass", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "https_proxy", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "time_unit", + "annotation": "Optional[str]", + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(\n self,\n api_key: Optional[str] = None,\n api_secret: Optional[str] = None,\n requests_params: Optional[Dict[str, Any]] = None,\n tld: str = \"com\",\n base_endpoint: str = BaseClient.BASE_ENDPOINT_DEFAULT,\n testnet: bool = False,\n demo: bool = False,\n loop=None,\n session_params: Optional[Dict[str, Any]] = None,\n private_key: Optional[Union[str, Path]] = None,\n private_key_pass: Optional[str] = None,\n https_proxy: Optional[str] = None,\n time_unit: Optional[str] = None,\n):\n self.https_proxy = https_proxy\n self.loop = loop or get_loop()\n self._session_params: Dict[str, Any] = session_params or {}\n\n # Convert https_proxy to requests_params format for BaseClient\n if https_proxy and requests_params is None:\n requests_params = {'proxies': {'http': https_proxy, 'https': https_proxy}}\n elif https_proxy and requests_params is not None:\n if 'proxies' not in requests_params:\n requests_params['proxies'] = {}\n requests_params['proxies'].update({'http': https_proxy, 'https': https_proxy})\n\n super().__init__(\n api_key,\n api_secret,\n requests_params,\n tld,\n base_endpoint,\n testnet,\n demo,\n private_key,\n private_key_pass,\n time_unit=time_unit,\n )" + }, + "create": { + "name": "create", + "path": "binance.async_client.AsyncClient.create", + "signature": "(cls, api_key=None, api_secret=None, requests_params=None, tld='com', base_endpoint=BaseClient.BASE_ENDPOINT_DEFAULT, testnet=False, demo=False, loop=None, session_params=None, private_key=None, private_key_pass=None, https_proxy=None, time_unit=None)", + "description": null, + "parameters": [ + { + "name": "cls", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "api_key", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "api_secret", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "requests_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "base_endpoint", + "annotation": "str", + "description": null, + "value": "BaseClient.BASE_ENDPOINT_DEFAULT" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "demo", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "loop", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "session_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "private_key", + "annotation": "Optional[Union[str, Path]]", + "description": null, + "value": "None" + }, + { + "name": "private_key_pass", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "https_proxy", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "time_unit", + "annotation": "Optional[str]", + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "@classmethod\nasync def create(\n cls,\n api_key: Optional[str] = None,\n api_secret: Optional[str] = None,\n requests_params: Optional[Dict[str, Any]] = None,\n tld: str = \"com\",\n base_endpoint: str = BaseClient.BASE_ENDPOINT_DEFAULT,\n testnet: bool = False,\n demo: bool = False,\n loop=None,\n session_params: Optional[Dict[str, Any]] = None,\n private_key: Optional[Union[str, Path]] = None,\n private_key_pass: Optional[str] = None,\n https_proxy: Optional[str] = None,\n time_unit: Optional[str] = None,\n):\n self = cls(\n api_key,\n api_secret,\n requests_params,\n tld,\n base_endpoint,\n testnet,\n demo,\n loop,\n session_params,\n private_key,\n private_key_pass,\n https_proxy,\n time_unit\n )\n self.https_proxy = https_proxy # move this to the constructor\n\n try:\n await self.ping()\n\n # calculate timestamp offset between local and binance server\n res = await self.get_server_time()\n self.timestamp_offset = res[\"serverTime\"] - int(time.time() * 1000)\n\n return self\n except Exception:\n # If ping throw an exception, the current self must be cleaned\n # else, we can receive a \"asyncio:Unclosed client session\"\n await self.close_connection()\n raise" + }, + "_init_session": { + "name": "_init_session", + "path": "binance.async_client.AsyncClient._init_session", + "signature": "(self) -> aiohttp.ClientSession", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "aiohttp.aiohttp.ClientSession", + "description": null + }, + "docstring": [], + "source": "def _init_session(self) -> aiohttp.ClientSession:\n session = aiohttp.ClientSession(\n loop=self.loop, headers=self._get_headers(), **self._session_params\n )\n return session" + }, + "close_connection": { + "name": "close_connection", + "path": "binance.async_client.AsyncClient.close_connection", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def close_connection(self):\n if self.session:\n assert self.session\n await self.session.close()\n if self.ws_api:\n await self.ws_api.close()\n self._ws_api = None" + }, + "_request": { + "name": "_request", + "path": "binance.async_client.AsyncClient._request", + "signature": "(self, method, uri, signed, force_params=False, **kwargs)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "uri", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": "bool", + "description": null, + "value": null + }, + { + "name": "force_params", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _request(\n self, method, uri: str, signed: bool, force_params: bool = False, **kwargs\n):\n # this check needs to be done before __get_request_kwargs to avoid\n # polluting the signature\n headers = {}\n if method.upper() in [\"POST\", \"PUT\", \"DELETE\"]:\n headers.update({\"Content-Type\": \"application/x-www-form-urlencoded\"})\n\n if \"data\" in kwargs:\n for key in kwargs[\"data\"]:\n if key == \"headers\":\n headers.update(kwargs[\"data\"][key])\n del kwargs[\"data\"][key]\n break\n\n kwargs = self._get_request_kwargs(method, signed, force_params, **kwargs)\n\n if method == \"get\":\n # url encode the query string\n if \"params\" in kwargs:\n uri = f\"{uri}?{kwargs['params']}\"\n kwargs.pop(\"params\")\n\n data = kwargs.get(\"data\")\n if data is not None:\n del kwargs[\"data\"]\n\n if (\n signed and self.PRIVATE_KEY and data\n ): # handle issues with signing using eddsa/rsa and POST requests\n dict_data = Client.convert_to_dict(data)\n signature = dict_data[\"signature\"] if \"signature\" in dict_data else None\n if signature:\n del dict_data[\"signature\"]\n url_encoded_data = urlencode(dict_data)\n data = f\"{url_encoded_data}&signature={signature}\"\n\n # Remove proxies from kwargs since aiohttp uses 'proxy' parameter instead\n kwargs.pop('proxies', None)\n\n async with getattr(self.session, method)(\n yarl.URL(uri, encoded=True),\n proxy=self.https_proxy,\n headers=headers,\n data=data,\n **kwargs,\n ) as response:\n self.response = response\n return await self._handle_response(response)" + }, + "_handle_response": { + "name": "_handle_response", + "path": "binance.async_client.AsyncClient._handle_response", + "signature": "(self, response)", + "description": "Internal helper for handling API responses from the Binance server.\nRaises the appropriate exceptions when necessary; otherwise, returns the\nresponse.", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "response", + "annotation": "aiohttp.ClientResponse", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _handle_response(self, response: aiohttp.ClientResponse):\n \"\"\"Internal helper for handling API responses from the Binance server.\n Raises the appropriate exceptions when necessary; otherwise, returns the\n response.\n \"\"\"\n if not str(response.status).startswith(\"2\"):\n raise BinanceAPIException(response, response.status, await response.text())\n\n text = await response.text()\n if text == \"\":\n return {}\n\n try:\n return await response.json()\n except ValueError:\n txt = await response.text()\n raise BinanceRequestException(f\"Invalid Response: {txt}\")" + }, + "_request_api": { + "name": "_request_api", + "path": "binance.async_client.AsyncClient._request_api", + "signature": "(self, method, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "BaseClient.PUBLIC_API_VERSION" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _request_api(\n self,\n method,\n path,\n signed=False,\n version=BaseClient.PUBLIC_API_VERSION,\n **kwargs,\n):\n uri = self._create_api_uri(path, signed, version)\n force_params = kwargs.pop(\"force_params\", False)\n return await self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_futures_api": { + "name": "_request_futures_api", + "path": "binance.async_client.AsyncClient._request_futures_api", + "signature": "(self, method, path, signed=False, version=1, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "1" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def _request_futures_api(\n self, method, path, signed=False, version=1, **kwargs\n) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_futures_api_uri(path, version=version)\n force_params = kwargs.pop(\"force_params\", False)\n return await self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_futures_data_api": { + "name": "_request_futures_data_api", + "path": "binance.async_client.AsyncClient._request_futures_data_api", + "signature": "(self, method, path, signed=False, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def _request_futures_data_api(\n self, method, path, signed=False, **kwargs\n) -> Dict:\n uri = self._create_futures_data_api_uri(path)\n force_params = kwargs.pop(\"force_params\", True)\n return await self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_futures_coin_api": { + "name": "_request_futures_coin_api", + "path": "binance.async_client.AsyncClient._request_futures_coin_api", + "signature": "(self, method, path, signed=False, version=1, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "1" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def _request_futures_coin_api(\n self, method, path, signed=False, version=1, **kwargs\n) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_futures_coin_api_url(path, version=version)\n force_params = kwargs.pop(\"force_params\", False)\n return await self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_futures_coin_data_api": { + "name": "_request_futures_coin_data_api", + "path": "binance.async_client.AsyncClient._request_futures_coin_data_api", + "signature": "(self, method, path, signed=False, version=1, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "1" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def _request_futures_coin_data_api(\n self, method, path, signed=False, version=1, **kwargs\n) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_futures_coin_data_api_url(path, version=version)\n\n force_params = kwargs.pop(\"force_params\", True)\n return await self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_options_api": { + "name": "_request_options_api", + "path": "binance.async_client.AsyncClient._request_options_api", + "signature": "(self, method, path, signed=False, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def _request_options_api(self, method, path, signed=False, **kwargs) -> Dict:\n uri = self._create_options_api_uri(path)\n force_params = kwargs.pop(\"force_params\", True)\n\n return await self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_margin_api": { + "name": "_request_margin_api", + "path": "binance.async_client.AsyncClient._request_margin_api", + "signature": "(self, method, path, signed=False, version=1, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "1" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def _request_margin_api(\n self, method, path, signed=False, version=1, **kwargs\n) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_margin_api_uri(path, version)\n\n force_params = kwargs.pop(\"force_params\", False)\n return await self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_papi_api": { + "name": "_request_papi_api", + "path": "binance.async_client.AsyncClient._request_papi_api", + "signature": "(self, method, path, signed=False, version=1, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "1" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def _request_papi_api(\n self, method, path, signed=False, version=1, **kwargs\n) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_papi_api_uri(path, version)\n\n force_params = kwargs.pop(\"force_params\", False)\n return await self._request(method, uri, signed, force_params, **kwargs)" + }, + "_request_website": { + "name": "_request_website", + "path": "binance.async_client.AsyncClient._request_website", + "signature": "(self, method, path, signed=False, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "method", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def _request_website(self, method, path, signed=False, **kwargs) -> Dict:\n uri = self._create_website_uri(path)\n return await self._request(method, uri, signed, **kwargs)" + }, + "_get": { + "name": "_get", + "path": "binance.async_client.AsyncClient._get", + "signature": "(self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "BaseClient.PUBLIC_API_VERSION" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _get(\n self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs\n):\n return await self._request_api(\"get\", path, signed, version, **kwargs)" + }, + "_post": { + "name": "_post", + "path": "binance.async_client.AsyncClient._post", + "signature": "(self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "BaseClient.PUBLIC_API_VERSION" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def _post(\n self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs\n) -> Dict:\n return await self._request_api(\"post\", path, signed, version, **kwargs)" + }, + "_put": { + "name": "_put", + "path": "binance.async_client.AsyncClient._put", + "signature": "(self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "BaseClient.PUBLIC_API_VERSION" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def _put(\n self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs\n) -> Dict:\n return await self._request_api(\"put\", path, signed, version, **kwargs)" + }, + "_delete": { + "name": "_delete", + "path": "binance.async_client.AsyncClient._delete", + "signature": "(self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "signed", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "version", + "annotation": null, + "description": null, + "value": "BaseClient.PUBLIC_API_VERSION" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def _delete(\n self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs\n) -> Dict:\n return await self._request_api(\"delete\", path, signed, version, **kwargs)" + }, + "get_products": { + "name": "get_products", + "path": "binance.async_client.AsyncClient.get_products", + "signature": "(self) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def get_products(self) -> Dict:\n products = await self._request_website(\n \"get\",\n \"bapi/asset/v2/public/asset-service/product/get-products?includeEtf=true\",\n )\n return products" + }, + "get_exchange_info": { + "name": "get_exchange_info", + "path": "binance.async_client.AsyncClient.get_exchange_info", + "signature": "(self) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def get_exchange_info(self) -> Dict:\n return await self._get(\"exchangeInfo\")" + }, + "get_symbol_info": { + "name": "get_symbol_info", + "path": "binance.async_client.AsyncClient.get_symbol_info", + "signature": "(self, symbol) -> Optional[Dict]", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "typing.Optional[typing.Dict]", + "description": null + }, + "docstring": [], + "source": "async def get_symbol_info(self, symbol) -> Optional[Dict]:\n res = await self.get_exchange_info()\n\n for item in res[\"symbols\"]:\n if item[\"symbol\"] == symbol.upper():\n return item\n\n return None" + }, + "ping": { + "name": "ping", + "path": "binance.async_client.AsyncClient.ping", + "signature": "(self) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def ping(self) -> Dict:\n return await self._get(\"ping\")" + }, + "get_server_time": { + "name": "get_server_time", + "path": "binance.async_client.AsyncClient.get_server_time", + "signature": "(self) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def get_server_time(self) -> Dict:\n return await self._get(\"time\")" + }, + "get_all_tickers": { + "name": "get_all_tickers", + "path": "binance.async_client.AsyncClient.get_all_tickers", + "signature": "(self, symbol=None) -> List[Dict[str, str]]", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "Optional[str]", + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": "typing.List[typing.Dict[str, str]]", + "description": null + }, + "docstring": [], + "source": "async def get_all_tickers(\n self, symbol: Optional[str] = None\n) -> List[Dict[str, str]]:\n params = {}\n if symbol:\n params[\"symbol\"] = symbol\n response = await self._get(\n \"ticker/price\", data=params\n )\n if isinstance(response, list) and all(isinstance(item, dict) for item in response):\n return response\n raise TypeError(\"Expected a list of dictionaries\")" + }, + "get_orderbook_tickers": { + "name": "get_orderbook_tickers", + "path": "binance.async_client.AsyncClient.get_orderbook_tickers", + "signature": "(self, **params) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def get_orderbook_tickers(self, **params) -> Dict:\n data = {}\n if \"symbol\" in params:\n data[\"symbol\"] = params[\"symbol\"]\n elif \"symbols\" in params:\n data[\"symbols\"] = params[\"symbols\"]\n return await self._get(\n \"ticker/bookTicker\", data=data\n )" + }, + "get_order_book": { + "name": "get_order_book", + "path": "binance.async_client.AsyncClient.get_order_book", + "signature": "(self, **params) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def get_order_book(self, **params) -> Dict:\n return await self._get(\"depth\", data=params)" + }, + "get_recent_trades": { + "name": "get_recent_trades", + "path": "binance.async_client.AsyncClient.get_recent_trades", + "signature": "(self, **params) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def get_recent_trades(self, **params) -> Dict:\n return await self._get(\"trades\", data=params)" + }, + "get_historical_trades": { + "name": "get_historical_trades", + "path": "binance.async_client.AsyncClient.get_historical_trades", + "signature": "(self, **params) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def get_historical_trades(self, **params) -> Dict:\n return await self._get(\n \"historicalTrades\", data=params\n )" + }, + "get_aggregate_trades": { + "name": "get_aggregate_trades", + "path": "binance.async_client.AsyncClient.get_aggregate_trades", + "signature": "(self, **params) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def get_aggregate_trades(self, **params) -> Dict:\n return await self._get(\n \"aggTrades\", data=params\n )" + }, + "aggregate_trade_iter": { + "name": "aggregate_trade_iter", + "path": "binance.async_client.AsyncClient.aggregate_trade_iter", + "signature": "(self, symbol, start_str=None, last_id=None)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "last_id", + "annotation": null, + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def aggregate_trade_iter(self, symbol, start_str=None, last_id=None):\n if start_str is not None and last_id is not None:\n raise ValueError(\n \"start_time and last_id may not be simultaneously specified.\"\n )\n\n # If there's no last_id, get one.\n if last_id is None:\n # Without a last_id, we actually need the first trade. Normally,\n # we'd get rid of it. See the next loop.\n if start_str is None:\n trades = await self.get_aggregate_trades(symbol=symbol, fromId=0)\n else:\n # The difference between startTime and endTime should be less\n # or equal than an hour and the result set should contain at\n # least one trade.\n start_ts = convert_ts_str(start_str)\n # If the resulting set is empty (i.e. no trades in that interval)\n # then we just move forward hour by hour until we find at least one\n # trade or reach present moment\n while True:\n end_ts = start_ts + (60 * 60 * 1000)\n trades = await self.get_aggregate_trades(\n symbol=symbol, startTime=start_ts, endTime=end_ts\n )\n if len(trades) > 0:\n break\n # If we reach present moment and find no trades then there is\n # nothing to iterate, so we're done\n if end_ts > int(time.time() * 1000):\n return\n start_ts = end_ts\n for t in trades:\n yield t\n last_id = trades[-1][self.AGG_ID]\n\n while True:\n # There is no need to wait between queries, to avoid hitting the\n # rate limit. We're using blocking IO, and as long as we're the\n # only thread running calls like this, Binance will automatically\n # add the right delay time on their end, forcing us to wait for\n # data. That really simplifies this function's job. Binance is\n # fucking awesome.\n trades = await self.get_aggregate_trades(symbol=symbol, fromId=last_id)\n # fromId=n returns a set starting with id n, but we already have\n # that one. So get rid of the first item in the result set.\n trades = trades[1:]\n if len(trades) == 0:\n return\n for t in trades:\n yield t\n last_id = trades[-1][self.AGG_ID]" + }, + "get_ui_klines": { + "name": "get_ui_klines", + "path": "binance.async_client.AsyncClient.get_ui_klines", + "signature": "(self, **params) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def get_ui_klines(self, **params) -> Dict:\n return await self._get(\"uiKlines\", data=params)" + }, + "get_klines": { + "name": "get_klines", + "path": "binance.async_client.AsyncClient.get_klines", + "signature": "(self, **params) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def get_klines(self, **params) -> Dict:\n return await self._get(\"klines\", data=params)" + }, + "_klines": { + "name": "_klines", + "path": "binance.async_client.AsyncClient._klines", + "signature": "(self, klines_type=HistoricalKlinesType.SPOT, **params) -> Dict", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "klines_type", + "annotation": "HistoricalKlinesType", + "description": null, + "value": "HistoricalKlinesType.SPOT" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "typing.Dict", + "description": null + }, + "docstring": [], + "source": "async def _klines(\n self, klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT, **params\n) -> Dict:\n if \"endTime\" in params and not params[\"endTime\"]:\n del params[\"endTime\"]\n if HistoricalKlinesType.SPOT == klines_type:\n return await self.get_klines(**params)\n elif HistoricalKlinesType.FUTURES == klines_type:\n return await self.futures_klines(**params)\n elif HistoricalKlinesType.FUTURES_COIN == klines_type:\n return await self.futures_coin_klines(**params)\n elif HistoricalKlinesType.FUTURES_MARK_PRICE == klines_type:\n return await self.futures_mark_price_klines(**params)\n elif HistoricalKlinesType.FUTURES_INDEX_PRICE == klines_type:\n return await self.futures_index_price_klines(**params)\n elif HistoricalKlinesType.FUTURES_COIN_MARK_PRICE == klines_type:\n return await self.futures_coin_mark_price_klines(**params)\n elif HistoricalKlinesType.FUTURES_COIN_INDEX_PRICE == klines_type:\n return await self.futures_coin_index_price_klines(**params)\n else:\n raise NotImplementedException(klines_type)" + }, + "_get_earliest_valid_timestamp": { + "name": "_get_earliest_valid_timestamp", + "path": "binance.async_client.AsyncClient._get_earliest_valid_timestamp", + "signature": "(self, symbol, interval, klines_type=HistoricalKlinesType.SPOT)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "klines_type", + "annotation": "HistoricalKlinesType", + "description": null, + "value": "HistoricalKlinesType.SPOT" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _get_earliest_valid_timestamp(\n self,\n symbol,\n interval,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n):\n kline = await self._klines(\n klines_type=klines_type,\n symbol=symbol,\n interval=interval,\n limit=1,\n startTime=0,\n endTime=int(time.time() * 1000),\n )\n return kline[0][0]" + }, + "get_historical_klines": { + "name": "get_historical_klines", + "path": "binance.async_client.AsyncClient.get_historical_klines", + "signature": "(self, symbol, interval, start_str=None, end_str=None, limit=None, klines_type=HistoricalKlinesType.SPOT)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "end_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "klines_type", + "annotation": "HistoricalKlinesType", + "description": null, + "value": "HistoricalKlinesType.SPOT" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_historical_klines(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=None,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n):\n return await self._historical_klines(\n symbol,\n interval,\n start_str,\n end_str=end_str,\n limit=limit,\n klines_type=klines_type,\n )" + }, + "_historical_klines": { + "name": "_historical_klines", + "path": "binance.async_client.AsyncClient._historical_klines", + "signature": "(self, symbol, interval, start_str=None, end_str=None, limit=None, klines_type=HistoricalKlinesType.SPOT)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "end_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "klines_type", + "annotation": "HistoricalKlinesType", + "description": null, + "value": "HistoricalKlinesType.SPOT" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _historical_klines(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=None,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n):\n initial_limit_set = True\n if limit is None:\n limit = 1000\n initial_limit_set = False\n\n # init our list\n output_data = []\n\n # convert interval to useful value in seconds\n timeframe = interval_to_milliseconds(interval)\n\n # establish first available start timestamp\n start_ts = convert_ts_str(start_str)\n if start_ts is not None:\n first_valid_ts = await self._get_earliest_valid_timestamp(\n symbol, interval, klines_type\n )\n start_ts = max(start_ts, first_valid_ts)\n\n # if an end time was passed convert it\n end_ts = convert_ts_str(end_str)\n if end_ts and start_ts and end_ts <= start_ts:\n return output_data\n\n idx = 0\n while True:\n # fetch the klines from start_ts up to max 500 entries or the end_ts if set\n temp_data = await self._klines(\n klines_type=klines_type,\n symbol=symbol,\n interval=interval,\n limit=limit,\n startTime=start_ts,\n endTime=end_ts,\n )\n\n # append this loops data to our output data\n if temp_data:\n output_data += temp_data\n\n # check if output_data is greater than limit and truncate if needed and break loop\n if initial_limit_set and len(output_data) > limit:\n output_data = output_data[:limit]\n break\n\n # handle the case where exactly the limit amount of data was returned last loop\n # or check if we received less than the required limit and exit the loop\n if not len(temp_data) or len(temp_data) < limit:\n # exit the while loop\n break\n\n # set our start timestamp using the last value in the array\n # and increment next call by our timeframe\n start_ts = temp_data[-1][0] + timeframe\n\n # exit loop if we reached end_ts before reaching klines\n if end_ts and start_ts >= end_ts:\n break\n\n # sleep after every 3rd call to be kind to the API\n idx += 1\n if idx % 3 == 0:\n await asyncio.sleep(1)\n\n return output_data" + }, + "get_historical_klines_generator": { + "name": "get_historical_klines_generator", + "path": "binance.async_client.AsyncClient.get_historical_klines_generator", + "signature": "(self, symbol, interval, start_str=None, end_str=None, limit=1000, klines_type=HistoricalKlinesType.SPOT)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "end_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "1000" + }, + { + "name": "klines_type", + "annotation": "HistoricalKlinesType", + "description": null, + "value": "HistoricalKlinesType.SPOT" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_historical_klines_generator(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=1000,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n):\n return self._historical_klines_generator(\n symbol,\n interval,\n start_str,\n end_str=end_str,\n limit=limit,\n klines_type=klines_type,\n )" + }, + "_historical_klines_generator": { + "name": "_historical_klines_generator", + "path": "binance.async_client.AsyncClient._historical_klines_generator", + "signature": "(self, symbol, interval, start_str=None, end_str=None, limit=1000, klines_type=HistoricalKlinesType.SPOT)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "end_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "1000" + }, + { + "name": "klines_type", + "annotation": "HistoricalKlinesType", + "description": null, + "value": "HistoricalKlinesType.SPOT" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _historical_klines_generator(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=1000,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n):\n # convert interval to useful value in seconds\n timeframe = interval_to_milliseconds(interval)\n\n # if a start time was passed convert it\n start_ts = convert_ts_str(start_str)\n\n # establish first available start timestamp\n if start_ts is not None:\n first_valid_ts = await self._get_earliest_valid_timestamp(\n symbol, interval, klines_type\n )\n start_ts = max(start_ts, first_valid_ts)\n\n # if an end time was passed convert it\n end_ts = convert_ts_str(end_str)\n if end_ts and start_ts and end_ts <= start_ts:\n return\n\n idx = 0\n while True:\n # fetch the klines from start_ts up to max 500 entries or the end_ts if set\n output_data = await self._klines(\n klines_type=klines_type,\n symbol=symbol,\n interval=interval,\n limit=limit,\n startTime=start_ts,\n endTime=end_ts,\n )\n\n # yield data\n if output_data:\n for o in output_data:\n yield o\n\n # handle the case where exactly the limit amount of data was returned last loop\n # check if we received less than the required limit and exit the loop\n if not len(output_data) or len(output_data) < limit:\n # exit the while loop\n break\n\n # increment next call by our timeframe\n start_ts = output_data[-1][0] + timeframe\n\n # exit loop if we reached end_ts before reaching klines\n if end_ts and start_ts >= end_ts:\n break\n\n # sleep after every 3rd call to be kind to the API\n idx += 1\n if idx % 3 == 0:\n await asyncio.sleep(1)" + }, + "get_avg_price": { + "name": "get_avg_price", + "path": "binance.async_client.AsyncClient.get_avg_price", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_avg_price(self, **params):\n return await self._get(\n \"avgPrice\", data=params\n )" + }, + "get_ticker": { + "name": "get_ticker", + "path": "binance.async_client.AsyncClient.get_ticker", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_ticker(self, **params):\n return await self._get(\n \"ticker/24hr\", data=params\n )" + }, + "get_symbol_ticker": { + "name": "get_symbol_ticker", + "path": "binance.async_client.AsyncClient.get_symbol_ticker", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_symbol_ticker(self, **params):\n return await self._get(\n \"ticker/price\", data=params\n )" + }, + "get_symbol_ticker_window": { + "name": "get_symbol_ticker_window", + "path": "binance.async_client.AsyncClient.get_symbol_ticker_window", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_symbol_ticker_window(self, **params):\n return await self._get(\"ticker\", data=params)" + }, + "get_orderbook_ticker": { + "name": "get_orderbook_ticker", + "path": "binance.async_client.AsyncClient.get_orderbook_ticker", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_orderbook_ticker(self, **params):\n return await self._get(\n \"ticker/bookTicker\", data=params\n )" + }, + "create_order": { + "name": "create_order", + "path": "binance.async_client.AsyncClient.create_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def create_order(self, **params):\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return await self._post(\"order\", True, data=params)" + }, + "order_limit": { + "name": "order_limit", + "path": "binance.async_client.AsyncClient.order_limit", + "signature": "(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "timeInForce", + "annotation": null, + "description": null, + "value": "BaseClient.TIME_IN_FORCE_GTC" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def order_limit(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n params.update({\"type\": self.ORDER_TYPE_LIMIT, \"timeInForce\": timeInForce})\n return await self.create_order(**params)" + }, + "order_limit_buy": { + "name": "order_limit_buy", + "path": "binance.async_client.AsyncClient.order_limit_buy", + "signature": "(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "timeInForce", + "annotation": null, + "description": null, + "value": "BaseClient.TIME_IN_FORCE_GTC" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def order_limit_buy(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n params.update({\n \"side\": self.SIDE_BUY,\n })\n return await self.order_limit(timeInForce=timeInForce, **params)" + }, + "order_limit_sell": { + "name": "order_limit_sell", + "path": "binance.async_client.AsyncClient.order_limit_sell", + "signature": "(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "timeInForce", + "annotation": null, + "description": null, + "value": "BaseClient.TIME_IN_FORCE_GTC" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def order_limit_sell(\n self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params\n):\n params.update({\"side\": self.SIDE_SELL})\n return await self.order_limit(timeInForce=timeInForce, **params)" + }, + "order_market": { + "name": "order_market", + "path": "binance.async_client.AsyncClient.order_market", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def order_market(self, **params):\n params.update({\"type\": self.ORDER_TYPE_MARKET})\n return await self.create_order(**params)" + }, + "order_market_buy": { + "name": "order_market_buy", + "path": "binance.async_client.AsyncClient.order_market_buy", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def order_market_buy(self, **params):\n params.update({\"side\": self.SIDE_BUY})\n return await self.order_market(**params)" + }, + "order_market_sell": { + "name": "order_market_sell", + "path": "binance.async_client.AsyncClient.order_market_sell", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def order_market_sell(self, **params):\n params.update({\"side\": self.SIDE_SELL})\n return await self.order_market(**params)" + }, + "order_oco_buy": { + "name": "order_oco_buy", + "path": "binance.async_client.AsyncClient.order_oco_buy", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def order_oco_buy(self, **params):\n params.update({\"side\": self.SIDE_BUY})\n return await self.create_oco_order(**params)" + }, + "order_oco_sell": { + "name": "order_oco_sell", + "path": "binance.async_client.AsyncClient.order_oco_sell", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def order_oco_sell(self, **params):\n params.update({\"side\": self.SIDE_SELL})\n return await self.create_oco_order(**params)" + }, + "create_test_order": { + "name": "create_test_order", + "path": "binance.async_client.AsyncClient.create_test_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def create_test_order(self, **params):\n return await self._post(\"order/test\", True, data=params)" + }, + "get_order": { + "name": "get_order", + "path": "binance.async_client.AsyncClient.get_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_order(self, **params):\n return await self._get(\"order\", True, data=params)" + }, + "get_all_orders": { + "name": "get_all_orders", + "path": "binance.async_client.AsyncClient.get_all_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_all_orders(self, **params):\n return await self._get(\"allOrders\", True, data=params)" + }, + "cancel_order": { + "name": "cancel_order", + "path": "binance.async_client.AsyncClient.cancel_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def cancel_order(self, **params):\n return await self._delete(\"order\", True, data=params)" + }, + "get_open_orders": { + "name": "get_open_orders", + "path": "binance.async_client.AsyncClient.get_open_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_open_orders(self, **params):\n return await self._get(\"openOrders\", True, data=params)" + }, + "get_open_oco_orders": { + "name": "get_open_oco_orders", + "path": "binance.async_client.AsyncClient.get_open_oco_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_open_oco_orders(self, **params):\n return await self._get(\"openOrderList\", True, data=params)" + }, + "get_account": { + "name": "get_account", + "path": "binance.async_client.AsyncClient.get_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_account(self, **params):\n return await self._get(\"account\", True, data=params)" + }, + "get_asset_balance": { + "name": "get_asset_balance", + "path": "binance.async_client.AsyncClient.get_asset_balance", + "signature": "(self, asset=None, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "asset", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_asset_balance(self, asset=None, **params):\n res = await self.get_account(**params)\n # find asset balance in list of balances\n if \"balances\" in res:\n if asset:\n for bal in res[\"balances\"]:\n if bal[\"asset\"].lower() == asset.lower():\n return bal\n else:\n return res[\"balances\"]\n return None" + }, + "get_my_trades": { + "name": "get_my_trades", + "path": "binance.async_client.AsyncClient.get_my_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_my_trades(self, **params):\n return await self._get(\"myTrades\", True, data=params)" + }, + "get_current_order_count": { + "name": "get_current_order_count", + "path": "binance.async_client.AsyncClient.get_current_order_count", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_current_order_count(self, **params):\n return await self._get(\"rateLimit/order\", True, data=params)" + }, + "get_prevented_matches": { + "name": "get_prevented_matches", + "path": "binance.async_client.AsyncClient.get_prevented_matches", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_prevented_matches(self, **params):\n return await self._get(\"myPreventedMatches\", True, data=params)" + }, + "get_allocations": { + "name": "get_allocations", + "path": "binance.async_client.AsyncClient.get_allocations", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_allocations(self, **params):\n return await self._get(\"myAllocations\", True, data=params)" + }, + "get_system_status": { + "name": "get_system_status", + "path": "binance.async_client.AsyncClient.get_system_status", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_system_status(self):\n return await self._request_margin_api(\"get\", \"system/status\")" + }, + "get_account_status": { + "name": "get_account_status", + "path": "binance.async_client.AsyncClient.get_account_status", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_account_status(self, **params):\n return await self._request_margin_api(\n \"get\", \"account/status\", True, data=params\n )" + }, + "get_account_api_trading_status": { + "name": "get_account_api_trading_status", + "path": "binance.async_client.AsyncClient.get_account_api_trading_status", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_account_api_trading_status(self, **params):\n return await self._request_margin_api(\n \"get\", \"account/apiTradingStatus\", True, data=params\n )" + }, + "get_account_api_permissions": { + "name": "get_account_api_permissions", + "path": "binance.async_client.AsyncClient.get_account_api_permissions", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_account_api_permissions(self, **params):\n return await self._request_margin_api(\n \"get\", \"account/apiRestrictions\", True, data=params\n )" + }, + "get_dust_assets": { + "name": "get_dust_assets", + "path": "binance.async_client.AsyncClient.get_dust_assets", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_dust_assets(self, **params):\n return await self._request_margin_api(\n \"post\", \"asset/dust-btc\", True, data=params\n )" + }, + "get_dust_log": { + "name": "get_dust_log", + "path": "binance.async_client.AsyncClient.get_dust_log", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_dust_log(self, **params):\n return await self._request_margin_api(\n \"get\", \"asset/dribblet\", True, data=params\n )" + }, + "transfer_dust": { + "name": "transfer_dust", + "path": "binance.async_client.AsyncClient.transfer_dust", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def transfer_dust(self, **params):\n return await self._request_margin_api(\"post\", \"asset/dust\", True, data=params)" + }, + "get_asset_dividend_history": { + "name": "get_asset_dividend_history", + "path": "binance.async_client.AsyncClient.get_asset_dividend_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_asset_dividend_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"asset/assetDividend\", True, data=params\n )" + }, + "make_universal_transfer": { + "name": "make_universal_transfer", + "path": "binance.async_client.AsyncClient.make_universal_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def make_universal_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"asset/transfer\", signed=True, data=params\n )" + }, + "query_universal_transfer_history": { + "name": "query_universal_transfer_history", + "path": "binance.async_client.AsyncClient.query_universal_transfer_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def query_universal_transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"asset/transfer\", signed=True, data=params\n )" + }, + "get_trade_fee": { + "name": "get_trade_fee", + "path": "binance.async_client.AsyncClient.get_trade_fee", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_trade_fee(self, **params):\n if self.tld == \"us\":\n endpoint = \"asset/query/trading-fee\"\n else:\n endpoint = \"asset/tradeFee\"\n return await self._request_margin_api(\"get\", endpoint, True, data=params)" + }, + "get_asset_details": { + "name": "get_asset_details", + "path": "binance.async_client.AsyncClient.get_asset_details", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_asset_details(self, **params):\n return await self._request_margin_api(\n \"get\", \"asset/assetDetail\", True, data=params\n )" + }, + "get_spot_delist_schedule": { + "name": "get_spot_delist_schedule", + "path": "binance.async_client.AsyncClient.get_spot_delist_schedule", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_spot_delist_schedule(self, **params):\n return await self._request_margin_api(\n \"get\", \"/spot/delist-schedule\", signed=True, data=params\n )" + }, + "withdraw": { + "name": "withdraw", + "path": "binance.async_client.AsyncClient.withdraw", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def withdraw(self, **params):\n # force a name for the withdrawal if one not set\n if \"coin\" in params and \"name\" not in params:\n params[\"name\"] = params[\"coin\"]\n return await self._request_margin_api(\n \"post\", \"capital/withdraw/apply\", True, data=params\n )" + }, + "get_deposit_history": { + "name": "get_deposit_history", + "path": "binance.async_client.AsyncClient.get_deposit_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_deposit_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"capital/deposit/hisrec\", True, data=params\n )" + }, + "get_withdraw_history": { + "name": "get_withdraw_history", + "path": "binance.async_client.AsyncClient.get_withdraw_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_withdraw_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"capital/withdraw/history\", True, data=params\n )" + }, + "get_withdraw_history_id": { + "name": "get_withdraw_history_id", + "path": "binance.async_client.AsyncClient.get_withdraw_history_id", + "signature": "(self, withdraw_id, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "withdraw_id", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_withdraw_history_id(self, withdraw_id, **params):\n result = await self.get_withdraw_history(**params)\n\n for entry in result:\n if \"id\" in entry and entry[\"id\"] == withdraw_id:\n return entry\n\n raise Exception(\"There is no entry with withdraw id\", result)" + }, + "get_deposit_address": { + "name": "get_deposit_address", + "path": "binance.async_client.AsyncClient.get_deposit_address", + "signature": "(self, coin, network=None, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "coin", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "network", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_deposit_address(\n self, coin: str, network: Optional[str] = None, **params\n):\n params[\"coin\"] = coin\n if network:\n params[\"network\"] = network\n return await self._request_margin_api(\n \"get\", \"capital/deposit/address\", True, data=params\n )" + }, + "stream_get_listen_key": { + "name": "stream_get_listen_key", + "path": "binance.async_client.AsyncClient.stream_get_listen_key", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def stream_get_listen_key(self):\n res = await self._post(\"userDataStream\", False, data={})\n return res[\"listenKey\"]" + }, + "stream_keepalive": { + "name": "stream_keepalive", + "path": "binance.async_client.AsyncClient.stream_keepalive", + "signature": "(self, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def stream_keepalive(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._put(\"userDataStream\", False, data=params)" + }, + "stream_close": { + "name": "stream_close", + "path": "binance.async_client.AsyncClient.stream_close", + "signature": "(self, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def stream_close(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._delete(\"userDataStream\", False, data=params)" + }, + "get_margin_account": { + "name": "get_margin_account", + "path": "binance.async_client.AsyncClient.get_margin_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_account(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/account\", True, data=params\n )" + }, + "get_isolated_margin_account": { + "name": "get_isolated_margin_account", + "path": "binance.async_client.AsyncClient.get_isolated_margin_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_isolated_margin_account(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/isolated/account\", True, data=params\n )" + }, + "enable_isolated_margin_account": { + "name": "enable_isolated_margin_account", + "path": "binance.async_client.AsyncClient.enable_isolated_margin_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def enable_isolated_margin_account(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/isolated/account\", True, data=params\n )" + }, + "disable_isolated_margin_account": { + "name": "disable_isolated_margin_account", + "path": "binance.async_client.AsyncClient.disable_isolated_margin_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def disable_isolated_margin_account(self, **params):\n return await self._request_margin_api(\n \"delete\", \"margin/isolated/account\", True, data=params\n )" + }, + "get_enabled_isolated_margin_account_limit": { + "name": "get_enabled_isolated_margin_account_limit", + "path": "binance.async_client.AsyncClient.get_enabled_isolated_margin_account_limit", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_enabled_isolated_margin_account_limit(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/isolated/accountLimit\", True, data=params\n )" + }, + "get_margin_dustlog": { + "name": "get_margin_dustlog", + "path": "binance.async_client.AsyncClient.get_margin_dustlog", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_dustlog(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/dribblet\", True, data=params\n )" + }, + "get_margin_dust_assets": { + "name": "get_margin_dust_assets", + "path": "binance.async_client.AsyncClient.get_margin_dust_assets", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_dust_assets(self, **params):\n return await self._request_margin_api(\"get\", \"margin/dust\", True, data=params)" + }, + "transfer_margin_dust": { + "name": "transfer_margin_dust", + "path": "binance.async_client.AsyncClient.transfer_margin_dust", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def transfer_margin_dust(self, **params):\n return await self._request_margin_api(\"post\", \"margin/dust\", True, data=params)" + }, + "get_cross_margin_collateral_ratio": { + "name": "get_cross_margin_collateral_ratio", + "path": "binance.async_client.AsyncClient.get_cross_margin_collateral_ratio", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_cross_margin_collateral_ratio(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/crossMarginCollateralRatio\", True, data=params\n )" + }, + "get_small_liability_exchange_assets": { + "name": "get_small_liability_exchange_assets", + "path": "binance.async_client.AsyncClient.get_small_liability_exchange_assets", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_small_liability_exchange_assets(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/exchange-small-liability\", True, data=params\n )" + }, + "exchange_small_liability_assets": { + "name": "exchange_small_liability_assets", + "path": "binance.async_client.AsyncClient.exchange_small_liability_assets", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def exchange_small_liability_assets(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/exchange-small-liability\", True, data=params\n )" + }, + "get_small_liability_exchange_history": { + "name": "get_small_liability_exchange_history", + "path": "binance.async_client.AsyncClient.get_small_liability_exchange_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_small_liability_exchange_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/exchange-small-liability-history\", True, data=params\n )" + }, + "get_future_hourly_interest_rate": { + "name": "get_future_hourly_interest_rate", + "path": "binance.async_client.AsyncClient.get_future_hourly_interest_rate", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_future_hourly_interest_rate(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/next-hourly-interest-rate\", True, data=params\n )" + }, + "get_margin_capital_flow": { + "name": "get_margin_capital_flow", + "path": "binance.async_client.AsyncClient.get_margin_capital_flow", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_capital_flow(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/capital-flow\", True, data=params\n )" + }, + "get_margin_delist_schedule": { + "name": "get_margin_delist_schedule", + "path": "binance.async_client.AsyncClient.get_margin_delist_schedule", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_delist_schedule(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/delist-schedule\", True, data=params\n )" + }, + "get_margin_asset": { + "name": "get_margin_asset", + "path": "binance.async_client.AsyncClient.get_margin_asset", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_asset(self, **params):\n return await self._request_margin_api(\"get\", \"margin/asset\", data=params)" + }, + "get_margin_symbol": { + "name": "get_margin_symbol", + "path": "binance.async_client.AsyncClient.get_margin_symbol", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_symbol(self, **params):\n return await self._request_margin_api(\"get\", \"margin/pair\", data=params)" + }, + "get_margin_all_assets": { + "name": "get_margin_all_assets", + "path": "binance.async_client.AsyncClient.get_margin_all_assets", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_all_assets(self, **params):\n return await self._request_margin_api(\"get\", \"margin/allAssets\", data=params)" + }, + "get_margin_all_pairs": { + "name": "get_margin_all_pairs", + "path": "binance.async_client.AsyncClient.get_margin_all_pairs", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_all_pairs(self, **params):\n return await self._request_margin_api(\"get\", \"margin/allPairs\", data=params)" + }, + "create_isolated_margin_account": { + "name": "create_isolated_margin_account", + "path": "binance.async_client.AsyncClient.create_isolated_margin_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def create_isolated_margin_account(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/isolated/create\", signed=True, data=params\n )" + }, + "get_isolated_margin_symbol": { + "name": "get_isolated_margin_symbol", + "path": "binance.async_client.AsyncClient.get_isolated_margin_symbol", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_isolated_margin_symbol(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/isolated/pair\", signed=True, data=params\n )" + }, + "get_all_isolated_margin_symbols": { + "name": "get_all_isolated_margin_symbols", + "path": "binance.async_client.AsyncClient.get_all_isolated_margin_symbols", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_all_isolated_margin_symbols(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/isolated/allPairs\", signed=True, data=params\n )" + }, + "get_isolated_margin_fee_data": { + "name": "get_isolated_margin_fee_data", + "path": "binance.async_client.AsyncClient.get_isolated_margin_fee_data", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_isolated_margin_fee_data(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/isolatedMarginData\", True, data=params\n )" + }, + "get_isolated_margin_tier_data": { + "name": "get_isolated_margin_tier_data", + "path": "binance.async_client.AsyncClient.get_isolated_margin_tier_data", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_isolated_margin_tier_data(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/isolatedMarginTier\", True, data=params\n )" + }, + "margin_manual_liquidation": { + "name": "margin_manual_liquidation", + "path": "binance.async_client.AsyncClient.margin_manual_liquidation", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_manual_liquidation(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/manual-liquidation\", True, data=params\n )" + }, + "toggle_bnb_burn_spot_margin": { + "name": "toggle_bnb_burn_spot_margin", + "path": "binance.async_client.AsyncClient.toggle_bnb_burn_spot_margin", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def toggle_bnb_burn_spot_margin(self, **params):\n return await self._request_margin_api(\n \"post\", \"bnbBurn\", signed=True, data=params\n )" + }, + "get_bnb_burn_spot_margin": { + "name": "get_bnb_burn_spot_margin", + "path": "binance.async_client.AsyncClient.get_bnb_burn_spot_margin", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_bnb_burn_spot_margin(self, **params):\n return await self._request_margin_api(\n \"get\", \"bnbBurn\", signed=True, data=params\n )" + }, + "get_margin_price_index": { + "name": "get_margin_price_index", + "path": "binance.async_client.AsyncClient.get_margin_price_index", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_price_index(self, **params):\n return await self._request_margin_api(\"get\", \"margin/priceIndex\", data=params)" + }, + "transfer_margin_to_spot": { + "name": "transfer_margin_to_spot", + "path": "binance.async_client.AsyncClient.transfer_margin_to_spot", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def transfer_margin_to_spot(self, **params):\n params[\"type\"] = 2\n return await self._request_margin_api(\n \"post\", \"margin/transfer\", signed=True, data=params\n )" + }, + "transfer_spot_to_margin": { + "name": "transfer_spot_to_margin", + "path": "binance.async_client.AsyncClient.transfer_spot_to_margin", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def transfer_spot_to_margin(self, **params):\n params[\"type\"] = 1\n return await self._request_margin_api(\n \"post\", \"margin/transfer\", signed=True, data=params\n )" + }, + "transfer_isolated_margin_to_spot": { + "name": "transfer_isolated_margin_to_spot", + "path": "binance.async_client.AsyncClient.transfer_isolated_margin_to_spot", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def transfer_isolated_margin_to_spot(self, **params):\n params[\"transFrom\"] = \"ISOLATED_MARGIN\"\n params[\"transTo\"] = \"SPOT\"\n return await self._request_margin_api(\n \"post\", \"margin/isolated/transfer\", signed=True, data=params\n )" + }, + "transfer_spot_to_isolated_margin": { + "name": "transfer_spot_to_isolated_margin", + "path": "binance.async_client.AsyncClient.transfer_spot_to_isolated_margin", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def transfer_spot_to_isolated_margin(self, **params):\n params[\"transFrom\"] = \"SPOT\"\n params[\"transTo\"] = \"ISOLATED_MARGIN\"\n return await self._request_margin_api(\n \"post\", \"margin/isolated/transfer\", signed=True, data=params\n )" + }, + "create_margin_loan": { + "name": "create_margin_loan", + "path": "binance.async_client.AsyncClient.create_margin_loan", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def create_margin_loan(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/loan\", signed=True, data=params\n )" + }, + "repay_margin_loan": { + "name": "repay_margin_loan", + "path": "binance.async_client.AsyncClient.repay_margin_loan", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def repay_margin_loan(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/repay\", signed=True, data=params\n )" + }, + "create_margin_order": { + "name": "create_margin_order", + "path": "binance.async_client.AsyncClient.create_margin_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def create_margin_order(self, **params):\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return await self._request_margin_api(\n \"post\", \"margin/order\", signed=True, data=params\n )" + }, + "cancel_margin_order": { + "name": "cancel_margin_order", + "path": "binance.async_client.AsyncClient.cancel_margin_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def cancel_margin_order(self, **params):\n return await self._request_margin_api(\n \"delete\", \"margin/order\", signed=True, data=params\n )" + }, + "cancel_all_open_margin_orders": { + "name": "cancel_all_open_margin_orders", + "path": "binance.async_client.AsyncClient.cancel_all_open_margin_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def cancel_all_open_margin_orders(self, **params):\n return await self._request_margin_api(\n \"delete\", \"margin/openOrders\", signed=True, data=params\n )" + }, + "set_margin_max_leverage": { + "name": "set_margin_max_leverage", + "path": "binance.async_client.AsyncClient.set_margin_max_leverage", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def set_margin_max_leverage(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/max-leverage\", signed=True, data=params\n )" + }, + "get_margin_transfer_history": { + "name": "get_margin_transfer_history", + "path": "binance.async_client.AsyncClient.get_margin_transfer_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/transfer\", signed=True, data=params\n )" + }, + "get_margin_loan_details": { + "name": "get_margin_loan_details", + "path": "binance.async_client.AsyncClient.get_margin_loan_details", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_loan_details(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/loan\", signed=True, data=params\n )" + }, + "get_margin_repay_details": { + "name": "get_margin_repay_details", + "path": "binance.async_client.AsyncClient.get_margin_repay_details", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_repay_details(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/repay\", signed=True, data=params\n )" + }, + "get_cross_margin_data": { + "name": "get_cross_margin_data", + "path": "binance.async_client.AsyncClient.get_cross_margin_data", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_cross_margin_data(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/crossMarginData\", signed=True, data=params\n )" + }, + "get_margin_interest_history": { + "name": "get_margin_interest_history", + "path": "binance.async_client.AsyncClient.get_margin_interest_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_interest_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/interestHistory\", signed=True, data=params\n )" + }, + "get_margin_force_liquidation_rec": { + "name": "get_margin_force_liquidation_rec", + "path": "binance.async_client.AsyncClient.get_margin_force_liquidation_rec", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_force_liquidation_rec(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/forceLiquidationRec\", signed=True, data=params\n )" + }, + "get_margin_order": { + "name": "get_margin_order", + "path": "binance.async_client.AsyncClient.get_margin_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_order(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/order\", signed=True, data=params\n )" + }, + "get_open_margin_orders": { + "name": "get_open_margin_orders", + "path": "binance.async_client.AsyncClient.get_open_margin_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_open_margin_orders(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/openOrders\", signed=True, data=params\n )" + }, + "get_all_margin_orders": { + "name": "get_all_margin_orders", + "path": "binance.async_client.AsyncClient.get_all_margin_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_all_margin_orders(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/allOrders\", signed=True, data=params\n )" + }, + "get_margin_trades": { + "name": "get_margin_trades", + "path": "binance.async_client.AsyncClient.get_margin_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_trades(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/myTrades\", signed=True, data=params\n )" + }, + "get_max_margin_loan": { + "name": "get_max_margin_loan", + "path": "binance.async_client.AsyncClient.get_max_margin_loan", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_max_margin_loan(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/maxBorrowable\", signed=True, data=params\n )" + }, + "get_max_margin_transfer": { + "name": "get_max_margin_transfer", + "path": "binance.async_client.AsyncClient.get_max_margin_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_max_margin_transfer(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/maxTransferable\", signed=True, data=params\n )" + }, + "create_margin_oco_order": { + "name": "create_margin_oco_order", + "path": "binance.async_client.AsyncClient.create_margin_oco_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def create_margin_oco_order(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/order/oco\", signed=True, data=params\n )" + }, + "cancel_margin_oco_order": { + "name": "cancel_margin_oco_order", + "path": "binance.async_client.AsyncClient.cancel_margin_oco_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def cancel_margin_oco_order(self, **params):\n return await self._request_margin_api(\n \"delete\", \"margin/orderList\", signed=True, data=params\n )" + }, + "get_margin_oco_order": { + "name": "get_margin_oco_order", + "path": "binance.async_client.AsyncClient.get_margin_oco_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_margin_oco_order(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/orderList\", signed=True, data=params\n )" + }, + "get_open_margin_oco_orders": { + "name": "get_open_margin_oco_orders", + "path": "binance.async_client.AsyncClient.get_open_margin_oco_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_open_margin_oco_orders(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/openOrderList\", signed=True, data=params\n )" + }, + "margin_stream_get_listen_key": { + "name": "margin_stream_get_listen_key", + "path": "binance.async_client.AsyncClient.margin_stream_get_listen_key", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_stream_get_listen_key(self):\n res = await self._request_margin_api(\n \"post\", \"userDataStream\", signed=False, data={}\n )\n return res[\"listenKey\"]" + }, + "margin_stream_keepalive": { + "name": "margin_stream_keepalive", + "path": "binance.async_client.AsyncClient.margin_stream_keepalive", + "signature": "(self, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_stream_keepalive(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_margin_api(\n \"put\", \"userDataStream\", signed=False, data=params\n )" + }, + "margin_stream_close": { + "name": "margin_stream_close", + "path": "binance.async_client.AsyncClient.margin_stream_close", + "signature": "(self, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_stream_close(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_margin_api(\n \"delete\", \"userDataStream\", signed=False, data=params\n )" + }, + "isolated_margin_stream_get_listen_key": { + "name": "isolated_margin_stream_get_listen_key", + "path": "binance.async_client.AsyncClient.isolated_margin_stream_get_listen_key", + "signature": "(self, symbol)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def isolated_margin_stream_get_listen_key(self, symbol):\n params = {\"symbol\": symbol}\n res = await self._request_margin_api(\n \"post\", \"userDataStream/isolated\", signed=False, data=params\n )\n return res[\"listenKey\"]" + }, + "isolated_margin_stream_keepalive": { + "name": "isolated_margin_stream_keepalive", + "path": "binance.async_client.AsyncClient.isolated_margin_stream_keepalive", + "signature": "(self, symbol, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def isolated_margin_stream_keepalive(self, symbol, listenKey):\n params = {\"symbol\": symbol, \"listenKey\": listenKey}\n return await self._request_margin_api(\n \"put\", \"userDataStream/isolated\", signed=False, data=params\n )" + }, + "isolated_margin_stream_close": { + "name": "isolated_margin_stream_close", + "path": "binance.async_client.AsyncClient.isolated_margin_stream_close", + "signature": "(self, symbol, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def isolated_margin_stream_close(self, symbol, listenKey):\n params = {\"symbol\": symbol, \"listenKey\": listenKey}\n return await self._request_margin_api(\n \"delete\", \"userDataStream/isolated\", signed=False, data=params\n )" + }, + "get_simple_earn_flexible_product_list": { + "name": "get_simple_earn_flexible_product_list", + "path": "binance.async_client.AsyncClient.get_simple_earn_flexible_product_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_simple_earn_flexible_product_list(self, **params):\n return await self._request_margin_api(\n \"get\", \"simple-earn/flexible/list\", signed=True, data=params\n )" + }, + "get_simple_earn_locked_product_list": { + "name": "get_simple_earn_locked_product_list", + "path": "binance.async_client.AsyncClient.get_simple_earn_locked_product_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_simple_earn_locked_product_list(self, **params):\n return await self._request_margin_api(\n \"get\", \"simple-earn/locked/list\", signed=True, data=params\n )" + }, + "subscribe_simple_earn_flexible_product": { + "name": "subscribe_simple_earn_flexible_product", + "path": "binance.async_client.AsyncClient.subscribe_simple_earn_flexible_product", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def subscribe_simple_earn_flexible_product(self, **params):\n return await self._request_margin_api(\n \"post\", \"simple-earn/flexible/subscribe\", signed=True, data=params\n )" + }, + "subscribe_simple_earn_locked_product": { + "name": "subscribe_simple_earn_locked_product", + "path": "binance.async_client.AsyncClient.subscribe_simple_earn_locked_product", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def subscribe_simple_earn_locked_product(self, **params):\n return await self._request_margin_api(\n \"post\", \"simple-earn/locked/subscribe\", signed=True, data=params\n )" + }, + "redeem_simple_earn_flexible_product": { + "name": "redeem_simple_earn_flexible_product", + "path": "binance.async_client.AsyncClient.redeem_simple_earn_flexible_product", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def redeem_simple_earn_flexible_product(self, **params):\n return await self._request_margin_api(\n \"post\", \"simple-earn/flexible/redeem\", signed=True, data=params\n )" + }, + "redeem_simple_earn_locked_product": { + "name": "redeem_simple_earn_locked_product", + "path": "binance.async_client.AsyncClient.redeem_simple_earn_locked_product", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def redeem_simple_earn_locked_product(self, **params):\n return await self._request_margin_api(\n \"post\", \"simple-earn/locked/redeem\", signed=True, data=params\n )" + }, + "get_simple_earn_flexible_product_position": { + "name": "get_simple_earn_flexible_product_position", + "path": "binance.async_client.AsyncClient.get_simple_earn_flexible_product_position", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_simple_earn_flexible_product_position(self, **params):\n return await self._request_margin_api(\n \"get\", \"simple-earn/flexible/position\", signed=True, data=params\n )" + }, + "get_simple_earn_locked_product_position": { + "name": "get_simple_earn_locked_product_position", + "path": "binance.async_client.AsyncClient.get_simple_earn_locked_product_position", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_simple_earn_locked_product_position(self, **params):\n return await self._request_margin_api(\n \"get\", \"simple-earn/locked/position\", signed=True, data=params\n )" + }, + "get_simple_earn_account": { + "name": "get_simple_earn_account", + "path": "binance.async_client.AsyncClient.get_simple_earn_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_simple_earn_account(self, **params):\n return await self._request_margin_api(\n \"get\", \"simple-earn/account\", signed=True, data=params\n )" + }, + "get_fixed_activity_project_list": { + "name": "get_fixed_activity_project_list", + "path": "binance.async_client.AsyncClient.get_fixed_activity_project_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_fixed_activity_project_list(self, **params):\n return await self._request_margin_api(\n \"get\", \"lending/project/list\", signed=True, data=params\n )" + }, + "change_fixed_activity_to_daily_position": { + "name": "change_fixed_activity_to_daily_position", + "path": "binance.async_client.AsyncClient.change_fixed_activity_to_daily_position", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def change_fixed_activity_to_daily_position(self, **params):\n return await self._request_margin_api(\n \"post\", \"lending/positionChanged\", signed=True, data=params\n )" + }, + "get_staking_product_list": { + "name": "get_staking_product_list", + "path": "binance.async_client.AsyncClient.get_staking_product_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_staking_product_list(self, **params):\n return await self._request_margin_api(\n \"get\", \"staking/productList\", signed=True, data=params\n )" + }, + "purchase_staking_product": { + "name": "purchase_staking_product", + "path": "binance.async_client.AsyncClient.purchase_staking_product", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def purchase_staking_product(self, **params):\n return await self._request_margin_api(\n \"post\", \"staking/purchase\", signed=True, data=params\n )" + }, + "redeem_staking_product": { + "name": "redeem_staking_product", + "path": "binance.async_client.AsyncClient.redeem_staking_product", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def redeem_staking_product(self, **params):\n return await self._request_margin_api(\n \"post\", \"staking/redeem\", signed=True, data=params\n )" + }, + "get_staking_position": { + "name": "get_staking_position", + "path": "binance.async_client.AsyncClient.get_staking_position", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_staking_position(self, **params):\n return await self._request_margin_api(\n \"get\", \"staking/position\", signed=True, data=params\n )" + }, + "get_staking_purchase_history": { + "name": "get_staking_purchase_history", + "path": "binance.async_client.AsyncClient.get_staking_purchase_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_staking_purchase_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"staking/purchaseRecord\", signed=True, data=params\n )" + }, + "set_auto_staking": { + "name": "set_auto_staking", + "path": "binance.async_client.AsyncClient.set_auto_staking", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def set_auto_staking(self, **params):\n return await self._request_margin_api(\n \"post\", \"staking/setAutoStaking\", signed=True, data=params\n )" + }, + "get_personal_left_quota": { + "name": "get_personal_left_quota", + "path": "binance.async_client.AsyncClient.get_personal_left_quota", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_personal_left_quota(self, **params):\n return await self._request_margin_api(\n \"get\", \"staking/personalLeftQuota\", signed=True, data=params\n )" + }, + "get_staking_asset_us": { + "name": "get_staking_asset_us", + "path": "binance.async_client.AsyncClient.get_staking_asset_us", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_staking_asset_us(self, **params):\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return await self._request_margin_api(\"get\", \"staking/asset\", True, data=params)" + }, + "stake_asset_us": { + "name": "stake_asset_us", + "path": "binance.async_client.AsyncClient.stake_asset_us", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def stake_asset_us(self, **params):\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return await self._request_margin_api(\n \"post\", \"staking/stake\", True, data=params\n )" + }, + "unstake_asset_us": { + "name": "unstake_asset_us", + "path": "binance.async_client.AsyncClient.unstake_asset_us", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def unstake_asset_us(self, **params):\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return await self._request_margin_api(\n \"post\", \"staking/unstake\", True, data=params\n )" + }, + "get_staking_balance_us": { + "name": "get_staking_balance_us", + "path": "binance.async_client.AsyncClient.get_staking_balance_us", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_staking_balance_us(self, **params):\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return await self._request_margin_api(\n \"get\", \"staking/stakingBalance\", True, data=params\n )" + }, + "get_staking_history_us": { + "name": "get_staking_history_us", + "path": "binance.async_client.AsyncClient.get_staking_history_us", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_staking_history_us(self, **params):\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return await self._request_margin_api(\n \"get\", \"staking/history\", True, data=params\n )" + }, + "get_staking_rewards_history_us": { + "name": "get_staking_rewards_history_us", + "path": "binance.async_client.AsyncClient.get_staking_rewards_history_us", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_staking_rewards_history_us(self, **params):\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return await self._request_margin_api(\n \"get\", \"staking/stakingRewardsHistory\", True, data=params\n )" + }, + "get_sub_account_list": { + "name": "get_sub_account_list", + "path": "binance.async_client.AsyncClient.get_sub_account_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_sub_account_list(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/list\", True, data=params\n )" + }, + "get_sub_account_transfer_history": { + "name": "get_sub_account_transfer_history", + "path": "binance.async_client.AsyncClient.get_sub_account_transfer_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_sub_account_transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/sub/transfer/history\", True, data=params\n )" + }, + "get_sub_account_futures_transfer_history": { + "name": "get_sub_account_futures_transfer_history", + "path": "binance.async_client.AsyncClient.get_sub_account_futures_transfer_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_sub_account_futures_transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/futures/internalTransfer\", True, data=params\n )" + }, + "create_sub_account_futures_transfer": { + "name": "create_sub_account_futures_transfer", + "path": "binance.async_client.AsyncClient.create_sub_account_futures_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def create_sub_account_futures_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/futures/internalTransfer\", True, data=params\n )" + }, + "get_sub_account_assets": { + "name": "get_sub_account_assets", + "path": "binance.async_client.AsyncClient.get_sub_account_assets", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_sub_account_assets(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/assets\", True, data=params, version=4\n )" + }, + "query_subaccount_spot_summary": { + "name": "query_subaccount_spot_summary", + "path": "binance.async_client.AsyncClient.query_subaccount_spot_summary", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def query_subaccount_spot_summary(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/spotSummary\", True, data=params\n )" + }, + "get_subaccount_deposit_address": { + "name": "get_subaccount_deposit_address", + "path": "binance.async_client.AsyncClient.get_subaccount_deposit_address", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_subaccount_deposit_address(self, **params):\n return await self._request_margin_api(\n \"get\", \"capital/deposit/subAddress\", True, data=params\n )" + }, + "get_subaccount_deposit_history": { + "name": "get_subaccount_deposit_history", + "path": "binance.async_client.AsyncClient.get_subaccount_deposit_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_subaccount_deposit_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"capital/deposit/subHisrec\", True, data=params\n )" + }, + "get_subaccount_futures_margin_status": { + "name": "get_subaccount_futures_margin_status", + "path": "binance.async_client.AsyncClient.get_subaccount_futures_margin_status", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_subaccount_futures_margin_status(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/status\", True, data=params\n )" + }, + "enable_subaccount_margin": { + "name": "enable_subaccount_margin", + "path": "binance.async_client.AsyncClient.enable_subaccount_margin", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def enable_subaccount_margin(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/margin/enable\", True, data=params\n )" + }, + "get_subaccount_margin_details": { + "name": "get_subaccount_margin_details", + "path": "binance.async_client.AsyncClient.get_subaccount_margin_details", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_subaccount_margin_details(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/margin/account\", True, data=params\n )" + }, + "get_subaccount_margin_summary": { + "name": "get_subaccount_margin_summary", + "path": "binance.async_client.AsyncClient.get_subaccount_margin_summary", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_subaccount_margin_summary(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/margin/accountSummary\", True, data=params\n )" + }, + "enable_subaccount_futures": { + "name": "enable_subaccount_futures", + "path": "binance.async_client.AsyncClient.enable_subaccount_futures", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def enable_subaccount_futures(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/futures/enable\", True, data=params\n )" + }, + "get_subaccount_futures_details": { + "name": "get_subaccount_futures_details", + "path": "binance.async_client.AsyncClient.get_subaccount_futures_details", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_subaccount_futures_details(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/futures/account\", True, data=params, version=2\n )" + }, + "get_subaccount_futures_summary": { + "name": "get_subaccount_futures_summary", + "path": "binance.async_client.AsyncClient.get_subaccount_futures_summary", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_subaccount_futures_summary(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/futures/accountSummary\", True, data=params, version=2\n )" + }, + "get_subaccount_futures_positionrisk": { + "name": "get_subaccount_futures_positionrisk", + "path": "binance.async_client.AsyncClient.get_subaccount_futures_positionrisk", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_subaccount_futures_positionrisk(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/futures/positionRisk\", True, data=params, version=2\n )" + }, + "make_subaccount_futures_transfer": { + "name": "make_subaccount_futures_transfer", + "path": "binance.async_client.AsyncClient.make_subaccount_futures_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def make_subaccount_futures_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/futures/transfer\", True, data=params\n )" + }, + "make_subaccount_margin_transfer": { + "name": "make_subaccount_margin_transfer", + "path": "binance.async_client.AsyncClient.make_subaccount_margin_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def make_subaccount_margin_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/margin/transfer\", True, data=params\n )" + }, + "make_subaccount_to_subaccount_transfer": { + "name": "make_subaccount_to_subaccount_transfer", + "path": "binance.async_client.AsyncClient.make_subaccount_to_subaccount_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def make_subaccount_to_subaccount_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/transfer/subToSub\", True, data=params\n )" + }, + "make_subaccount_to_master_transfer": { + "name": "make_subaccount_to_master_transfer", + "path": "binance.async_client.AsyncClient.make_subaccount_to_master_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def make_subaccount_to_master_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/transfer/subToMaster\", True, data=params\n )" + }, + "get_subaccount_transfer_history": { + "name": "get_subaccount_transfer_history", + "path": "binance.async_client.AsyncClient.get_subaccount_transfer_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_subaccount_transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/transfer/subUserHistory\", True, data=params\n )" + }, + "make_subaccount_universal_transfer": { + "name": "make_subaccount_universal_transfer", + "path": "binance.async_client.AsyncClient.make_subaccount_universal_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def make_subaccount_universal_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/universalTransfer\", True, data=params\n )" + }, + "get_universal_transfer_history": { + "name": "get_universal_transfer_history", + "path": "binance.async_client.AsyncClient.get_universal_transfer_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_universal_transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/universalTransfer\", True, data=params\n )" + }, + "futures_ping": { + "name": "futures_ping", + "path": "binance.async_client.AsyncClient.futures_ping", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_ping(self):\n return await self._request_futures_api(\"get\", \"ping\")" + }, + "futures_time": { + "name": "futures_time", + "path": "binance.async_client.AsyncClient.futures_time", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_time(self):\n return await self._request_futures_api(\"get\", \"time\")" + }, + "futures_exchange_info": { + "name": "futures_exchange_info", + "path": "binance.async_client.AsyncClient.futures_exchange_info", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_exchange_info(self):\n return await self._request_futures_api(\"get\", \"exchangeInfo\")" + }, + "futures_order_book": { + "name": "futures_order_book", + "path": "binance.async_client.AsyncClient.futures_order_book", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_order_book(self, **params):\n return await self._request_futures_api(\"get\", \"depth\", data=params)" + }, + "futures_recent_trades": { + "name": "futures_recent_trades", + "path": "binance.async_client.AsyncClient.futures_recent_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_recent_trades(self, **params):\n return await self._request_futures_api(\"get\", \"trades\", data=params)" + }, + "futures_historical_trades": { + "name": "futures_historical_trades", + "path": "binance.async_client.AsyncClient.futures_historical_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_historical_trades(self, **params):\n return await self._request_futures_api(\"get\", \"historicalTrades\", data=params)" + }, + "futures_aggregate_trades": { + "name": "futures_aggregate_trades", + "path": "binance.async_client.AsyncClient.futures_aggregate_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_aggregate_trades(self, **params):\n return await self._request_futures_api(\"get\", \"aggTrades\", data=params)" + }, + "futures_klines": { + "name": "futures_klines", + "path": "binance.async_client.AsyncClient.futures_klines", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_klines(self, **params):\n return await self._request_futures_api(\"get\", \"klines\", data=params)" + }, + "futures_mark_price_klines": { + "name": "futures_mark_price_klines", + "path": "binance.async_client.AsyncClient.futures_mark_price_klines", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_mark_price_klines(self, **params):\n return await self._request_futures_api(\"get\", \"markPriceKlines\", data=params)" + }, + "futures_index_price_klines": { + "name": "futures_index_price_klines", + "path": "binance.async_client.AsyncClient.futures_index_price_klines", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_index_price_klines(self, **params):\n return await self._request_futures_api(\"get\", \"indexPriceKlines\", data=params)" + }, + "futures_premium_index_klines": { + "name": "futures_premium_index_klines", + "path": "binance.async_client.AsyncClient.futures_premium_index_klines", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_premium_index_klines(self, **params):\n return await self._request_futures_api(\"get\", \"premiumIndexKlines\", data=params)" + }, + "futures_continuous_klines": { + "name": "futures_continuous_klines", + "path": "binance.async_client.AsyncClient.futures_continuous_klines", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_continuous_klines(self, **params):\n return await self._request_futures_api(\"get\", \"continuousKlines\", data=params)" + }, + "futures_historical_klines": { + "name": "futures_historical_klines", + "path": "binance.async_client.AsyncClient.futures_historical_klines", + "signature": "(self, symbol, interval, start_str, end_str=None, limit=None)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "end_str", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_historical_klines(\n self, symbol: str, interval: str, start_str, end_str=None, limit=None\n):\n return await self._historical_klines(\n symbol,\n interval,\n start_str,\n end_str=end_str,\n limit=limit,\n klines_type=HistoricalKlinesType.FUTURES,\n )" + }, + "futures_historical_klines_generator": { + "name": "futures_historical_klines_generator", + "path": "binance.async_client.AsyncClient.futures_historical_klines_generator", + "signature": "(self, symbol, interval, start_str, end_str=None)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "start_str", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "end_str", + "annotation": null, + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_historical_klines_generator(\n self, symbol, interval, start_str, end_str=None\n):\n return self._historical_klines_generator(\n symbol,\n interval,\n start_str,\n end_str=end_str,\n klines_type=HistoricalKlinesType.FUTURES,\n )" + }, + "futures_mark_price": { + "name": "futures_mark_price", + "path": "binance.async_client.AsyncClient.futures_mark_price", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_mark_price(self, **params):\n return await self._request_futures_api(\"get\", \"premiumIndex\", data=params)" + }, + "futures_funding_rate": { + "name": "futures_funding_rate", + "path": "binance.async_client.AsyncClient.futures_funding_rate", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_funding_rate(self, **params):\n return await self._request_futures_api(\"get\", \"fundingRate\", data=params)" + }, + "futures_top_longshort_account_ratio": { + "name": "futures_top_longshort_account_ratio", + "path": "binance.async_client.AsyncClient.futures_top_longshort_account_ratio", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_top_longshort_account_ratio(self, **params):\n return await self._request_futures_data_api(\n \"get\", \"topLongShortAccountRatio\", data=params\n )" + }, + "futures_top_longshort_position_ratio": { + "name": "futures_top_longshort_position_ratio", + "path": "binance.async_client.AsyncClient.futures_top_longshort_position_ratio", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_top_longshort_position_ratio(self, **params):\n return await self._request_futures_data_api(\n \"get\", \"topLongShortPositionRatio\", data=params\n )" + }, + "futures_global_longshort_ratio": { + "name": "futures_global_longshort_ratio", + "path": "binance.async_client.AsyncClient.futures_global_longshort_ratio", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_global_longshort_ratio(self, **params):\n return await self._request_futures_data_api(\n \"get\", \"globalLongShortAccountRatio\", data=params\n )" + }, + "futures_taker_longshort_ratio": { + "name": "futures_taker_longshort_ratio", + "path": "binance.async_client.AsyncClient.futures_taker_longshort_ratio", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_taker_longshort_ratio(self, **params):\n return await self._request_futures_data_api(\n \"get\", \"takerlongshortRatio\", data=params\n )" + }, + "futures_ticker": { + "name": "futures_ticker", + "path": "binance.async_client.AsyncClient.futures_ticker", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_ticker(self, **params):\n return await self._request_futures_api(\"get\", \"ticker/24hr\", data=params)" + }, + "futures_symbol_ticker": { + "name": "futures_symbol_ticker", + "path": "binance.async_client.AsyncClient.futures_symbol_ticker", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_symbol_ticker(self, **params):\n return await self._request_futures_api(\"get\", \"ticker/price\", data=params)" + }, + "futures_orderbook_ticker": { + "name": "futures_orderbook_ticker", + "path": "binance.async_client.AsyncClient.futures_orderbook_ticker", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_orderbook_ticker(self, **params):\n return await self._request_futures_api(\"get\", \"ticker/bookTicker\", data=params)" + }, + "futures_index_price_constituents": { + "name": "futures_index_price_constituents", + "path": "binance.async_client.AsyncClient.futures_index_price_constituents", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_index_price_constituents(self, **params):\n return await self._request_futures_api(\"get\", \"constituents\", data=params)" + }, + "futures_liquidation_orders": { + "name": "futures_liquidation_orders", + "path": "binance.async_client.AsyncClient.futures_liquidation_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_liquidation_orders(self, **params):\n return await self._request_futures_api(\n \"get\", \"forceOrders\", signed=True, data=params\n )" + }, + "futures_api_trading_status": { + "name": "futures_api_trading_status", + "path": "binance.async_client.AsyncClient.futures_api_trading_status", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_api_trading_status(self, **params):\n return await self._request_futures_api(\n \"get\", \"apiTradingStatus\", signed=True, data=params\n )" + }, + "futures_commission_rate": { + "name": "futures_commission_rate", + "path": "binance.async_client.AsyncClient.futures_commission_rate", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_commission_rate(self, **params):\n return await self._request_futures_api(\n \"get\", \"commissionRate\", signed=True, data=params\n )" + }, + "futures_adl_quantile_estimate": { + "name": "futures_adl_quantile_estimate", + "path": "binance.async_client.AsyncClient.futures_adl_quantile_estimate", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_adl_quantile_estimate(self, **params):\n return await self._request_futures_api(\n \"get\", \"adlQuantile\", signed=True, data=params\n )" + }, + "futures_open_interest": { + "name": "futures_open_interest", + "path": "binance.async_client.AsyncClient.futures_open_interest", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_open_interest(self, **params):\n return await self._request_futures_api(\"get\", \"openInterest\", data=params)" + }, + "futures_index_info": { + "name": "futures_index_info", + "path": "binance.async_client.AsyncClient.futures_index_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_index_info(self, **params):\n return await self._request_futures_api(\"get\", \"indexInfo\", data=params)" + }, + "futures_open_interest_hist": { + "name": "futures_open_interest_hist", + "path": "binance.async_client.AsyncClient.futures_open_interest_hist", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_open_interest_hist(self, **params):\n return await self._request_futures_data_api(\n \"get\", \"openInterestHist\", data=params\n )" + }, + "futures_leverage_bracket": { + "name": "futures_leverage_bracket", + "path": "binance.async_client.AsyncClient.futures_leverage_bracket", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_leverage_bracket(self, **params):\n return await self._request_futures_api(\n \"get\", \"leverageBracket\", True, data=params\n )" + }, + "futures_account_transfer": { + "name": "futures_account_transfer", + "path": "binance.async_client.AsyncClient.futures_account_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_account_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"futures/transfer\", True, data=params\n )" + }, + "transfer_history": { + "name": "transfer_history", + "path": "binance.async_client.AsyncClient.transfer_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"futures/transfer\", True, data=params\n )" + }, + "futures_loan_borrow_history": { + "name": "futures_loan_borrow_history", + "path": "binance.async_client.AsyncClient.futures_loan_borrow_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_loan_borrow_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"futures/loan/borrow/history\", True, data=params\n )" + }, + "futures_loan_repay_history": { + "name": "futures_loan_repay_history", + "path": "binance.async_client.AsyncClient.futures_loan_repay_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_loan_repay_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"futures/loan/repay/history\", True, data=params\n )" + }, + "futures_loan_wallet": { + "name": "futures_loan_wallet", + "path": "binance.async_client.AsyncClient.futures_loan_wallet", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_loan_wallet(self, **params):\n return await self._request_margin_api(\n \"get\", \"futures/loan/wallet\", True, data=params, version=2\n )" + }, + "futures_cross_collateral_adjust_history": { + "name": "futures_cross_collateral_adjust_history", + "path": "binance.async_client.AsyncClient.futures_cross_collateral_adjust_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_cross_collateral_adjust_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"futures/loan/adjustCollateral/history\", True, data=params\n )" + }, + "futures_cross_collateral_liquidation_history": { + "name": "futures_cross_collateral_liquidation_history", + "path": "binance.async_client.AsyncClient.futures_cross_collateral_liquidation_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_cross_collateral_liquidation_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"futures/loan/liquidationHistory\", True, data=params\n )" + }, + "futures_loan_interest_history": { + "name": "futures_loan_interest_history", + "path": "binance.async_client.AsyncClient.futures_loan_interest_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_loan_interest_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"futures/loan/interestHistory\", True, data=params\n )" + }, + "futures_create_order": { + "name": "futures_create_order", + "path": "binance.async_client.AsyncClient.futures_create_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_create_order(self, **params):\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_futures_api(\"post\", \"order\", True, data=params)" + }, + "futures_limit_order": { + "name": "futures_limit_order", + "path": "binance.async_client.AsyncClient.futures_limit_order", + "signature": "(self, **params)", + "description": "Send in a new futures limit order.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_limit_order(self, **params):\n \"\"\"Send in a new futures limit order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"type\"] = \"LIMIT\"\n return await self._request_futures_api(\"post\", \"order\", True, data=params)" + }, + "futures_market_order": { + "name": "futures_market_order", + "path": "binance.async_client.AsyncClient.futures_market_order", + "signature": "(self, **params)", + "description": "Send in a new futures market order.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_market_order(self, **params):\n \"\"\"Send in a new futures market order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"type\"] = \"MARKET\"\n return await self._request_futures_api(\"post\", \"order\", True, data=params)" + }, + "futures_limit_buy_order": { + "name": "futures_limit_buy_order", + "path": "binance.async_client.AsyncClient.futures_limit_buy_order", + "signature": "(self, **params)", + "description": "Send in a new futures limit buy order.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_limit_buy_order(self, **params):\n \"\"\"Send in a new futures limit buy order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"BUY\"\n params[\"type\"] = \"LIMIT\"\n return await self._request_futures_api(\"post\", \"order\", True, data=params)" + }, + "futures_limit_sell_order": { + "name": "futures_limit_sell_order", + "path": "binance.async_client.AsyncClient.futures_limit_sell_order", + "signature": "(self, **params)", + "description": "Send in a new futures limit sell order.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_limit_sell_order(self, **params):\n \"\"\"Send in a new futures limit sell order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"SELL\"\n params[\"type\"] = \"LIMIT\"\n return await self._request_futures_api(\"post\", \"order\", True, data=params)" + }, + "futures_market_buy_order": { + "name": "futures_market_buy_order", + "path": "binance.async_client.AsyncClient.futures_market_buy_order", + "signature": "(self, **params)", + "description": "Send in a new futures market buy order.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_market_buy_order(self, **params):\n \"\"\"Send in a new futures market buy order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"BUY\"\n params[\"type\"] = \"MARKET\"\n return await self._request_futures_api(\"post\", \"order\", True, data=params)" + }, + "futures_market_sell_order": { + "name": "futures_market_sell_order", + "path": "binance.async_client.AsyncClient.futures_market_sell_order", + "signature": "(self, **params)", + "description": "Send in a new futures market sell order.\n\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_market_sell_order(self, **params):\n \"\"\"Send in a new futures market sell order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"SELL\"\n params[\"type\"] = \"MARKET\"\n return await self._request_futures_api(\"post\", \"order\", True, data=params)" + }, + "futures_modify_order": { + "name": "futures_modify_order", + "path": "binance.async_client.AsyncClient.futures_modify_order", + "signature": "(self, **params)", + "description": "Modify an existing order. Currently only LIMIT order modification is supported.\n\nhttps://binance-docs.github.io/apidocs/futures/en/#modify-order-trade", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_modify_order(self, **params):\n \"\"\"Modify an existing order. Currently only LIMIT order modification is supported.\n\n https://binance-docs.github.io/apidocs/futures/en/#modify-order-trade\n\n \"\"\"\n return await self._request_futures_api(\"put\", \"order\", True, data=params)" + }, + "futures_create_test_order": { + "name": "futures_create_test_order", + "path": "binance.async_client.AsyncClient.futures_create_test_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_create_test_order(self, **params):\n return await self._request_futures_api(\"post\", \"order/test\", True, data=params)" + }, + "futures_place_batch_order": { + "name": "futures_place_batch_order", + "path": "binance.async_client.AsyncClient.futures_place_batch_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_place_batch_order(self, **params):\n for order in params[\"batchOrders\"]:\n if \"newClientOrderId\" not in order:\n order[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n order = self._order_params(order)\n query_string = urlencode(params).replace(\"%40\", \"@\").replace(\"%27\", \"%22\")\n params[\"batchOrders\"] = query_string[12:]\n\n return await self._request_futures_api(\n \"post\", \"batchOrders\", True, data=params, force_params=True\n )" + }, + "futures_get_order": { + "name": "futures_get_order", + "path": "binance.async_client.AsyncClient.futures_get_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_get_order(self, **params):\n return await self._request_futures_api(\"get\", \"order\", True, data=params)" + }, + "futures_get_open_orders": { + "name": "futures_get_open_orders", + "path": "binance.async_client.AsyncClient.futures_get_open_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_get_open_orders(self, **params):\n return await self._request_futures_api(\"get\", \"openOrders\", True, data=params)" + }, + "futures_get_all_orders": { + "name": "futures_get_all_orders", + "path": "binance.async_client.AsyncClient.futures_get_all_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_get_all_orders(self, **params):\n return await self._request_futures_api(\"get\", \"allOrders\", True, data=params)" + }, + "futures_cancel_order": { + "name": "futures_cancel_order", + "path": "binance.async_client.AsyncClient.futures_cancel_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_cancel_order(self, **params):\n return await self._request_futures_api(\"delete\", \"order\", True, data=params)" + }, + "futures_cancel_all_open_orders": { + "name": "futures_cancel_all_open_orders", + "path": "binance.async_client.AsyncClient.futures_cancel_all_open_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_cancel_all_open_orders(self, **params):\n return await self._request_futures_api(\n \"delete\", \"allOpenOrders\", True, data=params\n )" + }, + "futures_cancel_orders": { + "name": "futures_cancel_orders", + "path": "binance.async_client.AsyncClient.futures_cancel_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_cancel_orders(self, **params):\n if params.get(\"orderidlist\"):\n params[\"orderidlist\"] = quote(\n convert_list_to_json_array(params[\"orderidlist\"])\n )\n if params.get(\"origclientorderidlist\"):\n params[\"origclientorderidlist\"] = quote(\n convert_list_to_json_array(params[\"origclientorderidlist\"])\n )\n return await self._request_futures_api(\n \"delete\", \"batchOrders\", True, data=params, force_params=True\n )" + }, + "futures_countdown_cancel_all": { + "name": "futures_countdown_cancel_all", + "path": "binance.async_client.AsyncClient.futures_countdown_cancel_all", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_countdown_cancel_all(self, **params):\n return await self._request_futures_api(\n \"post\", \"countdownCancelAll\", True, data=params\n )" + }, + "futures_account_balance": { + "name": "futures_account_balance", + "path": "binance.async_client.AsyncClient.futures_account_balance", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_account_balance(self, **params):\n return await self._request_futures_api(\n \"get\", \"balance\", True, version=3, data=params\n )" + }, + "futures_account": { + "name": "futures_account", + "path": "binance.async_client.AsyncClient.futures_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_account(self, **params):\n return await self._request_futures_api(\n \"get\", \"account\", True, version=2, data=params\n )" + }, + "futures_change_leverage": { + "name": "futures_change_leverage", + "path": "binance.async_client.AsyncClient.futures_change_leverage", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_change_leverage(self, **params):\n return await self._request_futures_api(\"post\", \"leverage\", True, data=params)" + }, + "futures_change_margin_type": { + "name": "futures_change_margin_type", + "path": "binance.async_client.AsyncClient.futures_change_margin_type", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_change_margin_type(self, **params):\n return await self._request_futures_api(\"post\", \"marginType\", True, data=params)" + }, + "futures_change_position_margin": { + "name": "futures_change_position_margin", + "path": "binance.async_client.AsyncClient.futures_change_position_margin", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_change_position_margin(self, **params):\n return await self._request_futures_api(\n \"post\", \"positionMargin\", True, data=params\n )" + }, + "futures_position_margin_history": { + "name": "futures_position_margin_history", + "path": "binance.async_client.AsyncClient.futures_position_margin_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_position_margin_history(self, **params):\n return await self._request_futures_api(\n \"get\", \"positionMargin/history\", True, data=params\n )" + }, + "futures_position_information": { + "name": "futures_position_information", + "path": "binance.async_client.AsyncClient.futures_position_information", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_position_information(self, **params):\n return await self._request_futures_api(\n \"get\", \"positionRisk\", True, version=3, data=params\n )" + }, + "futures_account_trades": { + "name": "futures_account_trades", + "path": "binance.async_client.AsyncClient.futures_account_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_account_trades(self, **params):\n return await self._request_futures_api(\"get\", \"userTrades\", True, data=params)" + }, + "futures_income_history": { + "name": "futures_income_history", + "path": "binance.async_client.AsyncClient.futures_income_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_income_history(self, **params):\n return await self._request_futures_api(\"get\", \"income\", True, data=params)" + }, + "futures_change_position_mode": { + "name": "futures_change_position_mode", + "path": "binance.async_client.AsyncClient.futures_change_position_mode", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_change_position_mode(self, **params):\n return await self._request_futures_api(\n \"post\", \"positionSide/dual\", True, data=params\n )" + }, + "futures_get_position_mode": { + "name": "futures_get_position_mode", + "path": "binance.async_client.AsyncClient.futures_get_position_mode", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_get_position_mode(self, **params):\n return await self._request_futures_api(\n \"get\", \"positionSide/dual\", True, data=params\n )" + }, + "futures_change_multi_assets_mode": { + "name": "futures_change_multi_assets_mode", + "path": "binance.async_client.AsyncClient.futures_change_multi_assets_mode", + "signature": "(self, multiAssetsMargin)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "multiAssetsMargin", + "annotation": "bool", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_change_multi_assets_mode(self, multiAssetsMargin: bool):\n params = {\"multiAssetsMargin\": \"true\" if multiAssetsMargin else \"false\"}\n return await self._request_futures_api(\n \"post\", \"multiAssetsMargin\", True, data=params\n )" + }, + "futures_get_multi_assets_mode": { + "name": "futures_get_multi_assets_mode", + "path": "binance.async_client.AsyncClient.futures_get_multi_assets_mode", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_get_multi_assets_mode(self):\n return await self._request_futures_api(\n \"get\", \"multiAssetsMargin\", True, data={}\n )" + }, + "futures_stream_get_listen_key": { + "name": "futures_stream_get_listen_key", + "path": "binance.async_client.AsyncClient.futures_stream_get_listen_key", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_stream_get_listen_key(self):\n res = await self._request_futures_api(\n \"post\", \"listenKey\", signed=False, data={}\n )\n return res[\"listenKey\"]" + }, + "futures_stream_keepalive": { + "name": "futures_stream_keepalive", + "path": "binance.async_client.AsyncClient.futures_stream_keepalive", + "signature": "(self, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_stream_keepalive(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_futures_api(\n \"put\", \"listenKey\", signed=False, data=params\n )" + }, + "futures_stream_close": { + "name": "futures_stream_close", + "path": "binance.async_client.AsyncClient.futures_stream_close", + "signature": "(self, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_stream_close(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_futures_api(\n \"delete\", \"listenKey\", signed=False, data=params\n )" + }, + "futures_account_config": { + "name": "futures_account_config", + "path": "binance.async_client.AsyncClient.futures_account_config", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_account_config(self, **params):\n return await self._request_futures_api(\n \"get\", \"accountConfig\", signed=True, version=1, data=params\n )" + }, + "futures_symbol_config": { + "name": "futures_symbol_config", + "path": "binance.async_client.AsyncClient.futures_symbol_config", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_symbol_config(self, **params):\n return await self._request_futures_api(\n \"get\", \"symbolConfig\", signed=True, version=1, data=params\n )" + }, + "futures_coin_ping": { + "name": "futures_coin_ping", + "path": "binance.async_client.AsyncClient.futures_coin_ping", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_ping(self):\n return await self._request_futures_coin_api(\"get\", \"ping\")" + }, + "futures_coin_time": { + "name": "futures_coin_time", + "path": "binance.async_client.AsyncClient.futures_coin_time", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_time(self):\n return await self._request_futures_coin_api(\"get\", \"time\")" + }, + "futures_coin_exchange_info": { + "name": "futures_coin_exchange_info", + "path": "binance.async_client.AsyncClient.futures_coin_exchange_info", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_exchange_info(self):\n return await self._request_futures_coin_api(\"get\", \"exchangeInfo\")" + }, + "futures_coin_order_book": { + "name": "futures_coin_order_book", + "path": "binance.async_client.AsyncClient.futures_coin_order_book", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_order_book(self, **params):\n return await self._request_futures_coin_api(\"get\", \"depth\", data=params)" + }, + "futures_coin_recent_trades": { + "name": "futures_coin_recent_trades", + "path": "binance.async_client.AsyncClient.futures_coin_recent_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_recent_trades(self, **params):\n return await self._request_futures_coin_api(\"get\", \"trades\", data=params)" + }, + "futures_coin_historical_trades": { + "name": "futures_coin_historical_trades", + "path": "binance.async_client.AsyncClient.futures_coin_historical_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_historical_trades(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"historicalTrades\", data=params\n )" + }, + "futures_coin_aggregate_trades": { + "name": "futures_coin_aggregate_trades", + "path": "binance.async_client.AsyncClient.futures_coin_aggregate_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_aggregate_trades(self, **params):\n return await self._request_futures_coin_api(\"get\", \"aggTrades\", data=params)" + }, + "futures_coin_klines": { + "name": "futures_coin_klines", + "path": "binance.async_client.AsyncClient.futures_coin_klines", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_klines(self, **params):\n return await self._request_futures_coin_api(\"get\", \"klines\", data=params)" + }, + "futures_coin_continous_klines": { + "name": "futures_coin_continous_klines", + "path": "binance.async_client.AsyncClient.futures_coin_continous_klines", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_continous_klines(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"continuousKlines\", data=params\n )" + }, + "futures_coin_index_price_klines": { + "name": "futures_coin_index_price_klines", + "path": "binance.async_client.AsyncClient.futures_coin_index_price_klines", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_index_price_klines(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"indexPriceKlines\", data=params\n )" + }, + "futures_coin_mark_price_klines": { + "name": "futures_coin_mark_price_klines", + "path": "binance.async_client.AsyncClient.futures_coin_mark_price_klines", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_mark_price_klines(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"markPriceKlines\", data=params\n )" + }, + "futures_coin_premium_index_klines": { + "name": "futures_coin_premium_index_klines", + "path": "binance.async_client.AsyncClient.futures_coin_premium_index_klines", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_premium_index_klines(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"premiumIndexKlines\", data=params\n )" + }, + "futures_coin_mark_price": { + "name": "futures_coin_mark_price", + "path": "binance.async_client.AsyncClient.futures_coin_mark_price", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_mark_price(self, **params):\n return await self._request_futures_coin_api(\"get\", \"premiumIndex\", data=params)" + }, + "futures_coin_funding_rate": { + "name": "futures_coin_funding_rate", + "path": "binance.async_client.AsyncClient.futures_coin_funding_rate", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_funding_rate(self, **params):\n return await self._request_futures_coin_api(\"get\", \"fundingRate\", data=params)" + }, + "futures_coin_ticker": { + "name": "futures_coin_ticker", + "path": "binance.async_client.AsyncClient.futures_coin_ticker", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_ticker(self, **params):\n return await self._request_futures_coin_api(\"get\", \"ticker/24hr\", data=params)" + }, + "futures_coin_symbol_ticker": { + "name": "futures_coin_symbol_ticker", + "path": "binance.async_client.AsyncClient.futures_coin_symbol_ticker", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_symbol_ticker(self, **params):\n return await self._request_futures_coin_api(\"get\", \"ticker/price\", data=params)" + }, + "futures_coin_orderbook_ticker": { + "name": "futures_coin_orderbook_ticker", + "path": "binance.async_client.AsyncClient.futures_coin_orderbook_ticker", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_orderbook_ticker(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"ticker/bookTicker\", data=params\n )" + }, + "futures_coin_index_price_constituents": { + "name": "futures_coin_index_price_constituents", + "path": "binance.async_client.AsyncClient.futures_coin_index_price_constituents", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_index_price_constituents(self, **params):\n return await self._request_futures_coin_api(\"get\", \"constituents\", data=params)" + }, + "futures_coin_liquidation_orders": { + "name": "futures_coin_liquidation_orders", + "path": "binance.async_client.AsyncClient.futures_coin_liquidation_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_liquidation_orders(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"forceOrders\", signed=True, data=params\n )" + }, + "futures_coin_open_interest": { + "name": "futures_coin_open_interest", + "path": "binance.async_client.AsyncClient.futures_coin_open_interest", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_open_interest(self, **params):\n return await self._request_futures_coin_api(\"get\", \"openInterest\", data=params)" + }, + "futures_coin_open_interest_hist": { + "name": "futures_coin_open_interest_hist", + "path": "binance.async_client.AsyncClient.futures_coin_open_interest_hist", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_open_interest_hist(self, **params):\n return await self._request_futures_coin_data_api(\n \"get\", \"openInterestHist\", data=params\n )" + }, + "futures_coin_leverage_bracket": { + "name": "futures_coin_leverage_bracket", + "path": "binance.async_client.AsyncClient.futures_coin_leverage_bracket", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_leverage_bracket(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"leverageBracket\", version=2, signed=True, data=params\n )" + }, + "new_transfer_history": { + "name": "new_transfer_history", + "path": "binance.async_client.AsyncClient.new_transfer_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def new_transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"asset/transfer\", True, data=params\n )" + }, + "funding_wallet": { + "name": "funding_wallet", + "path": "binance.async_client.AsyncClient.funding_wallet", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def funding_wallet(self, **params):\n return await self._request_margin_api(\n \"post\", \"asset/get-funding-asset\", True, data=params\n )" + }, + "get_user_asset": { + "name": "get_user_asset", + "path": "binance.async_client.AsyncClient.get_user_asset", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_user_asset(self, **params):\n return await self._request_margin_api(\n \"post\", \"asset/getUserAsset\", True, data=params, version=3\n )" + }, + "universal_transfer": { + "name": "universal_transfer", + "path": "binance.async_client.AsyncClient.universal_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def universal_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"asset/transfer\", signed=True, data=params\n )" + }, + "futures_coin_create_order": { + "name": "futures_coin_create_order", + "path": "binance.async_client.AsyncClient.futures_coin_create_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_create_order(self, **params):\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_futures_coin_api(\"post\", \"order\", True, data=params)" + }, + "futures_coin_place_batch_order": { + "name": "futures_coin_place_batch_order", + "path": "binance.async_client.AsyncClient.futures_coin_place_batch_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_place_batch_order(self, **params):\n for order in params[\"batchOrders\"]:\n if \"newClientOrderId\" not in order:\n order[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n query_string = urlencode(params)\n query_string = query_string.replace(\"%27\", \"%22\")\n params[\"batchOrders\"] = query_string[12:]\n\n return await self._request_futures_coin_api(\n \"post\", \"batchOrders\", True, data=params\n )" + }, + "futures_coin_get_order": { + "name": "futures_coin_get_order", + "path": "binance.async_client.AsyncClient.futures_coin_get_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_get_order(self, **params):\n return await self._request_futures_coin_api(\"get\", \"order\", True, data=params)" + }, + "futures_coin_get_open_orders": { + "name": "futures_coin_get_open_orders", + "path": "binance.async_client.AsyncClient.futures_coin_get_open_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_get_open_orders(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"openOrders\", True, data=params\n )" + }, + "futures_coin_get_all_orders": { + "name": "futures_coin_get_all_orders", + "path": "binance.async_client.AsyncClient.futures_coin_get_all_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_get_all_orders(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"allOrders\", signed=True, data=params\n )" + }, + "futures_coin_cancel_order": { + "name": "futures_coin_cancel_order", + "path": "binance.async_client.AsyncClient.futures_coin_cancel_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_cancel_order(self, **params):\n return await self._request_futures_coin_api(\n \"delete\", \"order\", signed=True, data=params\n )" + }, + "futures_coin_cancel_all_open_orders": { + "name": "futures_coin_cancel_all_open_orders", + "path": "binance.async_client.AsyncClient.futures_coin_cancel_all_open_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_cancel_all_open_orders(self, **params):\n return await self._request_futures_coin_api(\n \"delete\", \"allOpenOrders\", signed=True, data=params, force_params=True\n )" + }, + "futures_coin_cancel_orders": { + "name": "futures_coin_cancel_orders", + "path": "binance.async_client.AsyncClient.futures_coin_cancel_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_cancel_orders(self, **params):\n if params.get(\"orderidlist\"):\n params[\"orderidlist\"] = quote(\n convert_list_to_json_array(params[\"orderidlist\"])\n )\n if params.get(\"origclientorderidlist\"):\n params[\"origclientorderidlist\"] = quote(\n convert_list_to_json_array(params[\"origclientorderidlist\"])\n )\n return await self._request_futures_coin_api(\n \"delete\", \"batchOrders\", True, data=params\n )" + }, + "futures_coin_account_balance": { + "name": "futures_coin_account_balance", + "path": "binance.async_client.AsyncClient.futures_coin_account_balance", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_account_balance(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"balance\", signed=True, data=params\n )" + }, + "futures_coin_account": { + "name": "futures_coin_account", + "path": "binance.async_client.AsyncClient.futures_coin_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_account(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"account\", signed=True, data=params\n )" + }, + "futures_coin_change_leverage": { + "name": "futures_coin_change_leverage", + "path": "binance.async_client.AsyncClient.futures_coin_change_leverage", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_change_leverage(self, **params):\n return await self._request_futures_coin_api(\n \"post\", \"leverage\", signed=True, data=params\n )" + }, + "futures_coin_change_margin_type": { + "name": "futures_coin_change_margin_type", + "path": "binance.async_client.AsyncClient.futures_coin_change_margin_type", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_change_margin_type(self, **params):\n return await self._request_futures_coin_api(\n \"post\", \"marginType\", signed=True, data=params\n )" + }, + "futures_coin_change_position_margin": { + "name": "futures_coin_change_position_margin", + "path": "binance.async_client.AsyncClient.futures_coin_change_position_margin", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_change_position_margin(self, **params):\n return await self._request_futures_coin_api(\n \"post\", \"positionMargin\", True, data=params\n )" + }, + "futures_coin_position_margin_history": { + "name": "futures_coin_position_margin_history", + "path": "binance.async_client.AsyncClient.futures_coin_position_margin_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_position_margin_history(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"positionMargin/history\", True, data=params\n )" + }, + "futures_coin_position_information": { + "name": "futures_coin_position_information", + "path": "binance.async_client.AsyncClient.futures_coin_position_information", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_position_information(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"positionRisk\", True, data=params\n )" + }, + "futures_coin_account_trades": { + "name": "futures_coin_account_trades", + "path": "binance.async_client.AsyncClient.futures_coin_account_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_account_trades(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"userTrades\", True, data=params\n )" + }, + "futures_coin_income_history": { + "name": "futures_coin_income_history", + "path": "binance.async_client.AsyncClient.futures_coin_income_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_income_history(self, **params):\n return await self._request_futures_coin_api(\"get\", \"income\", True, data=params)" + }, + "futures_coin_change_position_mode": { + "name": "futures_coin_change_position_mode", + "path": "binance.async_client.AsyncClient.futures_coin_change_position_mode", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_change_position_mode(self, **params):\n return await self._request_futures_coin_api(\n \"post\", \"positionSide/dual\", True, data=params\n )" + }, + "futures_coin_get_position_mode": { + "name": "futures_coin_get_position_mode", + "path": "binance.async_client.AsyncClient.futures_coin_get_position_mode", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_get_position_mode(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"positionSide/dual\", True, data=params\n )" + }, + "futures_coin_stream_get_listen_key": { + "name": "futures_coin_stream_get_listen_key", + "path": "binance.async_client.AsyncClient.futures_coin_stream_get_listen_key", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_stream_get_listen_key(self):\n res = await self._request_futures_coin_api(\n \"post\", \"listenKey\", signed=False, data={}\n )\n return res[\"listenKey\"]" + }, + "futures_coin_stream_keepalive": { + "name": "futures_coin_stream_keepalive", + "path": "binance.async_client.AsyncClient.futures_coin_stream_keepalive", + "signature": "(self, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_stream_keepalive(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_futures_coin_api(\n \"put\", \"listenKey\", signed=False, data=params\n )" + }, + "futures_coin_account_order_history_download": { + "name": "futures_coin_account_order_history_download", + "path": "binance.async_client.AsyncClient.futures_coin_account_order_history_download", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_account_order_history_download(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"order/asyn\", True, data=params\n )" + }, + "futures_coin_account_order_history_download_link": { + "name": "futures_coin_account_order_history_download_link", + "path": "binance.async_client.AsyncClient.futures_coin_account_order_history_download_link", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_account_order_history_download_link(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"order/asyn/id\", True, data=params\n )" + }, + "futures_coin_account_trade_history_download": { + "name": "futures_coin_account_trade_history_download", + "path": "binance.async_client.AsyncClient.futures_coin_account_trade_history_download", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_account_trade_history_download(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"trade/asyn\", True, data=params\n )" + }, + "futures_coin_account_trade_history_download_link": { + "name": "futures_coin_account_trade_history_download_link", + "path": "binance.async_client.AsyncClient.futures_coin_account_trade_history_download_link", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_account_trade_history_download_link(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"trade/asyn/id\", True, data=params\n )" + }, + "futures_coin_stream_close": { + "name": "futures_coin_stream_close", + "path": "binance.async_client.AsyncClient.futures_coin_stream_close", + "signature": "(self, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_stream_close(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_futures_coin_api(\n \"delete\", \"listenKey\", signed=False, data=params\n )" + }, + "get_all_coins_info": { + "name": "get_all_coins_info", + "path": "binance.async_client.AsyncClient.get_all_coins_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_all_coins_info(self, **params):\n return await self._request_margin_api(\n \"get\", \"capital/config/getall\", True, data=params\n )" + }, + "get_account_snapshot": { + "name": "get_account_snapshot", + "path": "binance.async_client.AsyncClient.get_account_snapshot", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_account_snapshot(self, **params):\n return await self._request_margin_api(\n \"get\", \"accountSnapshot\", True, data=params\n )" + }, + "disable_fast_withdraw_switch": { + "name": "disable_fast_withdraw_switch", + "path": "binance.async_client.AsyncClient.disable_fast_withdraw_switch", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def disable_fast_withdraw_switch(self, **params):\n return await self._request_margin_api(\n \"post\", \"disableFastWithdrawSwitch\", True, data=params\n )" + }, + "enable_fast_withdraw_switch": { + "name": "enable_fast_withdraw_switch", + "path": "binance.async_client.AsyncClient.enable_fast_withdraw_switch", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def enable_fast_withdraw_switch(self, **params):\n return await self._request_margin_api(\n \"post\", \"enableFastWithdrawSwitch\", True, data=params\n )" + }, + "options_ping": { + "name": "options_ping", + "path": "binance.async_client.AsyncClient.options_ping", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_ping(self):\n return await self._request_options_api(\"get\", \"ping\")" + }, + "options_time": { + "name": "options_time", + "path": "binance.async_client.AsyncClient.options_time", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_time(self):\n return await self._request_options_api(\"get\", \"time\")" + }, + "options_info": { + "name": "options_info", + "path": "binance.async_client.AsyncClient.options_info", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_info(self):\n return await self._request_options_api(\"get\", \"optionInfo\")" + }, + "options_exchange_info": { + "name": "options_exchange_info", + "path": "binance.async_client.AsyncClient.options_exchange_info", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_exchange_info(self):\n return await self._request_options_api(\"get\", \"exchangeInfo\")" + }, + "options_index_price": { + "name": "options_index_price", + "path": "binance.async_client.AsyncClient.options_index_price", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_index_price(self, **params):\n return await self._request_options_api(\"get\", \"index\", data=params)" + }, + "options_price": { + "name": "options_price", + "path": "binance.async_client.AsyncClient.options_price", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_price(self, **params):\n return await self._request_options_api(\"get\", \"ticker\", data=params)" + }, + "options_mark_price": { + "name": "options_mark_price", + "path": "binance.async_client.AsyncClient.options_mark_price", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_mark_price(self, **params):\n return await self._request_options_api(\"get\", \"mark\", data=params)" + }, + "options_order_book": { + "name": "options_order_book", + "path": "binance.async_client.AsyncClient.options_order_book", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_order_book(self, **params):\n return await self._request_options_api(\"get\", \"depth\", data=params)" + }, + "options_klines": { + "name": "options_klines", + "path": "binance.async_client.AsyncClient.options_klines", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_klines(self, **params):\n return await self._request_options_api(\"get\", \"klines\", data=params)" + }, + "options_recent_trades": { + "name": "options_recent_trades", + "path": "binance.async_client.AsyncClient.options_recent_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_recent_trades(self, **params):\n return await self._request_options_api(\"get\", \"trades\", data=params)" + }, + "options_historical_trades": { + "name": "options_historical_trades", + "path": "binance.async_client.AsyncClient.options_historical_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_historical_trades(self, **params):\n return await self._request_options_api(\"get\", \"historicalTrades\", data=params)" + }, + "options_account_info": { + "name": "options_account_info", + "path": "binance.async_client.AsyncClient.options_account_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_account_info(self, **params):\n return await self._request_options_api(\n \"get\", \"account\", signed=True, data=params\n )" + }, + "options_funds_transfer": { + "name": "options_funds_transfer", + "path": "binance.async_client.AsyncClient.options_funds_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_funds_transfer(self, **params):\n return await self._request_options_api(\n \"post\", \"transfer\", signed=True, data=params\n )" + }, + "options_positions": { + "name": "options_positions", + "path": "binance.async_client.AsyncClient.options_positions", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_positions(self, **params):\n return await self._request_options_api(\n \"get\", \"position\", signed=True, data=params\n )" + }, + "options_bill": { + "name": "options_bill", + "path": "binance.async_client.AsyncClient.options_bill", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_bill(self, **params):\n return await self._request_options_api(\"post\", \"bill\", signed=True, data=params)" + }, + "options_place_order": { + "name": "options_place_order", + "path": "binance.async_client.AsyncClient.options_place_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_place_order(self, **params):\n if \"clientOrderId\" not in params:\n params[\"clientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_options_api(\n \"post\", \"order\", signed=True, data=params\n )" + }, + "options_place_batch_order": { + "name": "options_place_batch_order", + "path": "binance.async_client.AsyncClient.options_place_batch_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_place_batch_order(self, **params):\n for order in params[\"batchOrders\"]:\n if \"newClientOrderId\" not in order:\n order[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_options_api(\n \"post\", \"batchOrders\", signed=True, data=params\n )" + }, + "options_cancel_order": { + "name": "options_cancel_order", + "path": "binance.async_client.AsyncClient.options_cancel_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_cancel_order(self, **params):\n return await self._request_options_api(\n \"delete\", \"order\", signed=True, data=params\n )" + }, + "options_cancel_batch_order": { + "name": "options_cancel_batch_order", + "path": "binance.async_client.AsyncClient.options_cancel_batch_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_cancel_batch_order(self, **params):\n return await self._request_options_api(\n \"delete\", \"batchOrders\", signed=True, data=params\n )" + }, + "options_cancel_all_orders": { + "name": "options_cancel_all_orders", + "path": "binance.async_client.AsyncClient.options_cancel_all_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_cancel_all_orders(self, **params):\n return await self._request_options_api(\n \"delete\", \"allOpenOrders\", signed=True, data=params\n )" + }, + "options_query_order": { + "name": "options_query_order", + "path": "binance.async_client.AsyncClient.options_query_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_query_order(self, **params):\n return await self._request_options_api(\"get\", \"order\", signed=True, data=params)" + }, + "options_query_pending_orders": { + "name": "options_query_pending_orders", + "path": "binance.async_client.AsyncClient.options_query_pending_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_query_pending_orders(self, **params):\n return await self._request_options_api(\n \"get\", \"openOrders\", signed=True, data=params\n )" + }, + "options_query_order_history": { + "name": "options_query_order_history", + "path": "binance.async_client.AsyncClient.options_query_order_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_query_order_history(self, **params):\n return await self._request_options_api(\n \"get\", \"historyOrders\", signed=True, data=params\n )" + }, + "options_user_trades": { + "name": "options_user_trades", + "path": "binance.async_client.AsyncClient.options_user_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_user_trades(self, **params):\n return await self._request_options_api(\n \"get\", \"userTrades\", signed=True, data=params\n )" + }, + "get_fiat_deposit_withdraw_history": { + "name": "get_fiat_deposit_withdraw_history", + "path": "binance.async_client.AsyncClient.get_fiat_deposit_withdraw_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_fiat_deposit_withdraw_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"fiat/orders\", signed=True, data=params\n )" + }, + "get_fiat_payments_history": { + "name": "get_fiat_payments_history", + "path": "binance.async_client.AsyncClient.get_fiat_payments_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_fiat_payments_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"fiat/payments\", signed=True, data=params\n )" + }, + "get_c2c_trade_history": { + "name": "get_c2c_trade_history", + "path": "binance.async_client.AsyncClient.get_c2c_trade_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_c2c_trade_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"c2c/orderMatch/listUserOrderHistory\", signed=True, data=params\n )" + }, + "get_pay_trade_history": { + "name": "get_pay_trade_history", + "path": "binance.async_client.AsyncClient.get_pay_trade_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_pay_trade_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"pay/transactions\", signed=True, data=params\n )" + }, + "get_convert_trade_history": { + "name": "get_convert_trade_history", + "path": "binance.async_client.AsyncClient.get_convert_trade_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def get_convert_trade_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"convert/tradeFlow\", signed=True, data=params\n )" + }, + "convert_request_quote": { + "name": "convert_request_quote", + "path": "binance.async_client.AsyncClient.convert_request_quote", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def convert_request_quote(self, **params):\n return await self._request_margin_api(\n \"post\", \"convert/getQuote\", signed=True, data=params\n )" + }, + "convert_accept_quote": { + "name": "convert_accept_quote", + "path": "binance.async_client.AsyncClient.convert_accept_quote", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def convert_accept_quote(self, **params):\n return await self._request_margin_api(\n \"post\", \"convert/acceptQuote\", signed=True, data=params\n )" + }, + "papi_stream_get_listen_key": { + "name": "papi_stream_get_listen_key", + "path": "binance.async_client.AsyncClient.papi_stream_get_listen_key", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_stream_get_listen_key(self):\n res = await self._request_papi_api(\"post\", \"listenKey\", signed=False, data={})\n return res[\"listenKey\"]" + }, + "papi_stream_keepalive": { + "name": "papi_stream_keepalive", + "path": "binance.async_client.AsyncClient.papi_stream_keepalive", + "signature": "(self, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_stream_keepalive(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_papi_api(\n \"put\", \"listenKey\", signed=False, data=params\n )" + }, + "papi_stream_close": { + "name": "papi_stream_close", + "path": "binance.async_client.AsyncClient.papi_stream_close", + "signature": "(self, listenKey)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "listenKey", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_stream_close(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_papi_api(\n \"delete\", \"listenKey\", signed=False, data=params\n )" + }, + "papi_get_balance": { + "name": "papi_get_balance", + "path": "binance.async_client.AsyncClient.papi_get_balance", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_balance(self, **params):\n return await self._request_papi_api(\"get\", \"balance\", signed=True, data=params)" + }, + "papi_get_rate_limit": { + "name": "papi_get_rate_limit", + "path": "binance.async_client.AsyncClient.papi_get_rate_limit", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_rate_limit(self, **params):\n return await self._request_papi_api(\"get\", \"rateLimit/order\", signed=True, data=params)" + }, + "papi_get_account": { + "name": "papi_get_account", + "path": "binance.async_client.AsyncClient.papi_get_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_account(self, **params):\n return await self._request_papi_api(\"get\", \"account\", signed=True, data=params)" + }, + "papi_get_margin_max_borrowable": { + "name": "papi_get_margin_max_borrowable", + "path": "binance.async_client.AsyncClient.papi_get_margin_max_borrowable", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_margin_max_borrowable(self, **params):\n return await self._request_papi_api(\n \"get\", \"margin/maxBorrowable\", signed=True, data=params\n )" + }, + "papi_get_margin_max_withdraw": { + "name": "papi_get_margin_max_withdraw", + "path": "binance.async_client.AsyncClient.papi_get_margin_max_withdraw", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_margin_max_withdraw(self, **params):\n return await self._request_papi_api(\n \"get\", \"margin/maxWithdraw\", signed=True, data=params\n )" + }, + "papi_get_um_position_risk": { + "name": "papi_get_um_position_risk", + "path": "binance.async_client.AsyncClient.papi_get_um_position_risk", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_position_risk(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/positionRisk\", signed=True, data=params\n )" + }, + "papi_get_cm_position_risk": { + "name": "papi_get_cm_position_risk", + "path": "binance.async_client.AsyncClient.papi_get_cm_position_risk", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_position_risk(self, **params):\n return await self._request_papi_api(\n \"get\", \"cm/positionRisk\", signed=True, data=params\n )" + }, + "papi_set_um_leverage": { + "name": "papi_set_um_leverage", + "path": "binance.async_client.AsyncClient.papi_set_um_leverage", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_set_um_leverage(self, **params):\n return await self._request_papi_api(\n \"post\", \"um/leverage\", signed=True, data=params\n )" + }, + "papi_set_cm_leverage": { + "name": "papi_set_cm_leverage", + "path": "binance.async_client.AsyncClient.papi_set_cm_leverage", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_set_cm_leverage(self, **params):\n return await self._request_papi_api(\n \"post\", \"cm/leverage\", signed=True, data=params\n )" + }, + "papi_change_um_position_side_dual": { + "name": "papi_change_um_position_side_dual", + "path": "binance.async_client.AsyncClient.papi_change_um_position_side_dual", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_change_um_position_side_dual(self, **params):\n return await self._request_papi_api(\n \"post\", \"um/positionSide/dual\", signed=True, data=params\n )" + }, + "papi_get_um_position_side_dual": { + "name": "papi_get_um_position_side_dual", + "path": "binance.async_client.AsyncClient.papi_get_um_position_side_dual", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_position_side_dual(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/positionSide/dual\", signed=True, data=params\n )" + }, + "papi_get_cm_position_side_dual": { + "name": "papi_get_cm_position_side_dual", + "path": "binance.async_client.AsyncClient.papi_get_cm_position_side_dual", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_position_side_dual(self, **params):\n return await self._request_papi_api(\n \"get\", \"cm/positionSide/dual\", signed=True, data=params\n )" + }, + "papi_get_um_leverage_bracket": { + "name": "papi_get_um_leverage_bracket", + "path": "binance.async_client.AsyncClient.papi_get_um_leverage_bracket", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_leverage_bracket(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/leverageBracket\", signed=True, data=params\n )" + }, + "papi_get_cm_leverage_bracket": { + "name": "papi_get_cm_leverage_bracket", + "path": "binance.async_client.AsyncClient.papi_get_cm_leverage_bracket", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_leverage_bracket(self, **params):\n return await self._request_papi_api(\n \"get\", \"cm/leverageBracket\", signed=True, data=params\n )" + }, + "papi_get_um_api_trading_status": { + "name": "papi_get_um_api_trading_status", + "path": "binance.async_client.AsyncClient.papi_get_um_api_trading_status", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_api_trading_status(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/apiTradingStatus\", signed=True, data=params\n )" + }, + "papi_get_um_comission_rate": { + "name": "papi_get_um_comission_rate", + "path": "binance.async_client.AsyncClient.papi_get_um_comission_rate", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_comission_rate(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/commissionRate\", signed=True, data=params\n )" + }, + "papi_get_cm_comission_rate": { + "name": "papi_get_cm_comission_rate", + "path": "binance.async_client.AsyncClient.papi_get_cm_comission_rate", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_comission_rate(self, **params):\n return await self._request_papi_api(\n \"get\", \"cm/commissionRate\", signed=True, data=params\n )" + }, + "papi_get_margin_margin_loan": { + "name": "papi_get_margin_margin_loan", + "path": "binance.async_client.AsyncClient.papi_get_margin_margin_loan", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_margin_margin_loan(self, **params):\n return await self._request_papi_api(\n \"get\", \"margin/marginLoan\", signed=True, data=params\n )" + }, + "papi_get_margin_repay_loan": { + "name": "papi_get_margin_repay_loan", + "path": "binance.async_client.AsyncClient.papi_get_margin_repay_loan", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_margin_repay_loan(self, **params):\n return await self._request_papi_api(\n \"get\", \"margin/repayLoan\", signed=True, data=params\n )" + }, + "papi_get_repay_futures_switch": { + "name": "papi_get_repay_futures_switch", + "path": "binance.async_client.AsyncClient.papi_get_repay_futures_switch", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_repay_futures_switch(self, **params):\n return await self._request_papi_api(\n \"get\", \"repay-futures-switch\", signed=True, data=params\n )" + }, + "papi_repay_futures_switch": { + "name": "papi_repay_futures_switch", + "path": "binance.async_client.AsyncClient.papi_repay_futures_switch", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_repay_futures_switch(self, **params):\n return await self._request_papi_api(\n \"post\", \"repay-futures-switch\", signed=True, data=params\n )" + }, + "papi_get_margin_interest_history": { + "name": "papi_get_margin_interest_history", + "path": "binance.async_client.AsyncClient.papi_get_margin_interest_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_margin_interest_history(self, **params):\n return await self._request_papi_api(\n \"get\", \"margin/marginInterestHistory\", signed=True, data=params\n )" + }, + "papi_repay_futures_negative_balance": { + "name": "papi_repay_futures_negative_balance", + "path": "binance.async_client.AsyncClient.papi_repay_futures_negative_balance", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_repay_futures_negative_balance(self, **params):\n return await self._request_papi_api(\n \"post\", \"repay-futures-negative-balance\", signed=True, data=params\n )" + }, + "papi_get_portfolio_interest_history": { + "name": "papi_get_portfolio_interest_history", + "path": "binance.async_client.AsyncClient.papi_get_portfolio_interest_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_portfolio_interest_history(self, **params):\n return await self._request_papi_api(\n \"get\", \"portfolio/interest-history\", signed=True, data=params\n )" + }, + "papi_get_portfolio_negative_balance_exchange_record": { + "name": "papi_get_portfolio_negative_balance_exchange_record", + "path": "binance.async_client.AsyncClient.papi_get_portfolio_negative_balance_exchange_record", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_portfolio_negative_balance_exchange_record(self, **params):\n return await self._request_papi_api(\n \"get\", \"portfolio/negative-balance-exchange-record\", signed=True, data=params\n )" + }, + "papi_fund_auto_collection": { + "name": "papi_fund_auto_collection", + "path": "binance.async_client.AsyncClient.papi_fund_auto_collection", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_fund_auto_collection(self, **params):\n return await self._request_papi_api(\n \"post\", \"auto-collection\", signed=True, data=params\n )" + }, + "papi_fund_asset_collection": { + "name": "papi_fund_asset_collection", + "path": "binance.async_client.AsyncClient.papi_fund_asset_collection", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_fund_asset_collection(self, **params):\n return await self._request_papi_api(\n \"post\", \"asset-collection\", signed=True, data=params\n )" + }, + "papi_bnb_transfer": { + "name": "papi_bnb_transfer", + "path": "binance.async_client.AsyncClient.papi_bnb_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_bnb_transfer(self, **params):\n return await self._request_papi_api(\n \"post\", \"bnb-transfer\", signed=True, data=params\n )" + }, + "papi_get_um_income_history": { + "name": "papi_get_um_income_history", + "path": "binance.async_client.AsyncClient.papi_get_um_income_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_income_history(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/income\", signed=True, data=params\n )" + }, + "papi_get_cm_income_history": { + "name": "papi_get_cm_income_history", + "path": "binance.async_client.AsyncClient.papi_get_cm_income_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_income_history(self, **params):\n return await self._request_papi_api(\n \"get\", \"cm/income\", signed=True, data=params\n )" + }, + "papi_get_um_account": { + "name": "papi_get_um_account", + "path": "binance.async_client.AsyncClient.papi_get_um_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_account(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/account\", signed=True, data=params\n )" + }, + "papi_get_um_account_v2": { + "name": "papi_get_um_account_v2", + "path": "binance.async_client.AsyncClient.papi_get_um_account_v2", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_account_v2(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/account\", version=2, signed=True, data=params\n )" + }, + "papi_get_cm_account": { + "name": "papi_get_cm_account", + "path": "binance.async_client.AsyncClient.papi_get_cm_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_account(self, **params):\n return await self._request_papi_api(\n \"get\", \"cm/account\", signed=True, data=params\n )" + }, + "papi_get_um_account_config": { + "name": "papi_get_um_account_config", + "path": "binance.async_client.AsyncClient.papi_get_um_account_config", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_account_config(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/accountConfig\", signed=True, data=params\n )" + }, + "papi_get_um_symbol_config": { + "name": "papi_get_um_symbol_config", + "path": "binance.async_client.AsyncClient.papi_get_um_symbol_config", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_symbol_config(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/symbolConfig\", signed=True, data=params\n )" + }, + "papi_get_um_trade_asyn": { + "name": "papi_get_um_trade_asyn", + "path": "binance.async_client.AsyncClient.papi_get_um_trade_asyn", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_trade_asyn(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/trade/asyn\", signed=True, data=params\n )" + }, + "papi_get_um_trade_asyn_id": { + "name": "papi_get_um_trade_asyn_id", + "path": "binance.async_client.AsyncClient.papi_get_um_trade_asyn_id", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_trade_asyn_id(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/trade/asyn/id\", signed=True, data=params\n )" + }, + "papi_get_um_order_asyn": { + "name": "papi_get_um_order_asyn", + "path": "binance.async_client.AsyncClient.papi_get_um_order_asyn", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_order_asyn(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/order/asyn\", signed=True, data=params\n )" + }, + "papi_get_um_order_asyn_id": { + "name": "papi_get_um_order_asyn_id", + "path": "binance.async_client.AsyncClient.papi_get_um_order_asyn_id", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_order_asyn_id(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/order/asyn/id\", signed=True, data=params\n )" + }, + "papi_get_um_income_asyn": { + "name": "papi_get_um_income_asyn", + "path": "binance.async_client.AsyncClient.papi_get_um_income_asyn", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_income_asyn(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/income/asyn\", signed=True, data=params\n )" + }, + "papi_get_um_income_asyn_id": { + "name": "papi_get_um_income_asyn_id", + "path": "binance.async_client.AsyncClient.papi_get_um_income_asyn_id", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_income_asyn_id(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/income/asyn/id\", signed=True, data=params\n )" + }, + "papi_ping": { + "name": "papi_ping", + "path": "binance.async_client.AsyncClient.papi_ping", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_ping(self, **params):\n return await self._request_papi_api(\"get\", \"ping\", signed=False, data=params)" + }, + "papi_create_um_order": { + "name": "papi_create_um_order", + "path": "binance.async_client.AsyncClient.papi_create_um_order", + "signature": "(self, **params)", + "description": "Place new UM order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_create_um_order(self, **params):\n \"\"\"Place new UM order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_papi_api(\n \"post\", \"um/order\", signed=True, data=params\n )" + }, + "papi_create_um_conditional_order": { + "name": "papi_create_um_conditional_order", + "path": "binance.async_client.AsyncClient.papi_create_um_conditional_order", + "signature": "(self, **params)", + "description": "Place new UM Conditional order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Conditional-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_create_um_conditional_order(self, **params):\n \"\"\"Place new UM Conditional order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_papi_api(\n \"post\", \"um/conditional/order\", signed=True, data=params\n )" + }, + "papi_create_cm_order": { + "name": "papi_create_cm_order", + "path": "binance.async_client.AsyncClient.papi_create_cm_order", + "signature": "(self, **params)", + "description": "Place new CM order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_create_cm_order(self, **params):\n \"\"\"Place new CM order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_papi_api(\n \"post\", \"cm/order\", signed=True, data=params\n )" + }, + "papi_create_cm_conditional_order": { + "name": "papi_create_cm_conditional_order", + "path": "binance.async_client.AsyncClient.papi_create_cm_conditional_order", + "signature": "(self, **params)", + "description": "Place new CM Conditional order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Conditional-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_create_cm_conditional_order(self, **params):\n \"\"\"Place new CM Conditional order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_papi_api(\n \"post\", \"cm/conditional/order\", signed=True, data=params\n )" + }, + "papi_create_margin_order": { + "name": "papi_create_margin_order", + "path": "binance.async_client.AsyncClient.papi_create_margin_order", + "signature": "(self, **params)", + "description": "New Margin Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-Margin-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_create_margin_order(self, **params):\n \"\"\"New Margin Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-Margin-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_papi_api(\n \"post\", \"margin/order\", signed=True, data=params\n )" + }, + "papi_margin_loan": { + "name": "papi_margin_loan", + "path": "binance.async_client.AsyncClient.papi_margin_loan", + "signature": "(self, **params)", + "description": "Apply for a margin loan.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Borrow\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_margin_loan(self, **params):\n \"\"\"Apply for a margin loan.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Borrow\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"post\", \"marginLoan\", signed=True, data=params\n )" + }, + "papi_repay_loan": { + "name": "papi_repay_loan", + "path": "binance.async_client.AsyncClient.papi_repay_loan", + "signature": "(self, **params)", + "description": "Repay for a margin loan.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_repay_loan(self, **params):\n \"\"\"Repay for a margin loan.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"post\", \"repayLoan\", signed=True, data=params\n )" + }, + "papi_margin_order_oco": { + "name": "papi_margin_order_oco", + "path": "binance.async_client.AsyncClient.papi_margin_order_oco", + "signature": "(self, **params)", + "description": "Send in a new OCO for a margin account.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-New-OCO\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_margin_order_oco(self, **params):\n \"\"\"Send in a new OCO for a margin account.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-New-OCO\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"post\", \"margin/order/oco\", signed=True, data=params\n )" + }, + "papi_cancel_um_order": { + "name": "papi_cancel_um_order", + "path": "binance.async_client.AsyncClient.papi_cancel_um_order", + "signature": "(self, **params)", + "description": "Cancel an active UM LIMIT order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_cancel_um_order(self, **params):\n \"\"\"Cancel an active UM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"um/order\", signed=True, data=params\n )" + }, + "papi_cancel_um_all_open_orders": { + "name": "papi_cancel_um_all_open_orders", + "path": "binance.async_client.AsyncClient.papi_cancel_um_all_open_orders", + "signature": "(self, **params)", + "description": "Cancel an active UM LIMIT order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_cancel_um_all_open_orders(self, **params):\n \"\"\"Cancel an active UM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"um/allOpenOrders\", signed=True, data=params\n )" + }, + "papi_cancel_um_conditional_order": { + "name": "papi_cancel_um_conditional_order", + "path": "binance.async_client.AsyncClient.papi_cancel_um_conditional_order", + "signature": "(self, **params)", + "description": "Cancel UM Conditional Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Conditional-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_cancel_um_conditional_order(self, **params):\n \"\"\"Cancel UM Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"um/conditional/order\", signed=True, data=params\n )" + }, + "papi_cancel_um_conditional_all_open_orders": { + "name": "papi_cancel_um_conditional_all_open_orders", + "path": "binance.async_client.AsyncClient.papi_cancel_um_conditional_all_open_orders", + "signature": "(self, **params)", + "description": "Cancel All UM Open Conditional Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Conditional-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_cancel_um_conditional_all_open_orders(self, **params):\n \"\"\"Cancel All UM Open Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"um/conditional/allOpenOrders\", signed=True, data=params\n )" + }, + "papi_cancel_cm_order": { + "name": "papi_cancel_cm_order", + "path": "binance.async_client.AsyncClient.papi_cancel_cm_order", + "signature": "(self, **params)", + "description": "Cancel an active CM LIMIT order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_cancel_cm_order(self, **params):\n \"\"\"Cancel an active CM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"cm/order\", signed=True, data=params\n )" + }, + "papi_cancel_cm_all_open_orders": { + "name": "papi_cancel_cm_all_open_orders", + "path": "binance.async_client.AsyncClient.papi_cancel_cm_all_open_orders", + "signature": "(self, **params)", + "description": "Cancel an active CM LIMIT order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_cancel_cm_all_open_orders(self, **params):\n \"\"\"Cancel an active CM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"cm/allOpenOrders\", signed=True, data=params\n )" + }, + "papi_cancel_cm_conditional_order": { + "name": "papi_cancel_cm_conditional_order", + "path": "binance.async_client.AsyncClient.papi_cancel_cm_conditional_order", + "signature": "(self, **params)", + "description": "Cancel CM Conditional Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Conditional-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_cancel_cm_conditional_order(self, **params):\n \"\"\"Cancel CM Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"cm/conditional/order\", signed=True, data=params\n )" + }, + "papi_cancel_cm_conditional_all_open_orders": { + "name": "papi_cancel_cm_conditional_all_open_orders", + "path": "binance.async_client.AsyncClient.papi_cancel_cm_conditional_all_open_orders", + "signature": "(self, **params)", + "description": "Cancel All CM Open Conditional Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Conditional-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_cancel_cm_conditional_all_open_orders(self, **params):\n \"\"\"Cancel All CM Open Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"cm/conditional/allOpenOrders\", signed=True, data=params\n )" + }, + "papi_cancel_margin_order": { + "name": "papi_cancel_margin_order", + "path": "binance.async_client.AsyncClient.papi_cancel_margin_order", + "signature": "(self, **params)", + "description": "Cancel Margin Account Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_cancel_margin_order(self, **params):\n \"\"\"Cancel Margin Account Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"margin/order\", signed=True, data=params\n )" + }, + "papi_cancel_margin_order_list": { + "name": "papi_cancel_margin_order_list", + "path": "binance.async_client.AsyncClient.papi_cancel_margin_order_list", + "signature": "(self, **params)", + "description": "Cancel Margin Account OCO Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-OCO-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_cancel_margin_order_list(self, **params):\n \"\"\"Cancel Margin Account OCO Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-OCO-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"margin/orderList\", signed=True, data=params\n )" + }, + "papi_cancel_margin_all_open_orders": { + "name": "papi_cancel_margin_all_open_orders", + "path": "binance.async_client.AsyncClient.papi_cancel_margin_all_open_orders", + "signature": "(self, **params)", + "description": "Cancel Margin Account All Open Orders on a Symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-All-Open-Orders-on-a-Symbol\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_cancel_margin_all_open_orders(self, **params):\n \"\"\"Cancel Margin Account All Open Orders on a Symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-All-Open-Orders-on-a-Symbol\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"margin/allOpenOrders\", signed=True, data=params\n )" + }, + "papi_modify_um_order": { + "name": "papi_modify_um_order", + "path": "binance.async_client.AsyncClient.papi_modify_um_order", + "signature": "(self, **params)", + "description": "Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-UM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_modify_um_order(self, **params):\n \"\"\"Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-UM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\"put\", \"um/order\", signed=True, data=params)" + }, + "papi_modify_cm_order": { + "name": "papi_modify_cm_order", + "path": "binance.async_client.AsyncClient.papi_modify_cm_order", + "signature": "(self, **params)", + "description": "Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-CM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_modify_cm_order(self, **params):\n \"\"\"Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-CM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\"put\", \"cm/order\", signed=True, data=params)" + }, + "papi_get_um_order": { + "name": "papi_get_um_order", + "path": "binance.async_client.AsyncClient.papi_get_um_order", + "signature": "(self, **params)", + "description": "Check an UM order's status.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_order(self, **params):\n \"\"\"Check an UM order's status.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\"get\", \"um/order\", signed=True, data=params)" + }, + "papi_get_um_all_orders": { + "name": "papi_get_um_all_orders", + "path": "binance.async_client.AsyncClient.papi_get_um_all_orders", + "signature": "(self, **params)", + "description": "Get all account UM orders; active, canceled, or filled.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_all_orders(self, **params):\n \"\"\"Get all account UM orders; active, canceled, or filled.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/allOrders\", signed=True, data=params\n )" + }, + "papi_get_um_open_order": { + "name": "papi_get_um_open_order", + "path": "binance.async_client.AsyncClient.papi_get_um_open_order", + "signature": "(self, **params)", + "description": "Query current UM open order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_open_order(self, **params):\n \"\"\"Query current UM open order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/openOrder\", signed=True, data=params\n )" + }, + "papi_get_um_open_orders": { + "name": "papi_get_um_open_orders", + "path": "binance.async_client.AsyncClient.papi_get_um_open_orders", + "signature": "(self, **params)", + "description": "Get all open orders on a symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/openOrders\", signed=True, data=params\n )" + }, + "papi_get_um_conditional_all_orders": { + "name": "papi_get_um_conditional_all_orders", + "path": "binance.async_client.AsyncClient.papi_get_um_conditional_all_orders", + "signature": "(self, **params)", + "description": "Query All UM Conditional Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Conditional-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_conditional_all_orders(self, **params):\n \"\"\"Query All UM Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/conditional/allOrders\", signed=True, data=params\n )" + }, + "papi_get_um_conditional_open_orders": { + "name": "papi_get_um_conditional_open_orders", + "path": "binance.async_client.AsyncClient.papi_get_um_conditional_open_orders", + "signature": "(self, **params)", + "description": "Get all open conditional orders on a symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Conditional-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_conditional_open_orders(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/conditional/openOrders\", signed=True, data=params\n )" + }, + "papi_get_um_conditional_open_order": { + "name": "papi_get_um_conditional_open_order", + "path": "binance.async_client.AsyncClient.papi_get_um_conditional_open_order", + "signature": "(self, **params)", + "description": "Query Current UM Open Conditional Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Conditional-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_conditional_open_order(self, **params):\n \"\"\"Query Current UM Open Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/conditional/openOrder\", signed=True, data=params\n )" + }, + "papi_get_um_conditional_order_history": { + "name": "papi_get_um_conditional_order_history", + "path": "binance.async_client.AsyncClient.papi_get_um_conditional_order_history", + "signature": "(self, **params)", + "description": "Get all open conditional orders on a symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Conditional-Order-History\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_conditional_order_history(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Conditional-Order-History\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/conditional/orderHistory\", signed=True, data=params\n )" + }, + "papi_get_cm_order": { + "name": "papi_get_cm_order", + "path": "binance.async_client.AsyncClient.papi_get_cm_order", + "signature": "(self, **params)", + "description": "Check an CM order's status.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_order(self, **params):\n \"\"\"Check an CM order's status.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\"get\", \"cm/order\", signed=True, data=params)" + }, + "papi_get_cm_all_orders": { + "name": "papi_get_cm_all_orders", + "path": "binance.async_client.AsyncClient.papi_get_cm_all_orders", + "signature": "(self, **params)", + "description": "Get all account CM orders; active, canceled, or filled.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_all_orders(self, **params):\n \"\"\"Get all account CM orders; active, canceled, or filled.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/allOrders\", signed=True, data=params\n )" + }, + "papi_get_cm_open_order": { + "name": "papi_get_cm_open_order", + "path": "binance.async_client.AsyncClient.papi_get_cm_open_order", + "signature": "(self, **params)", + "description": "Query current CM open order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_open_order(self, **params):\n \"\"\"Query current CM open order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/openOrder\", signed=True, data=params\n )" + }, + "papi_get_cm_open_orders": { + "name": "papi_get_cm_open_orders", + "path": "binance.async_client.AsyncClient.papi_get_cm_open_orders", + "signature": "(self, **params)", + "description": "Get all open orders on a symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/openOrders\", signed=True, data=params\n )" + }, + "papi_get_cm_conditional_all_orders": { + "name": "papi_get_cm_conditional_all_orders", + "path": "binance.async_client.AsyncClient.papi_get_cm_conditional_all_orders", + "signature": "(self, **params)", + "description": "Query All CM Conditional Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Conditional-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_conditional_all_orders(self, **params):\n \"\"\"Query All CM Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/conditional/allOrders\", signed=True, data=params\n )" + }, + "papi_get_cm_conditional_open_orders": { + "name": "papi_get_cm_conditional_open_orders", + "path": "binance.async_client.AsyncClient.papi_get_cm_conditional_open_orders", + "signature": "(self, **params)", + "description": "Get all open conditional orders on a symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Conditional-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_conditional_open_orders(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/conditional/openOrders\", signed=True, data=params\n )" + }, + "papi_get_cm_conditional_open_order": { + "name": "papi_get_cm_conditional_open_order", + "path": "binance.async_client.AsyncClient.papi_get_cm_conditional_open_order", + "signature": "(self, **params)", + "description": "Query Current UM Open Conditional Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Conditional-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_conditional_open_order(self, **params):\n \"\"\"Query Current UM Open Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/conditional/openOrder\", signed=True, data=params\n )" + }, + "papi_get_cm_conditional_order_history": { + "name": "papi_get_cm_conditional_order_history", + "path": "binance.async_client.AsyncClient.papi_get_cm_conditional_order_history", + "signature": "(self, **params)", + "description": "Get all open conditional orders on a symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Conditional-Order-History\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_conditional_order_history(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Conditional-Order-History\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/conditional/orderHistory\", signed=True, data=params\n )" + }, + "papi_get_um_force_orders": { + "name": "papi_get_um_force_orders", + "path": "binance.async_client.AsyncClient.papi_get_um_force_orders", + "signature": "(self, **params)", + "description": "Query User's UM Force Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-UM-Force-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_force_orders(self, **params):\n \"\"\"Query User's UM Force Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-UM-Force-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/forceOrders\", signed=True, data=params\n )" + }, + "papi_get_cm_force_orders": { + "name": "papi_get_cm_force_orders", + "path": "binance.async_client.AsyncClient.papi_get_cm_force_orders", + "signature": "(self, **params)", + "description": "Query User's CM Force Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-CM-Force-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_force_orders(self, **params):\n \"\"\"Query User's CM Force Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-CM-Force-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/forceOrders\", signed=True, data=params\n )" + }, + "papi_get_um_order_amendment": { + "name": "papi_get_um_order_amendment", + "path": "binance.async_client.AsyncClient.papi_get_um_order_amendment", + "signature": "(self, **params)", + "description": "Get order modification history.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Modify-Order-History\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_order_amendment(self, **params):\n \"\"\"Get order modification history.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Modify-Order-History\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/orderAmendment\", signed=True, data=params\n )" + }, + "papi_get_cm_order_amendment": { + "name": "papi_get_cm_order_amendment", + "path": "binance.async_client.AsyncClient.papi_get_cm_order_amendment", + "signature": "(self, **params)", + "description": "Get order modification history.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Modify-Order-History\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_order_amendment(self, **params):\n \"\"\"Get order modification history.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Modify-Order-History\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/orderAmendment\", signed=True, data=params\n )" + }, + "papi_get_margin_force_orders": { + "name": "papi_get_margin_force_orders", + "path": "binance.async_client.AsyncClient.papi_get_margin_force_orders", + "signature": "(self, **params)", + "description": "Query user's margin force orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-Margin-Force-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_margin_force_orders(self, **params):\n \"\"\"Query user's margin force orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-Margin-Force-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/forceOrders\", signed=True, data=params\n )" + }, + "papi_get_um_user_trades": { + "name": "papi_get_um_user_trades", + "path": "binance.async_client.AsyncClient.papi_get_um_user_trades", + "signature": "(self, **params)", + "description": "Get trades for a specific account and UM symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Account-Trade-List\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_user_trades(self, **params):\n \"\"\"Get trades for a specific account and UM symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Account-Trade-List\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/userTrades\", signed=True, data=params\n )" + }, + "papi_get_cm_user_trades": { + "name": "papi_get_cm_user_trades", + "path": "binance.async_client.AsyncClient.papi_get_cm_user_trades", + "signature": "(self, **params)", + "description": "Get trades for a specific account and CM symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Account-Trade-List\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_user_trades(self, **params):\n \"\"\"Get trades for a specific account and CM symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Account-Trade-List\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/userTrades\", signed=True, data=params\n )" + }, + "papi_get_um_adl_quantile": { + "name": "papi_get_um_adl_quantile", + "path": "binance.async_client.AsyncClient.papi_get_um_adl_quantile", + "signature": "(self, **params)", + "description": "Query UM Position ADL Quantile Estimation.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Position-ADL-Quantile-Estimation\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_adl_quantile(self, **params):\n \"\"\"Query UM Position ADL Quantile Estimation.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Position-ADL-Quantile-Estimation\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/adlQuantile\", signed=True, data=params\n )" + }, + "papi_get_cm_adl_quantile": { + "name": "papi_get_cm_adl_quantile", + "path": "binance.async_client.AsyncClient.papi_get_cm_adl_quantile", + "signature": "(self, **params)", + "description": "Query CM Position ADL Quantile Estimation.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Position-ADL-Quantile-Estimation\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_cm_adl_quantile(self, **params):\n \"\"\"Query CM Position ADL Quantile Estimation.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Position-ADL-Quantile-Estimation\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/adlQuantile\", signed=True, data=params\n )" + }, + "papi_set_um_fee_burn": { + "name": "papi_set_um_fee_burn", + "path": "binance.async_client.AsyncClient.papi_set_um_fee_burn", + "signature": "(self, **params)", + "description": "Change user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off ) on EVERY symbol.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Toggle-BNB-Burn-On-UM-Futures-Trade\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_set_um_fee_burn(self, **params):\n \"\"\"Change user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off ) on EVERY symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Toggle-BNB-Burn-On-UM-Futures-Trade\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"post\", \"um/feeBurn\", signed=True, data=params\n )" + }, + "papi_get_um_fee_burn": { + "name": "papi_get_um_fee_burn", + "path": "binance.async_client.AsyncClient.papi_get_um_fee_burn", + "signature": "(self, **params)", + "description": "Get user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off).\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Get-UM-Futures-BNB-Burn-Status\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_um_fee_burn(self, **params):\n \"\"\"Get user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off).\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Get-UM-Futures-BNB-Burn-Status\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/feeBurn\", signed=True, data=params\n )" + }, + "papi_get_margin_order": { + "name": "papi_get_margin_order", + "path": "binance.async_client.AsyncClient.papi_get_margin_order", + "signature": "(self, **params)", + "description": "Query Margin Account Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_margin_order(self, **params):\n \"\"\"Query Margin Account Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/order\", signed=True, data=params\n )" + }, + "papi_get_margin_open_orders": { + "name": "papi_get_margin_open_orders", + "path": "binance.async_client.AsyncClient.papi_get_margin_open_orders", + "signature": "(self, **params)", + "description": "Query Current Margin Open Order.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Order\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_margin_open_orders(self, **params):\n \"\"\"Query Current Margin Open Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/openOrders\", signed=True, data=params\n )" + }, + "papi_get_margin_all_orders": { + "name": "papi_get_margin_all_orders", + "path": "binance.async_client.AsyncClient.papi_get_margin_all_orders", + "signature": "(self, **params)", + "description": "Query All Margin Account Orders.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Margin-Account-Orders\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_margin_all_orders(self, **params):\n \"\"\"Query All Margin Account Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Margin-Account-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/allOrders\", signed=True, data=params\n )" + }, + "papi_get_margin_order_list": { + "name": "papi_get_margin_order_list", + "path": "binance.async_client.AsyncClient.papi_get_margin_order_list", + "signature": "(self, **params)", + "description": "Retrieves a specific OCO based on provided optional parameters.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-OCO\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_margin_order_list(self, **params):\n \"\"\"Retrieves a specific OCO based on provided optional parameters.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-OCO\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/orderList\", signed=True, data=params\n )" + }, + "papi_get_margin_all_order_list": { + "name": "papi_get_margin_all_order_list", + "path": "binance.async_client.AsyncClient.papi_get_margin_all_order_list", + "signature": "(self, **params)", + "description": "Query all OCO for a specific margin account based on provided optional parameters.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-all-OCO\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_margin_all_order_list(self, **params):\n \"\"\"Query all OCO for a specific margin account based on provided optional parameters.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-all-OCO\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/allOrderList\", signed=True, data=params\n )" + }, + "papi_get_margin_open_order_list": { + "name": "papi_get_margin_open_order_list", + "path": "binance.async_client.AsyncClient.papi_get_margin_open_order_list", + "signature": "(self, **params)", + "description": "Query Margin Account's Open OCO.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Open-OCO\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_margin_open_order_list(self, **params):\n \"\"\"Query Margin Account's Open OCO.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Open-OCO\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/openOrderList\", signed=True, data=params\n )" + }, + "papi_get_margin_my_trades": { + "name": "papi_get_margin_my_trades", + "path": "binance.async_client.AsyncClient.papi_get_margin_my_trades", + "signature": "(self, **params)", + "description": "Margin Account Trade List.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Trade-List\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_margin_my_trades(self, **params):\n \"\"\"Margin Account Trade List.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Trade-List\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/myTrades\", signed=True, data=params\n )" + }, + "papi_get_margin_repay_debt": { + "name": "papi_get_margin_repay_debt", + "path": "binance.async_client.AsyncClient.papi_get_margin_repay_debt", + "signature": "(self, **params)", + "description": "Repay debt for a margin loan.\n\nhttps://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Trade-List\n\n:returns: API response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_get_margin_repay_debt(self, **params):\n \"\"\"Repay debt for a margin loan.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Trade-List\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"post\", \"margin/repay-debt\", signed=True, data=params\n )" + }, + "create_oco_order": { + "name": "create_oco_order", + "path": "binance.async_client.AsyncClient.create_oco_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def create_oco_order(self, **params):\n if \"listClientOrderId\" not in params:\n params[\"listClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return await self._post(\"orderList/oco\", True, data=params)" + }, + "ws_create_test_order": { + "name": "ws_create_test_order", + "path": "binance.async_client.AsyncClient.ws_create_test_order", + "signature": "(self, **params)", + "description": "Test new order creation and signature/recvWindow long. Creates and validates a new order but does not send it into the matching engine.\nhttps://binance-docs.github.io/apidocs/websocket_api/en/#test-new-order-trade\n:param symbol: required\n:type symbol: str\n:param side: required\n:type side: str\n:param type: required\n:type type: str\n:param timeInForce: required if limit order\n:type timeInForce: str\n:param quantity: required\n:type quantity: decimal\n:param price: required\n:type price: str\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param icebergQty: Used with iceberg orders\n:type icebergQty: decimal\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: The number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: WS response\n.. code-block:: python\n {}", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_create_test_order(self, **params):\n \"\"\"Test new order creation and signature/recvWindow long. Creates and validates a new order but does not send it into the matching engine.\n https://binance-docs.github.io/apidocs/websocket_api/en/#test-new-order-trade\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param type: required\n :type type: str\n :param timeInForce: required if limit order\n :type timeInForce: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: The number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n .. code-block:: python\n {}\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n\n return await self._ws_api_request(\"order.test\", True, params)" + }, + "ws_create_order": { + "name": "ws_create_order", + "path": "binance.async_client.AsyncClient.ws_create_order", + "signature": "(self, **params)", + "description": "Create an order via WebSocket.\nhttps://binance-docs.github.io/apidocs/websocket_api/en/#place-new-order-trade\n:param id: The request ID to be used. By default uuid22() is used.\n:param symbol: The symbol to create an order for\n:param side: BUY or SELL\n:param type: Order type (e.g., LIMIT, MARKET)\n:param quantity: The amount to buy or sell\n:param kwargs: Additional order parameters", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_create_order(self, **params):\n \"\"\"Create an order via WebSocket.\n https://binance-docs.github.io/apidocs/websocket_api/en/#place-new-order-trade\n :param id: The request ID to be used. By default uuid22() is used.\n :param symbol: The symbol to create an order for\n :param side: BUY or SELL\n :param type: Order type (e.g., LIMIT, MARKET)\n :param quantity: The amount to buy or sell\n :param kwargs: Additional order parameters\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n\n return await self._ws_api_request(\"order.place\", True, params)" + }, + "ws_order_limit": { + "name": "ws_order_limit", + "path": "binance.async_client.AsyncClient.ws_order_limit", + "signature": "(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params)", + "description": "Send in a new limit order\nAny order with an icebergQty MUST have timeInForce set to GTC.\n:param symbol: required\n:type symbol: str\n:param side: required\n:type side: str\n:param quantity: required\n:type quantity: decimal\n:param price: required\n:type price: str\n:param timeInForce: default Good till cancelled\n:type timeInForce: str\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n:type icebergQty: decimal\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: WS response\nSee order endpoint for full response options", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "timeInForce", + "annotation": null, + "description": null, + "value": "BaseClient.TIME_IN_FORCE_GTC" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_order_limit(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n \"\"\"Send in a new limit order\n Any order with an icebergQty MUST have timeInForce set to GTC.\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\n \"type\": self.ORDER_TYPE_LIMIT,\n \"timeInForce\": timeInForce,\n })\n return await self.ws_create_order(**params)" + }, + "ws_order_limit_buy": { + "name": "ws_order_limit_buy", + "path": "binance.async_client.AsyncClient.ws_order_limit_buy", + "signature": "(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params)", + "description": "Send in a new limit buy order\nAny order with an icebergQty MUST have timeInForce set to GTC.\n:param symbol: required\n:type symbol: str\n:param quantity: required\n:type quantity: decimal\n:param price: required\n:type price: str\n:param timeInForce: default Good till cancelled\n:type timeInForce: str\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param stopPrice: Used with stop orders\n:type stopPrice: decimal\n:param icebergQty: Used with iceberg orders\n:type icebergQty: decimal\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: WS response\nSee order endpoint for full response options", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "timeInForce", + "annotation": null, + "description": null, + "value": "BaseClient.TIME_IN_FORCE_GTC" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_order_limit_buy(\n self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params\n):\n \"\"\"Send in a new limit buy order\n Any order with an icebergQty MUST have timeInForce set to GTC.\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param stopPrice: Used with stop orders\n :type stopPrice: decimal\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\n \"side\": self.SIDE_BUY,\n })\n return await self.ws_order_limit(timeInForce=timeInForce, **params)" + }, + "ws_order_limit_sell": { + "name": "ws_order_limit_sell", + "path": "binance.async_client.AsyncClient.ws_order_limit_sell", + "signature": "(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params)", + "description": "Send in a new limit sell order\n:param symbol: required\n:type symbol: str\n:param quantity: required\n:type quantity: decimal\n:param price: required\n:type price: str\n:param timeInForce: default Good till cancelled\n:type timeInForce: str\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param stopPrice: Used with stop orders\n:type stopPrice: decimal\n:param icebergQty: Used with iceberg orders\n:type icebergQty: decimal\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: WS response\nSee order endpoint for full response options", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "timeInForce", + "annotation": null, + "description": null, + "value": "BaseClient.TIME_IN_FORCE_GTC" + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_order_limit_sell(\n self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params\n):\n \"\"\"Send in a new limit sell order\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param stopPrice: Used with stop orders\n :type stopPrice: decimal\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"side\": self.SIDE_SELL})\n return await self.ws_order_limit(timeInForce=timeInForce, **params)" + }, + "ws_order_market": { + "name": "ws_order_market", + "path": "binance.async_client.AsyncClient.ws_order_market", + "signature": "(self, **params)", + "description": "Send in a new market order\n:param symbol: required\n:type symbol: str\n:param side: required\n:type side: str\n:param quantity: required\n:type quantity: decimal\n:param quoteOrderQty: amount the user wants to spend (when buying) or receive (when selling)\n of the quote asset\n:type quoteOrderQty: decimal\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: WS response\nSee order endpoint for full response options", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_order_market(self, **params):\n \"\"\"Send in a new market order\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: amount the user wants to spend (when buying) or receive (when selling)\n of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"type\": self.ORDER_TYPE_MARKET})\n return await self.ws_create_order(**params)" + }, + "ws_order_market_buy": { + "name": "ws_order_market_buy", + "path": "binance.async_client.AsyncClient.ws_order_market_buy", + "signature": "(self, **params)", + "description": "Send in a new market buy order\n:param symbol: required\n:type symbol: str\n:param quantity: required\n:type quantity: decimal\n:param quoteOrderQty: the amount the user wants to spend of the quote asset\n:type quoteOrderQty: decimal\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: WS response\nSee order endpoint for full response options", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_order_market_buy(self, **params):\n \"\"\"Send in a new market buy order\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: the amount the user wants to spend of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"side\": self.SIDE_BUY})\n return await self.ws_order_market(**params)" + }, + "ws_order_market_sell": { + "name": "ws_order_market_sell", + "path": "binance.async_client.AsyncClient.ws_order_market_sell", + "signature": "(self, **params)", + "description": "Send in a new market sell order\n:param symbol: required\n:type symbol: str\n:param quantity: required\n:type quantity: decimal\n:param quoteOrderQty: the amount the user wants to receive of the quote asset\n:type quoteOrderQty: decimal\n:param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n:type newClientOrderId: str\n:param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n:type newOrderRespType: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int\n:returns: WS response\nSee order endpoint for full response options", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_order_market_sell(self, **params):\n \"\"\"Send in a new market sell order\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: the amount the user wants to receive of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"side\": self.SIDE_SELL})\n return await self.ws_order_market(**params)" + }, + "ws_get_order": { + "name": "ws_get_order", + "path": "binance.async_client.AsyncClient.ws_get_order", + "signature": "(self, **params)", + "description": "Check an order's status. Either orderId or origClientOrderId must be sent.\nhttps://binance-docs.github.io/apidocs/websocket_api/en/#query-order-user_data\n:param symbol: required\n:type symbol: str\n:param orderId: The unique order id\n:type orderId: int\n:param origClientOrderId: optional\n:type origClientOrderId: str\n:param recvWindow: the number of milliseconds the request is valid for\n:type recvWindow: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_order(self, **params):\n \"\"\"Check an order's status. Either orderId or origClientOrderId must be sent.\n https://binance-docs.github.io/apidocs/websocket_api/en/#query-order-user_data\n :param symbol: required\n :type symbol: str\n :param orderId: The unique order id\n :type orderId: int\n :param origClientOrderId: optional\n :type origClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n \"\"\"\n\n return await self._ws_api_request(\"order.status\", True, params)" + }, + "ws_cancel_order": { + "name": "ws_cancel_order", + "path": "binance.async_client.AsyncClient.ws_cancel_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_cancel_order(self, **params):\n return await self._ws_api_request(\"order.cancel\", True, params)" + }, + "cancel_all_open_orders": { + "name": "cancel_all_open_orders", + "path": "binance.async_client.AsyncClient.cancel_all_open_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def cancel_all_open_orders(self, **params):\n return await self._delete(\"openOrders\", True, data=params)" + }, + "cancel_replace_order": { + "name": "cancel_replace_order", + "path": "binance.async_client.AsyncClient.cancel_replace_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def cancel_replace_order(self, **params):\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return await self._post(\"order/cancelReplace\", signed=True, data=params)" + }, + "ws_cancel_and_replace_order": { + "name": "ws_cancel_and_replace_order", + "path": "binance.async_client.AsyncClient.ws_cancel_and_replace_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_cancel_and_replace_order(self, **params):\n return await self._ws_api_request(\"order.cancelReplace\", True, params)" + }, + "ws_get_open_orders": { + "name": "ws_get_open_orders", + "path": "binance.async_client.AsyncClient.ws_get_open_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_open_orders(self, **params):\n return await self._ws_api_request(\"openOrders.status\", True, params)" + }, + "ws_cancel_all_open_orders": { + "name": "ws_cancel_all_open_orders", + "path": "binance.async_client.AsyncClient.ws_cancel_all_open_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_cancel_all_open_orders(self, **params):\n return await self._ws_api_request(\"openOrders.cancelAll\", True, params)" + }, + "ws_create_oco_order": { + "name": "ws_create_oco_order", + "path": "binance.async_client.AsyncClient.ws_create_oco_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_create_oco_order(self, **params):\n return await self._ws_api_request(\"orderList.place.oco\", True, params)" + }, + "ws_create_oto_order": { + "name": "ws_create_oto_order", + "path": "binance.async_client.AsyncClient.ws_create_oto_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_create_oto_order(self, **params):\n return await self._ws_api_request(\"orderList.place.oto\", True, params)" + }, + "ws_create_otoco_order": { + "name": "ws_create_otoco_order", + "path": "binance.async_client.AsyncClient.ws_create_otoco_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_create_otoco_order(self, **params):\n return await self._ws_api_request(\"orderList.place.otoco\", True, params)" + }, + "ws_get_oco_order": { + "name": "ws_get_oco_order", + "path": "binance.async_client.AsyncClient.ws_get_oco_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_oco_order(self, **params):\n return await self._ws_api_request(\"orderList.status\", True, params)" + }, + "ws_cancel_oco_order": { + "name": "ws_cancel_oco_order", + "path": "binance.async_client.AsyncClient.ws_cancel_oco_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_cancel_oco_order(self, **params):\n return await self._ws_api_request(\"orderList.cancel\", True, params)" + }, + "ws_get_oco_open_orders": { + "name": "ws_get_oco_open_orders", + "path": "binance.async_client.AsyncClient.ws_get_oco_open_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_oco_open_orders(self, **params):\n return await self._ws_api_request(\"openOrderLists.status\", True, params)" + }, + "ws_create_sor_order": { + "name": "ws_create_sor_order", + "path": "binance.async_client.AsyncClient.ws_create_sor_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_create_sor_order(self, **params):\n return await self._ws_api_request(\"sor.order.place\", True, params)" + }, + "ws_create_test_sor_order": { + "name": "ws_create_test_sor_order", + "path": "binance.async_client.AsyncClient.ws_create_test_sor_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_create_test_sor_order(self, **params):\n return await self._ws_api_request(\"sor.order.test\", True, params)" + }, + "ws_get_account": { + "name": "ws_get_account", + "path": "binance.async_client.AsyncClient.ws_get_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_account(self, **params):\n return await self._ws_api_request(\"account.status\", True, params)" + }, + "ws_get_account_rate_limits_orders": { + "name": "ws_get_account_rate_limits_orders", + "path": "binance.async_client.AsyncClient.ws_get_account_rate_limits_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_account_rate_limits_orders(self, **params):\n return await self._ws_api_request(\"account.rateLimits.orders\", True, params)" + }, + "ws_get_all_orders": { + "name": "ws_get_all_orders", + "path": "binance.async_client.AsyncClient.ws_get_all_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_all_orders(self, **params):\n return await self._ws_api_request(\"allOrders\", True, params)" + }, + "ws_get_my_trades": { + "name": "ws_get_my_trades", + "path": "binance.async_client.AsyncClient.ws_get_my_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_my_trades(self, **params):\n return await self._ws_api_request(\"myTrades\", True, params)" + }, + "ws_get_prevented_matches": { + "name": "ws_get_prevented_matches", + "path": "binance.async_client.AsyncClient.ws_get_prevented_matches", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_prevented_matches(self, **params):\n return await self._ws_api_request(\"myPreventedMatches\", True, params)" + }, + "ws_get_allocations": { + "name": "ws_get_allocations", + "path": "binance.async_client.AsyncClient.ws_get_allocations", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_allocations(self, **params):\n return await self._ws_api_request(\"myAllocations\", True, params)" + }, + "ws_get_commission_rates": { + "name": "ws_get_commission_rates", + "path": "binance.async_client.AsyncClient.ws_get_commission_rates", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_commission_rates(self, **params):\n return await self._ws_api_request(\"account.commission\", True, params)" + }, + "ws_get_order_book": { + "name": "ws_get_order_book", + "path": "binance.async_client.AsyncClient.ws_get_order_book", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_order_book(self, **params):\n return await self._ws_api_request(\"depth\", False, params)" + }, + "ws_get_recent_trades": { + "name": "ws_get_recent_trades", + "path": "binance.async_client.AsyncClient.ws_get_recent_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_recent_trades(self, **params):\n return await self._ws_api_request(\"trades.recent\", False, params)" + }, + "ws_get_historical_trades": { + "name": "ws_get_historical_trades", + "path": "binance.async_client.AsyncClient.ws_get_historical_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_historical_trades(self, **params):\n return await self._ws_api_request(\"trades.historical\", False, params)" + }, + "ws_get_aggregate_trades": { + "name": "ws_get_aggregate_trades", + "path": "binance.async_client.AsyncClient.ws_get_aggregate_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_aggregate_trades(self, **params):\n return await self._ws_api_request(\"trades.aggregate\", False, params)" + }, + "ws_get_klines": { + "name": "ws_get_klines", + "path": "binance.async_client.AsyncClient.ws_get_klines", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_klines(self, **params):\n return await self._ws_api_request(\"klines\", False, params)" + }, + "ws_get_uiKlines": { + "name": "ws_get_uiKlines", + "path": "binance.async_client.AsyncClient.ws_get_uiKlines", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_uiKlines(self, **params):\n return await self._ws_api_request(\"uiKlines\", False, params)" + }, + "ws_get_avg_price": { + "name": "ws_get_avg_price", + "path": "binance.async_client.AsyncClient.ws_get_avg_price", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_avg_price(self, **params):\n return await self._ws_api_request(\"avgPrice\", False, params)" + }, + "ws_get_ticker": { + "name": "ws_get_ticker", + "path": "binance.async_client.AsyncClient.ws_get_ticker", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_ticker(self, **params):\n return await self._ws_api_request(\"ticker.24hr\", False, params)" + }, + "ws_get_trading_day_ticker": { + "name": "ws_get_trading_day_ticker", + "path": "binance.async_client.AsyncClient.ws_get_trading_day_ticker", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_trading_day_ticker(self, **params):\n return await self._ws_api_request(\"ticker.tradingDay\", False, params)" + }, + "ws_get_symbol_ticker_window": { + "name": "ws_get_symbol_ticker_window", + "path": "binance.async_client.AsyncClient.ws_get_symbol_ticker_window", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_symbol_ticker_window(self, **params):\n return await self._ws_api_request(\"ticker\", False, params)" + }, + "ws_get_symbol_ticker": { + "name": "ws_get_symbol_ticker", + "path": "binance.async_client.AsyncClient.ws_get_symbol_ticker", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_symbol_ticker(self, **params):\n return await self._ws_api_request(\"ticker.price\", False, params)" + }, + "ws_get_orderbook_ticker": { + "name": "ws_get_orderbook_ticker", + "path": "binance.async_client.AsyncClient.ws_get_orderbook_ticker", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_orderbook_ticker(self, **params):\n return await self._ws_api_request(\"ticker.book\", False, params)" + }, + "ws_ping": { + "name": "ws_ping", + "path": "binance.async_client.AsyncClient.ws_ping", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_ping(self, **params):\n return await self._ws_api_request(\"ping\", False, params)" + }, + "ws_get_time": { + "name": "ws_get_time", + "path": "binance.async_client.AsyncClient.ws_get_time", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_time(self, **params):\n return await self._ws_api_request(\"time\", False, params)" + }, + "ws_get_exchange_info": { + "name": "ws_get_exchange_info", + "path": "binance.async_client.AsyncClient.ws_get_exchange_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_get_exchange_info(self, **params):\n return await self._ws_api_request(\"exchangeInfo\", False, params)" + }, + "ws_futures_get_order_book": { + "name": "ws_futures_get_order_book", + "path": "binance.async_client.AsyncClient.ws_futures_get_order_book", + "signature": "(self, **params)", + "description": "Get the order book for a symbol\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_futures_get_order_book(self, **params):\n \"\"\"\n Get the order book for a symbol\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api\n \"\"\"\n return await self._ws_futures_api_request(\"depth\", False, params)" + }, + "ws_futures_get_all_tickers": { + "name": "ws_futures_get_all_tickers", + "path": "binance.async_client.AsyncClient.ws_futures_get_all_tickers", + "signature": "(self, **params)", + "description": "Latest price for a symbol or symbols\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api/Symbol-Price-Ticker", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_futures_get_all_tickers(self, **params):\n \"\"\"\n Latest price for a symbol or symbols\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api/Symbol-Price-Ticker\n \"\"\"\n return await self._ws_futures_api_request(\"ticker.price\", False, params)" + }, + "ws_futures_get_order_book_ticker": { + "name": "ws_futures_get_order_book_ticker", + "path": "binance.async_client.AsyncClient.ws_futures_get_order_book_ticker", + "signature": "(self, **params)", + "description": "Best price/qty on the order book for a symbol or symbols.\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api/Symbol-Order-Book-Ticker", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_futures_get_order_book_ticker(self, **params):\n \"\"\"\n Best price/qty on the order book for a symbol or symbols.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api/Symbol-Order-Book-Ticker\n \"\"\"\n return await self._ws_futures_api_request(\"ticker.book\", False, params)" + }, + "ws_futures_create_order": { + "name": "ws_futures_create_order", + "path": "binance.async_client.AsyncClient.ws_futures_create_order", + "signature": "(self, **params)", + "description": "Send in a new order\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_futures_create_order(self, **params):\n \"\"\"\n Send in a new order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._ws_futures_api_request(\"order.place\", True, params)" + }, + "ws_futures_edit_order": { + "name": "ws_futures_edit_order", + "path": "binance.async_client.AsyncClient.ws_futures_edit_order", + "signature": "(self, **params)", + "description": "Edit an order\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Modify-Order", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_futures_edit_order(self, **params):\n \"\"\"\n Edit an order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Modify-Order\n \"\"\"\n return await self._ws_futures_api_request(\"order.modify\", True, params)" + }, + "ws_futures_cancel_order": { + "name": "ws_futures_cancel_order", + "path": "binance.async_client.AsyncClient.ws_futures_cancel_order", + "signature": "(self, **params)", + "description": "cancel an order\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Cancel-Order", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_futures_cancel_order(self, **params):\n \"\"\"\n cancel an order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Cancel-Order\n \"\"\"\n return await self._ws_futures_api_request(\"order.cancel\", True, params)" + }, + "ws_futures_get_order": { + "name": "ws_futures_get_order", + "path": "binance.async_client.AsyncClient.ws_futures_get_order", + "signature": "(self, **params)", + "description": "Get an order\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Query-Order", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_futures_get_order(self, **params):\n \"\"\"\n Get an order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Query-Order\n \"\"\"\n return await self._ws_futures_api_request(\"order.status\", True, params)" + }, + "ws_futures_v2_account_position": { + "name": "ws_futures_v2_account_position", + "path": "binance.async_client.AsyncClient.ws_futures_v2_account_position", + "signature": "(self, **params)", + "description": "Get current position information(only symbol that has position or open orders will be return awaited).\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Position-Info-V2", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_futures_v2_account_position(self, **params):\n \"\"\"\n Get current position information(only symbol that has position or open orders will be return awaited).\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Position-Info-V2\n \"\"\"\n return await self._ws_futures_api_request(\"v2/account.position\", True, params)" + }, + "ws_futures_account_position": { + "name": "ws_futures_account_position", + "path": "binance.async_client.AsyncClient.ws_futures_account_position", + "signature": "(self, **params)", + "description": "Get current position information.\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Position-Information", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_futures_account_position(self, **params):\n \"\"\"\n Get current position information.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Position-Information\n \"\"\"\n return await self._ws_futures_api_request(\"account.position\", True, params)" + }, + "ws_futures_v2_account_balance": { + "name": "ws_futures_v2_account_balance", + "path": "binance.async_client.AsyncClient.ws_futures_v2_account_balance", + "signature": "(self, **params)", + "description": "Get current account information.\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api#api-description", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_futures_v2_account_balance(self, **params):\n \"\"\"\n Get current account information.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api#api-description\n \"\"\"\n return await self._ws_futures_api_request(\"v2/account.balance\", True, params)" + }, + "ws_futures_account_balance": { + "name": "ws_futures_account_balance", + "path": "binance.async_client.AsyncClient.ws_futures_account_balance", + "signature": "(self, **params)", + "description": "Get current account information.\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Futures-Account-Balance", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_futures_account_balance(self, **params):\n \"\"\"\n Get current account information.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Futures-Account-Balance\n \"\"\"\n return await self._ws_futures_api_request(\"account.balance\", True, params)" + }, + "ws_futures_v2_account_status": { + "name": "ws_futures_v2_account_status", + "path": "binance.async_client.AsyncClient.ws_futures_v2_account_status", + "signature": "(self, **params)", + "description": "Get current account information. User in single-asset/ multi-assets mode will see different value, see comments in response section for detail.\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Account-Information-V2", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_futures_v2_account_status(self, **params):\n \"\"\"\n Get current account information. User in single-asset/ multi-assets mode will see different value, see comments in response section for detail.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Account-Information-V2\n \"\"\"\n return await self._ws_futures_api_request(\"v2/account.status\", True, params)" + }, + "ws_futures_account_status": { + "name": "ws_futures_account_status", + "path": "binance.async_client.AsyncClient.ws_futures_account_status", + "signature": "(self, **params)", + "description": "Get current account information. User in single-asset/ multi-assets mode will see different value, see comments in response section for detail.\nhttps://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Account-Information", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def ws_futures_account_status(self, **params):\n \"\"\"\n Get current account information. User in single-asset/ multi-assets mode will see different value, see comments in response section for detail.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Account-Information\n \"\"\"\n return await self._ws_futures_api_request(\"account.status\", True, params)" + }, + "gift_card_fetch_token_limit": { + "name": "gift_card_fetch_token_limit", + "path": "binance.async_client.AsyncClient.gift_card_fetch_token_limit", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def gift_card_fetch_token_limit(self, **params):\n return await self._request_margin_api(\n \"get\", \"giftcard/buyCode/token-limit\", signed=True, data=params\n )" + }, + "gift_card_fetch_rsa_public_key": { + "name": "gift_card_fetch_rsa_public_key", + "path": "binance.async_client.AsyncClient.gift_card_fetch_rsa_public_key", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def gift_card_fetch_rsa_public_key(self, **params):\n return await self._request_margin_api(\n \"get\", \"giftcard/cryptography/rsa-public-key\", signed=True, data=params\n )" + }, + "gift_card_verify": { + "name": "gift_card_verify", + "path": "binance.async_client.AsyncClient.gift_card_verify", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def gift_card_verify(self, **params):\n return await self._request_margin_api(\n \"get\", \"giftcard/verify\", signed=True, data=params\n )" + }, + "gift_card_redeem": { + "name": "gift_card_redeem", + "path": "binance.async_client.AsyncClient.gift_card_redeem", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def gift_card_redeem(self, **params):\n return await self._request_margin_api(\n \"post\", \"giftcard/redeemCode\", signed=True, data=params\n )" + }, + "gift_card_create": { + "name": "gift_card_create", + "path": "binance.async_client.AsyncClient.gift_card_create", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def gift_card_create(self, **params):\n return await self._request_margin_api(\n \"post\", \"giftcard/createCode\", signed=True, data=params\n )" + }, + "gift_card_create_dual_token": { + "name": "gift_card_create_dual_token", + "path": "binance.async_client.AsyncClient.gift_card_create_dual_token", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def gift_card_create_dual_token(self, **params):\n return await self._request_margin_api(\n \"post\", \"giftcard/buyCode\", signed=True, data=params\n )" + }, + "options_create_block_trade_order": { + "name": "options_create_block_trade_order", + "path": "binance.async_client.AsyncClient.options_create_block_trade_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_create_block_trade_order(self, **params):\n return await self._request_options_api(\n \"post\", \"block/order/create\", signed=True, data=params\n )" + }, + "options_cancel_block_trade_order": { + "name": "options_cancel_block_trade_order", + "path": "binance.async_client.AsyncClient.options_cancel_block_trade_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_cancel_block_trade_order(self, **params):\n return await self._request_options_api(\n \"delete\", \"block/order/create\", signed=True, data=params\n )" + }, + "options_extend_block_trade_order": { + "name": "options_extend_block_trade_order", + "path": "binance.async_client.AsyncClient.options_extend_block_trade_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_extend_block_trade_order(self, **params):\n return await self._request_options_api(\n \"put\", \"block/order/create\", signed=True, data=params\n )" + }, + "options_get_block_trade_orders": { + "name": "options_get_block_trade_orders", + "path": "binance.async_client.AsyncClient.options_get_block_trade_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_get_block_trade_orders(self, **params):\n return await self._request_options_api(\n \"get\", \"block/order/orders\", signed=True, data=params\n )" + }, + "options_accept_block_trade_order": { + "name": "options_accept_block_trade_order", + "path": "binance.async_client.AsyncClient.options_accept_block_trade_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_accept_block_trade_order(self, **params):\n return await self._request_options_api(\n \"post\", \"block/order/execute\", signed=True, data=params\n )" + }, + "options_get_block_trade_order": { + "name": "options_get_block_trade_order", + "path": "binance.async_client.AsyncClient.options_get_block_trade_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_get_block_trade_order(self, **params):\n return await self._request_options_api(\n \"get\", \"block/order/execute\", signed=True, data=params\n )" + }, + "options_account_get_block_trades": { + "name": "options_account_get_block_trades", + "path": "binance.async_client.AsyncClient.options_account_get_block_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_account_get_block_trades(self, **params):\n return await self._request_options_api(\n \"get\", \"block/user-trades\", signed=True, data=params\n )" + }, + "margin_next_hourly_interest_rate": { + "name": "margin_next_hourly_interest_rate", + "path": "binance.async_client.AsyncClient.margin_next_hourly_interest_rate", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_next_hourly_interest_rate(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/next-hourly-interest-rate\", signed=True, data=params\n )" + }, + "margin_interest_history": { + "name": "margin_interest_history", + "path": "binance.async_client.AsyncClient.margin_interest_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_interest_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/interestHistory\", signed=True, data=params\n )" + }, + "margin_borrow_repay": { + "name": "margin_borrow_repay", + "path": "binance.async_client.AsyncClient.margin_borrow_repay", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_borrow_repay(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/borrow-repay\", signed=True, data=params\n )" + }, + "margin_get_borrow_repay_records": { + "name": "margin_get_borrow_repay_records", + "path": "binance.async_client.AsyncClient.margin_get_borrow_repay_records", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_get_borrow_repay_records(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/borrow-repay\", signed=True, data=params\n )" + }, + "margin_interest_rate_history": { + "name": "margin_interest_rate_history", + "path": "binance.async_client.AsyncClient.margin_interest_rate_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_interest_rate_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/interestRateHistory\", signed=True, data=params\n )" + }, + "margin_max_borrowable": { + "name": "margin_max_borrowable", + "path": "binance.async_client.AsyncClient.margin_max_borrowable", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_max_borrowable(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/maxBorrowable\", signed=True, data=params\n )" + }, + "futures_historical_data_link": { + "name": "futures_historical_data_link", + "path": "binance.async_client.AsyncClient.futures_historical_data_link", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_historical_data_link(self, **params):\n return await self._request_margin_api(\"get\", \"futures/data/histDataLink\", signed=True, data=params)" + }, + "margin_v1_get_loan_vip_ongoing_orders": { + "name": "margin_v1_get_loan_vip_ongoing_orders", + "path": "binance.async_client.AsyncClient.margin_v1_get_loan_vip_ongoing_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_loan_vip_ongoing_orders(self, **params):\n return await self._request_margin_api(\"get\", \"loan/vip/ongoing/orders\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_payment_other": { + "name": "margin_v1_get_mining_payment_other", + "path": "binance.async_client.AsyncClient.margin_v1_get_mining_payment_other", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_mining_payment_other(self, **params):\n return await self._request_margin_api(\"get\", \"mining/payment/other\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_get_income_asyn_id": { + "name": "futures_coin_v1_get_income_asyn_id", + "path": "binance.async_client.AsyncClient.futures_coin_v1_get_income_asyn_id", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_v1_get_income_asyn_id(self, **params):\n return await self._request_futures_coin_api(\"get\", \"income/asyn/id\", signed=True, data=params, version=1)" + }, + "margin_v1_get_simple_earn_flexible_history_subscription_record": { + "name": "margin_v1_get_simple_earn_flexible_history_subscription_record", + "path": "binance.async_client.AsyncClient.margin_v1_get_simple_earn_flexible_history_subscription_record", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_simple_earn_flexible_history_subscription_record(self, **params):\n return await self._request_margin_api(\"get\", \"simple-earn/flexible/history/subscriptionRecord\", signed=True, data=params, version=1)" + }, + "margin_v1_post_lending_auto_invest_one_off": { + "name": "margin_v1_post_lending_auto_invest_one_off", + "path": "binance.async_client.AsyncClient.margin_v1_post_lending_auto_invest_one_off", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_lending_auto_invest_one_off(self, **params):\n return await self._request_margin_api(\"post\", \"lending/auto-invest/one-off\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api_commission_coin_futures": { + "name": "margin_v1_post_broker_sub_account_api_commission_coin_futures", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_sub_account_api_commission_coin_futures", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_sub_account_api_commission_coin_futures(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/commission/coinFutures\", signed=True, data=params, version=1)" + }, + "v3_post_order_list_otoco": { + "name": "v3_post_order_list_otoco", + "path": "binance.async_client.AsyncClient.v3_post_order_list_otoco", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_post_order_list_otoco(self, **params):\n return await self._request_api(\"post\", \"orderList/otoco\", signed=True, data=params, version=\"v3\")" + }, + "futures_v1_get_order_asyn": { + "name": "futures_v1_get_order_asyn", + "path": "binance.async_client.AsyncClient.futures_v1_get_order_asyn", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_order_asyn(self, **params):\n return await self._request_futures_api(\"get\", \"order/asyn\", signed=True, data=params, version=1)" + }, + "margin_v1_get_asset_custody_transfer_history": { + "name": "margin_v1_get_asset_custody_transfer_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_asset_custody_transfer_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_asset_custody_transfer_history(self, **params):\n return await self._request_margin_api(\"get\", \"asset/custody/transfer-history\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_blvt": { + "name": "margin_v1_post_broker_sub_account_blvt", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_sub_account_blvt", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_sub_account_blvt(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccount/blvt\", signed=True, data=params, version=1)" + }, + "margin_v1_post_sol_staking_sol_redeem": { + "name": "margin_v1_post_sol_staking_sol_redeem", + "path": "binance.async_client.AsyncClient.margin_v1_post_sol_staking_sol_redeem", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_sol_staking_sol_redeem(self, **params):\n return await self._request_margin_api(\"post\", \"sol-staking/sol/redeem\", signed=True, data=params, version=1)" + }, + "options_v1_get_countdown_cancel_all": { + "name": "options_v1_get_countdown_cancel_all", + "path": "binance.async_client.AsyncClient.options_v1_get_countdown_cancel_all", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_v1_get_countdown_cancel_all(self, **params):\n return await self._request_options_api(\"get\", \"countdownCancelAll\", signed=True, data=params)" + }, + "margin_v1_get_margin_trade_coeff": { + "name": "margin_v1_get_margin_trade_coeff", + "path": "binance.async_client.AsyncClient.margin_v1_get_margin_trade_coeff", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_margin_trade_coeff(self, **params):\n return await self._request_margin_api(\"get\", \"margin/tradeCoeff\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_get_order_amendment": { + "name": "futures_coin_v1_get_order_amendment", + "path": "binance.async_client.AsyncClient.futures_coin_v1_get_order_amendment", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_v1_get_order_amendment(self, **params):\n return await self._request_futures_coin_api(\"get\", \"orderAmendment\", signed=True, data=params, version=1)" + }, + "margin_v1_get_margin_available_inventory": { + "name": "margin_v1_get_margin_available_inventory", + "path": "binance.async_client.AsyncClient.margin_v1_get_margin_available_inventory", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_margin_available_inventory(self, **params):\n return await self._request_margin_api(\"get\", \"margin/available-inventory\", signed=True, data=params, version=1)" + }, + "margin_v1_post_account_api_restrictions_ip_restriction_ip_list": { + "name": "margin_v1_post_account_api_restrictions_ip_restriction_ip_list", + "path": "binance.async_client.AsyncClient.margin_v1_post_account_api_restrictions_ip_restriction_ip_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_account_api_restrictions_ip_restriction_ip_list(self, **params):\n return await self._request_margin_api(\"post\", \"account/apiRestrictions/ipRestriction/ipList\", signed=True, data=params, version=1)" + }, + "margin_v2_get_eth_staking_account": { + "name": "margin_v2_get_eth_staking_account", + "path": "binance.async_client.AsyncClient.margin_v2_get_eth_staking_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_get_eth_staking_account(self, **params):\n return await self._request_margin_api(\"get\", \"eth-staking/account\", signed=True, data=params, version=2)" + }, + "margin_v1_get_loan_income": { + "name": "margin_v1_get_loan_income", + "path": "binance.async_client.AsyncClient.margin_v1_get_loan_income", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_loan_income(self, **params):\n return await self._request_margin_api(\"get\", \"loan/income\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_get_pm_account_info": { + "name": "futures_coin_v1_get_pm_account_info", + "path": "binance.async_client.AsyncClient.futures_coin_v1_get_pm_account_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_v1_get_pm_account_info(self, **params):\n return await self._request_futures_coin_api(\"get\", \"pmAccountInfo\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_query_trans_log_for_investor": { + "name": "margin_v1_get_managed_subaccount_query_trans_log_for_investor", + "path": "binance.async_client.AsyncClient.margin_v1_get_managed_subaccount_query_trans_log_for_investor", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_managed_subaccount_query_trans_log_for_investor(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/queryTransLogForInvestor\", signed=True, data=params, version=1)" + }, + "margin_v1_post_dci_product_auto_compound_edit_status": { + "name": "margin_v1_post_dci_product_auto_compound_edit_status", + "path": "binance.async_client.AsyncClient.margin_v1_post_dci_product_auto_compound_edit_status", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_dci_product_auto_compound_edit_status(self, **params):\n return await self._request_margin_api(\"post\", \"dci/product/auto_compound/edit-status\", signed=True, data=params, version=1)" + }, + "futures_v1_get_trade_asyn": { + "name": "futures_v1_get_trade_asyn", + "path": "binance.async_client.AsyncClient.futures_v1_get_trade_asyn", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_trade_asyn(self, **params):\n return await self._request_futures_api(\"get\", \"trade/asyn\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_vip_request_interest_rate": { + "name": "margin_v1_get_loan_vip_request_interest_rate", + "path": "binance.async_client.AsyncClient.margin_v1_get_loan_vip_request_interest_rate", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_loan_vip_request_interest_rate(self, **params):\n return await self._request_margin_api(\"get\", \"loan/vip/request/interestRate\", signed=True, data=params, version=1)" + }, + "futures_v1_get_funding_info": { + "name": "futures_v1_get_funding_info", + "path": "binance.async_client.AsyncClient.futures_v1_get_funding_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_funding_info(self, **params):\n return await self._request_futures_api(\"get\", \"fundingInfo\", signed=False, data=params, version=1)" + }, + "v3_get_all_orders": { + "name": "v3_get_all_orders", + "path": "binance.async_client.AsyncClient.v3_get_all_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_get_all_orders(self, **params):\n return await self._request_api(\"get\", \"allOrders\", signed=True, data=params, version=\"v3\")" + }, + "margin_v2_get_loan_flexible_repay_rate": { + "name": "margin_v2_get_loan_flexible_repay_rate", + "path": "binance.async_client.AsyncClient.margin_v2_get_loan_flexible_repay_rate", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_get_loan_flexible_repay_rate(self, **params):\n return await self._request_margin_api(\"get\", \"loan/flexible/repay/rate\", signed=True, data=params, version=2)" + }, + "margin_v1_get_lending_auto_invest_plan_id": { + "name": "margin_v1_get_lending_auto_invest_plan_id", + "path": "binance.async_client.AsyncClient.margin_v1_get_lending_auto_invest_plan_id", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_lending_auto_invest_plan_id(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/plan/id\", signed=True, data=params, version=1)" + }, + "margin_v1_post_loan_adjust_ltv": { + "name": "margin_v1_post_loan_adjust_ltv", + "path": "binance.async_client.AsyncClient.margin_v1_post_loan_adjust_ltv", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_loan_adjust_ltv(self, **params):\n return await self._request_margin_api(\"post\", \"loan/adjust/ltv\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_statistics_user_status": { + "name": "margin_v1_get_mining_statistics_user_status", + "path": "binance.async_client.AsyncClient.margin_v1_get_mining_statistics_user_status", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_mining_statistics_user_status(self, **params):\n return await self._request_margin_api(\"get\", \"mining/statistics/user/status\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_transfer_futures": { + "name": "margin_v1_get_broker_transfer_futures", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_transfer_futures", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_transfer_futures(self, **params):\n return await self._request_margin_api(\"get\", \"broker/transfer/futures\", signed=True, data=params, version=1)" + }, + "margin_v1_post_algo_spot_new_order_twap": { + "name": "margin_v1_post_algo_spot_new_order_twap", + "path": "binance.async_client.AsyncClient.margin_v1_post_algo_spot_new_order_twap", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_algo_spot_new_order_twap(self, **params):\n return await self._request_margin_api(\"post\", \"algo/spot/newOrderTwap\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_target_asset_list": { + "name": "margin_v1_get_lending_auto_invest_target_asset_list", + "path": "binance.async_client.AsyncClient.margin_v1_get_lending_auto_invest_target_asset_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_lending_auto_invest_target_asset_list(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/target-asset/list\", signed=True, data=params, version=1)" + }, + "margin_v1_get_capital_deposit_address_list": { + "name": "margin_v1_get_capital_deposit_address_list", + "path": "binance.async_client.AsyncClient.margin_v1_get_capital_deposit_address_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_capital_deposit_address_list(self, **params):\n return await self._request_margin_api(\"get\", \"capital/deposit/address/list\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_bnb_burn_margin_interest": { + "name": "margin_v1_post_broker_sub_account_bnb_burn_margin_interest", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_sub_account_bnb_burn_margin_interest", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_sub_account_bnb_burn_margin_interest(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccount/bnbBurn/marginInterest\", signed=True, data=params, version=1)" + }, + "margin_v2_post_loan_flexible_repay": { + "name": "margin_v2_post_loan_flexible_repay", + "path": "binance.async_client.AsyncClient.margin_v2_post_loan_flexible_repay", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_post_loan_flexible_repay(self, **params):\n return await self._request_margin_api(\"post\", \"loan/flexible/repay\", signed=True, data=params, version=2)" + }, + "margin_v2_get_loan_flexible_loanable_data": { + "name": "margin_v2_get_loan_flexible_loanable_data", + "path": "binance.async_client.AsyncClient.margin_v2_get_loan_flexible_loanable_data", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_get_loan_flexible_loanable_data(self, **params):\n return await self._request_margin_api(\"get\", \"loan/flexible/loanable/data\", signed=True, data=params, version=2)" + }, + "margin_v1_post_broker_sub_account_api_permission": { + "name": "margin_v1_post_broker_sub_account_api_permission", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_sub_account_api_permission", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_sub_account_api_permission(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/permission\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api": { + "name": "margin_v1_post_broker_sub_account_api", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_sub_account_api", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_sub_account_api(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi\", signed=True, data=params, version=1)" + }, + "margin_v1_get_dci_product_positions": { + "name": "margin_v1_get_dci_product_positions", + "path": "binance.async_client.AsyncClient.margin_v1_get_dci_product_positions", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_dci_product_positions(self, **params):\n return await self._request_margin_api(\"get\", \"dci/product/positions\", signed=True, data=params, version=1)" + }, + "margin_v1_post_convert_limit_cancel_order": { + "name": "margin_v1_post_convert_limit_cancel_order", + "path": "binance.async_client.AsyncClient.margin_v1_post_convert_limit_cancel_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_convert_limit_cancel_order(self, **params):\n return await self._request_margin_api(\"post\", \"convert/limit/cancelOrder\", signed=True, data=params, version=1)" + }, + "v3_post_order_list_oto": { + "name": "v3_post_order_list_oto", + "path": "binance.async_client.AsyncClient.v3_post_order_list_oto", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_post_order_list_oto(self, **params):\n return await self._request_api(\"post\", \"orderList/oto\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_get_mining_hash_transfer_config_details_list": { + "name": "margin_v1_get_mining_hash_transfer_config_details_list", + "path": "binance.async_client.AsyncClient.margin_v1_get_mining_hash_transfer_config_details_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_mining_hash_transfer_config_details_list(self, **params):\n return await self._request_margin_api(\"get\", \"mining/hash-transfer/config/details/list\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_hash_transfer_profit_details": { + "name": "margin_v1_get_mining_hash_transfer_profit_details", + "path": "binance.async_client.AsyncClient.margin_v1_get_mining_hash_transfer_profit_details", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_mining_hash_transfer_profit_details(self, **params):\n return await self._request_margin_api(\"get\", \"mining/hash-transfer/profit/details\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account": { + "name": "margin_v1_get_broker_sub_account", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_sub_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_sub_account(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount\", signed=True, data=params, version=1)" + }, + "margin_v1_get_portfolio_balance": { + "name": "margin_v1_get_portfolio_balance", + "path": "binance.async_client.AsyncClient.margin_v1_get_portfolio_balance", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_portfolio_balance(self, **params):\n return await self._request_margin_api(\"get\", \"portfolio/balance\", signed=True, data=params, version=1)" + }, + "margin_v1_post_sub_account_eoptions_enable": { + "name": "margin_v1_post_sub_account_eoptions_enable", + "path": "binance.async_client.AsyncClient.margin_v1_post_sub_account_eoptions_enable", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_sub_account_eoptions_enable(self, **params):\n return await self._request_margin_api(\"post\", \"sub-account/eoptions/enable\", signed=True, data=params, version=1)" + }, + "papi_v1_post_ping": { + "name": "papi_v1_post_ping", + "path": "binance.async_client.AsyncClient.papi_v1_post_ping", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def papi_v1_post_ping(self, **params):\n return await self._request_papi_api(\"post\", \"ping\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_loanable_data": { + "name": "margin_v1_get_loan_loanable_data", + "path": "binance.async_client.AsyncClient.margin_v1_get_loan_loanable_data", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_loan_loanable_data(self, **params):\n return await self._request_margin_api(\"get\", \"loan/loanable/data\", signed=True, data=params, version=1)" + }, + "margin_v1_post_eth_staking_wbeth_unwrap": { + "name": "margin_v1_post_eth_staking_wbeth_unwrap", + "path": "binance.async_client.AsyncClient.margin_v1_post_eth_staking_wbeth_unwrap", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_eth_staking_wbeth_unwrap(self, **params):\n return await self._request_margin_api(\"post\", \"eth-staking/wbeth/unwrap\", signed=True, data=params, version=1)" + }, + "margin_v1_get_eth_staking_eth_history_staking_history": { + "name": "margin_v1_get_eth_staking_eth_history_staking_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_eth_staking_eth_history_staking_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_eth_staking_eth_history_staking_history(self, **params):\n return await self._request_margin_api(\"get\", \"eth-staking/eth/history/stakingHistory\", signed=True, data=params, version=1)" + }, + "margin_v1_get_staking_staking_record": { + "name": "margin_v1_get_staking_staking_record", + "path": "binance.async_client.AsyncClient.margin_v1_get_staking_staking_record", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_staking_staking_record(self, **params):\n return await self._request_margin_api(\"get\", \"staking/stakingRecord\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_rebate_recent_record": { + "name": "margin_v1_get_broker_rebate_recent_record", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_rebate_recent_record", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_rebate_recent_record(self, **params):\n return await self._request_margin_api(\"get\", \"broker/rebate/recentRecord\", signed=True, data=params, version=1)" + }, + "v3_delete_user_data_stream": { + "name": "v3_delete_user_data_stream", + "path": "binance.async_client.AsyncClient.v3_delete_user_data_stream", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_delete_user_data_stream(self, **params):\n return await self._request_api(\"delete\", \"userDataStream\", signed=True, data=params, version=\"v3\")" + }, + "v3_get_open_order_list": { + "name": "v3_get_open_order_list", + "path": "binance.async_client.AsyncClient.v3_get_open_order_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_get_open_order_list(self, **params):\n return await self._request_api(\"get\", \"openOrderList\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_get_loan_vip_collateral_account": { + "name": "margin_v1_get_loan_vip_collateral_account", + "path": "binance.async_client.AsyncClient.margin_v1_get_loan_vip_collateral_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_loan_vip_collateral_account(self, **params):\n return await self._request_margin_api(\"get\", \"loan/vip/collateral/account\", signed=True, data=params, version=1)" + }, + "margin_v1_get_algo_spot_open_orders": { + "name": "margin_v1_get_algo_spot_open_orders", + "path": "binance.async_client.AsyncClient.margin_v1_get_algo_spot_open_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_algo_spot_open_orders(self, **params):\n return await self._request_margin_api(\"get\", \"algo/spot/openOrders\", signed=True, data=params, version=1)" + }, + "margin_v1_post_loan_repay": { + "name": "margin_v1_post_loan_repay", + "path": "binance.async_client.AsyncClient.margin_v1_post_loan_repay", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_loan_repay(self, **params):\n return await self._request_margin_api(\"post\", \"loan/repay\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_get_funding_info": { + "name": "futures_coin_v1_get_funding_info", + "path": "binance.async_client.AsyncClient.futures_coin_v1_get_funding_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_v1_get_funding_info(self, **params):\n return await self._request_futures_coin_api(\"get\", \"fundingInfo\", signed=False, data=params, version=1)" + }, + "margin_v1_get_margin_leverage_bracket": { + "name": "margin_v1_get_margin_leverage_bracket", + "path": "binance.async_client.AsyncClient.margin_v1_get_margin_leverage_bracket", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_margin_leverage_bracket(self, **params):\n return await self._request_margin_api(\"get\", \"margin/leverageBracket\", signed=True, data=params, version=1)" + }, + "margin_v2_get_portfolio_collateral_rate": { + "name": "margin_v2_get_portfolio_collateral_rate", + "path": "binance.async_client.AsyncClient.margin_v2_get_portfolio_collateral_rate", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_get_portfolio_collateral_rate(self, **params):\n return await self._request_margin_api(\"get\", \"portfolio/collateralRate\", signed=True, data=params, version=2)" + }, + "margin_v2_post_loan_flexible_adjust_ltv": { + "name": "margin_v2_post_loan_flexible_adjust_ltv", + "path": "binance.async_client.AsyncClient.margin_v2_post_loan_flexible_adjust_ltv", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_post_loan_flexible_adjust_ltv(self, **params):\n return await self._request_margin_api(\"post\", \"loan/flexible/adjust/ltv\", signed=True, data=params, version=2)" + }, + "margin_v1_get_convert_order_status": { + "name": "margin_v1_get_convert_order_status", + "path": "binance.async_client.AsyncClient.margin_v1_get_convert_order_status", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_convert_order_status(self, **params):\n return await self._request_margin_api(\"get\", \"convert/orderStatus\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account_api_ip_restriction": { + "name": "margin_v1_get_broker_sub_account_api_ip_restriction", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_sub_account_api_ip_restriction", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_sub_account_api_ip_restriction(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccountApi/ipRestriction\", signed=True, data=params, version=1)" + }, + "margin_v1_post_dci_product_subscribe": { + "name": "margin_v1_post_dci_product_subscribe", + "path": "binance.async_client.AsyncClient.margin_v1_post_dci_product_subscribe", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_dci_product_subscribe(self, **params):\n return await self._request_margin_api(\"post\", \"dci/product/subscribe\", signed=True, data=params, version=1)" + }, + "futures_v1_get_income_asyn_id": { + "name": "futures_v1_get_income_asyn_id", + "path": "binance.async_client.AsyncClient.futures_v1_get_income_asyn_id", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_income_asyn_id(self, **params):\n return await self._request_futures_api(\"get\", \"income/asyn/id\", signed=True, data=params, version=1)" + }, + "options_v1_post_countdown_cancel_all": { + "name": "options_v1_post_countdown_cancel_all", + "path": "binance.async_client.AsyncClient.options_v1_post_countdown_cancel_all", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_v1_post_countdown_cancel_all(self, **params):\n return await self._request_options_api(\"post\", \"countdownCancelAll\", signed=True, data=params)" + }, + "margin_v1_post_mining_hash_transfer_config_cancel": { + "name": "margin_v1_post_mining_hash_transfer_config_cancel", + "path": "binance.async_client.AsyncClient.margin_v1_post_mining_hash_transfer_config_cancel", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_mining_hash_transfer_config_cancel(self, **params):\n return await self._request_margin_api(\"post\", \"mining/hash-transfer/config/cancel\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account_deposit_hist": { + "name": "margin_v1_get_broker_sub_account_deposit_hist", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_sub_account_deposit_hist", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_sub_account_deposit_hist(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount/depositHist\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_payment_list": { + "name": "margin_v1_get_mining_payment_list", + "path": "binance.async_client.AsyncClient.margin_v1_get_mining_payment_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_mining_payment_list(self, **params):\n return await self._request_margin_api(\"get\", \"mining/payment/list\", signed=True, data=params, version=1)" + }, + "futures_v1_get_pm_account_info": { + "name": "futures_v1_get_pm_account_info", + "path": "binance.async_client.AsyncClient.futures_v1_get_pm_account_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_pm_account_info(self, **params):\n return await self._request_futures_api(\"get\", \"pmAccountInfo\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_get_adl_quantile": { + "name": "futures_coin_v1_get_adl_quantile", + "path": "binance.async_client.AsyncClient.futures_coin_v1_get_adl_quantile", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_v1_get_adl_quantile(self, **params):\n return await self._request_futures_coin_api(\"get\", \"adlQuantile\", signed=True, data=params, version=1)" + }, + "options_v1_get_income_asyn_id": { + "name": "options_v1_get_income_asyn_id", + "path": "binance.async_client.AsyncClient.options_v1_get_income_asyn_id", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_v1_get_income_asyn_id(self, **params):\n return await self._request_options_api(\"get\", \"income/asyn/id\", signed=True, data=params)" + }, + "v3_post_cancel_replace": { + "name": "v3_post_cancel_replace", + "path": "binance.async_client.AsyncClient.v3_post_cancel_replace", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_post_cancel_replace(self, **params):\n return await self._request_api(\"post\", \"cancelReplace\", signed=True, data=params, version=\"v3\")" + }, + "v3_post_order_test": { + "name": "v3_post_order_test", + "path": "binance.async_client.AsyncClient.v3_post_order_test", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_post_order_test(self, **params):\n return await self._request_api(\"post\", \"order/test\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_post_account_enable_fast_withdraw_switch": { + "name": "margin_v1_post_account_enable_fast_withdraw_switch", + "path": "binance.async_client.AsyncClient.margin_v1_post_account_enable_fast_withdraw_switch", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_account_enable_fast_withdraw_switch(self, **params):\n return await self._request_margin_api(\"post\", \"account/enableFastWithdrawSwitch\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_transfer_futures": { + "name": "margin_v1_post_broker_transfer_futures", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_transfer_futures", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_transfer_futures(self, **params):\n return await self._request_margin_api(\"post\", \"broker/transfer/futures\", signed=True, data=params, version=1)" + }, + "margin_v1_get_margin_isolated_transfer": { + "name": "margin_v1_get_margin_isolated_transfer", + "path": "binance.async_client.AsyncClient.margin_v1_get_margin_isolated_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_margin_isolated_transfer(self, **params):\n return await self._request_margin_api(\"get\", \"margin/isolated/transfer\", signed=True, data=params, version=1)" + }, + "v3_post_order_cancel_replace": { + "name": "v3_post_order_cancel_replace", + "path": "binance.async_client.AsyncClient.v3_post_order_cancel_replace", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_post_order_cancel_replace(self, **params):\n return await self._request_api(\"post\", \"order/cancelReplace\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_post_sol_staking_sol_stake": { + "name": "margin_v1_post_sol_staking_sol_stake", + "path": "binance.async_client.AsyncClient.margin_v1_post_sol_staking_sol_stake", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_sol_staking_sol_stake(self, **params):\n return await self._request_margin_api(\"post\", \"sol-staking/sol/stake\", signed=True, data=params, version=1)" + }, + "margin_v1_post_loan_borrow": { + "name": "margin_v1_post_loan_borrow", + "path": "binance.async_client.AsyncClient.margin_v1_post_loan_borrow", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_loan_borrow(self, **params):\n return await self._request_margin_api(\"post\", \"loan/borrow\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_info": { + "name": "margin_v1_get_managed_subaccount_info", + "path": "binance.async_client.AsyncClient.margin_v1_get_managed_subaccount_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_managed_subaccount_info(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/info\", signed=True, data=params, version=1)" + }, + "margin_v1_post_lending_auto_invest_plan_edit_status": { + "name": "margin_v1_post_lending_auto_invest_plan_edit_status", + "path": "binance.async_client.AsyncClient.margin_v1_post_lending_auto_invest_plan_edit_status", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_lending_auto_invest_plan_edit_status(self, **params):\n return await self._request_margin_api(\"post\", \"lending/auto-invest/plan/edit-status\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_sol_history_unclaimed_rewards": { + "name": "margin_v1_get_sol_staking_sol_history_unclaimed_rewards", + "path": "binance.async_client.AsyncClient.margin_v1_get_sol_staking_sol_history_unclaimed_rewards", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_sol_staking_sol_history_unclaimed_rewards(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/sol/history/unclaimedRewards\", signed=True, data=params, version=1)" + }, + "margin_v1_post_asset_convert_transfer_query_by_page": { + "name": "margin_v1_post_asset_convert_transfer_query_by_page", + "path": "binance.async_client.AsyncClient.margin_v1_post_asset_convert_transfer_query_by_page", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_asset_convert_transfer_query_by_page(self, **params):\n return await self._request_margin_api(\"post\", \"asset/convert-transfer/queryByPage\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_sol_history_boost_rewards_history": { + "name": "margin_v1_get_sol_staking_sol_history_boost_rewards_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_sol_staking_sol_history_boost_rewards_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_sol_staking_sol_history_boost_rewards_history(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/sol/history/boostRewardsHistory\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_one_off_status": { + "name": "margin_v1_get_lending_auto_invest_one_off_status", + "path": "binance.async_client.AsyncClient.margin_v1_get_lending_auto_invest_one_off_status", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_lending_auto_invest_one_off_status(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/one-off/status\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account": { + "name": "margin_v1_post_broker_sub_account", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_sub_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_sub_account(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccount\", signed=True, data=params, version=1)" + }, + "margin_v1_get_asset_ledger_transfer_cloud_mining_query_by_page": { + "name": "margin_v1_get_asset_ledger_transfer_cloud_mining_query_by_page", + "path": "binance.async_client.AsyncClient.margin_v1_get_asset_ledger_transfer_cloud_mining_query_by_page", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_asset_ledger_transfer_cloud_mining_query_by_page(self, **params):\n return await self._request_margin_api(\"get\", \"asset/ledger-transfer/cloud-mining/queryByPage\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_pub_coin_list": { + "name": "margin_v1_get_mining_pub_coin_list", + "path": "binance.async_client.AsyncClient.margin_v1_get_mining_pub_coin_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_mining_pub_coin_list(self, **params):\n return await self._request_margin_api(\"get\", \"mining/pub/coinList\", signed=True, data=params, version=1)" + }, + "margin_v2_get_loan_flexible_repay_history": { + "name": "margin_v2_get_loan_flexible_repay_history", + "path": "binance.async_client.AsyncClient.margin_v2_get_loan_flexible_repay_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_get_loan_flexible_repay_history(self, **params):\n return await self._request_margin_api(\"get\", \"loan/flexible/repay/history\", signed=True, data=params, version=2)" + }, + "v3_post_sor_order": { + "name": "v3_post_sor_order", + "path": "binance.async_client.AsyncClient.v3_post_sor_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_post_sor_order(self, **params):\n return await self._request_api(\"post\", \"sor/order\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_post_capital_deposit_credit_apply": { + "name": "margin_v1_post_capital_deposit_credit_apply", + "path": "binance.async_client.AsyncClient.margin_v1_post_capital_deposit_credit_apply", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_capital_deposit_credit_apply(self, **params):\n return await self._request_margin_api(\"post\", \"capital/deposit/credit-apply\", signed=True, data=params, version=1)" + }, + "futures_v1_put_batch_order": { + "name": "futures_v1_put_batch_order", + "path": "binance.async_client.AsyncClient.futures_v1_put_batch_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_put_batch_order(self, **params):\n return await self._request_futures_api(\"put\", \"batchOrder\", signed=True, data=params, version=1)" + }, + "v3_get_my_prevented_matches": { + "name": "v3_get_my_prevented_matches", + "path": "binance.async_client.AsyncClient.v3_get_my_prevented_matches", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_get_my_prevented_matches(self, **params):\n return await self._request_api(\"get\", \"myPreventedMatches\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_get_mining_statistics_user_list": { + "name": "margin_v1_get_mining_statistics_user_list", + "path": "binance.async_client.AsyncClient.margin_v1_get_mining_statistics_user_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_mining_statistics_user_list(self, **params):\n return await self._request_margin_api(\"get\", \"mining/statistics/user/list\", signed=True, data=params, version=1)" + }, + "futures_v1_post_batch_order": { + "name": "futures_v1_post_batch_order", + "path": "binance.async_client.AsyncClient.futures_v1_post_batch_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_post_batch_order(self, **params):\n return await self._request_futures_api(\"post\", \"batchOrder\", signed=True, data=params, version=1)" + }, + "v3_get_ticker_trading_day": { + "name": "v3_get_ticker_trading_day", + "path": "binance.async_client.AsyncClient.v3_get_ticker_trading_day", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_get_ticker_trading_day(self, **params):\n return await self._request_api(\"get\", \"ticker/tradingDay\", signed=False, data=params, version=\"v3\")" + }, + "margin_v1_get_mining_worker_detail": { + "name": "margin_v1_get_mining_worker_detail", + "path": "binance.async_client.AsyncClient.margin_v1_get_mining_worker_detail", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_mining_worker_detail(self, **params):\n return await self._request_margin_api(\"get\", \"mining/worker/detail\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_fetch_future_asset": { + "name": "margin_v1_get_managed_subaccount_fetch_future_asset", + "path": "binance.async_client.AsyncClient.margin_v1_get_managed_subaccount_fetch_future_asset", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_managed_subaccount_fetch_future_asset(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/fetch-future-asset\", signed=True, data=params, version=1)" + }, + "margin_v1_get_margin_rate_limit_order": { + "name": "margin_v1_get_margin_rate_limit_order", + "path": "binance.async_client.AsyncClient.margin_v1_get_margin_rate_limit_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_margin_rate_limit_order(self, **params):\n return await self._request_margin_api(\"get\", \"margin/rateLimit/order\", signed=True, data=params, version=1)" + }, + "margin_v1_get_localentity_vasp": { + "name": "margin_v1_get_localentity_vasp", + "path": "binance.async_client.AsyncClient.margin_v1_get_localentity_vasp", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_localentity_vasp(self, **params):\n return await self._request_margin_api(\"get\", \"localentity/vasp\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_sol_history_rate_history": { + "name": "margin_v1_get_sol_staking_sol_history_rate_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_sol_staking_sol_history_rate_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_sol_staking_sol_history_rate_history(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/sol/history/rateHistory\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api_ip_restriction": { + "name": "margin_v1_post_broker_sub_account_api_ip_restriction", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_sub_account_api_ip_restriction", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_sub_account_api_ip_restriction(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/ipRestriction\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_transfer": { + "name": "margin_v1_get_broker_transfer", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_transfer(self, **params):\n return await self._request_margin_api(\"get\", \"broker/transfer\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_account": { + "name": "margin_v1_get_sol_staking_account", + "path": "binance.async_client.AsyncClient.margin_v1_get_sol_staking_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_sol_staking_account(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/account\", signed=True, data=params, version=1)" + }, + "margin_v1_get_account_info": { + "name": "margin_v1_get_account_info", + "path": "binance.async_client.AsyncClient.margin_v1_get_account_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_account_info(self, **params):\n return await self._request_margin_api(\"get\", \"account/info\", signed=True, data=params, version=1)" + }, + "margin_v1_post_portfolio_repay_futures_switch": { + "name": "margin_v1_post_portfolio_repay_futures_switch", + "path": "binance.async_client.AsyncClient.margin_v1_post_portfolio_repay_futures_switch", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_portfolio_repay_futures_switch(self, **params):\n return await self._request_margin_api(\"post\", \"portfolio/repay-futures-switch\", signed=True, data=params, version=1)" + }, + "margin_v1_post_loan_vip_borrow": { + "name": "margin_v1_post_loan_vip_borrow", + "path": "binance.async_client.AsyncClient.margin_v1_post_loan_vip_borrow", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_loan_vip_borrow(self, **params):\n return await self._request_margin_api(\"post\", \"loan/vip/borrow\", signed=True, data=params, version=1)" + }, + "margin_v2_get_loan_flexible_ltv_adjustment_history": { + "name": "margin_v2_get_loan_flexible_ltv_adjustment_history", + "path": "binance.async_client.AsyncClient.margin_v2_get_loan_flexible_ltv_adjustment_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_get_loan_flexible_ltv_adjustment_history(self, **params):\n return await self._request_margin_api(\"get\", \"loan/flexible/ltv/adjustment/history\", signed=True, data=params, version=2)" + }, + "options_v1_delete_all_open_orders_by_underlying": { + "name": "options_v1_delete_all_open_orders_by_underlying", + "path": "binance.async_client.AsyncClient.options_v1_delete_all_open_orders_by_underlying", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_v1_delete_all_open_orders_by_underlying(self, **params):\n return await self._request_options_api(\"delete\", \"allOpenOrdersByUnderlying\", signed=True, data=params)" + }, + "margin_v1_get_broker_sub_account_futures_summary": { + "name": "margin_v1_get_broker_sub_account_futures_summary", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_sub_account_futures_summary", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_sub_account_futures_summary(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount/futuresSummary\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account_spot_summary": { + "name": "margin_v1_get_broker_sub_account_spot_summary", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_sub_account_spot_summary", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_sub_account_spot_summary(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount/spotSummary\", signed=True, data=params, version=1)" + }, + "margin_v1_post_sub_account_blvt_enable": { + "name": "margin_v1_post_sub_account_blvt_enable", + "path": "binance.async_client.AsyncClient.margin_v1_post_sub_account_blvt_enable", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_sub_account_blvt_enable(self, **params):\n return await self._request_margin_api(\"post\", \"sub-account/blvt/enable\", signed=True, data=params, version=1)" + }, + "margin_v1_get_algo_spot_historical_orders": { + "name": "margin_v1_get_algo_spot_historical_orders", + "path": "binance.async_client.AsyncClient.margin_v1_get_algo_spot_historical_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_algo_spot_historical_orders(self, **params):\n return await self._request_margin_api(\"get\", \"algo/spot/historicalOrders\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_vip_repay_history": { + "name": "margin_v1_get_loan_vip_repay_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_loan_vip_repay_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_loan_vip_repay_history(self, **params):\n return await self._request_margin_api(\"get\", \"loan/vip/repay/history\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_borrow_history": { + "name": "margin_v1_get_loan_borrow_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_loan_borrow_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_loan_borrow_history(self, **params):\n return await self._request_margin_api(\"get\", \"loan/borrow/history\", signed=True, data=params, version=1)" + }, + "margin_v1_post_lending_auto_invest_redeem": { + "name": "margin_v1_post_lending_auto_invest_redeem", + "path": "binance.async_client.AsyncClient.margin_v1_post_lending_auto_invest_redeem", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_lending_auto_invest_redeem(self, **params):\n return await self._request_margin_api(\"post\", \"lending/auto-invest/redeem\", signed=True, data=params, version=1)" + }, + "v3_get_account": { + "name": "v3_get_account", + "path": "binance.async_client.AsyncClient.v3_get_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_get_account(self, **params):\n return await self._request_api(\"get\", \"account\", signed=True, data=params, version=\"v3\")" + }, + "v3_delete_order": { + "name": "v3_delete_order", + "path": "binance.async_client.AsyncClient.v3_delete_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_delete_order(self, **params):\n return await self._request_api(\"delete\", \"order\", signed=True, data=params, version=\"v3\")" + }, + "futures_coin_v1_get_income_asyn": { + "name": "futures_coin_v1_get_income_asyn", + "path": "binance.async_client.AsyncClient.futures_coin_v1_get_income_asyn", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_v1_get_income_asyn(self, **params):\n return await self._request_futures_coin_api(\"get\", \"income/asyn\", signed=True, data=params, version=1)" + }, + "margin_v1_post_managed_subaccount_deposit": { + "name": "margin_v1_post_managed_subaccount_deposit", + "path": "binance.async_client.AsyncClient.margin_v1_post_managed_subaccount_deposit", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_managed_subaccount_deposit(self, **params):\n return await self._request_margin_api(\"post\", \"managed-subaccount/deposit\", signed=True, data=params, version=1)" + }, + "margin_v1_post_lending_daily_purchase": { + "name": "margin_v1_post_lending_daily_purchase", + "path": "binance.async_client.AsyncClient.margin_v1_post_lending_daily_purchase", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_lending_daily_purchase(self, **params):\n return await self._request_margin_api(\"post\", \"lending/daily/purchase\", signed=True, data=params, version=1)" + }, + "futures_v1_get_trade_asyn_id": { + "name": "futures_v1_get_trade_asyn_id", + "path": "binance.async_client.AsyncClient.futures_v1_get_trade_asyn_id", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_trade_asyn_id(self, **params):\n return await self._request_futures_api(\"get\", \"trade/asyn/id\", signed=True, data=params, version=1)" + }, + "margin_v1_delete_sub_account_sub_account_api_ip_restriction_ip_list": { + "name": "margin_v1_delete_sub_account_sub_account_api_ip_restriction_ip_list", + "path": "binance.async_client.AsyncClient.margin_v1_delete_sub_account_sub_account_api_ip_restriction_ip_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_delete_sub_account_sub_account_api_ip_restriction_ip_list(self, **params):\n return await self._request_margin_api(\"delete\", \"sub-account/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)" + }, + "margin_v1_get_copy_trading_futures_user_status": { + "name": "margin_v1_get_copy_trading_futures_user_status", + "path": "binance.async_client.AsyncClient.margin_v1_get_copy_trading_futures_user_status", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_copy_trading_futures_user_status(self, **params):\n return await self._request_margin_api(\"get\", \"copyTrading/futures/userStatus\", signed=True, data=params, version=1)" + }, + "options_v1_get_margin_account": { + "name": "options_v1_get_margin_account", + "path": "binance.async_client.AsyncClient.options_v1_get_margin_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_v1_get_margin_account(self, **params):\n return await self._request_options_api(\"get\", \"marginAccount\", signed=True, data=params)" + }, + "margin_v1_post_localentity_withdraw_apply": { + "name": "margin_v1_post_localentity_withdraw_apply", + "path": "binance.async_client.AsyncClient.margin_v1_post_localentity_withdraw_apply", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_localentity_withdraw_apply(self, **params):\n return await self._request_margin_api(\"post\", \"localentity/withdraw/apply\", signed=True, data=params, version=1)" + }, + "v3_put_user_data_stream": { + "name": "v3_put_user_data_stream", + "path": "binance.async_client.AsyncClient.v3_put_user_data_stream", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_put_user_data_stream(self, **params):\n return await self._request_api(\"put\", \"userDataStream\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_get_asset_wallet_balance": { + "name": "margin_v1_get_asset_wallet_balance", + "path": "binance.async_client.AsyncClient.margin_v1_get_asset_wallet_balance", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_asset_wallet_balance(self, **params):\n return await self._request_margin_api(\"get\", \"asset/wallet/balance\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_transfer": { + "name": "margin_v1_post_broker_transfer", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_transfer(self, **params):\n return await self._request_margin_api(\"post\", \"broker/transfer\", signed=True, data=params, version=1)" + }, + "margin_v1_post_lending_customized_fixed_purchase": { + "name": "margin_v1_post_lending_customized_fixed_purchase", + "path": "binance.async_client.AsyncClient.margin_v1_post_lending_customized_fixed_purchase", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_lending_customized_fixed_purchase(self, **params):\n return await self._request_margin_api(\"post\", \"lending/customizedFixed/purchase\", signed=True, data=params, version=1)" + }, + "margin_v1_post_algo_futures_new_order_twap": { + "name": "margin_v1_post_algo_futures_new_order_twap", + "path": "binance.async_client.AsyncClient.margin_v1_post_algo_futures_new_order_twap", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_algo_futures_new_order_twap(self, **params):\n return await self._request_margin_api(\"post\", \"algo/futures/newOrderTwap\", signed=True, data=params, version=1)" + }, + "margin_v2_post_eth_staking_eth_stake": { + "name": "margin_v2_post_eth_staking_eth_stake", + "path": "binance.async_client.AsyncClient.margin_v2_post_eth_staking_eth_stake", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_post_eth_staking_eth_stake(self, **params):\n return await self._request_margin_api(\"post\", \"eth-staking/eth/stake\", signed=True, data=params, version=2)" + }, + "margin_v1_post_loan_flexible_repay_history": { + "name": "margin_v1_post_loan_flexible_repay_history", + "path": "binance.async_client.AsyncClient.margin_v1_post_loan_flexible_repay_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_loan_flexible_repay_history(self, **params):\n return await self._request_margin_api(\"post\", \"loan/flexible/repay/history\", signed=True, data=params, version=1)" + }, + "v3_post_user_data_stream": { + "name": "v3_post_user_data_stream", + "path": "binance.async_client.AsyncClient.v3_post_user_data_stream", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_post_user_data_stream(self, **params):\n return await self._request_api(\"post\", \"userDataStream\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_get_lending_auto_invest_index_info": { + "name": "margin_v1_get_lending_auto_invest_index_info", + "path": "binance.async_client.AsyncClient.margin_v1_get_lending_auto_invest_index_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_lending_auto_invest_index_info(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/index/info\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_sol_history_redemption_history": { + "name": "margin_v1_get_sol_staking_sol_history_redemption_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_sol_staking_sol_history_redemption_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_sol_staking_sol_history_redemption_history(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/sol/history/redemptionHistory\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_rebate_futures_recent_record": { + "name": "margin_v1_get_broker_rebate_futures_recent_record", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_rebate_futures_recent_record", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_rebate_futures_recent_record(self, **params):\n return await self._request_margin_api(\"get\", \"broker/rebate/futures/recentRecord\", signed=True, data=params, version=1)" + }, + "margin_v3_get_broker_sub_account_futures_summary": { + "name": "margin_v3_get_broker_sub_account_futures_summary", + "path": "binance.async_client.AsyncClient.margin_v3_get_broker_sub_account_futures_summary", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v3_get_broker_sub_account_futures_summary(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount/futuresSummary\", signed=True, data=params, version=3)" + }, + "margin_v1_post_margin_manual_liquidation": { + "name": "margin_v1_post_margin_manual_liquidation", + "path": "binance.async_client.AsyncClient.margin_v1_post_margin_manual_liquidation", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_margin_manual_liquidation(self, **params):\n return await self._request_margin_api(\"post\", \"margin/manual-liquidation\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_target_asset_roi_list": { + "name": "margin_v1_get_lending_auto_invest_target_asset_roi_list", + "path": "binance.async_client.AsyncClient.margin_v1_get_lending_auto_invest_target_asset_roi_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_lending_auto_invest_target_asset_roi_list(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/target-asset/roi/list\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_universal_transfer": { + "name": "margin_v1_get_broker_universal_transfer", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_universal_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_universal_transfer(self, **params):\n return await self._request_margin_api(\"get\", \"broker/universalTransfer\", signed=True, data=params, version=1)" + }, + "futures_v1_put_batch_orders": { + "name": "futures_v1_put_batch_orders", + "path": "binance.async_client.AsyncClient.futures_v1_put_batch_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_put_batch_orders(self, **params):\n return await self._request_futures_api(\"put\", \"batchOrders\", signed=True, data=params, version=1)" + }, + "options_v1_post_countdown_cancel_all_heart_beat": { + "name": "options_v1_post_countdown_cancel_all_heart_beat", + "path": "binance.async_client.AsyncClient.options_v1_post_countdown_cancel_all_heart_beat", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_v1_post_countdown_cancel_all_heart_beat(self, **params):\n return await self._request_options_api(\"post\", \"countdownCancelAllHeartBeat\", signed=True, data=params)" + }, + "margin_v1_get_loan_collateral_data": { + "name": "margin_v1_get_loan_collateral_data", + "path": "binance.async_client.AsyncClient.margin_v1_get_loan_collateral_data", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_loan_collateral_data(self, **params):\n return await self._request_margin_api(\"get\", \"loan/collateral/data\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_repay_history": { + "name": "margin_v1_get_loan_repay_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_loan_repay_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_loan_repay_history(self, **params):\n return await self._request_margin_api(\"get\", \"loan/repay/history\", signed=True, data=params, version=1)" + }, + "margin_v1_post_convert_limit_place_order": { + "name": "margin_v1_post_convert_limit_place_order", + "path": "binance.async_client.AsyncClient.margin_v1_post_convert_limit_place_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_convert_limit_place_order(self, **params):\n return await self._request_margin_api(\"post\", \"convert/limit/placeOrder\", signed=True, data=params, version=1)" + }, + "futures_v1_get_convert_exchange_info": { + "name": "futures_v1_get_convert_exchange_info", + "path": "binance.async_client.AsyncClient.futures_v1_get_convert_exchange_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_convert_exchange_info(self, **params):\n return await self._request_futures_api(\"get\", \"convert/exchangeInfo\", signed=False, data=params, version=1)" + }, + "v3_get_all_order_list": { + "name": "v3_get_all_order_list", + "path": "binance.async_client.AsyncClient.v3_get_all_order_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_get_all_order_list(self, **params):\n return await self._request_api(\"get\", \"allOrderList\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_delete_broker_sub_account_api_ip_restriction_ip_list": { + "name": "margin_v1_delete_broker_sub_account_api_ip_restriction_ip_list", + "path": "binance.async_client.AsyncClient.margin_v1_delete_broker_sub_account_api_ip_restriction_ip_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_delete_broker_sub_account_api_ip_restriction_ip_list(self, **params):\n return await self._request_margin_api(\"delete\", \"broker/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)" + }, + "margin_v1_post_sub_account_virtual_sub_account": { + "name": "margin_v1_post_sub_account_virtual_sub_account", + "path": "binance.async_client.AsyncClient.margin_v1_post_sub_account_virtual_sub_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_sub_account_virtual_sub_account(self, **params):\n return await self._request_margin_api(\"post\", \"sub-account/virtualSubAccount\", signed=True, data=params, version=1)" + }, + "margin_v1_put_localentity_deposit_provide_info": { + "name": "margin_v1_put_localentity_deposit_provide_info", + "path": "binance.async_client.AsyncClient.margin_v1_put_localentity_deposit_provide_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_put_localentity_deposit_provide_info(self, **params):\n return await self._request_margin_api(\"put\", \"localentity/deposit/provide-info\", signed=True, data=params, version=1)" + }, + "margin_v1_post_portfolio_mint": { + "name": "margin_v1_post_portfolio_mint", + "path": "binance.async_client.AsyncClient.margin_v1_post_portfolio_mint", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_portfolio_mint(self, **params):\n return await self._request_margin_api(\"post\", \"portfolio/mint\", signed=True, data=params, version=1)" + }, + "futures_v1_get_order_amendment": { + "name": "futures_v1_get_order_amendment", + "path": "binance.async_client.AsyncClient.futures_v1_get_order_amendment", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_order_amendment(self, **params):\n return await self._request_futures_api(\"get\", \"orderAmendment\", signed=True, data=params, version=1)" + }, + "margin_v1_post_sol_staking_sol_claim": { + "name": "margin_v1_post_sol_staking_sol_claim", + "path": "binance.async_client.AsyncClient.margin_v1_post_sol_staking_sol_claim", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_sol_staking_sol_claim(self, **params):\n return await self._request_margin_api(\"post\", \"sol-staking/sol/claim\", signed=True, data=params, version=1)" + }, + "margin_v1_post_lending_daily_redeem": { + "name": "margin_v1_post_lending_daily_redeem", + "path": "binance.async_client.AsyncClient.margin_v1_post_lending_daily_redeem", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_lending_daily_redeem(self, **params):\n return await self._request_margin_api(\"post\", \"lending/daily/redeem\", signed=True, data=params, version=1)" + }, + "margin_v1_post_mining_hash_transfer_config": { + "name": "margin_v1_post_mining_hash_transfer_config", + "path": "binance.async_client.AsyncClient.margin_v1_post_mining_hash_transfer_config", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_mining_hash_transfer_config(self, **params):\n return await self._request_margin_api(\"post\", \"mining/hash-transfer/config\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_rebalance_history": { + "name": "margin_v1_get_lending_auto_invest_rebalance_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_lending_auto_invest_rebalance_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_lending_auto_invest_rebalance_history(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/rebalance/history\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_repay_collateral_rate": { + "name": "margin_v1_get_loan_repay_collateral_rate", + "path": "binance.async_client.AsyncClient.margin_v1_get_loan_repay_collateral_rate", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_loan_repay_collateral_rate(self, **params):\n return await self._request_margin_api(\"get\", \"loan/repay/collateral/rate\", signed=True, data=params, version=1)" + }, + "futures_v1_get_income_asyn": { + "name": "futures_v1_get_income_asyn", + "path": "binance.async_client.AsyncClient.futures_v1_get_income_asyn", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_income_asyn(self, **params):\n return await self._request_futures_api(\"get\", \"income/asyn\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_payment_uid": { + "name": "margin_v1_get_mining_payment_uid", + "path": "binance.async_client.AsyncClient.margin_v1_get_mining_payment_uid", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_mining_payment_uid(self, **params):\n return await self._request_margin_api(\"get\", \"mining/payment/uid\", signed=True, data=params, version=1)" + }, + "margin_v2_get_loan_flexible_borrow_history": { + "name": "margin_v2_get_loan_flexible_borrow_history", + "path": "binance.async_client.AsyncClient.margin_v2_get_loan_flexible_borrow_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_get_loan_flexible_borrow_history(self, **params):\n return await self._request_margin_api(\"get\", \"loan/flexible/borrow/history\", signed=True, data=params, version=2)" + }, + "v3_get_order": { + "name": "v3_get_order", + "path": "binance.async_client.AsyncClient.v3_get_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_get_order(self, **params):\n return await self._request_api(\"get\", \"order\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_get_capital_contract_convertible_coins": { + "name": "margin_v1_get_capital_contract_convertible_coins", + "path": "binance.async_client.AsyncClient.margin_v1_get_capital_contract_convertible_coins", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_capital_contract_convertible_coins(self, **params):\n return await self._request_margin_api(\"get\", \"capital/contract/convertible-coins\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api_permission_vanilla_options": { + "name": "margin_v1_post_broker_sub_account_api_permission_vanilla_options", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_sub_account_api_permission_vanilla_options", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_sub_account_api_permission_vanilla_options(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/permission/vanillaOptions\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_redeem_history": { + "name": "margin_v1_get_lending_auto_invest_redeem_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_lending_auto_invest_redeem_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_lending_auto_invest_redeem_history(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/redeem/history\", signed=True, data=params, version=1)" + }, + "margin_v2_get_localentity_withdraw_history": { + "name": "margin_v2_get_localentity_withdraw_history", + "path": "binance.async_client.AsyncClient.margin_v2_get_localentity_withdraw_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_get_localentity_withdraw_history(self, **params):\n return await self._request_margin_api(\"get\", \"localentity/withdraw/history\", signed=True, data=params, version=2)" + }, + "margin_v1_get_eth_staking_eth_history_redemption_history": { + "name": "margin_v1_get_eth_staking_eth_history_redemption_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_eth_staking_eth_history_redemption_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_eth_staking_eth_history_redemption_history(self, **params):\n return await self._request_margin_api(\"get\", \"eth-staking/eth/history/redemptionHistory\", signed=True, data=params, version=1)" + }, + "futures_v1_get_fee_burn": { + "name": "futures_v1_get_fee_burn", + "path": "binance.async_client.AsyncClient.futures_v1_get_fee_burn", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_fee_burn(self, **params):\n return await self._request_futures_api(\"get\", \"feeBurn\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_index_user_summary": { + "name": "margin_v1_get_lending_auto_invest_index_user_summary", + "path": "binance.async_client.AsyncClient.margin_v1_get_lending_auto_invest_index_user_summary", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_lending_auto_invest_index_user_summary(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/index/user-summary\", signed=True, data=params, version=1)" + }, + "margin_v2_post_loan_flexible_borrow": { + "name": "margin_v2_post_loan_flexible_borrow", + "path": "binance.async_client.AsyncClient.margin_v2_post_loan_flexible_borrow", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_post_loan_flexible_borrow(self, **params):\n return await self._request_margin_api(\"post\", \"loan/flexible/borrow\", signed=True, data=params, version=2)" + }, + "margin_v1_post_loan_vip_repay": { + "name": "margin_v1_post_loan_vip_repay", + "path": "binance.async_client.AsyncClient.margin_v1_post_loan_vip_repay", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_loan_vip_repay(self, **params):\n return await self._request_margin_api(\"post\", \"loan/vip/repay\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_get_commission_rate": { + "name": "futures_coin_v1_get_commission_rate", + "path": "binance.async_client.AsyncClient.futures_coin_v1_get_commission_rate", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_v1_get_commission_rate(self, **params):\n return await self._request_futures_coin_api(\"get\", \"commissionRate\", signed=True, data=params, version=1)" + }, + "margin_v1_get_convert_asset_info": { + "name": "margin_v1_get_convert_asset_info", + "path": "binance.async_client.AsyncClient.margin_v1_get_convert_asset_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_convert_asset_info(self, **params):\n return await self._request_margin_api(\"get\", \"convert/assetInfo\", signed=True, data=params, version=1)" + }, + "v3_post_sor_order_test": { + "name": "v3_post_sor_order_test", + "path": "binance.async_client.AsyncClient.v3_post_sor_order_test", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_post_sor_order_test(self, **params):\n return await self._request_api(\"post\", \"sor/order/test\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_post_broker_universal_transfer": { + "name": "margin_v1_post_broker_universal_transfer", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_universal_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_universal_transfer(self, **params):\n return await self._request_margin_api(\"post\", \"broker/universalTransfer\", signed=True, data=params, version=1)" + }, + "margin_v1_post_account_disable_fast_withdraw_switch": { + "name": "margin_v1_post_account_disable_fast_withdraw_switch", + "path": "binance.async_client.AsyncClient.margin_v1_post_account_disable_fast_withdraw_switch", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_account_disable_fast_withdraw_switch(self, **params):\n return await self._request_margin_api(\"post\", \"account/disableFastWithdrawSwitch\", signed=True, data=params, version=1)" + }, + "futures_v1_get_asset_index": { + "name": "futures_v1_get_asset_index", + "path": "binance.async_client.AsyncClient.futures_v1_get_asset_index", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_asset_index(self, **params):\n return await self._request_futures_api(\"get\", \"assetIndex\", signed=False, data=params, version=1)" + }, + "v3_get_rate_limit_order": { + "name": "v3_get_rate_limit_order", + "path": "binance.async_client.AsyncClient.v3_get_rate_limit_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_get_rate_limit_order(self, **params):\n return await self._request_api(\"get\", \"rateLimit/order\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_get_account_api_restrictions_ip_restriction": { + "name": "margin_v1_get_account_api_restrictions_ip_restriction", + "path": "binance.async_client.AsyncClient.margin_v1_get_account_api_restrictions_ip_restriction", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_account_api_restrictions_ip_restriction(self, **params):\n return await self._request_margin_api(\"get\", \"account/apiRestrictions/ipRestriction\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_bnb_burn_spot": { + "name": "margin_v1_post_broker_sub_account_bnb_burn_spot", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_sub_account_bnb_burn_spot", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_sub_account_bnb_burn_spot(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccount/bnbBurn/spot\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_put_batch_orders": { + "name": "futures_coin_v1_put_batch_orders", + "path": "binance.async_client.AsyncClient.futures_coin_v1_put_batch_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_v1_put_batch_orders(self, **params):\n return await self._request_futures_coin_api(\"put\", \"batchOrders\", signed=True, data=params, version=1)" + }, + "v3_delete_open_orders": { + "name": "v3_delete_open_orders", + "path": "binance.async_client.AsyncClient.v3_delete_open_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_delete_open_orders(self, **params):\n return await self._request_api(\"delete\", \"openOrders\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_post_broker_sub_account_api_permission_universal_transfer": { + "name": "margin_v1_post_broker_sub_account_api_permission_universal_transfer", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_sub_account_api_permission_universal_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_sub_account_api_permission_universal_transfer(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/permission/universalTransfer\", signed=True, data=params, version=1)" + }, + "v3_get_my_allocations": { + "name": "v3_get_my_allocations", + "path": "binance.async_client.AsyncClient.v3_get_my_allocations", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_get_my_allocations(self, **params):\n return await self._request_api(\"get\", \"myAllocations\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_get_loan_ltv_adjustment_history": { + "name": "margin_v1_get_loan_ltv_adjustment_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_loan_ltv_adjustment_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_loan_ltv_adjustment_history(self, **params):\n return await self._request_margin_api(\"get\", \"loan/ltv/adjustment/history\", signed=True, data=params, version=1)" + }, + "margin_v1_get_localentity_withdraw_history": { + "name": "margin_v1_get_localentity_withdraw_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_localentity_withdraw_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_localentity_withdraw_history(self, **params):\n return await self._request_margin_api(\"get\", \"localentity/withdraw/history\", signed=True, data=params, version=1)" + }, + "margin_v2_post_sub_account_sub_account_api_ip_restriction": { + "name": "margin_v2_post_sub_account_sub_account_api_ip_restriction", + "path": "binance.async_client.AsyncClient.margin_v2_post_sub_account_sub_account_api_ip_restriction", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_post_sub_account_sub_account_api_ip_restriction(self, **params):\n return await self._request_margin_api(\"post\", \"sub-account/subAccountApi/ipRestriction\", signed=True, data=params, version=2)" + }, + "futures_v1_get_rate_limit_order": { + "name": "futures_v1_get_rate_limit_order", + "path": "binance.async_client.AsyncClient.futures_v1_get_rate_limit_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_rate_limit_order(self, **params):\n return await self._request_futures_api(\"get\", \"rateLimit/order\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account_api_commission_futures": { + "name": "margin_v1_get_broker_sub_account_api_commission_futures", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_sub_account_api_commission_futures", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_sub_account_api_commission_futures(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccountApi/commission/futures\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_sol_history_staking_history": { + "name": "margin_v1_get_sol_staking_sol_history_staking_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_sol_staking_sol_history_staking_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_sol_staking_sol_history_staking_history(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/sol/history/stakingHistory\", signed=True, data=params, version=1)" + }, + "futures_v1_get_open_order": { + "name": "futures_v1_get_open_order", + "path": "binance.async_client.AsyncClient.futures_v1_get_open_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_open_order(self, **params):\n return await self._request_futures_api(\"get\", \"openOrder\", signed=True, data=params, version=1)" + }, + "margin_v1_delete_algo_spot_order": { + "name": "margin_v1_delete_algo_spot_order", + "path": "binance.async_client.AsyncClient.margin_v1_delete_algo_spot_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_delete_algo_spot_order(self, **params):\n return await self._request_margin_api(\"delete\", \"algo/spot/order\", signed=True, data=params, version=1)" + }, + "v3_post_order": { + "name": "v3_post_order", + "path": "binance.async_client.AsyncClient.v3_post_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_post_order(self, **params):\n return await self._request_api(\"post\", \"order\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_delete_account_api_restrictions_ip_restriction_ip_list": { + "name": "margin_v1_delete_account_api_restrictions_ip_restriction_ip_list", + "path": "binance.async_client.AsyncClient.margin_v1_delete_account_api_restrictions_ip_restriction_ip_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_delete_account_api_restrictions_ip_restriction_ip_list(self, **params):\n return await self._request_margin_api(\"delete\", \"account/apiRestrictions/ipRestriction/ipList\", signed=True, data=params, version=1)" + }, + "margin_v1_post_capital_contract_convertible_coins": { + "name": "margin_v1_post_capital_contract_convertible_coins", + "path": "binance.async_client.AsyncClient.margin_v1_post_capital_contract_convertible_coins", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_capital_contract_convertible_coins(self, **params):\n return await self._request_margin_api(\"post\", \"capital/contract/convertible-coins\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_margin_asset": { + "name": "margin_v1_get_managed_subaccount_margin_asset", + "path": "binance.async_client.AsyncClient.margin_v1_get_managed_subaccount_margin_asset", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_managed_subaccount_margin_asset(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/marginAsset\", signed=True, data=params, version=1)" + }, + "v3_delete_order_list": { + "name": "v3_delete_order_list", + "path": "binance.async_client.AsyncClient.v3_delete_order_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_delete_order_list(self, **params):\n return await self._request_api(\"delete\", \"orderList\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_post_sub_account_sub_account_api_ip_restriction_ip_list": { + "name": "margin_v1_post_sub_account_sub_account_api_ip_restriction_ip_list", + "path": "binance.async_client.AsyncClient.margin_v1_post_sub_account_sub_account_api_ip_restriction_ip_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_sub_account_sub_account_api_ip_restriction_ip_list(self, **params):\n return await self._request_margin_api(\"post\", \"sub-account/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api_commission": { + "name": "margin_v1_post_broker_sub_account_api_commission", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_sub_account_api_commission", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_sub_account_api_commission(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/commission\", signed=True, data=params, version=1)" + }, + "futures_v1_post_fee_burn": { + "name": "futures_v1_post_fee_burn", + "path": "binance.async_client.AsyncClient.futures_v1_post_fee_burn", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_post_fee_burn(self, **params):\n return await self._request_futures_api(\"post\", \"feeBurn\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account_margin_summary": { + "name": "margin_v1_get_broker_sub_account_margin_summary", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_sub_account_margin_summary", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_sub_account_margin_summary(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount/marginSummary\", signed=True, data=params, version=1)" + }, + "margin_v1_get_lending_auto_invest_plan_list": { + "name": "margin_v1_get_lending_auto_invest_plan_list", + "path": "binance.async_client.AsyncClient.margin_v1_get_lending_auto_invest_plan_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_lending_auto_invest_plan_list(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/plan/list\", signed=True, data=params, version=1)" + }, + "margin_v1_get_loan_vip_loanable_data": { + "name": "margin_v1_get_loan_vip_loanable_data", + "path": "binance.async_client.AsyncClient.margin_v1_get_loan_vip_loanable_data", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_loan_vip_loanable_data(self, **params):\n return await self._request_margin_api(\"get\", \"loan/vip/loanable/data\", signed=True, data=params, version=1)" + }, + "margin_v2_get_loan_flexible_collateral_data": { + "name": "margin_v2_get_loan_flexible_collateral_data", + "path": "binance.async_client.AsyncClient.margin_v2_get_loan_flexible_collateral_data", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_get_loan_flexible_collateral_data(self, **params):\n return await self._request_margin_api(\"get\", \"loan/flexible/collateral/data\", signed=True, data=params, version=2)" + }, + "margin_v1_delete_broker_sub_account_api": { + "name": "margin_v1_delete_broker_sub_account_api", + "path": "binance.async_client.AsyncClient.margin_v1_delete_broker_sub_account_api", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_delete_broker_sub_account_api(self, **params):\n return await self._request_margin_api(\"delete\", \"broker/subAccountApi\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_sol_history_bnsol_rewards_history": { + "name": "margin_v1_get_sol_staking_sol_history_bnsol_rewards_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_sol_staking_sol_history_bnsol_rewards_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_sol_staking_sol_history_bnsol_rewards_history(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/sol/history/bnsolRewardsHistory\", signed=True, data=params, version=1)" + }, + "margin_v1_get_convert_limit_query_open_orders": { + "name": "margin_v1_get_convert_limit_query_open_orders", + "path": "binance.async_client.AsyncClient.margin_v1_get_convert_limit_query_open_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_convert_limit_query_open_orders(self, **params):\n return await self._request_margin_api(\"get\", \"convert/limit/queryOpenOrders\", signed=True, data=params, version=1)" + }, + "v3_get_account_commission": { + "name": "v3_get_account_commission", + "path": "binance.async_client.AsyncClient.v3_get_account_commission", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_get_account_commission(self, **params):\n return await self._request_api(\"get\", \"account/commission\", signed=True, data=params, version=\"v3\")" + }, + "v3_post_order_list_oco": { + "name": "v3_post_order_list_oco", + "path": "binance.async_client.AsyncClient.v3_post_order_list_oco", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_post_order_list_oco(self, **params):\n return await self._request_api(\"post\", \"orderList/oco\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_get_managed_subaccount_query_trans_log": { + "name": "margin_v1_get_managed_subaccount_query_trans_log", + "path": "binance.async_client.AsyncClient.margin_v1_get_managed_subaccount_query_trans_log", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_managed_subaccount_query_trans_log(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/query-trans-log\", signed=True, data=params, version=1)" + }, + "margin_v2_post_broker_sub_account_api_ip_restriction": { + "name": "margin_v2_post_broker_sub_account_api_ip_restriction", + "path": "binance.async_client.AsyncClient.margin_v2_post_broker_sub_account_api_ip_restriction", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_post_broker_sub_account_api_ip_restriction(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/ipRestriction\", signed=True, data=params, version=2)" + }, + "margin_v1_get_lending_auto_invest_all_asset": { + "name": "margin_v1_get_lending_auto_invest_all_asset", + "path": "binance.async_client.AsyncClient.margin_v1_get_lending_auto_invest_all_asset", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_lending_auto_invest_all_asset(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/all/asset\", signed=True, data=params, version=1)" + }, + "futures_v1_post_convert_accept_quote": { + "name": "futures_v1_post_convert_accept_quote", + "path": "binance.async_client.AsyncClient.futures_v1_post_convert_accept_quote", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_post_convert_accept_quote(self, **params):\n return await self._request_futures_api(\"post\", \"convert/acceptQuote\", signed=True, data=params, version=1)" + }, + "margin_v1_get_spot_delist_schedule": { + "name": "margin_v1_get_spot_delist_schedule", + "path": "binance.async_client.AsyncClient.margin_v1_get_spot_delist_schedule", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_spot_delist_schedule(self, **params):\n return await self._request_margin_api(\"get\", \"spot/delist-schedule\", signed=True, data=params, version=1)" + }, + "margin_v1_post_account_api_restrictions_ip_restriction": { + "name": "margin_v1_post_account_api_restrictions_ip_restriction", + "path": "binance.async_client.AsyncClient.margin_v1_post_account_api_restrictions_ip_restriction", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_account_api_restrictions_ip_restriction(self, **params):\n return await self._request_margin_api(\"post\", \"account/apiRestrictions/ipRestriction\", signed=True, data=params, version=1)" + }, + "margin_v1_get_dci_product_accounts": { + "name": "margin_v1_get_dci_product_accounts", + "path": "binance.async_client.AsyncClient.margin_v1_get_dci_product_accounts", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_dci_product_accounts(self, **params):\n return await self._request_margin_api(\"get\", \"dci/product/accounts\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sub_account_sub_account_api_ip_restriction": { + "name": "margin_v1_get_sub_account_sub_account_api_ip_restriction", + "path": "binance.async_client.AsyncClient.margin_v1_get_sub_account_sub_account_api_ip_restriction", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_sub_account_sub_account_api_ip_restriction(self, **params):\n return await self._request_margin_api(\"get\", \"sub-account/subAccountApi/ipRestriction\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sub_account_transaction_statistics": { + "name": "margin_v1_get_sub_account_transaction_statistics", + "path": "binance.async_client.AsyncClient.margin_v1_get_sub_account_transaction_statistics", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_sub_account_transaction_statistics(self, **params):\n return await self._request_margin_api(\"get\", \"sub-account/transaction-statistics\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_deposit_address": { + "name": "margin_v1_get_managed_subaccount_deposit_address", + "path": "binance.async_client.AsyncClient.margin_v1_get_managed_subaccount_deposit_address", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_managed_subaccount_deposit_address(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/deposit/address\", signed=True, data=params, version=1)" + }, + "margin_v2_get_portfolio_account": { + "name": "margin_v2_get_portfolio_account", + "path": "binance.async_client.AsyncClient.margin_v2_get_portfolio_account", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_get_portfolio_account(self, **params):\n return await self._request_margin_api(\"get\", \"portfolio/account\", signed=True, data=params, version=2)" + }, + "margin_v1_get_simple_earn_locked_history_redemption_record": { + "name": "margin_v1_get_simple_earn_locked_history_redemption_record", + "path": "binance.async_client.AsyncClient.margin_v1_get_simple_earn_locked_history_redemption_record", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_simple_earn_locked_history_redemption_record(self, **params):\n return await self._request_margin_api(\"get\", \"simple-earn/locked/history/redemptionRecord\", signed=True, data=params, version=1)" + }, + "futures_v1_get_order_asyn_id": { + "name": "futures_v1_get_order_asyn_id", + "path": "binance.async_client.AsyncClient.futures_v1_get_order_asyn_id", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_order_asyn_id(self, **params):\n return await self._request_futures_api(\"get\", \"order/asyn/id\", signed=True, data=params, version=1)" + }, + "margin_v1_post_managed_subaccount_withdraw": { + "name": "margin_v1_post_managed_subaccount_withdraw", + "path": "binance.async_client.AsyncClient.margin_v1_post_managed_subaccount_withdraw", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_managed_subaccount_withdraw(self, **params):\n return await self._request_margin_api(\"post\", \"managed-subaccount/withdraw\", signed=True, data=params, version=1)" + }, + "margin_v1_get_localentity_deposit_history": { + "name": "margin_v1_get_localentity_deposit_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_localentity_deposit_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_localentity_deposit_history(self, **params):\n return await self._request_margin_api(\"get\", \"localentity/deposit/history\", signed=True, data=params, version=1)" + }, + "margin_v1_post_eth_staking_wbeth_wrap": { + "name": "margin_v1_post_eth_staking_wbeth_wrap", + "path": "binance.async_client.AsyncClient.margin_v1_post_eth_staking_wbeth_wrap", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_eth_staking_wbeth_wrap(self, **params):\n return await self._request_margin_api(\"post\", \"eth-staking/wbeth/wrap\", signed=True, data=params, version=1)" + }, + "margin_v1_post_simple_earn_locked_set_redeem_option": { + "name": "margin_v1_post_simple_earn_locked_set_redeem_option", + "path": "binance.async_client.AsyncClient.margin_v1_post_simple_earn_locked_set_redeem_option", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_simple_earn_locked_set_redeem_option(self, **params):\n return await self._request_margin_api(\"post\", \"simple-earn/locked/setRedeemOption\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api_ip_restriction_ip_list": { + "name": "margin_v1_post_broker_sub_account_api_ip_restriction_ip_list", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_sub_account_api_ip_restriction_ip_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_sub_account_api_ip_restriction_ip_list(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)" + }, + "margin_v1_post_broker_sub_account_api_commission_futures": { + "name": "margin_v1_post_broker_sub_account_api_commission_futures", + "path": "binance.async_client.AsyncClient.margin_v1_post_broker_sub_account_api_commission_futures", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_broker_sub_account_api_commission_futures(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/commission/futures\", signed=True, data=params, version=1)" + }, + "v3_get_open_orders": { + "name": "v3_get_open_orders", + "path": "binance.async_client.AsyncClient.v3_get_open_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_get_open_orders(self, **params):\n return await self._request_api(\"get\", \"openOrders\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_get_lending_auto_invest_history_list": { + "name": "margin_v1_get_lending_auto_invest_history_list", + "path": "binance.async_client.AsyncClient.margin_v1_get_lending_auto_invest_history_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_lending_auto_invest_history_list(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/history/list\", signed=True, data=params, version=1)" + }, + "margin_v1_post_loan_customize_margin_call": { + "name": "margin_v1_post_loan_customize_margin_call", + "path": "binance.async_client.AsyncClient.margin_v1_post_loan_customize_margin_call", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_loan_customize_margin_call(self, **params):\n return await self._request_margin_api(\"post\", \"loan/customize/margin_call\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account_bnb_burn_status": { + "name": "margin_v1_get_broker_sub_account_bnb_burn_status", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_sub_account_bnb_burn_status", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_sub_account_bnb_burn_status(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount/bnbBurn/status\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_account_snapshot": { + "name": "margin_v1_get_managed_subaccount_account_snapshot", + "path": "binance.async_client.AsyncClient.margin_v1_get_managed_subaccount_account_snapshot", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_managed_subaccount_account_snapshot(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/accountSnapshot\", signed=True, data=params, version=1)" + }, + "margin_v1_post_asset_convert_transfer": { + "name": "margin_v1_post_asset_convert_transfer", + "path": "binance.async_client.AsyncClient.margin_v1_post_asset_convert_transfer", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_asset_convert_transfer(self, **params):\n return await self._request_margin_api(\"post\", \"asset/convert-transfer\", signed=True, data=params, version=1)" + }, + "options_v1_get_income_asyn": { + "name": "options_v1_get_income_asyn", + "path": "binance.async_client.AsyncClient.options_v1_get_income_asyn", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_v1_get_income_asyn(self, **params):\n return await self._request_options_api(\"get\", \"income/asyn\", signed=True, data=params)" + }, + "margin_v1_get_broker_sub_account_api_commission_coin_futures": { + "name": "margin_v1_get_broker_sub_account_api_commission_coin_futures", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_sub_account_api_commission_coin_futures", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_sub_account_api_commission_coin_futures(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccountApi/commission/coinFutures\", signed=True, data=params, version=1)" + }, + "margin_v2_get_broker_sub_account_futures_summary": { + "name": "margin_v2_get_broker_sub_account_futures_summary", + "path": "binance.async_client.AsyncClient.margin_v2_get_broker_sub_account_futures_summary", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_get_broker_sub_account_futures_summary(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount/futuresSummary\", signed=True, data=params, version=2)" + }, + "margin_v1_get_loan_ongoing_orders": { + "name": "margin_v1_get_loan_ongoing_orders", + "path": "binance.async_client.AsyncClient.margin_v1_get_loan_ongoing_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_loan_ongoing_orders(self, **params):\n return await self._request_margin_api(\"get\", \"loan/ongoing/orders\", signed=True, data=params, version=1)" + }, + "margin_v2_get_loan_flexible_ongoing_orders": { + "name": "margin_v2_get_loan_flexible_ongoing_orders", + "path": "binance.async_client.AsyncClient.margin_v2_get_loan_flexible_ongoing_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v2_get_loan_flexible_ongoing_orders(self, **params):\n return await self._request_margin_api(\"get\", \"loan/flexible/ongoing/orders\", signed=True, data=params, version=2)" + }, + "margin_v1_post_algo_futures_new_order_vp": { + "name": "margin_v1_post_algo_futures_new_order_vp", + "path": "binance.async_client.AsyncClient.margin_v1_post_algo_futures_new_order_vp", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_algo_futures_new_order_vp(self, **params):\n return await self._request_margin_api(\"post\", \"algo/futures/newOrderVp\", signed=True, data=params, version=1)" + }, + "futures_v1_post_convert_get_quote": { + "name": "futures_v1_post_convert_get_quote", + "path": "binance.async_client.AsyncClient.futures_v1_post_convert_get_quote", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_post_convert_get_quote(self, **params):\n return await self._request_futures_api(\"post\", \"convert/getQuote\", signed=True, data=params, version=1)" + }, + "margin_v1_get_algo_spot_sub_orders": { + "name": "margin_v1_get_algo_spot_sub_orders", + "path": "binance.async_client.AsyncClient.margin_v1_get_algo_spot_sub_orders", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_algo_spot_sub_orders(self, **params):\n return await self._request_margin_api(\"get\", \"algo/spot/subOrders\", signed=True, data=params, version=1)" + }, + "margin_v1_post_portfolio_redeem": { + "name": "margin_v1_post_portfolio_redeem", + "path": "binance.async_client.AsyncClient.margin_v1_post_portfolio_redeem", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_portfolio_redeem(self, **params):\n return await self._request_margin_api(\"post\", \"portfolio/redeem\", signed=True, data=params, version=1)" + }, + "margin_v1_post_lending_auto_invest_plan_add": { + "name": "margin_v1_post_lending_auto_invest_plan_add", + "path": "binance.async_client.AsyncClient.margin_v1_post_lending_auto_invest_plan_add", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_lending_auto_invest_plan_add(self, **params):\n return await self._request_margin_api(\"post\", \"lending/auto-invest/plan/add\", signed=True, data=params, version=1)" + }, + "v3_get_order_list": { + "name": "v3_get_order_list", + "path": "binance.async_client.AsyncClient.v3_get_order_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_get_order_list(self, **params):\n return await self._request_api(\"get\", \"orderList\", signed=True, data=params, version=\"v3\")" + }, + "v3_get_my_trades": { + "name": "v3_get_my_trades", + "path": "binance.async_client.AsyncClient.v3_get_my_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def v3_get_my_trades(self, **params):\n return await self._request_api(\"get\", \"myTrades\", signed=True, data=params, version=\"v3\")" + }, + "margin_v1_get_lending_auto_invest_source_asset_list": { + "name": "margin_v1_get_lending_auto_invest_source_asset_list", + "path": "binance.async_client.AsyncClient.margin_v1_get_lending_auto_invest_source_asset_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_lending_auto_invest_source_asset_list(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/source-asset/list\", signed=True, data=params, version=1)" + }, + "margin_v1_get_margin_all_order_list": { + "name": "margin_v1_get_margin_all_order_list", + "path": "binance.async_client.AsyncClient.margin_v1_get_margin_all_order_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_margin_all_order_list(self, **params):\n return await self._request_margin_api(\"get\", \"margin/allOrderList\", signed=True, data=params, version=1)" + }, + "margin_v1_post_eth_staking_eth_redeem": { + "name": "margin_v1_post_eth_staking_eth_redeem", + "path": "binance.async_client.AsyncClient.margin_v1_post_eth_staking_eth_redeem", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_eth_staking_eth_redeem(self, **params):\n return await self._request_margin_api(\"post\", \"eth-staking/eth/redeem\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_rebate_historical_record": { + "name": "margin_v1_get_broker_rebate_historical_record", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_rebate_historical_record", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_rebate_historical_record(self, **params):\n return await self._request_margin_api(\"get\", \"broker/rebate/historicalRecord\", signed=True, data=params, version=1)" + }, + "margin_v1_get_simple_earn_locked_history_subscription_record": { + "name": "margin_v1_get_simple_earn_locked_history_subscription_record", + "path": "binance.async_client.AsyncClient.margin_v1_get_simple_earn_locked_history_subscription_record", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_simple_earn_locked_history_subscription_record(self, **params):\n return await self._request_margin_api(\"get\", \"simple-earn/locked/history/subscriptionRecord\", signed=True, data=params, version=1)" + }, + "futures_coin_v1_put_order": { + "name": "futures_coin_v1_put_order", + "path": "binance.async_client.AsyncClient.futures_coin_v1_put_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_coin_v1_put_order(self, **params):\n return await self._request_futures_coin_api(\"put\", \"order\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_asset": { + "name": "margin_v1_get_managed_subaccount_asset", + "path": "binance.async_client.AsyncClient.margin_v1_get_managed_subaccount_asset", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_managed_subaccount_asset(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/asset\", signed=True, data=params, version=1)" + }, + "margin_v1_get_sol_staking_sol_quota": { + "name": "margin_v1_get_sol_staking_sol_quota", + "path": "binance.async_client.AsyncClient.margin_v1_get_sol_staking_sol_quota", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_sol_staking_sol_quota(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/sol/quota\", signed=True, data=params, version=1)" + }, + "margin_v1_post_loan_vip_renew": { + "name": "margin_v1_post_loan_vip_renew", + "path": "binance.async_client.AsyncClient.margin_v1_post_loan_vip_renew", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_loan_vip_renew(self, **params):\n return await self._request_margin_api(\"post\", \"loan/vip/renew\", signed=True, data=params, version=1)" + }, + "margin_v1_get_managed_subaccount_query_trans_log_for_trade_parent": { + "name": "margin_v1_get_managed_subaccount_query_trans_log_for_trade_parent", + "path": "binance.async_client.AsyncClient.margin_v1_get_managed_subaccount_query_trans_log_for_trade_parent", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_managed_subaccount_query_trans_log_for_trade_parent(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/queryTransLogForTradeParent\", signed=True, data=params, version=1)" + }, + "margin_v1_post_sub_account_sub_account_api_ip_restriction": { + "name": "margin_v1_post_sub_account_sub_account_api_ip_restriction", + "path": "binance.async_client.AsyncClient.margin_v1_post_sub_account_sub_account_api_ip_restriction", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_post_sub_account_sub_account_api_ip_restriction(self, **params):\n return await self._request_margin_api(\"post\", \"sub-account/subAccountApi/ipRestriction\", signed=True, data=params, version=1)" + }, + "margin_v1_get_simple_earn_flexible_history_redemption_record": { + "name": "margin_v1_get_simple_earn_flexible_history_redemption_record", + "path": "binance.async_client.AsyncClient.margin_v1_get_simple_earn_flexible_history_redemption_record", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_simple_earn_flexible_history_redemption_record(self, **params):\n return await self._request_margin_api(\"get\", \"simple-earn/flexible/history/redemptionRecord\", signed=True, data=params, version=1)" + }, + "margin_v1_get_broker_sub_account_api": { + "name": "margin_v1_get_broker_sub_account_api", + "path": "binance.async_client.AsyncClient.margin_v1_get_broker_sub_account_api", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_broker_sub_account_api(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccountApi\", signed=True, data=params, version=1)" + }, + "options_v1_get_exercise_history": { + "name": "options_v1_get_exercise_history", + "path": "binance.async_client.AsyncClient.options_v1_get_exercise_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_v1_get_exercise_history(self, **params):\n return await self._request_options_api(\"get\", \"exerciseHistory\", signed=False, data=params)" + }, + "margin_v1_get_convert_exchange_info": { + "name": "margin_v1_get_convert_exchange_info", + "path": "binance.async_client.AsyncClient.margin_v1_get_convert_exchange_info", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_convert_exchange_info(self, **params):\n return await self._request_margin_api(\"get\", \"convert/exchangeInfo\", signed=False, data=params, version=1)" + }, + "futures_v1_delete_batch_order": { + "name": "futures_v1_delete_batch_order", + "path": "binance.async_client.AsyncClient.futures_v1_delete_batch_order", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_delete_batch_order(self, **params):\n return await self._request_futures_api(\"delete\", \"batchOrder\", signed=True, data=params, version=1)" + }, + "margin_v1_get_eth_staking_eth_history_wbeth_rewards_history": { + "name": "margin_v1_get_eth_staking_eth_history_wbeth_rewards_history", + "path": "binance.async_client.AsyncClient.margin_v1_get_eth_staking_eth_history_wbeth_rewards_history", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_eth_staking_eth_history_wbeth_rewards_history(self, **params):\n return await self._request_margin_api(\"get\", \"eth-staking/eth/history/wbethRewardsHistory\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_pub_algo_list": { + "name": "margin_v1_get_mining_pub_algo_list", + "path": "binance.async_client.AsyncClient.margin_v1_get_mining_pub_algo_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_mining_pub_algo_list(self, **params):\n return await self._request_margin_api(\"get\", \"mining/pub/algoList\", signed=True, data=params, version=1)" + }, + "options_v1_get_block_trades": { + "name": "options_v1_get_block_trades", + "path": "binance.async_client.AsyncClient.options_v1_get_block_trades", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def options_v1_get_block_trades(self, **params):\n return await self._request_options_api(\"get\", \"blockTrades\", signed=False, data=params)" + }, + "margin_v1_get_copy_trading_futures_lead_symbol": { + "name": "margin_v1_get_copy_trading_futures_lead_symbol", + "path": "binance.async_client.AsyncClient.margin_v1_get_copy_trading_futures_lead_symbol", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_copy_trading_futures_lead_symbol(self, **params):\n return await self._request_margin_api(\"get\", \"copyTrading/futures/leadSymbol\", signed=True, data=params, version=1)" + }, + "margin_v1_get_mining_worker_list": { + "name": "margin_v1_get_mining_worker_list", + "path": "binance.async_client.AsyncClient.margin_v1_get_mining_worker_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_mining_worker_list(self, **params):\n return await self._request_margin_api(\"get\", \"mining/worker/list\", signed=True, data=params, version=1)" + }, + "margin_v1_get_dci_product_list": { + "name": "margin_v1_get_dci_product_list", + "path": "binance.async_client.AsyncClient.margin_v1_get_dci_product_list", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def margin_v1_get_dci_product_list(self, **params):\n return await self._request_margin_api(\"get\", \"dci/product/list\", signed=True, data=params, version=1)" + }, + "futures_v1_get_convert_order_status": { + "name": "futures_v1_get_convert_order_status", + "path": "binance.async_client.AsyncClient.futures_v1_get_convert_order_status", + "signature": "(self, **params)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "params", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def futures_v1_get_convert_order_status(self, **params):\n return await self._request_futures_api(\"get\", \"convert/orderStatus\", signed=True, data=params, version=1)" + } + }, + "source": "class AsyncClient(BaseClient):\n def __init__(\n self,\n api_key: Optional[str] = None,\n api_secret: Optional[str] = None,\n requests_params: Optional[Dict[str, Any]] = None,\n tld: str = \"com\",\n base_endpoint: str = BaseClient.BASE_ENDPOINT_DEFAULT,\n testnet: bool = False,\n demo: bool = False,\n loop=None,\n session_params: Optional[Dict[str, Any]] = None,\n private_key: Optional[Union[str, Path]] = None,\n private_key_pass: Optional[str] = None,\n https_proxy: Optional[str] = None,\n time_unit: Optional[str] = None,\n ):\n self.https_proxy = https_proxy\n self.loop = loop or get_loop()\n self._session_params: Dict[str, Any] = session_params or {}\n\n # Convert https_proxy to requests_params format for BaseClient\n if https_proxy and requests_params is None:\n requests_params = {'proxies': {'http': https_proxy, 'https': https_proxy}}\n elif https_proxy and requests_params is not None:\n if 'proxies' not in requests_params:\n requests_params['proxies'] = {}\n requests_params['proxies'].update({'http': https_proxy, 'https': https_proxy})\n\n super().__init__(\n api_key,\n api_secret,\n requests_params,\n tld,\n base_endpoint,\n testnet,\n demo,\n private_key,\n private_key_pass,\n time_unit=time_unit,\n )\n\n @classmethod\n async def create(\n cls,\n api_key: Optional[str] = None,\n api_secret: Optional[str] = None,\n requests_params: Optional[Dict[str, Any]] = None,\n tld: str = \"com\",\n base_endpoint: str = BaseClient.BASE_ENDPOINT_DEFAULT,\n testnet: bool = False,\n demo: bool = False,\n loop=None,\n session_params: Optional[Dict[str, Any]] = None,\n private_key: Optional[Union[str, Path]] = None,\n private_key_pass: Optional[str] = None,\n https_proxy: Optional[str] = None,\n time_unit: Optional[str] = None,\n ):\n self = cls(\n api_key,\n api_secret,\n requests_params,\n tld,\n base_endpoint,\n testnet,\n demo,\n loop,\n session_params,\n private_key,\n private_key_pass,\n https_proxy,\n time_unit\n )\n self.https_proxy = https_proxy # move this to the constructor\n\n try:\n await self.ping()\n\n # calculate timestamp offset between local and binance server\n res = await self.get_server_time()\n self.timestamp_offset = res[\"serverTime\"] - int(time.time() * 1000)\n\n return self\n except Exception:\n # If ping throw an exception, the current self must be cleaned\n # else, we can receive a \"asyncio:Unclosed client session\"\n await self.close_connection()\n raise\n\n def _init_session(self) -> aiohttp.ClientSession:\n session = aiohttp.ClientSession(\n loop=self.loop, headers=self._get_headers(), **self._session_params\n )\n return session\n\n async def close_connection(self):\n if self.session:\n assert self.session\n await self.session.close()\n if self.ws_api:\n await self.ws_api.close()\n self._ws_api = None\n\n async def _request(\n self, method, uri: str, signed: bool, force_params: bool = False, **kwargs\n ):\n # this check needs to be done before __get_request_kwargs to avoid\n # polluting the signature\n headers = {}\n if method.upper() in [\"POST\", \"PUT\", \"DELETE\"]:\n headers.update({\"Content-Type\": \"application/x-www-form-urlencoded\"})\n\n if \"data\" in kwargs:\n for key in kwargs[\"data\"]:\n if key == \"headers\":\n headers.update(kwargs[\"data\"][key])\n del kwargs[\"data\"][key]\n break\n\n kwargs = self._get_request_kwargs(method, signed, force_params, **kwargs)\n\n if method == \"get\":\n # url encode the query string\n if \"params\" in kwargs:\n uri = f\"{uri}?{kwargs['params']}\"\n kwargs.pop(\"params\")\n\n data = kwargs.get(\"data\")\n if data is not None:\n del kwargs[\"data\"]\n\n if (\n signed and self.PRIVATE_KEY and data\n ): # handle issues with signing using eddsa/rsa and POST requests\n dict_data = Client.convert_to_dict(data)\n signature = dict_data[\"signature\"] if \"signature\" in dict_data else None\n if signature:\n del dict_data[\"signature\"]\n url_encoded_data = urlencode(dict_data)\n data = f\"{url_encoded_data}&signature={signature}\"\n\n # Remove proxies from kwargs since aiohttp uses 'proxy' parameter instead\n kwargs.pop('proxies', None)\n\n async with getattr(self.session, method)(\n yarl.URL(uri, encoded=True),\n proxy=self.https_proxy,\n headers=headers,\n data=data,\n **kwargs,\n ) as response:\n self.response = response\n return await self._handle_response(response)\n\n async def _handle_response(self, response: aiohttp.ClientResponse):\n \"\"\"Internal helper for handling API responses from the Binance server.\n Raises the appropriate exceptions when necessary; otherwise, returns the\n response.\n \"\"\"\n if not str(response.status).startswith(\"2\"):\n raise BinanceAPIException(response, response.status, await response.text())\n\n text = await response.text()\n if text == \"\":\n return {}\n\n try:\n return await response.json()\n except ValueError:\n txt = await response.text()\n raise BinanceRequestException(f\"Invalid Response: {txt}\")\n\n async def _request_api(\n self,\n method,\n path,\n signed=False,\n version=BaseClient.PUBLIC_API_VERSION,\n **kwargs,\n ):\n uri = self._create_api_uri(path, signed, version)\n force_params = kwargs.pop(\"force_params\", False)\n return await self._request(method, uri, signed, force_params, **kwargs)\n\n async def _request_futures_api(\n self, method, path, signed=False, version=1, **kwargs\n ) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_futures_api_uri(path, version=version)\n force_params = kwargs.pop(\"force_params\", False)\n return await self._request(method, uri, signed, force_params, **kwargs)\n\n async def _request_futures_data_api(\n self, method, path, signed=False, **kwargs\n ) -> Dict:\n uri = self._create_futures_data_api_uri(path)\n force_params = kwargs.pop(\"force_params\", True)\n return await self._request(method, uri, signed, force_params, **kwargs)\n\n async def _request_futures_coin_api(\n self, method, path, signed=False, version=1, **kwargs\n ) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_futures_coin_api_url(path, version=version)\n force_params = kwargs.pop(\"force_params\", False)\n return await self._request(method, uri, signed, force_params, **kwargs)\n\n async def _request_futures_coin_data_api(\n self, method, path, signed=False, version=1, **kwargs\n ) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_futures_coin_data_api_url(path, version=version)\n\n force_params = kwargs.pop(\"force_params\", True)\n return await self._request(method, uri, signed, force_params, **kwargs)\n\n async def _request_options_api(self, method, path, signed=False, **kwargs) -> Dict:\n uri = self._create_options_api_uri(path)\n force_params = kwargs.pop(\"force_params\", True)\n\n return await self._request(method, uri, signed, force_params, **kwargs)\n\n async def _request_margin_api(\n self, method, path, signed=False, version=1, **kwargs\n ) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_margin_api_uri(path, version)\n\n force_params = kwargs.pop(\"force_params\", False)\n return await self._request(method, uri, signed, force_params, **kwargs)\n\n async def _request_papi_api(\n self, method, path, signed=False, version=1, **kwargs\n ) -> Dict:\n version = self._get_version(version, **kwargs)\n uri = self._create_papi_api_uri(path, version)\n\n force_params = kwargs.pop(\"force_params\", False)\n return await self._request(method, uri, signed, force_params, **kwargs)\n\n async def _request_website(self, method, path, signed=False, **kwargs) -> Dict:\n uri = self._create_website_uri(path)\n return await self._request(method, uri, signed, **kwargs)\n\n async def _get(\n self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs\n ):\n return await self._request_api(\"get\", path, signed, version, **kwargs)\n\n async def _post(\n self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs\n ) -> Dict:\n return await self._request_api(\"post\", path, signed, version, **kwargs)\n\n async def _put(\n self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs\n ) -> Dict:\n return await self._request_api(\"put\", path, signed, version, **kwargs)\n\n async def _delete(\n self, path, signed=False, version=BaseClient.PUBLIC_API_VERSION, **kwargs\n ) -> Dict:\n return await self._request_api(\"delete\", path, signed, version, **kwargs)\n\n # Exchange Endpoints\n\n async def get_products(self) -> Dict:\n products = await self._request_website(\n \"get\",\n \"bapi/asset/v2/public/asset-service/product/get-products?includeEtf=true\",\n )\n return products\n\n get_products.__doc__ = Client.get_products.__doc__\n\n async def get_exchange_info(self) -> Dict:\n return await self._get(\"exchangeInfo\")\n\n get_exchange_info.__doc__ = Client.get_exchange_info.__doc__\n\n async def get_symbol_info(self, symbol) -> Optional[Dict]:\n res = await self.get_exchange_info()\n\n for item in res[\"symbols\"]:\n if item[\"symbol\"] == symbol.upper():\n return item\n\n return None\n\n get_symbol_info.__doc__ = Client.get_symbol_info.__doc__\n\n # General Endpoints\n\n async def ping(self) -> Dict:\n return await self._get(\"ping\")\n\n ping.__doc__ = Client.ping.__doc__\n\n async def get_server_time(self) -> Dict:\n return await self._get(\"time\")\n\n get_server_time.__doc__ = Client.get_server_time.__doc__\n\n # Market Data Endpoints\n\n async def get_all_tickers(\n self, symbol: Optional[str] = None\n ) -> List[Dict[str, str]]:\n params = {}\n if symbol:\n params[\"symbol\"] = symbol\n response = await self._get(\n \"ticker/price\", data=params\n )\n if isinstance(response, list) and all(isinstance(item, dict) for item in response):\n return response\n raise TypeError(\"Expected a list of dictionaries\")\n\n get_all_tickers.__doc__ = Client.get_all_tickers.__doc__\n\n async def get_orderbook_tickers(self, **params) -> Dict:\n data = {}\n if \"symbol\" in params:\n data[\"symbol\"] = params[\"symbol\"]\n elif \"symbols\" in params:\n data[\"symbols\"] = params[\"symbols\"]\n return await self._get(\n \"ticker/bookTicker\", data=data\n )\n\n get_orderbook_tickers.__doc__ = Client.get_orderbook_tickers.__doc__\n\n async def get_order_book(self, **params) -> Dict:\n return await self._get(\"depth\", data=params)\n\n get_order_book.__doc__ = Client.get_order_book.__doc__\n\n async def get_recent_trades(self, **params) -> Dict:\n return await self._get(\"trades\", data=params)\n\n get_recent_trades.__doc__ = Client.get_recent_trades.__doc__\n\n async def get_historical_trades(self, **params) -> Dict:\n return await self._get(\n \"historicalTrades\", data=params\n )\n\n get_historical_trades.__doc__ = Client.get_historical_trades.__doc__\n\n async def get_aggregate_trades(self, **params) -> Dict:\n return await self._get(\n \"aggTrades\", data=params\n )\n\n get_aggregate_trades.__doc__ = Client.get_aggregate_trades.__doc__\n\n async def aggregate_trade_iter(self, symbol, start_str=None, last_id=None):\n if start_str is not None and last_id is not None:\n raise ValueError(\n \"start_time and last_id may not be simultaneously specified.\"\n )\n\n # If there's no last_id, get one.\n if last_id is None:\n # Without a last_id, we actually need the first trade. Normally,\n # we'd get rid of it. See the next loop.\n if start_str is None:\n trades = await self.get_aggregate_trades(symbol=symbol, fromId=0)\n else:\n # The difference between startTime and endTime should be less\n # or equal than an hour and the result set should contain at\n # least one trade.\n start_ts = convert_ts_str(start_str)\n # If the resulting set is empty (i.e. no trades in that interval)\n # then we just move forward hour by hour until we find at least one\n # trade or reach present moment\n while True:\n end_ts = start_ts + (60 * 60 * 1000)\n trades = await self.get_aggregate_trades(\n symbol=symbol, startTime=start_ts, endTime=end_ts\n )\n if len(trades) > 0:\n break\n # If we reach present moment and find no trades then there is\n # nothing to iterate, so we're done\n if end_ts > int(time.time() * 1000):\n return\n start_ts = end_ts\n for t in trades:\n yield t\n last_id = trades[-1][self.AGG_ID]\n\n while True:\n # There is no need to wait between queries, to avoid hitting the\n # rate limit. We're using blocking IO, and as long as we're the\n # only thread running calls like this, Binance will automatically\n # add the right delay time on their end, forcing us to wait for\n # data. That really simplifies this function's job. Binance is\n # fucking awesome.\n trades = await self.get_aggregate_trades(symbol=symbol, fromId=last_id)\n # fromId=n returns a set starting with id n, but we already have\n # that one. So get rid of the first item in the result set.\n trades = trades[1:]\n if len(trades) == 0:\n return\n for t in trades:\n yield t\n last_id = trades[-1][self.AGG_ID]\n\n aggregate_trade_iter.__doc__ = Client.aggregate_trade_iter.__doc__\n\n async def get_ui_klines(self, **params) -> Dict:\n return await self._get(\"uiKlines\", data=params)\n\n get_ui_klines.__doc__ = Client.get_ui_klines.__doc__\n\n async def get_klines(self, **params) -> Dict:\n return await self._get(\"klines\", data=params)\n\n get_klines.__doc__ = Client.get_klines.__doc__\n\n async def _klines(\n self, klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT, **params\n ) -> Dict:\n if \"endTime\" in params and not params[\"endTime\"]:\n del params[\"endTime\"]\n if HistoricalKlinesType.SPOT == klines_type:\n return await self.get_klines(**params)\n elif HistoricalKlinesType.FUTURES == klines_type:\n return await self.futures_klines(**params)\n elif HistoricalKlinesType.FUTURES_COIN == klines_type:\n return await self.futures_coin_klines(**params)\n elif HistoricalKlinesType.FUTURES_MARK_PRICE == klines_type:\n return await self.futures_mark_price_klines(**params)\n elif HistoricalKlinesType.FUTURES_INDEX_PRICE == klines_type:\n return await self.futures_index_price_klines(**params)\n elif HistoricalKlinesType.FUTURES_COIN_MARK_PRICE == klines_type:\n return await self.futures_coin_mark_price_klines(**params)\n elif HistoricalKlinesType.FUTURES_COIN_INDEX_PRICE == klines_type:\n return await self.futures_coin_index_price_klines(**params)\n else:\n raise NotImplementedException(klines_type)\n\n _klines.__doc__ = Client._klines.__doc__\n\n async def _get_earliest_valid_timestamp(\n self,\n symbol,\n interval,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n ):\n kline = await self._klines(\n klines_type=klines_type,\n symbol=symbol,\n interval=interval,\n limit=1,\n startTime=0,\n endTime=int(time.time() * 1000),\n )\n return kline[0][0]\n\n _get_earliest_valid_timestamp.__doc__ = Client._get_earliest_valid_timestamp.__doc__\n\n async def get_historical_klines(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=None,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n ):\n return await self._historical_klines(\n symbol,\n interval,\n start_str,\n end_str=end_str,\n limit=limit,\n klines_type=klines_type,\n )\n\n get_historical_klines.__doc__ = Client.get_historical_klines.__doc__\n\n async def _historical_klines(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=None,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n ):\n initial_limit_set = True\n if limit is None:\n limit = 1000\n initial_limit_set = False\n\n # init our list\n output_data = []\n\n # convert interval to useful value in seconds\n timeframe = interval_to_milliseconds(interval)\n\n # establish first available start timestamp\n start_ts = convert_ts_str(start_str)\n if start_ts is not None:\n first_valid_ts = await self._get_earliest_valid_timestamp(\n symbol, interval, klines_type\n )\n start_ts = max(start_ts, first_valid_ts)\n\n # if an end time was passed convert it\n end_ts = convert_ts_str(end_str)\n if end_ts and start_ts and end_ts <= start_ts:\n return output_data\n\n idx = 0\n while True:\n # fetch the klines from start_ts up to max 500 entries or the end_ts if set\n temp_data = await self._klines(\n klines_type=klines_type,\n symbol=symbol,\n interval=interval,\n limit=limit,\n startTime=start_ts,\n endTime=end_ts,\n )\n\n # append this loops data to our output data\n if temp_data:\n output_data += temp_data\n\n # check if output_data is greater than limit and truncate if needed and break loop\n if initial_limit_set and len(output_data) > limit:\n output_data = output_data[:limit]\n break\n\n # handle the case where exactly the limit amount of data was returned last loop\n # or check if we received less than the required limit and exit the loop\n if not len(temp_data) or len(temp_data) < limit:\n # exit the while loop\n break\n\n # set our start timestamp using the last value in the array\n # and increment next call by our timeframe\n start_ts = temp_data[-1][0] + timeframe\n\n # exit loop if we reached end_ts before reaching klines\n if end_ts and start_ts >= end_ts:\n break\n\n # sleep after every 3rd call to be kind to the API\n idx += 1\n if idx % 3 == 0:\n await asyncio.sleep(1)\n\n return output_data\n\n _historical_klines.__doc__ = Client._historical_klines.__doc__\n\n async def get_historical_klines_generator(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=1000,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n ):\n return self._historical_klines_generator(\n symbol,\n interval,\n start_str,\n end_str=end_str,\n limit=limit,\n klines_type=klines_type,\n )\n\n get_historical_klines_generator.__doc__ = (\n Client.get_historical_klines_generator.__doc__\n )\n\n async def _historical_klines_generator(\n self,\n symbol,\n interval,\n start_str=None,\n end_str=None,\n limit=1000,\n klines_type: HistoricalKlinesType = HistoricalKlinesType.SPOT,\n ):\n # convert interval to useful value in seconds\n timeframe = interval_to_milliseconds(interval)\n\n # if a start time was passed convert it\n start_ts = convert_ts_str(start_str)\n\n # establish first available start timestamp\n if start_ts is not None:\n first_valid_ts = await self._get_earliest_valid_timestamp(\n symbol, interval, klines_type\n )\n start_ts = max(start_ts, first_valid_ts)\n\n # if an end time was passed convert it\n end_ts = convert_ts_str(end_str)\n if end_ts and start_ts and end_ts <= start_ts:\n return\n\n idx = 0\n while True:\n # fetch the klines from start_ts up to max 500 entries or the end_ts if set\n output_data = await self._klines(\n klines_type=klines_type,\n symbol=symbol,\n interval=interval,\n limit=limit,\n startTime=start_ts,\n endTime=end_ts,\n )\n\n # yield data\n if output_data:\n for o in output_data:\n yield o\n\n # handle the case where exactly the limit amount of data was returned last loop\n # check if we received less than the required limit and exit the loop\n if not len(output_data) or len(output_data) < limit:\n # exit the while loop\n break\n\n # increment next call by our timeframe\n start_ts = output_data[-1][0] + timeframe\n\n # exit loop if we reached end_ts before reaching klines\n if end_ts and start_ts >= end_ts:\n break\n\n # sleep after every 3rd call to be kind to the API\n idx += 1\n if idx % 3 == 0:\n await asyncio.sleep(1)\n\n _historical_klines_generator.__doc__ = Client._historical_klines_generator.__doc__\n\n async def get_avg_price(self, **params):\n return await self._get(\n \"avgPrice\", data=params\n )\n\n get_avg_price.__doc__ = Client.get_avg_price.__doc__\n\n async def get_ticker(self, **params):\n return await self._get(\n \"ticker/24hr\", data=params\n )\n\n get_ticker.__doc__ = Client.get_ticker.__doc__\n\n async def get_symbol_ticker(self, **params):\n return await self._get(\n \"ticker/price\", data=params\n )\n\n get_symbol_ticker.__doc__ = Client.get_symbol_ticker.__doc__\n\n async def get_symbol_ticker_window(self, **params):\n return await self._get(\"ticker\", data=params)\n\n get_symbol_ticker_window.__doc__ = Client.get_symbol_ticker_window.__doc__\n\n async def get_orderbook_ticker(self, **params):\n return await self._get(\n \"ticker/bookTicker\", data=params\n )\n\n get_orderbook_ticker.__doc__ = Client.get_orderbook_ticker.__doc__\n\n # Account Endpoints\n\n async def create_order(self, **params):\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return await self._post(\"order\", True, data=params)\n\n create_order.__doc__ = Client.create_order.__doc__\n\n async def order_limit(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n params.update({\"type\": self.ORDER_TYPE_LIMIT, \"timeInForce\": timeInForce})\n return await self.create_order(**params)\n\n order_limit.__doc__ = Client.order_limit.__doc__\n\n async def order_limit_buy(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n params.update({\n \"side\": self.SIDE_BUY,\n })\n return await self.order_limit(timeInForce=timeInForce, **params)\n\n order_limit_buy.__doc__ = Client.order_limit_buy.__doc__\n\n async def order_limit_sell(\n self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params\n ):\n params.update({\"side\": self.SIDE_SELL})\n return await self.order_limit(timeInForce=timeInForce, **params)\n\n order_limit_sell.__doc__ = Client.order_limit_sell.__doc__\n\n async def order_market(self, **params):\n params.update({\"type\": self.ORDER_TYPE_MARKET})\n return await self.create_order(**params)\n\n order_market.__doc__ = Client.order_market.__doc__\n\n async def order_market_buy(self, **params):\n params.update({\"side\": self.SIDE_BUY})\n return await self.order_market(**params)\n\n order_market_buy.__doc__ = Client.order_market_buy.__doc__\n\n async def order_market_sell(self, **params):\n params.update({\"side\": self.SIDE_SELL})\n return await self.order_market(**params)\n\n order_market_sell.__doc__ = Client.order_market_sell.__doc__\n\n async def order_oco_buy(self, **params):\n params.update({\"side\": self.SIDE_BUY})\n return await self.create_oco_order(**params)\n\n order_oco_buy.__doc__ = Client.order_oco_buy.__doc__\n\n async def order_oco_sell(self, **params):\n params.update({\"side\": self.SIDE_SELL})\n return await self.create_oco_order(**params)\n\n order_oco_sell.__doc__ = Client.order_oco_sell.__doc__\n\n async def create_test_order(self, **params):\n return await self._post(\"order/test\", True, data=params)\n\n create_test_order.__doc__ = Client.create_test_order.__doc__\n\n async def get_order(self, **params):\n return await self._get(\"order\", True, data=params)\n\n get_order.__doc__ = Client.get_order.__doc__\n\n async def get_all_orders(self, **params):\n return await self._get(\"allOrders\", True, data=params)\n\n get_all_orders.__doc__ = Client.get_all_orders.__doc__\n\n async def cancel_order(self, **params):\n return await self._delete(\"order\", True, data=params)\n\n cancel_order.__doc__ = Client.cancel_order.__doc__\n\n async def get_open_orders(self, **params):\n return await self._get(\"openOrders\", True, data=params)\n\n get_open_orders.__doc__ = Client.get_open_orders.__doc__\n\n async def get_open_oco_orders(self, **params):\n return await self._get(\"openOrderList\", True, data=params)\n\n get_open_oco_orders.__doc__ = Client.get_open_oco_orders.__doc__\n\n # User Stream Endpoints\n async def get_account(self, **params):\n return await self._get(\"account\", True, data=params)\n\n get_account.__doc__ = Client.get_account.__doc__\n\n async def get_asset_balance(self, asset=None, **params):\n res = await self.get_account(**params)\n # find asset balance in list of balances\n if \"balances\" in res:\n if asset:\n for bal in res[\"balances\"]:\n if bal[\"asset\"].lower() == asset.lower():\n return bal\n else:\n return res[\"balances\"]\n return None\n\n get_asset_balance.__doc__ = Client.get_asset_balance.__doc__\n\n async def get_my_trades(self, **params):\n return await self._get(\"myTrades\", True, data=params)\n\n get_my_trades.__doc__ = Client.get_my_trades.__doc__\n\n async def get_current_order_count(self, **params):\n return await self._get(\"rateLimit/order\", True, data=params)\n\n get_current_order_count.__doc__ = Client.get_current_order_count.__doc__\n\n async def get_prevented_matches(self, **params):\n return await self._get(\"myPreventedMatches\", True, data=params)\n\n get_prevented_matches.__doc__ = Client.get_prevented_matches.__doc__\n\n async def get_allocations(self, **params):\n return await self._get(\"myAllocations\", True, data=params)\n\n get_allocations.__doc__ = Client.get_allocations.__doc__\n\n async def get_system_status(self):\n return await self._request_margin_api(\"get\", \"system/status\")\n\n get_system_status.__doc__ = Client.get_system_status.__doc__\n\n async def get_account_status(self, **params):\n return await self._request_margin_api(\n \"get\", \"account/status\", True, data=params\n )\n\n get_account_status.__doc__ = Client.get_account_status.__doc__\n\n async def get_account_api_trading_status(self, **params):\n return await self._request_margin_api(\n \"get\", \"account/apiTradingStatus\", True, data=params\n )\n\n get_account_api_trading_status.__doc__ = (\n Client.get_account_api_trading_status.__doc__\n )\n\n async def get_account_api_permissions(self, **params):\n return await self._request_margin_api(\n \"get\", \"account/apiRestrictions\", True, data=params\n )\n\n get_account_api_permissions.__doc__ = Client.get_account_api_permissions.__doc__\n\n async def get_dust_assets(self, **params):\n return await self._request_margin_api(\n \"post\", \"asset/dust-btc\", True, data=params\n )\n\n get_dust_assets.__doc__ = Client.get_dust_assets.__doc__\n\n async def get_dust_log(self, **params):\n return await self._request_margin_api(\n \"get\", \"asset/dribblet\", True, data=params\n )\n\n get_dust_log.__doc__ = Client.get_dust_log.__doc__\n\n async def transfer_dust(self, **params):\n return await self._request_margin_api(\"post\", \"asset/dust\", True, data=params)\n\n transfer_dust.__doc__ = Client.transfer_dust.__doc__\n\n async def get_asset_dividend_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"asset/assetDividend\", True, data=params\n )\n\n get_asset_dividend_history.__doc__ = Client.get_asset_dividend_history.__doc__\n\n async def make_universal_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"asset/transfer\", signed=True, data=params\n )\n\n make_universal_transfer.__doc__ = Client.make_universal_transfer.__doc__\n\n async def query_universal_transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"asset/transfer\", signed=True, data=params\n )\n\n query_universal_transfer_history.__doc__ = (\n Client.query_universal_transfer_history.__doc__\n )\n\n async def get_trade_fee(self, **params):\n if self.tld == \"us\":\n endpoint = \"asset/query/trading-fee\"\n else:\n endpoint = \"asset/tradeFee\"\n return await self._request_margin_api(\"get\", endpoint, True, data=params)\n\n get_trade_fee.__doc__ = Client.get_trade_fee.__doc__\n\n async def get_asset_details(self, **params):\n return await self._request_margin_api(\n \"get\", \"asset/assetDetail\", True, data=params\n )\n\n get_asset_details.__doc__ = Client.get_asset_details.__doc__\n\n async def get_spot_delist_schedule(self, **params):\n return await self._request_margin_api(\n \"get\", \"/spot/delist-schedule\", signed=True, data=params\n )\n\n # Withdraw Endpoints\n\n async def withdraw(self, **params):\n # force a name for the withdrawal if one not set\n if \"coin\" in params and \"name\" not in params:\n params[\"name\"] = params[\"coin\"]\n return await self._request_margin_api(\n \"post\", \"capital/withdraw/apply\", True, data=params\n )\n\n withdraw.__doc__ = Client.withdraw.__doc__\n\n async def get_deposit_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"capital/deposit/hisrec\", True, data=params\n )\n\n get_deposit_history.__doc__ = Client.get_deposit_history.__doc__\n\n async def get_withdraw_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"capital/withdraw/history\", True, data=params\n )\n\n get_withdraw_history.__doc__ = Client.get_withdraw_history.__doc__\n\n async def get_withdraw_history_id(self, withdraw_id, **params):\n result = await self.get_withdraw_history(**params)\n\n for entry in result:\n if \"id\" in entry and entry[\"id\"] == withdraw_id:\n return entry\n\n raise Exception(\"There is no entry with withdraw id\", result)\n\n get_withdraw_history_id.__doc__ = Client.get_withdraw_history_id.__doc__\n\n async def get_deposit_address(\n self, coin: str, network: Optional[str] = None, **params\n ):\n params[\"coin\"] = coin\n if network:\n params[\"network\"] = network\n return await self._request_margin_api(\n \"get\", \"capital/deposit/address\", True, data=params\n )\n\n get_deposit_address.__doc__ = Client.get_deposit_address.__doc__\n\n # User Stream Endpoints\n\n async def stream_get_listen_key(self):\n res = await self._post(\"userDataStream\", False, data={})\n return res[\"listenKey\"]\n\n stream_get_listen_key.__doc__ = Client.stream_get_listen_key.__doc__\n\n async def stream_keepalive(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._put(\"userDataStream\", False, data=params)\n\n stream_keepalive.__doc__ = Client.stream_keepalive.__doc__\n\n async def stream_close(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._delete(\"userDataStream\", False, data=params)\n\n stream_close.__doc__ = Client.stream_close.__doc__\n\n # Margin Trading Endpoints\n async def get_margin_account(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/account\", True, data=params\n )\n\n get_margin_account.__doc__ = Client.get_margin_account.__doc__\n\n async def get_isolated_margin_account(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/isolated/account\", True, data=params\n )\n\n get_isolated_margin_account.__doc__ = Client.get_isolated_margin_account.__doc__\n\n async def enable_isolated_margin_account(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/isolated/account\", True, data=params\n )\n\n enable_isolated_margin_account.__doc__ = (\n Client.enable_isolated_margin_account.__doc__\n )\n\n async def disable_isolated_margin_account(self, **params):\n return await self._request_margin_api(\n \"delete\", \"margin/isolated/account\", True, data=params\n )\n\n disable_isolated_margin_account.__doc__ = (\n Client.disable_isolated_margin_account.__doc__\n )\n\n async def get_enabled_isolated_margin_account_limit(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/isolated/accountLimit\", True, data=params\n )\n\n get_enabled_isolated_margin_account_limit.__doc__ = (\n Client.get_enabled_isolated_margin_account_limit.__doc__\n )\n\n async def get_margin_dustlog(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/dribblet\", True, data=params\n )\n\n get_margin_dustlog.__doc__ = Client.get_margin_dustlog.__doc__\n\n async def get_margin_dust_assets(self, **params):\n return await self._request_margin_api(\"get\", \"margin/dust\", True, data=params)\n\n get_margin_dust_assets.__doc__ = Client.get_margin_dust_assets.__doc__\n\n async def transfer_margin_dust(self, **params):\n return await self._request_margin_api(\"post\", \"margin/dust\", True, data=params)\n\n transfer_margin_dust.__doc__ = Client.transfer_margin_dust.__doc__\n\n async def get_cross_margin_collateral_ratio(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/crossMarginCollateralRatio\", True, data=params\n )\n\n get_cross_margin_collateral_ratio.__doc__ = (\n Client.get_cross_margin_collateral_ratio.__doc__\n )\n\n async def get_small_liability_exchange_assets(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/exchange-small-liability\", True, data=params\n )\n\n get_small_liability_exchange_assets.__doc__ = (\n Client.get_small_liability_exchange_assets.__doc__\n )\n\n async def exchange_small_liability_assets(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/exchange-small-liability\", True, data=params\n )\n\n exchange_small_liability_assets.__doc__ = (\n Client.exchange_small_liability_assets.__doc__\n )\n\n async def get_small_liability_exchange_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/exchange-small-liability-history\", True, data=params\n )\n\n get_small_liability_exchange_history.__doc__ = (\n Client.get_small_liability_exchange_history.__doc__\n )\n\n async def get_future_hourly_interest_rate(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/next-hourly-interest-rate\", True, data=params\n )\n\n get_future_hourly_interest_rate.__doc__ = (\n Client.get_future_hourly_interest_rate.__doc__\n )\n\n async def get_margin_capital_flow(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/capital-flow\", True, data=params\n )\n\n get_margin_capital_flow.__doc__ = Client.get_margin_capital_flow.__doc__\n\n async def get_margin_delist_schedule(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/delist-schedule\", True, data=params\n )\n\n get_margin_delist_schedule.__doc__ = Client.get_margin_delist_schedule.__doc__\n\n async def get_margin_asset(self, **params):\n return await self._request_margin_api(\"get\", \"margin/asset\", data=params)\n\n get_margin_asset.__doc__ = Client.get_margin_asset.__doc__\n\n async def get_margin_symbol(self, **params):\n return await self._request_margin_api(\"get\", \"margin/pair\", data=params)\n\n get_margin_symbol.__doc__ = Client.get_margin_symbol.__doc__\n\n async def get_margin_all_assets(self, **params):\n return await self._request_margin_api(\"get\", \"margin/allAssets\", data=params)\n\n get_margin_all_assets.__doc__ = Client.get_margin_all_assets.__doc__\n\n async def get_margin_all_pairs(self, **params):\n return await self._request_margin_api(\"get\", \"margin/allPairs\", data=params)\n\n get_margin_all_pairs.__doc__ = Client.get_margin_all_pairs.__doc__\n\n async def create_isolated_margin_account(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/isolated/create\", signed=True, data=params\n )\n\n create_isolated_margin_account.__doc__ = (\n Client.create_isolated_margin_account.__doc__\n )\n\n async def get_isolated_margin_symbol(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/isolated/pair\", signed=True, data=params\n )\n\n get_isolated_margin_symbol.__doc__ = Client.get_isolated_margin_symbol.__doc__\n\n async def get_all_isolated_margin_symbols(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/isolated/allPairs\", signed=True, data=params\n )\n\n get_all_isolated_margin_symbols.__doc__ = (\n Client.get_all_isolated_margin_symbols.__doc__\n )\n\n async def get_isolated_margin_fee_data(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/isolatedMarginData\", True, data=params\n )\n\n get_isolated_margin_fee_data.__doc__ = Client.get_isolated_margin_fee_data.__doc__\n\n async def get_isolated_margin_tier_data(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/isolatedMarginTier\", True, data=params\n )\n\n get_isolated_margin_tier_data.__doc__ = Client.get_isolated_margin_tier_data.__doc__\n\n async def margin_manual_liquidation(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/manual-liquidation\", True, data=params\n )\n\n margin_manual_liquidation.__doc__ = Client.margin_manual_liquidation.__doc__\n\n async def toggle_bnb_burn_spot_margin(self, **params):\n return await self._request_margin_api(\n \"post\", \"bnbBurn\", signed=True, data=params\n )\n\n toggle_bnb_burn_spot_margin.__doc__ = Client.toggle_bnb_burn_spot_margin.__doc__\n\n async def get_bnb_burn_spot_margin(self, **params):\n return await self._request_margin_api(\n \"get\", \"bnbBurn\", signed=True, data=params\n )\n\n get_bnb_burn_spot_margin.__doc__ = Client.get_bnb_burn_spot_margin.__doc__\n\n async def get_margin_price_index(self, **params):\n return await self._request_margin_api(\"get\", \"margin/priceIndex\", data=params)\n\n get_margin_price_index.__doc__ = Client.get_margin_price_index.__doc__\n\n async def transfer_margin_to_spot(self, **params):\n params[\"type\"] = 2\n return await self._request_margin_api(\n \"post\", \"margin/transfer\", signed=True, data=params\n )\n\n transfer_margin_to_spot.__doc__ = Client.transfer_margin_to_spot.__doc__\n\n async def transfer_spot_to_margin(self, **params):\n params[\"type\"] = 1\n return await self._request_margin_api(\n \"post\", \"margin/transfer\", signed=True, data=params\n )\n\n transfer_spot_to_margin.__doc__ = Client.transfer_spot_to_margin.__doc__\n\n async def transfer_isolated_margin_to_spot(self, **params):\n params[\"transFrom\"] = \"ISOLATED_MARGIN\"\n params[\"transTo\"] = \"SPOT\"\n return await self._request_margin_api(\n \"post\", \"margin/isolated/transfer\", signed=True, data=params\n )\n\n transfer_isolated_margin_to_spot.__doc__ = (\n Client.transfer_isolated_margin_to_spot.__doc__\n )\n\n async def transfer_spot_to_isolated_margin(self, **params):\n params[\"transFrom\"] = \"SPOT\"\n params[\"transTo\"] = \"ISOLATED_MARGIN\"\n return await self._request_margin_api(\n \"post\", \"margin/isolated/transfer\", signed=True, data=params\n )\n\n transfer_spot_to_isolated_margin.__doc__ = (\n Client.transfer_spot_to_isolated_margin.__doc__\n )\n\n async def create_margin_loan(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/loan\", signed=True, data=params\n )\n\n create_margin_loan.__doc__ = Client.create_margin_loan.__doc__\n\n async def repay_margin_loan(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/repay\", signed=True, data=params\n )\n\n repay_margin_loan.__doc__ = Client.repay_margin_loan.__doc__\n\n async def create_margin_order(self, **params):\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return await self._request_margin_api(\n \"post\", \"margin/order\", signed=True, data=params\n )\n\n create_margin_order.__doc__ = Client.create_margin_order.__doc__\n\n async def cancel_margin_order(self, **params):\n return await self._request_margin_api(\n \"delete\", \"margin/order\", signed=True, data=params\n )\n\n cancel_margin_order.__doc__ = Client.cancel_margin_order.__doc__\n\n async def cancel_all_open_margin_orders(self, **params):\n return await self._request_margin_api(\n \"delete\", \"margin/openOrders\", signed=True, data=params\n )\n\n cancel_all_open_margin_orders.__doc__ = Client.cancel_all_open_margin_orders.__doc__\n\n async def set_margin_max_leverage(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/max-leverage\", signed=True, data=params\n )\n\n set_margin_max_leverage.__doc__ = Client.set_margin_max_leverage.__doc__\n\n async def get_margin_transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/transfer\", signed=True, data=params\n )\n\n get_margin_transfer_history.__doc__ = Client.get_margin_transfer_history.__doc__\n\n async def get_margin_loan_details(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/loan\", signed=True, data=params\n )\n\n get_margin_loan_details.__doc__ = Client.get_margin_loan_details.__doc__\n\n async def get_margin_repay_details(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/repay\", signed=True, data=params\n )\n\n async def get_cross_margin_data(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/crossMarginData\", signed=True, data=params\n )\n\n async def get_margin_interest_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/interestHistory\", signed=True, data=params\n )\n\n async def get_margin_force_liquidation_rec(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/forceLiquidationRec\", signed=True, data=params\n )\n\n async def get_margin_order(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/order\", signed=True, data=params\n )\n\n async def get_open_margin_orders(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/openOrders\", signed=True, data=params\n )\n\n async def get_all_margin_orders(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/allOrders\", signed=True, data=params\n )\n\n async def get_margin_trades(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/myTrades\", signed=True, data=params\n )\n\n async def get_max_margin_loan(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/maxBorrowable\", signed=True, data=params\n )\n\n async def get_max_margin_transfer(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/maxTransferable\", signed=True, data=params\n )\n\n # Margin OCO\n\n async def create_margin_oco_order(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/order/oco\", signed=True, data=params\n )\n\n async def cancel_margin_oco_order(self, **params):\n return await self._request_margin_api(\n \"delete\", \"margin/orderList\", signed=True, data=params\n )\n\n async def get_margin_oco_order(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/orderList\", signed=True, data=params\n )\n\n async def get_open_margin_oco_orders(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/openOrderList\", signed=True, data=params\n )\n\n # Cross-margin\n\n async def margin_stream_get_listen_key(self):\n res = await self._request_margin_api(\n \"post\", \"userDataStream\", signed=False, data={}\n )\n return res[\"listenKey\"]\n\n async def margin_stream_keepalive(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_margin_api(\n \"put\", \"userDataStream\", signed=False, data=params\n )\n\n async def margin_stream_close(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_margin_api(\n \"delete\", \"userDataStream\", signed=False, data=params\n )\n\n # Isolated margin\n\n async def isolated_margin_stream_get_listen_key(self, symbol):\n params = {\"symbol\": symbol}\n res = await self._request_margin_api(\n \"post\", \"userDataStream/isolated\", signed=False, data=params\n )\n return res[\"listenKey\"]\n\n async def isolated_margin_stream_keepalive(self, symbol, listenKey):\n params = {\"symbol\": symbol, \"listenKey\": listenKey}\n return await self._request_margin_api(\n \"put\", \"userDataStream/isolated\", signed=False, data=params\n )\n\n async def isolated_margin_stream_close(self, symbol, listenKey):\n params = {\"symbol\": symbol, \"listenKey\": listenKey}\n return await self._request_margin_api(\n \"delete\", \"userDataStream/isolated\", signed=False, data=params\n )\n\n # Simple Earn Endpoints\n\n async def get_simple_earn_flexible_product_list(self, **params):\n return await self._request_margin_api(\n \"get\", \"simple-earn/flexible/list\", signed=True, data=params\n )\n\n get_simple_earn_flexible_product_list.__doc__ = (\n Client.get_simple_earn_flexible_product_list.__doc__\n )\n\n async def get_simple_earn_locked_product_list(self, **params):\n return await self._request_margin_api(\n \"get\", \"simple-earn/locked/list\", signed=True, data=params\n )\n\n get_simple_earn_locked_product_list.__doc__ = (\n Client.get_simple_earn_locked_product_list.__doc__\n )\n\n async def subscribe_simple_earn_flexible_product(self, **params):\n return await self._request_margin_api(\n \"post\", \"simple-earn/flexible/subscribe\", signed=True, data=params\n )\n\n subscribe_simple_earn_flexible_product.__doc__ = (\n Client.subscribe_simple_earn_flexible_product.__doc__\n )\n\n async def subscribe_simple_earn_locked_product(self, **params):\n return await self._request_margin_api(\n \"post\", \"simple-earn/locked/subscribe\", signed=True, data=params\n )\n\n subscribe_simple_earn_locked_product.__doc__ = (\n Client.subscribe_simple_earn_locked_product.__doc__\n )\n\n async def redeem_simple_earn_flexible_product(self, **params):\n return await self._request_margin_api(\n \"post\", \"simple-earn/flexible/redeem\", signed=True, data=params\n )\n\n redeem_simple_earn_flexible_product.__doc__ = (\n Client.redeem_simple_earn_flexible_product.__doc__\n )\n\n async def redeem_simple_earn_locked_product(self, **params):\n return await self._request_margin_api(\n \"post\", \"simple-earn/locked/redeem\", signed=True, data=params\n )\n\n redeem_simple_earn_locked_product.__doc__ = (\n Client.redeem_simple_earn_locked_product.__doc__\n )\n\n async def get_simple_earn_flexible_product_position(self, **params):\n return await self._request_margin_api(\n \"get\", \"simple-earn/flexible/position\", signed=True, data=params\n )\n\n get_simple_earn_flexible_product_position.__doc__ = (\n Client.get_simple_earn_flexible_product_position.__doc__\n )\n\n async def get_simple_earn_locked_product_position(self, **params):\n return await self._request_margin_api(\n \"get\", \"simple-earn/locked/position\", signed=True, data=params\n )\n\n get_simple_earn_locked_product_position.__doc__ = (\n Client.get_simple_earn_locked_product_position.__doc__\n )\n\n async def get_simple_earn_account(self, **params):\n return await self._request_margin_api(\n \"get\", \"simple-earn/account\", signed=True, data=params\n )\n\n get_simple_earn_account.__doc__ = Client.get_simple_earn_account.__doc__\n\n # Lending Endpoints\n\n async def get_fixed_activity_project_list(self, **params):\n return await self._request_margin_api(\n \"get\", \"lending/project/list\", signed=True, data=params\n )\n\n async def change_fixed_activity_to_daily_position(self, **params):\n return await self._request_margin_api(\n \"post\", \"lending/positionChanged\", signed=True, data=params\n )\n\n # Staking Endpoints\n\n async def get_staking_product_list(self, **params):\n return await self._request_margin_api(\n \"get\", \"staking/productList\", signed=True, data=params\n )\n\n async def purchase_staking_product(self, **params):\n return await self._request_margin_api(\n \"post\", \"staking/purchase\", signed=True, data=params\n )\n\n async def redeem_staking_product(self, **params):\n return await self._request_margin_api(\n \"post\", \"staking/redeem\", signed=True, data=params\n )\n\n async def get_staking_position(self, **params):\n return await self._request_margin_api(\n \"get\", \"staking/position\", signed=True, data=params\n )\n\n async def get_staking_purchase_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"staking/purchaseRecord\", signed=True, data=params\n )\n\n async def set_auto_staking(self, **params):\n return await self._request_margin_api(\n \"post\", \"staking/setAutoStaking\", signed=True, data=params\n )\n\n async def get_personal_left_quota(self, **params):\n return await self._request_margin_api(\n \"get\", \"staking/personalLeftQuota\", signed=True, data=params\n )\n\n # US Staking Endpoints\n\n async def get_staking_asset_us(self, **params):\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return await self._request_margin_api(\"get\", \"staking/asset\", True, data=params)\n\n get_staking_asset_us.__doc__ = Client.get_staking_asset_us.__doc__\n\n async def stake_asset_us(self, **params):\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return await self._request_margin_api(\n \"post\", \"staking/stake\", True, data=params\n )\n\n stake_asset_us.__doc__ = Client.stake_asset_us.__doc__\n\n async def unstake_asset_us(self, **params):\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return await self._request_margin_api(\n \"post\", \"staking/unstake\", True, data=params\n )\n\n unstake_asset_us.__doc__ = Client.unstake_asset_us.__doc__\n\n async def get_staking_balance_us(self, **params):\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return await self._request_margin_api(\n \"get\", \"staking/stakingBalance\", True, data=params\n )\n\n get_staking_balance_us.__doc__ = Client.get_staking_balance_us.__doc__\n\n async def get_staking_history_us(self, **params):\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return await self._request_margin_api(\n \"get\", \"staking/history\", True, data=params\n )\n\n get_staking_history_us.__doc__ = Client.get_staking_history_us.__doc__\n\n async def get_staking_rewards_history_us(self, **params):\n assert self.tld == \"us\", \"Endpoint only available on binance.us\"\n return await self._request_margin_api(\n \"get\", \"staking/stakingRewardsHistory\", True, data=params\n )\n\n get_staking_rewards_history_us.__doc__ = (\n Client.get_staking_rewards_history_us.__doc__\n )\n\n # Sub Accounts\n\n async def get_sub_account_list(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/list\", True, data=params\n )\n\n async def get_sub_account_transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/sub/transfer/history\", True, data=params\n )\n\n async def get_sub_account_futures_transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/futures/internalTransfer\", True, data=params\n )\n\n async def create_sub_account_futures_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/futures/internalTransfer\", True, data=params\n )\n\n async def get_sub_account_assets(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/assets\", True, data=params, version=4\n )\n\n async def query_subaccount_spot_summary(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/spotSummary\", True, data=params\n )\n\n async def get_subaccount_deposit_address(self, **params):\n return await self._request_margin_api(\n \"get\", \"capital/deposit/subAddress\", True, data=params\n )\n\n async def get_subaccount_deposit_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"capital/deposit/subHisrec\", True, data=params\n )\n\n async def get_subaccount_futures_margin_status(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/status\", True, data=params\n )\n\n async def enable_subaccount_margin(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/margin/enable\", True, data=params\n )\n\n async def get_subaccount_margin_details(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/margin/account\", True, data=params\n )\n\n async def get_subaccount_margin_summary(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/margin/accountSummary\", True, data=params\n )\n\n async def enable_subaccount_futures(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/futures/enable\", True, data=params\n )\n\n async def get_subaccount_futures_details(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/futures/account\", True, data=params, version=2\n )\n\n async def get_subaccount_futures_summary(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/futures/accountSummary\", True, data=params, version=2\n )\n\n async def get_subaccount_futures_positionrisk(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/futures/positionRisk\", True, data=params, version=2\n )\n\n async def make_subaccount_futures_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/futures/transfer\", True, data=params\n )\n\n async def make_subaccount_margin_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/margin/transfer\", True, data=params\n )\n\n async def make_subaccount_to_subaccount_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/transfer/subToSub\", True, data=params\n )\n\n async def make_subaccount_to_master_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/transfer/subToMaster\", True, data=params\n )\n\n async def get_subaccount_transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/transfer/subUserHistory\", True, data=params\n )\n\n async def make_subaccount_universal_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"sub-account/universalTransfer\", True, data=params\n )\n\n async def get_universal_transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"sub-account/universalTransfer\", True, data=params\n )\n\n # Futures API\n\n async def futures_ping(self):\n return await self._request_futures_api(\"get\", \"ping\")\n\n async def futures_time(self):\n return await self._request_futures_api(\"get\", \"time\")\n\n async def futures_exchange_info(self):\n return await self._request_futures_api(\"get\", \"exchangeInfo\")\n\n async def futures_order_book(self, **params):\n return await self._request_futures_api(\"get\", \"depth\", data=params)\n\n async def futures_recent_trades(self, **params):\n return await self._request_futures_api(\"get\", \"trades\", data=params)\n\n async def futures_historical_trades(self, **params):\n return await self._request_futures_api(\"get\", \"historicalTrades\", data=params)\n\n async def futures_aggregate_trades(self, **params):\n return await self._request_futures_api(\"get\", \"aggTrades\", data=params)\n\n async def futures_klines(self, **params):\n return await self._request_futures_api(\"get\", \"klines\", data=params)\n\n async def futures_mark_price_klines(self, **params):\n return await self._request_futures_api(\"get\", \"markPriceKlines\", data=params)\n\n futures_mark_price_klines.__doc__ = Client.futures_mark_price_klines.__doc__\n\n async def futures_index_price_klines(self, **params):\n return await self._request_futures_api(\"get\", \"indexPriceKlines\", data=params)\n\n futures_index_price_klines.__doc__ = Client.futures_index_price_klines.__doc__\n\n async def futures_premium_index_klines(self, **params):\n return await self._request_futures_api(\"get\", \"premiumIndexKlines\", data=params)\n\n futures_premium_index_klines.__doc__ = Client.futures_index_price_klines.__doc__\n\n async def futures_continuous_klines(self, **params):\n return await self._request_futures_api(\"get\", \"continuousKlines\", data=params)\n\n async def futures_historical_klines(\n self, symbol: str, interval: str, start_str, end_str=None, limit=None\n ):\n return await self._historical_klines(\n symbol,\n interval,\n start_str,\n end_str=end_str,\n limit=limit,\n klines_type=HistoricalKlinesType.FUTURES,\n )\n\n async def futures_historical_klines_generator(\n self, symbol, interval, start_str, end_str=None\n ):\n return self._historical_klines_generator(\n symbol,\n interval,\n start_str,\n end_str=end_str,\n klines_type=HistoricalKlinesType.FUTURES,\n )\n\n async def futures_mark_price(self, **params):\n return await self._request_futures_api(\"get\", \"premiumIndex\", data=params)\n\n async def futures_funding_rate(self, **params):\n return await self._request_futures_api(\"get\", \"fundingRate\", data=params)\n\n async def futures_top_longshort_account_ratio(self, **params):\n return await self._request_futures_data_api(\n \"get\", \"topLongShortAccountRatio\", data=params\n )\n\n async def futures_top_longshort_position_ratio(self, **params):\n return await self._request_futures_data_api(\n \"get\", \"topLongShortPositionRatio\", data=params\n )\n\n async def futures_global_longshort_ratio(self, **params):\n return await self._request_futures_data_api(\n \"get\", \"globalLongShortAccountRatio\", data=params\n )\n\n async def futures_taker_longshort_ratio(self, **params):\n return await self._request_futures_data_api(\n \"get\", \"takerlongshortRatio\", data=params\n )\n\n async def futures_ticker(self, **params):\n return await self._request_futures_api(\"get\", \"ticker/24hr\", data=params)\n\n async def futures_symbol_ticker(self, **params):\n return await self._request_futures_api(\"get\", \"ticker/price\", data=params)\n\n async def futures_orderbook_ticker(self, **params):\n return await self._request_futures_api(\"get\", \"ticker/bookTicker\", data=params)\n\n async def futures_index_price_constituents(self, **params):\n return await self._request_futures_api(\"get\", \"constituents\", data=params)\n\n futures_index_price_constituents.__doc__ = (\n Client.futures_index_price_constituents.__doc__\n )\n\n async def futures_liquidation_orders(self, **params):\n return await self._request_futures_api(\n \"get\", \"forceOrders\", signed=True, data=params\n )\n\n async def futures_api_trading_status(self, **params):\n return await self._request_futures_api(\n \"get\", \"apiTradingStatus\", signed=True, data=params\n )\n\n async def futures_commission_rate(self, **params):\n return await self._request_futures_api(\n \"get\", \"commissionRate\", signed=True, data=params\n )\n\n async def futures_adl_quantile_estimate(self, **params):\n return await self._request_futures_api(\n \"get\", \"adlQuantile\", signed=True, data=params\n )\n\n async def futures_open_interest(self, **params):\n return await self._request_futures_api(\"get\", \"openInterest\", data=params)\n\n async def futures_index_info(self, **params):\n return await self._request_futures_api(\"get\", \"indexInfo\", data=params)\n\n async def futures_open_interest_hist(self, **params):\n return await self._request_futures_data_api(\n \"get\", \"openInterestHist\", data=params\n )\n\n async def futures_leverage_bracket(self, **params):\n return await self._request_futures_api(\n \"get\", \"leverageBracket\", True, data=params\n )\n\n async def futures_account_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"futures/transfer\", True, data=params\n )\n\n async def transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"futures/transfer\", True, data=params\n )\n\n async def futures_loan_borrow_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"futures/loan/borrow/history\", True, data=params\n )\n\n async def futures_loan_repay_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"futures/loan/repay/history\", True, data=params\n )\n\n async def futures_loan_wallet(self, **params):\n return await self._request_margin_api(\n \"get\", \"futures/loan/wallet\", True, data=params, version=2\n )\n\n async def futures_cross_collateral_adjust_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"futures/loan/adjustCollateral/history\", True, data=params\n )\n\n async def futures_cross_collateral_liquidation_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"futures/loan/liquidationHistory\", True, data=params\n )\n\n async def futures_loan_interest_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"futures/loan/interestHistory\", True, data=params\n )\n\n async def futures_create_order(self, **params):\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_futures_api(\"post\", \"order\", True, data=params)\n\n async def futures_limit_order(self, **params):\n \"\"\"Send in a new futures limit order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"type\"] = \"LIMIT\"\n return await self._request_futures_api(\"post\", \"order\", True, data=params)\n\n async def futures_market_order(self, **params):\n \"\"\"Send in a new futures market order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"type\"] = \"MARKET\"\n return await self._request_futures_api(\"post\", \"order\", True, data=params)\n\n\n async def futures_limit_buy_order(self, **params):\n \"\"\"Send in a new futures limit buy order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"BUY\"\n params[\"type\"] = \"LIMIT\"\n return await self._request_futures_api(\"post\", \"order\", True, data=params)\n\n async def futures_limit_sell_order(self, **params):\n \"\"\"Send in a new futures limit sell order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"SELL\"\n params[\"type\"] = \"LIMIT\"\n return await self._request_futures_api(\"post\", \"order\", True, data=params)\n\n async def futures_market_buy_order(self, **params):\n \"\"\"Send in a new futures market buy order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"BUY\"\n params[\"type\"] = \"MARKET\"\n return await self._request_futures_api(\"post\", \"order\", True, data=params)\n\n async def futures_market_sell_order(self, **params):\n \"\"\"Send in a new futures market sell order.\n\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n params[\"side\"] = \"SELL\"\n params[\"type\"] = \"MARKET\"\n return await self._request_futures_api(\"post\", \"order\", True, data=params)\n\n async def futures_modify_order(self, **params):\n \"\"\"Modify an existing order. Currently only LIMIT order modification is supported.\n\n https://binance-docs.github.io/apidocs/futures/en/#modify-order-trade\n\n \"\"\"\n return await self._request_futures_api(\"put\", \"order\", True, data=params)\n\n async def futures_create_test_order(self, **params):\n return await self._request_futures_api(\"post\", \"order/test\", True, data=params)\n\n async def futures_place_batch_order(self, **params):\n for order in params[\"batchOrders\"]:\n if \"newClientOrderId\" not in order:\n order[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n order = self._order_params(order)\n query_string = urlencode(params).replace(\"%40\", \"@\").replace(\"%27\", \"%22\")\n params[\"batchOrders\"] = query_string[12:]\n\n return await self._request_futures_api(\n \"post\", \"batchOrders\", True, data=params, force_params=True\n )\n\n async def futures_get_order(self, **params):\n return await self._request_futures_api(\"get\", \"order\", True, data=params)\n\n async def futures_get_open_orders(self, **params):\n return await self._request_futures_api(\"get\", \"openOrders\", True, data=params)\n\n async def futures_get_all_orders(self, **params):\n return await self._request_futures_api(\"get\", \"allOrders\", True, data=params)\n\n async def futures_cancel_order(self, **params):\n return await self._request_futures_api(\"delete\", \"order\", True, data=params)\n\n async def futures_cancel_all_open_orders(self, **params):\n return await self._request_futures_api(\n \"delete\", \"allOpenOrders\", True, data=params\n )\n\n async def futures_cancel_orders(self, **params):\n if params.get(\"orderidlist\"):\n params[\"orderidlist\"] = quote(\n convert_list_to_json_array(params[\"orderidlist\"])\n )\n if params.get(\"origclientorderidlist\"):\n params[\"origclientorderidlist\"] = quote(\n convert_list_to_json_array(params[\"origclientorderidlist\"])\n )\n return await self._request_futures_api(\n \"delete\", \"batchOrders\", True, data=params, force_params=True\n )\n\n async def futures_countdown_cancel_all(self, **params):\n return await self._request_futures_api(\n \"post\", \"countdownCancelAll\", True, data=params\n )\n\n async def futures_account_balance(self, **params):\n return await self._request_futures_api(\n \"get\", \"balance\", True, version=3, data=params\n )\n\n async def futures_account(self, **params):\n return await self._request_futures_api(\n \"get\", \"account\", True, version=2, data=params\n )\n\n async def futures_change_leverage(self, **params):\n return await self._request_futures_api(\"post\", \"leverage\", True, data=params)\n\n async def futures_change_margin_type(self, **params):\n return await self._request_futures_api(\"post\", \"marginType\", True, data=params)\n\n async def futures_change_position_margin(self, **params):\n return await self._request_futures_api(\n \"post\", \"positionMargin\", True, data=params\n )\n\n async def futures_position_margin_history(self, **params):\n return await self._request_futures_api(\n \"get\", \"positionMargin/history\", True, data=params\n )\n\n async def futures_position_information(self, **params):\n return await self._request_futures_api(\n \"get\", \"positionRisk\", True, version=3, data=params\n )\n\n async def futures_account_trades(self, **params):\n return await self._request_futures_api(\"get\", \"userTrades\", True, data=params)\n\n async def futures_income_history(self, **params):\n return await self._request_futures_api(\"get\", \"income\", True, data=params)\n\n async def futures_change_position_mode(self, **params):\n return await self._request_futures_api(\n \"post\", \"positionSide/dual\", True, data=params\n )\n\n async def futures_get_position_mode(self, **params):\n return await self._request_futures_api(\n \"get\", \"positionSide/dual\", True, data=params\n )\n\n async def futures_change_multi_assets_mode(self, multiAssetsMargin: bool):\n params = {\"multiAssetsMargin\": \"true\" if multiAssetsMargin else \"false\"}\n return await self._request_futures_api(\n \"post\", \"multiAssetsMargin\", True, data=params\n )\n\n async def futures_get_multi_assets_mode(self):\n return await self._request_futures_api(\n \"get\", \"multiAssetsMargin\", True, data={}\n )\n\n async def futures_stream_get_listen_key(self):\n res = await self._request_futures_api(\n \"post\", \"listenKey\", signed=False, data={}\n )\n return res[\"listenKey\"]\n\n async def futures_stream_keepalive(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_futures_api(\n \"put\", \"listenKey\", signed=False, data=params\n )\n\n async def futures_stream_close(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_futures_api(\n \"delete\", \"listenKey\", signed=False, data=params\n )\n\n # new methods\n async def futures_account_config(self, **params):\n return await self._request_futures_api(\n \"get\", \"accountConfig\", signed=True, version=1, data=params\n )\n\n async def futures_symbol_config(self, **params):\n return await self._request_futures_api(\n \"get\", \"symbolConfig\", signed=True, version=1, data=params\n )\n\n # COIN Futures API\n\n async def futures_coin_ping(self):\n return await self._request_futures_coin_api(\"get\", \"ping\")\n\n async def futures_coin_time(self):\n return await self._request_futures_coin_api(\"get\", \"time\")\n\n async def futures_coin_exchange_info(self):\n return await self._request_futures_coin_api(\"get\", \"exchangeInfo\")\n\n async def futures_coin_order_book(self, **params):\n return await self._request_futures_coin_api(\"get\", \"depth\", data=params)\n\n async def futures_coin_recent_trades(self, **params):\n return await self._request_futures_coin_api(\"get\", \"trades\", data=params)\n\n async def futures_coin_historical_trades(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"historicalTrades\", data=params\n )\n\n async def futures_coin_aggregate_trades(self, **params):\n return await self._request_futures_coin_api(\"get\", \"aggTrades\", data=params)\n\n async def futures_coin_klines(self, **params):\n return await self._request_futures_coin_api(\"get\", \"klines\", data=params)\n\n async def futures_coin_continous_klines(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"continuousKlines\", data=params\n )\n\n async def futures_coin_index_price_klines(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"indexPriceKlines\", data=params\n )\n\n async def futures_coin_mark_price_klines(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"markPriceKlines\", data=params\n )\n\n futures_coin_mark_price_klines.__doc__ = Client.futures_mark_price_klines.__doc__\n\n async def futures_coin_premium_index_klines(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"premiumIndexKlines\", data=params\n )\n\n futures_coin_premium_index_klines.__doc__ = (\n Client.futures_premium_index_klines.__doc__\n )\n\n async def futures_coin_mark_price(self, **params):\n return await self._request_futures_coin_api(\"get\", \"premiumIndex\", data=params)\n\n async def futures_coin_funding_rate(self, **params):\n return await self._request_futures_coin_api(\"get\", \"fundingRate\", data=params)\n\n async def futures_coin_ticker(self, **params):\n return await self._request_futures_coin_api(\"get\", \"ticker/24hr\", data=params)\n\n async def futures_coin_symbol_ticker(self, **params):\n return await self._request_futures_coin_api(\"get\", \"ticker/price\", data=params)\n\n async def futures_coin_orderbook_ticker(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"ticker/bookTicker\", data=params\n )\n\n async def futures_coin_index_price_constituents(self, **params):\n return await self._request_futures_coin_api(\"get\", \"constituents\", data=params)\n\n futures_coin_index_price_constituents.__doc__ = (\n Client.futures_coin_index_price_constituents.__doc__\n )\n\n async def futures_coin_liquidation_orders(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"forceOrders\", signed=True, data=params\n )\n\n async def futures_coin_open_interest(self, **params):\n return await self._request_futures_coin_api(\"get\", \"openInterest\", data=params)\n\n async def futures_coin_open_interest_hist(self, **params):\n return await self._request_futures_coin_data_api(\n \"get\", \"openInterestHist\", data=params\n )\n\n async def futures_coin_leverage_bracket(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"leverageBracket\", version=2, signed=True, data=params\n )\n\n async def new_transfer_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"asset/transfer\", True, data=params\n )\n\n async def funding_wallet(self, **params):\n return await self._request_margin_api(\n \"post\", \"asset/get-funding-asset\", True, data=params\n )\n\n async def get_user_asset(self, **params):\n return await self._request_margin_api(\n \"post\", \"asset/getUserAsset\", True, data=params, version=3\n )\n\n async def universal_transfer(self, **params):\n return await self._request_margin_api(\n \"post\", \"asset/transfer\", signed=True, data=params\n )\n\n async def futures_coin_create_order(self, **params):\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_futures_coin_api(\"post\", \"order\", True, data=params)\n\n async def futures_coin_place_batch_order(self, **params):\n for order in params[\"batchOrders\"]:\n if \"newClientOrderId\" not in order:\n order[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n query_string = urlencode(params)\n query_string = query_string.replace(\"%27\", \"%22\")\n params[\"batchOrders\"] = query_string[12:]\n\n return await self._request_futures_coin_api(\n \"post\", \"batchOrders\", True, data=params\n )\n\n async def futures_coin_get_order(self, **params):\n return await self._request_futures_coin_api(\"get\", \"order\", True, data=params)\n\n async def futures_coin_get_open_orders(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"openOrders\", True, data=params\n )\n\n async def futures_coin_get_all_orders(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"allOrders\", signed=True, data=params\n )\n\n async def futures_coin_cancel_order(self, **params):\n return await self._request_futures_coin_api(\n \"delete\", \"order\", signed=True, data=params\n )\n\n async def futures_coin_cancel_all_open_orders(self, **params):\n return await self._request_futures_coin_api(\n \"delete\", \"allOpenOrders\", signed=True, data=params, force_params=True\n )\n\n async def futures_coin_cancel_orders(self, **params):\n if params.get(\"orderidlist\"):\n params[\"orderidlist\"] = quote(\n convert_list_to_json_array(params[\"orderidlist\"])\n )\n if params.get(\"origclientorderidlist\"):\n params[\"origclientorderidlist\"] = quote(\n convert_list_to_json_array(params[\"origclientorderidlist\"])\n )\n return await self._request_futures_coin_api(\n \"delete\", \"batchOrders\", True, data=params\n )\n\n async def futures_coin_account_balance(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"balance\", signed=True, data=params\n )\n\n async def futures_coin_account(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"account\", signed=True, data=params\n )\n\n async def futures_coin_change_leverage(self, **params):\n return await self._request_futures_coin_api(\n \"post\", \"leverage\", signed=True, data=params\n )\n\n async def futures_coin_change_margin_type(self, **params):\n return await self._request_futures_coin_api(\n \"post\", \"marginType\", signed=True, data=params\n )\n\n async def futures_coin_change_position_margin(self, **params):\n return await self._request_futures_coin_api(\n \"post\", \"positionMargin\", True, data=params\n )\n\n async def futures_coin_position_margin_history(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"positionMargin/history\", True, data=params\n )\n\n async def futures_coin_position_information(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"positionRisk\", True, data=params\n )\n\n async def futures_coin_account_trades(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"userTrades\", True, data=params\n )\n\n async def futures_coin_income_history(self, **params):\n return await self._request_futures_coin_api(\"get\", \"income\", True, data=params)\n\n async def futures_coin_change_position_mode(self, **params):\n return await self._request_futures_coin_api(\n \"post\", \"positionSide/dual\", True, data=params\n )\n\n async def futures_coin_get_position_mode(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"positionSide/dual\", True, data=params\n )\n\n async def futures_coin_stream_get_listen_key(self):\n res = await self._request_futures_coin_api(\n \"post\", \"listenKey\", signed=False, data={}\n )\n return res[\"listenKey\"]\n\n async def futures_coin_stream_keepalive(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_futures_coin_api(\n \"put\", \"listenKey\", signed=False, data=params\n )\n\n async def futures_coin_account_order_history_download(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"order/asyn\", True, data=params\n )\n\n futures_coin_account_order_history_download.__doc__ = (\n Client.futures_coin_account_order_history_download.__doc__\n )\n\n async def futures_coin_account_order_history_download_link(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"order/asyn/id\", True, data=params\n )\n\n futures_coin_account_order_history_download_link.__doc__ = (\n Client.futures_coin_accout_order_history_download_link.__doc__\n )\n\n async def futures_coin_account_trade_history_download(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"trade/asyn\", True, data=params\n )\n\n futures_coin_account_trade_history_download.__doc__ = (\n Client.futures_coin_account_trade_history_download.__doc__\n )\n\n async def futures_coin_account_trade_history_download_link(self, **params):\n return await self._request_futures_coin_api(\n \"get\", \"trade/asyn/id\", True, data=params\n )\n\n futures_coin_account_trade_history_download_link.__doc__ = (\n Client.futures_coin_account_trade_history_download_link.__doc__\n )\n\n async def futures_coin_stream_close(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_futures_coin_api(\n \"delete\", \"listenKey\", signed=False, data=params\n )\n\n async def get_all_coins_info(self, **params):\n return await self._request_margin_api(\n \"get\", \"capital/config/getall\", True, data=params\n )\n\n async def get_account_snapshot(self, **params):\n return await self._request_margin_api(\n \"get\", \"accountSnapshot\", True, data=params\n )\n\n async def disable_fast_withdraw_switch(self, **params):\n return await self._request_margin_api(\n \"post\", \"disableFastWithdrawSwitch\", True, data=params\n )\n\n async def enable_fast_withdraw_switch(self, **params):\n return await self._request_margin_api(\n \"post\", \"enableFastWithdrawSwitch\", True, data=params\n )\n\n \"\"\"\n ====================================================================================================================\n Options API\n ====================================================================================================================\n \"\"\"\n\n # Quoting interface endpoints\n\n async def options_ping(self):\n return await self._request_options_api(\"get\", \"ping\")\n\n async def options_time(self):\n return await self._request_options_api(\"get\", \"time\")\n\n async def options_info(self):\n return await self._request_options_api(\"get\", \"optionInfo\")\n\n async def options_exchange_info(self):\n return await self._request_options_api(\"get\", \"exchangeInfo\")\n\n async def options_index_price(self, **params):\n return await self._request_options_api(\"get\", \"index\", data=params)\n\n async def options_price(self, **params):\n return await self._request_options_api(\"get\", \"ticker\", data=params)\n\n async def options_mark_price(self, **params):\n return await self._request_options_api(\"get\", \"mark\", data=params)\n\n async def options_order_book(self, **params):\n return await self._request_options_api(\"get\", \"depth\", data=params)\n\n async def options_klines(self, **params):\n return await self._request_options_api(\"get\", \"klines\", data=params)\n\n async def options_recent_trades(self, **params):\n return await self._request_options_api(\"get\", \"trades\", data=params)\n\n async def options_historical_trades(self, **params):\n return await self._request_options_api(\"get\", \"historicalTrades\", data=params)\n\n # Account and trading interface endpoints\n\n async def options_account_info(self, **params):\n return await self._request_options_api(\n \"get\", \"account\", signed=True, data=params\n )\n\n async def options_funds_transfer(self, **params):\n return await self._request_options_api(\n \"post\", \"transfer\", signed=True, data=params\n )\n\n async def options_positions(self, **params):\n return await self._request_options_api(\n \"get\", \"position\", signed=True, data=params\n )\n\n async def options_bill(self, **params):\n return await self._request_options_api(\"post\", \"bill\", signed=True, data=params)\n\n async def options_place_order(self, **params):\n if \"clientOrderId\" not in params:\n params[\"clientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_options_api(\n \"post\", \"order\", signed=True, data=params\n )\n\n async def options_place_batch_order(self, **params):\n for order in params[\"batchOrders\"]:\n if \"newClientOrderId\" not in order:\n order[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_options_api(\n \"post\", \"batchOrders\", signed=True, data=params\n )\n\n async def options_cancel_order(self, **params):\n return await self._request_options_api(\n \"delete\", \"order\", signed=True, data=params\n )\n\n async def options_cancel_batch_order(self, **params):\n return await self._request_options_api(\n \"delete\", \"batchOrders\", signed=True, data=params\n )\n\n async def options_cancel_all_orders(self, **params):\n return await self._request_options_api(\n \"delete\", \"allOpenOrders\", signed=True, data=params\n )\n\n async def options_query_order(self, **params):\n return await self._request_options_api(\"get\", \"order\", signed=True, data=params)\n\n async def options_query_pending_orders(self, **params):\n return await self._request_options_api(\n \"get\", \"openOrders\", signed=True, data=params\n )\n\n async def options_query_order_history(self, **params):\n return await self._request_options_api(\n \"get\", \"historyOrders\", signed=True, data=params\n )\n\n async def options_user_trades(self, **params):\n return await self._request_options_api(\n \"get\", \"userTrades\", signed=True, data=params\n )\n\n # Fiat Endpoints\n\n async def get_fiat_deposit_withdraw_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"fiat/orders\", signed=True, data=params\n )\n\n async def get_fiat_payments_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"fiat/payments\", signed=True, data=params\n )\n\n # C2C Endpoints\n\n async def get_c2c_trade_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"c2c/orderMatch/listUserOrderHistory\", signed=True, data=params\n )\n\n # Pay Endpoints\n\n async def get_pay_trade_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"pay/transactions\", signed=True, data=params\n )\n\n get_pay_trade_history.__doc__ = Client.get_pay_trade_history.__doc__\n\n # Convert Endpoints\n\n async def get_convert_trade_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"convert/tradeFlow\", signed=True, data=params\n )\n\n get_convert_trade_history.__doc__ = Client.get_convert_trade_history.__doc__\n\n async def convert_request_quote(self, **params):\n return await self._request_margin_api(\n \"post\", \"convert/getQuote\", signed=True, data=params\n )\n\n convert_request_quote.__doc__ = Client.convert_request_quote.__doc__\n\n async def convert_accept_quote(self, **params):\n return await self._request_margin_api(\n \"post\", \"convert/acceptQuote\", signed=True, data=params\n )\n\n convert_accept_quote.__doc__ = Client.convert_accept_quote.__doc__\n\n \"\"\"\n ====================================================================================================================\n PortfolioMargin API\n ====================================================================================================================\n \"\"\"\n\n async def papi_stream_get_listen_key(self):\n res = await self._request_papi_api(\"post\", \"listenKey\", signed=False, data={})\n return res[\"listenKey\"]\n\n papi_stream_get_listen_key.__doc__ = Client.papi_stream_get_listen_key.__doc__\n\n async def papi_stream_keepalive(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_papi_api(\n \"put\", \"listenKey\", signed=False, data=params\n )\n\n papi_stream_keepalive.__doc__ = Client.papi_stream_keepalive.__doc__\n\n async def papi_stream_close(self, listenKey):\n params = {\"listenKey\": listenKey}\n return await self._request_papi_api(\n \"delete\", \"listenKey\", signed=False, data=params\n )\n\n papi_stream_close.__doc__ = Client.papi_stream_close.__doc__\n\n async def papi_get_balance(self, **params):\n return await self._request_papi_api(\"get\", \"balance\", signed=True, data=params)\n papi_get_balance.__doc__ = Client.papi_get_balance.__doc__\n\n async def papi_get_rate_limit(self, **params):\n return await self._request_papi_api(\"get\", \"rateLimit/order\", signed=True, data=params)\n papi_get_rate_limit.__doc__ = Client.papi_get_rate_limit.__doc__\n\n async def papi_get_account(self, **params):\n return await self._request_papi_api(\"get\", \"account\", signed=True, data=params)\n\n async def papi_get_margin_max_borrowable(self, **params):\n return await self._request_papi_api(\n \"get\", \"margin/maxBorrowable\", signed=True, data=params\n )\n\n async def papi_get_margin_max_withdraw(self, **params):\n return await self._request_papi_api(\n \"get\", \"margin/maxWithdraw\", signed=True, data=params\n )\n\n async def papi_get_um_position_risk(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/positionRisk\", signed=True, data=params\n )\n\n async def papi_get_cm_position_risk(self, **params):\n return await self._request_papi_api(\n \"get\", \"cm/positionRisk\", signed=True, data=params\n )\n\n async def papi_set_um_leverage(self, **params):\n return await self._request_papi_api(\n \"post\", \"um/leverage\", signed=True, data=params\n )\n\n async def papi_set_cm_leverage(self, **params):\n return await self._request_papi_api(\n \"post\", \"cm/leverage\", signed=True, data=params\n )\n\n async def papi_change_um_position_side_dual(self, **params):\n return await self._request_papi_api(\n \"post\", \"um/positionSide/dual\", signed=True, data=params\n )\n\n async def papi_get_um_position_side_dual(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/positionSide/dual\", signed=True, data=params\n )\n\n async def papi_get_cm_position_side_dual(self, **params):\n return await self._request_papi_api(\n \"get\", \"cm/positionSide/dual\", signed=True, data=params\n )\n\n async def papi_get_um_leverage_bracket(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/leverageBracket\", signed=True, data=params\n )\n\n async def papi_get_cm_leverage_bracket(self, **params):\n return await self._request_papi_api(\n \"get\", \"cm/leverageBracket\", signed=True, data=params\n )\n\n async def papi_get_um_api_trading_status(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/apiTradingStatus\", signed=True, data=params\n )\n\n async def papi_get_um_comission_rate(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/commissionRate\", signed=True, data=params\n )\n\n async def papi_get_cm_comission_rate(self, **params):\n return await self._request_papi_api(\n \"get\", \"cm/commissionRate\", signed=True, data=params\n )\n\n async def papi_get_margin_margin_loan(self, **params):\n return await self._request_papi_api(\n \"get\", \"margin/marginLoan\", signed=True, data=params\n )\n\n async def papi_get_margin_repay_loan(self, **params):\n return await self._request_papi_api(\n \"get\", \"margin/repayLoan\", signed=True, data=params\n )\n\n async def papi_get_repay_futures_switch(self, **params):\n return await self._request_papi_api(\n \"get\", \"repay-futures-switch\", signed=True, data=params\n )\n\n async def papi_repay_futures_switch(self, **params):\n return await self._request_papi_api(\n \"post\", \"repay-futures-switch\", signed=True, data=params\n )\n\n async def papi_get_margin_interest_history(self, **params):\n return await self._request_papi_api(\n \"get\", \"margin/marginInterestHistory\", signed=True, data=params\n )\n\n async def papi_repay_futures_negative_balance(self, **params):\n return await self._request_papi_api(\n \"post\", \"repay-futures-negative-balance\", signed=True, data=params\n )\n\n async def papi_get_portfolio_interest_history(self, **params):\n return await self._request_papi_api(\n \"get\", \"portfolio/interest-history\", signed=True, data=params\n )\n\n\n async def papi_get_portfolio_negative_balance_exchange_record(self, **params):\n return await self._request_papi_api(\n \"get\", \"portfolio/negative-balance-exchange-record\", signed=True, data=params\n )\n papi_get_portfolio_negative_balance_exchange_record.__doc__ = Client.papi_get_portfolio_negative_balance_exchange_record.__doc__\n\n async def papi_fund_auto_collection(self, **params):\n return await self._request_papi_api(\n \"post\", \"auto-collection\", signed=True, data=params\n )\n\n async def papi_fund_asset_collection(self, **params):\n return await self._request_papi_api(\n \"post\", \"asset-collection\", signed=True, data=params\n )\n\n async def papi_bnb_transfer(self, **params):\n return await self._request_papi_api(\n \"post\", \"bnb-transfer\", signed=True, data=params\n )\n\n async def papi_get_um_income_history(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/income\", signed=True, data=params\n )\n\n async def papi_get_cm_income_history(self, **params):\n return await self._request_papi_api(\n \"get\", \"cm/income\", signed=True, data=params\n )\n\n async def papi_get_um_account(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/account\", signed=True, data=params\n )\n\n async def papi_get_um_account_v2(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/account\", version=2, signed=True, data=params\n )\n\n async def papi_get_cm_account(self, **params):\n return await self._request_papi_api(\n \"get\", \"cm/account\", signed=True, data=params\n )\n\n async def papi_get_um_account_config(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/accountConfig\", signed=True, data=params\n )\n\n async def papi_get_um_symbol_config(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/symbolConfig\", signed=True, data=params\n )\n\n async def papi_get_um_trade_asyn(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/trade/asyn\", signed=True, data=params\n )\n\n async def papi_get_um_trade_asyn_id(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/trade/asyn/id\", signed=True, data=params\n )\n\n async def papi_get_um_order_asyn(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/order/asyn\", signed=True, data=params\n )\n\n async def papi_get_um_order_asyn_id(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/order/asyn/id\", signed=True, data=params\n )\n\n async def papi_get_um_income_asyn(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/income/asyn\", signed=True, data=params\n )\n\n async def papi_get_um_income_asyn_id(self, **params):\n return await self._request_papi_api(\n \"get\", \"um/income/asyn/id\", signed=True, data=params\n )\n\n async def papi_ping(self, **params):\n return await self._request_papi_api(\"get\", \"ping\", signed=False, data=params)\n\n # papi trading endpoints\n\n async def papi_create_um_order(self, **params):\n \"\"\"Place new UM order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_papi_api(\n \"post\", \"um/order\", signed=True, data=params\n )\n\n async def papi_create_um_conditional_order(self, **params):\n \"\"\"Place new UM Conditional order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_papi_api(\n \"post\", \"um/conditional/order\", signed=True, data=params\n )\n\n async def papi_create_cm_order(self, **params):\n \"\"\"Place new CM order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_papi_api(\n \"post\", \"cm/order\", signed=True, data=params\n )\n\n async def papi_create_cm_conditional_order(self, **params):\n \"\"\"Place new CM Conditional order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_papi_api(\n \"post\", \"cm/conditional/order\", signed=True, data=params\n )\n\n async def papi_create_margin_order(self, **params):\n \"\"\"New Margin Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-Margin-Order\n\n :returns: API response\n\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._request_papi_api(\n \"post\", \"margin/order\", signed=True, data=params\n )\n\n async def papi_margin_loan(self, **params):\n \"\"\"Apply for a margin loan.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Borrow\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"post\", \"marginLoan\", signed=True, data=params\n )\n\n async def papi_repay_loan(self, **params):\n \"\"\"Repay for a margin loan.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"post\", \"repayLoan\", signed=True, data=params\n )\n\n async def papi_margin_order_oco(self, **params):\n \"\"\"Send in a new OCO for a margin account.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-New-OCO\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"post\", \"margin/order/oco\", signed=True, data=params\n )\n\n async def papi_cancel_um_order(self, **params):\n \"\"\"Cancel an active UM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"um/order\", signed=True, data=params\n )\n\n async def papi_cancel_um_all_open_orders(self, **params):\n \"\"\"Cancel an active UM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"um/allOpenOrders\", signed=True, data=params\n )\n\n async def papi_cancel_um_conditional_order(self, **params):\n \"\"\"Cancel UM Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"um/conditional/order\", signed=True, data=params\n )\n\n async def papi_cancel_um_conditional_all_open_orders(self, **params):\n \"\"\"Cancel All UM Open Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"um/conditional/allOpenOrders\", signed=True, data=params\n )\n\n async def papi_cancel_cm_order(self, **params):\n \"\"\"Cancel an active CM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"cm/order\", signed=True, data=params\n )\n\n async def papi_cancel_cm_all_open_orders(self, **params):\n \"\"\"Cancel an active CM LIMIT order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"cm/allOpenOrders\", signed=True, data=params\n )\n\n async def papi_cancel_cm_conditional_order(self, **params):\n \"\"\"Cancel CM Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"cm/conditional/order\", signed=True, data=params\n )\n\n async def papi_cancel_cm_conditional_all_open_orders(self, **params):\n \"\"\"Cancel All CM Open Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"cm/conditional/allOpenOrders\", signed=True, data=params\n )\n\n async def papi_cancel_margin_order(self, **params):\n \"\"\"Cancel Margin Account Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"margin/order\", signed=True, data=params\n )\n\n async def papi_cancel_margin_order_list(self, **params):\n \"\"\"Cancel Margin Account OCO Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-OCO-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"margin/orderList\", signed=True, data=params\n )\n\n async def papi_cancel_margin_all_open_orders(self, **params):\n \"\"\"Cancel Margin Account All Open Orders on a Symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-All-Open-Orders-on-a-Symbol\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"delete\", \"margin/allOpenOrders\", signed=True, data=params\n )\n\n async def papi_modify_um_order(self, **params):\n \"\"\"Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-UM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\"put\", \"um/order\", signed=True, data=params)\n\n async def papi_modify_cm_order(self, **params):\n \"\"\"Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-CM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\"put\", \"cm/order\", signed=True, data=params)\n\n async def papi_get_um_order(self, **params):\n \"\"\"Check an UM order's status.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\"get\", \"um/order\", signed=True, data=params)\n\n async def papi_get_um_all_orders(self, **params):\n \"\"\"Get all account UM orders; active, canceled, or filled.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/allOrders\", signed=True, data=params\n )\n\n async def papi_get_um_open_order(self, **params):\n \"\"\"Query current UM open order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/openOrder\", signed=True, data=params\n )\n\n async def papi_get_um_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/openOrders\", signed=True, data=params\n )\n\n async def papi_get_um_conditional_all_orders(self, **params):\n \"\"\"Query All UM Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/conditional/allOrders\", signed=True, data=params\n )\n\n async def papi_get_um_conditional_open_orders(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/conditional/openOrders\", signed=True, data=params\n )\n\n async def papi_get_um_conditional_open_order(self, **params):\n \"\"\"Query Current UM Open Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/conditional/openOrder\", signed=True, data=params\n )\n\n async def papi_get_um_conditional_order_history(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Conditional-Order-History\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/conditional/orderHistory\", signed=True, data=params\n )\n\n async def papi_get_cm_order(self, **params):\n \"\"\"Check an CM order's status.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\"get\", \"cm/order\", signed=True, data=params)\n\n async def papi_get_cm_all_orders(self, **params):\n \"\"\"Get all account CM orders; active, canceled, or filled.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/allOrders\", signed=True, data=params\n )\n\n async def papi_get_cm_open_order(self, **params):\n \"\"\"Query current CM open order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/openOrder\", signed=True, data=params\n )\n\n async def papi_get_cm_open_orders(self, **params):\n \"\"\"Get all open orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/openOrders\", signed=True, data=params\n )\n\n async def papi_get_cm_conditional_all_orders(self, **params):\n \"\"\"Query All CM Conditional Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/conditional/allOrders\", signed=True, data=params\n )\n\n async def papi_get_cm_conditional_open_orders(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Conditional-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/conditional/openOrders\", signed=True, data=params\n )\n\n async def papi_get_cm_conditional_open_order(self, **params):\n \"\"\"Query Current UM Open Conditional Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Conditional-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/conditional/openOrder\", signed=True, data=params\n )\n\n async def papi_get_cm_conditional_order_history(self, **params):\n \"\"\"Get all open conditional orders on a symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Conditional-Order-History\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/conditional/orderHistory\", signed=True, data=params\n )\n\n async def papi_get_um_force_orders(self, **params):\n \"\"\"Query User's UM Force Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-UM-Force-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/forceOrders\", signed=True, data=params\n )\n\n async def papi_get_cm_force_orders(self, **params):\n \"\"\"Query User's CM Force Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-CM-Force-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/forceOrders\", signed=True, data=params\n )\n\n async def papi_get_um_order_amendment(self, **params):\n \"\"\"Get order modification history.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Modify-Order-History\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/orderAmendment\", signed=True, data=params\n )\n\n async def papi_get_cm_order_amendment(self, **params):\n \"\"\"Get order modification history.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Modify-Order-History\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/orderAmendment\", signed=True, data=params\n )\n\n async def papi_get_margin_force_orders(self, **params):\n \"\"\"Query user's margin force orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-Margin-Force-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/forceOrders\", signed=True, data=params\n )\n\n async def papi_get_um_user_trades(self, **params):\n \"\"\"Get trades for a specific account and UM symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Account-Trade-List\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/userTrades\", signed=True, data=params\n )\n\n async def papi_get_cm_user_trades(self, **params):\n \"\"\"Get trades for a specific account and CM symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Account-Trade-List\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/userTrades\", signed=True, data=params\n )\n\n async def papi_get_um_adl_quantile(self, **params):\n \"\"\"Query UM Position ADL Quantile Estimation.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Position-ADL-Quantile-Estimation\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/adlQuantile\", signed=True, data=params\n )\n\n async def papi_get_cm_adl_quantile(self, **params):\n \"\"\"Query CM Position ADL Quantile Estimation.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Position-ADL-Quantile-Estimation\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"cm/adlQuantile\", signed=True, data=params\n )\n\n async def papi_set_um_fee_burn(self, **params):\n \"\"\"Change user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off ) on EVERY symbol.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Toggle-BNB-Burn-On-UM-Futures-Trade\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"post\", \"um/feeBurn\", signed=True, data=params\n )\n\n async def papi_get_um_fee_burn(self, **params):\n \"\"\"Get user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off).\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Get-UM-Futures-BNB-Burn-Status\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"um/feeBurn\", signed=True, data=params\n )\n\n async def papi_get_margin_order(self, **params):\n \"\"\"Query Margin Account Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/order\", signed=True, data=params\n )\n\n async def papi_get_margin_open_orders(self, **params):\n \"\"\"Query Current Margin Open Order.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Order\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/openOrders\", signed=True, data=params\n )\n\n async def papi_get_margin_all_orders(self, **params):\n \"\"\"Query All Margin Account Orders.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Margin-Account-Orders\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/allOrders\", signed=True, data=params\n )\n\n async def papi_get_margin_order_list(self, **params):\n \"\"\"Retrieves a specific OCO based on provided optional parameters.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-OCO\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/orderList\", signed=True, data=params\n )\n\n async def papi_get_margin_all_order_list(self, **params):\n \"\"\"Query all OCO for a specific margin account based on provided optional parameters.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-all-OCO\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/allOrderList\", signed=True, data=params\n )\n\n async def papi_get_margin_open_order_list(self, **params):\n \"\"\"Query Margin Account's Open OCO.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Open-OCO\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/openOrderList\", signed=True, data=params\n )\n\n async def papi_get_margin_my_trades(self, **params):\n \"\"\"Margin Account Trade List.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Trade-List\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"get\", \"margin/myTrades\", signed=True, data=params\n )\n\n async def papi_get_margin_repay_debt(self, **params):\n \"\"\"Repay debt for a margin loan.\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Trade-List\n\n :returns: API response\n\n \"\"\"\n return await self._request_papi_api(\n \"post\", \"margin/repay-debt\", signed=True, data=params\n )\n\n async def create_oco_order(self, **params):\n if \"listClientOrderId\" not in params:\n params[\"listClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return await self._post(\"orderList/oco\", True, data=params)\n\n ############################################################\n # WebSocket API methods\n ############################################################\n\n async def ws_create_test_order(self, **params):\n \"\"\"Test new order creation and signature/recvWindow long. Creates and validates a new order but does not send it into the matching engine.\n https://binance-docs.github.io/apidocs/websocket_api/en/#test-new-order-trade\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param type: required\n :type type: str\n :param timeInForce: required if limit order\n :type timeInForce: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: The number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n .. code-block:: python\n {}\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n\n return await self._ws_api_request(\"order.test\", True, params)\n\n async def ws_create_order(self, **params):\n \"\"\"Create an order via WebSocket.\n https://binance-docs.github.io/apidocs/websocket_api/en/#place-new-order-trade\n :param id: The request ID to be used. By default uuid22() is used.\n :param symbol: The symbol to create an order for\n :param side: BUY or SELL\n :param type: Order type (e.g., LIMIT, MARKET)\n :param quantity: The amount to buy or sell\n :param kwargs: Additional order parameters\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n\n return await self._ws_api_request(\"order.place\", True, params)\n\n async def ws_order_limit(self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params):\n \"\"\"Send in a new limit order\n Any order with an icebergQty MUST have timeInForce set to GTC.\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\n \"type\": self.ORDER_TYPE_LIMIT,\n \"timeInForce\": timeInForce,\n })\n return await self.ws_create_order(**params)\n\n async def ws_order_limit_buy(\n self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params\n ):\n \"\"\"Send in a new limit buy order\n Any order with an icebergQty MUST have timeInForce set to GTC.\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param stopPrice: Used with stop orders\n :type stopPrice: decimal\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\n \"side\": self.SIDE_BUY,\n })\n return await self.ws_order_limit(timeInForce=timeInForce, **params)\n\n async def ws_order_limit_sell(\n self, timeInForce=BaseClient.TIME_IN_FORCE_GTC, **params\n ):\n \"\"\"Send in a new limit sell order\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param price: required\n :type price: str\n :param timeInForce: default Good till cancelled\n :type timeInForce: str\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param stopPrice: Used with stop orders\n :type stopPrice: decimal\n :param icebergQty: Used with iceberg orders\n :type icebergQty: decimal\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"side\": self.SIDE_SELL})\n return await self.ws_order_limit(timeInForce=timeInForce, **params)\n\n async def ws_order_market(self, **params):\n \"\"\"Send in a new market order\n :param symbol: required\n :type symbol: str\n :param side: required\n :type side: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: amount the user wants to spend (when buying) or receive (when selling)\n of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"type\": self.ORDER_TYPE_MARKET})\n return await self.ws_create_order(**params)\n\n async def ws_order_market_buy(self, **params):\n \"\"\"Send in a new market buy order\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: the amount the user wants to spend of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"side\": self.SIDE_BUY})\n return await self.ws_order_market(**params)\n\n async def ws_order_market_sell(self, **params):\n \"\"\"Send in a new market sell order\n :param symbol: required\n :type symbol: str\n :param quantity: required\n :type quantity: decimal\n :param quoteOrderQty: the amount the user wants to receive of the quote asset\n :type quoteOrderQty: decimal\n :param newClientOrderId: A unique id for the order. Automatically generated if not sent.\n :type newClientOrderId: str\n :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.\n :type newOrderRespType: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n :returns: WS response\n See order endpoint for full response options\n \"\"\"\n params.update({\"side\": self.SIDE_SELL})\n return await self.ws_order_market(**params)\n\n async def ws_get_order(self, **params):\n \"\"\"Check an order's status. Either orderId or origClientOrderId must be sent.\n https://binance-docs.github.io/apidocs/websocket_api/en/#query-order-user_data\n :param symbol: required\n :type symbol: str\n :param orderId: The unique order id\n :type orderId: int\n :param origClientOrderId: optional\n :type origClientOrderId: str\n :param recvWindow: the number of milliseconds the request is valid for\n :type recvWindow: int\n \"\"\"\n\n return await self._ws_api_request(\"order.status\", True, params)\n\n async def ws_cancel_order(self, **params):\n return await self._ws_api_request(\"order.cancel\", True, params)\n\n ws_cancel_order.__doc__ = Client.ws_cancel_order.__doc__\n\n async def cancel_all_open_orders(self, **params):\n return await self._delete(\"openOrders\", True, data=params)\n\n async def cancel_replace_order(self, **params):\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.SPOT_ORDER_PREFIX + self.uuid22()\n return await self._post(\"order/cancelReplace\", signed=True, data=params)\n\n cancel_replace_order.__doc__ = Client.cancel_replace_order.__doc__\n\n async def ws_cancel_and_replace_order(self, **params):\n return await self._ws_api_request(\"order.cancelReplace\", True, params)\n\n ws_cancel_and_replace_order.__doc__ = Client.ws_cancel_and_replace_order.__doc__\n\n async def ws_get_open_orders(self, **params):\n return await self._ws_api_request(\"openOrders.status\", True, params)\n\n ws_get_open_orders.__doc__ = Client.ws_get_open_orders.__doc__\n\n async def ws_cancel_all_open_orders(self, **params):\n return await self._ws_api_request(\"openOrders.cancelAll\", True, params)\n\n ws_cancel_all_open_orders.__doc__ = Client.ws_cancel_all_open_orders.__doc__\n\n async def ws_create_oco_order(self, **params):\n return await self._ws_api_request(\"orderList.place.oco\", True, params)\n\n ws_create_oco_order.__doc__ = Client.ws_create_oco_order.__doc__\n\n async def ws_create_oto_order(self, **params):\n return await self._ws_api_request(\"orderList.place.oto\", True, params)\n\n ws_create_oto_order.__doc__ = Client.ws_create_oto_order.__doc__\n\n async def ws_create_otoco_order(self, **params):\n return await self._ws_api_request(\"orderList.place.otoco\", True, params)\n\n ws_create_otoco_order.__doc__ = Client.ws_create_otoco_order.__doc__\n\n async def ws_get_oco_order(self, **params):\n return await self._ws_api_request(\"orderList.status\", True, params)\n\n ws_get_oco_order.__doc__ = Client.ws_get_oco_order.__doc__\n\n async def ws_cancel_oco_order(self, **params):\n return await self._ws_api_request(\"orderList.cancel\", True, params)\n\n ws_cancel_oco_order.__doc__ = Client.ws_cancel_oco_order.__doc__\n\n async def ws_get_oco_open_orders(self, **params):\n return await self._ws_api_request(\"openOrderLists.status\", True, params)\n\n ws_get_oco_open_orders.__doc__ = Client.ws_get_oco_open_orders.__doc__\n\n async def ws_create_sor_order(self, **params):\n return await self._ws_api_request(\"sor.order.place\", True, params)\n\n ws_create_sor_order.__doc__ = Client.ws_create_sor_order.__doc__\n\n async def ws_create_test_sor_order(self, **params):\n return await self._ws_api_request(\"sor.order.test\", True, params)\n\n ws_create_test_sor_order.__doc__ = Client.ws_create_test_sor_order.__doc__\n\n async def ws_get_account(self, **params):\n return await self._ws_api_request(\"account.status\", True, params)\n\n ws_get_account.__doc__ = Client.ws_get_account.__doc__\n\n async def ws_get_account_rate_limits_orders(self, **params):\n return await self._ws_api_request(\"account.rateLimits.orders\", True, params)\n\n ws_get_account_rate_limits_orders.__doc__ = Client.ws_get_account_rate_limits_orders.__doc__\n\n async def ws_get_all_orders(self, **params):\n return await self._ws_api_request(\"allOrders\", True, params)\n\n ws_get_all_orders.__doc__ = Client.ws_get_all_orders.__doc__\n\n async def ws_get_my_trades(self, **params):\n return await self._ws_api_request(\"myTrades\", True, params)\n\n ws_get_my_trades.__doc__ = Client.ws_get_my_trades.__doc__\n\n async def ws_get_prevented_matches(self, **params):\n return await self._ws_api_request(\"myPreventedMatches\", True, params)\n\n ws_get_prevented_matches.__doc__ = Client.ws_get_prevented_matches.__doc__\n\n async def ws_get_allocations(self, **params):\n return await self._ws_api_request(\"myAllocations\", True, params)\n\n ws_get_allocations.__doc__ = Client.ws_get_allocations.__doc__\n\n async def ws_get_commission_rates(self, **params):\n return await self._ws_api_request(\"account.commission\", True, params)\n\n ws_get_commission_rates.__doc__ = Client.ws_get_commission_rates.__doc__\n\n async def ws_get_order_book(self, **params):\n return await self._ws_api_request(\"depth\", False, params)\n\n ws_get_order_book.__doc__ = Client.ws_get_order_book.__doc__\n\n async def ws_get_recent_trades(self, **params):\n return await self._ws_api_request(\"trades.recent\", False, params)\n\n ws_get_recent_trades.__doc__ = Client.ws_get_recent_trades.__doc__\n\n async def ws_get_historical_trades(self, **params):\n return await self._ws_api_request(\"trades.historical\", False, params)\n\n ws_get_historical_trades.__doc__ = Client.ws_get_historical_trades.__doc__\n\n async def ws_get_aggregate_trades(self, **params):\n return await self._ws_api_request(\"trades.aggregate\", False, params)\n\n ws_get_aggregate_trades.__doc__ = Client.ws_get_aggregate_trades.__doc__\n\n async def ws_get_klines(self, **params):\n return await self._ws_api_request(\"klines\", False, params)\n\n ws_get_klines.__doc__ = Client.ws_get_klines.__doc__\n\n async def ws_get_uiKlines(self, **params):\n return await self._ws_api_request(\"uiKlines\", False, params)\n\n ws_get_uiKlines.__doc__ = Client.ws_get_uiKlines.__doc__\n\n async def ws_get_avg_price(self, **params):\n return await self._ws_api_request(\"avgPrice\", False, params)\n\n ws_get_avg_price.__doc__ = Client.ws_get_avg_price.__doc__\n\n async def ws_get_ticker(self, **params):\n return await self._ws_api_request(\"ticker.24hr\", False, params)\n\n ws_get_ticker.__doc__ = Client.ws_get_ticker.__doc__\n\n async def ws_get_trading_day_ticker(self, **params):\n return await self._ws_api_request(\"ticker.tradingDay\", False, params)\n\n ws_get_trading_day_ticker.__doc__ = Client.ws_get_trading_day_ticker.__doc__\n\n async def ws_get_symbol_ticker_window(self, **params):\n return await self._ws_api_request(\"ticker\", False, params)\n\n ws_get_symbol_ticker_window.__doc__ = Client.ws_get_symbol_ticker_window.__doc__\n\n async def ws_get_symbol_ticker(self, **params):\n return await self._ws_api_request(\"ticker.price\", False, params)\n\n ws_get_symbol_ticker.__doc__ = Client.ws_get_symbol_ticker.__doc__\n\n async def ws_get_orderbook_ticker(self, **params):\n return await self._ws_api_request(\"ticker.book\", False, params)\n\n ws_get_orderbook_ticker.__doc__ = Client.ws_get_orderbook_ticker.__doc__\n\n async def ws_ping(self, **params):\n return await self._ws_api_request(\"ping\", False, params)\n\n ws_ping.__doc__ = Client.ws_ping.__doc__\n\n async def ws_get_time(self, **params):\n return await self._ws_api_request(\"time\", False, params)\n\n ws_get_time.__doc__ = Client.ws_get_time.__doc__\n\n async def ws_get_exchange_info(self, **params):\n return await self._ws_api_request(\"exchangeInfo\", False, params)\n\n ws_get_exchange_info.__doc__ = Client.ws_get_exchange_info.__doc__\n\n ####################################################\n # FUTURES WS API Endpoints\n ####################################################\n async def ws_futures_get_order_book(self, **params):\n \"\"\"\n Get the order book for a symbol\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api\n \"\"\"\n return await self._ws_futures_api_request(\"depth\", False, params)\n\n async def ws_futures_get_all_tickers(self, **params):\n \"\"\"\n Latest price for a symbol or symbols\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api/Symbol-Price-Ticker\n \"\"\"\n return await self._ws_futures_api_request(\"ticker.price\", False, params)\n\n async def ws_futures_get_order_book_ticker(self, **params):\n \"\"\"\n Best price/qty on the order book for a symbol or symbols.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-api/Symbol-Order-Book-Ticker\n \"\"\"\n return await self._ws_futures_api_request(\"ticker.book\", False, params)\n\n async def ws_futures_create_order(self, **params):\n \"\"\"\n Send in a new order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api\n \"\"\"\n if \"newClientOrderId\" not in params:\n params[\"newClientOrderId\"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()\n return await self._ws_futures_api_request(\"order.place\", True, params)\n\n async def ws_futures_edit_order(self, **params):\n \"\"\"\n Edit an order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Modify-Order\n \"\"\"\n return await self._ws_futures_api_request(\"order.modify\", True, params)\n\n async def ws_futures_cancel_order(self, **params):\n \"\"\"\n cancel an order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Cancel-Order\n \"\"\"\n return await self._ws_futures_api_request(\"order.cancel\", True, params)\n\n async def ws_futures_get_order(self, **params):\n \"\"\"\n Get an order\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Query-Order\n \"\"\"\n return await self._ws_futures_api_request(\"order.status\", True, params)\n\n async def ws_futures_v2_account_position(self, **params):\n \"\"\"\n Get current position information(only symbol that has position or open orders will be return awaited).\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Position-Info-V2\n \"\"\"\n return await self._ws_futures_api_request(\"v2/account.position\", True, params)\n\n async def ws_futures_account_position(self, **params):\n \"\"\"\n Get current position information.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/websocket-api/Position-Information\n \"\"\"\n return await self._ws_futures_api_request(\"account.position\", True, params)\n\n async def ws_futures_v2_account_balance(self, **params):\n \"\"\"\n Get current account information.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api#api-description\n \"\"\"\n return await self._ws_futures_api_request(\"v2/account.balance\", True, params)\n\n async def ws_futures_account_balance(self, **params):\n \"\"\"\n Get current account information.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Futures-Account-Balance\n \"\"\"\n return await self._ws_futures_api_request(\"account.balance\", True, params)\n\n async def ws_futures_v2_account_status(self, **params):\n \"\"\"\n Get current account information. User in single-asset/ multi-assets mode will see different value, see comments in response section for detail.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Account-Information-V2\n \"\"\"\n return await self._ws_futures_api_request(\"v2/account.status\", True, params)\n\n async def ws_futures_account_status(self, **params):\n \"\"\"\n Get current account information. User in single-asset/ multi-assets mode will see different value, see comments in response section for detail.\n https://developers.binance.com/docs/derivatives/usds-margined-futures/account/websocket-api/Account-Information\n \"\"\"\n return await self._ws_futures_api_request(\"account.status\", True, params)\n\n ####################################################\n # Gift Card API Endpoints\n ####################################################\n\n async def gift_card_fetch_token_limit(self, **params):\n return await self._request_margin_api(\n \"get\", \"giftcard/buyCode/token-limit\", signed=True, data=params\n )\n\n gift_card_fetch_token_limit.__doc__ = Client.gift_card_fetch_token_limit.__doc__\n\n async def gift_card_fetch_rsa_public_key(self, **params):\n return await self._request_margin_api(\n \"get\", \"giftcard/cryptography/rsa-public-key\", signed=True, data=params\n )\n\n gift_card_fetch_rsa_public_key.__doc__ = (\n Client.gift_card_fetch_rsa_public_key.__doc__\n )\n\n async def gift_card_verify(self, **params):\n return await self._request_margin_api(\n \"get\", \"giftcard/verify\", signed=True, data=params\n )\n\n gift_card_verify.__doc__ = Client.gift_card_verify.__doc__\n\n async def gift_card_redeem(self, **params):\n return await self._request_margin_api(\n \"post\", \"giftcard/redeemCode\", signed=True, data=params\n )\n\n gift_card_redeem.__doc__ = Client.gift_card_redeem.__doc__\n\n async def gift_card_create(self, **params):\n return await self._request_margin_api(\n \"post\", \"giftcard/createCode\", signed=True, data=params\n )\n\n gift_card_create.__doc__ = Client.gift_card_create.__doc__\n\n async def gift_card_create_dual_token(self, **params):\n return await self._request_margin_api(\n \"post\", \"giftcard/buyCode\", signed=True, data=params\n )\n\n gift_card_create_dual_token.__doc__ = Client.gift_card_create_dual_token.__doc__\n\n ####################################################\n # Options - Market Maker Block Trade\n ####################################################\n\n async def options_create_block_trade_order(self, **params):\n return await self._request_options_api(\n \"post\", \"block/order/create\", signed=True, data=params\n )\n\n options_create_block_trade_order.__doc__ = (\n Client.options_create_block_trade_order.__doc__\n )\n\n async def options_cancel_block_trade_order(self, **params):\n return await self._request_options_api(\n \"delete\", \"block/order/create\", signed=True, data=params\n )\n\n options_cancel_block_trade_order.__doc__ = (\n Client.options_cancel_block_trade_order.__doc__\n )\n\n async def options_extend_block_trade_order(self, **params):\n return await self._request_options_api(\n \"put\", \"block/order/create\", signed=True, data=params\n )\n\n options_extend_block_trade_order.__doc__ = (\n Client.options_extend_block_trade_order.__doc__\n )\n\n async def options_get_block_trade_orders(self, **params):\n return await self._request_options_api(\n \"get\", \"block/order/orders\", signed=True, data=params\n )\n\n options_get_block_trade_orders.__doc__ = (\n Client.options_get_block_trade_orders.__doc__\n )\n\n async def options_accept_block_trade_order(self, **params):\n return await self._request_options_api(\n \"post\", \"block/order/execute\", signed=True, data=params\n )\n\n options_accept_block_trade_order.__doc__ = (\n Client.options_accept_block_trade_order.__doc__\n )\n\n async def options_get_block_trade_order(self, **params):\n return await self._request_options_api(\n \"get\", \"block/order/execute\", signed=True, data=params\n )\n\n options_get_block_trade_order.__doc__ = Client.options_get_block_trade_order.__doc__\n\n async def options_account_get_block_trades(self, **params):\n return await self._request_options_api(\n \"get\", \"block/user-trades\", signed=True, data=params\n )\n\n options_account_get_block_trades.__doc__ = (\n Client.options_account_get_block_trades.__doc__\n )\n\n async def margin_next_hourly_interest_rate(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/next-hourly-interest-rate\", signed=True, data=params\n )\n\n margin_next_hourly_interest_rate.__doc__ = (\n Client.margin_next_hourly_interest_rate.__doc__\n )\n\n async def margin_interest_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/interestHistory\", signed=True, data=params\n )\n\n margin_interest_history.__doc__ = Client.margin_interest_history.__doc__\n\n async def margin_borrow_repay(self, **params):\n return await self._request_margin_api(\n \"post\", \"margin/borrow-repay\", signed=True, data=params\n )\n\n margin_borrow_repay.__doc__ = Client.margin_borrow_repay.__doc__\n\n async def margin_get_borrow_repay_records(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/borrow-repay\", signed=True, data=params\n )\n\n margin_get_borrow_repay_records.__doc__ = (\n Client.margin_get_borrow_repay_records.__doc__\n )\n\n async def margin_interest_rate_history(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/interestRateHistory\", signed=True, data=params\n )\n\n margin_interest_rate_history.__doc__ = Client.margin_interest_rate_history.__doc__\n\n async def margin_max_borrowable(self, **params):\n return await self._request_margin_api(\n \"get\", \"margin/maxBorrowable\", signed=True, data=params\n )\n\n margin_max_borrowable.__doc__ = Client.margin_max_borrowable.__doc__\n\n ####################################################\n # Futures Data\n ####################################################\n\n async def futures_historical_data_link(self, **params):\n return await self._request_margin_api(\"get\", \"futures/data/histDataLink\", signed=True, data=params)\n\n futures_historical_data_link.__doc__ = Client.futures_historical_data_link.__doc__\n\n async def margin_v1_get_loan_vip_ongoing_orders(self, **params):\n return await self._request_margin_api(\"get\", \"loan/vip/ongoing/orders\", signed=True, data=params, version=1)\n\n margin_v1_get_loan_vip_ongoing_orders.__doc__ = Client.margin_v1_get_loan_vip_ongoing_orders.__doc__\n\n async def margin_v1_get_mining_payment_other(self, **params):\n return await self._request_margin_api(\"get\", \"mining/payment/other\", signed=True, data=params, version=1)\n\n margin_v1_get_mining_payment_other.__doc__ = Client.margin_v1_get_mining_payment_other.__doc__\n\n async def futures_coin_v1_get_income_asyn_id(self, **params):\n return await self._request_futures_coin_api(\"get\", \"income/asyn/id\", signed=True, data=params, version=1)\n\n futures_coin_v1_get_income_asyn_id.__doc__ = Client.futures_coin_v1_get_income_asyn_id.__doc__\n\n async def margin_v1_get_simple_earn_flexible_history_subscription_record(self, **params):\n return await self._request_margin_api(\"get\", \"simple-earn/flexible/history/subscriptionRecord\", signed=True, data=params, version=1)\n\n margin_v1_get_simple_earn_flexible_history_subscription_record.__doc__ = Client.margin_v1_get_simple_earn_flexible_history_subscription_record.__doc__\n\n async def margin_v1_post_lending_auto_invest_one_off(self, **params):\n return await self._request_margin_api(\"post\", \"lending/auto-invest/one-off\", signed=True, data=params, version=1)\n\n margin_v1_post_lending_auto_invest_one_off.__doc__ = Client.margin_v1_post_lending_auto_invest_one_off.__doc__\n\n async def margin_v1_post_broker_sub_account_api_commission_coin_futures(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/commission/coinFutures\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_sub_account_api_commission_coin_futures.__doc__ = Client.margin_v1_post_broker_sub_account_api_commission_coin_futures.__doc__\n\n async def v3_post_order_list_otoco(self, **params):\n return await self._request_api(\"post\", \"orderList/otoco\", signed=True, data=params, version=\"v3\")\n\n v3_post_order_list_otoco.__doc__ = Client.v3_post_order_list_otoco.__doc__\n\n async def futures_v1_get_order_asyn(self, **params):\n return await self._request_futures_api(\"get\", \"order/asyn\", signed=True, data=params, version=1)\n\n futures_v1_get_order_asyn.__doc__ = Client.futures_v1_get_order_asyn.__doc__\n\n async def margin_v1_get_asset_custody_transfer_history(self, **params):\n return await self._request_margin_api(\"get\", \"asset/custody/transfer-history\", signed=True, data=params, version=1)\n\n margin_v1_get_asset_custody_transfer_history.__doc__ = Client.margin_v1_get_asset_custody_transfer_history.__doc__\n\n async def margin_v1_post_broker_sub_account_blvt(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccount/blvt\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_sub_account_blvt.__doc__ = Client.margin_v1_post_broker_sub_account_blvt.__doc__\n\n async def margin_v1_post_sol_staking_sol_redeem(self, **params):\n return await self._request_margin_api(\"post\", \"sol-staking/sol/redeem\", signed=True, data=params, version=1)\n\n margin_v1_post_sol_staking_sol_redeem.__doc__ = Client.margin_v1_post_sol_staking_sol_redeem.__doc__\n\n async def options_v1_get_countdown_cancel_all(self, **params):\n return await self._request_options_api(\"get\", \"countdownCancelAll\", signed=True, data=params)\n\n options_v1_get_countdown_cancel_all.__doc__ = Client.options_v1_get_countdown_cancel_all.__doc__\n\n async def margin_v1_get_margin_trade_coeff(self, **params):\n return await self._request_margin_api(\"get\", \"margin/tradeCoeff\", signed=True, data=params, version=1)\n\n margin_v1_get_margin_trade_coeff.__doc__ = Client.margin_v1_get_margin_trade_coeff.__doc__\n\n async def futures_coin_v1_get_order_amendment(self, **params):\n return await self._request_futures_coin_api(\"get\", \"orderAmendment\", signed=True, data=params, version=1)\n\n futures_coin_v1_get_order_amendment.__doc__ = Client.futures_coin_v1_get_order_amendment.__doc__\n\n async def margin_v1_get_margin_available_inventory(self, **params):\n return await self._request_margin_api(\"get\", \"margin/available-inventory\", signed=True, data=params, version=1)\n\n margin_v1_get_margin_available_inventory.__doc__ = Client.margin_v1_get_margin_available_inventory.__doc__\n\n async def margin_v1_post_account_api_restrictions_ip_restriction_ip_list(self, **params):\n return await self._request_margin_api(\"post\", \"account/apiRestrictions/ipRestriction/ipList\", signed=True, data=params, version=1)\n\n margin_v1_post_account_api_restrictions_ip_restriction_ip_list.__doc__ = Client.margin_v1_post_account_api_restrictions_ip_restriction_ip_list.__doc__\n\n async def margin_v2_get_eth_staking_account(self, **params):\n return await self._request_margin_api(\"get\", \"eth-staking/account\", signed=True, data=params, version=2)\n\n margin_v2_get_eth_staking_account.__doc__ = Client.margin_v2_get_eth_staking_account.__doc__\n\n async def margin_v1_get_loan_income(self, **params):\n return await self._request_margin_api(\"get\", \"loan/income\", signed=True, data=params, version=1)\n\n margin_v1_get_loan_income.__doc__ = Client.margin_v1_get_loan_income.__doc__\n\n async def futures_coin_v1_get_pm_account_info(self, **params):\n return await self._request_futures_coin_api(\"get\", \"pmAccountInfo\", signed=True, data=params, version=1)\n\n futures_coin_v1_get_pm_account_info.__doc__ = Client.futures_coin_v1_get_pm_account_info.__doc__\n\n async def margin_v1_get_managed_subaccount_query_trans_log_for_investor(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/queryTransLogForInvestor\", signed=True, data=params, version=1)\n\n margin_v1_get_managed_subaccount_query_trans_log_for_investor.__doc__ = Client.margin_v1_get_managed_subaccount_query_trans_log_for_investor.__doc__\n\n async def margin_v1_post_dci_product_auto_compound_edit_status(self, **params):\n return await self._request_margin_api(\"post\", \"dci/product/auto_compound/edit-status\", signed=True, data=params, version=1)\n\n margin_v1_post_dci_product_auto_compound_edit_status.__doc__ = Client.margin_v1_post_dci_product_auto_compound_edit_status.__doc__\n\n async def futures_v1_get_trade_asyn(self, **params):\n return await self._request_futures_api(\"get\", \"trade/asyn\", signed=True, data=params, version=1)\n\n futures_v1_get_trade_asyn.__doc__ = Client.futures_v1_get_trade_asyn.__doc__\n\n async def margin_v1_get_loan_vip_request_interest_rate(self, **params):\n return await self._request_margin_api(\"get\", \"loan/vip/request/interestRate\", signed=True, data=params, version=1)\n\n margin_v1_get_loan_vip_request_interest_rate.__doc__ = Client.margin_v1_get_loan_vip_request_interest_rate.__doc__\n\n async def futures_v1_get_funding_info(self, **params):\n return await self._request_futures_api(\"get\", \"fundingInfo\", signed=False, data=params, version=1)\n\n futures_v1_get_funding_info.__doc__ = Client.futures_v1_get_funding_info.__doc__\n\n async def v3_get_all_orders(self, **params):\n return await self._request_api(\"get\", \"allOrders\", signed=True, data=params, version=\"v3\")\n\n async def margin_v2_get_loan_flexible_repay_rate(self, **params):\n return await self._request_margin_api(\"get\", \"loan/flexible/repay/rate\", signed=True, data=params, version=2)\n\n margin_v2_get_loan_flexible_repay_rate.__doc__ = Client.margin_v2_get_loan_flexible_repay_rate.__doc__\n\n async def margin_v1_get_lending_auto_invest_plan_id(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/plan/id\", signed=True, data=params, version=1)\n\n margin_v1_get_lending_auto_invest_plan_id.__doc__ = Client.margin_v1_get_lending_auto_invest_plan_id.__doc__\n\n async def margin_v1_post_loan_adjust_ltv(self, **params):\n return await self._request_margin_api(\"post\", \"loan/adjust/ltv\", signed=True, data=params, version=1)\n\n margin_v1_post_loan_adjust_ltv.__doc__ = Client.margin_v1_post_loan_adjust_ltv.__doc__\n\n async def margin_v1_get_mining_statistics_user_status(self, **params):\n return await self._request_margin_api(\"get\", \"mining/statistics/user/status\", signed=True, data=params, version=1)\n\n margin_v1_get_mining_statistics_user_status.__doc__ = Client.margin_v1_get_mining_statistics_user_status.__doc__\n\n async def margin_v1_get_broker_transfer_futures(self, **params):\n return await self._request_margin_api(\"get\", \"broker/transfer/futures\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_transfer_futures.__doc__ = Client.margin_v1_get_broker_transfer_futures.__doc__\n\n async def margin_v1_post_algo_spot_new_order_twap(self, **params):\n return await self._request_margin_api(\"post\", \"algo/spot/newOrderTwap\", signed=True, data=params, version=1)\n\n margin_v1_post_algo_spot_new_order_twap.__doc__ = Client.margin_v1_post_algo_spot_new_order_twap.__doc__\n\n async def margin_v1_get_lending_auto_invest_target_asset_list(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/target-asset/list\", signed=True, data=params, version=1)\n\n margin_v1_get_lending_auto_invest_target_asset_list.__doc__ = Client.margin_v1_get_lending_auto_invest_target_asset_list.__doc__\n\n async def margin_v1_get_capital_deposit_address_list(self, **params):\n return await self._request_margin_api(\"get\", \"capital/deposit/address/list\", signed=True, data=params, version=1)\n\n margin_v1_get_capital_deposit_address_list.__doc__ = Client.margin_v1_get_capital_deposit_address_list.__doc__\n\n async def margin_v1_post_broker_sub_account_bnb_burn_margin_interest(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccount/bnbBurn/marginInterest\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_sub_account_bnb_burn_margin_interest.__doc__ = Client.margin_v1_post_broker_sub_account_bnb_burn_margin_interest.__doc__\n\n async def margin_v2_post_loan_flexible_repay(self, **params):\n return await self._request_margin_api(\"post\", \"loan/flexible/repay\", signed=True, data=params, version=2)\n\n margin_v2_post_loan_flexible_repay.__doc__ = Client.margin_v2_post_loan_flexible_repay.__doc__\n\n async def margin_v2_get_loan_flexible_loanable_data(self, **params):\n return await self._request_margin_api(\"get\", \"loan/flexible/loanable/data\", signed=True, data=params, version=2)\n\n margin_v2_get_loan_flexible_loanable_data.__doc__ = Client.margin_v2_get_loan_flexible_loanable_data.__doc__\n\n async def margin_v1_post_broker_sub_account_api_permission(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/permission\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_sub_account_api_permission.__doc__ = Client.margin_v1_post_broker_sub_account_api_permission.__doc__\n\n async def margin_v1_post_broker_sub_account_api(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_sub_account_api.__doc__ = Client.margin_v1_post_broker_sub_account_api.__doc__\n\n async def margin_v1_get_dci_product_positions(self, **params):\n return await self._request_margin_api(\"get\", \"dci/product/positions\", signed=True, data=params, version=1)\n\n margin_v1_get_dci_product_positions.__doc__ = Client.margin_v1_get_dci_product_positions.__doc__\n\n async def margin_v1_post_convert_limit_cancel_order(self, **params):\n return await self._request_margin_api(\"post\", \"convert/limit/cancelOrder\", signed=True, data=params, version=1)\n\n margin_v1_post_convert_limit_cancel_order.__doc__ = Client.margin_v1_post_convert_limit_cancel_order.__doc__\n\n async def v3_post_order_list_oto(self, **params):\n return await self._request_api(\"post\", \"orderList/oto\", signed=True, data=params, version=\"v3\")\n\n v3_post_order_list_oto.__doc__ = Client.v3_post_order_list_oto.__doc__\n\n async def margin_v1_get_mining_hash_transfer_config_details_list(self, **params):\n return await self._request_margin_api(\"get\", \"mining/hash-transfer/config/details/list\", signed=True, data=params, version=1)\n\n margin_v1_get_mining_hash_transfer_config_details_list.__doc__ = Client.margin_v1_get_mining_hash_transfer_config_details_list.__doc__\n\n async def margin_v1_get_mining_hash_transfer_profit_details(self, **params):\n return await self._request_margin_api(\"get\", \"mining/hash-transfer/profit/details\", signed=True, data=params, version=1)\n\n margin_v1_get_mining_hash_transfer_profit_details.__doc__ = Client.margin_v1_get_mining_hash_transfer_profit_details.__doc__\n\n async def margin_v1_get_broker_sub_account(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_sub_account.__doc__ = Client.margin_v1_get_broker_sub_account.__doc__\n\n async def margin_v1_get_portfolio_balance(self, **params):\n return await self._request_margin_api(\"get\", \"portfolio/balance\", signed=True, data=params, version=1)\n\n margin_v1_get_portfolio_balance.__doc__ = Client.margin_v1_get_portfolio_balance.__doc__\n\n async def margin_v1_post_sub_account_eoptions_enable(self, **params):\n return await self._request_margin_api(\"post\", \"sub-account/eoptions/enable\", signed=True, data=params, version=1)\n\n margin_v1_post_sub_account_eoptions_enable.__doc__ = Client.margin_v1_post_sub_account_eoptions_enable.__doc__\n\n async def papi_v1_post_ping(self, **params):\n return await self._request_papi_api(\"post\", \"ping\", signed=True, data=params, version=1)\n\n papi_v1_post_ping.__doc__ = Client.papi_v1_post_ping.__doc__\n\n async def margin_v1_get_loan_loanable_data(self, **params):\n return await self._request_margin_api(\"get\", \"loan/loanable/data\", signed=True, data=params, version=1)\n\n margin_v1_get_loan_loanable_data.__doc__ = Client.margin_v1_get_loan_loanable_data.__doc__\n\n async def margin_v1_post_eth_staking_wbeth_unwrap(self, **params):\n return await self._request_margin_api(\"post\", \"eth-staking/wbeth/unwrap\", signed=True, data=params, version=1)\n\n margin_v1_post_eth_staking_wbeth_unwrap.__doc__ = Client.margin_v1_post_eth_staking_wbeth_unwrap.__doc__\n\n async def margin_v1_get_eth_staking_eth_history_staking_history(self, **params):\n return await self._request_margin_api(\"get\", \"eth-staking/eth/history/stakingHistory\", signed=True, data=params, version=1)\n\n margin_v1_get_eth_staking_eth_history_staking_history.__doc__ = Client.margin_v1_get_eth_staking_eth_history_staking_history.__doc__\n\n async def margin_v1_get_staking_staking_record(self, **params):\n return await self._request_margin_api(\"get\", \"staking/stakingRecord\", signed=True, data=params, version=1)\n\n margin_v1_get_staking_staking_record.__doc__ = Client.margin_v1_get_staking_staking_record.__doc__\n\n async def margin_v1_get_broker_rebate_recent_record(self, **params):\n return await self._request_margin_api(\"get\", \"broker/rebate/recentRecord\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_rebate_recent_record.__doc__ = Client.margin_v1_get_broker_rebate_recent_record.__doc__\n\n async def v3_delete_user_data_stream(self, **params):\n return await self._request_api(\"delete\", \"userDataStream\", signed=True, data=params, version=\"v3\")\n\n async def v3_get_open_order_list(self, **params):\n return await self._request_api(\"get\", \"openOrderList\", signed=True, data=params, version=\"v3\")\n\n async def margin_v1_get_loan_vip_collateral_account(self, **params):\n return await self._request_margin_api(\"get\", \"loan/vip/collateral/account\", signed=True, data=params, version=1)\n\n margin_v1_get_loan_vip_collateral_account.__doc__ = Client.margin_v1_get_loan_vip_collateral_account.__doc__\n\n async def margin_v1_get_algo_spot_open_orders(self, **params):\n return await self._request_margin_api(\"get\", \"algo/spot/openOrders\", signed=True, data=params, version=1)\n\n margin_v1_get_algo_spot_open_orders.__doc__ = Client.margin_v1_get_algo_spot_open_orders.__doc__\n\n async def margin_v1_post_loan_repay(self, **params):\n return await self._request_margin_api(\"post\", \"loan/repay\", signed=True, data=params, version=1)\n\n margin_v1_post_loan_repay.__doc__ = Client.margin_v1_post_loan_repay.__doc__\n\n async def futures_coin_v1_get_funding_info(self, **params):\n return await self._request_futures_coin_api(\"get\", \"fundingInfo\", signed=False, data=params, version=1)\n\n futures_coin_v1_get_funding_info.__doc__ = Client.futures_coin_v1_get_funding_info.__doc__\n\n async def margin_v1_get_margin_leverage_bracket(self, **params):\n return await self._request_margin_api(\"get\", \"margin/leverageBracket\", signed=True, data=params, version=1)\n\n margin_v1_get_margin_leverage_bracket.__doc__ = Client.margin_v1_get_margin_leverage_bracket.__doc__\n\n async def margin_v2_get_portfolio_collateral_rate(self, **params):\n return await self._request_margin_api(\"get\", \"portfolio/collateralRate\", signed=True, data=params, version=2)\n\n margin_v2_get_portfolio_collateral_rate.__doc__ = Client.margin_v2_get_portfolio_collateral_rate.__doc__\n\n async def margin_v2_post_loan_flexible_adjust_ltv(self, **params):\n return await self._request_margin_api(\"post\", \"loan/flexible/adjust/ltv\", signed=True, data=params, version=2)\n\n margin_v2_post_loan_flexible_adjust_ltv.__doc__ = Client.margin_v2_post_loan_flexible_adjust_ltv.__doc__\n\n async def margin_v1_get_convert_order_status(self, **params):\n return await self._request_margin_api(\"get\", \"convert/orderStatus\", signed=True, data=params, version=1)\n\n margin_v1_get_convert_order_status.__doc__ = Client.margin_v1_get_convert_order_status.__doc__\n\n async def margin_v1_get_broker_sub_account_api_ip_restriction(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccountApi/ipRestriction\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_sub_account_api_ip_restriction.__doc__ = Client.margin_v1_get_broker_sub_account_api_ip_restriction.__doc__\n\n async def margin_v1_post_dci_product_subscribe(self, **params):\n return await self._request_margin_api(\"post\", \"dci/product/subscribe\", signed=True, data=params, version=1)\n\n margin_v1_post_dci_product_subscribe.__doc__ = Client.margin_v1_post_dci_product_subscribe.__doc__\n\n async def futures_v1_get_income_asyn_id(self, **params):\n return await self._request_futures_api(\"get\", \"income/asyn/id\", signed=True, data=params, version=1)\n\n futures_v1_get_income_asyn_id.__doc__ = Client.futures_v1_get_income_asyn_id.__doc__\n\n async def options_v1_post_countdown_cancel_all(self, **params):\n return await self._request_options_api(\"post\", \"countdownCancelAll\", signed=True, data=params)\n\n options_v1_post_countdown_cancel_all.__doc__ = Client.options_v1_post_countdown_cancel_all.__doc__\n\n async def margin_v1_post_mining_hash_transfer_config_cancel(self, **params):\n return await self._request_margin_api(\"post\", \"mining/hash-transfer/config/cancel\", signed=True, data=params, version=1)\n\n margin_v1_post_mining_hash_transfer_config_cancel.__doc__ = Client.margin_v1_post_mining_hash_transfer_config_cancel.__doc__\n\n async def margin_v1_get_broker_sub_account_deposit_hist(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount/depositHist\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_sub_account_deposit_hist.__doc__ = Client.margin_v1_get_broker_sub_account_deposit_hist.__doc__\n\n async def margin_v1_get_mining_payment_list(self, **params):\n return await self._request_margin_api(\"get\", \"mining/payment/list\", signed=True, data=params, version=1)\n\n margin_v1_get_mining_payment_list.__doc__ = Client.margin_v1_get_mining_payment_list.__doc__\n\n async def futures_v1_get_pm_account_info(self, **params):\n return await self._request_futures_api(\"get\", \"pmAccountInfo\", signed=True, data=params, version=1)\n\n futures_v1_get_pm_account_info.__doc__ = Client.futures_v1_get_pm_account_info.__doc__\n\n async def futures_coin_v1_get_adl_quantile(self, **params):\n return await self._request_futures_coin_api(\"get\", \"adlQuantile\", signed=True, data=params, version=1)\n\n futures_coin_v1_get_adl_quantile.__doc__ = Client.futures_coin_v1_get_adl_quantile.__doc__\n\n async def options_v1_get_income_asyn_id(self, **params):\n return await self._request_options_api(\"get\", \"income/asyn/id\", signed=True, data=params)\n\n options_v1_get_income_asyn_id.__doc__ = Client.options_v1_get_income_asyn_id.__doc__\n\n async def v3_post_cancel_replace(self, **params):\n return await self._request_api(\"post\", \"cancelReplace\", signed=True, data=params, version=\"v3\")\n\n v3_post_cancel_replace.__doc__ = Client.v3_post_cancel_replace.__doc__\n\n async def v3_post_order_test(self, **params):\n return await self._request_api(\"post\", \"order/test\", signed=True, data=params, version=\"v3\")\n\n async def margin_v1_post_account_enable_fast_withdraw_switch(self, **params):\n return await self._request_margin_api(\"post\", \"account/enableFastWithdrawSwitch\", signed=True, data=params, version=1)\n\n margin_v1_post_account_enable_fast_withdraw_switch.__doc__ = Client.margin_v1_post_account_enable_fast_withdraw_switch.__doc__\n\n async def margin_v1_post_broker_transfer_futures(self, **params):\n return await self._request_margin_api(\"post\", \"broker/transfer/futures\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_transfer_futures.__doc__ = Client.margin_v1_post_broker_transfer_futures.__doc__\n\n async def margin_v1_get_margin_isolated_transfer(self, **params):\n return await self._request_margin_api(\"get\", \"margin/isolated/transfer\", signed=True, data=params, version=1)\n\n async def v3_post_order_cancel_replace(self, **params):\n return await self._request_api(\"post\", \"order/cancelReplace\", signed=True, data=params, version=\"v3\")\n\n async def margin_v1_post_sol_staking_sol_stake(self, **params):\n return await self._request_margin_api(\"post\", \"sol-staking/sol/stake\", signed=True, data=params, version=1)\n\n margin_v1_post_sol_staking_sol_stake.__doc__ = Client.margin_v1_post_sol_staking_sol_stake.__doc__\n\n async def margin_v1_post_loan_borrow(self, **params):\n return await self._request_margin_api(\"post\", \"loan/borrow\", signed=True, data=params, version=1)\n\n margin_v1_post_loan_borrow.__doc__ = Client.margin_v1_post_loan_borrow.__doc__\n\n async def margin_v1_get_managed_subaccount_info(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/info\", signed=True, data=params, version=1)\n\n margin_v1_get_managed_subaccount_info.__doc__ = Client.margin_v1_get_managed_subaccount_info.__doc__\n\n async def margin_v1_post_lending_auto_invest_plan_edit_status(self, **params):\n return await self._request_margin_api(\"post\", \"lending/auto-invest/plan/edit-status\", signed=True, data=params, version=1)\n\n margin_v1_post_lending_auto_invest_plan_edit_status.__doc__ = Client.margin_v1_post_lending_auto_invest_plan_edit_status.__doc__\n\n async def margin_v1_get_sol_staking_sol_history_unclaimed_rewards(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/sol/history/unclaimedRewards\", signed=True, data=params, version=1)\n\n margin_v1_get_sol_staking_sol_history_unclaimed_rewards.__doc__ = Client.margin_v1_get_sol_staking_sol_history_unclaimed_rewards.__doc__\n\n async def margin_v1_post_asset_convert_transfer_query_by_page(self, **params):\n return await self._request_margin_api(\"post\", \"asset/convert-transfer/queryByPage\", signed=True, data=params, version=1)\n\n margin_v1_post_asset_convert_transfer_query_by_page.__doc__ = Client.margin_v1_post_asset_convert_transfer_query_by_page.__doc__\n\n async def margin_v1_get_sol_staking_sol_history_boost_rewards_history(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/sol/history/boostRewardsHistory\", signed=True, data=params, version=1)\n\n margin_v1_get_sol_staking_sol_history_boost_rewards_history.__doc__ = Client.margin_v1_get_sol_staking_sol_history_boost_rewards_history.__doc__\n\n async def margin_v1_get_lending_auto_invest_one_off_status(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/one-off/status\", signed=True, data=params, version=1)\n\n margin_v1_get_lending_auto_invest_one_off_status.__doc__ = Client.margin_v1_get_lending_auto_invest_one_off_status.__doc__\n\n async def margin_v1_post_broker_sub_account(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccount\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_sub_account.__doc__ = Client.margin_v1_post_broker_sub_account.__doc__\n\n async def margin_v1_get_asset_ledger_transfer_cloud_mining_query_by_page(self, **params):\n return await self._request_margin_api(\"get\", \"asset/ledger-transfer/cloud-mining/queryByPage\", signed=True, data=params, version=1)\n\n margin_v1_get_asset_ledger_transfer_cloud_mining_query_by_page.__doc__ = Client.margin_v1_get_asset_ledger_transfer_cloud_mining_query_by_page.__doc__\n\n async def margin_v1_get_mining_pub_coin_list(self, **params):\n return await self._request_margin_api(\"get\", \"mining/pub/coinList\", signed=True, data=params, version=1)\n\n margin_v1_get_mining_pub_coin_list.__doc__ = Client.margin_v1_get_mining_pub_coin_list.__doc__\n\n async def margin_v2_get_loan_flexible_repay_history(self, **params):\n return await self._request_margin_api(\"get\", \"loan/flexible/repay/history\", signed=True, data=params, version=2)\n\n margin_v2_get_loan_flexible_repay_history.__doc__ = Client.margin_v2_get_loan_flexible_repay_history.__doc__\n\n async def v3_post_sor_order(self, **params):\n return await self._request_api(\"post\", \"sor/order\", signed=True, data=params, version=\"v3\")\n\n v3_post_sor_order.__doc__ = Client.v3_post_sor_order.__doc__\n\n async def margin_v1_post_capital_deposit_credit_apply(self, **params):\n return await self._request_margin_api(\"post\", \"capital/deposit/credit-apply\", signed=True, data=params, version=1)\n\n margin_v1_post_capital_deposit_credit_apply.__doc__ = Client.margin_v1_post_capital_deposit_credit_apply.__doc__\n\n async def futures_v1_put_batch_order(self, **params):\n return await self._request_futures_api(\"put\", \"batchOrder\", signed=True, data=params, version=1)\n\n futures_v1_put_batch_order.__doc__ = Client.futures_v1_put_batch_order.__doc__\n\n async def v3_get_my_prevented_matches(self, **params):\n return await self._request_api(\"get\", \"myPreventedMatches\", signed=True, data=params, version=\"v3\")\n\n async def margin_v1_get_mining_statistics_user_list(self, **params):\n return await self._request_margin_api(\"get\", \"mining/statistics/user/list\", signed=True, data=params, version=1)\n\n margin_v1_get_mining_statistics_user_list.__doc__ = Client.margin_v1_get_mining_statistics_user_list.__doc__\n\n async def futures_v1_post_batch_order(self, **params):\n return await self._request_futures_api(\"post\", \"batchOrder\", signed=True, data=params, version=1)\n\n futures_v1_post_batch_order.__doc__ = Client.futures_v1_post_batch_order.__doc__\n\n async def v3_get_ticker_trading_day(self, **params):\n return await self._request_api(\"get\", \"ticker/tradingDay\", signed=False, data=params, version=\"v3\")\n\n v3_get_ticker_trading_day.__doc__ = Client.v3_get_ticker_trading_day.__doc__\n\n async def margin_v1_get_mining_worker_detail(self, **params):\n return await self._request_margin_api(\"get\", \"mining/worker/detail\", signed=True, data=params, version=1)\n\n margin_v1_get_mining_worker_detail.__doc__ = Client.margin_v1_get_mining_worker_detail.__doc__\n\n async def margin_v1_get_managed_subaccount_fetch_future_asset(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/fetch-future-asset\", signed=True, data=params, version=1)\n\n margin_v1_get_managed_subaccount_fetch_future_asset.__doc__ = Client.margin_v1_get_managed_subaccount_fetch_future_asset.__doc__\n\n async def margin_v1_get_margin_rate_limit_order(self, **params):\n return await self._request_margin_api(\"get\", \"margin/rateLimit/order\", signed=True, data=params, version=1)\n\n margin_v1_get_margin_rate_limit_order.__doc__ = Client.margin_v1_get_margin_rate_limit_order.__doc__\n\n async def margin_v1_get_localentity_vasp(self, **params):\n return await self._request_margin_api(\"get\", \"localentity/vasp\", signed=True, data=params, version=1)\n\n margin_v1_get_localentity_vasp.__doc__ = Client.margin_v1_get_localentity_vasp.__doc__\n\n async def margin_v1_get_sol_staking_sol_history_rate_history(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/sol/history/rateHistory\", signed=True, data=params, version=1)\n\n margin_v1_get_sol_staking_sol_history_rate_history.__doc__ = Client.margin_v1_get_sol_staking_sol_history_rate_history.__doc__\n\n async def margin_v1_post_broker_sub_account_api_ip_restriction(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/ipRestriction\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_sub_account_api_ip_restriction.__doc__ = Client.margin_v1_post_broker_sub_account_api_ip_restriction.__doc__\n\n async def margin_v1_get_broker_transfer(self, **params):\n return await self._request_margin_api(\"get\", \"broker/transfer\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_transfer.__doc__ = Client.margin_v1_get_broker_transfer.__doc__\n\n async def margin_v1_get_sol_staking_account(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/account\", signed=True, data=params, version=1)\n\n margin_v1_get_sol_staking_account.__doc__ = Client.margin_v1_get_sol_staking_account.__doc__\n\n async def margin_v1_get_account_info(self, **params):\n return await self._request_margin_api(\"get\", \"account/info\", signed=True, data=params, version=1)\n\n margin_v1_get_account_info.__doc__ = Client.margin_v1_get_account_info.__doc__\n\n async def margin_v1_post_portfolio_repay_futures_switch(self, **params):\n return await self._request_margin_api(\"post\", \"portfolio/repay-futures-switch\", signed=True, data=params, version=1)\n\n margin_v1_post_portfolio_repay_futures_switch.__doc__ = Client.margin_v1_post_portfolio_repay_futures_switch.__doc__\n\n async def margin_v1_post_loan_vip_borrow(self, **params):\n return await self._request_margin_api(\"post\", \"loan/vip/borrow\", signed=True, data=params, version=1)\n\n margin_v1_post_loan_vip_borrow.__doc__ = Client.margin_v1_post_loan_vip_borrow.__doc__\n\n async def margin_v2_get_loan_flexible_ltv_adjustment_history(self, **params):\n return await self._request_margin_api(\"get\", \"loan/flexible/ltv/adjustment/history\", signed=True, data=params, version=2)\n\n margin_v2_get_loan_flexible_ltv_adjustment_history.__doc__ = Client.margin_v2_get_loan_flexible_ltv_adjustment_history.__doc__\n\n async def options_v1_delete_all_open_orders_by_underlying(self, **params):\n return await self._request_options_api(\"delete\", \"allOpenOrdersByUnderlying\", signed=True, data=params)\n\n options_v1_delete_all_open_orders_by_underlying.__doc__ = Client.options_v1_delete_all_open_orders_by_underlying.__doc__\n\n async def margin_v1_get_broker_sub_account_futures_summary(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount/futuresSummary\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_sub_account_futures_summary.__doc__ = Client.margin_v1_get_broker_sub_account_futures_summary.__doc__\n\n async def margin_v1_get_broker_sub_account_spot_summary(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount/spotSummary\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_sub_account_spot_summary.__doc__ = Client.margin_v1_get_broker_sub_account_spot_summary.__doc__\n\n async def margin_v1_post_sub_account_blvt_enable(self, **params):\n return await self._request_margin_api(\"post\", \"sub-account/blvt/enable\", signed=True, data=params, version=1)\n\n margin_v1_post_sub_account_blvt_enable.__doc__ = Client.margin_v1_post_sub_account_blvt_enable.__doc__\n\n async def margin_v1_get_algo_spot_historical_orders(self, **params):\n return await self._request_margin_api(\"get\", \"algo/spot/historicalOrders\", signed=True, data=params, version=1)\n\n margin_v1_get_algo_spot_historical_orders.__doc__ = Client.margin_v1_get_algo_spot_historical_orders.__doc__\n\n async def margin_v1_get_loan_vip_repay_history(self, **params):\n return await self._request_margin_api(\"get\", \"loan/vip/repay/history\", signed=True, data=params, version=1)\n\n margin_v1_get_loan_vip_repay_history.__doc__ = Client.margin_v1_get_loan_vip_repay_history.__doc__\n\n async def margin_v1_get_loan_borrow_history(self, **params):\n return await self._request_margin_api(\"get\", \"loan/borrow/history\", signed=True, data=params, version=1)\n\n margin_v1_get_loan_borrow_history.__doc__ = Client.margin_v1_get_loan_borrow_history.__doc__\n\n async def margin_v1_post_lending_auto_invest_redeem(self, **params):\n return await self._request_margin_api(\"post\", \"lending/auto-invest/redeem\", signed=True, data=params, version=1)\n\n margin_v1_post_lending_auto_invest_redeem.__doc__ = Client.margin_v1_post_lending_auto_invest_redeem.__doc__\n\n async def v3_get_account(self, **params):\n return await self._request_api(\"get\", \"account\", signed=True, data=params, version=\"v3\")\n\n async def v3_delete_order(self, **params):\n return await self._request_api(\"delete\", \"order\", signed=True, data=params, version=\"v3\")\n\n async def futures_coin_v1_get_income_asyn(self, **params):\n return await self._request_futures_coin_api(\"get\", \"income/asyn\", signed=True, data=params, version=1)\n\n futures_coin_v1_get_income_asyn.__doc__ = Client.futures_coin_v1_get_income_asyn.__doc__\n\n async def margin_v1_post_managed_subaccount_deposit(self, **params):\n return await self._request_margin_api(\"post\", \"managed-subaccount/deposit\", signed=True, data=params, version=1)\n\n margin_v1_post_managed_subaccount_deposit.__doc__ = Client.margin_v1_post_managed_subaccount_deposit.__doc__\n\n async def margin_v1_post_lending_daily_purchase(self, **params):\n return await self._request_margin_api(\"post\", \"lending/daily/purchase\", signed=True, data=params, version=1)\n\n margin_v1_post_lending_daily_purchase.__doc__ = Client.margin_v1_post_lending_daily_purchase.__doc__\n\n async def futures_v1_get_trade_asyn_id(self, **params):\n return await self._request_futures_api(\"get\", \"trade/asyn/id\", signed=True, data=params, version=1)\n\n futures_v1_get_trade_asyn_id.__doc__ = Client.futures_v1_get_trade_asyn_id.__doc__\n\n async def margin_v1_delete_sub_account_sub_account_api_ip_restriction_ip_list(self, **params):\n return await self._request_margin_api(\"delete\", \"sub-account/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)\n\n margin_v1_delete_sub_account_sub_account_api_ip_restriction_ip_list.__doc__ = Client.margin_v1_delete_sub_account_sub_account_api_ip_restriction_ip_list.__doc__\n\n async def margin_v1_get_copy_trading_futures_user_status(self, **params):\n return await self._request_margin_api(\"get\", \"copyTrading/futures/userStatus\", signed=True, data=params, version=1)\n\n margin_v1_get_copy_trading_futures_user_status.__doc__ = Client.margin_v1_get_copy_trading_futures_user_status.__doc__\n\n async def options_v1_get_margin_account(self, **params):\n return await self._request_options_api(\"get\", \"marginAccount\", signed=True, data=params)\n\n options_v1_get_margin_account.__doc__ = Client.options_v1_get_margin_account.__doc__\n\n async def margin_v1_post_localentity_withdraw_apply(self, **params):\n return await self._request_margin_api(\"post\", \"localentity/withdraw/apply\", signed=True, data=params, version=1)\n\n margin_v1_post_localentity_withdraw_apply.__doc__ = Client.margin_v1_post_localentity_withdraw_apply.__doc__\n\n async def v3_put_user_data_stream(self, **params):\n return await self._request_api(\"put\", \"userDataStream\", signed=True, data=params, version=\"v3\")\n\n async def margin_v1_get_asset_wallet_balance(self, **params):\n return await self._request_margin_api(\"get\", \"asset/wallet/balance\", signed=True, data=params, version=1)\n\n margin_v1_get_asset_wallet_balance.__doc__ = Client.margin_v1_get_asset_wallet_balance.__doc__\n\n async def margin_v1_post_broker_transfer(self, **params):\n return await self._request_margin_api(\"post\", \"broker/transfer\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_transfer.__doc__ = Client.margin_v1_post_broker_transfer.__doc__\n\n async def margin_v1_post_lending_customized_fixed_purchase(self, **params):\n return await self._request_margin_api(\"post\", \"lending/customizedFixed/purchase\", signed=True, data=params, version=1)\n\n margin_v1_post_lending_customized_fixed_purchase.__doc__ = Client.margin_v1_post_lending_customized_fixed_purchase.__doc__\n\n async def margin_v1_post_algo_futures_new_order_twap(self, **params):\n return await self._request_margin_api(\"post\", \"algo/futures/newOrderTwap\", signed=True, data=params, version=1)\n\n margin_v1_post_algo_futures_new_order_twap.__doc__ = Client.margin_v1_post_algo_futures_new_order_twap.__doc__\n\n async def margin_v2_post_eth_staking_eth_stake(self, **params):\n return await self._request_margin_api(\"post\", \"eth-staking/eth/stake\", signed=True, data=params, version=2)\n\n margin_v2_post_eth_staking_eth_stake.__doc__ = Client.margin_v2_post_eth_staking_eth_stake.__doc__\n\n async def margin_v1_post_loan_flexible_repay_history(self, **params):\n return await self._request_margin_api(\"post\", \"loan/flexible/repay/history\", signed=True, data=params, version=1)\n\n margin_v1_post_loan_flexible_repay_history.__doc__ = Client.margin_v1_post_loan_flexible_repay_history.__doc__\n\n async def v3_post_user_data_stream(self, **params):\n return await self._request_api(\"post\", \"userDataStream\", signed=True, data=params, version=\"v3\")\n\n async def margin_v1_get_lending_auto_invest_index_info(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/index/info\", signed=True, data=params, version=1)\n\n margin_v1_get_lending_auto_invest_index_info.__doc__ = Client.margin_v1_get_lending_auto_invest_index_info.__doc__\n\n async def margin_v1_get_sol_staking_sol_history_redemption_history(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/sol/history/redemptionHistory\", signed=True, data=params, version=1)\n\n margin_v1_get_sol_staking_sol_history_redemption_history.__doc__ = Client.margin_v1_get_sol_staking_sol_history_redemption_history.__doc__\n\n async def margin_v1_get_broker_rebate_futures_recent_record(self, **params):\n return await self._request_margin_api(\"get\", \"broker/rebate/futures/recentRecord\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_rebate_futures_recent_record.__doc__ = Client.margin_v1_get_broker_rebate_futures_recent_record.__doc__\n\n async def margin_v3_get_broker_sub_account_futures_summary(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount/futuresSummary\", signed=True, data=params, version=3)\n\n margin_v3_get_broker_sub_account_futures_summary.__doc__ = Client.margin_v3_get_broker_sub_account_futures_summary.__doc__\n\n async def margin_v1_post_margin_manual_liquidation(self, **params):\n return await self._request_margin_api(\"post\", \"margin/manual-liquidation\", signed=True, data=params, version=1)\n\n async def margin_v1_get_lending_auto_invest_target_asset_roi_list(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/target-asset/roi/list\", signed=True, data=params, version=1)\n\n margin_v1_get_lending_auto_invest_target_asset_roi_list.__doc__ = Client.margin_v1_get_lending_auto_invest_target_asset_roi_list.__doc__\n\n async def margin_v1_get_broker_universal_transfer(self, **params):\n return await self._request_margin_api(\"get\", \"broker/universalTransfer\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_universal_transfer.__doc__ = Client.margin_v1_get_broker_universal_transfer.__doc__\n\n async def futures_v1_put_batch_orders(self, **params):\n return await self._request_futures_api(\"put\", \"batchOrders\", signed=True, data=params, version=1)\n\n futures_v1_put_batch_orders.__doc__ = Client.futures_v1_put_batch_orders.__doc__\n\n async def options_v1_post_countdown_cancel_all_heart_beat(self, **params):\n return await self._request_options_api(\"post\", \"countdownCancelAllHeartBeat\", signed=True, data=params)\n\n options_v1_post_countdown_cancel_all_heart_beat.__doc__ = Client.options_v1_post_countdown_cancel_all_heart_beat.__doc__\n\n async def margin_v1_get_loan_collateral_data(self, **params):\n return await self._request_margin_api(\"get\", \"loan/collateral/data\", signed=True, data=params, version=1)\n\n margin_v1_get_loan_collateral_data.__doc__ = Client.margin_v1_get_loan_collateral_data.__doc__\n\n async def margin_v1_get_loan_repay_history(self, **params):\n return await self._request_margin_api(\"get\", \"loan/repay/history\", signed=True, data=params, version=1)\n\n margin_v1_get_loan_repay_history.__doc__ = Client.margin_v1_get_loan_repay_history.__doc__\n\n async def margin_v1_post_convert_limit_place_order(self, **params):\n return await self._request_margin_api(\"post\", \"convert/limit/placeOrder\", signed=True, data=params, version=1)\n\n margin_v1_post_convert_limit_place_order.__doc__ = Client.margin_v1_post_convert_limit_place_order.__doc__\n\n async def futures_v1_get_convert_exchange_info(self, **params):\n return await self._request_futures_api(\"get\", \"convert/exchangeInfo\", signed=False, data=params, version=1)\n\n futures_v1_get_convert_exchange_info.__doc__ = Client.futures_v1_get_convert_exchange_info.__doc__\n\n async def v3_get_all_order_list(self, **params):\n return await self._request_api(\"get\", \"allOrderList\", signed=True, data=params, version=\"v3\")\n\n v3_get_all_order_list.__doc__ = Client.v3_get_all_order_list.__doc__\n\n async def margin_v1_delete_broker_sub_account_api_ip_restriction_ip_list(self, **params):\n return await self._request_margin_api(\"delete\", \"broker/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)\n\n margin_v1_delete_broker_sub_account_api_ip_restriction_ip_list.__doc__ = Client.margin_v1_delete_broker_sub_account_api_ip_restriction_ip_list.__doc__\n\n async def margin_v1_post_sub_account_virtual_sub_account(self, **params):\n return await self._request_margin_api(\"post\", \"sub-account/virtualSubAccount\", signed=True, data=params, version=1)\n\n margin_v1_post_sub_account_virtual_sub_account.__doc__ = Client.margin_v1_post_sub_account_virtual_sub_account.__doc__\n\n async def margin_v1_put_localentity_deposit_provide_info(self, **params):\n return await self._request_margin_api(\"put\", \"localentity/deposit/provide-info\", signed=True, data=params, version=1)\n\n margin_v1_put_localentity_deposit_provide_info.__doc__ = Client.margin_v1_put_localentity_deposit_provide_info.__doc__\n\n async def margin_v1_post_portfolio_mint(self, **params):\n return await self._request_margin_api(\"post\", \"portfolio/mint\", signed=True, data=params, version=1)\n\n margin_v1_post_portfolio_mint.__doc__ = Client.margin_v1_post_portfolio_mint.__doc__\n\n async def futures_v1_get_order_amendment(self, **params):\n return await self._request_futures_api(\"get\", \"orderAmendment\", signed=True, data=params, version=1)\n\n futures_v1_get_order_amendment.__doc__ = Client.futures_v1_get_order_amendment.__doc__\n\n async def margin_v1_post_sol_staking_sol_claim(self, **params):\n return await self._request_margin_api(\"post\", \"sol-staking/sol/claim\", signed=True, data=params, version=1)\n\n margin_v1_post_sol_staking_sol_claim.__doc__ = Client.margin_v1_post_sol_staking_sol_claim.__doc__\n\n async def margin_v1_post_lending_daily_redeem(self, **params):\n return await self._request_margin_api(\"post\", \"lending/daily/redeem\", signed=True, data=params, version=1)\n\n margin_v1_post_lending_daily_redeem.__doc__ = Client.margin_v1_post_lending_daily_redeem.__doc__\n\n async def margin_v1_post_mining_hash_transfer_config(self, **params):\n return await self._request_margin_api(\"post\", \"mining/hash-transfer/config\", signed=True, data=params, version=1)\n\n margin_v1_post_mining_hash_transfer_config.__doc__ = Client.margin_v1_post_mining_hash_transfer_config.__doc__\n\n async def margin_v1_get_lending_auto_invest_rebalance_history(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/rebalance/history\", signed=True, data=params, version=1)\n\n margin_v1_get_lending_auto_invest_rebalance_history.__doc__ = Client.margin_v1_get_lending_auto_invest_rebalance_history.__doc__\n\n async def margin_v1_get_loan_repay_collateral_rate(self, **params):\n return await self._request_margin_api(\"get\", \"loan/repay/collateral/rate\", signed=True, data=params, version=1)\n\n margin_v1_get_loan_repay_collateral_rate.__doc__ = Client.margin_v1_get_loan_repay_collateral_rate.__doc__\n\n async def futures_v1_get_income_asyn(self, **params):\n return await self._request_futures_api(\"get\", \"income/asyn\", signed=True, data=params, version=1)\n\n futures_v1_get_income_asyn.__doc__ = Client.futures_v1_get_income_asyn.__doc__\n\n async def margin_v1_get_mining_payment_uid(self, **params):\n return await self._request_margin_api(\"get\", \"mining/payment/uid\", signed=True, data=params, version=1)\n\n margin_v1_get_mining_payment_uid.__doc__ = Client.margin_v1_get_mining_payment_uid.__doc__\n\n async def margin_v2_get_loan_flexible_borrow_history(self, **params):\n return await self._request_margin_api(\"get\", \"loan/flexible/borrow/history\", signed=True, data=params, version=2)\n\n margin_v2_get_loan_flexible_borrow_history.__doc__ = Client.margin_v2_get_loan_flexible_borrow_history.__doc__\n\n async def v3_get_order(self, **params):\n return await self._request_api(\"get\", \"order\", signed=True, data=params, version=\"v3\")\n\n async def margin_v1_get_capital_contract_convertible_coins(self, **params):\n return await self._request_margin_api(\"get\", \"capital/contract/convertible-coins\", signed=True, data=params, version=1)\n\n margin_v1_get_capital_contract_convertible_coins.__doc__ = Client.margin_v1_get_capital_contract_convertible_coins.__doc__\n\n async def margin_v1_post_broker_sub_account_api_permission_vanilla_options(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/permission/vanillaOptions\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_sub_account_api_permission_vanilla_options.__doc__ = Client.margin_v1_post_broker_sub_account_api_permission_vanilla_options.__doc__\n\n async def margin_v1_get_lending_auto_invest_redeem_history(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/redeem/history\", signed=True, data=params, version=1)\n\n margin_v1_get_lending_auto_invest_redeem_history.__doc__ = Client.margin_v1_get_lending_auto_invest_redeem_history.__doc__\n\n async def margin_v2_get_localentity_withdraw_history(self, **params):\n return await self._request_margin_api(\"get\", \"localentity/withdraw/history\", signed=True, data=params, version=2)\n\n margin_v2_get_localentity_withdraw_history.__doc__ = Client.margin_v2_get_localentity_withdraw_history.__doc__\n\n async def margin_v1_get_eth_staking_eth_history_redemption_history(self, **params):\n return await self._request_margin_api(\"get\", \"eth-staking/eth/history/redemptionHistory\", signed=True, data=params, version=1)\n\n margin_v1_get_eth_staking_eth_history_redemption_history.__doc__ = Client.margin_v1_get_eth_staking_eth_history_redemption_history.__doc__\n\n async def futures_v1_get_fee_burn(self, **params):\n return await self._request_futures_api(\"get\", \"feeBurn\", signed=True, data=params, version=1)\n\n futures_v1_get_fee_burn.__doc__ = Client.futures_v1_get_fee_burn.__doc__\n\n async def margin_v1_get_lending_auto_invest_index_user_summary(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/index/user-summary\", signed=True, data=params, version=1)\n\n margin_v1_get_lending_auto_invest_index_user_summary.__doc__ = Client.margin_v1_get_lending_auto_invest_index_user_summary.__doc__\n\n async def margin_v2_post_loan_flexible_borrow(self, **params):\n return await self._request_margin_api(\"post\", \"loan/flexible/borrow\", signed=True, data=params, version=2)\n\n margin_v2_post_loan_flexible_borrow.__doc__ = Client.margin_v2_post_loan_flexible_borrow.__doc__\n\n async def margin_v1_post_loan_vip_repay(self, **params):\n return await self._request_margin_api(\"post\", \"loan/vip/repay\", signed=True, data=params, version=1)\n\n margin_v1_post_loan_vip_repay.__doc__ = Client.margin_v1_post_loan_vip_repay.__doc__\n\n async def futures_coin_v1_get_commission_rate(self, **params):\n return await self._request_futures_coin_api(\"get\", \"commissionRate\", signed=True, data=params, version=1)\n\n futures_coin_v1_get_commission_rate.__doc__ = Client.futures_coin_v1_get_commission_rate.__doc__\n\n async def margin_v1_get_convert_asset_info(self, **params):\n return await self._request_margin_api(\"get\", \"convert/assetInfo\", signed=True, data=params, version=1)\n\n margin_v1_get_convert_asset_info.__doc__ = Client.margin_v1_get_convert_asset_info.__doc__\n\n async def v3_post_sor_order_test(self, **params):\n return await self._request_api(\"post\", \"sor/order/test\", signed=True, data=params, version=\"v3\")\n\n v3_post_sor_order_test.__doc__ = Client.v3_post_sor_order_test.__doc__\n\n async def margin_v1_post_broker_universal_transfer(self, **params):\n return await self._request_margin_api(\"post\", \"broker/universalTransfer\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_universal_transfer.__doc__ = Client.margin_v1_post_broker_universal_transfer.__doc__\n\n async def margin_v1_post_account_disable_fast_withdraw_switch(self, **params):\n return await self._request_margin_api(\"post\", \"account/disableFastWithdrawSwitch\", signed=True, data=params, version=1)\n\n margin_v1_post_account_disable_fast_withdraw_switch.__doc__ = Client.margin_v1_post_account_disable_fast_withdraw_switch.__doc__\n\n async def futures_v1_get_asset_index(self, **params):\n return await self._request_futures_api(\"get\", \"assetIndex\", signed=False, data=params, version=1)\n\n futures_v1_get_asset_index.__doc__ = Client.futures_v1_get_asset_index.__doc__\n\n async def v3_get_rate_limit_order(self, **params):\n return await self._request_api(\"get\", \"rateLimit/order\", signed=True, data=params, version=\"v3\")\n\n async def margin_v1_get_account_api_restrictions_ip_restriction(self, **params):\n return await self._request_margin_api(\"get\", \"account/apiRestrictions/ipRestriction\", signed=True, data=params, version=1)\n\n margin_v1_get_account_api_restrictions_ip_restriction.__doc__ = Client.margin_v1_get_account_api_restrictions_ip_restriction.__doc__\n\n async def margin_v1_post_broker_sub_account_bnb_burn_spot(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccount/bnbBurn/spot\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_sub_account_bnb_burn_spot.__doc__ = Client.margin_v1_post_broker_sub_account_bnb_burn_spot.__doc__\n\n async def futures_coin_v1_put_batch_orders(self, **params):\n return await self._request_futures_coin_api(\"put\", \"batchOrders\", signed=True, data=params, version=1)\n\n futures_coin_v1_put_batch_orders.__doc__ = Client.futures_coin_v1_put_batch_orders.__doc__\n\n async def v3_delete_open_orders(self, **params):\n return await self._request_api(\"delete\", \"openOrders\", signed=True, data=params, version=\"v3\")\n\n async def margin_v1_post_broker_sub_account_api_permission_universal_transfer(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/permission/universalTransfer\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_sub_account_api_permission_universal_transfer.__doc__ = Client.margin_v1_post_broker_sub_account_api_permission_universal_transfer.__doc__\n\n async def v3_get_my_allocations(self, **params):\n return await self._request_api(\"get\", \"myAllocations\", signed=True, data=params, version=\"v3\")\n\n async def margin_v1_get_loan_ltv_adjustment_history(self, **params):\n return await self._request_margin_api(\"get\", \"loan/ltv/adjustment/history\", signed=True, data=params, version=1)\n\n margin_v1_get_loan_ltv_adjustment_history.__doc__ = Client.margin_v1_get_loan_ltv_adjustment_history.__doc__\n\n async def margin_v1_get_localentity_withdraw_history(self, **params):\n return await self._request_margin_api(\"get\", \"localentity/withdraw/history\", signed=True, data=params, version=1)\n\n margin_v1_get_localentity_withdraw_history.__doc__ = Client.margin_v1_get_localentity_withdraw_history.__doc__\n\n async def margin_v2_post_sub_account_sub_account_api_ip_restriction(self, **params):\n return await self._request_margin_api(\"post\", \"sub-account/subAccountApi/ipRestriction\", signed=True, data=params, version=2)\n\n margin_v2_post_sub_account_sub_account_api_ip_restriction.__doc__ = Client.margin_v2_post_sub_account_sub_account_api_ip_restriction.__doc__\n\n async def futures_v1_get_rate_limit_order(self, **params):\n return await self._request_futures_api(\"get\", \"rateLimit/order\", signed=True, data=params, version=1)\n\n futures_v1_get_rate_limit_order.__doc__ = Client.futures_v1_get_rate_limit_order.__doc__\n\n async def margin_v1_get_broker_sub_account_api_commission_futures(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccountApi/commission/futures\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_sub_account_api_commission_futures.__doc__ = Client.margin_v1_get_broker_sub_account_api_commission_futures.__doc__\n\n async def margin_v1_get_sol_staking_sol_history_staking_history(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/sol/history/stakingHistory\", signed=True, data=params, version=1)\n\n margin_v1_get_sol_staking_sol_history_staking_history.__doc__ = Client.margin_v1_get_sol_staking_sol_history_staking_history.__doc__\n\n async def futures_v1_get_open_order(self, **params):\n return await self._request_futures_api(\"get\", \"openOrder\", signed=True, data=params, version=1)\n\n futures_v1_get_open_order.__doc__ = Client.futures_v1_get_open_order.__doc__\n\n async def margin_v1_delete_algo_spot_order(self, **params):\n return await self._request_margin_api(\"delete\", \"algo/spot/order\", signed=True, data=params, version=1)\n\n margin_v1_delete_algo_spot_order.__doc__ = Client.margin_v1_delete_algo_spot_order.__doc__\n\n async def v3_post_order(self, **params):\n return await self._request_api(\"post\", \"order\", signed=True, data=params, version=\"v3\")\n\n async def margin_v1_delete_account_api_restrictions_ip_restriction_ip_list(self, **params):\n return await self._request_margin_api(\"delete\", \"account/apiRestrictions/ipRestriction/ipList\", signed=True, data=params, version=1)\n\n margin_v1_delete_account_api_restrictions_ip_restriction_ip_list.__doc__ = Client.margin_v1_delete_account_api_restrictions_ip_restriction_ip_list.__doc__\n\n async def margin_v1_post_capital_contract_convertible_coins(self, **params):\n return await self._request_margin_api(\"post\", \"capital/contract/convertible-coins\", signed=True, data=params, version=1)\n\n margin_v1_post_capital_contract_convertible_coins.__doc__ = Client.margin_v1_post_capital_contract_convertible_coins.__doc__\n\n async def margin_v1_get_managed_subaccount_margin_asset(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/marginAsset\", signed=True, data=params, version=1)\n\n margin_v1_get_managed_subaccount_margin_asset.__doc__ = Client.margin_v1_get_managed_subaccount_margin_asset.__doc__\n\n async def v3_delete_order_list(self, **params):\n return await self._request_api(\"delete\", \"orderList\", signed=True, data=params, version=\"v3\")\n\n v3_delete_order_list.__doc__ = Client.v3_delete_order_list.__doc__\n\n async def margin_v1_post_sub_account_sub_account_api_ip_restriction_ip_list(self, **params):\n return await self._request_margin_api(\"post\", \"sub-account/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)\n\n margin_v1_post_sub_account_sub_account_api_ip_restriction_ip_list.__doc__ = Client.margin_v1_post_sub_account_sub_account_api_ip_restriction_ip_list.__doc__\n\n async def margin_v1_post_broker_sub_account_api_commission(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/commission\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_sub_account_api_commission.__doc__ = Client.margin_v1_post_broker_sub_account_api_commission.__doc__\n\n async def futures_v1_post_fee_burn(self, **params):\n return await self._request_futures_api(\"post\", \"feeBurn\", signed=True, data=params, version=1)\n\n futures_v1_post_fee_burn.__doc__ = Client.futures_v1_post_fee_burn.__doc__\n\n async def margin_v1_get_broker_sub_account_margin_summary(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount/marginSummary\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_sub_account_margin_summary.__doc__ = Client.margin_v1_get_broker_sub_account_margin_summary.__doc__\n\n async def margin_v1_get_lending_auto_invest_plan_list(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/plan/list\", signed=True, data=params, version=1)\n\n margin_v1_get_lending_auto_invest_plan_list.__doc__ = Client.margin_v1_get_lending_auto_invest_plan_list.__doc__\n\n async def margin_v1_get_loan_vip_loanable_data(self, **params):\n return await self._request_margin_api(\"get\", \"loan/vip/loanable/data\", signed=True, data=params, version=1)\n\n margin_v1_get_loan_vip_loanable_data.__doc__ = Client.margin_v1_get_loan_vip_loanable_data.__doc__\n\n async def margin_v2_get_loan_flexible_collateral_data(self, **params):\n return await self._request_margin_api(\"get\", \"loan/flexible/collateral/data\", signed=True, data=params, version=2)\n\n margin_v2_get_loan_flexible_collateral_data.__doc__ = Client.margin_v2_get_loan_flexible_collateral_data.__doc__\n\n async def margin_v1_delete_broker_sub_account_api(self, **params):\n return await self._request_margin_api(\"delete\", \"broker/subAccountApi\", signed=True, data=params, version=1)\n\n margin_v1_delete_broker_sub_account_api.__doc__ = Client.margin_v1_delete_broker_sub_account_api.__doc__\n\n async def margin_v1_get_sol_staking_sol_history_bnsol_rewards_history(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/sol/history/bnsolRewardsHistory\", signed=True, data=params, version=1)\n\n margin_v1_get_sol_staking_sol_history_bnsol_rewards_history.__doc__ = Client.margin_v1_get_sol_staking_sol_history_bnsol_rewards_history.__doc__\n\n async def margin_v1_get_convert_limit_query_open_orders(self, **params):\n return await self._request_margin_api(\"get\", \"convert/limit/queryOpenOrders\", signed=True, data=params, version=1)\n\n margin_v1_get_convert_limit_query_open_orders.__doc__ = Client.margin_v1_get_convert_limit_query_open_orders.__doc__\n\n async def v3_get_account_commission(self, **params):\n return await self._request_api(\"get\", \"account/commission\", signed=True, data=params, version=\"v3\")\n\n v3_get_account_commission.__doc__ = Client.v3_get_account_commission.__doc__\n\n async def v3_post_order_list_oco(self, **params):\n return await self._request_api(\"post\", \"orderList/oco\", signed=True, data=params, version=\"v3\")\n\n async def margin_v1_get_managed_subaccount_query_trans_log(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/query-trans-log\", signed=True, data=params, version=1)\n\n margin_v1_get_managed_subaccount_query_trans_log.__doc__ = Client.margin_v1_get_managed_subaccount_query_trans_log.__doc__\n\n async def margin_v2_post_broker_sub_account_api_ip_restriction(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/ipRestriction\", signed=True, data=params, version=2)\n\n margin_v2_post_broker_sub_account_api_ip_restriction.__doc__ = Client.margin_v2_post_broker_sub_account_api_ip_restriction.__doc__\n\n async def margin_v1_get_lending_auto_invest_all_asset(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/all/asset\", signed=True, data=params, version=1)\n\n margin_v1_get_lending_auto_invest_all_asset.__doc__ = Client.margin_v1_get_lending_auto_invest_all_asset.__doc__\n\n async def futures_v1_post_convert_accept_quote(self, **params):\n return await self._request_futures_api(\"post\", \"convert/acceptQuote\", signed=True, data=params, version=1)\n\n futures_v1_post_convert_accept_quote.__doc__ = Client.futures_v1_post_convert_accept_quote.__doc__\n\n async def margin_v1_get_spot_delist_schedule(self, **params):\n return await self._request_margin_api(\"get\", \"spot/delist-schedule\", signed=True, data=params, version=1)\n\n margin_v1_get_spot_delist_schedule.__doc__ = Client.margin_v1_get_spot_delist_schedule.__doc__\n\n async def margin_v1_post_account_api_restrictions_ip_restriction(self, **params):\n return await self._request_margin_api(\"post\", \"account/apiRestrictions/ipRestriction\", signed=True, data=params, version=1)\n\n margin_v1_post_account_api_restrictions_ip_restriction.__doc__ = Client.margin_v1_post_account_api_restrictions_ip_restriction.__doc__\n\n async def margin_v1_get_dci_product_accounts(self, **params):\n return await self._request_margin_api(\"get\", \"dci/product/accounts\", signed=True, data=params, version=1)\n\n margin_v1_get_dci_product_accounts.__doc__ = Client.margin_v1_get_dci_product_accounts.__doc__\n\n async def margin_v1_get_sub_account_sub_account_api_ip_restriction(self, **params):\n return await self._request_margin_api(\"get\", \"sub-account/subAccountApi/ipRestriction\", signed=True, data=params, version=1)\n\n margin_v1_get_sub_account_sub_account_api_ip_restriction.__doc__ = Client.margin_v1_get_sub_account_sub_account_api_ip_restriction.__doc__\n\n async def margin_v1_get_sub_account_transaction_statistics(self, **params):\n return await self._request_margin_api(\"get\", \"sub-account/transaction-statistics\", signed=True, data=params, version=1)\n\n margin_v1_get_sub_account_transaction_statistics.__doc__ = Client.margin_v1_get_sub_account_transaction_statistics.__doc__\n\n async def margin_v1_get_managed_subaccount_deposit_address(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/deposit/address\", signed=True, data=params, version=1)\n\n margin_v1_get_managed_subaccount_deposit_address.__doc__ = Client.margin_v1_get_managed_subaccount_deposit_address.__doc__\n\n async def margin_v2_get_portfolio_account(self, **params):\n return await self._request_margin_api(\"get\", \"portfolio/account\", signed=True, data=params, version=2)\n\n margin_v2_get_portfolio_account.__doc__ = Client.margin_v2_get_portfolio_account.__doc__\n\n async def margin_v1_get_simple_earn_locked_history_redemption_record(self, **params):\n return await self._request_margin_api(\"get\", \"simple-earn/locked/history/redemptionRecord\", signed=True, data=params, version=1)\n\n margin_v1_get_simple_earn_locked_history_redemption_record.__doc__ = Client.margin_v1_get_simple_earn_locked_history_redemption_record.__doc__\n\n async def futures_v1_get_order_asyn_id(self, **params):\n return await self._request_futures_api(\"get\", \"order/asyn/id\", signed=True, data=params, version=1)\n\n futures_v1_get_order_asyn_id.__doc__ = Client.futures_v1_get_order_asyn_id.__doc__\n\n async def margin_v1_post_managed_subaccount_withdraw(self, **params):\n return await self._request_margin_api(\"post\", \"managed-subaccount/withdraw\", signed=True, data=params, version=1)\n\n margin_v1_post_managed_subaccount_withdraw.__doc__ = Client.margin_v1_post_managed_subaccount_withdraw.__doc__\n\n async def margin_v1_get_localentity_deposit_history(self, **params):\n return await self._request_margin_api(\"get\", \"localentity/deposit/history\", signed=True, data=params, version=1)\n\n margin_v1_get_localentity_deposit_history.__doc__ = Client.margin_v1_get_localentity_deposit_history.__doc__\n\n async def margin_v1_post_eth_staking_wbeth_wrap(self, **params):\n return await self._request_margin_api(\"post\", \"eth-staking/wbeth/wrap\", signed=True, data=params, version=1)\n\n margin_v1_post_eth_staking_wbeth_wrap.__doc__ = Client.margin_v1_post_eth_staking_wbeth_wrap.__doc__\n\n async def margin_v1_post_simple_earn_locked_set_redeem_option(self, **params):\n return await self._request_margin_api(\"post\", \"simple-earn/locked/setRedeemOption\", signed=True, data=params, version=1)\n\n margin_v1_post_simple_earn_locked_set_redeem_option.__doc__ = Client.margin_v1_post_simple_earn_locked_set_redeem_option.__doc__\n\n async def margin_v1_post_broker_sub_account_api_ip_restriction_ip_list(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/ipRestriction/ipList\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_sub_account_api_ip_restriction_ip_list.__doc__ = Client.margin_v1_post_broker_sub_account_api_ip_restriction_ip_list.__doc__\n\n async def margin_v1_post_broker_sub_account_api_commission_futures(self, **params):\n return await self._request_margin_api(\"post\", \"broker/subAccountApi/commission/futures\", signed=True, data=params, version=1)\n\n margin_v1_post_broker_sub_account_api_commission_futures.__doc__ = Client.margin_v1_post_broker_sub_account_api_commission_futures.__doc__\n\n async def v3_get_open_orders(self, **params):\n return await self._request_api(\"get\", \"openOrders\", signed=True, data=params, version=\"v3\")\n\n async def margin_v1_get_lending_auto_invest_history_list(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/history/list\", signed=True, data=params, version=1)\n\n margin_v1_get_lending_auto_invest_history_list.__doc__ = Client.margin_v1_get_lending_auto_invest_history_list.__doc__\n\n async def margin_v1_post_loan_customize_margin_call(self, **params):\n return await self._request_margin_api(\"post\", \"loan/customize/margin_call\", signed=True, data=params, version=1)\n\n margin_v1_post_loan_customize_margin_call.__doc__ = Client.margin_v1_post_loan_customize_margin_call.__doc__\n\n async def margin_v1_get_broker_sub_account_bnb_burn_status(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount/bnbBurn/status\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_sub_account_bnb_burn_status.__doc__ = Client.margin_v1_get_broker_sub_account_bnb_burn_status.__doc__\n\n async def margin_v1_get_managed_subaccount_account_snapshot(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/accountSnapshot\", signed=True, data=params, version=1)\n\n margin_v1_get_managed_subaccount_account_snapshot.__doc__ = Client.margin_v1_get_managed_subaccount_account_snapshot.__doc__\n\n async def margin_v1_post_asset_convert_transfer(self, **params):\n return await self._request_margin_api(\"post\", \"asset/convert-transfer\", signed=True, data=params, version=1)\n\n margin_v1_post_asset_convert_transfer.__doc__ = Client.margin_v1_post_asset_convert_transfer.__doc__\n\n async def options_v1_get_income_asyn(self, **params):\n return await self._request_options_api(\"get\", \"income/asyn\", signed=True, data=params)\n\n options_v1_get_income_asyn.__doc__ = Client.options_v1_get_income_asyn.__doc__\n\n async def margin_v1_get_broker_sub_account_api_commission_coin_futures(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccountApi/commission/coinFutures\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_sub_account_api_commission_coin_futures.__doc__ = Client.margin_v1_get_broker_sub_account_api_commission_coin_futures.__doc__\n\n async def margin_v2_get_broker_sub_account_futures_summary(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccount/futuresSummary\", signed=True, data=params, version=2)\n\n margin_v2_get_broker_sub_account_futures_summary.__doc__ = Client.margin_v2_get_broker_sub_account_futures_summary.__doc__\n\n async def margin_v1_get_loan_ongoing_orders(self, **params):\n return await self._request_margin_api(\"get\", \"loan/ongoing/orders\", signed=True, data=params, version=1)\n\n margin_v1_get_loan_ongoing_orders.__doc__ = Client.margin_v1_get_loan_ongoing_orders.__doc__\n\n async def margin_v2_get_loan_flexible_ongoing_orders(self, **params):\n return await self._request_margin_api(\"get\", \"loan/flexible/ongoing/orders\", signed=True, data=params, version=2)\n\n margin_v2_get_loan_flexible_ongoing_orders.__doc__ = Client.margin_v2_get_loan_flexible_ongoing_orders.__doc__\n\n async def margin_v1_post_algo_futures_new_order_vp(self, **params):\n return await self._request_margin_api(\"post\", \"algo/futures/newOrderVp\", signed=True, data=params, version=1)\n\n margin_v1_post_algo_futures_new_order_vp.__doc__ = Client.margin_v1_post_algo_futures_new_order_vp.__doc__\n\n async def futures_v1_post_convert_get_quote(self, **params):\n return await self._request_futures_api(\"post\", \"convert/getQuote\", signed=True, data=params, version=1)\n\n futures_v1_post_convert_get_quote.__doc__ = Client.futures_v1_post_convert_get_quote.__doc__\n\n async def margin_v1_get_algo_spot_sub_orders(self, **params):\n return await self._request_margin_api(\"get\", \"algo/spot/subOrders\", signed=True, data=params, version=1)\n\n margin_v1_get_algo_spot_sub_orders.__doc__ = Client.margin_v1_get_algo_spot_sub_orders.__doc__\n\n async def margin_v1_post_portfolio_redeem(self, **params):\n return await self._request_margin_api(\"post\", \"portfolio/redeem\", signed=True, data=params, version=1)\n\n margin_v1_post_portfolio_redeem.__doc__ = Client.margin_v1_post_portfolio_redeem.__doc__\n\n async def margin_v1_post_lending_auto_invest_plan_add(self, **params):\n return await self._request_margin_api(\"post\", \"lending/auto-invest/plan/add\", signed=True, data=params, version=1)\n\n margin_v1_post_lending_auto_invest_plan_add.__doc__ = Client.margin_v1_post_lending_auto_invest_plan_add.__doc__\n\n async def v3_get_order_list(self, **params):\n return await self._request_api(\"get\", \"orderList\", signed=True, data=params, version=\"v3\")\n\n v3_get_order_list.__doc__ = Client.v3_get_order_list.__doc__\n\n async def v3_get_my_trades(self, **params):\n return await self._request_api(\"get\", \"myTrades\", signed=True, data=params, version=\"v3\")\n\n async def margin_v1_get_lending_auto_invest_source_asset_list(self, **params):\n return await self._request_margin_api(\"get\", \"lending/auto-invest/source-asset/list\", signed=True, data=params, version=1)\n\n margin_v1_get_lending_auto_invest_source_asset_list.__doc__ = Client.margin_v1_get_lending_auto_invest_source_asset_list.__doc__\n\n async def margin_v1_get_margin_all_order_list(self, **params):\n return await self._request_margin_api(\"get\", \"margin/allOrderList\", signed=True, data=params, version=1)\n\n margin_v1_get_margin_all_order_list.__doc__ = Client.margin_v1_get_margin_all_order_list.__doc__\n\n async def margin_v1_post_eth_staking_eth_redeem(self, **params):\n return await self._request_margin_api(\"post\", \"eth-staking/eth/redeem\", signed=True, data=params, version=1)\n\n margin_v1_post_eth_staking_eth_redeem.__doc__ = Client.margin_v1_post_eth_staking_eth_redeem.__doc__\n\n async def margin_v1_get_broker_rebate_historical_record(self, **params):\n return await self._request_margin_api(\"get\", \"broker/rebate/historicalRecord\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_rebate_historical_record.__doc__ = Client.margin_v1_get_broker_rebate_historical_record.__doc__\n\n async def margin_v1_get_simple_earn_locked_history_subscription_record(self, **params):\n return await self._request_margin_api(\"get\", \"simple-earn/locked/history/subscriptionRecord\", signed=True, data=params, version=1)\n\n margin_v1_get_simple_earn_locked_history_subscription_record.__doc__ = Client.margin_v1_get_simple_earn_locked_history_subscription_record.__doc__\n\n async def futures_coin_v1_put_order(self, **params):\n return await self._request_futures_coin_api(\"put\", \"order\", signed=True, data=params, version=1)\n\n futures_coin_v1_put_order.__doc__ = Client.futures_coin_v1_put_order.__doc__\n\n async def margin_v1_get_managed_subaccount_asset(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/asset\", signed=True, data=params, version=1)\n\n margin_v1_get_managed_subaccount_asset.__doc__ = Client.margin_v1_get_managed_subaccount_asset.__doc__\n\n async def margin_v1_get_sol_staking_sol_quota(self, **params):\n return await self._request_margin_api(\"get\", \"sol-staking/sol/quota\", signed=True, data=params, version=1)\n\n margin_v1_get_sol_staking_sol_quota.__doc__ = Client.margin_v1_get_sol_staking_sol_quota.__doc__\n\n async def margin_v1_post_loan_vip_renew(self, **params):\n return await self._request_margin_api(\"post\", \"loan/vip/renew\", signed=True, data=params, version=1)\n\n margin_v1_post_loan_vip_renew.__doc__ = Client.margin_v1_post_loan_vip_renew.__doc__\n\n async def margin_v1_get_managed_subaccount_query_trans_log_for_trade_parent(self, **params):\n return await self._request_margin_api(\"get\", \"managed-subaccount/queryTransLogForTradeParent\", signed=True, data=params, version=1)\n\n margin_v1_get_managed_subaccount_query_trans_log_for_trade_parent.__doc__ = Client.margin_v1_get_managed_subaccount_query_trans_log_for_trade_parent.__doc__\n\n async def margin_v1_post_sub_account_sub_account_api_ip_restriction(self, **params):\n return await self._request_margin_api(\"post\", \"sub-account/subAccountApi/ipRestriction\", signed=True, data=params, version=1)\n\n margin_v1_post_sub_account_sub_account_api_ip_restriction.__doc__ = Client.margin_v1_post_sub_account_sub_account_api_ip_restriction.__doc__\n\n async def margin_v1_get_simple_earn_flexible_history_redemption_record(self, **params):\n return await self._request_margin_api(\"get\", \"simple-earn/flexible/history/redemptionRecord\", signed=True, data=params, version=1)\n\n margin_v1_get_simple_earn_flexible_history_redemption_record.__doc__ = Client.margin_v1_get_simple_earn_flexible_history_redemption_record.__doc__\n\n async def margin_v1_get_broker_sub_account_api(self, **params):\n return await self._request_margin_api(\"get\", \"broker/subAccountApi\", signed=True, data=params, version=1)\n\n margin_v1_get_broker_sub_account_api.__doc__ = Client.margin_v1_get_broker_sub_account_api.__doc__\n\n async def options_v1_get_exercise_history(self, **params):\n return await self._request_options_api(\"get\", \"exerciseHistory\", signed=False, data=params)\n\n options_v1_get_exercise_history.__doc__ = Client.options_v1_get_exercise_history.__doc__\n\n async def margin_v1_get_convert_exchange_info(self, **params):\n return await self._request_margin_api(\"get\", \"convert/exchangeInfo\", signed=False, data=params, version=1)\n\n margin_v1_get_convert_exchange_info.__doc__ = Client.margin_v1_get_convert_exchange_info.__doc__\n\n async def futures_v1_delete_batch_order(self, **params):\n return await self._request_futures_api(\"delete\", \"batchOrder\", signed=True, data=params, version=1)\n\n futures_v1_delete_batch_order.__doc__ = Client.futures_v1_delete_batch_order.__doc__\n\n async def margin_v1_get_eth_staking_eth_history_wbeth_rewards_history(self, **params):\n return await self._request_margin_api(\"get\", \"eth-staking/eth/history/wbethRewardsHistory\", signed=True, data=params, version=1)\n\n margin_v1_get_eth_staking_eth_history_wbeth_rewards_history.__doc__ = Client.margin_v1_get_eth_staking_eth_history_wbeth_rewards_history.__doc__\n\n async def margin_v1_get_mining_pub_algo_list(self, **params):\n return await self._request_margin_api(\"get\", \"mining/pub/algoList\", signed=True, data=params, version=1)\n\n margin_v1_get_mining_pub_algo_list.__doc__ = Client.margin_v1_get_mining_pub_algo_list.__doc__\n\n async def options_v1_get_block_trades(self, **params):\n return await self._request_options_api(\"get\", \"blockTrades\", signed=False, data=params)\n\n options_v1_get_block_trades.__doc__ = Client.options_v1_get_block_trades.__doc__\n\n async def margin_v1_get_copy_trading_futures_lead_symbol(self, **params):\n return await self._request_margin_api(\"get\", \"copyTrading/futures/leadSymbol\", signed=True, data=params, version=1)\n\n margin_v1_get_copy_trading_futures_lead_symbol.__doc__ = Client.margin_v1_get_copy_trading_futures_lead_symbol.__doc__\n\n async def margin_v1_get_mining_worker_list(self, **params):\n return await self._request_margin_api(\"get\", \"mining/worker/list\", signed=True, data=params, version=1)\n\n margin_v1_get_mining_worker_list.__doc__ = Client.margin_v1_get_mining_worker_list.__doc__\n\n async def margin_v1_get_dci_product_list(self, **params):\n return await self._request_margin_api(\"get\", \"dci/product/list\", signed=True, data=params, version=1)\n\n margin_v1_get_dci_product_list.__doc__ = Client.margin_v1_get_dci_product_list.__doc__\n\n async def futures_v1_get_convert_order_status(self, **params):\n return await self._request_futures_api(\"get\", \"convert/orderStatus\", signed=True, data=params, version=1)\n\n futures_v1_get_convert_order_status.__doc__ = Client.futures_v1_get_convert_order_status.__doc__", + "inherited_members": { + "binance.base_client.BaseClient": [ + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.API_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.API_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.API_DEMO_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MARGIN_API_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.WEBSITE_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_DEMO_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_DATA_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_DATA_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_COIN_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_COIN_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_COIN_DEMO_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_COIN_DATA_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_COIN_DATA_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.OPTIONS_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.OPTIONS_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.PAPI_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.WS_API_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.WS_API_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.WS_API_DEMO_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.WS_FUTURES_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.WS_FUTURES_TESTNET_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.WS_FUTURES_DEMO_URL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.PUBLIC_API_VERSION" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.PRIVATE_API_VERSION" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MARGIN_API_VERSION" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MARGIN_API_VERSION2" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MARGIN_API_VERSION3" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MARGIN_API_VERSION4" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_API_VERSION" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_API_VERSION2" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURES_API_VERSION3" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.OPTIONS_API_VERSION" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.PORTFOLIO_API_VERSION" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.PORTFOLIO_API_VERSION2" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.BASE_ENDPOINT_DEFAULT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.BASE_ENDPOINT_1" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.BASE_ENDPOINT_2" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.BASE_ENDPOINT_3" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.BASE_ENDPOINT_4" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.REQUEST_TIMEOUT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.REQUEST_RECVWINDOW" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SYMBOL_TYPE_SPOT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_STATUS_NEW" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_STATUS_PARTIALLY_FILLED" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_STATUS_FILLED" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_STATUS_CANCELED" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_STATUS_PENDING_CANCEL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_STATUS_REJECTED" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_STATUS_EXPIRED" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_1SECOND" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_1MINUTE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_3MINUTE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_5MINUTE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_15MINUTE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_30MINUTE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_1HOUR" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_2HOUR" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_4HOUR" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_6HOUR" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_8HOUR" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_12HOUR" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_1DAY" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_3DAY" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_1WEEK" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.KLINE_INTERVAL_1MONTH" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SIDE_BUY" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SIDE_SELL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_TYPE_LIMIT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_TYPE_MARKET" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_TYPE_STOP_LOSS" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_TYPE_STOP_LOSS_LIMIT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_TYPE_TAKE_PROFIT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_TYPE_TAKE_PROFIT_LIMIT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_TYPE_LIMIT_MAKER" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURE_ORDER_TYPE_LIMIT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURE_ORDER_TYPE_MARKET" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURE_ORDER_TYPE_STOP" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURE_ORDER_TYPE_STOP_MARKET" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURE_ORDER_TYPE_TAKE_PROFIT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURE_ORDER_TYPE_TAKE_PROFIT_MARKET" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FUTURE_ORDER_TYPE_LIMIT_MAKER" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.TIME_IN_FORCE_GTC" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.TIME_IN_FORCE_IOC" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.TIME_IN_FORCE_FOK" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_RESP_TYPE_ACK" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_RESP_TYPE_RESULT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ORDER_RESP_TYPE_FULL" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_ID" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_PRICE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_QUANTITY" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_FIRST_TRADE_ID" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_LAST_TRADE_ID" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_TIME" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_BUYER_MAKES" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.AGG_BEST_MATCH" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SPOT_TO_FIAT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SPOT_TO_USDT_FUTURE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SPOT_TO_COIN_FUTURE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SPOT_TO_MARGIN_CROSS" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SPOT_TO_MINING" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FIAT_TO_SPOT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FIAT_TO_USDT_FUTURE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.FIAT_TO_MINING" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.USDT_FUTURE_TO_SPOT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.USDT_FUTURE_TO_FIAT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.USDT_FUTURE_TO_MARGIN_CROSS" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.COIN_FUTURE_TO_SPOT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MARGIN_CROSS_TO_SPOT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MARGIN_CROSS_TO_USDT_FUTURE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MINING_TO_SPOT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MINING_TO_USDT_FUTURE" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.MINING_TO_FIAT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.SPOT_ORDER_PREFIX" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.CONTRACT_ORDER_PREFIX" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.tld" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.API_KEY" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.API_SECRET" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.TIME_UNIT" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient._is_rsa" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.PRIVATE_KEY" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.session" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient._requests_params" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.response" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.testnet" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.demo" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.timestamp_offset" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ws_api" + }, + { + "kind": "attribute", + "path": "binance.base_client.BaseClient.ws_future" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._get_headers" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._init_private_key" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_api_uri" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_margin_api_uri" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_papi_api_uri" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_website_uri" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_futures_api_uri" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_futures_data_api_uri" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_futures_coin_api_url" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_futures_coin_data_api_url" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._create_options_api_uri" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._rsa_signature" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient.encode_uri_component" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient.convert_to_dict" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._ed25519_signature" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._hmac_signature" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._generate_signature" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._sign_ws_params" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._generate_ws_api_signature" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._ws_futures_api_request" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._ws_futures_api_request_sync" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._make_sync" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._ws_api_request" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._ws_api_request_sync" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._get_version" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient.uuid22" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._order_params" + }, + { + "kind": "function", + "path": "binance.base_client.BaseClient._get_request_kwargs" + } + ] + } + } + }, + "functions": {} + }, + "exceptions": { + "name": "exceptions", + "path": "binance.exceptions", + "filepath": "/Users/pablo/github/python-binance/binance/exceptions.py", + "description": null, + "docstring": [], + "attributes": [], + "modules": {}, + "classes": { + "BinanceAPIException": { + "name": "BinanceAPIException", + "path": "binance.exceptions.BinanceAPIException", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "response", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "status_code", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "text", + "annotation": null, + "description": null, + "value": null + } + ], + "attributes": [ + { + "name": "code", + "annotation": null, + "description": null, + "value": "json_res.get('code')" + }, + { + "name": "message", + "annotation": null, + "description": null, + "value": "json_res.get('msg')" + }, + { + "name": "status_code", + "annotation": null, + "description": null, + "value": "status_code" + }, + { + "name": "response", + "annotation": null, + "description": null, + "value": "response" + }, + { + "name": "request", + "annotation": null, + "description": null, + "value": "getattr(response, 'request', None)" + } + ], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.exceptions.BinanceAPIException.__init__", + "signature": "(self, response, status_code, text)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "response", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "status_code", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "text", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(self, response, status_code, text):\n self.code = 0\n try:\n json_res = json.loads(text)\n except ValueError:\n self.message = \"Invalid JSON error message from Binance: {}\".format(\n response.text\n )\n else:\n self.code = json_res.get(\"code\")\n self.message = json_res.get(\"msg\")\n self.status_code = status_code\n self.response = response\n self.request = getattr(response, \"request\", None)" + }, + "__str__": { + "name": "__str__", + "path": "binance.exceptions.BinanceAPIException.__str__", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __str__(self): # pragma: no cover\n return \"APIError(code=%s): %s\" % (self.code, self.message)" + } + }, + "source": "class BinanceAPIException(Exception):\n def __init__(self, response, status_code, text):\n self.code = 0\n try:\n json_res = json.loads(text)\n except ValueError:\n self.message = \"Invalid JSON error message from Binance: {}\".format(\n response.text\n )\n else:\n self.code = json_res.get(\"code\")\n self.message = json_res.get(\"msg\")\n self.status_code = status_code\n self.response = response\n self.request = getattr(response, \"request\", None)\n\n def __str__(self): # pragma: no cover\n return \"APIError(code=%s): %s\" % (self.code, self.message)", + "inherited_members": {} + }, + "BinanceRequestException": { + "name": "BinanceRequestException", + "path": "binance.exceptions.BinanceRequestException", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "message", + "annotation": null, + "description": null, + "value": null + } + ], + "attributes": [ + { + "name": "message", + "annotation": null, + "description": null, + "value": "message" + } + ], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.exceptions.BinanceRequestException.__init__", + "signature": "(self, message)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "message", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(self, message):\n self.message = message" + }, + "__str__": { + "name": "__str__", + "path": "binance.exceptions.BinanceRequestException.__str__", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __str__(self):\n return \"BinanceRequestException: %s\" % self.message" + } + }, + "source": "class BinanceRequestException(Exception):\n def __init__(self, message):\n self.message = message\n\n def __str__(self):\n return \"BinanceRequestException: %s\" % self.message", + "inherited_members": {} + }, + "BinanceOrderException": { + "name": "BinanceOrderException", + "path": "binance.exceptions.BinanceOrderException", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "code", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "message", + "annotation": null, + "description": null, + "value": null + } + ], + "attributes": [ + { + "name": "code", + "annotation": null, + "description": null, + "value": "code" + }, + { + "name": "message", + "annotation": null, + "description": null, + "value": "message" + } + ], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.exceptions.BinanceOrderException.__init__", + "signature": "(self, code, message)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "code", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "message", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(self, code, message):\n self.code = code\n self.message = message" + }, + "__str__": { + "name": "__str__", + "path": "binance.exceptions.BinanceOrderException.__str__", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __str__(self):\n return \"BinanceOrderException(code=%s): %s\" % (self.code, self.message)" + } + }, + "source": "class BinanceOrderException(Exception):\n def __init__(self, code, message):\n self.code = code\n self.message = message\n\n def __str__(self):\n return \"BinanceOrderException(code=%s): %s\" % (self.code, self.message)", + "inherited_members": {} + }, + "BinanceOrderMinAmountException": { + "name": "BinanceOrderMinAmountException", + "path": "binance.exceptions.BinanceOrderMinAmountException", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "value", + "annotation": null, + "description": null, + "value": null + } + ], + "attributes": [], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.exceptions.BinanceOrderMinAmountException.__init__", + "signature": "(self, value)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "value", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(self, value):\n message = \"Amount must be a multiple of %s\" % value\n super().__init__(-1013, message)" + } + }, + "source": "class BinanceOrderMinAmountException(BinanceOrderException):\n def __init__(self, value):\n message = \"Amount must be a multiple of %s\" % value\n super().__init__(-1013, message)", + "inherited_members": { + "binance.exceptions.BinanceOrderException": [ + { + "kind": "attribute", + "path": "binance.exceptions.BinanceOrderException.code" + }, + { + "kind": "attribute", + "path": "binance.exceptions.BinanceOrderException.message" + }, + { + "kind": "function", + "path": "binance.exceptions.BinanceOrderException.__str__" + } + ] + } + }, + "BinanceOrderMinPriceException": { + "name": "BinanceOrderMinPriceException", + "path": "binance.exceptions.BinanceOrderMinPriceException", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "value", + "annotation": null, + "description": null, + "value": null + } + ], + "attributes": [], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.exceptions.BinanceOrderMinPriceException.__init__", + "signature": "(self, value)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "value", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(self, value):\n message = \"Price must be at least %s\" % value\n super().__init__(-1013, message)" + } + }, + "source": "class BinanceOrderMinPriceException(BinanceOrderException):\n def __init__(self, value):\n message = \"Price must be at least %s\" % value\n super().__init__(-1013, message)", + "inherited_members": { + "binance.exceptions.BinanceOrderException": [ + { + "kind": "attribute", + "path": "binance.exceptions.BinanceOrderException.code" + }, + { + "kind": "attribute", + "path": "binance.exceptions.BinanceOrderException.message" + }, + { + "kind": "function", + "path": "binance.exceptions.BinanceOrderException.__str__" + } + ] + } + }, + "BinanceOrderMinTotalException": { + "name": "BinanceOrderMinTotalException", + "path": "binance.exceptions.BinanceOrderMinTotalException", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "value", + "annotation": null, + "description": null, + "value": null + } + ], + "attributes": [], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.exceptions.BinanceOrderMinTotalException.__init__", + "signature": "(self, value)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "value", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(self, value):\n message = \"Total must be at least %s\" % value\n super().__init__(-1013, message)" + } + }, + "source": "class BinanceOrderMinTotalException(BinanceOrderException):\n def __init__(self, value):\n message = \"Total must be at least %s\" % value\n super().__init__(-1013, message)", + "inherited_members": { + "binance.exceptions.BinanceOrderException": [ + { + "kind": "attribute", + "path": "binance.exceptions.BinanceOrderException.code" + }, + { + "kind": "attribute", + "path": "binance.exceptions.BinanceOrderException.message" + }, + { + "kind": "function", + "path": "binance.exceptions.BinanceOrderException.__str__" + } + ] + } + }, + "BinanceOrderUnknownSymbolException": { + "name": "BinanceOrderUnknownSymbolException", + "path": "binance.exceptions.BinanceOrderUnknownSymbolException", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "value", + "annotation": null, + "description": null, + "value": null + } + ], + "attributes": [], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.exceptions.BinanceOrderUnknownSymbolException.__init__", + "signature": "(self, value)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "value", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(self, value):\n message = \"Unknown symbol %s\" % value\n super().__init__(-1013, message)" + } + }, + "source": "class BinanceOrderUnknownSymbolException(BinanceOrderException):\n def __init__(self, value):\n message = \"Unknown symbol %s\" % value\n super().__init__(-1013, message)", + "inherited_members": { + "binance.exceptions.BinanceOrderException": [ + { + "kind": "attribute", + "path": "binance.exceptions.BinanceOrderException.code" + }, + { + "kind": "attribute", + "path": "binance.exceptions.BinanceOrderException.message" + }, + { + "kind": "function", + "path": "binance.exceptions.BinanceOrderException.__str__" + } + ] + } + }, + "BinanceOrderInactiveSymbolException": { + "name": "BinanceOrderInactiveSymbolException", + "path": "binance.exceptions.BinanceOrderInactiveSymbolException", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "value", + "annotation": null, + "description": null, + "value": null + } + ], + "attributes": [], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.exceptions.BinanceOrderInactiveSymbolException.__init__", + "signature": "(self, value)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "value", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(self, value):\n message = \"Attempting to trade an inactive symbol %s\" % value\n super().__init__(-1013, message)" + } + }, + "source": "class BinanceOrderInactiveSymbolException(BinanceOrderException):\n def __init__(self, value):\n message = \"Attempting to trade an inactive symbol %s\" % value\n super().__init__(-1013, message)", + "inherited_members": { + "binance.exceptions.BinanceOrderException": [ + { + "kind": "attribute", + "path": "binance.exceptions.BinanceOrderException.code" + }, + { + "kind": "attribute", + "path": "binance.exceptions.BinanceOrderException.message" + }, + { + "kind": "function", + "path": "binance.exceptions.BinanceOrderException.__str__" + } + ] + } + }, + "BinanceWebsocketUnableToConnect": { + "name": "BinanceWebsocketUnableToConnect", + "path": "binance.exceptions.BinanceWebsocketUnableToConnect", + "description": null, + "parameters": [], + "attributes": [], + "docstring": [], + "functions": {}, + "source": "class BinanceWebsocketUnableToConnect(Exception):\n pass", + "inherited_members": {} + }, + "BinanceWebsocketQueueOverflow": { + "name": "BinanceWebsocketQueueOverflow", + "path": "binance.exceptions.BinanceWebsocketQueueOverflow", + "description": "Raised when the websocket message queue exceeds its maximum size.", + "parameters": [], + "attributes": [], + "docstring": [], + "functions": {}, + "source": "class BinanceWebsocketQueueOverflow(Exception):\n \"\"\"Raised when the websocket message queue exceeds its maximum size.\"\"\"\n pass", + "inherited_members": {} + }, + "BinanceWebsocketClosed": { + "name": "BinanceWebsocketClosed", + "path": "binance.exceptions.BinanceWebsocketClosed", + "description": "Raised when websocket connection is closed.", + "parameters": [], + "attributes": [], + "docstring": [], + "functions": {}, + "source": "class BinanceWebsocketClosed(Exception):\n \"\"\"Raised when websocket connection is closed.\"\"\"\n pass", + "inherited_members": {} + }, + "ReadLoopClosed": { + "name": "ReadLoopClosed", + "path": "binance.exceptions.ReadLoopClosed", + "description": "Raised when trying to read from read loop but already closed", + "parameters": [], + "attributes": [], + "docstring": [], + "functions": {}, + "source": "class ReadLoopClosed(Exception):\n \"\"\"Raised when trying to read from read loop but already closed\"\"\"\n pass", + "inherited_members": {} + }, + "NotImplementedException": { + "name": "NotImplementedException", + "path": "binance.exceptions.NotImplementedException", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "value", + "annotation": null, + "description": null, + "value": null + } + ], + "attributes": [], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.exceptions.NotImplementedException.__init__", + "signature": "(self, value)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "value", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(self, value):\n message = f\"Not implemented: {value}\"\n super().__init__(message)" + } + }, + "source": "class NotImplementedException(Exception):\n def __init__(self, value):\n message = f\"Not implemented: {value}\"\n super().__init__(message)", + "inherited_members": {} + }, + "UnknownDateFormat": { + "name": "UnknownDateFormat", + "path": "binance.exceptions.UnknownDateFormat", + "description": null, + "parameters": [], + "attributes": [], + "docstring": [], + "functions": {}, + "source": "class UnknownDateFormat(Exception):\n ...", + "inherited_members": {} + } + }, + "functions": {} + }, + "helpers": { + "name": "helpers", + "path": "binance.helpers", + "filepath": "/Users/pablo/github/python-binance/binance/helpers.py", + "description": null, + "docstring": [], + "attributes": [], + "modules": {}, + "classes": {}, + "functions": { + "date_to_milliseconds": { + "name": "date_to_milliseconds", + "path": "binance.helpers.date_to_milliseconds", + "signature": "(date_str) -> int", + "description": "Convert UTC date to milliseconds\n\nIf using offset strings add \"UTC\" to date string e.g. \"now UTC\", \"11 hours ago UTC\"\n\nSee dateparse docs for formats http://dateparser.readthedocs.io/en/latest/\n\n:param date_str: date in readable format, i.e. \"January 01, 2018\", \"11 hours ago UTC\", \"now UTC\"", + "parameters": [ + { + "name": "date_str", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "int", + "description": null + }, + "docstring": [], + "source": "def date_to_milliseconds(date_str: str) -> int:\n \"\"\"Convert UTC date to milliseconds\n\n If using offset strings add \"UTC\" to date string e.g. \"now UTC\", \"11 hours ago UTC\"\n\n See dateparse docs for formats http://dateparser.readthedocs.io/en/latest/\n\n :param date_str: date in readable format, i.e. \"January 01, 2018\", \"11 hours ago UTC\", \"now UTC\"\n \"\"\"\n # get epoch value in UTC\n epoch: datetime = datetime.fromtimestamp(0,timezone.utc)\n # parse our date string\n d: Optional[datetime] = dateparser.parse(date_str, settings={\"TIMEZONE\": \"UTC\"})\n if not d:\n raise UnknownDateFormat(date_str)\n\n # if the date is not timezone aware apply UTC timezone\n if d.tzinfo is None or d.tzinfo.utcoffset(d) is None:\n d = d.replace(tzinfo=pytz.utc)\n\n # return the difference in time\n return int((d - epoch).total_seconds() * 1000.0)" + }, + "interval_to_milliseconds": { + "name": "interval_to_milliseconds", + "path": "binance.helpers.interval_to_milliseconds", + "signature": "(interval) -> Optional[int]", + "description": "Convert a Binance interval string to milliseconds\n\n:param interval: Binance interval string, e.g.: 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w\n\n:return:\n int value of interval in milliseconds\n None if interval prefix is not a decimal integer\n None if interval suffix is not one of m, h, d, w", + "parameters": [ + { + "name": "interval", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "typing.Optional[int]", + "description": null + }, + "docstring": [], + "source": "def interval_to_milliseconds(interval: str) -> Optional[int]:\n \"\"\"Convert a Binance interval string to milliseconds\n\n :param interval: Binance interval string, e.g.: 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w\n\n :return:\n int value of interval in milliseconds\n None if interval prefix is not a decimal integer\n None if interval suffix is not one of m, h, d, w\n\n \"\"\"\n seconds_per_unit: Dict[str, int] = {\n \"s\": 1,\n \"m\": 60,\n \"h\": 60 * 60,\n \"d\": 24 * 60 * 60,\n \"w\": 7 * 24 * 60 * 60,\n }\n try:\n return int(interval[:-1]) * seconds_per_unit[interval[-1]] * 1000\n except (ValueError, KeyError):\n return None" + }, + "round_step_size": { + "name": "round_step_size", + "path": "binance.helpers.round_step_size", + "signature": "(quantity, step_size) -> float", + "description": "Rounds a given quantity to a specific step size\n\n:param quantity: required\n:param step_size: required\n\n:return: decimal", + "parameters": [ + { + "name": "quantity", + "annotation": "Union[float, Decimal]", + "description": null, + "value": null + }, + { + "name": "step_size", + "annotation": "Union[float, Decimal]", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "float", + "description": null + }, + "docstring": [], + "source": "def round_step_size(\n quantity: Union[float, Decimal], step_size: Union[float, Decimal]\n) -> float:\n \"\"\"Rounds a given quantity to a specific step size\n\n :param quantity: required\n :param step_size: required\n\n :return: decimal\n \"\"\"\n quantity = Decimal(str(quantity))\n return float(quantity - quantity % Decimal(str(step_size)))" + }, + "convert_ts_str": { + "name": "convert_ts_str", + "path": "binance.helpers.convert_ts_str", + "signature": "(ts_str)", + "description": null, + "parameters": [ + { + "name": "ts_str", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def convert_ts_str(ts_str):\n if ts_str is None:\n return ts_str\n if type(ts_str) == int:\n return ts_str\n return date_to_milliseconds(ts_str)" + }, + "convert_list_to_json_array": { + "name": "convert_list_to_json_array", + "path": "binance.helpers.convert_list_to_json_array", + "signature": "(l)", + "description": null, + "parameters": [ + { + "name": "l", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def convert_list_to_json_array(l):\n if l is None:\n return l\n res = json.dumps(l)\n return res.replace(\" \", \"\")" + }, + "get_loop": { + "name": "get_loop", + "path": "binance.helpers.get_loop", + "signature": "()", + "description": "check if there is an event loop in the current thread, if not create one\ninspired by https://stackoverflow.com/questions/46727787/runtimeerror-there-is-no-current-event-loop-in-thread-in-async-apscheduler", + "parameters": [], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_loop():\n \"\"\"check if there is an event loop in the current thread, if not create one\n inspired by https://stackoverflow.com/questions/46727787/runtimeerror-there-is-no-current-event-loop-in-thread-in-async-apscheduler\n \"\"\"\n try:\n loop = asyncio.get_event_loop()\n return loop\n except RuntimeError as e:\n if str(e).startswith(\"There is no current event loop in thread\"):\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n return loop\n else:\n raise" + } + } + }, + "ws": { + "name": "ws", + "path": "binance.ws", + "filepath": "/Users/pablo/github/python-binance/binance/ws/__init__.py", + "description": null, + "docstring": [], + "attributes": [], + "modules": { + "streams": { + "name": "streams", + "path": "binance.ws.streams", + "filepath": "/Users/pablo/github/python-binance/binance/ws/streams.py", + "description": null, + "docstring": [], + "attributes": [], + "modules": {}, + "classes": { + "BinanceSocketType": { + "name": "BinanceSocketType", + "path": "binance.ws.streams.BinanceSocketType", + "description": null, + "parameters": [], + "attributes": [ + { + "name": "SPOT", + "annotation": null, + "description": null, + "value": "'Spot'" + }, + { + "name": "USD_M_FUTURES", + "annotation": null, + "description": null, + "value": "'USD_M_Futures'" + }, + { + "name": "COIN_M_FUTURES", + "annotation": null, + "description": null, + "value": "'Coin_M_Futures'" + }, + { + "name": "OPTIONS", + "annotation": null, + "description": null, + "value": "'Vanilla_Options'" + }, + { + "name": "ACCOUNT", + "annotation": null, + "description": null, + "value": "'Account'" + } + ], + "docstring": [], + "functions": {}, + "source": "class BinanceSocketType(str, Enum):\n SPOT = \"Spot\"\n USD_M_FUTURES = \"USD_M_Futures\"\n COIN_M_FUTURES = \"Coin_M_Futures\"\n OPTIONS = \"Vanilla_Options\"\n ACCOUNT = \"Account\"", + "inherited_members": {} + }, + "BinanceSocketManager": { + "name": "BinanceSocketManager", + "path": "binance.ws.streams.BinanceSocketManager", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "client", + "annotation": "AsyncClient", + "description": null, + "value": null + }, + { + "name": "user_timeout", + "annotation": null, + "description": null, + "value": "KEEPALIVE_TIMEOUT" + }, + { + "name": "max_queue_size", + "annotation": "int", + "description": null, + "value": "100" + } + ], + "attributes": [ + { + "name": "STREAM_URL", + "annotation": null, + "description": null, + "value": "self.STREAM_URL.format(client.tld)" + }, + { + "name": "STREAM_TESTNET_URL", + "annotation": null, + "description": null, + "value": "'wss://stream.testnet.binance.vision/'" + }, + { + "name": "STREAM_DEMO_URL", + "annotation": null, + "description": null, + "value": "'wss://demo-stream.binance.com/'" + }, + { + "name": "FSTREAM_URL", + "annotation": null, + "description": null, + "value": "self.FSTREAM_URL.format(client.tld)" + }, + { + "name": "FSTREAM_TESTNET_URL", + "annotation": null, + "description": null, + "value": "'wss://stream.binancefuture.com/'" + }, + { + "name": "FSTREAM_DEMO_URL", + "annotation": null, + "description": null, + "value": "'wss://fstream.binancefuture.com/'" + }, + { + "name": "DSTREAM_URL", + "annotation": null, + "description": null, + "value": "self.DSTREAM_URL.format(client.tld)" + }, + { + "name": "DSTREAM_TESTNET_URL", + "annotation": null, + "description": null, + "value": "'wss://dstream.binancefuture.com/'" + }, + { + "name": "DSTREAM_DEMO_URL", + "annotation": null, + "description": null, + "value": "'wss://dstream.binancefuture.com/'" + }, + { + "name": "OPTIONS_URL", + "annotation": null, + "description": null, + "value": "self.OPTIONS_URL.format(client.tld)" + }, + { + "name": "WEBSOCKET_DEPTH_5", + "annotation": null, + "description": null, + "value": "'5'" + }, + { + "name": "WEBSOCKET_DEPTH_10", + "annotation": null, + "description": null, + "value": "'10'" + }, + { + "name": "WEBSOCKET_DEPTH_20", + "annotation": null, + "description": null, + "value": "'20'" + }, + { + "name": "testnet", + "annotation": null, + "description": null, + "value": "self._client.testnet" + }, + { + "name": "demo", + "annotation": null, + "description": null, + "value": "self._client.demo" + }, + { + "name": "ws_kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.ws.streams.BinanceSocketManager.__init__", + "signature": "(self, client, user_timeout=KEEPALIVE_TIMEOUT, max_queue_size=100)", + "description": "Initialise the BinanceSocketManager\n\n:param client: Binance API client\n:type client: binance.AsyncClient\n:param user_timeout: Timeout for user socket in seconds\n:param max_queue_size: Max size of the websocket queue, defaults to 100\n:type max_queue_size: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "client", + "annotation": "AsyncClient", + "description": null, + "value": null + }, + { + "name": "user_timeout", + "annotation": null, + "description": null, + "value": "KEEPALIVE_TIMEOUT" + }, + { + "name": "max_queue_size", + "annotation": "int", + "description": null, + "value": "100" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(\n self, \n client: AsyncClient, \n user_timeout=KEEPALIVE_TIMEOUT,\n max_queue_size: int = 100,\n):\n \"\"\"Initialise the BinanceSocketManager\n\n :param client: Binance API client\n :type client: binance.AsyncClient\n :param user_timeout: Timeout for user socket in seconds\n :param max_queue_size: Max size of the websocket queue, defaults to 100\n :type max_queue_size: int\n \"\"\"\n self.STREAM_URL = self.STREAM_URL.format(client.tld)\n self.FSTREAM_URL = self.FSTREAM_URL.format(client.tld)\n self.DSTREAM_URL = self.DSTREAM_URL.format(client.tld)\n self.OPTIONS_URL = self.OPTIONS_URL.format(client.tld)\n\n self._conns = {}\n self._loop = get_loop()\n self._client = client\n self._user_timeout = user_timeout\n self.testnet = self._client.testnet\n self.demo = self._client.demo\n self._max_queue_size = max_queue_size\n self.ws_kwargs = {}" + }, + "_get_stream_url": { + "name": "_get_stream_url", + "path": "binance.ws.streams.BinanceSocketManager._get_stream_url", + "signature": "(self, stream_url=None)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "stream_url", + "annotation": "Optional[str]", + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _get_stream_url(self, stream_url: Optional[str] = None):\n if stream_url:\n return stream_url\n stream_url = self.STREAM_URL\n if self.testnet:\n stream_url = self.STREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.STREAM_DEMO_URL\n return stream_url" + }, + "_get_socket": { + "name": "_get_socket", + "path": "binance.ws.streams.BinanceSocketManager._get_socket", + "signature": "(self, path, stream_url=None, prefix='ws/', is_binary=False, socket_type=BinanceSocketType.SPOT) -> ReconnectingWebsocket", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "stream_url", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "prefix", + "annotation": "str", + "description": null, + "value": "'ws/'" + }, + { + "name": "is_binary", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "socket_type", + "annotation": "BinanceSocketType", + "description": null, + "value": "BinanceSocketType.SPOT" + } + ], + "returns": { + "name": "", + "annotation": "binance.ws.reconnecting_websocket.ReconnectingWebsocket", + "description": null + }, + "docstring": [], + "source": "def _get_socket(\n self,\n path: str,\n stream_url: Optional[str] = None,\n prefix: str = \"ws/\",\n is_binary: bool = False,\n socket_type: BinanceSocketType = BinanceSocketType.SPOT,\n) -> ReconnectingWebsocket:\n conn_id = f\"{socket_type}_{path}\"\n time_unit = getattr(self._client, \"TIME_UNIT\", None)\n if time_unit:\n path = f\"{path}?timeUnit={time_unit}\"\n if conn_id not in self._conns:\n self._conns[conn_id] = ReconnectingWebsocket(\n path=path,\n url=self._get_stream_url(stream_url),\n prefix=prefix,\n exit_coro=lambda p: self._exit_socket(f\"{socket_type}_{p}\"),\n is_binary=is_binary,\n https_proxy=self._client.https_proxy,\n max_queue_size=self._max_queue_size,\n **self.ws_kwargs,\n )\n\n return self._conns[conn_id]" + }, + "_get_account_socket": { + "name": "_get_account_socket", + "path": "binance.ws.streams.BinanceSocketManager._get_account_socket", + "signature": "(self, path, stream_url=None, prefix='ws/', is_binary=False) -> KeepAliveWebsocket", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "stream_url", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "prefix", + "annotation": "str", + "description": null, + "value": "'ws/'" + }, + { + "name": "is_binary", + "annotation": "bool", + "description": null, + "value": "False" + } + ], + "returns": { + "name": "", + "annotation": "binance.ws.keepalive_websocket.KeepAliveWebsocket", + "description": null + }, + "docstring": [], + "source": "def _get_account_socket(\n self,\n path: str,\n stream_url: Optional[str] = None,\n prefix: str = \"ws/\",\n is_binary: bool = False,\n) -> KeepAliveWebsocket:\n conn_id = f\"{BinanceSocketType.ACCOUNT}_{path}\"\n if conn_id not in self._conns:\n self._conns[conn_id] = KeepAliveWebsocket(\n client=self._client,\n url=self._get_stream_url(stream_url),\n keepalive_type=path,\n prefix=prefix,\n exit_coro=lambda p: self._exit_socket(conn_id),\n is_binary=is_binary,\n user_timeout=self._user_timeout,\n https_proxy=self._client.https_proxy,\n **self.ws_kwargs,\n )\n\n return self._conns[conn_id]" + }, + "_get_futures_socket": { + "name": "_get_futures_socket", + "path": "binance.ws.streams.BinanceSocketManager._get_futures_socket", + "signature": "(self, path, futures_type, prefix='stream?streams=')", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": null + }, + { + "name": "prefix", + "annotation": "str", + "description": null, + "value": "'stream?streams='" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _get_futures_socket(\n self, path: str, futures_type: FuturesType, prefix: str = \"stream?streams=\"\n):\n socket_type: BinanceSocketType = BinanceSocketType.USD_M_FUTURES\n if futures_type == FuturesType.USD_M:\n stream_url = self.FSTREAM_URL\n if self.testnet:\n stream_url = self.FSTREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.FSTREAM_DEMO_URL\n else:\n stream_url = self.DSTREAM_URL\n if self.testnet:\n stream_url = self.DSTREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.DSTREAM_DEMO_URL\n return self._get_socket(path, stream_url, prefix, socket_type=socket_type)" + }, + "_get_options_socket": { + "name": "_get_options_socket", + "path": "binance.ws.streams.BinanceSocketManager._get_options_socket", + "signature": "(self, path, prefix='ws/')", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "prefix", + "annotation": "str", + "description": null, + "value": "'ws/'" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _get_options_socket(self, path: str, prefix: str = \"ws/\"):\n stream_url = self.OPTIONS_URL\n return self._get_socket(\n path,\n stream_url,\n prefix,\n is_binary=False,\n socket_type=BinanceSocketType.OPTIONS,\n )" + }, + "_exit_socket": { + "name": "_exit_socket", + "path": "binance.ws.streams.BinanceSocketManager._exit_socket", + "signature": "(self, path)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _exit_socket(self, path: str):\n await self._stop_socket(path)" + }, + "depth_socket": { + "name": "depth_socket", + "path": "binance.ws.streams.BinanceSocketManager.depth_socket", + "signature": "(self, symbol, depth=None, interval=None)", + "description": "Start a websocket for symbol market depth returning either a diff or a partial book\n\nhttps://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#partial-book-depth-streams\n\n:param symbol: required\n:type symbol: str\n:param depth: optional Number of depth entries to return, default None. If passed returns a partial book instead of a diff\n:type depth: str\n:param interval: optional interval for updates, default None. If not set, updates happen every second. Must be 0, None (1s) or 100 (100ms)\n:type interval: int\n\n:returns: connection key string if successful, False otherwise\n\nPartial Message Format\n\n.. code-block:: python\n\n {\n \"lastUpdateId\": 160, # Last update ID\n \"bids\": [ # Bids to be updated\n [\n \"0.0024\", # price level to be updated\n \"10\", # quantity\n [] # ignore\n ]\n ],\n \"asks\": [ # Asks to be updated\n [\n \"0.0026\", # price level to be updated\n \"100\", # quantity\n [] # ignore\n ]\n ]\n }\n\n\nDiff Message Format\n\n.. code-block:: python\n\n {\n \"e\": \"depthUpdate\", # Event type\n \"E\": 123456789, # Event time\n \"s\": \"BNBBTC\", # Symbol\n \"U\": 157, # First update ID in event\n \"u\": 160, # Final update ID in event\n \"b\": [ # Bids to be updated\n [\n \"0.0024\", # price level to be updated\n \"10\", # quantity\n [] # ignore\n ]\n ],\n \"a\": [ # Asks to be updated\n [\n \"0.0026\", # price level to be updated\n \"100\", # quantity\n [] # ignore\n ]\n ]\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "depth", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "interval", + "annotation": "Optional[int]", + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def depth_socket(\n self, symbol: str, depth: Optional[str] = None, interval: Optional[int] = None\n):\n \"\"\"Start a websocket for symbol market depth returning either a diff or a partial book\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#partial-book-depth-streams\n\n :param symbol: required\n :type symbol: str\n :param depth: optional Number of depth entries to return, default None. If passed returns a partial book instead of a diff\n :type depth: str\n :param interval: optional interval for updates, default None. If not set, updates happen every second. Must be 0, None (1s) or 100 (100ms)\n :type interval: int\n\n :returns: connection key string if successful, False otherwise\n\n Partial Message Format\n\n .. code-block:: python\n\n {\n \"lastUpdateId\": 160, # Last update ID\n \"bids\": [ # Bids to be updated\n [\n \"0.0024\", # price level to be updated\n \"10\", # quantity\n [] # ignore\n ]\n ],\n \"asks\": [ # Asks to be updated\n [\n \"0.0026\", # price level to be updated\n \"100\", # quantity\n [] # ignore\n ]\n ]\n }\n\n\n Diff Message Format\n\n .. code-block:: python\n\n {\n \"e\": \"depthUpdate\", # Event type\n \"E\": 123456789, # Event time\n \"s\": \"BNBBTC\", # Symbol\n \"U\": 157, # First update ID in event\n \"u\": 160, # Final update ID in event\n \"b\": [ # Bids to be updated\n [\n \"0.0024\", # price level to be updated\n \"10\", # quantity\n [] # ignore\n ]\n ],\n \"a\": [ # Asks to be updated\n [\n \"0.0026\", # price level to be updated\n \"100\", # quantity\n [] # ignore\n ]\n ]\n }\n\n \"\"\"\n socket_name = symbol.lower() + \"@depth\"\n if depth and depth != \"1\":\n socket_name = f\"{socket_name}{depth}\"\n if interval:\n if interval in [0, 100]:\n socket_name = f\"{socket_name}@{interval}ms\"\n else:\n raise ValueError(\n \"Websocket interval value not allowed. Allowed values are [0, 100]\"\n )\n return self._get_socket(socket_name)" + }, + "kline_socket": { + "name": "kline_socket", + "path": "binance.ws.streams.BinanceSocketManager.kline_socket", + "signature": "(self, symbol, interval=AsyncClient.KLINE_INTERVAL_1MINUTE)", + "description": "Start a websocket for symbol kline data\n\nhttps://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#klinecandlestick-streams\n\n:param symbol: required\n:type symbol: str\n:param interval: Kline interval, default KLINE_INTERVAL_1MINUTE\n:type interval: str\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format\n\n.. code-block:: python\n\n {\n \"e\": \"kline\", # event type\n \"E\": 1499404907056, # event time\n \"s\": \"ETHBTC\", # symbol\n \"k\": {\n \"t\": 1499404860000, # start time of this bar\n \"T\": 1499404919999, # end time of this bar\n \"s\": \"ETHBTC\", # symbol\n \"i\": \"1m\", # interval\n \"f\": 77462, # first trade id\n \"L\": 77465, # last trade id\n \"o\": \"0.10278577\", # open\n \"c\": \"0.10278645\", # close\n \"h\": \"0.10278712\", # high\n \"l\": \"0.10278518\", # low\n \"v\": \"17.47929838\", # volume\n \"n\": 4, # number of trades\n \"x\": false, # whether this bar is final\n \"q\": \"1.79662878\", # quote volume\n \"V\": \"2.34879839\", # volume of active buy\n \"Q\": \"0.24142166\", # quote volume of active buy\n \"B\": \"13279784.01349473\" # can be ignored\n }\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": "AsyncClient.KLINE_INTERVAL_1MINUTE" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def kline_socket(self, symbol: str, interval=AsyncClient.KLINE_INTERVAL_1MINUTE):\n \"\"\"Start a websocket for symbol kline data\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#klinecandlestick-streams\n\n :param symbol: required\n :type symbol: str\n :param interval: Kline interval, default KLINE_INTERVAL_1MINUTE\n :type interval: str\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"e\": \"kline\",\t\t\t\t\t# event type\n \"E\": 1499404907056,\t\t\t\t# event time\n \"s\": \"ETHBTC\",\t\t\t\t\t# symbol\n \"k\": {\n \"t\": 1499404860000, \t\t# start time of this bar\n \"T\": 1499404919999, \t\t# end time of this bar\n \"s\": \"ETHBTC\",\t\t\t\t# symbol\n \"i\": \"1m\",\t\t\t\t\t# interval\n \"f\": 77462,\t\t\t\t\t# first trade id\n \"L\": 77465,\t\t\t\t\t# last trade id\n \"o\": \"0.10278577\",\t\t\t# open\n \"c\": \"0.10278645\",\t\t\t# close\n \"h\": \"0.10278712\",\t\t\t# high\n \"l\": \"0.10278518\",\t\t\t# low\n \"v\": \"17.47929838\",\t\t\t# volume\n \"n\": 4,\t\t\t\t\t\t# number of trades\n \"x\": false,\t\t\t\t\t# whether this bar is final\n \"q\": \"1.79662878\",\t\t\t# quote volume\n \"V\": \"2.34879839\",\t\t\t# volume of active buy\n \"Q\": \"0.24142166\",\t\t\t# quote volume of active buy\n \"B\": \"13279784.01349473\"\t# can be ignored\n }\n }\n \"\"\"\n path = f\"{symbol.lower()}@kline_{interval}\"\n return self._get_socket(path)" + }, + "kline_futures_socket": { + "name": "kline_futures_socket", + "path": "binance.ws.streams.BinanceSocketManager.kline_futures_socket", + "signature": "(self, symbol, interval=AsyncClient.KLINE_INTERVAL_1MINUTE, futures_type=FuturesType.USD_M, contract_type=ContractType.PERPETUAL)", + "description": "Start a websocket for symbol kline data for the perpeual futures stream\n\nhttps://binance-docs.github.io/apidocs/futures/en/#continuous-contract-kline-candlestick-streams\n\n:param symbol: required\n:type symbol: str\n:param interval: Kline interval, default KLINE_INTERVAL_1MINUTE\n:type interval: str\n:param futures_type: use USD-M or COIN-M futures default USD-M\n:param contract_type: use PERPETUAL or CURRENT_QUARTER or NEXT_QUARTER default PERPETUAL\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format\n\n.. code-block:: python\n\n {\n \"e\":\"continuous_kline\", // Event type\n \"E\":1607443058651, // Event time\n \"ps\":\"BTCUSDT\", // Pair\n \"ct\":\"PERPETUAL\" // Contract type\n \"k\":{\n \"t\":1607443020000, // Kline start time\n \"T\":1607443079999, // Kline close time\n \"i\":\"1m\", // Interval\n \"f\":116467658886, // First trade ID\n \"L\":116468012423, // Last trade ID\n \"o\":\"18787.00\", // Open price\n \"c\":\"18804.04\", // Close price\n \"h\":\"18804.04\", // High price\n \"l\":\"18786.54\", // Low price\n \"v\":\"197.664\", // volume\n \"n\": 543, // Number of trades\n \"x\":false, // Is this kline closed?\n \"q\":\"3715253.19494\", // Quote asset volume\n \"V\":\"184.769\", // Taker buy volume\n \"Q\":\"3472925.84746\", //Taker buy quote asset volume\n \"B\":\"0\" // Ignore\n }\n }\n _@continuousKline_", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": "AsyncClient.KLINE_INTERVAL_1MINUTE" + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + }, + { + "name": "contract_type", + "annotation": "ContractType", + "description": null, + "value": "ContractType.PERPETUAL" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def kline_futures_socket(\n self,\n symbol: str,\n interval=AsyncClient.KLINE_INTERVAL_1MINUTE,\n futures_type: FuturesType = FuturesType.USD_M,\n contract_type: ContractType = ContractType.PERPETUAL,\n):\n \"\"\"Start a websocket for symbol kline data for the perpeual futures stream\n\n https://binance-docs.github.io/apidocs/futures/en/#continuous-contract-kline-candlestick-streams\n\n :param symbol: required\n :type symbol: str\n :param interval: Kline interval, default KLINE_INTERVAL_1MINUTE\n :type interval: str\n :param futures_type: use USD-M or COIN-M futures default USD-M\n :param contract_type: use PERPETUAL or CURRENT_QUARTER or NEXT_QUARTER default PERPETUAL\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"e\":\"continuous_kline\", // Event type\n \"E\":1607443058651, // Event time\n \"ps\":\"BTCUSDT\", // Pair\n \"ct\":\"PERPETUAL\" // Contract type\n \"k\":{\n \"t\":1607443020000, // Kline start time\n \"T\":1607443079999, // Kline close time\n \"i\":\"1m\", // Interval\n \"f\":116467658886, // First trade ID\n \"L\":116468012423, // Last trade ID\n \"o\":\"18787.00\", // Open price\n \"c\":\"18804.04\", // Close price\n \"h\":\"18804.04\", // High price\n \"l\":\"18786.54\", // Low price\n \"v\":\"197.664\", // volume\n \"n\": 543, // Number of trades\n \"x\":false, // Is this kline closed?\n \"q\":\"3715253.19494\", // Quote asset volume\n \"V\":\"184.769\", // Taker buy volume\n \"Q\":\"3472925.84746\", //Taker buy quote asset volume\n \"B\":\"0\" // Ignore\n }\n }\n _@continuousKline_\n \"\"\"\n\n path = f\"{symbol.lower()}_{contract_type.value}@continuousKline_{interval}\"\n return self._get_futures_socket(path, prefix=\"ws/\", futures_type=futures_type)" + }, + "miniticker_socket": { + "name": "miniticker_socket", + "path": "binance.ws.streams.BinanceSocketManager.miniticker_socket", + "signature": "(self, update_time=1000)", + "description": "Start a miniticker websocket for all trades\n\nThis is not in the official Binance api docs, but this is what\nfeeds the right column on a ticker page on Binance.\n\n:param update_time: time between callbacks in milliseconds, must be 1000 or greater\n:type update_time: int\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format\n\n.. code-block:: python\n\n [\n {\n 'e': '24hrMiniTicker', # Event type\n 'E': 1515906156273, # Event time\n 's': 'QTUMETH', # Symbol\n 'c': '0.03836900', # close\n 'o': '0.03953500', # open\n 'h': '0.04400000', # high\n 'l': '0.03756000', # low\n 'v': '147435.80000000', # volume\n 'q': '5903.84338533' # quote volume\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "update_time", + "annotation": "int", + "description": null, + "value": "1000" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def miniticker_socket(self, update_time: int = 1000):\n \"\"\"Start a miniticker websocket for all trades\n\n This is not in the official Binance api docs, but this is what\n feeds the right column on a ticker page on Binance.\n\n :param update_time: time between callbacks in milliseconds, must be 1000 or greater\n :type update_time: int\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n [\n {\n 'e': '24hrMiniTicker', # Event type\n 'E': 1515906156273, # Event time\n 's': 'QTUMETH', # Symbol\n 'c': '0.03836900', # close\n 'o': '0.03953500', # open\n 'h': '0.04400000', # high\n 'l': '0.03756000', # low\n 'v': '147435.80000000', # volume\n 'q': '5903.84338533' # quote volume\n }\n ]\n \"\"\"\n\n return self._get_socket(f\"!miniTicker@arr@{update_time}ms\")" + }, + "trade_socket": { + "name": "trade_socket", + "path": "binance.ws.streams.BinanceSocketManager.trade_socket", + "signature": "(self, symbol)", + "description": "Start a websocket for symbol trade data\n\nhttps://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#trade-streams\n\n:param symbol: required\n:type symbol: str\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format\n\n.. code-block:: python\n\n {\n \"e\": \"trade\", # Event type\n \"E\": 123456789, # Event time\n \"s\": \"BNBBTC\", # Symbol\n \"t\": 12345, # Trade ID\n \"p\": \"0.001\", # Price\n \"q\": \"100\", # Quantity\n \"b\": 88, # Buyer order Id\n \"a\": 50, # Seller order Id\n \"T\": 123456785, # Trade time\n \"m\": true, # Is the buyer the market maker?\n \"M\": true # Ignore.\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def trade_socket(self, symbol: str):\n \"\"\"Start a websocket for symbol trade data\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#trade-streams\n\n :param symbol: required\n :type symbol: str\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"e\": \"trade\", # Event type\n \"E\": 123456789, # Event time\n \"s\": \"BNBBTC\", # Symbol\n \"t\": 12345, # Trade ID\n \"p\": \"0.001\", # Price\n \"q\": \"100\", # Quantity\n \"b\": 88, # Buyer order Id\n \"a\": 50, # Seller order Id\n \"T\": 123456785, # Trade time\n \"m\": true, # Is the buyer the market maker?\n \"M\": true # Ignore.\n }\n\n \"\"\"\n\n return self._get_socket(symbol.lower() + \"@trade\")" + }, + "aggtrade_socket": { + "name": "aggtrade_socket", + "path": "binance.ws.streams.BinanceSocketManager.aggtrade_socket", + "signature": "(self, symbol)", + "description": "Start a websocket for symbol trade data\n\nhttps://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#aggregate-trade-streams\n\n:param symbol: required\n:type symbol: str\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format\n\n.. code-block:: python\n\n {\n \"e\": \"aggTrade\", # event type\n \"E\": 1499405254326, # event time\n \"s\": \"ETHBTC\", # symbol\n \"a\": 70232, # aggregated tradeid\n \"p\": \"0.10281118\", # price\n \"q\": \"8.15632997\", # quantity\n \"f\": 77489, # first breakdown trade id\n \"l\": 77489, # last breakdown trade id\n \"T\": 1499405254324, # trade time\n \"m\": false, # whether buyer is a maker\n \"M\": true # can be ignored\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def aggtrade_socket(self, symbol: str):\n \"\"\"Start a websocket for symbol trade data\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#aggregate-trade-streams\n\n :param symbol: required\n :type symbol: str\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"e\": \"aggTrade\",\t\t# event type\n \"E\": 1499405254326,\t\t# event time\n \"s\": \"ETHBTC\",\t\t\t# symbol\n \"a\": 70232,\t\t\t\t# aggregated tradeid\n \"p\": \"0.10281118\",\t\t# price\n \"q\": \"8.15632997\",\t\t# quantity\n \"f\": 77489,\t\t\t\t# first breakdown trade id\n \"l\": 77489,\t\t\t\t# last breakdown trade id\n \"T\": 1499405254324,\t\t# trade time\n \"m\": false,\t\t\t\t# whether buyer is a maker\n \"M\": true\t\t\t\t# can be ignored\n }\n\n \"\"\"\n return self._get_socket(symbol.lower() + \"@aggTrade\")" + }, + "aggtrade_futures_socket": { + "name": "aggtrade_futures_socket", + "path": "binance.ws.streams.BinanceSocketManager.aggtrade_futures_socket", + "signature": "(self, symbol, futures_type=FuturesType.USD_M)", + "description": "Start a websocket for aggregate symbol trade data for the futures stream\n\n:param symbol: required\n:param futures_type: use USD-M or COIN-M futures default USD-M\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format\n\n.. code-block:: python\n\n {\n \"e\": \"aggTrade\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"a\": 5933014, // Aggregate trade ID\n \"p\": \"0.001\", // Price\n \"q\": \"100\", // Quantity\n \"f\": 100, // First trade ID\n \"l\": 105, // Last trade ID\n \"T\": 123456785, // Trade time\n \"m\": true, // Is the buyer the market maker?\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def aggtrade_futures_socket(\n self, symbol: str, futures_type: FuturesType = FuturesType.USD_M\n):\n \"\"\"Start a websocket for aggregate symbol trade data for the futures stream\n\n :param symbol: required\n :param futures_type: use USD-M or COIN-M futures default USD-M\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"e\": \"aggTrade\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"a\": 5933014, // Aggregate trade ID\n \"p\": \"0.001\", // Price\n \"q\": \"100\", // Quantity\n \"f\": 100, // First trade ID\n \"l\": 105, // Last trade ID\n \"T\": 123456785, // Trade time\n \"m\": true, // Is the buyer the market maker?\n }\n\n \"\"\"\n return self._get_futures_socket(\n symbol.lower() + \"@aggTrade\", futures_type=futures_type\n )" + }, + "symbol_miniticker_socket": { + "name": "symbol_miniticker_socket", + "path": "binance.ws.streams.BinanceSocketManager.symbol_miniticker_socket", + "signature": "(self, symbol)", + "description": "Start a websocket for a symbol's miniTicker data\n\nhttps://binance-docs.github.io/apidocs/spot/en/#individual-symbol-mini-ticker-stream\n\n:param symbol: required\n:type symbol: str\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format\n\n.. code-block:: python\n\n {\n \"e\": \"24hrMiniTicker\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BNBBTC\", // Symbol\n \"c\": \"0.0025\", // Close price\n \"o\": \"0.0010\", // Open price\n \"h\": \"0.0025\", // High price\n \"l\": \"0.0010\", // Low price\n \"v\": \"10000\", // Total traded base asset volume\n \"q\": \"18\" // Total traded quote asset volume\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def symbol_miniticker_socket(self, symbol: str):\n \"\"\"Start a websocket for a symbol's miniTicker data\n\n https://binance-docs.github.io/apidocs/spot/en/#individual-symbol-mini-ticker-stream\n\n :param symbol: required\n :type symbol: str\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"e\": \"24hrMiniTicker\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BNBBTC\", // Symbol\n \"c\": \"0.0025\", // Close price\n \"o\": \"0.0010\", // Open price\n \"h\": \"0.0025\", // High price\n \"l\": \"0.0010\", // Low price\n \"v\": \"10000\", // Total traded base asset volume\n \"q\": \"18\" // Total traded quote asset volume\n }\n\n \"\"\"\n return self._get_socket(symbol.lower() + \"@miniTicker\")" + }, + "symbol_ticker_socket": { + "name": "symbol_ticker_socket", + "path": "binance.ws.streams.BinanceSocketManager.symbol_ticker_socket", + "signature": "(self, symbol)", + "description": "Start a websocket for a symbol's ticker data\n\nhttps://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#individual-symbol-ticker-streams\n\n:param symbol: required\n:type symbol: str\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format\n\n.. code-block:: python\n\n {\n \"e\": \"24hrTicker\", # Event type\n \"E\": 123456789, # Event time\n \"s\": \"BNBBTC\", # Symbol\n \"p\": \"0.0015\", # Price change\n \"P\": \"250.00\", # Price change percent\n \"w\": \"0.0018\", # Weighted average price\n \"x\": \"0.0009\", # Previous day's close price\n \"c\": \"0.0025\", # Current day's close price\n \"Q\": \"10\", # Close trade's quantity\n \"b\": \"0.0024\", # Best bid price\n \"B\": \"10\", # Bid bid quantity\n \"a\": \"0.0026\", # Best ask price\n \"A\": \"100\", # Best ask quantity\n \"o\": \"0.0010\", # Open price\n \"h\": \"0.0025\", # High price\n \"l\": \"0.0010\", # Low price\n \"v\": \"10000\", # Total traded base asset volume\n \"q\": \"18\", # Total traded quote asset volume\n \"O\": 0, # Statistics open time\n \"C\": 86400000, # Statistics close time\n \"F\": 0, # First trade ID\n \"L\": 18150, # Last trade Id\n \"n\": 18151 # Total number of trades\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def symbol_ticker_socket(self, symbol: str):\n \"\"\"Start a websocket for a symbol's ticker data\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#individual-symbol-ticker-streams\n\n :param symbol: required\n :type symbol: str\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"e\": \"24hrTicker\", # Event type\n \"E\": 123456789, # Event time\n \"s\": \"BNBBTC\", # Symbol\n \"p\": \"0.0015\", # Price change\n \"P\": \"250.00\", # Price change percent\n \"w\": \"0.0018\", # Weighted average price\n \"x\": \"0.0009\", # Previous day's close price\n \"c\": \"0.0025\", # Current day's close price\n \"Q\": \"10\", # Close trade's quantity\n \"b\": \"0.0024\", # Best bid price\n \"B\": \"10\", # Bid bid quantity\n \"a\": \"0.0026\", # Best ask price\n \"A\": \"100\", # Best ask quantity\n \"o\": \"0.0010\", # Open price\n \"h\": \"0.0025\", # High price\n \"l\": \"0.0010\", # Low price\n \"v\": \"10000\", # Total traded base asset volume\n \"q\": \"18\", # Total traded quote asset volume\n \"O\": 0, # Statistics open time\n \"C\": 86400000, # Statistics close time\n \"F\": 0, # First trade ID\n \"L\": 18150, # Last trade Id\n \"n\": 18151 # Total number of trades\n }\n\n \"\"\"\n return self._get_socket(symbol.lower() + \"@ticker\")" + }, + "ticker_socket": { + "name": "ticker_socket", + "path": "binance.ws.streams.BinanceSocketManager.ticker_socket", + "signature": "(self)", + "description": "Start a websocket for all ticker data\n\nBy default all markets are included in an array.\n\nhttps://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#all-market-tickers-stream\n\n:param coro: callback function to handle messages\n:type coro: function\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format\n\n.. code-block:: python\n\n [\n {\n 'F': 278610,\n 'o': '0.07393000',\n 's': 'BCCBTC',\n 'C': 1509622420916,\n 'b': '0.07800800',\n 'l': '0.07160300',\n 'h': '0.08199900',\n 'L': 287722,\n 'P': '6.694',\n 'Q': '0.10000000',\n 'q': '1202.67106335',\n 'p': '0.00494900',\n 'O': 1509536020916,\n 'a': '0.07887800',\n 'n': 9113,\n 'B': '1.00000000',\n 'c': '0.07887900',\n 'x': '0.07399600',\n 'w': '0.07639068',\n 'A': '2.41900000',\n 'v': '15743.68900000'\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def ticker_socket(self):\n \"\"\"Start a websocket for all ticker data\n\n By default all markets are included in an array.\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#all-market-tickers-stream\n\n :param coro: callback function to handle messages\n :type coro: function\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n [\n {\n 'F': 278610,\n 'o': '0.07393000',\n 's': 'BCCBTC',\n 'C': 1509622420916,\n 'b': '0.07800800',\n 'l': '0.07160300',\n 'h': '0.08199900',\n 'L': 287722,\n 'P': '6.694',\n 'Q': '0.10000000',\n 'q': '1202.67106335',\n 'p': '0.00494900',\n 'O': 1509536020916,\n 'a': '0.07887800',\n 'n': 9113,\n 'B': '1.00000000',\n 'c': '0.07887900',\n 'x': '0.07399600',\n 'w': '0.07639068',\n 'A': '2.41900000',\n 'v': '15743.68900000'\n }\n ]\n \"\"\"\n return self._get_socket(\"!ticker@arr\")" + }, + "futures_ticker_socket": { + "name": "futures_ticker_socket", + "path": "binance.ws.streams.BinanceSocketManager.futures_ticker_socket", + "signature": "(self)", + "description": "Start a websocket for all ticker data\n\nBy default all markets are included in an array.\n\nhttps://binance-docs.github.io/apidocs/futures/en/#all-market-tickers-streams\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format\n\n.. code-block:: python\n\n [\n {\n \"e\": \"24hrTicker\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"0.0015\", // Price change\n \"P\": \"250.00\", // Price change percent\n \"w\": \"0.0018\", // Weighted average price\n \"c\": \"0.0025\", // Last price\n \"Q\": \"10\", // Last quantity\n \"o\": \"0.0010\", // Open price\n \"h\": \"0.0025\", // High price\n \"l\": \"0.0010\", // Low price\n \"v\": \"10000\", // Total traded base asset volume\n \"q\": \"18\", // Total traded quote asset volume\n \"O\": 0, // Statistics open time\n \"C\": 86400000, // Statistics close time\n \"F\": 0, // First trade ID\n \"L\": 18150, // Last trade Id\n \"n\": 18151 // Total number of trades\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_ticker_socket(self):\n \"\"\"Start a websocket for all ticker data\n\n By default all markets are included in an array.\n\n https://binance-docs.github.io/apidocs/futures/en/#all-market-tickers-streams\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n [\n {\n \"e\": \"24hrTicker\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"0.0015\", // Price change\n \"P\": \"250.00\", // Price change percent\n \"w\": \"0.0018\", // Weighted average price\n \"c\": \"0.0025\", // Last price\n \"Q\": \"10\", // Last quantity\n \"o\": \"0.0010\", // Open price\n \"h\": \"0.0025\", // High price\n \"l\": \"0.0010\", // Low price\n \"v\": \"10000\", // Total traded base asset volume\n \"q\": \"18\", // Total traded quote asset volume\n \"O\": 0, // Statistics open time\n \"C\": 86400000, // Statistics close time\n \"F\": 0, // First trade ID\n \"L\": 18150, // Last trade Id\n \"n\": 18151 // Total number of trades\n }\n ]\n \"\"\"\n return self._get_futures_socket(\"!ticker@arr\", FuturesType.USD_M)" + }, + "futures_coin_ticker_socket": { + "name": "futures_coin_ticker_socket", + "path": "binance.ws.streams.BinanceSocketManager.futures_coin_ticker_socket", + "signature": "(self)", + "description": "Start a websocket for all ticker data\n\nBy default all markets are included in an array.\n\nhttps://binance-docs.github.io/apidocs/delivery/en/#all-market-tickers-streams\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format\n\n.. code-block:: python\n\n [\n {\n \"e\": \"24hrTicker\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"0.0015\", // Price change\n \"P\": \"250.00\", // Price change percent\n \"w\": \"0.0018\", // Weighted average price\n \"c\": \"0.0025\", // Last price\n \"Q\": \"10\", // Last quantity\n \"o\": \"0.0010\", // Open price\n \"h\": \"0.0025\", // High price\n \"l\": \"0.0010\", // Low price\n \"v\": \"10000\", // Total traded base asset volume\n \"q\": \"18\", // Total traded quote asset volume\n \"O\": 0, // Statistics open time\n \"C\": 86400000, // Statistics close time\n \"F\": 0, // First trade ID\n \"L\": 18150, // Last trade Id\n \"n\": 18151 // Total number of trades\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_coin_ticker_socket(self):\n \"\"\"Start a websocket for all ticker data\n\n By default all markets are included in an array.\n\n https://binance-docs.github.io/apidocs/delivery/en/#all-market-tickers-streams\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n [\n {\n \"e\": \"24hrTicker\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"0.0015\", // Price change\n \"P\": \"250.00\", // Price change percent\n \"w\": \"0.0018\", // Weighted average price\n \"c\": \"0.0025\", // Last price\n \"Q\": \"10\", // Last quantity\n \"o\": \"0.0010\", // Open price\n \"h\": \"0.0025\", // High price\n \"l\": \"0.0010\", // Low price\n \"v\": \"10000\", // Total traded base asset volume\n \"q\": \"18\", // Total traded quote asset volume\n \"O\": 0, // Statistics open time\n \"C\": 86400000, // Statistics close time\n \"F\": 0, // First trade ID\n \"L\": 18150, // Last trade Id\n \"n\": 18151 // Total number of trades\n }\n ]\n \"\"\"\n return self._get_futures_socket(\"!ticker@arr\", FuturesType.COIN_M)" + }, + "index_price_socket": { + "name": "index_price_socket", + "path": "binance.ws.streams.BinanceSocketManager.index_price_socket", + "signature": "(self, symbol, fast=True)", + "description": "Start a websocket for a symbol's futures mark price\nhttps://binance-docs.github.io/apidocs/delivery/en/#index-price-stream\n:param symbol: required\n:param fast: use faster or 1s default\n:returns: connection key string if successful, False otherwise\n\nMessage Format\n.. code-block:: python\n {\n \"e\": \"indexPriceUpdate\", // Event type\n \"E\": 1591261236000, // Event time\n \"i\": \"BTCUSD\", // Pair\n \"p\": \"9636.57860000\", // Index Price\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "fast", + "annotation": "bool", + "description": null, + "value": "True" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def index_price_socket(self, symbol: str, fast: bool = True):\n \"\"\"Start a websocket for a symbol's futures mark price\n https://binance-docs.github.io/apidocs/delivery/en/#index-price-stream\n :param symbol: required\n :param fast: use faster or 1s default\n :returns: connection key string if successful, False otherwise\n\n Message Format\n .. code-block:: python\n {\n \"e\": \"indexPriceUpdate\", // Event type\n \"E\": 1591261236000, // Event time\n \"i\": \"BTCUSD\", // Pair\n \"p\": \"9636.57860000\", // Index Price\n }\n \"\"\"\n stream_name = \"@indexPrice@1s\" if fast else \"@indexPrice\"\n return self._get_futures_socket(\n symbol.lower() + stream_name, futures_type=FuturesType.COIN_M\n )" + }, + "symbol_mark_price_socket": { + "name": "symbol_mark_price_socket", + "path": "binance.ws.streams.BinanceSocketManager.symbol_mark_price_socket", + "signature": "(self, symbol, fast=True, futures_type=FuturesType.USD_M)", + "description": "Start a websocket for a symbol's futures mark price\nhttps://binance-docs.github.io/apidocs/futures/en/#mark-price-stream\n:param symbol: required\n:param fast: use faster or 1s default\n:param futures_type: use USD-M or COIN-M futures default USD-M\n:returns: connection key string if successful, False otherwise\nMessage Format\n.. code-block:: python\n {\n \"e\": \"markPriceUpdate\", // Event type\n \"E\": 1562305380000, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"11185.87786614\", // Mark price\n \"r\": \"0.00030000\", // Funding rate\n \"T\": 1562306400000 // Next funding time\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "fast", + "annotation": "bool", + "description": null, + "value": "True" + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def symbol_mark_price_socket(\n self,\n symbol: str,\n fast: bool = True,\n futures_type: FuturesType = FuturesType.USD_M,\n):\n \"\"\"Start a websocket for a symbol's futures mark price\n https://binance-docs.github.io/apidocs/futures/en/#mark-price-stream\n :param symbol: required\n :param fast: use faster or 1s default\n :param futures_type: use USD-M or COIN-M futures default USD-M\n :returns: connection key string if successful, False otherwise\n Message Format\n .. code-block:: python\n {\n \"e\": \"markPriceUpdate\", // Event type\n \"E\": 1562305380000, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"11185.87786614\", // Mark price\n \"r\": \"0.00030000\", // Funding rate\n \"T\": 1562306400000 // Next funding time\n }\n \"\"\"\n stream_name = \"@markPrice@1s\" if fast else \"@markPrice\"\n return self._get_futures_socket(\n symbol.lower() + stream_name, futures_type=futures_type\n )" + }, + "all_mark_price_socket": { + "name": "all_mark_price_socket", + "path": "binance.ws.streams.BinanceSocketManager.all_mark_price_socket", + "signature": "(self, fast=True, futures_type=FuturesType.USD_M)", + "description": "Start a websocket for all futures mark price data\nBy default all symbols are included in an array.\nhttps://binance-docs.github.io/apidocs/futures/en/#mark-price-stream-for-all-market\n:param fast: use faster or 1s default\n:param futures_type: use USD-M or COIN-M futures default USD-M\n:returns: connection key string if successful, False otherwise\nMessage Format\n.. code-block:: python\n\n [\n {\n \"e\": \"markPriceUpdate\", // Event type\n \"E\": 1562305380000, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"11185.87786614\", // Mark price\n \"r\": \"0.00030000\", // Funding rate\n \"T\": 1562306400000 // Next funding time\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "fast", + "annotation": "bool", + "description": null, + "value": "True" + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def all_mark_price_socket(\n self, fast: bool = True, futures_type: FuturesType = FuturesType.USD_M\n):\n \"\"\"Start a websocket for all futures mark price data\n By default all symbols are included in an array.\n https://binance-docs.github.io/apidocs/futures/en/#mark-price-stream-for-all-market\n :param fast: use faster or 1s default\n :param futures_type: use USD-M or COIN-M futures default USD-M\n :returns: connection key string if successful, False otherwise\n Message Format\n .. code-block:: python\n\n [\n {\n \"e\": \"markPriceUpdate\", // Event type\n \"E\": 1562305380000, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"11185.87786614\", // Mark price\n \"r\": \"0.00030000\", // Funding rate\n \"T\": 1562306400000 // Next funding time\n }\n ]\n \"\"\"\n stream_name = \"!markPrice@arr@1s\" if fast else \"!markPrice@arr\"\n return self._get_futures_socket(stream_name, futures_type=futures_type)" + }, + "symbol_ticker_futures_socket": { + "name": "symbol_ticker_futures_socket", + "path": "binance.ws.streams.BinanceSocketManager.symbol_ticker_futures_socket", + "signature": "(self, symbol, futures_type=FuturesType.USD_M)", + "description": "Start a websocket for a symbol's ticker data\nBy default all markets are included in an array.\nhttps://binance-docs.github.io/apidocs/futures/en/#individual-symbol-book-ticker-streams\n:param symbol: required\n:param futures_type: use USD-M or COIN-M futures default USD-M\n:returns: connection key string if successful, False otherwise\n.. code-block:: python\n [\n {\n \"u\":400900217, // order book updateId\n \"s\":\"BNBUSDT\", // symbol\n \"b\":\"25.35190000\", // best bid price\n \"B\":\"31.21000000\", // best bid qty\n \"a\":\"25.36520000\", // best ask price\n \"A\":\"40.66000000\" // best ask qty\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def symbol_ticker_futures_socket(\n self, symbol: str, futures_type: FuturesType = FuturesType.USD_M\n):\n \"\"\"Start a websocket for a symbol's ticker data\n By default all markets are included in an array.\n https://binance-docs.github.io/apidocs/futures/en/#individual-symbol-book-ticker-streams\n :param symbol: required\n :param futures_type: use USD-M or COIN-M futures default USD-M\n :returns: connection key string if successful, False otherwise\n .. code-block:: python\n [\n {\n \"u\":400900217, // order book updateId\n \"s\":\"BNBUSDT\", // symbol\n \"b\":\"25.35190000\", // best bid price\n \"B\":\"31.21000000\", // best bid qty\n \"a\":\"25.36520000\", // best ask price\n \"A\":\"40.66000000\" // best ask qty\n }\n ]\n \"\"\"\n return self._get_futures_socket(\n symbol.lower() + \"@bookTicker\", futures_type=futures_type\n )" + }, + "individual_symbol_ticker_futures_socket": { + "name": "individual_symbol_ticker_futures_socket", + "path": "binance.ws.streams.BinanceSocketManager.individual_symbol_ticker_futures_socket", + "signature": "(self, symbol, futures_type=FuturesType.USD_M)", + "description": "Start a futures websocket for a single symbol's ticker data\nhttps://binance-docs.github.io/apidocs/futures/en/#individual-symbol-ticker-streams\n:param symbol: required\n:type symbol: str\n:param futures_type: use USD-M or COIN-M futures default USD-M\n:returns: connection key string if successful, False otherwise\n.. code-block:: python\n {\n \"e\": \"24hrTicker\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"0.0015\", // Price change\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def individual_symbol_ticker_futures_socket(\n self, symbol: str, futures_type: FuturesType = FuturesType.USD_M\n):\n \"\"\"Start a futures websocket for a single symbol's ticker data\n https://binance-docs.github.io/apidocs/futures/en/#individual-symbol-ticker-streams\n :param symbol: required\n :type symbol: str\n :param futures_type: use USD-M or COIN-M futures default USD-M\n :returns: connection key string if successful, False otherwise\n .. code-block:: python\n {\n \"e\": \"24hrTicker\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"0.0015\", // Price change\n }\n \"\"\"\n return self._get_futures_socket(\n symbol.lower() + \"@ticker\", futures_type=futures_type\n )" + }, + "all_ticker_futures_socket": { + "name": "all_ticker_futures_socket", + "path": "binance.ws.streams.BinanceSocketManager.all_ticker_futures_socket", + "signature": "(self, channel='!bookTicker', futures_type=FuturesType.USD_M)", + "description": "Start a websocket for all ticker data\nBy default all markets are included in an array.\n\nhttps://binance-docs.github.io/apidocs/futures/en/#all-book-tickers-stream\n\nhttps://binance-docs.github.io/apidocs/futures/en/#all-market-tickers-streams\n\n:param channel: optional channel type, default '!bookTicker', but '!ticker@arr' is also available\n:param: futures_type: use USD-M or COIN-M futures default USD-M\n:returns: connection key string if successful, False otherwise\nMessage Format\n.. code-block:: python\n [\n {\n \"u\":400900217, // order book updateId\n \"s\":\"BNBUSDT\", // symbol\n \"b\":\"25.35190000\", // best bid price\n \"B\":\"31.21000000\", // best bid qty\n \"a\":\"25.36520000\", // best ask price\n \"A\":\"40.66000000\" // best ask qty\n }\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "channel", + "annotation": "str", + "description": null, + "value": "'!bookTicker'" + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def all_ticker_futures_socket(\n self,\n channel: str = \"!bookTicker\",\n futures_type: FuturesType = FuturesType.USD_M,\n):\n \"\"\"Start a websocket for all ticker data\n By default all markets are included in an array.\n\n https://binance-docs.github.io/apidocs/futures/en/#all-book-tickers-stream\n\n https://binance-docs.github.io/apidocs/futures/en/#all-market-tickers-streams\n\n :param channel: optional channel type, default '!bookTicker', but '!ticker@arr' is also available\n :param: futures_type: use USD-M or COIN-M futures default USD-M\n :returns: connection key string if successful, False otherwise\n Message Format\n .. code-block:: python\n [\n {\n \"u\":400900217, // order book updateId\n \"s\":\"BNBUSDT\", // symbol\n \"b\":\"25.35190000\", // best bid price\n \"B\":\"31.21000000\", // best bid qty\n \"a\":\"25.36520000\", // best ask price\n \"A\":\"40.66000000\" // best ask qty\n }\n ]\n \"\"\"\n\n return self._get_futures_socket(channel, futures_type=futures_type)" + }, + "symbol_book_ticker_socket": { + "name": "symbol_book_ticker_socket", + "path": "binance.ws.streams.BinanceSocketManager.symbol_book_ticker_socket", + "signature": "(self, symbol)", + "description": "Start a websocket for the best bid or ask's price or quantity for a specified symbol.\n\nhttps://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#individual-symbol-book-ticker-streams\n\n:param symbol: required\n:type symbol: str\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format\n\n.. code-block:: python\n\n {\n \"u\":400900217, // order book updateId\n \"s\":\"BNBUSDT\", // symbol\n \"b\":\"25.35190000\", // best bid price\n \"B\":\"31.21000000\", // best bid qty\n \"a\":\"25.36520000\", // best ask price\n \"A\":\"40.66000000\" // best ask qty\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def symbol_book_ticker_socket(self, symbol: str):\n \"\"\"Start a websocket for the best bid or ask's price or quantity for a specified symbol.\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#individual-symbol-book-ticker-streams\n\n :param symbol: required\n :type symbol: str\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"u\":400900217, // order book updateId\n \"s\":\"BNBUSDT\", // symbol\n \"b\":\"25.35190000\", // best bid price\n \"B\":\"31.21000000\", // best bid qty\n \"a\":\"25.36520000\", // best ask price\n \"A\":\"40.66000000\" // best ask qty\n }\n\n \"\"\"\n return self._get_socket(symbol.lower() + \"@bookTicker\")" + }, + "book_ticker_socket": { + "name": "book_ticker_socket", + "path": "binance.ws.streams.BinanceSocketManager.book_ticker_socket", + "signature": "(self)", + "description": "Start a websocket for the best bid or ask's price or quantity for all symbols.\n\nhttps://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#all-book-tickers-stream\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format\n\n.. code-block:: python\n\n {\n // Same as @bookTicker payload\n }", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def book_ticker_socket(self):\n \"\"\"Start a websocket for the best bid or ask's price or quantity for all symbols.\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#all-book-tickers-stream\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n // Same as @bookTicker payload\n }\n\n \"\"\"\n return self._get_socket(\"!bookTicker\")" + }, + "multiplex_socket": { + "name": "multiplex_socket", + "path": "binance.ws.streams.BinanceSocketManager.multiplex_socket", + "signature": "(self, streams)", + "description": "Start a multiplexed socket using a list of socket names.\nUser stream sockets can not be included.\n\nSymbols in socket name must be lowercase i.e bnbbtc@aggTrade, neobtc@ticker\n\nCombined stream events are wrapped as follows: {\"stream\":\"\",\"data\":}\n\nhttps://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md\n\n:param streams: list of stream names in lower case\n:type streams: list\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format - see Binance API docs for all types", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "streams", + "annotation": "List[str]", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def multiplex_socket(self, streams: List[str]):\n \"\"\"Start a multiplexed socket using a list of socket names.\n User stream sockets can not be included.\n\n Symbols in socket name must be lowercase i.e bnbbtc@aggTrade, neobtc@ticker\n\n Combined stream events are wrapped as follows: {\"stream\":\"\",\"data\":}\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md\n\n :param streams: list of stream names in lower case\n :type streams: list\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n\n \"\"\"\n path = f\"streams={'/'.join(streams)}\"\n return self._get_socket(path, prefix=\"stream?\")" + }, + "options_multiplex_socket": { + "name": "options_multiplex_socket", + "path": "binance.ws.streams.BinanceSocketManager.options_multiplex_socket", + "signature": "(self, streams)", + "description": "Start a multiplexed socket using a list of socket names.\n\nhttps://developers.binance.com/docs/derivatives/option/websocket-market-streams", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "streams", + "annotation": "List[str]", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_multiplex_socket(self, streams: List[str]):\n \"\"\"Start a multiplexed socket using a list of socket names.\n\n https://developers.binance.com/docs/derivatives/option/websocket-market-streams\n\n \"\"\"\n stream_name = \"/\".join([s for s in streams])\n stream_path = f\"streams={stream_name}\"\n return self._get_options_socket(stream_path, prefix=\"stream?\")" + }, + "futures_multiplex_socket": { + "name": "futures_multiplex_socket", + "path": "binance.ws.streams.BinanceSocketManager.futures_multiplex_socket", + "signature": "(self, streams, futures_type=FuturesType.USD_M)", + "description": "Start a multiplexed socket using a list of socket names.\nUser stream sockets can not be included.\n\nSymbols in socket name must be lowercase i.e bnbbtc@aggTrade, neobtc@ticker\n\nCombined stream events are wrapped as follows: {\"stream\":\"\",\"data\":}\n\nhttps://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md\n\n:param streams: list of stream names in lower case\n:param futures_type: use USD-M or COIN-M futures default USD-M\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format - see Binance API docs for all types", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "streams", + "annotation": "List[str]", + "description": null, + "value": null + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_multiplex_socket(\n self, streams: List[str], futures_type: FuturesType = FuturesType.USD_M\n):\n \"\"\"Start a multiplexed socket using a list of socket names.\n User stream sockets can not be included.\n\n Symbols in socket name must be lowercase i.e bnbbtc@aggTrade, neobtc@ticker\n\n Combined stream events are wrapped as follows: {\"stream\":\"\",\"data\":}\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md\n\n :param streams: list of stream names in lower case\n :param futures_type: use USD-M or COIN-M futures default USD-M\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n\n \"\"\"\n path = f\"streams={'/'.join(streams)}\"\n return self._get_futures_socket(\n path, prefix=\"stream?\", futures_type=futures_type\n )" + }, + "user_socket": { + "name": "user_socket", + "path": "binance.ws.streams.BinanceSocketManager.user_socket", + "signature": "(self)", + "description": "Start a websocket for user data\n\nhttps://github.com/binance-exchange/binance-official-api-docs/blob/master/user-data-stream.md\nhttps://binance-docs.github.io/apidocs/spot/en/#listen-key-spot\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format - see Binance API docs for all types", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def user_socket(self):\n \"\"\"Start a websocket for user data\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/user-data-stream.md\n https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n \"\"\"\n stream_url = self.STREAM_URL\n if self.testnet:\n stream_url = self.STREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.STREAM_DEMO_URL\n return self._get_account_socket(\"user\", stream_url=stream_url)" + }, + "futures_user_socket": { + "name": "futures_user_socket", + "path": "binance.ws.streams.BinanceSocketManager.futures_user_socket", + "signature": "(self)", + "description": "Start a websocket for futures user data\n\nhttps://binance-docs.github.io/apidocs/futures/en/#user-data-streams\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format - see Binanace API docs for all types", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_user_socket(self):\n \"\"\"Start a websocket for futures user data\n\n https://binance-docs.github.io/apidocs/futures/en/#user-data-streams\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binanace API docs for all types\n \"\"\"\n\n stream_url = self.FSTREAM_URL\n if self.testnet:\n stream_url = self.FSTREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.FSTREAM_DEMO_URL\n return self._get_account_socket(\"futures\", stream_url=stream_url)" + }, + "coin_futures_user_socket": { + "name": "coin_futures_user_socket", + "path": "binance.ws.streams.BinanceSocketManager.coin_futures_user_socket", + "signature": "(self)", + "description": "Start a websocket for coin futures user data\n\nhttps://binance-docs.github.io/apidocs/delivery/en/#user-data-streams\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format - see Binanace API docs for all types", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def coin_futures_user_socket(self):\n \"\"\"Start a websocket for coin futures user data\n\n https://binance-docs.github.io/apidocs/delivery/en/#user-data-streams\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binanace API docs for all types\n \"\"\"\n\n return self._get_account_socket(\"coin_futures\", stream_url=self.DSTREAM_URL)" + }, + "margin_socket": { + "name": "margin_socket", + "path": "binance.ws.streams.BinanceSocketManager.margin_socket", + "signature": "(self)", + "description": "Start a websocket for cross-margin data\n\nhttps://binance-docs.github.io/apidocs/spot/en/#listen-key-margin\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format - see Binance API docs for all types", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def margin_socket(self):\n \"\"\"Start a websocket for cross-margin data\n\n https://binance-docs.github.io/apidocs/spot/en/#listen-key-margin\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n \"\"\"\n stream_url = self.STREAM_URL\n if self.testnet:\n stream_url = self.STREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.STREAM_DEMO_URL\n return self._get_account_socket(\"margin\", stream_url=stream_url)" + }, + "futures_socket": { + "name": "futures_socket", + "path": "binance.ws.streams.BinanceSocketManager.futures_socket", + "signature": "(self)", + "description": "Start a websocket for futures data\n\n https://binance-docs.github.io/apidocs/futures/en/#websocket-market-streams\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format - see Binance API docs for all types", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_socket(self):\n \"\"\"Start a websocket for futures data\n\n https://binance-docs.github.io/apidocs/futures/en/#websocket-market-streams\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n \"\"\"\n stream_url = self.FSTREAM_URL\n if self.testnet:\n stream_url = self.FSTREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.FSTREAM_DEMO_URL\n return self._get_account_socket(\"futures\", stream_url=stream_url)" + }, + "coin_futures_socket": { + "name": "coin_futures_socket", + "path": "binance.ws.streams.BinanceSocketManager.coin_futures_socket", + "signature": "(self)", + "description": "Start a websocket for coin futures data\n\n https://binance-docs.github.io/apidocs/delivery/en/#websocket-market-streams\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format - see Binance API docs for all types", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def coin_futures_socket(self):\n \"\"\"Start a websocket for coin futures data\n\n https://binance-docs.github.io/apidocs/delivery/en/#websocket-market-streams\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n \"\"\"\n stream_url = self.DSTREAM_URL\n if self.testnet:\n stream_url = self.DSTREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.DSTREAM_DEMO_URL\n return self._get_account_socket(\"coin_futures\", stream_url=stream_url)" + }, + "portfolio_margin_socket": { + "name": "portfolio_margin_socket", + "path": "binance.ws.streams.BinanceSocketManager.portfolio_margin_socket", + "signature": "(self)", + "description": "Start a websocket for portfolio margin user data\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format - see Binance API docs for all types", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def portfolio_margin_socket(self):\n \"\"\"Start a websocket for portfolio margin user data\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n \"\"\"\n stream_url = self.FSTREAM_URL\n if self.testnet:\n stream_url = self.FSTREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.FSTREAM_DEMO_URL\n stream_url += \"pm/\"\n return self._get_account_socket(\"portfolio_margin\", stream_url=stream_url)" + }, + "isolated_margin_socket": { + "name": "isolated_margin_socket", + "path": "binance.ws.streams.BinanceSocketManager.isolated_margin_socket", + "signature": "(self, symbol)", + "description": "Start a websocket for isolated margin data\n\nhttps://binance-docs.github.io/apidocs/spot/en/#listen-key-isolated-margin\n\n:param symbol: required - symbol for the isolated margin account\n:type symbol: str\n\n:returns: connection key string if successful, False otherwise\n\nMessage Format - see Binance API docs for all types", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def isolated_margin_socket(self, symbol: str):\n \"\"\"Start a websocket for isolated margin data\n\n https://binance-docs.github.io/apidocs/spot/en/#listen-key-isolated-margin\n\n :param symbol: required - symbol for the isolated margin account\n :type symbol: str\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n \"\"\"\n stream_url = self.STREAM_URL\n if self.testnet:\n stream_url = self.STREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.STREAM_DEMO_URL\n return self._get_account_socket(symbol, stream_url=stream_url)" + }, + "options_ticker_socket": { + "name": "options_ticker_socket", + "path": "binance.ws.streams.BinanceSocketManager.options_ticker_socket", + "signature": "(self, symbol)", + "description": "Subscribe to a 24-hour ticker info stream for options trading.\n\nAPI Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/24-hour-TICKER\n\nStream provides real-time 24hr ticker information for all symbols. Only symbols whose ticker info \nchanged will be sent. Updates every 1000ms.\n\n:param symbol: The option symbol to subscribe to (e.g. \"BTC-220930-18000-C\")\n:type symbol: str", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_ticker_socket(self, symbol: str):\n \"\"\"Subscribe to a 24-hour ticker info stream for options trading.\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/24-hour-TICKER\n\n Stream provides real-time 24hr ticker information for all symbols. Only symbols whose ticker info \n changed will be sent. Updates every 1000ms.\n\n :param symbol: The option symbol to subscribe to (e.g. \"BTC-220930-18000-C\")\n :type symbol: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@ticker\")" + }, + "options_ticker_by_expiration_socket": { + "name": "options_ticker_by_expiration_socket", + "path": "binance.ws.streams.BinanceSocketManager.options_ticker_by_expiration_socket", + "signature": "(self, symbol, expiration_date)", + "description": "Subscribe to a 24-hour ticker info stream by underlying asset and expiration date.\n\nAPI Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/24-hour-TICKER-by-underlying-asset-and-expiration-data\n\nStream provides real-time 24hr ticker information grouped by underlying asset and expiration date.\nUpdates every 1000ms.\n\n:param symbol: The underlying asset (e.g., \"ETH\")\n:type symbol: str\n:param expiration_date: The expiration date (e.g., \"220930\" for Sept 30, 2022)\n:type expiration_date: str", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "expiration_date", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_ticker_by_expiration_socket(self, symbol: str, expiration_date: str):\n \"\"\"Subscribe to a 24-hour ticker info stream by underlying asset and expiration date.\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/24-hour-TICKER-by-underlying-asset-and-expiration-data\n\n Stream provides real-time 24hr ticker information grouped by underlying asset and expiration date.\n Updates every 1000ms.\n\n :param symbol: The underlying asset (e.g., \"ETH\")\n :type symbol: str\n :param expiration_date: The expiration date (e.g., \"220930\" for Sept 30, 2022)\n :type expiration_date: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@ticker@\" + expiration_date)" + }, + "options_recent_trades_socket": { + "name": "options_recent_trades_socket", + "path": "binance.ws.streams.BinanceSocketManager.options_recent_trades_socket", + "signature": "(self, symbol)", + "description": "Subscribe to a real-time trade information stream.\n\nAPI Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Trade-Streams\n\nStream pushes raw trade information for a specific symbol or underlying asset.\nUpdates every 50ms.\n\n:param symbol: The option symbol or underlying asset (e.g., \"BTC-200630-9000-P\" or \"BTC\")\n:type symbol: str", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_recent_trades_socket(self, symbol: str):\n \"\"\"Subscribe to a real-time trade information stream.\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Trade-Streams\n\n Stream pushes raw trade information for a specific symbol or underlying asset.\n Updates every 50ms.\n\n :param symbol: The option symbol or underlying asset (e.g., \"BTC-200630-9000-P\" or \"BTC\")\n :type symbol: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@trade\")" + }, + "options_kline_socket": { + "name": "options_kline_socket", + "path": "binance.ws.streams.BinanceSocketManager.options_kline_socket", + "signature": "(self, symbol, interval=AsyncClient.KLINE_INTERVAL_1MINUTE)", + "description": "Subscribe to a Kline/Candlestick data stream.\n\nAPI Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Kline-Candlestick-Streams\n\nStream pushes updates to the current klines/candlestick every 1000ms (if existing).\n\nAvailable intervals:\n- Minutes: \"1m\", \"3m\", \"5m\", \"15m\", \"30m\"\n- Hours: \"1h\", \"2h\", \"4h\", \"6h\", \"12h\"\n- Days: \"1d\", \"3d\"\n- Weeks: \"1w\"\n\n:param symbol: The option symbol (e.g., \"BTC-200630-9000-P\")\n:type symbol: str\n:param interval: Kline interval, default KLINE_INTERVAL_1MINUTE\n:type interval: str", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": "AsyncClient.KLINE_INTERVAL_1MINUTE" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_kline_socket(\n self, symbol: str, interval=AsyncClient.KLINE_INTERVAL_1MINUTE\n):\n \"\"\"Subscribe to a Kline/Candlestick data stream.\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Kline-Candlestick-Streams\n\n Stream pushes updates to the current klines/candlestick every 1000ms (if existing).\n\n Available intervals:\n - Minutes: \"1m\", \"3m\", \"5m\", \"15m\", \"30m\"\n - Hours: \"1h\", \"2h\", \"4h\", \"6h\", \"12h\"\n - Days: \"1d\", \"3d\"\n - Weeks: \"1w\"\n\n :param symbol: The option symbol (e.g., \"BTC-200630-9000-P\")\n :type symbol: str\n :param interval: Kline interval, default KLINE_INTERVAL_1MINUTE\n :type interval: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@kline_\" + interval)" + }, + "options_depth_socket": { + "name": "options_depth_socket", + "path": "binance.ws.streams.BinanceSocketManager.options_depth_socket", + "signature": "(self, symbol, depth='10')", + "description": "Subscribe to partial book depth stream for options trading.\n\nAPI Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Partial-Book-Depth-Streams\n\nStream provides top N bids and asks from the order book.\nDefault update speed is 500ms if not specified in the stream name.\n\n:param symbol: The option symbol (e.g., \"BTC-200630-9000-P\")\n:type symbol: str\n:param depth: Number of price levels. Valid values: \"10\", \"20\", \"50\", \"100\"\n:type depth: str", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "depth", + "annotation": "str", + "description": null, + "value": "'10'" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_depth_socket(self, symbol: str, depth: str = \"10\"):\n \"\"\"Subscribe to partial book depth stream for options trading.\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Partial-Book-Depth-Streams\n\n Stream provides top N bids and asks from the order book.\n Default update speed is 500ms if not specified in the stream name.\n\n :param symbol: The option symbol (e.g., \"BTC-200630-9000-P\")\n :type symbol: str\n :param depth: Number of price levels. Valid values: \"10\", \"20\", \"50\", \"100\"\n :type depth: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@depth\" + str(depth))" + }, + "futures_depth_socket": { + "name": "futures_depth_socket", + "path": "binance.ws.streams.BinanceSocketManager.futures_depth_socket", + "signature": "(self, symbol, depth='10', futures_type=FuturesType.USD_M)", + "description": "Subscribe to a futures depth data stream\n\nhttps://binance-docs.github.io/apidocs/futures/en/#partial-book-depth-streams\n\n:param symbol: required\n:type symbol: str\n:param depth: optional Number of depth entries to return, default 10.\n:type depth: str\n:param futures_type: use USD-M or COIN-M futures default USD-M", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "depth", + "annotation": "str", + "description": null, + "value": "'10'" + }, + { + "name": "futures_type", + "annotation": null, + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def futures_depth_socket(self, symbol: str, depth: str = \"10\", futures_type=FuturesType.USD_M):\n \"\"\"Subscribe to a futures depth data stream\n\n https://binance-docs.github.io/apidocs/futures/en/#partial-book-depth-streams\n\n :param symbol: required\n :type symbol: str\n :param depth: optional Number of depth entries to return, default 10.\n :type depth: str\n :param futures_type: use USD-M or COIN-M futures default USD-M\n \"\"\"\n return self._get_futures_socket(\n symbol.lower() + \"@depth\" + str(depth), futures_type=futures_type\n )" + }, + "options_new_symbol_socket": { + "name": "options_new_symbol_socket", + "path": "binance.ws.streams.BinanceSocketManager.options_new_symbol_socket", + "signature": "(self)", + "description": "Subscribe to a new symbol listing information stream.\n\nStream provides real-time notifications when new option symbols are listed.\nUpdates every 50ms.\n\nStream name: option_pair\n\nAPI Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/New-Symbol-Info\n\nResponse fields include:\n- Event type and timestamps\n- Underlying index (e.g., 'BTCUSDT')\n- Quotation asset (e.g., 'USDT')\n- Trading pair name (e.g., 'BTC-221116-21000-C')\n- Conversion ratio and minimum trade volume\n- Option type (CALL/PUT)\n- Strike price and expiration time", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_new_symbol_socket(self):\n \"\"\"Subscribe to a new symbol listing information stream.\n\n Stream provides real-time notifications when new option symbols are listed.\n Updates every 50ms.\n\n Stream name: option_pair\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/New-Symbol-Info\n\n Response fields include:\n - Event type and timestamps\n - Underlying index (e.g., 'BTCUSDT')\n - Quotation asset (e.g., 'USDT')\n - Trading pair name (e.g., 'BTC-221116-21000-C')\n - Conversion ratio and minimum trade volume\n - Option type (CALL/PUT)\n - Strike price and expiration time\n \"\"\"\n return self._get_options_socket(\"option_pair\")" + }, + "options_open_interest_socket": { + "name": "options_open_interest_socket", + "path": "binance.ws.streams.BinanceSocketManager.options_open_interest_socket", + "signature": "(self, symbol, expiration_date)", + "description": "Subscribe to an options open interest stream.\n\nStream provides open interest information for specific underlying asset on specific expiration date.\nUpdates every 60 seconds.\n\nStream name format: @openInterest@\n\nAPI Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Open-Interest\n\nResponse fields include:\n- Event type and timestamps\n- Option symbol (e.g., 'ETH-221125-2700-C')\n- Open interest in contracts\n- Open interest in USDT\n\n:param symbol: The underlying asset (e.g., \"ETH\")\n:type symbol: str\n:param expiration_date: The expiration date (e.g., \"221125\" for Nov 25, 2022)\n:type expiration_date: str", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "expiration_date", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_open_interest_socket(self, symbol: str, expiration_date: str):\n \"\"\"Subscribe to an options open interest stream.\n\n Stream provides open interest information for specific underlying asset on specific expiration date.\n Updates every 60 seconds.\n\n Stream name format: @openInterest@\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Open-Interest\n\n Response fields include:\n - Event type and timestamps\n - Option symbol (e.g., 'ETH-221125-2700-C')\n - Open interest in contracts\n - Open interest in USDT\n\n :param symbol: The underlying asset (e.g., \"ETH\")\n :type symbol: str\n :param expiration_date: The expiration date (e.g., \"221125\" for Nov 25, 2022)\n :type expiration_date: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@openInterest@\" + expiration_date)" + }, + "options_mark_price_socket": { + "name": "options_mark_price_socket", + "path": "binance.ws.streams.BinanceSocketManager.options_mark_price_socket", + "signature": "(self, symbol)", + "description": "Subscribe to an options mark price stream.\n\nStream provides mark price information for all option symbols on specific underlying asset.\nUpdates every 1000ms.\n\nStream name format: @markPrice\n\nAPI Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Mark-Price\n\nResponse fields include:\n- Event type and timestamps\n- Option symbol (e.g., 'ETH-220930-1500-C')\n- Option mark price\n\n:param symbol: The underlying asset (e.g., \"ETH\")\n:type symbol: str", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_mark_price_socket(self, symbol: str):\n \"\"\"Subscribe to an options mark price stream.\n\n Stream provides mark price information for all option symbols on specific underlying asset.\n Updates every 1000ms.\n\n Stream name format: @markPrice\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Mark-Price\n\n Response fields include:\n - Event type and timestamps\n - Option symbol (e.g., 'ETH-220930-1500-C')\n - Option mark price\n\n :param symbol: The underlying asset (e.g., \"ETH\")\n :type symbol: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@markPrice\")" + }, + "options_index_price_socket": { + "name": "options_index_price_socket", + "path": "binance.ws.streams.BinanceSocketManager.options_index_price_socket", + "signature": "(self, symbol)", + "description": "Subscribe to an options index price stream.\n\nAPI Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Index-Price-Streams\n\nStream provides index price information for underlying assets (e.g., ETHUSDT).\nUpdates every 1000ms.\n\nResponse fields include:\n- Event type and timestamps\n- Underlying symbol (e.g., 'ETHUSDT')\n- Index price\n\n:param symbol: The underlying symbol (e.g., \"ETHUSDT\")\n:type symbol: str", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def options_index_price_socket(self, symbol: str):\n \"\"\"Subscribe to an options index price stream.\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Index-Price-Streams\n\n Stream provides index price information for underlying assets (e.g., ETHUSDT).\n Updates every 1000ms.\n\n Response fields include:\n - Event type and timestamps\n - Underlying symbol (e.g., 'ETHUSDT')\n - Index price\n\n :param symbol: The underlying symbol (e.g., \"ETHUSDT\")\n :type symbol: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@index\")" + }, + "_stop_socket": { + "name": "_stop_socket", + "path": "binance.ws.streams.BinanceSocketManager._stop_socket", + "signature": "(self, conn_key)", + "description": "Stop a websocket given the connection key\n\n:param conn_key: Socket connection key\n:type conn_key: string\n\n:returns: None", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "conn_key", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _stop_socket(self, conn_key):\n \"\"\"Stop a websocket given the connection key\n\n :param conn_key: Socket connection key\n :type conn_key: string\n\n :returns: None\n \"\"\"\n if conn_key not in self._conns:\n return\n\n del self._conns[conn_key]" + } + }, + "source": "class BinanceSocketManager:\n STREAM_URL = \"wss://stream.binance.{}:9443/\"\n STREAM_TESTNET_URL = \"wss://stream.testnet.binance.vision/\"\n STREAM_DEMO_URL = \"wss://demo-stream.binance.com/\"\n FSTREAM_URL = \"wss://fstream.binance.{}/\"\n FSTREAM_TESTNET_URL = \"wss://stream.binancefuture.com/\"\n FSTREAM_DEMO_URL = \"wss://fstream.binancefuture.com/\"\n DSTREAM_URL = \"wss://dstream.binance.{}/\"\n DSTREAM_TESTNET_URL = \"wss://dstream.binancefuture.com/\"\n DSTREAM_DEMO_URL = \"wss://dstream.binancefuture.com/\"\n OPTIONS_URL = \"wss://nbstream.binance.{}/eoptions/\"\n\n WEBSOCKET_DEPTH_5 = \"5\"\n WEBSOCKET_DEPTH_10 = \"10\"\n WEBSOCKET_DEPTH_20 = \"20\"\n\n def __init__(\n self, \n client: AsyncClient, \n user_timeout=KEEPALIVE_TIMEOUT,\n max_queue_size: int = 100,\n ):\n \"\"\"Initialise the BinanceSocketManager\n\n :param client: Binance API client\n :type client: binance.AsyncClient\n :param user_timeout: Timeout for user socket in seconds\n :param max_queue_size: Max size of the websocket queue, defaults to 100\n :type max_queue_size: int\n \"\"\"\n self.STREAM_URL = self.STREAM_URL.format(client.tld)\n self.FSTREAM_URL = self.FSTREAM_URL.format(client.tld)\n self.DSTREAM_URL = self.DSTREAM_URL.format(client.tld)\n self.OPTIONS_URL = self.OPTIONS_URL.format(client.tld)\n\n self._conns = {}\n self._loop = get_loop()\n self._client = client\n self._user_timeout = user_timeout\n self.testnet = self._client.testnet\n self.demo = self._client.demo\n self._max_queue_size = max_queue_size\n self.ws_kwargs = {}\n\n def _get_stream_url(self, stream_url: Optional[str] = None):\n if stream_url:\n return stream_url\n stream_url = self.STREAM_URL\n if self.testnet:\n stream_url = self.STREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.STREAM_DEMO_URL\n return stream_url\n\n def _get_socket(\n self,\n path: str,\n stream_url: Optional[str] = None,\n prefix: str = \"ws/\",\n is_binary: bool = False,\n socket_type: BinanceSocketType = BinanceSocketType.SPOT,\n ) -> ReconnectingWebsocket:\n conn_id = f\"{socket_type}_{path}\"\n time_unit = getattr(self._client, \"TIME_UNIT\", None)\n if time_unit:\n path = f\"{path}?timeUnit={time_unit}\"\n if conn_id not in self._conns:\n self._conns[conn_id] = ReconnectingWebsocket(\n path=path,\n url=self._get_stream_url(stream_url),\n prefix=prefix,\n exit_coro=lambda p: self._exit_socket(f\"{socket_type}_{p}\"),\n is_binary=is_binary,\n https_proxy=self._client.https_proxy,\n max_queue_size=self._max_queue_size,\n **self.ws_kwargs,\n )\n\n return self._conns[conn_id]\n\n def _get_account_socket(\n self,\n path: str,\n stream_url: Optional[str] = None,\n prefix: str = \"ws/\",\n is_binary: bool = False,\n ) -> KeepAliveWebsocket:\n conn_id = f\"{BinanceSocketType.ACCOUNT}_{path}\"\n if conn_id not in self._conns:\n self._conns[conn_id] = KeepAliveWebsocket(\n client=self._client,\n url=self._get_stream_url(stream_url),\n keepalive_type=path,\n prefix=prefix,\n exit_coro=lambda p: self._exit_socket(conn_id),\n is_binary=is_binary,\n user_timeout=self._user_timeout,\n https_proxy=self._client.https_proxy,\n **self.ws_kwargs,\n )\n\n return self._conns[conn_id]\n\n def _get_futures_socket(\n self, path: str, futures_type: FuturesType, prefix: str = \"stream?streams=\"\n ):\n socket_type: BinanceSocketType = BinanceSocketType.USD_M_FUTURES\n if futures_type == FuturesType.USD_M:\n stream_url = self.FSTREAM_URL\n if self.testnet:\n stream_url = self.FSTREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.FSTREAM_DEMO_URL\n else:\n stream_url = self.DSTREAM_URL\n if self.testnet:\n stream_url = self.DSTREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.DSTREAM_DEMO_URL\n return self._get_socket(path, stream_url, prefix, socket_type=socket_type)\n\n def _get_options_socket(self, path: str, prefix: str = \"ws/\"):\n stream_url = self.OPTIONS_URL\n return self._get_socket(\n path,\n stream_url,\n prefix,\n is_binary=False,\n socket_type=BinanceSocketType.OPTIONS,\n )\n\n async def _exit_socket(self, path: str):\n await self._stop_socket(path)\n\n def depth_socket(\n self, symbol: str, depth: Optional[str] = None, interval: Optional[int] = None\n ):\n \"\"\"Start a websocket for symbol market depth returning either a diff or a partial book\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#partial-book-depth-streams\n\n :param symbol: required\n :type symbol: str\n :param depth: optional Number of depth entries to return, default None. If passed returns a partial book instead of a diff\n :type depth: str\n :param interval: optional interval for updates, default None. If not set, updates happen every second. Must be 0, None (1s) or 100 (100ms)\n :type interval: int\n\n :returns: connection key string if successful, False otherwise\n\n Partial Message Format\n\n .. code-block:: python\n\n {\n \"lastUpdateId\": 160, # Last update ID\n \"bids\": [ # Bids to be updated\n [\n \"0.0024\", # price level to be updated\n \"10\", # quantity\n [] # ignore\n ]\n ],\n \"asks\": [ # Asks to be updated\n [\n \"0.0026\", # price level to be updated\n \"100\", # quantity\n [] # ignore\n ]\n ]\n }\n\n\n Diff Message Format\n\n .. code-block:: python\n\n {\n \"e\": \"depthUpdate\", # Event type\n \"E\": 123456789, # Event time\n \"s\": \"BNBBTC\", # Symbol\n \"U\": 157, # First update ID in event\n \"u\": 160, # Final update ID in event\n \"b\": [ # Bids to be updated\n [\n \"0.0024\", # price level to be updated\n \"10\", # quantity\n [] # ignore\n ]\n ],\n \"a\": [ # Asks to be updated\n [\n \"0.0026\", # price level to be updated\n \"100\", # quantity\n [] # ignore\n ]\n ]\n }\n\n \"\"\"\n socket_name = symbol.lower() + \"@depth\"\n if depth and depth != \"1\":\n socket_name = f\"{socket_name}{depth}\"\n if interval:\n if interval in [0, 100]:\n socket_name = f\"{socket_name}@{interval}ms\"\n else:\n raise ValueError(\n \"Websocket interval value not allowed. Allowed values are [0, 100]\"\n )\n return self._get_socket(socket_name)\n\n def kline_socket(self, symbol: str, interval=AsyncClient.KLINE_INTERVAL_1MINUTE):\n \"\"\"Start a websocket for symbol kline data\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#klinecandlestick-streams\n\n :param symbol: required\n :type symbol: str\n :param interval: Kline interval, default KLINE_INTERVAL_1MINUTE\n :type interval: str\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"e\": \"kline\",\t\t\t\t\t# event type\n \"E\": 1499404907056,\t\t\t\t# event time\n \"s\": \"ETHBTC\",\t\t\t\t\t# symbol\n \"k\": {\n \"t\": 1499404860000, \t\t# start time of this bar\n \"T\": 1499404919999, \t\t# end time of this bar\n \"s\": \"ETHBTC\",\t\t\t\t# symbol\n \"i\": \"1m\",\t\t\t\t\t# interval\n \"f\": 77462,\t\t\t\t\t# first trade id\n \"L\": 77465,\t\t\t\t\t# last trade id\n \"o\": \"0.10278577\",\t\t\t# open\n \"c\": \"0.10278645\",\t\t\t# close\n \"h\": \"0.10278712\",\t\t\t# high\n \"l\": \"0.10278518\",\t\t\t# low\n \"v\": \"17.47929838\",\t\t\t# volume\n \"n\": 4,\t\t\t\t\t\t# number of trades\n \"x\": false,\t\t\t\t\t# whether this bar is final\n \"q\": \"1.79662878\",\t\t\t# quote volume\n \"V\": \"2.34879839\",\t\t\t# volume of active buy\n \"Q\": \"0.24142166\",\t\t\t# quote volume of active buy\n \"B\": \"13279784.01349473\"\t# can be ignored\n }\n }\n \"\"\"\n path = f\"{symbol.lower()}@kline_{interval}\"\n return self._get_socket(path)\n\n def kline_futures_socket(\n self,\n symbol: str,\n interval=AsyncClient.KLINE_INTERVAL_1MINUTE,\n futures_type: FuturesType = FuturesType.USD_M,\n contract_type: ContractType = ContractType.PERPETUAL,\n ):\n \"\"\"Start a websocket for symbol kline data for the perpeual futures stream\n\n https://binance-docs.github.io/apidocs/futures/en/#continuous-contract-kline-candlestick-streams\n\n :param symbol: required\n :type symbol: str\n :param interval: Kline interval, default KLINE_INTERVAL_1MINUTE\n :type interval: str\n :param futures_type: use USD-M or COIN-M futures default USD-M\n :param contract_type: use PERPETUAL or CURRENT_QUARTER or NEXT_QUARTER default PERPETUAL\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"e\":\"continuous_kline\", // Event type\n \"E\":1607443058651, // Event time\n \"ps\":\"BTCUSDT\", // Pair\n \"ct\":\"PERPETUAL\" // Contract type\n \"k\":{\n \"t\":1607443020000, // Kline start time\n \"T\":1607443079999, // Kline close time\n \"i\":\"1m\", // Interval\n \"f\":116467658886, // First trade ID\n \"L\":116468012423, // Last trade ID\n \"o\":\"18787.00\", // Open price\n \"c\":\"18804.04\", // Close price\n \"h\":\"18804.04\", // High price\n \"l\":\"18786.54\", // Low price\n \"v\":\"197.664\", // volume\n \"n\": 543, // Number of trades\n \"x\":false, // Is this kline closed?\n \"q\":\"3715253.19494\", // Quote asset volume\n \"V\":\"184.769\", // Taker buy volume\n \"Q\":\"3472925.84746\", //Taker buy quote asset volume\n \"B\":\"0\" // Ignore\n }\n }\n _@continuousKline_\n \"\"\"\n\n path = f\"{symbol.lower()}_{contract_type.value}@continuousKline_{interval}\"\n return self._get_futures_socket(path, prefix=\"ws/\", futures_type=futures_type)\n\n def miniticker_socket(self, update_time: int = 1000):\n \"\"\"Start a miniticker websocket for all trades\n\n This is not in the official Binance api docs, but this is what\n feeds the right column on a ticker page on Binance.\n\n :param update_time: time between callbacks in milliseconds, must be 1000 or greater\n :type update_time: int\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n [\n {\n 'e': '24hrMiniTicker', # Event type\n 'E': 1515906156273, # Event time\n 's': 'QTUMETH', # Symbol\n 'c': '0.03836900', # close\n 'o': '0.03953500', # open\n 'h': '0.04400000', # high\n 'l': '0.03756000', # low\n 'v': '147435.80000000', # volume\n 'q': '5903.84338533' # quote volume\n }\n ]\n \"\"\"\n\n return self._get_socket(f\"!miniTicker@arr@{update_time}ms\")\n\n def trade_socket(self, symbol: str):\n \"\"\"Start a websocket for symbol trade data\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#trade-streams\n\n :param symbol: required\n :type symbol: str\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"e\": \"trade\", # Event type\n \"E\": 123456789, # Event time\n \"s\": \"BNBBTC\", # Symbol\n \"t\": 12345, # Trade ID\n \"p\": \"0.001\", # Price\n \"q\": \"100\", # Quantity\n \"b\": 88, # Buyer order Id\n \"a\": 50, # Seller order Id\n \"T\": 123456785, # Trade time\n \"m\": true, # Is the buyer the market maker?\n \"M\": true # Ignore.\n }\n\n \"\"\"\n\n return self._get_socket(symbol.lower() + \"@trade\")\n\n def aggtrade_socket(self, symbol: str):\n \"\"\"Start a websocket for symbol trade data\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#aggregate-trade-streams\n\n :param symbol: required\n :type symbol: str\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"e\": \"aggTrade\",\t\t# event type\n \"E\": 1499405254326,\t\t# event time\n \"s\": \"ETHBTC\",\t\t\t# symbol\n \"a\": 70232,\t\t\t\t# aggregated tradeid\n \"p\": \"0.10281118\",\t\t# price\n \"q\": \"8.15632997\",\t\t# quantity\n \"f\": 77489,\t\t\t\t# first breakdown trade id\n \"l\": 77489,\t\t\t\t# last breakdown trade id\n \"T\": 1499405254324,\t\t# trade time\n \"m\": false,\t\t\t\t# whether buyer is a maker\n \"M\": true\t\t\t\t# can be ignored\n }\n\n \"\"\"\n return self._get_socket(symbol.lower() + \"@aggTrade\")\n\n def aggtrade_futures_socket(\n self, symbol: str, futures_type: FuturesType = FuturesType.USD_M\n ):\n \"\"\"Start a websocket for aggregate symbol trade data for the futures stream\n\n :param symbol: required\n :param futures_type: use USD-M or COIN-M futures default USD-M\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"e\": \"aggTrade\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"a\": 5933014, // Aggregate trade ID\n \"p\": \"0.001\", // Price\n \"q\": \"100\", // Quantity\n \"f\": 100, // First trade ID\n \"l\": 105, // Last trade ID\n \"T\": 123456785, // Trade time\n \"m\": true, // Is the buyer the market maker?\n }\n\n \"\"\"\n return self._get_futures_socket(\n symbol.lower() + \"@aggTrade\", futures_type=futures_type\n )\n\n def symbol_miniticker_socket(self, symbol: str):\n \"\"\"Start a websocket for a symbol's miniTicker data\n\n https://binance-docs.github.io/apidocs/spot/en/#individual-symbol-mini-ticker-stream\n\n :param symbol: required\n :type symbol: str\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"e\": \"24hrMiniTicker\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BNBBTC\", // Symbol\n \"c\": \"0.0025\", // Close price\n \"o\": \"0.0010\", // Open price\n \"h\": \"0.0025\", // High price\n \"l\": \"0.0010\", // Low price\n \"v\": \"10000\", // Total traded base asset volume\n \"q\": \"18\" // Total traded quote asset volume\n }\n\n \"\"\"\n return self._get_socket(symbol.lower() + \"@miniTicker\")\n\n def symbol_ticker_socket(self, symbol: str):\n \"\"\"Start a websocket for a symbol's ticker data\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#individual-symbol-ticker-streams\n\n :param symbol: required\n :type symbol: str\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"e\": \"24hrTicker\", # Event type\n \"E\": 123456789, # Event time\n \"s\": \"BNBBTC\", # Symbol\n \"p\": \"0.0015\", # Price change\n \"P\": \"250.00\", # Price change percent\n \"w\": \"0.0018\", # Weighted average price\n \"x\": \"0.0009\", # Previous day's close price\n \"c\": \"0.0025\", # Current day's close price\n \"Q\": \"10\", # Close trade's quantity\n \"b\": \"0.0024\", # Best bid price\n \"B\": \"10\", # Bid bid quantity\n \"a\": \"0.0026\", # Best ask price\n \"A\": \"100\", # Best ask quantity\n \"o\": \"0.0010\", # Open price\n \"h\": \"0.0025\", # High price\n \"l\": \"0.0010\", # Low price\n \"v\": \"10000\", # Total traded base asset volume\n \"q\": \"18\", # Total traded quote asset volume\n \"O\": 0, # Statistics open time\n \"C\": 86400000, # Statistics close time\n \"F\": 0, # First trade ID\n \"L\": 18150, # Last trade Id\n \"n\": 18151 # Total number of trades\n }\n\n \"\"\"\n return self._get_socket(symbol.lower() + \"@ticker\")\n\n def ticker_socket(self):\n \"\"\"Start a websocket for all ticker data\n\n By default all markets are included in an array.\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#all-market-tickers-stream\n\n :param coro: callback function to handle messages\n :type coro: function\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n [\n {\n 'F': 278610,\n 'o': '0.07393000',\n 's': 'BCCBTC',\n 'C': 1509622420916,\n 'b': '0.07800800',\n 'l': '0.07160300',\n 'h': '0.08199900',\n 'L': 287722,\n 'P': '6.694',\n 'Q': '0.10000000',\n 'q': '1202.67106335',\n 'p': '0.00494900',\n 'O': 1509536020916,\n 'a': '0.07887800',\n 'n': 9113,\n 'B': '1.00000000',\n 'c': '0.07887900',\n 'x': '0.07399600',\n 'w': '0.07639068',\n 'A': '2.41900000',\n 'v': '15743.68900000'\n }\n ]\n \"\"\"\n return self._get_socket(\"!ticker@arr\")\n\n def futures_ticker_socket(self):\n \"\"\"Start a websocket for all ticker data\n\n By default all markets are included in an array.\n\n https://binance-docs.github.io/apidocs/futures/en/#all-market-tickers-streams\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n [\n {\n \"e\": \"24hrTicker\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"0.0015\", // Price change\n \"P\": \"250.00\", // Price change percent\n \"w\": \"0.0018\", // Weighted average price\n \"c\": \"0.0025\", // Last price\n \"Q\": \"10\", // Last quantity\n \"o\": \"0.0010\", // Open price\n \"h\": \"0.0025\", // High price\n \"l\": \"0.0010\", // Low price\n \"v\": \"10000\", // Total traded base asset volume\n \"q\": \"18\", // Total traded quote asset volume\n \"O\": 0, // Statistics open time\n \"C\": 86400000, // Statistics close time\n \"F\": 0, // First trade ID\n \"L\": 18150, // Last trade Id\n \"n\": 18151 // Total number of trades\n }\n ]\n \"\"\"\n return self._get_futures_socket(\"!ticker@arr\", FuturesType.USD_M)\n\n def futures_coin_ticker_socket(self):\n \"\"\"Start a websocket for all ticker data\n\n By default all markets are included in an array.\n\n https://binance-docs.github.io/apidocs/delivery/en/#all-market-tickers-streams\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n [\n {\n \"e\": \"24hrTicker\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"0.0015\", // Price change\n \"P\": \"250.00\", // Price change percent\n \"w\": \"0.0018\", // Weighted average price\n \"c\": \"0.0025\", // Last price\n \"Q\": \"10\", // Last quantity\n \"o\": \"0.0010\", // Open price\n \"h\": \"0.0025\", // High price\n \"l\": \"0.0010\", // Low price\n \"v\": \"10000\", // Total traded base asset volume\n \"q\": \"18\", // Total traded quote asset volume\n \"O\": 0, // Statistics open time\n \"C\": 86400000, // Statistics close time\n \"F\": 0, // First trade ID\n \"L\": 18150, // Last trade Id\n \"n\": 18151 // Total number of trades\n }\n ]\n \"\"\"\n return self._get_futures_socket(\"!ticker@arr\", FuturesType.COIN_M)\n\n def index_price_socket(self, symbol: str, fast: bool = True):\n \"\"\"Start a websocket for a symbol's futures mark price\n https://binance-docs.github.io/apidocs/delivery/en/#index-price-stream\n :param symbol: required\n :param fast: use faster or 1s default\n :returns: connection key string if successful, False otherwise\n\n Message Format\n .. code-block:: python\n {\n \"e\": \"indexPriceUpdate\", // Event type\n \"E\": 1591261236000, // Event time\n \"i\": \"BTCUSD\", // Pair\n \"p\": \"9636.57860000\", // Index Price\n }\n \"\"\"\n stream_name = \"@indexPrice@1s\" if fast else \"@indexPrice\"\n return self._get_futures_socket(\n symbol.lower() + stream_name, futures_type=FuturesType.COIN_M\n )\n\n def symbol_mark_price_socket(\n self,\n symbol: str,\n fast: bool = True,\n futures_type: FuturesType = FuturesType.USD_M,\n ):\n \"\"\"Start a websocket for a symbol's futures mark price\n https://binance-docs.github.io/apidocs/futures/en/#mark-price-stream\n :param symbol: required\n :param fast: use faster or 1s default\n :param futures_type: use USD-M or COIN-M futures default USD-M\n :returns: connection key string if successful, False otherwise\n Message Format\n .. code-block:: python\n {\n \"e\": \"markPriceUpdate\", // Event type\n \"E\": 1562305380000, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"11185.87786614\", // Mark price\n \"r\": \"0.00030000\", // Funding rate\n \"T\": 1562306400000 // Next funding time\n }\n \"\"\"\n stream_name = \"@markPrice@1s\" if fast else \"@markPrice\"\n return self._get_futures_socket(\n symbol.lower() + stream_name, futures_type=futures_type\n )\n\n def all_mark_price_socket(\n self, fast: bool = True, futures_type: FuturesType = FuturesType.USD_M\n ):\n \"\"\"Start a websocket for all futures mark price data\n By default all symbols are included in an array.\n https://binance-docs.github.io/apidocs/futures/en/#mark-price-stream-for-all-market\n :param fast: use faster or 1s default\n :param futures_type: use USD-M or COIN-M futures default USD-M\n :returns: connection key string if successful, False otherwise\n Message Format\n .. code-block:: python\n\n [\n {\n \"e\": \"markPriceUpdate\", // Event type\n \"E\": 1562305380000, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"11185.87786614\", // Mark price\n \"r\": \"0.00030000\", // Funding rate\n \"T\": 1562306400000 // Next funding time\n }\n ]\n \"\"\"\n stream_name = \"!markPrice@arr@1s\" if fast else \"!markPrice@arr\"\n return self._get_futures_socket(stream_name, futures_type=futures_type)\n\n def symbol_ticker_futures_socket(\n self, symbol: str, futures_type: FuturesType = FuturesType.USD_M\n ):\n \"\"\"Start a websocket for a symbol's ticker data\n By default all markets are included in an array.\n https://binance-docs.github.io/apidocs/futures/en/#individual-symbol-book-ticker-streams\n :param symbol: required\n :param futures_type: use USD-M or COIN-M futures default USD-M\n :returns: connection key string if successful, False otherwise\n .. code-block:: python\n [\n {\n \"u\":400900217, // order book updateId\n \"s\":\"BNBUSDT\", // symbol\n \"b\":\"25.35190000\", // best bid price\n \"B\":\"31.21000000\", // best bid qty\n \"a\":\"25.36520000\", // best ask price\n \"A\":\"40.66000000\" // best ask qty\n }\n ]\n \"\"\"\n return self._get_futures_socket(\n symbol.lower() + \"@bookTicker\", futures_type=futures_type\n )\n\n def individual_symbol_ticker_futures_socket(\n self, symbol: str, futures_type: FuturesType = FuturesType.USD_M\n ):\n \"\"\"Start a futures websocket for a single symbol's ticker data\n https://binance-docs.github.io/apidocs/futures/en/#individual-symbol-ticker-streams\n :param symbol: required\n :type symbol: str\n :param futures_type: use USD-M or COIN-M futures default USD-M\n :returns: connection key string if successful, False otherwise\n .. code-block:: python\n {\n \"e\": \"24hrTicker\", // Event type\n \"E\": 123456789, // Event time\n \"s\": \"BTCUSDT\", // Symbol\n \"p\": \"0.0015\", // Price change\n }\n \"\"\"\n return self._get_futures_socket(\n symbol.lower() + \"@ticker\", futures_type=futures_type\n )\n\n def all_ticker_futures_socket(\n self,\n channel: str = \"!bookTicker\",\n futures_type: FuturesType = FuturesType.USD_M,\n ):\n \"\"\"Start a websocket for all ticker data\n By default all markets are included in an array.\n\n https://binance-docs.github.io/apidocs/futures/en/#all-book-tickers-stream\n\n https://binance-docs.github.io/apidocs/futures/en/#all-market-tickers-streams\n\n :param channel: optional channel type, default '!bookTicker', but '!ticker@arr' is also available\n :param: futures_type: use USD-M or COIN-M futures default USD-M\n :returns: connection key string if successful, False otherwise\n Message Format\n .. code-block:: python\n [\n {\n \"u\":400900217, // order book updateId\n \"s\":\"BNBUSDT\", // symbol\n \"b\":\"25.35190000\", // best bid price\n \"B\":\"31.21000000\", // best bid qty\n \"a\":\"25.36520000\", // best ask price\n \"A\":\"40.66000000\" // best ask qty\n }\n ]\n \"\"\"\n\n return self._get_futures_socket(channel, futures_type=futures_type)\n\n def symbol_book_ticker_socket(self, symbol: str):\n \"\"\"Start a websocket for the best bid or ask's price or quantity for a specified symbol.\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#individual-symbol-book-ticker-streams\n\n :param symbol: required\n :type symbol: str\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n \"u\":400900217, // order book updateId\n \"s\":\"BNBUSDT\", // symbol\n \"b\":\"25.35190000\", // best bid price\n \"B\":\"31.21000000\", // best bid qty\n \"a\":\"25.36520000\", // best ask price\n \"A\":\"40.66000000\" // best ask qty\n }\n\n \"\"\"\n return self._get_socket(symbol.lower() + \"@bookTicker\")\n\n def book_ticker_socket(self):\n \"\"\"Start a websocket for the best bid or ask's price or quantity for all symbols.\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md#all-book-tickers-stream\n\n :returns: connection key string if successful, False otherwise\n\n Message Format\n\n .. code-block:: python\n\n {\n // Same as @bookTicker payload\n }\n\n \"\"\"\n return self._get_socket(\"!bookTicker\")\n\n def multiplex_socket(self, streams: List[str]):\n \"\"\"Start a multiplexed socket using a list of socket names.\n User stream sockets can not be included.\n\n Symbols in socket name must be lowercase i.e bnbbtc@aggTrade, neobtc@ticker\n\n Combined stream events are wrapped as follows: {\"stream\":\"\",\"data\":}\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md\n\n :param streams: list of stream names in lower case\n :type streams: list\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n\n \"\"\"\n path = f\"streams={'/'.join(streams)}\"\n return self._get_socket(path, prefix=\"stream?\")\n\n def options_multiplex_socket(self, streams: List[str]):\n \"\"\"Start a multiplexed socket using a list of socket names.\n\n https://developers.binance.com/docs/derivatives/option/websocket-market-streams\n\n \"\"\"\n stream_name = \"/\".join([s for s in streams])\n stream_path = f\"streams={stream_name}\"\n return self._get_options_socket(stream_path, prefix=\"stream?\")\n\n def futures_multiplex_socket(\n self, streams: List[str], futures_type: FuturesType = FuturesType.USD_M\n ):\n \"\"\"Start a multiplexed socket using a list of socket names.\n User stream sockets can not be included.\n\n Symbols in socket name must be lowercase i.e bnbbtc@aggTrade, neobtc@ticker\n\n Combined stream events are wrapped as follows: {\"stream\":\"\",\"data\":}\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md\n\n :param streams: list of stream names in lower case\n :param futures_type: use USD-M or COIN-M futures default USD-M\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n\n \"\"\"\n path = f\"streams={'/'.join(streams)}\"\n return self._get_futures_socket(\n path, prefix=\"stream?\", futures_type=futures_type\n )\n\n def user_socket(self):\n \"\"\"Start a websocket for user data\n\n https://github.com/binance-exchange/binance-official-api-docs/blob/master/user-data-stream.md\n https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n \"\"\"\n stream_url = self.STREAM_URL\n if self.testnet:\n stream_url = self.STREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.STREAM_DEMO_URL\n return self._get_account_socket(\"user\", stream_url=stream_url)\n\n def futures_user_socket(self):\n \"\"\"Start a websocket for futures user data\n\n https://binance-docs.github.io/apidocs/futures/en/#user-data-streams\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binanace API docs for all types\n \"\"\"\n\n stream_url = self.FSTREAM_URL\n if self.testnet:\n stream_url = self.FSTREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.FSTREAM_DEMO_URL\n return self._get_account_socket(\"futures\", stream_url=stream_url)\n\n def coin_futures_user_socket(self):\n \"\"\"Start a websocket for coin futures user data\n\n https://binance-docs.github.io/apidocs/delivery/en/#user-data-streams\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binanace API docs for all types\n \"\"\"\n\n return self._get_account_socket(\"coin_futures\", stream_url=self.DSTREAM_URL)\n\n def margin_socket(self):\n \"\"\"Start a websocket for cross-margin data\n\n https://binance-docs.github.io/apidocs/spot/en/#listen-key-margin\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n \"\"\"\n stream_url = self.STREAM_URL\n if self.testnet:\n stream_url = self.STREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.STREAM_DEMO_URL\n return self._get_account_socket(\"margin\", stream_url=stream_url)\n\n\n def futures_socket(self):\n \"\"\"Start a websocket for futures data\n\n https://binance-docs.github.io/apidocs/futures/en/#websocket-market-streams\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n \"\"\"\n stream_url = self.FSTREAM_URL\n if self.testnet:\n stream_url = self.FSTREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.FSTREAM_DEMO_URL\n return self._get_account_socket(\"futures\", stream_url=stream_url)\n\n def coin_futures_socket(self):\n \"\"\"Start a websocket for coin futures data\n\n https://binance-docs.github.io/apidocs/delivery/en/#websocket-market-streams\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n \"\"\"\n stream_url = self.DSTREAM_URL\n if self.testnet:\n stream_url = self.DSTREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.DSTREAM_DEMO_URL\n return self._get_account_socket(\"coin_futures\", stream_url=stream_url)\n\n def portfolio_margin_socket(self):\n \"\"\"Start a websocket for portfolio margin user data\n\n https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n \"\"\"\n stream_url = self.FSTREAM_URL\n if self.testnet:\n stream_url = self.FSTREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.FSTREAM_DEMO_URL\n stream_url += \"pm/\"\n return self._get_account_socket(\"portfolio_margin\", stream_url=stream_url)\n\n def isolated_margin_socket(self, symbol: str):\n \"\"\"Start a websocket for isolated margin data\n\n https://binance-docs.github.io/apidocs/spot/en/#listen-key-isolated-margin\n\n :param symbol: required - symbol for the isolated margin account\n :type symbol: str\n\n :returns: connection key string if successful, False otherwise\n\n Message Format - see Binance API docs for all types\n \"\"\"\n stream_url = self.STREAM_URL\n if self.testnet:\n stream_url = self.STREAM_TESTNET_URL\n elif self.demo:\n stream_url = self.STREAM_DEMO_URL\n return self._get_account_socket(symbol, stream_url=stream_url)\n\n def options_ticker_socket(self, symbol: str):\n \"\"\"Subscribe to a 24-hour ticker info stream for options trading.\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/24-hour-TICKER\n\n Stream provides real-time 24hr ticker information for all symbols. Only symbols whose ticker info \n changed will be sent. Updates every 1000ms.\n\n :param symbol: The option symbol to subscribe to (e.g. \"BTC-220930-18000-C\")\n :type symbol: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@ticker\")\n\n def options_ticker_by_expiration_socket(self, symbol: str, expiration_date: str):\n \"\"\"Subscribe to a 24-hour ticker info stream by underlying asset and expiration date.\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/24-hour-TICKER-by-underlying-asset-and-expiration-data\n\n Stream provides real-time 24hr ticker information grouped by underlying asset and expiration date.\n Updates every 1000ms.\n\n :param symbol: The underlying asset (e.g., \"ETH\")\n :type symbol: str\n :param expiration_date: The expiration date (e.g., \"220930\" for Sept 30, 2022)\n :type expiration_date: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@ticker@\" + expiration_date)\n\n def options_recent_trades_socket(self, symbol: str):\n \"\"\"Subscribe to a real-time trade information stream.\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Trade-Streams\n\n Stream pushes raw trade information for a specific symbol or underlying asset.\n Updates every 50ms.\n\n :param symbol: The option symbol or underlying asset (e.g., \"BTC-200630-9000-P\" or \"BTC\")\n :type symbol: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@trade\")\n\n def options_kline_socket(\n self, symbol: str, interval=AsyncClient.KLINE_INTERVAL_1MINUTE\n ):\n \"\"\"Subscribe to a Kline/Candlestick data stream.\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Kline-Candlestick-Streams\n\n Stream pushes updates to the current klines/candlestick every 1000ms (if existing).\n\n Available intervals:\n - Minutes: \"1m\", \"3m\", \"5m\", \"15m\", \"30m\"\n - Hours: \"1h\", \"2h\", \"4h\", \"6h\", \"12h\"\n - Days: \"1d\", \"3d\"\n - Weeks: \"1w\"\n\n :param symbol: The option symbol (e.g., \"BTC-200630-9000-P\")\n :type symbol: str\n :param interval: Kline interval, default KLINE_INTERVAL_1MINUTE\n :type interval: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@kline_\" + interval)\n\n def options_depth_socket(self, symbol: str, depth: str = \"10\"):\n \"\"\"Subscribe to partial book depth stream for options trading.\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Partial-Book-Depth-Streams\n\n Stream provides top N bids and asks from the order book.\n Default update speed is 500ms if not specified in the stream name.\n\n :param symbol: The option symbol (e.g., \"BTC-200630-9000-P\")\n :type symbol: str\n :param depth: Number of price levels. Valid values: \"10\", \"20\", \"50\", \"100\"\n :type depth: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@depth\" + str(depth))\n\n def futures_depth_socket(self, symbol: str, depth: str = \"10\", futures_type=FuturesType.USD_M):\n \"\"\"Subscribe to a futures depth data stream\n\n https://binance-docs.github.io/apidocs/futures/en/#partial-book-depth-streams\n\n :param symbol: required\n :type symbol: str\n :param depth: optional Number of depth entries to return, default 10.\n :type depth: str\n :param futures_type: use USD-M or COIN-M futures default USD-M\n \"\"\"\n return self._get_futures_socket(\n symbol.lower() + \"@depth\" + str(depth), futures_type=futures_type\n )\n\n def options_new_symbol_socket(self):\n \"\"\"Subscribe to a new symbol listing information stream.\n\n Stream provides real-time notifications when new option symbols are listed.\n Updates every 50ms.\n\n Stream name: option_pair\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/New-Symbol-Info\n\n Response fields include:\n - Event type and timestamps\n - Underlying index (e.g., 'BTCUSDT')\n - Quotation asset (e.g., 'USDT')\n - Trading pair name (e.g., 'BTC-221116-21000-C')\n - Conversion ratio and minimum trade volume\n - Option type (CALL/PUT)\n - Strike price and expiration time\n \"\"\"\n return self._get_options_socket(\"option_pair\")\n\n def options_open_interest_socket(self, symbol: str, expiration_date: str):\n \"\"\"Subscribe to an options open interest stream.\n\n Stream provides open interest information for specific underlying asset on specific expiration date.\n Updates every 60 seconds.\n\n Stream name format: @openInterest@\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Open-Interest\n\n Response fields include:\n - Event type and timestamps\n - Option symbol (e.g., 'ETH-221125-2700-C')\n - Open interest in contracts\n - Open interest in USDT\n\n :param symbol: The underlying asset (e.g., \"ETH\")\n :type symbol: str\n :param expiration_date: The expiration date (e.g., \"221125\" for Nov 25, 2022)\n :type expiration_date: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@openInterest@\" + expiration_date)\n\n def options_mark_price_socket(self, symbol: str):\n \"\"\"Subscribe to an options mark price stream.\n\n Stream provides mark price information for all option symbols on specific underlying asset.\n Updates every 1000ms.\n\n Stream name format: @markPrice\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Mark-Price\n\n Response fields include:\n - Event type and timestamps\n - Option symbol (e.g., 'ETH-220930-1500-C')\n - Option mark price\n\n :param symbol: The underlying asset (e.g., \"ETH\")\n :type symbol: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@markPrice\")\n\n def options_index_price_socket(self, symbol: str):\n \"\"\"Subscribe to an options index price stream.\n\n API Reference: https://developers.binance.com/docs/derivatives/option/websocket-market-streams/Index-Price-Streams\n\n Stream provides index price information for underlying assets (e.g., ETHUSDT).\n Updates every 1000ms.\n\n Response fields include:\n - Event type and timestamps\n - Underlying symbol (e.g., 'ETHUSDT')\n - Index price\n\n :param symbol: The underlying symbol (e.g., \"ETHUSDT\")\n :type symbol: str\n \"\"\"\n return self._get_options_socket(symbol.upper() + \"@index\")\n\n async def _stop_socket(self, conn_key):\n \"\"\"Stop a websocket given the connection key\n\n :param conn_key: Socket connection key\n :type conn_key: string\n\n :returns: None\n \"\"\"\n if conn_key not in self._conns:\n return\n\n del self._conns[conn_key]", + "inherited_members": {} + }, + "ThreadedWebsocketManager": { + "name": "ThreadedWebsocketManager", + "path": "binance.ws.streams.ThreadedWebsocketManager", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "api_key", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "api_secret", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "requests_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "session_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "https_proxy", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "loop", + "annotation": "Optional[asyncio.AbstractEventLoop]", + "description": null, + "value": "None" + }, + { + "name": "max_queue_size", + "annotation": "int", + "description": null, + "value": "100" + } + ], + "attributes": [], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.ws.streams.ThreadedWebsocketManager.__init__", + "signature": "(self, api_key=None, api_secret=None, requests_params=None, tld='com', testnet=False, session_params=None, https_proxy=None, loop=None, max_queue_size=100)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "api_key", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "api_secret", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "requests_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "session_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "https_proxy", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "loop", + "annotation": "Optional[asyncio.AbstractEventLoop]", + "description": null, + "value": "None" + }, + { + "name": "max_queue_size", + "annotation": "int", + "description": null, + "value": "100" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(\n self,\n api_key: Optional[str] = None,\n api_secret: Optional[str] = None,\n requests_params: Optional[Dict[str, Any]] = None,\n tld: str = \"com\",\n testnet: bool = False,\n session_params: Optional[Dict[str, Any]] = None,\n https_proxy: Optional[str] = None,\n loop: Optional[asyncio.AbstractEventLoop] = None,\n max_queue_size: int = 100,\n):\n super().__init__(\n api_key,\n api_secret,\n requests_params,\n tld,\n testnet,\n session_params,\n https_proxy,\n loop,\n )\n self._bsm: Optional[BinanceSocketManager] = None\n self._max_queue_size = max_queue_size" + }, + "_before_socket_listener_start": { + "name": "_before_socket_listener_start", + "path": "binance.ws.streams.ThreadedWebsocketManager._before_socket_listener_start", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _before_socket_listener_start(self):\n assert self._client\n self._bsm = BinanceSocketManager(\n client=self._client,\n max_queue_size=self._max_queue_size\n )" + }, + "_start_async_socket": { + "name": "_start_async_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager._start_async_socket", + "signature": "(self, callback, socket_name, params, path=None) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "socket_name", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "params", + "annotation": "Dict[str, Any]", + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "Optional[str]", + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def _start_async_socket(\n self,\n callback: Callable,\n socket_name: str,\n params: Dict[str, Any],\n path: Optional[str] = None,\n) -> str:\n start_time = time.time()\n while not self._bsm:\n if time.time() - start_time > 5:\n raise RuntimeError(\"Binance Socket Manager failed to initialize after 5 seconds\")\n time.sleep(0.1)\n socket = getattr(self._bsm, socket_name)(**params)\n socket_path: str = path or socket._path # noqa\n self._socket_running[socket_path] = True\n self._loop.call_soon_threadsafe(\n asyncio.create_task, self.start_listener(socket, socket_path, callback)\n )\n return socket_path" + }, + "start_depth_socket": { + "name": "start_depth_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_depth_socket", + "signature": "(self, callback, symbol, depth=None, interval=None) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "depth", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "interval", + "annotation": "Optional[int]", + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_depth_socket(\n self,\n callback: Callable,\n symbol: str,\n depth: Optional[str] = None,\n interval: Optional[int] = None,\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"depth_socket\",\n params={\n \"symbol\": symbol,\n \"depth\": depth,\n \"interval\": interval,\n },\n )" + }, + "start_kline_socket": { + "name": "start_kline_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_kline_socket", + "signature": "(self, callback, symbol, interval=AsyncClient.KLINE_INTERVAL_1MINUTE) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": "AsyncClient.KLINE_INTERVAL_1MINUTE" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_kline_socket(\n self,\n callback: Callable,\n symbol: str,\n interval=AsyncClient.KLINE_INTERVAL_1MINUTE,\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"kline_socket\",\n params={\n \"symbol\": symbol,\n \"interval\": interval,\n },\n )" + }, + "start_kline_futures_socket": { + "name": "start_kline_futures_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_kline_futures_socket", + "signature": "(self, callback, symbol, interval=AsyncClient.KLINE_INTERVAL_1MINUTE, futures_type=FuturesType.USD_M, contract_type=ContractType.PERPETUAL) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": "AsyncClient.KLINE_INTERVAL_1MINUTE" + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + }, + { + "name": "contract_type", + "annotation": "ContractType", + "description": null, + "value": "ContractType.PERPETUAL" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_kline_futures_socket(\n self,\n callback: Callable,\n symbol: str,\n interval=AsyncClient.KLINE_INTERVAL_1MINUTE,\n futures_type: FuturesType = FuturesType.USD_M,\n contract_type: ContractType = ContractType.PERPETUAL,\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"kline_futures_socket\",\n params={\n \"symbol\": symbol,\n \"interval\": interval,\n \"futures_type\": futures_type,\n \"contract_type\": contract_type,\n },\n )" + }, + "start_miniticker_socket": { + "name": "start_miniticker_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_miniticker_socket", + "signature": "(self, callback, update_time=1000) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "update_time", + "annotation": "int", + "description": null, + "value": "1000" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_miniticker_socket(\n self, callback: Callable, update_time: int = 1000\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"miniticker_socket\",\n params={\n \"update_time\": update_time,\n },\n )" + }, + "start_trade_socket": { + "name": "start_trade_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_trade_socket", + "signature": "(self, callback, symbol) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_trade_socket(self, callback: Callable, symbol: str) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"trade_socket\",\n params={\n \"symbol\": symbol,\n },\n )" + }, + "start_aggtrade_socket": { + "name": "start_aggtrade_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_aggtrade_socket", + "signature": "(self, callback, symbol) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_aggtrade_socket(self, callback: Callable, symbol: str) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"aggtrade_socket\",\n params={\n \"symbol\": symbol,\n },\n )" + }, + "start_aggtrade_futures_socket": { + "name": "start_aggtrade_futures_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_aggtrade_futures_socket", + "signature": "(self, callback, symbol, futures_type=FuturesType.USD_M) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_aggtrade_futures_socket(\n self,\n callback: Callable,\n symbol: str,\n futures_type: FuturesType = FuturesType.USD_M,\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"aggtrade_futures_socket\",\n params={\n \"symbol\": symbol,\n \"futures_type\": futures_type,\n },\n )" + }, + "start_symbol_miniticker_socket": { + "name": "start_symbol_miniticker_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_symbol_miniticker_socket", + "signature": "(self, callback, symbol) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_symbol_miniticker_socket(self, callback: Callable, symbol: str) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"symbol_miniticker_socket\",\n params={\n \"symbol\": symbol,\n },\n )" + }, + "start_symbol_ticker_socket": { + "name": "start_symbol_ticker_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_symbol_ticker_socket", + "signature": "(self, callback, symbol) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_symbol_ticker_socket(self, callback: Callable, symbol: str) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"symbol_ticker_socket\",\n params={\n \"symbol\": symbol,\n },\n )" + }, + "start_ticker_socket": { + "name": "start_ticker_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_ticker_socket", + "signature": "(self, callback) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_ticker_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"ticker_socket\", params={}\n )" + }, + "start_index_price_socket": { + "name": "start_index_price_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_index_price_socket", + "signature": "(self, callback, symbol, fast=True) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "fast", + "annotation": "bool", + "description": null, + "value": "True" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_index_price_socket(\n self, callback: Callable, symbol: str, fast: bool = True\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"index_price_socket\",\n params={\"symbol\": symbol, \"fast\": fast},\n )" + }, + "start_symbol_mark_price_socket": { + "name": "start_symbol_mark_price_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_symbol_mark_price_socket", + "signature": "(self, callback, symbol, fast=True, futures_type=FuturesType.USD_M) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "fast", + "annotation": "bool", + "description": null, + "value": "True" + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_symbol_mark_price_socket(\n self,\n callback: Callable,\n symbol: str,\n fast: bool = True,\n futures_type: FuturesType = FuturesType.USD_M,\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"symbol_mark_price_socket\",\n params={\"symbol\": symbol, \"fast\": fast, \"futures_type\": futures_type},\n )" + }, + "start_all_mark_price_socket": { + "name": "start_all_mark_price_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_all_mark_price_socket", + "signature": "(self, callback, fast=True, futures_type=FuturesType.USD_M) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "fast", + "annotation": "bool", + "description": null, + "value": "True" + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_all_mark_price_socket(\n self,\n callback: Callable,\n fast: bool = True,\n futures_type: FuturesType = FuturesType.USD_M,\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"all_mark_price_socket\",\n params={\"fast\": fast, \"futures_type\": futures_type},\n )" + }, + "start_symbol_ticker_futures_socket": { + "name": "start_symbol_ticker_futures_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_symbol_ticker_futures_socket", + "signature": "(self, callback, symbol, futures_type=FuturesType.USD_M) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_symbol_ticker_futures_socket(\n self,\n callback: Callable,\n symbol: str,\n futures_type: FuturesType = FuturesType.USD_M,\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"symbol_ticker_futures_socket\",\n params={\"symbol\": symbol, \"futures_type\": futures_type},\n )" + }, + "start_individual_symbol_ticker_futures_socket": { + "name": "start_individual_symbol_ticker_futures_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_individual_symbol_ticker_futures_socket", + "signature": "(self, callback, symbol, futures_type=FuturesType.USD_M) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_individual_symbol_ticker_futures_socket(\n self,\n callback: Callable,\n symbol: str,\n futures_type: FuturesType = FuturesType.USD_M,\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"individual_symbol_ticker_futures_socket\",\n params={\"symbol\": symbol, \"futures_type\": futures_type},\n )" + }, + "start_all_ticker_futures_socket": { + "name": "start_all_ticker_futures_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_all_ticker_futures_socket", + "signature": "(self, callback, futures_type=FuturesType.USD_M) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_all_ticker_futures_socket(\n self, callback: Callable, futures_type: FuturesType = FuturesType.USD_M\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"all_ticker_futures_socket\",\n params={\"futures_type\": futures_type},\n )" + }, + "start_symbol_book_ticker_socket": { + "name": "start_symbol_book_ticker_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_symbol_book_ticker_socket", + "signature": "(self, callback, symbol) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_symbol_book_ticker_socket(self, callback: Callable, symbol: str) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"symbol_book_ticker_socket\",\n params={\"symbol\": symbol},\n )" + }, + "start_book_ticker_socket": { + "name": "start_book_ticker_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_book_ticker_socket", + "signature": "(self, callback) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_book_ticker_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"book_ticker_socket\", params={}\n )" + }, + "start_multiplex_socket": { + "name": "start_multiplex_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_multiplex_socket", + "signature": "(self, callback, streams) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "streams", + "annotation": "List[str]", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_multiplex_socket(self, callback: Callable, streams: List[str]) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"multiplex_socket\",\n params={\"streams\": streams},\n )" + }, + "start_options_multiplex_socket": { + "name": "start_options_multiplex_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_options_multiplex_socket", + "signature": "(self, callback, streams) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "streams", + "annotation": "List[str]", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_options_multiplex_socket(\n self, callback: Callable, streams: List[str]\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"options_multiplex_socket\",\n params={\"streams\": streams},\n )" + }, + "start_futures_multiplex_socket": { + "name": "start_futures_multiplex_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_futures_multiplex_socket", + "signature": "(self, callback, streams, futures_type=FuturesType.USD_M) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "streams", + "annotation": "List[str]", + "description": null, + "value": null + }, + { + "name": "futures_type", + "annotation": "FuturesType", + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_futures_multiplex_socket(\n self,\n callback: Callable,\n streams: List[str],\n futures_type: FuturesType = FuturesType.USD_M,\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"futures_multiplex_socket\",\n params={\"streams\": streams, \"futures_type\": futures_type},\n )" + }, + "start_user_socket": { + "name": "start_user_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_user_socket", + "signature": "(self, callback) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_user_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"user_socket\", params={}\n )" + }, + "start_futures_user_socket": { + "name": "start_futures_user_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_futures_user_socket", + "signature": "(self, callback) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_futures_user_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"futures_user_socket\", params={}\n )" + }, + "start_coin_futures_user_socket": { + "name": "start_coin_futures_user_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_coin_futures_user_socket", + "signature": "(self, callback) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_coin_futures_user_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"coin_futures_user_socket\", params={}\n )" + }, + "start_margin_socket": { + "name": "start_margin_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_margin_socket", + "signature": "(self, callback) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_margin_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"margin_socket\", params={}\n )" + }, + "start_futures_socket": { + "name": "start_futures_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_futures_socket", + "signature": "(self, callback) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_futures_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"futures_socket\", params={}\n )" + }, + "start_coin_futures_socket": { + "name": "start_coin_futures_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_coin_futures_socket", + "signature": "(self, callback) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_coin_futures_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"coin_futures_socket\", params={}\n )" + }, + "start_isolated_margin_socket": { + "name": "start_isolated_margin_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_isolated_margin_socket", + "signature": "(self, callback, symbol) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_isolated_margin_socket(self, callback: Callable, symbol: str) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"isolated_margin_socket\",\n params={\"symbol\": symbol},\n )" + }, + "start_options_ticker_socket": { + "name": "start_options_ticker_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_options_ticker_socket", + "signature": "(self, callback, symbol) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_options_ticker_socket(self, callback: Callable, symbol: str) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"options_ticker_socket\",\n params={\"symbol\": symbol},\n )" + }, + "start_options_ticker_by_expiration_socket": { + "name": "start_options_ticker_by_expiration_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_options_ticker_by_expiration_socket", + "signature": "(self, callback, symbol, expiration_date) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "expiration_date", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_options_ticker_by_expiration_socket(\n self, callback: Callable, symbol: str, expiration_date: str\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"options_ticker_by_expiration_socket\",\n params={\"symbol\": symbol, \"expiration_date\": expiration_date},\n )" + }, + "start_options_recent_trades_socket": { + "name": "start_options_recent_trades_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_options_recent_trades_socket", + "signature": "(self, callback, symbol) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_options_recent_trades_socket(\n self, callback: Callable, symbol: str\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"options_recent_trades_socket\",\n params={\"symbol\": symbol},\n )" + }, + "start_options_kline_socket": { + "name": "start_options_kline_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_options_kline_socket", + "signature": "(self, callback, symbol, interval=AsyncClient.KLINE_INTERVAL_1MINUTE) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "interval", + "annotation": null, + "description": null, + "value": "AsyncClient.KLINE_INTERVAL_1MINUTE" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_options_kline_socket(\n self,\n callback: Callable,\n symbol: str,\n interval=AsyncClient.KLINE_INTERVAL_1MINUTE,\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"options_kline_socket\",\n params={\"symbol\": symbol, \"interval\": interval},\n )" + }, + "start_options_depth_socket": { + "name": "start_options_depth_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_options_depth_socket", + "signature": "(self, callback, symbol, depth='10') -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "depth", + "annotation": "str", + "description": null, + "value": "'10'" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_options_depth_socket(\n self, callback: Callable, symbol: str, depth: str = \"10\"\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"options_depth_socket\",\n params={\"symbol\": symbol, \"depth\": depth},\n )" + }, + "start_futures_depth_socket": { + "name": "start_futures_depth_socket", + "path": "binance.ws.streams.ThreadedWebsocketManager.start_futures_depth_socket", + "signature": "(self, callback, symbol, depth='10', futures_type=FuturesType.USD_M) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "depth", + "annotation": "str", + "description": null, + "value": "'10'" + }, + { + "name": "futures_type", + "annotation": null, + "description": null, + "value": "FuturesType.USD_M" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_futures_depth_socket(\n self,\n callback: Callable,\n symbol: str,\n depth: str = \"10\",\n futures_type=FuturesType.USD_M,\n) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"futures_depth_socket\",\n params={\"symbol\": symbol, \"depth\": depth, \"futures_type\": futures_type},\n )" + } + }, + "source": "class ThreadedWebsocketManager(ThreadedApiManager):\n def __init__(\n self,\n api_key: Optional[str] = None,\n api_secret: Optional[str] = None,\n requests_params: Optional[Dict[str, Any]] = None,\n tld: str = \"com\",\n testnet: bool = False,\n session_params: Optional[Dict[str, Any]] = None,\n https_proxy: Optional[str] = None,\n loop: Optional[asyncio.AbstractEventLoop] = None,\n max_queue_size: int = 100,\n ):\n super().__init__(\n api_key,\n api_secret,\n requests_params,\n tld,\n testnet,\n session_params,\n https_proxy,\n loop,\n )\n self._bsm: Optional[BinanceSocketManager] = None\n self._max_queue_size = max_queue_size\n\n async def _before_socket_listener_start(self):\n assert self._client\n self._bsm = BinanceSocketManager(\n client=self._client,\n max_queue_size=self._max_queue_size\n )\n\n def _start_async_socket(\n self,\n callback: Callable,\n socket_name: str,\n params: Dict[str, Any],\n path: Optional[str] = None,\n ) -> str:\n start_time = time.time()\n while not self._bsm:\n if time.time() - start_time > 5:\n raise RuntimeError(\"Binance Socket Manager failed to initialize after 5 seconds\")\n time.sleep(0.1)\n socket = getattr(self._bsm, socket_name)(**params)\n socket_path: str = path or socket._path # noqa\n self._socket_running[socket_path] = True\n self._loop.call_soon_threadsafe(\n asyncio.create_task, self.start_listener(socket, socket_path, callback)\n )\n return socket_path\n\n def start_depth_socket(\n self,\n callback: Callable,\n symbol: str,\n depth: Optional[str] = None,\n interval: Optional[int] = None,\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"depth_socket\",\n params={\n \"symbol\": symbol,\n \"depth\": depth,\n \"interval\": interval,\n },\n )\n\n def start_kline_socket(\n self,\n callback: Callable,\n symbol: str,\n interval=AsyncClient.KLINE_INTERVAL_1MINUTE,\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"kline_socket\",\n params={\n \"symbol\": symbol,\n \"interval\": interval,\n },\n )\n\n def start_kline_futures_socket(\n self,\n callback: Callable,\n symbol: str,\n interval=AsyncClient.KLINE_INTERVAL_1MINUTE,\n futures_type: FuturesType = FuturesType.USD_M,\n contract_type: ContractType = ContractType.PERPETUAL,\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"kline_futures_socket\",\n params={\n \"symbol\": symbol,\n \"interval\": interval,\n \"futures_type\": futures_type,\n \"contract_type\": contract_type,\n },\n )\n\n def start_miniticker_socket(\n self, callback: Callable, update_time: int = 1000\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"miniticker_socket\",\n params={\n \"update_time\": update_time,\n },\n )\n\n def start_trade_socket(self, callback: Callable, symbol: str) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"trade_socket\",\n params={\n \"symbol\": symbol,\n },\n )\n\n def start_aggtrade_socket(self, callback: Callable, symbol: str) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"aggtrade_socket\",\n params={\n \"symbol\": symbol,\n },\n )\n\n def start_aggtrade_futures_socket(\n self,\n callback: Callable,\n symbol: str,\n futures_type: FuturesType = FuturesType.USD_M,\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"aggtrade_futures_socket\",\n params={\n \"symbol\": symbol,\n \"futures_type\": futures_type,\n },\n )\n\n def start_symbol_miniticker_socket(self, callback: Callable, symbol: str) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"symbol_miniticker_socket\",\n params={\n \"symbol\": symbol,\n },\n )\n\n def start_symbol_ticker_socket(self, callback: Callable, symbol: str) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"symbol_ticker_socket\",\n params={\n \"symbol\": symbol,\n },\n )\n\n def start_ticker_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"ticker_socket\", params={}\n )\n\n def start_index_price_socket(\n self, callback: Callable, symbol: str, fast: bool = True\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"index_price_socket\",\n params={\"symbol\": symbol, \"fast\": fast},\n )\n\n def start_symbol_mark_price_socket(\n self,\n callback: Callable,\n symbol: str,\n fast: bool = True,\n futures_type: FuturesType = FuturesType.USD_M,\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"symbol_mark_price_socket\",\n params={\"symbol\": symbol, \"fast\": fast, \"futures_type\": futures_type},\n )\n\n def start_all_mark_price_socket(\n self,\n callback: Callable,\n fast: bool = True,\n futures_type: FuturesType = FuturesType.USD_M,\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"all_mark_price_socket\",\n params={\"fast\": fast, \"futures_type\": futures_type},\n )\n\n def start_symbol_ticker_futures_socket(\n self,\n callback: Callable,\n symbol: str,\n futures_type: FuturesType = FuturesType.USD_M,\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"symbol_ticker_futures_socket\",\n params={\"symbol\": symbol, \"futures_type\": futures_type},\n )\n\n def start_individual_symbol_ticker_futures_socket(\n self,\n callback: Callable,\n symbol: str,\n futures_type: FuturesType = FuturesType.USD_M,\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"individual_symbol_ticker_futures_socket\",\n params={\"symbol\": symbol, \"futures_type\": futures_type},\n )\n\n def start_all_ticker_futures_socket(\n self, callback: Callable, futures_type: FuturesType = FuturesType.USD_M\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"all_ticker_futures_socket\",\n params={\"futures_type\": futures_type},\n )\n\n def start_symbol_book_ticker_socket(self, callback: Callable, symbol: str) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"symbol_book_ticker_socket\",\n params={\"symbol\": symbol},\n )\n\n def start_book_ticker_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"book_ticker_socket\", params={}\n )\n\n def start_multiplex_socket(self, callback: Callable, streams: List[str]) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"multiplex_socket\",\n params={\"streams\": streams},\n )\n\n def start_options_multiplex_socket(\n self, callback: Callable, streams: List[str]\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"options_multiplex_socket\",\n params={\"streams\": streams},\n )\n\n def start_futures_multiplex_socket(\n self,\n callback: Callable,\n streams: List[str],\n futures_type: FuturesType = FuturesType.USD_M,\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"futures_multiplex_socket\",\n params={\"streams\": streams, \"futures_type\": futures_type},\n )\n\n def start_user_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"user_socket\", params={}\n )\n\n def start_futures_user_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"futures_user_socket\", params={}\n )\n\n def start_coin_futures_user_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"coin_futures_user_socket\", params={}\n )\n\n def start_margin_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"margin_socket\", params={}\n )\n\n def start_futures_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"futures_socket\", params={}\n )\n\n def start_coin_futures_socket(self, callback: Callable) -> str:\n return self._start_async_socket(\n callback=callback, socket_name=\"coin_futures_socket\", params={}\n )\n\n def start_isolated_margin_socket(self, callback: Callable, symbol: str) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"isolated_margin_socket\",\n params={\"symbol\": symbol},\n )\n\n def start_options_ticker_socket(self, callback: Callable, symbol: str) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"options_ticker_socket\",\n params={\"symbol\": symbol},\n )\n\n def start_options_ticker_by_expiration_socket(\n self, callback: Callable, symbol: str, expiration_date: str\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"options_ticker_by_expiration_socket\",\n params={\"symbol\": symbol, \"expiration_date\": expiration_date},\n )\n\n def start_options_recent_trades_socket(\n self, callback: Callable, symbol: str\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"options_recent_trades_socket\",\n params={\"symbol\": symbol},\n )\n\n def start_options_kline_socket(\n self,\n callback: Callable,\n symbol: str,\n interval=AsyncClient.KLINE_INTERVAL_1MINUTE,\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"options_kline_socket\",\n params={\"symbol\": symbol, \"interval\": interval},\n )\n\n def start_options_depth_socket(\n self, callback: Callable, symbol: str, depth: str = \"10\"\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"options_depth_socket\",\n params={\"symbol\": symbol, \"depth\": depth},\n )\n\n def start_futures_depth_socket(\n self,\n callback: Callable,\n symbol: str,\n depth: str = \"10\",\n futures_type=FuturesType.USD_M,\n ) -> str:\n return self._start_async_socket(\n callback=callback,\n socket_name=\"futures_depth_socket\",\n params={\"symbol\": symbol, \"depth\": depth, \"futures_type\": futures_type},\n )", + "inherited_members": { + "binance.ws.threaded_stream.ThreadedApiManager": [ + { + "kind": "attribute", + "path": "binance.ws.threaded_stream.ThreadedApiManager._loop" + }, + { + "kind": "attribute", + "path": "binance.ws.threaded_stream.ThreadedApiManager._client" + }, + { + "kind": "attribute", + "path": "binance.ws.threaded_stream.ThreadedApiManager._running" + }, + { + "kind": "attribute", + "path": "binance.ws.threaded_stream.ThreadedApiManager._socket_running" + }, + { + "kind": "attribute", + "path": "binance.ws.threaded_stream.ThreadedApiManager._log" + }, + { + "kind": "attribute", + "path": "binance.ws.threaded_stream.ThreadedApiManager._client_params" + }, + { + "kind": "function", + "path": "binance.ws.threaded_stream.ThreadedApiManager.socket_listener" + }, + { + "kind": "function", + "path": "binance.ws.threaded_stream.ThreadedApiManager.start_listener" + }, + { + "kind": "function", + "path": "binance.ws.threaded_stream.ThreadedApiManager.run" + }, + { + "kind": "function", + "path": "binance.ws.threaded_stream.ThreadedApiManager.stop_socket" + }, + { + "kind": "function", + "path": "binance.ws.threaded_stream.ThreadedApiManager.stop_client" + }, + { + "kind": "function", + "path": "binance.ws.threaded_stream.ThreadedApiManager.stop" + } + ] + } + } + }, + "functions": {} + }, + "websocket_api": { + "name": "websocket_api", + "path": "binance.ws.websocket_api", + "filepath": "/Users/pablo/github/python-binance/binance/ws/websocket_api.py", + "description": null, + "docstring": [], + "attributes": [], + "modules": {}, + "classes": { + "WebsocketAPI": { + "name": "WebsocketAPI", + "path": "binance.ws.websocket_api.WebsocketAPI", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "url", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "https_proxy", + "annotation": "Optional[str]", + "description": null, + "value": "None" + } + ], + "attributes": [ + { + "name": "connection_lock", + "annotation": "asyncio.Lock", + "description": null, + "value": null + } + ], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.ws.websocket_api.WebsocketAPI.__init__", + "signature": "(self, url, tld='com', testnet=False, https_proxy=None)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "url", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "https_proxy", + "annotation": "Optional[str]", + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(self, url: str, tld: str = \"com\", testnet: bool = False, https_proxy: Optional[str] = None):\n self._tld = tld\n self._testnet = testnet\n self._responses: Dict[str, asyncio.Future] = {}\n self._connection_lock: Optional[asyncio.Lock] = None\n super().__init__(url=url, prefix=\"\", path=\"\", is_binary=False, https_proxy=https_proxy)" + }, + "_handle_message": { + "name": "_handle_message", + "path": "binance.ws.websocket_api.WebsocketAPI._handle_message", + "signature": "(self, msg)", + "description": "Override message handling to support request-response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "msg", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _handle_message(self, msg):\n \"\"\"Override message handling to support request-response\"\"\"\n parsed_msg = super()._handle_message(msg)\n self._log.debug(f\"Received message: {parsed_msg}\")\n if parsed_msg is None:\n return None\n req_id, exception = None, None\n if \"id\" in parsed_msg:\n req_id = parsed_msg[\"id\"]\n if \"status\" in parsed_msg:\n if parsed_msg[\"status\"] != 200:\n exception = BinanceAPIException(\n parsed_msg, parsed_msg[\"status\"], self.json_dumps(parsed_msg[\"error\"])\n )\n if req_id is not None and req_id in self._responses:\n if exception is not None:\n self._responses[req_id].set_exception(exception)\n else:\n self._responses[req_id].set_result(parsed_msg)\n elif exception is not None:\n raise exception\n else:\n self._log.warning(f\"WS api receieved unknown message: {parsed_msg}\")" + }, + "_ensure_ws_connection": { + "name": "_ensure_ws_connection", + "path": "binance.ws.websocket_api.WebsocketAPI._ensure_ws_connection", + "signature": "(self) -> None", + "description": "Ensure WebSocket connection is established and ready\n\nThis function will:\n1. Check if connection exists and is streaming\n2. Attempt to connect if not\n3. Wait for connection to be ready\n4. Handle reconnection if needed", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "None", + "description": null + }, + "docstring": [], + "source": "async def _ensure_ws_connection(self) -> None:\n \"\"\"Ensure WebSocket connection is established and ready\n\n This function will:\n 1. Check if connection exists and is streaming\n 2. Attempt to connect if not\n 3. Wait for connection to be ready\n 4. Handle reconnection if needed\n \"\"\"\n async with self.connection_lock:\n try:\n if (\n self.ws is None\n or (isinstance(self.ws, WebSocketClientProtocol) and self.ws.closed)\n or self.ws_state != WSListenerState.STREAMING\n ):\n await self.connect()\n\n # Wait for connection to be ready\n retries = 0\n while (\n self.ws_state != WSListenerState.STREAMING\n and retries < self.MAX_RECONNECTS\n ):\n if self.ws_state == WSListenerState.RECONNECTING:\n self._log.info(\"Connection is reconnecting, waiting...\")\n await self._wait_for_reconnect()\n\n elif self.ws is None or self.ws.closed:\n self._log.info(\"Connection lost, reconnecting...\")\n await self.connect()\n\n retries += 1\n await asyncio.sleep(self.MIN_RECONNECT_WAIT)\n\n if self.ws_state != WSListenerState.STREAMING:\n raise BinanceWebsocketUnableToConnect(\n f\"Failed to establish connection after {retries} attempts\"\n )\n\n self._log.debug(\"WebSocket connection established\")\n\n except Exception as e:\n self._log.error(f\"Error ensuring WebSocket connection: {e}\")\n raise BinanceWebsocketUnableToConnect(f\"Connection failed: {str(e)}\")" + }, + "request": { + "name": "request", + "path": "binance.ws.websocket_api.WebsocketAPI.request", + "signature": "(self, id, payload) -> dict", + "description": "Send request and wait for response", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "id", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "payload", + "annotation": "dict", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "dict", + "description": null + }, + "docstring": [], + "source": "async def request(self, id: str, payload: dict) -> dict:\n \"\"\"Send request and wait for response\"\"\"\n await self._ensure_ws_connection()\n\n # Create future for response\n future = asyncio.Future()\n self._responses[id] = future\n\n try:\n # Send request\n if self.ws is None:\n raise BinanceWebsocketUnableToConnect(\n \"Trying to send request while WebSocket is not connected\"\n )\n await self.ws.send(self.json_dumps(payload))\n\n # Wait for response\n response = await asyncio.wait_for(future, timeout=self.TIMEOUT)\n\n # Check for errors\n if \"error\" in response:\n raise BinanceWebsocketUnableToConnect(response[\"error\"])\n\n return response.get(\"result\", response)\n\n except asyncio.TimeoutError:\n raise BinanceWebsocketUnableToConnect(\"Request timed out\")\n except Exception as e:\n raise e\n finally:\n self._responses.pop(id, None)" + }, + "__aexit__": { + "name": "__aexit__", + "path": "binance.ws.websocket_api.WebsocketAPI.__aexit__", + "signature": "(self, exc_type, exc_val, exc_tb)", + "description": "Clean up responses before closing", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "exc_type", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "exc_val", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "exc_tb", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def __aexit__(self, exc_type, exc_val, exc_tb):\n \"\"\"Clean up responses before closing\"\"\"\n response_ids = list(self._responses.keys()) # Create a copy of keys\n for req_id in response_ids:\n future = self._responses.pop(req_id) # Remove and get the future\n if not future.done():\n future.set_exception(\n BinanceWebsocketUnableToConnect(\"WebSocket closing\")\n )\n await super().__aexit__(exc_type, exc_val, exc_tb)" + } + }, + "source": "class WebsocketAPI(ReconnectingWebsocket):\n def __init__(self, url: str, tld: str = \"com\", testnet: bool = False, https_proxy: Optional[str] = None):\n self._tld = tld\n self._testnet = testnet\n self._responses: Dict[str, asyncio.Future] = {}\n self._connection_lock: Optional[asyncio.Lock] = None\n super().__init__(url=url, prefix=\"\", path=\"\", is_binary=False, https_proxy=https_proxy)\n\n @property\n def connection_lock(self) -> asyncio.Lock:\n if self._connection_lock is None:\n loop = asyncio.get_event_loop()\n self._connection_lock = asyncio.Lock()\n return self._connection_lock\n\n def _handle_message(self, msg):\n \"\"\"Override message handling to support request-response\"\"\"\n parsed_msg = super()._handle_message(msg)\n self._log.debug(f\"Received message: {parsed_msg}\")\n if parsed_msg is None:\n return None\n req_id, exception = None, None\n if \"id\" in parsed_msg:\n req_id = parsed_msg[\"id\"]\n if \"status\" in parsed_msg:\n if parsed_msg[\"status\"] != 200:\n exception = BinanceAPIException(\n parsed_msg, parsed_msg[\"status\"], self.json_dumps(parsed_msg[\"error\"])\n )\n if req_id is not None and req_id in self._responses:\n if exception is not None:\n self._responses[req_id].set_exception(exception)\n else:\n self._responses[req_id].set_result(parsed_msg)\n elif exception is not None:\n raise exception\n else:\n self._log.warning(f\"WS api receieved unknown message: {parsed_msg}\")\n\n async def _ensure_ws_connection(self) -> None:\n \"\"\"Ensure WebSocket connection is established and ready\n\n This function will:\n 1. Check if connection exists and is streaming\n 2. Attempt to connect if not\n 3. Wait for connection to be ready\n 4. Handle reconnection if needed\n \"\"\"\n async with self.connection_lock:\n try:\n if (\n self.ws is None\n or (isinstance(self.ws, WebSocketClientProtocol) and self.ws.closed)\n or self.ws_state != WSListenerState.STREAMING\n ):\n await self.connect()\n\n # Wait for connection to be ready\n retries = 0\n while (\n self.ws_state != WSListenerState.STREAMING\n and retries < self.MAX_RECONNECTS\n ):\n if self.ws_state == WSListenerState.RECONNECTING:\n self._log.info(\"Connection is reconnecting, waiting...\")\n await self._wait_for_reconnect()\n\n elif self.ws is None or self.ws.closed:\n self._log.info(\"Connection lost, reconnecting...\")\n await self.connect()\n\n retries += 1\n await asyncio.sleep(self.MIN_RECONNECT_WAIT)\n\n if self.ws_state != WSListenerState.STREAMING:\n raise BinanceWebsocketUnableToConnect(\n f\"Failed to establish connection after {retries} attempts\"\n )\n\n self._log.debug(\"WebSocket connection established\")\n\n except Exception as e:\n self._log.error(f\"Error ensuring WebSocket connection: {e}\")\n raise BinanceWebsocketUnableToConnect(f\"Connection failed: {str(e)}\")\n\n async def request(self, id: str, payload: dict) -> dict:\n \"\"\"Send request and wait for response\"\"\"\n await self._ensure_ws_connection()\n\n # Create future for response\n future = asyncio.Future()\n self._responses[id] = future\n\n try:\n # Send request\n if self.ws is None:\n raise BinanceWebsocketUnableToConnect(\n \"Trying to send request while WebSocket is not connected\"\n )\n await self.ws.send(self.json_dumps(payload))\n\n # Wait for response\n response = await asyncio.wait_for(future, timeout=self.TIMEOUT)\n\n # Check for errors\n if \"error\" in response:\n raise BinanceWebsocketUnableToConnect(response[\"error\"])\n\n return response.get(\"result\", response)\n\n except asyncio.TimeoutError:\n raise BinanceWebsocketUnableToConnect(\"Request timed out\")\n except Exception as e:\n raise e\n finally:\n self._responses.pop(id, None)\n\n async def __aexit__(self, exc_type, exc_val, exc_tb):\n \"\"\"Clean up responses before closing\"\"\"\n response_ids = list(self._responses.keys()) # Create a copy of keys\n for req_id in response_ids:\n future = self._responses.pop(req_id) # Remove and get the future\n if not future.done():\n future.set_exception(\n BinanceWebsocketUnableToConnect(\"WebSocket closing\")\n )\n await super().__aexit__(exc_type, exc_val, exc_tb)", + "inherited_members": { + "binance.ws.reconnecting_websocket.ReconnectingWebsocket": [ + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.MAX_RECONNECTS" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.MAX_RECONNECT_SECONDS" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.MIN_RECONNECT_WAIT" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.TIMEOUT" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.NO_MESSAGE_RECONNECT_TIMEOUT" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._loop" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._log" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._path" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._url" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._exit_coro" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._prefix" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._reconnects" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._is_binary" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._conn" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._socket" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.ws" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.ws_state" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._queue" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._handle_read_loop" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._https_proxy" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._ws_kwargs" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.max_queue_size" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.json_dumps" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.json_loads" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.__aenter__" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.close" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.connect" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._kill_read_loop" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._before_connect" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._after_connect" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._read_loop" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._run_reconnect" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.recv" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._wait_for_reconnect" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._get_reconnect_wait" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.before_reconnect" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._reconnect" + } + ] + } + } + }, + "functions": {} + }, + "constants": { + "name": "constants", + "path": "binance.ws.constants", + "filepath": "/Users/pablo/github/python-binance/binance/ws/constants.py", + "description": null, + "docstring": [], + "attributes": [ + { + "name": "KEEPALIVE_TIMEOUT", + "annotation": null, + "description": null, + "value": "5 * 60" + } + ], + "modules": {}, + "classes": { + "WSListenerState": { + "name": "WSListenerState", + "path": "binance.ws.constants.WSListenerState", + "description": null, + "parameters": [], + "attributes": [ + { + "name": "INITIALISING", + "annotation": null, + "description": null, + "value": "'Initialising'" + }, + { + "name": "STREAMING", + "annotation": null, + "description": null, + "value": "'Streaming'" + }, + { + "name": "RECONNECTING", + "annotation": null, + "description": null, + "value": "'Reconnecting'" + }, + { + "name": "EXITING", + "annotation": null, + "description": null, + "value": "'Exiting'" + } + ], + "docstring": [], + "functions": {}, + "source": "class WSListenerState(Enum):\n INITIALISING = \"Initialising\"\n STREAMING = \"Streaming\"\n RECONNECTING = \"Reconnecting\"\n EXITING = \"Exiting\"", + "inherited_members": {} + } + }, + "functions": {} + }, + "keepalive_websocket": { + "name": "keepalive_websocket", + "path": "binance.ws.keepalive_websocket", + "filepath": "/Users/pablo/github/python-binance/binance/ws/keepalive_websocket.py", + "description": null, + "docstring": [], + "attributes": [], + "modules": {}, + "classes": { + "KeepAliveWebsocket": { + "name": "KeepAliveWebsocket", + "path": "binance.ws.keepalive_websocket.KeepAliveWebsocket", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "client", + "annotation": "AsyncClient", + "description": null, + "value": null + }, + { + "name": "url", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "keepalive_type", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "prefix", + "annotation": null, + "description": null, + "value": "'ws/'" + }, + { + "name": "is_binary", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "exit_coro", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "user_timeout", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "attributes": [], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.ws.keepalive_websocket.KeepAliveWebsocket.__init__", + "signature": "(self, client, url, keepalive_type, prefix='ws/', is_binary=False, exit_coro=None, user_timeout=None, **kwargs)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "client", + "annotation": "AsyncClient", + "description": null, + "value": null + }, + { + "name": "url", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "keepalive_type", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "prefix", + "annotation": null, + "description": null, + "value": "'ws/'" + }, + { + "name": "is_binary", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "exit_coro", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "user_timeout", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(\n self,\n client: AsyncClient,\n url,\n keepalive_type,\n prefix=\"ws/\",\n is_binary=False,\n exit_coro=None,\n user_timeout=None,\n **kwargs,\n):\n super().__init__(\n path=None,\n url=url,\n prefix=prefix,\n is_binary=is_binary,\n exit_coro=exit_coro,\n **kwargs,\n )\n self._keepalive_type = keepalive_type\n self._client = client\n self._user_timeout = user_timeout or KEEPALIVE_TIMEOUT\n self._timer = None\n self._listen_key = None" + }, + "__aexit__": { + "name": "__aexit__", + "path": "binance.ws.keepalive_websocket.KeepAliveWebsocket.__aexit__", + "signature": "(self, *args, **kwargs)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "args", + "annotation": null, + "description": null, + "value": "()" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def __aexit__(self, *args, **kwargs):\n if not self._path:\n return\n if self._timer:\n self._timer.cancel()\n self._timer = None\n await super().__aexit__(*args, **kwargs)" + }, + "_build_path": { + "name": "_build_path", + "path": "binance.ws.keepalive_websocket.KeepAliveWebsocket._build_path", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _build_path(self):\n self._path = self._listen_key\n time_unit = getattr(self._client, \"TIME_UNIT\", None)\n if time_unit and self._keepalive_type == \"user\":\n self._path = f\"{self._listen_key}?timeUnit={time_unit}\"" + }, + "_before_connect": { + "name": "_before_connect", + "path": "binance.ws.keepalive_websocket.KeepAliveWebsocket._before_connect", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _before_connect(self):\n if not self._listen_key:\n self._listen_key = await self._get_listen_key()\n self._build_path()" + }, + "_after_connect": { + "name": "_after_connect", + "path": "binance.ws.keepalive_websocket.KeepAliveWebsocket._after_connect", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _after_connect(self):\n self._start_socket_timer()" + }, + "_start_socket_timer": { + "name": "_start_socket_timer", + "path": "binance.ws.keepalive_websocket.KeepAliveWebsocket._start_socket_timer", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _start_socket_timer(self):\n self._timer = self._loop.call_later(\n self._user_timeout, lambda: asyncio.create_task(self._keepalive_socket())\n )" + }, + "_get_listen_key": { + "name": "_get_listen_key", + "path": "binance.ws.keepalive_websocket.KeepAliveWebsocket._get_listen_key", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _get_listen_key(self):\n if self._keepalive_type == \"user\":\n listen_key = await self._client.stream_get_listen_key()\n elif self._keepalive_type == \"margin\": # cross-margin\n listen_key = await self._client.margin_stream_get_listen_key()\n elif self._keepalive_type == \"futures\":\n listen_key = await self._client.futures_stream_get_listen_key()\n elif self._keepalive_type == \"coin_futures\":\n listen_key = await self._client.futures_coin_stream_get_listen_key()\n elif self._keepalive_type == \"portfolio_margin\":\n listen_key = await self._client.papi_stream_get_listen_key()\n else: # isolated margin\n # Passing symbol for isolated margin\n listen_key = await self._client.isolated_margin_stream_get_listen_key(\n self._keepalive_type\n )\n return listen_key" + }, + "_keepalive_socket": { + "name": "_keepalive_socket", + "path": "binance.ws.keepalive_websocket.KeepAliveWebsocket._keepalive_socket", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _keepalive_socket(self):\n try:\n listen_key = await self._get_listen_key()\n if listen_key != self._listen_key:\n self._log.debug(\"listen key changed: reconnect\")\n self._build_path()\n self._reconnect()\n else:\n self._log.debug(\"listen key same: keepalive\")\n if self._keepalive_type == \"user\":\n await self._client.stream_keepalive(self._listen_key)\n elif self._keepalive_type == \"margin\": # cross-margin\n await self._client.margin_stream_keepalive(self._listen_key)\n elif self._keepalive_type == \"futures\":\n await self._client.futures_stream_keepalive(self._listen_key)\n elif self._keepalive_type == \"coin_futures\":\n await self._client.futures_coin_stream_keepalive(self._listen_key)\n elif self._keepalive_type == \"portfolio_margin\":\n await self._client.papi_stream_keepalive(self._listen_key)\n else: # isolated margin\n # Passing symbol for isolated margin\n await self._client.isolated_margin_stream_keepalive(\n self._keepalive_type, self._listen_key\n )\n except Exception as e:\n self._log.error(f\"error in keepalive_socket: {e}\")\n finally:\n self._start_socket_timer()" + } + }, + "source": "class KeepAliveWebsocket(ReconnectingWebsocket):\n def __init__(\n self,\n client: AsyncClient,\n url,\n keepalive_type,\n prefix=\"ws/\",\n is_binary=False,\n exit_coro=None,\n user_timeout=None,\n **kwargs,\n ):\n super().__init__(\n path=None,\n url=url,\n prefix=prefix,\n is_binary=is_binary,\n exit_coro=exit_coro,\n **kwargs,\n )\n self._keepalive_type = keepalive_type\n self._client = client\n self._user_timeout = user_timeout or KEEPALIVE_TIMEOUT\n self._timer = None\n self._listen_key = None\n\n async def __aexit__(self, *args, **kwargs):\n if not self._path:\n return\n if self._timer:\n self._timer.cancel()\n self._timer = None\n await super().__aexit__(*args, **kwargs)\n\n def _build_path(self):\n self._path = self._listen_key\n time_unit = getattr(self._client, \"TIME_UNIT\", None)\n if time_unit and self._keepalive_type == \"user\":\n self._path = f\"{self._listen_key}?timeUnit={time_unit}\"\n\n async def _before_connect(self):\n if not self._listen_key:\n self._listen_key = await self._get_listen_key()\n self._build_path()\n\n async def _after_connect(self):\n self._start_socket_timer()\n\n def _start_socket_timer(self):\n self._timer = self._loop.call_later(\n self._user_timeout, lambda: asyncio.create_task(self._keepalive_socket())\n )\n\n async def _get_listen_key(self):\n if self._keepalive_type == \"user\":\n listen_key = await self._client.stream_get_listen_key()\n elif self._keepalive_type == \"margin\": # cross-margin\n listen_key = await self._client.margin_stream_get_listen_key()\n elif self._keepalive_type == \"futures\":\n listen_key = await self._client.futures_stream_get_listen_key()\n elif self._keepalive_type == \"coin_futures\":\n listen_key = await self._client.futures_coin_stream_get_listen_key()\n elif self._keepalive_type == \"portfolio_margin\":\n listen_key = await self._client.papi_stream_get_listen_key()\n else: # isolated margin\n # Passing symbol for isolated margin\n listen_key = await self._client.isolated_margin_stream_get_listen_key(\n self._keepalive_type\n )\n return listen_key\n\n async def _keepalive_socket(self):\n try:\n listen_key = await self._get_listen_key()\n if listen_key != self._listen_key:\n self._log.debug(\"listen key changed: reconnect\")\n self._build_path()\n self._reconnect()\n else:\n self._log.debug(\"listen key same: keepalive\")\n if self._keepalive_type == \"user\":\n await self._client.stream_keepalive(self._listen_key)\n elif self._keepalive_type == \"margin\": # cross-margin\n await self._client.margin_stream_keepalive(self._listen_key)\n elif self._keepalive_type == \"futures\":\n await self._client.futures_stream_keepalive(self._listen_key)\n elif self._keepalive_type == \"coin_futures\":\n await self._client.futures_coin_stream_keepalive(self._listen_key)\n elif self._keepalive_type == \"portfolio_margin\":\n await self._client.papi_stream_keepalive(self._listen_key)\n else: # isolated margin\n # Passing symbol for isolated margin\n await self._client.isolated_margin_stream_keepalive(\n self._keepalive_type, self._listen_key\n )\n except Exception as e:\n self._log.error(f\"error in keepalive_socket: {e}\")\n finally:\n self._start_socket_timer()", + "inherited_members": { + "binance.ws.reconnecting_websocket.ReconnectingWebsocket": [ + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.MAX_RECONNECTS" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.MAX_RECONNECT_SECONDS" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.MIN_RECONNECT_WAIT" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.TIMEOUT" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.NO_MESSAGE_RECONNECT_TIMEOUT" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._loop" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._log" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._path" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._url" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._exit_coro" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._prefix" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._reconnects" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._is_binary" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._conn" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._socket" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.ws" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.ws_state" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._queue" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._handle_read_loop" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._https_proxy" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._ws_kwargs" + }, + { + "kind": "attribute", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.max_queue_size" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.json_dumps" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.json_loads" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.__aenter__" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.close" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.connect" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._kill_read_loop" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._handle_message" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._read_loop" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._run_reconnect" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.recv" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._wait_for_reconnect" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._get_reconnect_wait" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.before_reconnect" + }, + { + "kind": "function", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._reconnect" + } + ] + } + } + }, + "functions": {} + }, + "threaded_stream": { + "name": "threaded_stream", + "path": "binance.ws.threaded_stream", + "filepath": "/Users/pablo/github/python-binance/binance/ws/threaded_stream.py", + "description": null, + "docstring": [], + "attributes": [], + "modules": {}, + "classes": { + "ThreadedApiManager": { + "name": "ThreadedApiManager", + "path": "binance.ws.threaded_stream.ThreadedApiManager", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "api_key", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "api_secret", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "requests_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "session_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "https_proxy", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "_loop", + "annotation": "Optional[asyncio.AbstractEventLoop]", + "description": null, + "value": "None" + } + ], + "attributes": [], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.ws.threaded_stream.ThreadedApiManager.__init__", + "signature": "(self, api_key=None, api_secret=None, requests_params=None, tld='com', testnet=False, session_params=None, https_proxy=None, _loop=None)", + "description": "Initialise the BinanceSocketManager", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "api_key", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "api_secret", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "requests_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "session_params", + "annotation": "Optional[Dict[str, Any]]", + "description": null, + "value": "None" + }, + { + "name": "https_proxy", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "_loop", + "annotation": "Optional[asyncio.AbstractEventLoop]", + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(\n self,\n api_key: Optional[str] = None,\n api_secret: Optional[str] = None,\n requests_params: Optional[Dict[str, Any]] = None,\n tld: str = \"com\",\n testnet: bool = False,\n session_params: Optional[Dict[str, Any]] = None,\n https_proxy: Optional[str] = None,\n _loop: Optional[asyncio.AbstractEventLoop] = None,\n):\n \"\"\"Initialise the BinanceSocketManager\"\"\"\n super().__init__()\n self._loop: asyncio.AbstractEventLoop = get_loop() if _loop is None else _loop\n self._client: Optional[AsyncClient] = None\n self._running: bool = True\n self._socket_running: Dict[str, bool] = {}\n self._log = logging.getLogger(__name__)\n self._client_params = {\n \"api_key\": api_key,\n \"api_secret\": api_secret,\n \"requests_params\": requests_params,\n \"tld\": tld,\n \"testnet\": testnet,\n \"session_params\": session_params,\n \"https_proxy\": https_proxy,\n }" + }, + "_before_socket_listener_start": { + "name": "_before_socket_listener_start", + "path": "binance.ws.threaded_stream.ThreadedApiManager._before_socket_listener_start", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _before_socket_listener_start(self): ..." + }, + "socket_listener": { + "name": "socket_listener", + "path": "binance.ws.threaded_stream.ThreadedApiManager.socket_listener", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def socket_listener(self):\n try:\n self._client = await AsyncClient.create(loop=self._loop, **self._client_params)\n await self._before_socket_listener_start()\n except Exception as e:\n self._log.error(f\"Failed to create client: {e}\")\n self.stop()\n while self._running:\n await asyncio.sleep(0.2)\n while self._socket_running:\n await asyncio.sleep(0.2)\n self._log.info(\"Socket listener stopped\")" + }, + "start_listener": { + "name": "start_listener", + "path": "binance.ws.threaded_stream.ThreadedApiManager.start_listener", + "signature": "(self, socket, path, callback)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "socket", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def start_listener(self, socket, path: str, callback):\n async with socket as s:\n while self._socket_running[path]:\n try:\n msg = await asyncio.wait_for(s.recv(), 3)\n except asyncio.TimeoutError:\n ...\n continue\n except Exception as e:\n self._log.error(f\"Error receiving message: {e}\")\n msg = {\n \"e\": \"error\",\n \"type\": e.__class__.__name__,\n \"m\": f\"{e}\",\n }\n if not msg:\n continue # Handle both async and sync callbacks\n if asyncio.iscoroutinefunction(callback):\n asyncio.create_task(callback(msg))\n else:\n callback(msg)\n del self._socket_running[path]" + }, + "run": { + "name": "run", + "path": "binance.ws.threaded_stream.ThreadedApiManager.run", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def run(self):\n self._loop.run_until_complete(self.socket_listener())" + }, + "stop_socket": { + "name": "stop_socket", + "path": "binance.ws.threaded_stream.ThreadedApiManager.stop_socket", + "signature": "(self, socket_name)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "socket_name", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def stop_socket(self, socket_name):\n if socket_name in self._socket_running:\n self._socket_running[socket_name] = False" + }, + "stop_client": { + "name": "stop_client", + "path": "binance.ws.threaded_stream.ThreadedApiManager.stop_client", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def stop_client(self):\n if not self._client:\n return\n await self._client.close_connection()" + }, + "stop": { + "name": "stop", + "path": "binance.ws.threaded_stream.ThreadedApiManager.stop", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def stop(self):\n self._log.debug(\"Stopping ThreadedApiManager\")\n if not self._running:\n return\n self._running = False\n if self._client and self._loop and not self._loop.is_closed():\n try:\n future = asyncio.run_coroutine_threadsafe(\n self.stop_client(), self._loop\n )\n future.result(timeout=5) # Add timeout to prevent hanging\n except Exception as e:\n # Log the error but don't raise it\n self._log.error(f\"Error stopping client: {e}\")\n for socket_name in self._socket_running.keys():\n self._socket_running[socket_name] = False" + } + }, + "source": "class ThreadedApiManager(threading.Thread):\n def __init__(\n self,\n api_key: Optional[str] = None,\n api_secret: Optional[str] = None,\n requests_params: Optional[Dict[str, Any]] = None,\n tld: str = \"com\",\n testnet: bool = False,\n session_params: Optional[Dict[str, Any]] = None,\n https_proxy: Optional[str] = None,\n _loop: Optional[asyncio.AbstractEventLoop] = None,\n ):\n \"\"\"Initialise the BinanceSocketManager\"\"\"\n super().__init__()\n self._loop: asyncio.AbstractEventLoop = get_loop() if _loop is None else _loop\n self._client: Optional[AsyncClient] = None\n self._running: bool = True\n self._socket_running: Dict[str, bool] = {}\n self._log = logging.getLogger(__name__)\n self._client_params = {\n \"api_key\": api_key,\n \"api_secret\": api_secret,\n \"requests_params\": requests_params,\n \"tld\": tld,\n \"testnet\": testnet,\n \"session_params\": session_params,\n \"https_proxy\": https_proxy,\n }\n\n async def _before_socket_listener_start(self): ...\n\n async def socket_listener(self):\n try:\n self._client = await AsyncClient.create(loop=self._loop, **self._client_params)\n await self._before_socket_listener_start()\n except Exception as e:\n self._log.error(f\"Failed to create client: {e}\")\n self.stop()\n while self._running:\n await asyncio.sleep(0.2)\n while self._socket_running:\n await asyncio.sleep(0.2)\n self._log.info(\"Socket listener stopped\")\n\n async def start_listener(self, socket, path: str, callback):\n async with socket as s:\n while self._socket_running[path]:\n try:\n msg = await asyncio.wait_for(s.recv(), 3)\n except asyncio.TimeoutError:\n ...\n continue\n except Exception as e:\n self._log.error(f\"Error receiving message: {e}\")\n msg = {\n \"e\": \"error\",\n \"type\": e.__class__.__name__,\n \"m\": f\"{e}\",\n }\n if not msg:\n continue # Handle both async and sync callbacks\n if asyncio.iscoroutinefunction(callback):\n asyncio.create_task(callback(msg))\n else:\n callback(msg)\n del self._socket_running[path]\n\n def run(self):\n self._loop.run_until_complete(self.socket_listener())\n\n def stop_socket(self, socket_name):\n if socket_name in self._socket_running:\n self._socket_running[socket_name] = False\n\n async def stop_client(self):\n if not self._client:\n return\n await self._client.close_connection()\n\n def stop(self):\n self._log.debug(\"Stopping ThreadedApiManager\")\n if not self._running:\n return\n self._running = False\n if self._client and self._loop and not self._loop.is_closed():\n try:\n future = asyncio.run_coroutine_threadsafe(\n self.stop_client(), self._loop\n )\n future.result(timeout=5) # Add timeout to prevent hanging\n except Exception as e:\n # Log the error but don't raise it\n self._log.error(f\"Error stopping client: {e}\")\n for socket_name in self._socket_running.keys():\n self._socket_running[socket_name] = False", + "inherited_members": {} + } + }, + "functions": {} + }, + "reconnecting_websocket": { + "name": "reconnecting_websocket", + "path": "binance.ws.reconnecting_websocket", + "filepath": "/Users/pablo/github/python-binance/binance/ws/reconnecting_websocket.py", + "description": null, + "docstring": [], + "attributes": [ + { + "name": "Proxy", + "annotation": null, + "description": null, + "value": "w_Proxy" + }, + { + "name": "proxy_connect", + "annotation": null, + "description": null, + "value": "w_proxy_connect" + } + ], + "modules": {}, + "classes": { + "ReconnectingWebsocket": { + "name": "ReconnectingWebsocket", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "url", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "prefix", + "annotation": "str", + "description": null, + "value": "'ws/'" + }, + { + "name": "is_binary", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "exit_coro", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "https_proxy", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "max_queue_size", + "annotation": "int", + "description": null, + "value": "100" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "attributes": [ + { + "name": "MAX_RECONNECTS", + "annotation": null, + "description": null, + "value": "5" + }, + { + "name": "MAX_RECONNECT_SECONDS", + "annotation": null, + "description": null, + "value": "60" + }, + { + "name": "MIN_RECONNECT_WAIT", + "annotation": null, + "description": null, + "value": "0.1" + }, + { + "name": "TIMEOUT", + "annotation": null, + "description": null, + "value": "10" + }, + { + "name": "NO_MESSAGE_RECONNECT_TIMEOUT", + "annotation": null, + "description": null, + "value": "60" + }, + { + "name": "ws", + "annotation": "Optional[ws.WebSocketClientProtocol]", + "description": null, + "value": "None" + }, + { + "name": "ws_state", + "annotation": null, + "description": null, + "value": "WSListenerState.INITIALISING" + }, + { + "name": "max_queue_size", + "annotation": null, + "description": null, + "value": "max_queue_size" + } + ], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.__init__", + "signature": "(self, url, path=None, prefix='ws/', is_binary=False, exit_coro=None, https_proxy=None, max_queue_size=100, **kwargs)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "url", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "path", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "prefix", + "annotation": "str", + "description": null, + "value": "'ws/'" + }, + { + "name": "is_binary", + "annotation": "bool", + "description": null, + "value": "False" + }, + { + "name": "exit_coro", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "https_proxy", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "max_queue_size", + "annotation": "int", + "description": null, + "value": "100" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(\n self,\n url: str,\n path: Optional[str] = None,\n prefix: str = \"ws/\",\n is_binary: bool = False,\n exit_coro=None,\n https_proxy: Optional[str] = None,\n max_queue_size: int = 100,\n **kwargs,\n):\n self._loop = get_loop()\n self._log = logging.getLogger(__name__)\n self._path = path\n self._url = url\n self._exit_coro = exit_coro\n self._prefix = prefix\n self._reconnects = 0\n self._is_binary = is_binary\n self._conn = None\n self._socket = None\n self.ws: Optional[ws.WebSocketClientProtocol] = None # type: ignore\n self.ws_state = WSListenerState.INITIALISING\n self._queue = asyncio.Queue()\n self._handle_read_loop = None\n self._https_proxy = https_proxy\n self._ws_kwargs = kwargs\n self.max_queue_size = max_queue_size" + }, + "json_dumps": { + "name": "json_dumps", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.json_dumps", + "signature": "(self, msg) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "msg", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def json_dumps(self, msg) -> str:\n if orjson:\n return orjson.dumps(msg).decode(\"utf-8\")\n return json.dumps(msg)" + }, + "json_loads": { + "name": "json_loads", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.json_loads", + "signature": "(self, msg)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "msg", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def json_loads(self, msg):\n if orjson:\n return orjson.loads(msg)\n return json.loads(msg)" + }, + "__aenter__": { + "name": "__aenter__", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.__aenter__", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def __aenter__(self):\n await self.connect()\n return self" + }, + "close": { + "name": "close", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.close", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def close(self):\n await self.__aexit__(None, None, None)" + }, + "__aexit__": { + "name": "__aexit__", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.__aexit__", + "signature": "(self, exc_type, exc_val, exc_tb)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "exc_type", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "exc_val", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "exc_tb", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def __aexit__(self, exc_type, exc_val, exc_tb):\n self._log.debug(f\"Closing Websocket {self._url}{self._prefix}{self._path}\")\n if self._handle_read_loop:\n await self._kill_read_loop()\n if self._exit_coro:\n await self._exit_coro(self._path)\n if self.ws:\n await self.ws.close()\n if self._conn and hasattr(self._conn, \"protocol\"):\n await self._conn.__aexit__(exc_type, exc_val, exc_tb)\n self.ws = None" + }, + "connect": { + "name": "connect", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.connect", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def connect(self):\n self._log.debug(\"Establishing new WebSocket connection\")\n self.ws_state = WSListenerState.RECONNECTING\n await self._before_connect()\n\n ws_url = (\n f\"{self._url}{getattr(self, '_prefix', '')}{getattr(self, '_path', '')}\"\n )\n\n # handle https_proxy\n if self._https_proxy:\n if not Proxy or not proxy_connect:\n raise ImportError(\n \"websockets_proxy is not installed, please install it to use a websockets proxy (pip install websockets_proxy)\"\n )\n proxy = Proxy.from_url(self._https_proxy) # type: ignore\n self._conn = proxy_connect(\n ws_url, close_timeout=0.1, proxy=proxy, **self._ws_kwargs\n ) # type: ignore\n else:\n self._conn = ws.connect(ws_url, close_timeout=0.1, **self._ws_kwargs) # type: ignore\n\n try:\n self.ws = await self._conn.__aenter__()\n except Exception as e: # noqa\n self._log.error(f\"Failed to connect to websocket: {e}\")\n self.ws_state = WSListenerState.RECONNECTING\n raise e\n self.ws_state = WSListenerState.STREAMING\n self._reconnects = 0\n await self._after_connect()\n if not self._handle_read_loop:\n self._handle_read_loop = self._loop.call_soon_threadsafe(\n asyncio.create_task, self._read_loop()\n )" + }, + "_kill_read_loop": { + "name": "_kill_read_loop", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._kill_read_loop", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _kill_read_loop(self):\n self.ws_state = WSListenerState.EXITING\n while self._handle_read_loop:\n await sleep(0.1)\n self._log.debug(\"Finished killing read_loop\")" + }, + "_before_connect": { + "name": "_before_connect", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._before_connect", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _before_connect(self):\n pass" + }, + "_after_connect": { + "name": "_after_connect", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._after_connect", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _after_connect(self):\n pass" + }, + "_handle_message": { + "name": "_handle_message", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._handle_message", + "signature": "(self, evt)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "evt", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _handle_message(self, evt):\n if self._is_binary:\n try:\n evt = gzip.decompress(evt)\n except (ValueError, OSError) as e:\n self._log.error(f\"Failed to decompress message: {(e)}\")\n raise\n except Exception as e:\n self._log.error(f\"Unexpected decompression error: {(e)}\")\n raise\n try:\n return self.json_loads(evt)\n except ValueError as e:\n self._log.error(f\"JSON Value Error parsing message: Error: {(e)}\")\n raise\n except TypeError as e:\n self._log.error(f\"JSON Type Error parsing message. Error: {(e)}\")\n raise\n except Exception as e:\n self._log.error(f\"Unexpected error parsing message. Error: {(e)}\")\n raise" + }, + "_read_loop": { + "name": "_read_loop", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._read_loop", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _read_loop(self):\n try:\n while True:\n try:\n while self.ws_state == WSListenerState.RECONNECTING:\n await self._run_reconnect()\n\n if self.ws_state == WSListenerState.EXITING:\n self._log.debug(\n f\"_read_loop {self._path} break for {self.ws_state}\"\n )\n break\n elif self.ws.state == ws.protocol.State.CLOSING: # type: ignore\n await asyncio.sleep(0.1)\n continue\n elif self.ws.state == ws.protocol.State.CLOSED: # type: ignore\n self._reconnect()\n raise BinanceWebsocketClosed(\n \"Connection closed. Reconnecting...\"\n )\n elif self.ws_state == WSListenerState.STREAMING:\n assert self.ws\n res = await asyncio.wait_for(\n self.ws.recv(), timeout=self.TIMEOUT\n )\n res = self._handle_message(res)\n self._log.debug(f\"Received message: {res}\")\n if res:\n if self._queue.qsize() < self.max_queue_size:\n await self._queue.put(res)\n else:\n raise BinanceWebsocketQueueOverflow(\n f\"Message queue size {self._queue.qsize()} exceeded maximum {self.max_queue_size}\"\n )\n except asyncio.TimeoutError:\n self._log.debug(f\"no message in {self.TIMEOUT} seconds\")\n # _no_message_received_reconnect\n except asyncio.CancelledError as e:\n self._log.debug(f\"_read_loop cancelled error {e}\")\n await self._queue.put({\n \"e\": \"error\",\n \"type\": f\"{e.__class__.__name__}\",\n \"m\": f\"{e}\",\n })\n break\n except (\n asyncio.IncompleteReadError,\n gaierror,\n ConnectionClosedError,\n BinanceWebsocketClosed,\n ) as e:\n # reports errors and continue loop\n self._log.error(f\"{e.__class__.__name__} ({e})\")\n await self._queue.put({\n \"e\": \"error\",\n \"type\": f\"{e.__class__.__name__}\",\n \"m\": f\"{e}\",\n })\n except (\n BinanceWebsocketUnableToConnect,\n BinanceWebsocketQueueOverflow,\n Exception,\n ) as e:\n # reports errors and break the loop\n self._log.error(f\"Unknown exception: {e.__class__.__name__} ({e})\")\n await self._queue.put({\n \"e\": \"error\",\n \"type\": e.__class__.__name__,\n \"m\": f\"{e}\",\n })\n break\n except Exception as e:\n self._log.error(f\"Unknown exception: {e.__class__.__name__} ({e})\")\n finally:\n self._handle_read_loop = None # Signal the coro is stopped\n self._reconnects = 0" + }, + "_run_reconnect": { + "name": "_run_reconnect", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._run_reconnect", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _run_reconnect(self):\n await self.before_reconnect()\n if self._reconnects < self.MAX_RECONNECTS:\n reconnect_wait = self._get_reconnect_wait(self._reconnects)\n self._log.debug(\n f\"websocket reconnecting. {self.MAX_RECONNECTS - self._reconnects} reconnects left - \"\n f\"waiting {reconnect_wait}\"\n )\n await asyncio.sleep(reconnect_wait)\n try:\n await self.connect()\n except Exception as e:\n pass\n else:\n self._log.error(f\"Max reconnections {self.MAX_RECONNECTS} reached:\")\n # Signal the error\n raise BinanceWebsocketUnableToConnect" + }, + "recv": { + "name": "recv", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.recv", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def recv(self):\n res = None\n while not res:\n if not self._handle_read_loop:\n raise ReadLoopClosed(\n \"Read loop has been closed, please reset the websocket connection and listen to the message error.\"\n )\n try:\n res = await asyncio.wait_for(self._queue.get(), timeout=self.TIMEOUT)\n except asyncio.TimeoutError:\n self._log.debug(f\"no message in {self.TIMEOUT} seconds\")\n return res" + }, + "_wait_for_reconnect": { + "name": "_wait_for_reconnect", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._wait_for_reconnect", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _wait_for_reconnect(self):\n while (\n self.ws_state != WSListenerState.STREAMING\n and self.ws_state != WSListenerState.EXITING\n ):\n await sleep(0.1)" + }, + "_get_reconnect_wait": { + "name": "_get_reconnect_wait", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._get_reconnect_wait", + "signature": "(self, attempts) -> int", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "attempts", + "annotation": "int", + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": "int", + "description": null + }, + "docstring": [], + "source": "def _get_reconnect_wait(self, attempts: int) -> int:\n expo = 2**attempts\n return round(random() * min(self.MAX_RECONNECT_SECONDS, expo - 1) + 1)" + }, + "before_reconnect": { + "name": "before_reconnect", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket.before_reconnect", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def before_reconnect(self):\n if self.ws:\n self.ws = None\n\n if self._conn and hasattr(self._conn, \"protocol\"):\n await self._conn.__aexit__(None, None, None)\n\n self._reconnects += 1" + }, + "_reconnect": { + "name": "_reconnect", + "path": "binance.ws.reconnecting_websocket.ReconnectingWebsocket._reconnect", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _reconnect(self):\n self.ws_state = WSListenerState.RECONNECTING" + } + }, + "source": "class ReconnectingWebsocket:\n MAX_RECONNECTS = 5\n MAX_RECONNECT_SECONDS = 60\n MIN_RECONNECT_WAIT = 0.1\n TIMEOUT = 10\n NO_MESSAGE_RECONNECT_TIMEOUT = 60\n\n def __init__(\n self,\n url: str,\n path: Optional[str] = None,\n prefix: str = \"ws/\",\n is_binary: bool = False,\n exit_coro=None,\n https_proxy: Optional[str] = None,\n max_queue_size: int = 100,\n **kwargs,\n ):\n self._loop = get_loop()\n self._log = logging.getLogger(__name__)\n self._path = path\n self._url = url\n self._exit_coro = exit_coro\n self._prefix = prefix\n self._reconnects = 0\n self._is_binary = is_binary\n self._conn = None\n self._socket = None\n self.ws: Optional[ws.WebSocketClientProtocol] = None # type: ignore\n self.ws_state = WSListenerState.INITIALISING\n self._queue = asyncio.Queue()\n self._handle_read_loop = None\n self._https_proxy = https_proxy\n self._ws_kwargs = kwargs\n self.max_queue_size = max_queue_size\n\n def json_dumps(self, msg) -> str:\n if orjson:\n return orjson.dumps(msg).decode(\"utf-8\")\n return json.dumps(msg)\n\n def json_loads(self, msg):\n if orjson:\n return orjson.loads(msg)\n return json.loads(msg)\n\n async def __aenter__(self):\n await self.connect()\n return self\n\n async def close(self):\n await self.__aexit__(None, None, None)\n\n async def __aexit__(self, exc_type, exc_val, exc_tb):\n self._log.debug(f\"Closing Websocket {self._url}{self._prefix}{self._path}\")\n if self._handle_read_loop:\n await self._kill_read_loop()\n if self._exit_coro:\n await self._exit_coro(self._path)\n if self.ws:\n await self.ws.close()\n if self._conn and hasattr(self._conn, \"protocol\"):\n await self._conn.__aexit__(exc_type, exc_val, exc_tb)\n self.ws = None\n\n async def connect(self):\n self._log.debug(\"Establishing new WebSocket connection\")\n self.ws_state = WSListenerState.RECONNECTING\n await self._before_connect()\n\n ws_url = (\n f\"{self._url}{getattr(self, '_prefix', '')}{getattr(self, '_path', '')}\"\n )\n\n # handle https_proxy\n if self._https_proxy:\n if not Proxy or not proxy_connect:\n raise ImportError(\n \"websockets_proxy is not installed, please install it to use a websockets proxy (pip install websockets_proxy)\"\n )\n proxy = Proxy.from_url(self._https_proxy) # type: ignore\n self._conn = proxy_connect(\n ws_url, close_timeout=0.1, proxy=proxy, **self._ws_kwargs\n ) # type: ignore\n else:\n self._conn = ws.connect(ws_url, close_timeout=0.1, **self._ws_kwargs) # type: ignore\n\n try:\n self.ws = await self._conn.__aenter__()\n except Exception as e: # noqa\n self._log.error(f\"Failed to connect to websocket: {e}\")\n self.ws_state = WSListenerState.RECONNECTING\n raise e\n self.ws_state = WSListenerState.STREAMING\n self._reconnects = 0\n await self._after_connect()\n if not self._handle_read_loop:\n self._handle_read_loop = self._loop.call_soon_threadsafe(\n asyncio.create_task, self._read_loop()\n )\n\n async def _kill_read_loop(self):\n self.ws_state = WSListenerState.EXITING\n while self._handle_read_loop:\n await sleep(0.1)\n self._log.debug(\"Finished killing read_loop\")\n\n async def _before_connect(self):\n pass\n\n async def _after_connect(self):\n pass\n\n def _handle_message(self, evt):\n if self._is_binary:\n try:\n evt = gzip.decompress(evt)\n except (ValueError, OSError) as e:\n self._log.error(f\"Failed to decompress message: {(e)}\")\n raise\n except Exception as e:\n self._log.error(f\"Unexpected decompression error: {(e)}\")\n raise\n try:\n return self.json_loads(evt)\n except ValueError as e:\n self._log.error(f\"JSON Value Error parsing message: Error: {(e)}\")\n raise\n except TypeError as e:\n self._log.error(f\"JSON Type Error parsing message. Error: {(e)}\")\n raise\n except Exception as e:\n self._log.error(f\"Unexpected error parsing message. Error: {(e)}\")\n raise\n\n async def _read_loop(self):\n try:\n while True:\n try:\n while self.ws_state == WSListenerState.RECONNECTING:\n await self._run_reconnect()\n\n if self.ws_state == WSListenerState.EXITING:\n self._log.debug(\n f\"_read_loop {self._path} break for {self.ws_state}\"\n )\n break\n elif self.ws.state == ws.protocol.State.CLOSING: # type: ignore\n await asyncio.sleep(0.1)\n continue\n elif self.ws.state == ws.protocol.State.CLOSED: # type: ignore\n self._reconnect()\n raise BinanceWebsocketClosed(\n \"Connection closed. Reconnecting...\"\n )\n elif self.ws_state == WSListenerState.STREAMING:\n assert self.ws\n res = await asyncio.wait_for(\n self.ws.recv(), timeout=self.TIMEOUT\n )\n res = self._handle_message(res)\n self._log.debug(f\"Received message: {res}\")\n if res:\n if self._queue.qsize() < self.max_queue_size:\n await self._queue.put(res)\n else:\n raise BinanceWebsocketQueueOverflow(\n f\"Message queue size {self._queue.qsize()} exceeded maximum {self.max_queue_size}\"\n )\n except asyncio.TimeoutError:\n self._log.debug(f\"no message in {self.TIMEOUT} seconds\")\n # _no_message_received_reconnect\n except asyncio.CancelledError as e:\n self._log.debug(f\"_read_loop cancelled error {e}\")\n await self._queue.put({\n \"e\": \"error\",\n \"type\": f\"{e.__class__.__name__}\",\n \"m\": f\"{e}\",\n })\n break\n except (\n asyncio.IncompleteReadError,\n gaierror,\n ConnectionClosedError,\n BinanceWebsocketClosed,\n ) as e:\n # reports errors and continue loop\n self._log.error(f\"{e.__class__.__name__} ({e})\")\n await self._queue.put({\n \"e\": \"error\",\n \"type\": f\"{e.__class__.__name__}\",\n \"m\": f\"{e}\",\n })\n except (\n BinanceWebsocketUnableToConnect,\n BinanceWebsocketQueueOverflow,\n Exception,\n ) as e:\n # reports errors and break the loop\n self._log.error(f\"Unknown exception: {e.__class__.__name__} ({e})\")\n await self._queue.put({\n \"e\": \"error\",\n \"type\": e.__class__.__name__,\n \"m\": f\"{e}\",\n })\n break\n except Exception as e:\n self._log.error(f\"Unknown exception: {e.__class__.__name__} ({e})\")\n finally:\n self._handle_read_loop = None # Signal the coro is stopped\n self._reconnects = 0\n\n async def _run_reconnect(self):\n await self.before_reconnect()\n if self._reconnects < self.MAX_RECONNECTS:\n reconnect_wait = self._get_reconnect_wait(self._reconnects)\n self._log.debug(\n f\"websocket reconnecting. {self.MAX_RECONNECTS - self._reconnects} reconnects left - \"\n f\"waiting {reconnect_wait}\"\n )\n await asyncio.sleep(reconnect_wait)\n try:\n await self.connect()\n except Exception as e:\n pass\n else:\n self._log.error(f\"Max reconnections {self.MAX_RECONNECTS} reached:\")\n # Signal the error\n raise BinanceWebsocketUnableToConnect\n\n async def recv(self):\n res = None\n while not res:\n if not self._handle_read_loop:\n raise ReadLoopClosed(\n \"Read loop has been closed, please reset the websocket connection and listen to the message error.\"\n )\n try:\n res = await asyncio.wait_for(self._queue.get(), timeout=self.TIMEOUT)\n except asyncio.TimeoutError:\n self._log.debug(f\"no message in {self.TIMEOUT} seconds\")\n return res\n\n async def _wait_for_reconnect(self):\n while (\n self.ws_state != WSListenerState.STREAMING\n and self.ws_state != WSListenerState.EXITING\n ):\n await sleep(0.1)\n\n def _get_reconnect_wait(self, attempts: int) -> int:\n expo = 2**attempts\n return round(random() * min(self.MAX_RECONNECT_SECONDS, expo - 1) + 1)\n\n async def before_reconnect(self):\n if self.ws:\n self.ws = None\n\n if self._conn and hasattr(self._conn, \"protocol\"):\n await self._conn.__aexit__(None, None, None)\n\n self._reconnects += 1\n\n def _reconnect(self):\n self.ws_state = WSListenerState.RECONNECTING", + "inherited_members": {} + } + }, + "functions": {} + }, + "depthcache": { + "name": "depthcache", + "path": "binance.ws.depthcache", + "filepath": "/Users/pablo/github/python-binance/binance/ws/depthcache.py", + "description": null, + "docstring": [], + "attributes": [ + { + "name": "DEFAULT_REFRESH", + "annotation": null, + "description": null, + "value": "60 * 30" + } + ], + "modules": {}, + "classes": { + "DepthCache": { + "name": "DepthCache", + "path": "binance.ws.depthcache.DepthCache", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "conv_type", + "annotation": "Callable", + "description": null, + "value": "float" + } + ], + "attributes": [ + { + "name": "symbol", + "annotation": null, + "description": null, + "value": "symbol" + }, + { + "name": "update_time", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "conv_type", + "annotation": "Callable", + "description": null, + "value": "conv_type" + } + ], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.ws.depthcache.DepthCache.__init__", + "signature": "(self, symbol, conv_type=float)", + "description": "Initialise the DepthCache\n\n:param symbol: Symbol to create depth cache for\n:type symbol: string\n:param conv_type: Optional type to represent price, and amount, default is float.\n:type conv_type: function.", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "conv_type", + "annotation": "Callable", + "description": null, + "value": "float" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(self, symbol, conv_type: Callable = float):\n \"\"\"Initialise the DepthCache\n\n :param symbol: Symbol to create depth cache for\n :type symbol: string\n :param conv_type: Optional type to represent price, and amount, default is float.\n :type conv_type: function.\n\n \"\"\"\n self.symbol = symbol\n self._bids = {}\n self._asks = {}\n self.update_time = None\n self.conv_type: Callable = conv_type\n self._log = logging.getLogger(__name__)" + }, + "add_bid": { + "name": "add_bid", + "path": "binance.ws.depthcache.DepthCache.add_bid", + "signature": "(self, bid)", + "description": "Add a bid to the cache\n\n:param bid:\n:return:", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "bid", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def add_bid(self, bid):\n \"\"\"Add a bid to the cache\n\n :param bid:\n :return:\n\n \"\"\"\n self._bids[bid[0]] = self.conv_type(bid[1])\n if bid[1] == \"0.00000000\":\n del self._bids[bid[0]]" + }, + "add_ask": { + "name": "add_ask", + "path": "binance.ws.depthcache.DepthCache.add_ask", + "signature": "(self, ask)", + "description": "Add an ask to the cache\n\n:param ask:\n:return:", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "ask", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def add_ask(self, ask):\n \"\"\"Add an ask to the cache\n\n :param ask:\n :return:\n\n \"\"\"\n self._asks[ask[0]] = self.conv_type(ask[1])\n if ask[1] == \"0.00000000\":\n del self._asks[ask[0]]" + }, + "get_bids": { + "name": "get_bids", + "path": "binance.ws.depthcache.DepthCache.get_bids", + "signature": "(self)", + "description": "Get the current bids\n\n:return: list of bids with price and quantity as conv_type\n\n.. code-block:: python\n\n [\n [\n 0.0001946, # Price\n 45.0 # Quantity\n ],\n [\n 0.00019459,\n 2384.0\n ],\n [\n 0.00019158,\n 5219.0\n ],\n [\n 0.00019157,\n 1180.0\n ],\n [\n 0.00019082,\n 287.0\n ]\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_bids(self):\n \"\"\"Get the current bids\n\n :return: list of bids with price and quantity as conv_type\n\n .. code-block:: python\n\n [\n [\n 0.0001946, # Price\n 45.0 # Quantity\n ],\n [\n 0.00019459,\n 2384.0\n ],\n [\n 0.00019158,\n 5219.0\n ],\n [\n 0.00019157,\n 1180.0\n ],\n [\n 0.00019082,\n 287.0\n ]\n ]\n\n \"\"\"\n return DepthCache.sort_depth(self._bids, reverse=True, conv_type=self.conv_type)" + }, + "get_asks": { + "name": "get_asks", + "path": "binance.ws.depthcache.DepthCache.get_asks", + "signature": "(self)", + "description": "Get the current asks\n\n:return: list of asks with price and quantity as conv_type.\n\n.. code-block:: python\n\n [\n [\n 0.0001955, # Price\n 57.0' # Quantity\n ],\n [\n 0.00019699,\n 778.0\n ],\n [\n 0.000197,\n 64.0\n ],\n [\n 0.00019709,\n 1130.0\n ],\n [\n 0.0001971,\n 385.0\n ]\n ]", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_asks(self):\n \"\"\"Get the current asks\n\n :return: list of asks with price and quantity as conv_type.\n\n .. code-block:: python\n\n [\n [\n 0.0001955, # Price\n 57.0' # Quantity\n ],\n [\n 0.00019699,\n 778.0\n ],\n [\n 0.000197,\n 64.0\n ],\n [\n 0.00019709,\n 1130.0\n ],\n [\n 0.0001971,\n 385.0\n ]\n ]\n\n \"\"\"\n return DepthCache.sort_depth(\n self._asks, reverse=False, conv_type=self.conv_type\n )" + }, + "sort_depth": { + "name": "sort_depth", + "path": "binance.ws.depthcache.DepthCache.sort_depth", + "signature": "(vals, reverse=False, conv_type=float)", + "description": "Sort bids or asks by price", + "parameters": [ + { + "name": "vals", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "reverse", + "annotation": null, + "description": null, + "value": "False" + }, + { + "name": "conv_type", + "annotation": "Callable", + "description": null, + "value": "float" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "@staticmethod\ndef sort_depth(vals, reverse=False, conv_type: Callable = float):\n \"\"\"Sort bids or asks by price\"\"\"\n if isinstance(vals, dict):\n lst = [\n [conv_type(price), conv_type(quantity)]\n for price, quantity in vals.items()\n ]\n elif isinstance(vals, list):\n lst = [[conv_type(price), conv_type(quantity)] for price, quantity in vals]\n else:\n raise ValueError(f\"Unknown order book depth data type: {type(vals)}\")\n lst = sorted(lst, key=itemgetter(0), reverse=reverse)\n return lst" + } + }, + "source": "class DepthCache(object):\n def __init__(self, symbol, conv_type: Callable = float):\n \"\"\"Initialise the DepthCache\n\n :param symbol: Symbol to create depth cache for\n :type symbol: string\n :param conv_type: Optional type to represent price, and amount, default is float.\n :type conv_type: function.\n\n \"\"\"\n self.symbol = symbol\n self._bids = {}\n self._asks = {}\n self.update_time = None\n self.conv_type: Callable = conv_type\n self._log = logging.getLogger(__name__)\n\n def add_bid(self, bid):\n \"\"\"Add a bid to the cache\n\n :param bid:\n :return:\n\n \"\"\"\n self._bids[bid[0]] = self.conv_type(bid[1])\n if bid[1] == \"0.00000000\":\n del self._bids[bid[0]]\n\n def add_ask(self, ask):\n \"\"\"Add an ask to the cache\n\n :param ask:\n :return:\n\n \"\"\"\n self._asks[ask[0]] = self.conv_type(ask[1])\n if ask[1] == \"0.00000000\":\n del self._asks[ask[0]]\n\n def get_bids(self):\n \"\"\"Get the current bids\n\n :return: list of bids with price and quantity as conv_type\n\n .. code-block:: python\n\n [\n [\n 0.0001946, # Price\n 45.0 # Quantity\n ],\n [\n 0.00019459,\n 2384.0\n ],\n [\n 0.00019158,\n 5219.0\n ],\n [\n 0.00019157,\n 1180.0\n ],\n [\n 0.00019082,\n 287.0\n ]\n ]\n\n \"\"\"\n return DepthCache.sort_depth(self._bids, reverse=True, conv_type=self.conv_type)\n\n def get_asks(self):\n \"\"\"Get the current asks\n\n :return: list of asks with price and quantity as conv_type.\n\n .. code-block:: python\n\n [\n [\n 0.0001955, # Price\n 57.0' # Quantity\n ],\n [\n 0.00019699,\n 778.0\n ],\n [\n 0.000197,\n 64.0\n ],\n [\n 0.00019709,\n 1130.0\n ],\n [\n 0.0001971,\n 385.0\n ]\n ]\n\n \"\"\"\n return DepthCache.sort_depth(\n self._asks, reverse=False, conv_type=self.conv_type\n )\n\n @staticmethod\n def sort_depth(vals, reverse=False, conv_type: Callable = float):\n \"\"\"Sort bids or asks by price\"\"\"\n if isinstance(vals, dict):\n lst = [\n [conv_type(price), conv_type(quantity)]\n for price, quantity in vals.items()\n ]\n elif isinstance(vals, list):\n lst = [[conv_type(price), conv_type(quantity)] for price, quantity in vals]\n else:\n raise ValueError(f\"Unknown order book depth data type: {type(vals)}\")\n lst = sorted(lst, key=itemgetter(0), reverse=reverse)\n return lst", + "inherited_members": {} + }, + "BaseDepthCacheManager": { + "name": "BaseDepthCacheManager", + "path": "binance.ws.depthcache.BaseDepthCacheManager", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "client", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "loop", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "refresh_interval", + "annotation": "Optional[int]", + "description": null, + "value": "DEFAULT_REFRESH" + }, + { + "name": "bm", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "10" + }, + { + "name": "conv_type", + "annotation": null, + "description": null, + "value": "float" + } + ], + "attributes": [ + { + "name": "TIMEOUT", + "annotation": null, + "description": null, + "value": "60" + } + ], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.ws.depthcache.BaseDepthCacheManager.__init__", + "signature": "(self, client, symbol, loop=None, refresh_interval=DEFAULT_REFRESH, bm=None, limit=10, conv_type=float)", + "description": "Create a DepthCacheManager instance\n\n:param client: Binance API client\n:type client: binance.Client\n:param loop:\n:type loop:\n:param symbol: Symbol to create depth cache for\n:type symbol: string\n:param refresh_interval: Optional number of seconds between cache refresh, use 0 or None to disable\n:type refresh_interval: int\n:param bm: Optional BinanceSocketManager\n:type bm: BinanceSocketManager\n:param limit: Optional number of orders to get from orderbook\n:type limit: int\n:param conv_type: Optional type to represent price, and amount, default is float.\n:type conv_type: function.", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "client", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "loop", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "refresh_interval", + "annotation": "Optional[int]", + "description": null, + "value": "DEFAULT_REFRESH" + }, + { + "name": "bm", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "10" + }, + { + "name": "conv_type", + "annotation": null, + "description": null, + "value": "float" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(\n self,\n client,\n symbol,\n loop=None,\n refresh_interval: Optional[int] = DEFAULT_REFRESH,\n bm=None,\n limit=10,\n conv_type=float,\n):\n \"\"\"Create a DepthCacheManager instance\n\n :param client: Binance API client\n :type client: binance.Client\n :param loop:\n :type loop:\n :param symbol: Symbol to create depth cache for\n :type symbol: string\n :param refresh_interval: Optional number of seconds between cache refresh, use 0 or None to disable\n :type refresh_interval: int\n :param bm: Optional BinanceSocketManager\n :type bm: BinanceSocketManager\n :param limit: Optional number of orders to get from orderbook\n :type limit: int\n :param conv_type: Optional type to represent price, and amount, default is float.\n :type conv_type: function.\n\n \"\"\"\n\n self._client = client\n self._depth_cache = None\n self._loop = loop or get_loop()\n self._symbol = symbol\n self._limit = limit\n self._last_update_id = None\n self._bm = bm or BinanceSocketManager(self._client)\n self._refresh_interval = refresh_interval\n self._conn_key = None\n self._conv_type = conv_type\n self._log = logging.getLogger(__name__)" + }, + "__aenter__": { + "name": "__aenter__", + "path": "binance.ws.depthcache.BaseDepthCacheManager.__aenter__", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def __aenter__(self):\n await asyncio.gather(self._init_cache(), self._start_socket())\n await self._socket.__aenter__()\n return self" + }, + "__aexit__": { + "name": "__aexit__", + "path": "binance.ws.depthcache.BaseDepthCacheManager.__aexit__", + "signature": "(self, *args, **kwargs)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "args", + "annotation": null, + "description": null, + "value": "()" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def __aexit__(self, *args, **kwargs):\n self._log.debug(f\"Exiting depth cache manager for {self._symbol}\")\n await self._socket.__aexit__(*args, **kwargs)" + }, + "recv": { + "name": "recv", + "path": "binance.ws.depthcache.BaseDepthCacheManager.recv", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def recv(self):\n dc = None\n while not dc:\n try:\n res = await asyncio.wait_for(self._socket.recv(), timeout=self.TIMEOUT)\n self._log.debug(f\"Received message: {res}\")\n except Exception as e:\n self._log.warning(f\"Exception recieving message: {e.__class__.__name__} (e) \")\n else:\n dc = await self._depth_event(res)\n return dc" + }, + "_init_cache": { + "name": "_init_cache", + "path": "binance.ws.depthcache.BaseDepthCacheManager._init_cache", + "signature": "(self)", + "description": "Initialise the depth cache calling REST endpoint\n\n:return:", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _init_cache(self):\n \"\"\"Initialise the depth cache calling REST endpoint\n\n :return:\n \"\"\"\n self._log.debug(f\"Initialising depth cache for {self._symbol}\")\n # initialise or clear depth cache\n self._depth_cache = DepthCache(self._symbol, conv_type=self._conv_type)\n\n # set a time to refresh the depth cache\n if self._refresh_interval:\n self._refresh_time = int(time.time()) + self._refresh_interval" + }, + "_start_socket": { + "name": "_start_socket", + "path": "binance.ws.depthcache.BaseDepthCacheManager._start_socket", + "signature": "(self)", + "description": "Start the depth cache socket\n\n:return:", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _start_socket(self):\n \"\"\"Start the depth cache socket\n\n :return:\n \"\"\"\n self._socket = self._get_socket()" + }, + "_get_socket": { + "name": "_get_socket", + "path": "binance.ws.depthcache.BaseDepthCacheManager._get_socket", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _get_socket(self):\n raise NotImplementedError" + }, + "_depth_event": { + "name": "_depth_event", + "path": "binance.ws.depthcache.BaseDepthCacheManager._depth_event", + "signature": "(self, msg)", + "description": "Handle a depth event\n\n:param msg:\n:return:", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "msg", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _depth_event(self, msg):\n \"\"\"Handle a depth event\n\n :param msg:\n :return:\n\n \"\"\"\n self._log.debug(f\"Received depth event: {msg}\")\n\n if not msg:\n return None\n\n if \"e\" in msg and msg[\"e\"] == \"error\":\n # notify user by return msg with error\n self._log.error(f\"Error in depth event restarting cache: {msg}\")\n return msg\n\n return await self._process_depth_message(msg)" + }, + "_process_depth_message": { + "name": "_process_depth_message", + "path": "binance.ws.depthcache.BaseDepthCacheManager._process_depth_message", + "signature": "(self, msg)", + "description": "Process a depth event message.\n\n:param msg: Depth event message.\n:return:", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "msg", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _process_depth_message(self, msg):\n \"\"\"Process a depth event message.\n\n :param msg: Depth event message.\n :return:\n\n \"\"\"\n\n # add any bid or ask values\n self._apply_orders(msg)\n\n # call the callback with the updated depth cache\n res = self._depth_cache\n\n # after processing event see if we need to refresh the depth cache\n if self._refresh_interval and int(time.time()) > self._refresh_time:\n await self._init_cache()\n\n return res" + }, + "_apply_orders": { + "name": "_apply_orders", + "path": "binance.ws.depthcache.BaseDepthCacheManager._apply_orders", + "signature": "(self, msg)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "msg", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _apply_orders(self, msg):\n assert self._depth_cache\n for bid in msg.get(\"b\", []) + msg.get(\"bids\", []):\n self._depth_cache.add_bid(bid)\n for ask in msg.get(\"a\", []) + msg.get(\"asks\", []):\n self._depth_cache.add_ask(ask)\n\n # keeping update time\n self._depth_cache.update_time = msg.get(\"E\") or msg.get(\"lastUpdateId\")" + }, + "get_depth_cache": { + "name": "get_depth_cache", + "path": "binance.ws.depthcache.BaseDepthCacheManager.get_depth_cache", + "signature": "(self)", + "description": "Get the current depth cache\n\n:return: DepthCache object", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_depth_cache(self):\n \"\"\"Get the current depth cache\n\n :return: DepthCache object\n\n \"\"\"\n return self._depth_cache" + }, + "close": { + "name": "close", + "path": "binance.ws.depthcache.BaseDepthCacheManager.close", + "signature": "(self)", + "description": "Close the open socket for this manager\n\n:return:", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def close(self):\n \"\"\"Close the open socket for this manager\n\n :return:\n \"\"\"\n self._depth_cache = None" + }, + "get_symbol": { + "name": "get_symbol", + "path": "binance.ws.depthcache.BaseDepthCacheManager.get_symbol", + "signature": "(self)", + "description": "Get the symbol\n\n:return: symbol", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def get_symbol(self):\n \"\"\"Get the symbol\n\n :return: symbol\n \"\"\"\n return self._symbol" + } + }, + "source": "class BaseDepthCacheManager:\n TIMEOUT = 60\n\n def __init__(\n self,\n client,\n symbol,\n loop=None,\n refresh_interval: Optional[int] = DEFAULT_REFRESH,\n bm=None,\n limit=10,\n conv_type=float,\n ):\n \"\"\"Create a DepthCacheManager instance\n\n :param client: Binance API client\n :type client: binance.Client\n :param loop:\n :type loop:\n :param symbol: Symbol to create depth cache for\n :type symbol: string\n :param refresh_interval: Optional number of seconds between cache refresh, use 0 or None to disable\n :type refresh_interval: int\n :param bm: Optional BinanceSocketManager\n :type bm: BinanceSocketManager\n :param limit: Optional number of orders to get from orderbook\n :type limit: int\n :param conv_type: Optional type to represent price, and amount, default is float.\n :type conv_type: function.\n\n \"\"\"\n\n self._client = client\n self._depth_cache = None\n self._loop = loop or get_loop()\n self._symbol = symbol\n self._limit = limit\n self._last_update_id = None\n self._bm = bm or BinanceSocketManager(self._client)\n self._refresh_interval = refresh_interval\n self._conn_key = None\n self._conv_type = conv_type\n self._log = logging.getLogger(__name__)\n\n async def __aenter__(self):\n await asyncio.gather(self._init_cache(), self._start_socket())\n await self._socket.__aenter__()\n return self\n\n async def __aexit__(self, *args, **kwargs):\n self._log.debug(f\"Exiting depth cache manager for {self._symbol}\")\n await self._socket.__aexit__(*args, **kwargs)\n\n async def recv(self):\n dc = None\n while not dc:\n try:\n res = await asyncio.wait_for(self._socket.recv(), timeout=self.TIMEOUT)\n self._log.debug(f\"Received message: {res}\")\n except Exception as e:\n self._log.warning(f\"Exception recieving message: {e.__class__.__name__} (e) \")\n else:\n dc = await self._depth_event(res)\n return dc\n\n async def _init_cache(self):\n \"\"\"Initialise the depth cache calling REST endpoint\n\n :return:\n \"\"\"\n self._log.debug(f\"Initialising depth cache for {self._symbol}\")\n # initialise or clear depth cache\n self._depth_cache = DepthCache(self._symbol, conv_type=self._conv_type)\n\n # set a time to refresh the depth cache\n if self._refresh_interval:\n self._refresh_time = int(time.time()) + self._refresh_interval\n\n async def _start_socket(self):\n \"\"\"Start the depth cache socket\n\n :return:\n \"\"\"\n self._socket = self._get_socket()\n\n def _get_socket(self):\n raise NotImplementedError\n\n async def _depth_event(self, msg):\n \"\"\"Handle a depth event\n\n :param msg:\n :return:\n\n \"\"\"\n self._log.debug(f\"Received depth event: {msg}\")\n\n if not msg:\n return None\n\n if \"e\" in msg and msg[\"e\"] == \"error\":\n # notify user by return msg with error\n self._log.error(f\"Error in depth event restarting cache: {msg}\")\n return msg\n\n return await self._process_depth_message(msg)\n\n async def _process_depth_message(self, msg):\n \"\"\"Process a depth event message.\n\n :param msg: Depth event message.\n :return:\n\n \"\"\"\n\n # add any bid or ask values\n self._apply_orders(msg)\n\n # call the callback with the updated depth cache\n res = self._depth_cache\n\n # after processing event see if we need to refresh the depth cache\n if self._refresh_interval and int(time.time()) > self._refresh_time:\n await self._init_cache()\n\n return res\n\n def _apply_orders(self, msg):\n assert self._depth_cache\n for bid in msg.get(\"b\", []) + msg.get(\"bids\", []):\n self._depth_cache.add_bid(bid)\n for ask in msg.get(\"a\", []) + msg.get(\"asks\", []):\n self._depth_cache.add_ask(ask)\n\n # keeping update time\n self._depth_cache.update_time = msg.get(\"E\") or msg.get(\"lastUpdateId\")\n\n def get_depth_cache(self):\n \"\"\"Get the current depth cache\n\n :return: DepthCache object\n\n \"\"\"\n return self._depth_cache\n\n async def close(self):\n \"\"\"Close the open socket for this manager\n\n :return:\n \"\"\"\n self._depth_cache = None\n\n def get_symbol(self):\n \"\"\"Get the symbol\n\n :return: symbol\n \"\"\"\n return self._symbol", + "inherited_members": {} + }, + "DepthCacheManager": { + "name": "DepthCacheManager", + "path": "binance.ws.depthcache.DepthCacheManager", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "client", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "loop", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "refresh_interval", + "annotation": "Optional[int]", + "description": null, + "value": "None" + }, + { + "name": "bm", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "500" + }, + { + "name": "conv_type", + "annotation": null, + "description": null, + "value": "float" + }, + { + "name": "ws_interval", + "annotation": null, + "description": null, + "value": "None" + } + ], + "attributes": [], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.ws.depthcache.DepthCacheManager.__init__", + "signature": "(self, client, symbol, loop=None, refresh_interval=None, bm=None, limit=500, conv_type=float, ws_interval=None)", + "description": "Initialise the DepthCacheManager\n\n:param client: Binance API client\n:type client: binance.Client\n:param loop: asyncio loop\n:param symbol: Symbol to create depth cache for\n:type symbol: string\n:param refresh_interval: Optional number of seconds between cache refresh, use 0 or None to disable\n:type refresh_interval: int\n:param limit: Optional number of orders to get from orderbook\n:type limit: int\n:param conv_type: Optional type to represent price, and amount, default is float.\n:type conv_type: function.\n:param ws_interval: Optional interval for updates on websocket, default None. If not set, updates happen every second. Must be 0, None (1s) or 100 (100ms).\n:type ws_interval: int", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "client", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "loop", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "refresh_interval", + "annotation": "Optional[int]", + "description": null, + "value": "None" + }, + { + "name": "bm", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "500" + }, + { + "name": "conv_type", + "annotation": null, + "description": null, + "value": "float" + }, + { + "name": "ws_interval", + "annotation": null, + "description": null, + "value": "None" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(\n self,\n client,\n symbol,\n loop=None,\n refresh_interval: Optional[int] = None,\n bm=None,\n limit=500,\n conv_type=float,\n ws_interval=None,\n):\n \"\"\"Initialise the DepthCacheManager\n\n :param client: Binance API client\n :type client: binance.Client\n :param loop: asyncio loop\n :param symbol: Symbol to create depth cache for\n :type symbol: string\n :param refresh_interval: Optional number of seconds between cache refresh, use 0 or None to disable\n :type refresh_interval: int\n :param limit: Optional number of orders to get from orderbook\n :type limit: int\n :param conv_type: Optional type to represent price, and amount, default is float.\n :type conv_type: function.\n :param ws_interval: Optional interval for updates on websocket, default None. If not set, updates happen every second. Must be 0, None (1s) or 100 (100ms).\n :type ws_interval: int\n\n \"\"\"\n super().__init__(client, symbol, loop, refresh_interval, bm, limit, conv_type)\n self._ws_interval = ws_interval" + }, + "_init_cache": { + "name": "_init_cache", + "path": "binance.ws.depthcache.DepthCacheManager._init_cache", + "signature": "(self)", + "description": "Initialise the depth cache calling REST endpoint\n\n:return:", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _init_cache(self):\n \"\"\"Initialise the depth cache calling REST endpoint\n\n :return:\n \"\"\"\n self._last_update_id = None\n self._depth_message_buffer = []\n\n res = await self._client.get_order_book(symbol=self._symbol, limit=self._limit)\n\n # initialise or clear depth cache\n await super()._init_cache()\n\n # process bid and asks from the order book\n self._apply_orders(res)\n assert self._depth_cache\n for bid in res[\"bids\"]:\n self._depth_cache.add_bid(bid)\n for ask in res[\"asks\"]:\n self._depth_cache.add_ask(ask)\n\n # set first update id\n self._last_update_id = res[\"lastUpdateId\"]\n\n # Apply any updates from the websocket\n for msg in self._depth_message_buffer:\n await self._process_depth_message(msg)\n\n # clear the depth buffer\n self._depth_message_buffer = []" + }, + "_start_socket": { + "name": "_start_socket", + "path": "binance.ws.depthcache.DepthCacheManager._start_socket", + "signature": "(self)", + "description": "Start the depth cache socket\n\n:return:", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _start_socket(self):\n \"\"\"Start the depth cache socket\n\n :return:\n \"\"\"\n if not getattr(self, \"_depth_message_buffer\", None):\n self._depth_message_buffer = []\n\n await super()._start_socket()" + }, + "_get_socket": { + "name": "_get_socket", + "path": "binance.ws.depthcache.DepthCacheManager._get_socket", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _get_socket(self):\n return self._bm.depth_socket(self._symbol, interval=self._ws_interval)" + }, + "_process_depth_message": { + "name": "_process_depth_message", + "path": "binance.ws.depthcache.DepthCacheManager._process_depth_message", + "signature": "(self, msg)", + "description": "Process a depth event message.\n\n:param msg: Depth event message.\n:return:", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "msg", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _process_depth_message(self, msg):\n \"\"\"Process a depth event message.\n\n :param msg: Depth event message.\n :return:\n\n \"\"\"\n\n if self._last_update_id is None:\n # Initial depth snapshot fetch not yet performed, buffer messages\n self._depth_message_buffer.append(msg)\n return\n\n if msg[\"u\"] <= self._last_update_id:\n # ignore any updates before the initial update id\n return\n elif msg[\"U\"] != self._last_update_id + 1:\n # if not buffered check we get sequential updates\n # otherwise init cache again\n await self._init_cache()\n\n # add any bid or ask values\n self._apply_orders(msg)\n\n # call the callback with the updated depth cache\n res = self._depth_cache\n\n self._last_update_id = msg[\"u\"]\n\n # after processing event see if we need to refresh the depth cache\n if self._refresh_interval and int(time.time()) > self._refresh_time:\n await self._init_cache()\n\n return res" + } + }, + "source": "class DepthCacheManager(BaseDepthCacheManager):\n def __init__(\n self,\n client,\n symbol,\n loop=None,\n refresh_interval: Optional[int] = None,\n bm=None,\n limit=500,\n conv_type=float,\n ws_interval=None,\n ):\n \"\"\"Initialise the DepthCacheManager\n\n :param client: Binance API client\n :type client: binance.Client\n :param loop: asyncio loop\n :param symbol: Symbol to create depth cache for\n :type symbol: string\n :param refresh_interval: Optional number of seconds between cache refresh, use 0 or None to disable\n :type refresh_interval: int\n :param limit: Optional number of orders to get from orderbook\n :type limit: int\n :param conv_type: Optional type to represent price, and amount, default is float.\n :type conv_type: function.\n :param ws_interval: Optional interval for updates on websocket, default None. If not set, updates happen every second. Must be 0, None (1s) or 100 (100ms).\n :type ws_interval: int\n\n \"\"\"\n super().__init__(client, symbol, loop, refresh_interval, bm, limit, conv_type)\n self._ws_interval = ws_interval\n\n async def _init_cache(self):\n \"\"\"Initialise the depth cache calling REST endpoint\n\n :return:\n \"\"\"\n self._last_update_id = None\n self._depth_message_buffer = []\n\n res = await self._client.get_order_book(symbol=self._symbol, limit=self._limit)\n\n # initialise or clear depth cache\n await super()._init_cache()\n\n # process bid and asks from the order book\n self._apply_orders(res)\n assert self._depth_cache\n for bid in res[\"bids\"]:\n self._depth_cache.add_bid(bid)\n for ask in res[\"asks\"]:\n self._depth_cache.add_ask(ask)\n\n # set first update id\n self._last_update_id = res[\"lastUpdateId\"]\n\n # Apply any updates from the websocket\n for msg in self._depth_message_buffer:\n await self._process_depth_message(msg)\n\n # clear the depth buffer\n self._depth_message_buffer = []\n\n async def _start_socket(self):\n \"\"\"Start the depth cache socket\n\n :return:\n \"\"\"\n if not getattr(self, \"_depth_message_buffer\", None):\n self._depth_message_buffer = []\n\n await super()._start_socket()\n\n def _get_socket(self):\n return self._bm.depth_socket(self._symbol, interval=self._ws_interval)\n\n async def _process_depth_message(self, msg):\n \"\"\"Process a depth event message.\n\n :param msg: Depth event message.\n :return:\n\n \"\"\"\n\n if self._last_update_id is None:\n # Initial depth snapshot fetch not yet performed, buffer messages\n self._depth_message_buffer.append(msg)\n return\n\n if msg[\"u\"] <= self._last_update_id:\n # ignore any updates before the initial update id\n return\n elif msg[\"U\"] != self._last_update_id + 1:\n # if not buffered check we get sequential updates\n # otherwise init cache again\n await self._init_cache()\n\n # add any bid or ask values\n self._apply_orders(msg)\n\n # call the callback with the updated depth cache\n res = self._depth_cache\n\n self._last_update_id = msg[\"u\"]\n\n # after processing event see if we need to refresh the depth cache\n if self._refresh_interval and int(time.time()) > self._refresh_time:\n await self._init_cache()\n\n return res", + "inherited_members": { + "binance.ws.depthcache.BaseDepthCacheManager": [ + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager.TIMEOUT" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._client" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._depth_cache" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._loop" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._symbol" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._limit" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._last_update_id" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._bm" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._refresh_interval" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._conn_key" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._conv_type" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._log" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.__aenter__" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.__aexit__" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.recv" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager._depth_event" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager._apply_orders" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.get_depth_cache" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.close" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.get_symbol" + } + ] + } + }, + "FuturesDepthCacheManager": { + "name": "FuturesDepthCacheManager", + "path": "binance.ws.depthcache.FuturesDepthCacheManager", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "client", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "loop", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "refresh_interval", + "annotation": "Optional[int]", + "description": null, + "value": "DEFAULT_REFRESH" + }, + { + "name": "bm", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "10" + }, + { + "name": "conv_type", + "annotation": null, + "description": null, + "value": "float" + } + ], + "attributes": [], + "docstring": [], + "functions": { + "_process_depth_message": { + "name": "_process_depth_message", + "path": "binance.ws.depthcache.FuturesDepthCacheManager._process_depth_message", + "signature": "(self, msg)", + "description": "Process a depth event message.\n\n:param msg: Depth event message.\n:return:", + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "msg", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "async def _process_depth_message(self, msg):\n \"\"\"Process a depth event message.\n\n :param msg: Depth event message.\n :return:\n\n \"\"\"\n msg = msg.get(\"data\")\n return await super()._process_depth_message(msg)" + }, + "_apply_orders": { + "name": "_apply_orders", + "path": "binance.ws.depthcache.FuturesDepthCacheManager._apply_orders", + "signature": "(self, msg)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "msg", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _apply_orders(self, msg):\n assert self._depth_cache\n self._depth_cache._bids = msg.get(\"b\", [])\n self._depth_cache._asks = msg.get(\"a\", [])\n\n # keeping update time\n self._depth_cache.update_time = msg.get(\"E\") or msg.get(\"lastUpdateId\")" + }, + "_get_socket": { + "name": "_get_socket", + "path": "binance.ws.depthcache.FuturesDepthCacheManager._get_socket", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _get_socket(self):\n sock = self._bm.futures_depth_socket(self._symbol)\n return sock" + } + }, + "source": "class FuturesDepthCacheManager(BaseDepthCacheManager):\n async def _process_depth_message(self, msg):\n \"\"\"Process a depth event message.\n\n :param msg: Depth event message.\n :return:\n\n \"\"\"\n msg = msg.get(\"data\")\n return await super()._process_depth_message(msg)\n\n def _apply_orders(self, msg):\n assert self._depth_cache\n self._depth_cache._bids = msg.get(\"b\", [])\n self._depth_cache._asks = msg.get(\"a\", [])\n\n # keeping update time\n self._depth_cache.update_time = msg.get(\"E\") or msg.get(\"lastUpdateId\")\n\n def _get_socket(self):\n sock = self._bm.futures_depth_socket(self._symbol)\n return sock", + "inherited_members": { + "binance.ws.depthcache.BaseDepthCacheManager": [ + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager.TIMEOUT" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.__init__" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._client" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._depth_cache" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._loop" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._symbol" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._limit" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._last_update_id" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._bm" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._refresh_interval" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._conn_key" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._conv_type" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._log" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.__aenter__" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.__aexit__" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.recv" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager._init_cache" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager._start_socket" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager._depth_event" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.get_depth_cache" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.close" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.get_symbol" + } + ] + } + }, + "OptionsDepthCacheManager": { + "name": "OptionsDepthCacheManager", + "path": "binance.ws.depthcache.OptionsDepthCacheManager", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "client", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "loop", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "refresh_interval", + "annotation": "Optional[int]", + "description": null, + "value": "DEFAULT_REFRESH" + }, + { + "name": "bm", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "10" + }, + { + "name": "conv_type", + "annotation": null, + "description": null, + "value": "float" + } + ], + "attributes": [], + "docstring": [], + "functions": { + "_get_socket": { + "name": "_get_socket", + "path": "binance.ws.depthcache.OptionsDepthCacheManager._get_socket", + "signature": "(self)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def _get_socket(self):\n return self._bm.options_depth_socket(self._symbol)" + } + }, + "source": "class OptionsDepthCacheManager(BaseDepthCacheManager):\n def _get_socket(self):\n return self._bm.options_depth_socket(self._symbol)", + "inherited_members": { + "binance.ws.depthcache.BaseDepthCacheManager": [ + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager.TIMEOUT" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.__init__" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._client" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._depth_cache" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._loop" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._symbol" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._limit" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._last_update_id" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._bm" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._refresh_interval" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._conn_key" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._conv_type" + }, + { + "kind": "attribute", + "path": "binance.ws.depthcache.BaseDepthCacheManager._log" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.__aenter__" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.__aexit__" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.recv" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager._init_cache" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager._start_socket" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager._depth_event" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager._process_depth_message" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager._apply_orders" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.get_depth_cache" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.close" + }, + { + "kind": "function", + "path": "binance.ws.depthcache.BaseDepthCacheManager.get_symbol" + } + ] + } + }, + "ThreadedDepthCacheManager": { + "name": "ThreadedDepthCacheManager", + "path": "binance.ws.depthcache.ThreadedDepthCacheManager", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "api_key", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "api_secret", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "requests_params", + "annotation": "Optional[Dict[str, str]]", + "description": null, + "value": "None" + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + } + ], + "attributes": [], + "docstring": [], + "functions": { + "__init__": { + "name": "__init__", + "path": "binance.ws.depthcache.ThreadedDepthCacheManager.__init__", + "signature": "(self, api_key=None, api_secret=None, requests_params=None, tld='com', testnet=False)", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "api_key", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "api_secret", + "annotation": "Optional[str]", + "description": null, + "value": "None" + }, + { + "name": "requests_params", + "annotation": "Optional[Dict[str, str]]", + "description": null, + "value": "None" + }, + { + "name": "tld", + "annotation": "str", + "description": null, + "value": "'com'" + }, + { + "name": "testnet", + "annotation": "bool", + "description": null, + "value": "False" + } + ], + "returns": { + "name": "", + "annotation": null, + "description": null + }, + "docstring": [], + "source": "def __init__(\n self,\n api_key: Optional[str] = None,\n api_secret: Optional[str] = None,\n requests_params: Optional[Dict[str, str]] = None,\n tld: str = \"com\",\n testnet: bool = False,\n):\n super().__init__(api_key, api_secret, requests_params, tld, testnet)" + }, + "_start_depth_cache": { + "name": "_start_depth_cache", + "path": "binance.ws.depthcache.ThreadedDepthCacheManager._start_depth_cache", + "signature": "(self, dcm_class, callback, symbol, refresh_interval=None, bm=None, limit=10, conv_type=float, **kwargs) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "dcm_class", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "refresh_interval", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "bm", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "10" + }, + { + "name": "conv_type", + "annotation": null, + "description": null, + "value": "float" + }, + { + "name": "kwargs", + "annotation": null, + "description": null, + "value": "{}" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def _start_depth_cache(\n self,\n dcm_class,\n callback: Callable,\n symbol: str,\n refresh_interval=None,\n bm=None,\n limit=10,\n conv_type=float,\n **kwargs,\n) -> str:\n while not self._client:\n time.sleep(0.01)\n\n dcm = dcm_class(\n client=self._client,\n symbol=symbol,\n loop=self._loop,\n refresh_interval=refresh_interval,\n bm=bm,\n limit=limit,\n conv_type=conv_type,\n **kwargs,\n )\n path = symbol.lower() + \"@depth\" + str(limit)\n self._socket_running[path] = True\n self._loop.call_soon(\n asyncio.create_task, self.start_listener(dcm, path, callback)\n )\n return path" + }, + "start_depth_cache": { + "name": "start_depth_cache", + "path": "binance.ws.depthcache.ThreadedDepthCacheManager.start_depth_cache", + "signature": "(self, callback, symbol, refresh_interval=None, bm=None, limit=10, conv_type=float, ws_interval=0) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "refresh_interval", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "bm", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "10" + }, + { + "name": "conv_type", + "annotation": null, + "description": null, + "value": "float" + }, + { + "name": "ws_interval", + "annotation": null, + "description": null, + "value": "0" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_depth_cache(\n self,\n callback: Callable,\n symbol: str,\n refresh_interval=None,\n bm=None,\n limit=10,\n conv_type=float,\n ws_interval=0,\n) -> str:\n return self._start_depth_cache(\n dcm_class=DepthCacheManager,\n callback=callback,\n symbol=symbol,\n refresh_interval=refresh_interval,\n bm=bm,\n limit=limit,\n conv_type=conv_type,\n ws_interval=ws_interval,\n )" + }, + "start_futures_depth_socket": { + "name": "start_futures_depth_socket", + "path": "binance.ws.depthcache.ThreadedDepthCacheManager.start_futures_depth_socket", + "signature": "(self, callback, symbol, refresh_interval=None, bm=None, limit=10, conv_type=float) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "refresh_interval", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "bm", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "10" + }, + { + "name": "conv_type", + "annotation": null, + "description": null, + "value": "float" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_futures_depth_socket(\n self,\n callback: Callable,\n symbol: str,\n refresh_interval=None,\n bm=None,\n limit=10,\n conv_type=float,\n) -> str:\n return self._start_depth_cache(\n dcm_class=FuturesDepthCacheManager,\n callback=callback,\n symbol=symbol,\n refresh_interval=refresh_interval,\n bm=bm,\n limit=limit,\n conv_type=conv_type,\n )" + }, + "start_options_depth_socket": { + "name": "start_options_depth_socket", + "path": "binance.ws.depthcache.ThreadedDepthCacheManager.start_options_depth_socket", + "signature": "(self, callback, symbol, refresh_interval=None, bm=None, limit=10, conv_type=float) -> str", + "description": null, + "parameters": [ + { + "name": "self", + "annotation": null, + "description": null, + "value": null + }, + { + "name": "callback", + "annotation": "Callable", + "description": null, + "value": null + }, + { + "name": "symbol", + "annotation": "str", + "description": null, + "value": null + }, + { + "name": "refresh_interval", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "bm", + "annotation": null, + "description": null, + "value": "None" + }, + { + "name": "limit", + "annotation": null, + "description": null, + "value": "10" + }, + { + "name": "conv_type", + "annotation": null, + "description": null, + "value": "float" + } + ], + "returns": { + "name": "", + "annotation": "str", + "description": null + }, + "docstring": [], + "source": "def start_options_depth_socket(\n self,\n callback: Callable,\n symbol: str,\n refresh_interval=None,\n bm=None,\n limit=10,\n conv_type=float,\n) -> str:\n return self._start_depth_cache(\n dcm_class=OptionsDepthCacheManager,\n callback=callback,\n symbol=symbol,\n refresh_interval=refresh_interval,\n bm=bm,\n limit=limit,\n conv_type=conv_type,\n )" + } + }, + "source": "class ThreadedDepthCacheManager(ThreadedApiManager):\n def __init__(\n self,\n api_key: Optional[str] = None,\n api_secret: Optional[str] = None,\n requests_params: Optional[Dict[str, str]] = None,\n tld: str = \"com\",\n testnet: bool = False,\n ):\n super().__init__(api_key, api_secret, requests_params, tld, testnet)\n\n def _start_depth_cache(\n self,\n dcm_class,\n callback: Callable,\n symbol: str,\n refresh_interval=None,\n bm=None,\n limit=10,\n conv_type=float,\n **kwargs,\n ) -> str:\n while not self._client:\n time.sleep(0.01)\n\n dcm = dcm_class(\n client=self._client,\n symbol=symbol,\n loop=self._loop,\n refresh_interval=refresh_interval,\n bm=bm,\n limit=limit,\n conv_type=conv_type,\n **kwargs,\n )\n path = symbol.lower() + \"@depth\" + str(limit)\n self._socket_running[path] = True\n self._loop.call_soon(\n asyncio.create_task, self.start_listener(dcm, path, callback)\n )\n return path\n\n def start_depth_cache(\n self,\n callback: Callable,\n symbol: str,\n refresh_interval=None,\n bm=None,\n limit=10,\n conv_type=float,\n ws_interval=0,\n ) -> str:\n return self._start_depth_cache(\n dcm_class=DepthCacheManager,\n callback=callback,\n symbol=symbol,\n refresh_interval=refresh_interval,\n bm=bm,\n limit=limit,\n conv_type=conv_type,\n ws_interval=ws_interval,\n )\n\n def start_futures_depth_socket(\n self,\n callback: Callable,\n symbol: str,\n refresh_interval=None,\n bm=None,\n limit=10,\n conv_type=float,\n ) -> str:\n return self._start_depth_cache(\n dcm_class=FuturesDepthCacheManager,\n callback=callback,\n symbol=symbol,\n refresh_interval=refresh_interval,\n bm=bm,\n limit=limit,\n conv_type=conv_type,\n )\n\n def start_options_depth_socket(\n self,\n callback: Callable,\n symbol: str,\n refresh_interval=None,\n bm=None,\n limit=10,\n conv_type=float,\n ) -> str:\n return self._start_depth_cache(\n dcm_class=OptionsDepthCacheManager,\n callback=callback,\n symbol=symbol,\n refresh_interval=refresh_interval,\n bm=bm,\n limit=limit,\n conv_type=conv_type,\n )", + "inherited_members": { + "binance.ws.threaded_stream.ThreadedApiManager": [ + { + "kind": "attribute", + "path": "binance.ws.threaded_stream.ThreadedApiManager._loop" + }, + { + "kind": "attribute", + "path": "binance.ws.threaded_stream.ThreadedApiManager._client" + }, + { + "kind": "attribute", + "path": "binance.ws.threaded_stream.ThreadedApiManager._running" + }, + { + "kind": "attribute", + "path": "binance.ws.threaded_stream.ThreadedApiManager._socket_running" + }, + { + "kind": "attribute", + "path": "binance.ws.threaded_stream.ThreadedApiManager._log" + }, + { + "kind": "attribute", + "path": "binance.ws.threaded_stream.ThreadedApiManager._client_params" + }, + { + "kind": "function", + "path": "binance.ws.threaded_stream.ThreadedApiManager._before_socket_listener_start" + }, + { + "kind": "function", + "path": "binance.ws.threaded_stream.ThreadedApiManager.socket_listener" + }, + { + "kind": "function", + "path": "binance.ws.threaded_stream.ThreadedApiManager.start_listener" + }, + { + "kind": "function", + "path": "binance.ws.threaded_stream.ThreadedApiManager.run" + }, + { + "kind": "function", + "path": "binance.ws.threaded_stream.ThreadedApiManager.stop_socket" + }, + { + "kind": "function", + "path": "binance.ws.threaded_stream.ThreadedApiManager.stop_client" + }, + { + "kind": "function", + "path": "binance.ws.threaded_stream.ThreadedApiManager.stop" + } + ] + } + } + }, + "functions": {} + } + }, + "classes": {}, + "functions": {} + } + }, + "classes": {}, + "functions": {}, + "version": "1.0.29" +} diff --git a/binance/async_client.py b/binance/async_client.py index f0a623f4..1791d860 100644 --- a/binance/async_client.py +++ b/binance/async_client.py @@ -1716,6 +1716,11 @@ async def futures_exchange_info(self): async def futures_order_book(self, **params): return await self._request_futures_api("get", "depth", data=params) + async def futures_rpi_depth(self, **params): + return await self._request_futures_api("get", "rpiDepth", data=params) + + futures_rpi_depth.__doc__ = Client.futures_rpi_depth.__doc__ + async def futures_recent_trades(self, **params): return await self._request_futures_api("get", "trades", data=params) @@ -2139,6 +2144,11 @@ async def futures_account(self, **params): "get", "account", True, version=2, data=params ) + async def futures_symbol_adl_risk(self, **params): + return await self._request_futures_api("get", "symbolAdlRisk", True, data=params) + + futures_symbol_adl_risk.__doc__ = Client.futures_symbol_adl_risk.__doc__ + async def futures_change_leverage(self, **params): return await self._request_futures_api("post", "leverage", True, data=params) diff --git a/binance/client.py b/binance/client.py index 5774469e..6e9acea2 100755 --- a/binance/client.py +++ b/binance/client.py @@ -7309,6 +7309,43 @@ def futures_order_book(self, **params): """ return self._request_futures_api("get", "depth", data=params) + def futures_rpi_depth(self, **params): + """Get RPI Order Book with Retail Price Improvement orders + + https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/RPI-Order-Book + + :param symbol: required + :type symbol: str + :param limit: Default 1000; Valid limits:[1000] + :type limit: int + + :returns: API response + + .. code-block:: python + + { + "lastUpdateId": 1027024, + "E": 1589436922972, // Message output time + "T": 1589436922959, // Transaction time + "bids": [ + [ + "4.00000000", // PRICE + "431.00000000" // QTY + ] + ], + "asks": [ + [ + "4.00000200", + "12.00000000" + ] + ] + } + + :raises: BinanceRequestException, BinanceAPIException + + """ + return self._request_futures_api("get", "rpiDepth", data=params) + def futures_recent_trades(self, **params): """Get recent trades (up to last 500). @@ -8195,6 +8232,47 @@ def futures_account(self, **params): """ return self._request_futures_api("get", "account", True, 2, data=params) + def futures_symbol_adl_risk(self, **params): + """Query the symbol-level ADL (Auto-Deleveraging) risk rating + + The ADL risk rating measures the likelihood of ADL during liquidation. + Rating can be: high, medium, low. Updated every 30 minutes. + + https://developers.binance.com/docs/derivatives/usds-margined-futures/account/rest-api/Query-ADL-Risk-Rating + + :param symbol: optional - if not provided, returns ADL risk for all symbols + :type symbol: str + + :returns: API response + + .. code-block:: python + + # Single symbol + { + "symbol": "BTCUSDT", + "adlRisk": "low", + "updateTime": 1597370495002 + } + + # All symbols (when symbol not provided) + [ + { + "symbol": "BTCUSDT", + "adlRisk": "low", + "updateTime": 1597370495002 + }, + { + "symbol": "ETHUSDT", + "adlRisk": "high", + "updateTime": 1597370495004 + } + ] + + :raises: BinanceRequestException, BinanceAPIException + + """ + return self._request_futures_api("get", "symbolAdlRisk", True, data=params) + def futures_change_leverage(self, **params): """Change user's initial leverage of specific symbol market diff --git a/binance/enums.py b/binance/enums.py index ed793524..50f26e4c 100644 --- a/binance/enums.py +++ b/binance/enums.py @@ -56,6 +56,7 @@ TIME_IN_FORCE_FOK = "FOK" # Fill or kill TIME_IN_FORCE_GTX = "GTX" # Post only order TIME_IN_FORCE_GTD = "GTD" # Good till date +TIME_IN_FORCE_RPI = "RPI" # Retail Price Improvement ORDER_RESP_TYPE_ACK = "ACK" ORDER_RESP_TYPE_RESULT = "RESULT" diff --git a/binance/ws/streams.py b/binance/ws/streams.py index 33d5f3be..4a359251 100755 --- a/binance/ws/streams.py +++ b/binance/ws/streams.py @@ -1128,6 +1128,22 @@ def futures_depth_socket(self, symbol: str, depth: str = "10", futures_type=Futu symbol.lower() + "@depth" + str(depth), futures_type=futures_type ) + def futures_rpi_depth_socket(self, symbol: str, futures_type=FuturesType.USD_M): + """Subscribe to a futures RPI (Retail Price Improvement) depth data stream + + RPI orders are included and aggregated in the stream. Crossed price levels are hidden. + Updates every 500ms. + + https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/websocket-market-streams/RPI-Order-Book + + :param symbol: required + :type symbol: str + :param futures_type: use USD-M or COIN-M futures default USD-M + """ + return self._get_futures_socket( + symbol.lower() + "@rpiDepth@500ms", futures_type=futures_type + ) + def options_new_symbol_socket(self): """Subscribe to a new symbol listing information stream. diff --git a/codegen.js b/codegen.js new file mode 100644 index 00000000..6939f240 --- /dev/null +++ b/codegen.js @@ -0,0 +1,447 @@ +// Usage: node utils/generate_missing_methods.js from the root directory + +const fs = require('fs'); +const { parse } = require('path'); + +const SOURCE_FILES = { + 'spot': './utils/spot_docs.txt', + 'futures': './utils/futures_docs.txt', + 'coin': './utils/coin_docs.txt', + 'options': './utils/options_docs.txt', + 'portfolio': './utils/portfolio_docs.txt', +} + +const ENPOINTS_FILES = { + 'spot': './utils/spot_endpoints_list.txt', + 'futures': './utils/futures_endpoints_list.txt', + 'coin': './utils/coin_endpoints_list.txt', + 'options': './utils/options_endpoints_list.txt', + 'portfolio': './utils/portfolio_endpoints_list.txt', +} +const BINANCE_FILE = './binance/client.py' +const BINANCE_CALLS = [ + '_get', + '_post', + '_put', + '_delete', + '_request_margin_api', + '_request_futures_api', + '_request_futures_data_api', + '_request_futures_coin_api', + '_request_futures_coin_data_api', + '_request_options_api', + '_request_papi_api', +] +const TARGET_FILE_NAME = './utils/missing_endponts.txt' + +const SPECIFIC_CALLS = { + 'spot': { + 'sapi': '_request_margin_api' + }, + 'futures': { + 'fapi': '_request_futures_api', + 'futures/data': '_request_futures_data_api', + }, + 'coin': { + 'dapi': '_request_futures_coin_api', + 'futures/data': '_request_futures_coin_data_api', + }, + 'options': { + 'eapi': '_request_options_api' + }, + 'portfolio': { + 'papi': '_request_papi_api', + 'fapi': '_request_futures_api' + } +} + +const PREFIXES = { + 'spot': { + 'sapi': 'margin', + }, + 'futures': { + 'fapi': 'futures', + 'futures/data': 'futures_data', + }, + 'coin': { + 'dapi': 'futures_coin', + 'futures/data': 'futures_coin_data', + }, + 'options': { + 'eapi': 'options', + }, + 'portfolio': { + 'papi': 'portfolio', + 'fapi': 'futures', + } +} + +const SPOT_API_VERSIONS = { + 'v1': 'self.PUBLIC_API_VERSION', + 'v3': 'self.PRIVATE_API_VERSION' +} + +const OTHER_API_VERSIONS = { + 'v1': '1', + 'v2': '2', + 'v3': '3', + 'v4': '4' +} + +const DEPRECATED = [ + 'GET /fapi/v1/ticker/price', + 'GET /fapi/v1/pmExchangeInfo', + 'POST /api/v3/order/oco', + 'POST /sapi/v1/eth-staking/eth/stake', + 'GET /sapi/v1/eth-staking/account', + 'GET /sapi/v1/portfolio/interest-rate', + 'GET /api/v1/order', + 'GET /api/v1/openOrders', + 'POST /api/v1/order', + 'DELETE /api/v1/order', + 'GET /api/v1/allOrders', + 'GET /api/v1/account', + 'GET /api/v1/myTrades', + 'POST /sapi/v1/loan/flexible/borrow', + 'GET /sapi/v1/loan/flexible/ongoing/orders', + 'GET /sapi/v1/loan/flexible/borrow/history', + 'POST /sapi/v1/loan/flexible/repay', + 'GET /sapi/v1/loan/flexible/repay/history', + 'POST /sapi/v1/loan/flexible/adjust/ltv', + 'GET /sapi/v1/loan/flexible/ltv/adjustment/history', + 'GET /sapi/v1/loan/flexible/loanable/data', + 'GET /sapi/v1/loan/flexible/collateral/data' +] + +function parseEndpoint (data, type) { + const parts = data.split (' ') + const method = parts[0].toLowerCase () + const endpoint = parts[1] + let path = endpoint + let api = undefined + let version = undefined + let splitSymbols = 'v1/' + if (endpoint.indexOf ('futures/data') !== -1) { + api = 'futures/data' + splitSymbols = 'data/' + } else { + splittedEndpoint = endpoint.split ('/') + api = splittedEndpoint[1] + version = splittedEndpoint[2] + splitSymbols = version + '/' + } + path = endpoint.split (splitSymbols)[1] + const result = { + 'endpoint': method.toUpperCase() + ' ' + endpoint, + 'type': type, + 'method': method, + 'path': path, + 'api': api, + 'version': version + } + const methodName = generateMethodName (result) + result['methodName'] = methodName + const call = generateMethodCall (result) + result['call'] = call + return result +} + +function parseEndpoints (data) { + const result = {} + const types = Object.keys (data) + for (let type of types) { + const endpoints = data[type] + result[type] = {} + for (let endpoint of endpoints) { + const parsed = parseEndpoint (endpoint, type) + result[type][endpoint] = parsed + } + } + return result +} + + +function generateMethodCall (endpoint) { + const { type, method, path, api, version } = endpoint + const isSpot = type === 'spot' + const apiVersions = isSpot ? SPOT_API_VERSIONS : OTHER_API_VERSIONS + let func = 'self.' + if (isSpot && api !== 'sapi') { + func += '_' + method + '(' + '"' + path + '", ' + 'version=' + apiVersions[version] + ', data=params' + ')' + } else { + func += SPECIFIC_CALLS[type][api] + '(' + '"' + method + ', "' + path + '", ' + 'version=' + apiVersions[version] + ', data=params' + ')' + } + return func +} + +function generateListsOfEndpoints (writeFiles = false) { + const result = {} + for (let type in SOURCE_FILES) { + let file = SOURCE_FILES[type] + const methodMatch = /(GET|POST|PUT|DELETE) (\/[^ ][\w\/-]+)/g + const data = fs.readFileSync (file, 'utf8') + const mathces = [... new Set (data.match (methodMatch))] + for (let i = 0; i < DEPRECATED.length; i++) { + let index = mathces.indexOf (DEPRECATED[i]) + if (index !== -1) { + mathces.splice (index, 1) + } + } + result[type] = mathces + const targetData = mathces.join ('\n') + const targetFile = ENPOINTS_FILES[type] + if (writeFiles) { + fs.writeFile (targetFile, targetData, (err) => { + if (err) { + console.error (err) + return + } + console.log (targetFile + ' file is generated') + }) + } + } + return result +} + +function getCallsFromBinanceFile () { + const data = fs.readFileSync (BINANCE_FILE, 'utf8').replace (/\s/g, '') + const matchTemplate = /self._\w+\("[^\)]+\)/g + const matches = data.match (matchTemplate) + matches.forEach ((m, i) => matches[i] = m.replace ('self.', '')) + return matches +} + +function parseCall (call) { + const parts = call.split ('(') + const func = parts[0] + const argsString = parts[1].replaceAll ('"', '').replace(')', '') + const args = argsString.split (',') + const [ type, api ] = parseTypeAndApi (func) + if (type === undefined) { + return { func, args } + } + let method = args[0] + let path = args[1] + if (type === 'spot' && func !== '_request_margin_api') { + method = func.replace ('_', '') + path = args[0] + } + let versionString = '' + let version = undefined + if (api !== 'future/data') { + version = parseVersion (argsString, args, api) + versionString = version + '/' + } + const endpoint = method.toUpperCase () + ' /' + api + '/' + versionString + '' + path + return { endpoint, type, method, path, api, version, call } +} + +function parseVersion (argsString, args, api) { + let v = 'v1' + let version = undefined + const vMatch = /version=([^,]+),/ + const vMatchResult = argsString.match (vMatch) + if (vMatchResult) { + version = vMatchResult[1] + } else if (args.length > 3 && api !== 'api') { + version = args[3] + } + const versionTypes = { + '1': 'v1', + '2': 'v2', + '3': 'v3', + '4': 'v4', + 'PUBLIC_API_VERSION': 'v1', + 'PRIVATE_API_VERSION': 'v3' + } + if (versionTypes[version]) { + v = versionTypes[version] + } + return v +} + +function parseTypeAndApi (func) { + const funcs = { + '_get': { + 'type': 'spot', + 'api': 'api' + }, + '_post': { + 'type': 'spot', + 'api': 'api' + }, + '_put': { + 'type': 'spot', + 'api': 'api' + }, + '_delete': { + 'type': 'spot', + 'api': 'api' + }, + '_request_margin_api': { + 'type': 'spot', + 'api': 'sapi' + }, + '_request_futures_api': { + 'type': 'futures', + 'api': 'fapi' + }, + '_request_futures_data_api': { + 'type': 'futures', + 'api': 'futures/data' + }, + '_request_futures_coin_api': { + 'type': 'coin', + 'api': 'dapi' + }, + '_request_futures_coin_data_api': { + 'type': 'coin', + 'api': 'futures/data' + }, + '_request_options_api': { + 'type': 'options', + 'api': 'eapi' + }, + '_request_papi_api': { + 'type': 'portfolio', + 'api': 'papi' + } + } + const result = funcs[func] + return result ? [ result['type'], result['api'] ] : [ undefined, undefined ] +} + +function compareEndpoints (docs, binance) { + let missingInDocs = {} + let missingInBinance = {} + for (let type in docs) { + missingInDocs[type] = [] + missingInBinance[type] = [] + const d = docs[type] + const b = binance[type] + const docsEndpoints = Object.keys (d) + const binanceEndpoints = Object.keys (b) + let found = false + for (let key of docsEndpoints) { + const dEntry = d[key] + found = endpointIsInObject (dEntry, b) + if (!found) { + missingInBinance[type].push (dEntry) + } + } + for (let key of binanceEndpoints) { + const bEntry = b[key] + found = endpointIsInObject (bEntry, d) + if (!found) { + missingInDocs[type].push (bEntry) + } + } + console.log (type + '\nmissing in docs: ' + missingInDocs[type].length, '\nmissing in binance: ' + missingInBinance[type].length + '\ntotal in docs', docsEndpoints.length, '\ntotal in binance', binanceEndpoints.length) + } + return { missingInDocs, missingInBinance } +} + +function endpointIsInObject (endpoint, object) { + let found = false + if (object[endpoint]) { + found = true + } + const keys = Object.keys (object) + for (let key of keys) { + const entry = object[key] + if (entry.method === endpoint.method && + entry.path === endpoint.path && + entry.api === endpoint.api) { + found = true + break + } + } + return found +} + +function parsePath (path) { + path = path.replaceAll ('-', '_').replaceAll ('/', '_') + const capitalMatch = /[A-Z]/g + const capitalMatches = path.match (capitalMatch) + if (capitalMatches) { + for (let match of capitalMatches) { + path = path.replace (match, '_' + match.toLowerCase ()) + } + } + return path +} + +function generateMethodName (parsedEndpoint) { + let { type, method, path, api } = parsedEndpoint + let prefix = PREFIXES[type][api] + if (prefix) { + prefix += '_' + } else { // if spot api + prefix = '' + } + const methods = { + 'get': 'get_', + 'post': 'create_', + 'put': 'modify_', + 'delete': 'cancel_' + } + method = methods[method] + if (method === 'get_' && api !== 'api') { + method = '' + } + path = parsePath (path) + return prefix + method + path +} + +function generateMethodString (parsedEndpoint) { + let result = + parsedEndpoint.methodName + ' (self, **params):\n' + ' """\n ' + + parsedEndpoint.endpoint + '\n """\n' + + ' return ' + parsedEndpoint.call + '\n' + return result +} + +function main (generateNewEndpoints = false, writeNewFiles = false) { + let endpoints = {} + if (generateNewEndpoints) { + const endpoints = generateListsOfEndpoints (writeNewFiles) + } else { + for (let type in ENPOINTS_FILES) { + let file = ENPOINTS_FILES[type] + const data = fs.readFileSync (file, 'utf8') + endpoints[type] = data.split ('\n') + } + } + const calls = getCallsFromBinanceFile () + const binanceMethods = {} + calls.forEach ((call) => { + const parsedCall = parseCall (call) + if (parsedCall.type) { + if (!binanceMethods[parsedCall.type]) { + binanceMethods[parsedCall.type] = {} + } + binanceMethods[parsedCall.type][parsedCall.endpoint] = parsedCall + } + }) + const docsMethods = parseEndpoints (endpoints) + const { missingInDocs, missingInBinance } = compareEndpoints (docsMethods, binanceMethods) + let targetData = '' + let total = 0 + for (let type in missingInBinance) { + targetData += '#' + type + ' ====================\n\n' + for (let method of missingInBinance[type]) { + targetData += generateMethodString (method) + '\n' + total++ + } + } + console.log ('Total missing in Binance: ' + total) + fs.writeFile (TARGET_FILE_NAME, targetData, (err) => { + if (err) { + console.error (err) + return + } + console.log (TARGET_FILE_NAME + ' file is generated') + }) +} + +main () diff --git a/coverage.xml b/coverage.xml new file mode 100644 index 00000000..764dd89d --- /dev/null +++ b/coverage.xml @@ -0,0 +1,5919 @@ + + + + + + /Users/pablo/github/python-binance/binance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fumadocs b/fumadocs new file mode 160000 index 00000000..cf8f6feb --- /dev/null +++ b/fumadocs @@ -0,0 +1 @@ +Subproject commit cf8f6feb8e1f727635dd7d07cb50309725835247 diff --git a/generate_docs.py b/generate_docs.py new file mode 100644 index 00000000..cd1c7376 --- /dev/null +++ b/generate_docs.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python +""" +Custom script to generate fumadocs JSON for python-binance. +This handles the mismatch between module name (binance) and package name (python-binance). +""" + +import json +import griffe +from importlib.metadata import version as get_version +from griffe_typingdoc import TypingDocExtension +import fumapy + +# Monkey-patch the version function to handle the binance -> python-binance mapping +original_version = get_version + + +def patched_version(name): + if name == "binance": + return original_version("python-binance") + return original_version(name) + + +def main(): + # Patch the version function in the document_module + import fumapy.mksource.document_module as dm + + dm.version = patched_version + + # Load the module using griffe with extensions + extensions = griffe.load_extensions(TypingDocExtension) + module = griffe.load( + "binance", docstring_parser="auto", store_source=True, extensions=extensions + ) + + # Parse using fumadocs + result = fumapy.mksource.parse_module(module) + + # Write to JSON file using the custom encoder + with open("binance.json", "w") as f: + json.dump(result, f, cls=fumapy.mksource.CustomEncoder, indent=2) + + print(f"✓ Generated binance.json successfully") + print(f" Version: {result.get('version', 'unknown')}") + print(f" Modules: {len(result.get('modules', {}))}") + print(f" Classes: {len(result.get('classes', {}))}") + print(f" Functions: {len(result.get('functions', {}))}") + + +if __name__ == "__main__": + main() diff --git a/keepalive_test.log b/keepalive_test.log new file mode 100644 index 00000000..db58b4d4 --- /dev/null +++ b/keepalive_test.log @@ -0,0 +1,6 @@ +2025-07-05 16:14:10,059 - __main__ - INFO - ================================================== +2025-07-05 16:14:10,059 - __main__ - INFO - BINANCE USER STREAM KEEP ALIVE TEST +2025-07-05 16:14:10,059 - __main__ - INFO - ================================================== +2025-07-05 16:14:10,059 - __main__ - INFO - Test started at: 2025-07-05 16:14:10.059620 +2025-07-05 16:14:10,059 - asyncio - DEBUG - Using selector: KqueueSelector +2025-07-05 16:14:10,059 - __main__ - ERROR - Please set BINANCE_API_KEY and BINANCE_API_SECRET environment variables diff --git a/lib/source.ts b/lib/source.ts new file mode 100644 index 00000000..c74b9443 --- /dev/null +++ b/lib/source.ts @@ -0,0 +1,13 @@ +import { loader } from 'fumadocs-core/source'; +import { createMDXSource } from 'fumadocs-mdx'; +import { icons } from 'lucide-react'; +import { createElement } from 'react'; + +export const source = loader({ + baseUrl: '/docs', + source: createMDXSource([], []), + icon(icon) { + if (icon && icon in icons) + return createElement(icons[icon as keyof typeof icons]); + }, +}); diff --git a/mdx-components.tsx b/mdx-components.tsx new file mode 100644 index 00000000..296f20cb --- /dev/null +++ b/mdx-components.tsx @@ -0,0 +1,11 @@ +import defaultMdxComponents from 'fumadocs-ui/mdx'; +import type { MDXComponents } from 'mdx/types'; +import * as Python from 'fumadocs-python/components'; + +export function useMDXComponents(components?: MDXComponents): MDXComponents { + return { + ...defaultMdxComponents, + ...Python, + ...components, + }; +} diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 00000000..c4b7818f --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,6 @@ +/// +/// +import "./.next/dev/types/routes.d.ts"; + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/next.config.mjs b/next.config.mjs new file mode 100644 index 00000000..3f927a30 --- /dev/null +++ b/next.config.mjs @@ -0,0 +1,14 @@ +import createMDX from '@next/mdx'; + +const withMDX = createMDX({ + extension: /\.mdx?$/, + options: {}, +}); + +/** @type {import('next').NextConfig} */ +const config = { + reactStrictMode: true, + pageExtensions: ['js', 'jsx', 'md', 'mdx', 'ts', 'tsx'], +}; + +export default withMDX(config); diff --git a/out.txt b/out.txt new file mode 100644 index 00000000..a90c337f --- /dev/null +++ b/out.txt @@ -0,0 +1,183 @@ +py: recreate env because python changed version_info=[3, 8, 20, 'final', 0]->[3, 12, 8, 'final', 0] | executable='/Users/pablo/.asdf/installs/python/3.8.20/bin/python3.8'->'/Users/pablo/.asdf/installs/python/3.12.8/bin/python3.12' +py: remove tox env folder /Users/pablo/github/python-binance/.tox/py +py: install_deps> python -I -m pip install -r test-requirements.txt -r requirements.txt +.pkg: _optional_hooks> python /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ +.pkg: get_requires_for_build_sdist> python /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ +.pkg: get_requires_for_build_wheel> python /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ +.pkg: prepare_metadata_for_build_wheel> python /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ +.pkg: build_sdist> python /Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__ +py: install_package_deps> python -I -m pip install aiohttp dateparser pycryptodome requests six websockets +py: install_package> python -I -m pip install --force-reinstall --no-deps /Users/pablo/github/python-binance/.tox/.tmp/package/22/python_binance-1.0.29.tar.gz +py: commands[0]> pytest -n 1 -vvs tests/ --timeout=60 --doctest-modules --cov binance --cov-report term-missing --reruns 3 --reruns-delay 120 +============================= test session starts ============================== +platform darwin -- Python 3.12.8, pytest-8.4.2, pluggy-1.6.0 -- /Users/pablo/github/python-binance/.tox/py/bin/python +cachedir: .tox/py/.pytest_cache +rootdir: /Users/pablo/github/python-binance +configfile: pytest.ini +plugins: asyncio-1.2.0, xdist-3.8.0, timeout-2.4.0, rerunfailures-16.0.1, requests-mock-1.12.1, cov-7.0.0 +asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function +timeout: 60.0s +timeout method: signal +timeout func_only: False +created: 1/1 worker +1 worker [1015 items] + +scheduling tests via LoadScheduling + +tests/test_api_request.py::test_invalid_json +ROOT: [97667] KeyboardInterrupt - teardown started +ROOT: interrupt tox environment: py +ROOT: requested interrupt of 98584 from 97667, activate in 0.00 +ROOT: send signal SIGINT(2) to 98584 from 97667 with timeout 0.30 +[gw0] PASSED tests/test_api_request.py::test_invalid_json + +=============================== warnings summary =============================== +binance/ws/websocket_api.py:4 +binance/ws/websocket_api.py:4 +binance/ws/websocket_api.py:4 +binance/ws/websocket_api.py:4 + /Users/pablo/github/python-binance/binance/ws/websocket_api.py:4: DeprecationWarning: websockets.WebSocketClientProtocol is deprecated + from websockets import WebSocketClientProtocol # type: ignore + +.tox/py/lib/python3.12/site-packages/websockets/legacy/__init__.py:6 +.tox/py/lib/python3.12/site-packages/websockets/legacy/__init__.py:6 + /Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/websockets/legacy/__init__.py:6: DeprecationWarning: websockets.legacy is deprecated; see https://websockets.readthedocs.io/en/stable/howto/upgrade.html for upgrade instructions + warnings.warn( # deprecated in 14.0 - 2024-11-09 + +binance/helpers.py:96 + /Users/pablo/github/python-binance/binance/helpers.py:96: DeprecationWarning: There is no current event loop + loop = asyncio.get_event_loop() + +Traceback (most recent call last): + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/main.py", line 289, in wrap_session +tests/test_async_client_options.py:3 + /Users/pablo/github/python-binance/tests/test_async_client_options.py:3: PytestUnknownMarkWarning: Unknown pytest.mark.options - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html + pytestmark = [pytest.mark.options, pytest.mark.asyncio] + +tests/test_client_options.py:4 + /Users/pablo/github/python-binance/tests/test_client_options.py:4: PytestUnknownMarkWarning: Unknown pytest.mark.options - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html + pytestmark = pytest.mark.options + +tests/test_reconnecting_websocket.py:9 +tests/test_reconnecting_websocket.py:9 + /Users/pablo/github/python-binance/tests/test_reconnecting_websocket.py:9: DeprecationWarning: websockets.WebSocketClientProtocol is deprecated + from websockets import WebSocketClientProtocol # type: ignore + + session.exitstatus = doit(config, session) or 0 + ^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/main.py", line 343, in _main + config.hook.pytest_runtestloop(session=session) + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_hooks.py", line 512, in __call__ +-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html +======================== 1 passed, 11 warnings in 2.83s ======================== + return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec + return self._inner_hookexec(hook_name, methods, kwargs, firstresult) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall + raise exception + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall + teardown.throw(exception) + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/logging.py", line 801, in pytest_runtestloop + return (yield) # Run all the tests. + ^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall + teardown.throw(exception) + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/terminal.py", line 688, in pytest_runtestloop + result = yield + ^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall + teardown.throw(exception) + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pytest_cov/plugin.py", line 345, in pytest_runtestloop + result = yield + ^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_callers.py", line 121, in _multicall + res = hook_impl.function(*args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/xdist/dsession.py", line 138, in pytest_runtestloop + self.loop_once() + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/xdist/dsession.py", line 154, in loop_once + eventcall = self.queue.get(timeout=2.0) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/queue.py", line 180, in get + self.not_empty.wait(remaining) + File "/Users/pablo/.asdf/installs/python/3.12.8/lib/python3.12/threading.py", line 359, in wait + gotit = waiter.acquire(True, timeout) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +KeyboardInterrupt + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/Users/pablo/github/python-binance/.tox/py/bin/pytest", line 8, in + sys.exit(console_main()) + ^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main + code = main() + ^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175, in main + ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_hooks.py", line 512, in __call__ + return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec + return self._inner_hookexec(hook_name, methods, kwargs, firstresult) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall + raise exception + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_callers.py", line 121, in _multicall + res = hook_impl.function(*args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/main.py", line 336, in pytest_cmdline_main + return wrap_session(config, _main) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/main.py", line 303, in wrap_session + config.hook.pytest_keyboard_interrupt(excinfo=excinfo) + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_hooks.py", line 512, in __call__ + return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec + return self._inner_hookexec(hook_name, methods, kwargs, firstresult) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall + raise exception + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/pluggy/_callers.py", line 121, in _multicall + res = hook_impl.function(*args) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/terminal.py", line 975, in pytest_keyboard_interrupt + self._keyboardinterrupt_memo = excinfo.getrepr(funcargs=True) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/_code/code.py", line 766, in getrepr + return fmt.repr_excinfo(self) + ^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/_code/code.py", line 1202, in repr_excinfo + reprtraceback = self.repr_traceback(excinfo_) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/_code/code.py", line 1135, in repr_traceback + self.repr_traceback_entry(entry, excinfo if last == entry else None) + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/_code/code.py", line 1065, in repr_traceback_entry + source = self._getentrysource(entry) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/_code/code.py", line 903, in _getentrysource + source = entry.getsource(self.astcache) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/_code/code.py", line 295, in getsource + key = self.frame.code.path + ^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/_code/code.py", line 94, in path + p = absolutepath(self.raw.co_filename) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/Users/pablo/github/python-binance/.tox/py/lib/python3.12/site-packages/_pytest/pathlib.py", line 1004, in absolutepath + return Path(os.path.abspath(path)) + ^^^^^^^^^^^^^^^^^^^^^ + File "", line 411, in abspath + File "", line 64, in isabs +KeyboardInterrupt +ROOT: send signal SIGTERM(15) to 98584 from 97667 with timeout 0.20 +ROOT: interrupt finished with success +.pkg: interrupt tox environment: .pkg +py: exit -2 (5.87 seconds) /Users/pablo/github/python-binance> pytest -n 1 -vvs tests/ --timeout=60 --doctest-modules --cov binance --cov-report term-missing --reruns 3 --reruns-delay 120 pid=98584 + py: FAIL code -2 (17.93=setup[12.06]+cmd[5.87] seconds) + evaluation failed :( (17.97 seconds) diff --git a/out2.txt b/out2.txt new file mode 100644 index 00000000..18ff6220 --- /dev/null +++ b/out2.txt @@ -0,0 +1,115 @@ +DEBUG:asyncio:Using selector: KqueueSelector +DEBUG:binance.ws.depthcache:Initialising depth cache for BNBBTC +DEBUG:binance.ws.reconnecting_websocket:Establishing new WebSocket connection +DEBUG:websockets.client:= connection is CONNECTING +DEBUG:websockets.client:> GET /ws/bnbbtc@depth HTTP/1.1 +DEBUG:websockets.client:> Host: stream.binance.com:9443 +DEBUG:websockets.client:> Upgrade: websocket +DEBUG:websockets.client:> Connection: Upgrade +DEBUG:websockets.client:> Sec-WebSocket-Key: D0BzMM8gWfO6gYpA+tHxnw== +DEBUG:websockets.client:> Sec-WebSocket-Version: 13 +DEBUG:websockets.client:> Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits +DEBUG:websockets.client:> User-Agent: Python/3.12 websockets/14.1 +DEBUG:websockets.client:< HTTP/1.1 101 Switching Protocols +DEBUG:websockets.client:< Date: Sun, 20 Apr 2025 20:56:30 GMT +DEBUG:websockets.client:< Connection: upgrade +DEBUG:websockets.client:< Upgrade: websocket +DEBUG:websockets.client:< Sec-WebSocket-Accept: dX2M+DFEc+RFNIJdxaaoTFsMGaI= +DEBUG:websockets.client:< Sec-WebSocket-Extensions: permessage-deflate; server_no_context_takeover; client_max_window_bits=15 +DEBUG:websockets.client:= connection is OPEN +DEBUG:websockets.client:< TEXT '{"e":"depthUpdate","E":1745182592002,"s":"BNBBT...,"5.82600000"]],"a":[]}' [150 bytes] +DEBUG:binance.ws.reconnecting_websocket:Received message: {'e': 'depthUpdate', 'E': 1745182592002, 's': 'BNBBTC', 'U': 3933593881, 'u': 3933593881, 'b': [['0.00685300', '41.16900000'], ['0.00685200', '5.82600000']], 'a': []} +DEBUG:binance.ws.depthcache:Received message: {'e': 'depthUpdate', 'E': 1745182592002, 's': 'BNBBTC', 'U': 3933593881, 'u': 3933593881, 'b': [['0.00685300', '41.16900000'], ['0.00685200', '5.82600000']], 'a': []} +DEBUG:binance.ws.depthcache:Received depth event: {'e': 'depthUpdate', 'E': 1745182592002, 's': 'BNBBTC', 'U': 3933593881, 'u': 3933593881, 'b': [['0.00685300', '41.16900000'], ['0.00685200', '5.82600000']], 'a': []} +DEBUG:websockets.client:< TEXT '{"e":"depthUpdate","E":1745182593002,"s":"BNBBT...693600","8.16600000"]]}' [235 bytes] +DEBUG:binance.ws.reconnecting_websocket:Received message: {'e': 'depthUpdate', 'E': 1745182593002, 's': 'BNBBTC', 'U': 3933593882, 'u': 3933593887, 'b': [['0.00693300', '14.55300000'], ['0.00693200', '16.09000000'], ['0.00691600', '10.01700000']], 'a': [['0.00693500', '1.28000000'], ['0.00693600', '8.16600000']]} +DEBUG:binance.ws.depthcache:Received message: {'e': 'depthUpdate', 'E': 1745182593002, 's': 'BNBBTC', 'U': 3933593882, 'u': 3933593887, 'b': [['0.00693300', '14.55300000'], ['0.00693200', '16.09000000'], ['0.00691600', '10.01700000']], 'a': [['0.00693500', '1.28000000'], ['0.00693600', '8.16600000']]} +DEBUG:binance.ws.depthcache:Received depth event: {'e': 'depthUpdate', 'E': 1745182593002, 's': 'BNBBTC', 'U': 3933593882, 'u': 3933593887, 'b': [['0.00693300', '14.55300000'], ['0.00693200', '16.09000000'], ['0.00691600', '10.01700000']], 'a': [['0.00693500', '1.28000000'], ['0.00693600', '8.16600000']]} +DEBUG:websockets.client:< TEXT '{"e":"depthUpdate","E":1745182594002,"s":"BNBBT...95400","16.36800000"]]}' [234 bytes] +DEBUG:binance.ws.reconnecting_websocket:Received message: {'e': 'depthUpdate', 'E': 1745182594002, 's': 'BNBBTC', 'U': 3933593888, 'u': 3933593895, 'b': [['0.00691300', '10.79200000']], 'a': [['0.00693600', '8.16600000'], ['0.00693700', '5.58700000'], ['0.00693800', '8.85000000'], ['0.00695400', '16.36800000']]} +DEBUG:binance.ws.depthcache:Received message: {'e': 'depthUpdate', 'E': 1745182594002, 's': 'BNBBTC', 'U': 3933593888, 'u': 3933593895, 'b': [['0.00691300', '10.79200000']], 'a': [['0.00693600', '8.16600000'], ['0.00693700', '5.58700000'], ['0.00693800', '8.85000000'], ['0.00695400', '16.36800000']]} +DEBUG:binance.ws.depthcache:Received depth event: {'e': 'depthUpdate', 'E': 1745182594002, 's': 'BNBBTC', 'U': 3933593888, 'u': 3933593895, 'b': [['0.00691300', '10.79200000']], 'a': [['0.00693600', '8.16600000'], ['0.00693700', '5.58700000'], ['0.00693800', '8.85000000'], ['0.00695400', '16.36800000']]} +DEBUG:websockets.client:< TEXT '{"e":"depthUpdate","E":1745182596002,"s":"BNBBT...94000","29.14300000"]]}' [377 bytes] +DEBUG:binance.ws.reconnecting_websocket:Received message: {'e': 'depthUpdate', 'E': 1745182596002, 's': 'BNBBTC', 'U': 3933593896, 'u': 3933593919, 'b': [['0.00693500', '4.30700000'], ['0.00693400', '14.43000000'], ['0.00693300', '13.44300000'], ['0.00692100', '49.56000000']], 'a': [['0.00693500', '0.00000000'], ['0.00693600', '9.04700000'], ['0.00693700', '7.96500000'], ['0.00693800', '7.84000000'], ['0.00693900', '14.81500000'], ['0.00694000', '29.14300000']]} +DEBUG:binance.ws.depthcache:Received message: {'e': 'depthUpdate', 'E': 1745182596002, 's': 'BNBBTC', 'U': 3933593896, 'u': 3933593919, 'b': [['0.00693500', '4.30700000'], ['0.00693400', '14.43000000'], ['0.00693300', '13.44300000'], ['0.00692100', '49.56000000']], 'a': [['0.00693500', '0.00000000'], ['0.00693600', '9.04700000'], ['0.00693700', '7.96500000'], ['0.00693800', '7.84000000'], ['0.00693900', '14.81500000'], ['0.00694000', '29.14300000']]} +DEBUG:binance.ws.depthcache:Received depth event: {'e': 'depthUpdate', 'E': 1745182596002, 's': 'BNBBTC', 'U': 3933593896, 'u': 3933593919, 'b': [['0.00693500', '4.30700000'], ['0.00693400', '14.43000000'], ['0.00693300', '13.44300000'], ['0.00692100', '49.56000000']], 'a': [['0.00693500', '0.00000000'], ['0.00693600', '9.04700000'], ['0.00693700', '7.96500000'], ['0.00693800', '7.84000000'], ['0.00693900', '14.81500000'], ['0.00694000', '29.14300000']]} +DEBUG:websockets.client:< TEXT '{"e":"depthUpdate","E":1745182597002,"s":"BNBBT...94100","32.94900000"]]}' [178 bytes] +DEBUG:binance.ws.reconnecting_websocket:Received message: {'e': 'depthUpdate', 'E': 1745182597002, 's': 'BNBBTC', 'U': 3933593920, 'u': 3933593925, 'b': [['0.00693500', '1.08000000']], 'a': [['0.00693600', '11.42500000'], ['0.00694100', '32.94900000']]} +DEBUG:binance.ws.depthcache:Received message: {'e': 'depthUpdate', 'E': 1745182597002, 's': 'BNBBTC', 'U': 3933593920, 'u': 3933593925, 'b': [['0.00693500', '1.08000000']], 'a': [['0.00693600', '11.42500000'], ['0.00694100', '32.94900000']]} +DEBUG:binance.ws.depthcache:Received depth event: {'e': 'depthUpdate', 'E': 1745182597002, 's': 'BNBBTC', 'U': 3933593920, 'u': 3933593925, 'b': [['0.00693500', '1.08000000']], 'a': [['0.00693600', '11.42500000'], ['0.00694100', '32.94900000']]} +DEBUG:websockets.client:< TEXT '{"e":"depthUpdate","E":1745182598002,"s":"BNBBT...743600","0.55600000"]]}' [348 bytes] +DEBUG:binance.ws.reconnecting_websocket:Received message: {'e': 'depthUpdate', 'E': 1745182598002, 's': 'BNBBTC', 'U': 3933593926, 'u': 3933593929, 'b': [['0.00693300', '10.80900000'], ['0.00693200', '5.99700000'], ['0.00692600', '18.81900000'], ['0.00691600', '20.10900000'], ['0.00662400', '1.29700000'], ['0.00613900', '0.68500000']], 'a': [['0.00694300', '10.27900000'], ['0.00718200', '0.31000000'], ['0.00743600', '0.55600000']]} +DEBUG:binance.ws.depthcache:Received message: {'e': 'depthUpdate', 'E': 1745182598002, 's': 'BNBBTC', 'U': 3933593926, 'u': 3933593929, 'b': [['0.00693300', '10.80900000'], ['0.00693200', '5.99700000'], ['0.00692600', '18.81900000'], ['0.00691600', '20.10900000'], ['0.00662400', '1.29700000'], ['0.00613900', '0.68500000']], 'a': [['0.00694300', '10.27900000'], ['0.00718200', '0.31000000'], ['0.00743600', '0.55600000']]} +DEBUG:binance.ws.depthcache:Received depth event: {'e': 'depthUpdate', 'E': 1745182598002, 's': 'BNBBTC', 'U': 3933593926, 'u': 3933593929, 'b': [['0.00693300', '10.80900000'], ['0.00693200', '5.99700000'], ['0.00692600', '18.81900000'], ['0.00691600', '20.10900000'], ['0.00662400', '1.29700000'], ['0.00613900', '0.68500000']], 'a': [['0.00694300', '10.27900000'], ['0.00718200', '0.31000000'], ['0.00743600', '0.55600000']]} +DEBUG:websockets.client:< TEXT '{"e":"depthUpdate","E":1745182599002,"s":"BNBBT...94200","83.86300000"]]}' [206 bytes] +DEBUG:binance.ws.reconnecting_websocket:Received message: {'e': 'depthUpdate', 'E': 1745182599002, 's': 'BNBBTC', 'U': 3933593930, 'u': 3933593938, 'b': [['0.00693500', '1.08000000'], ['0.00692900', '16.02700000']], 'a': [['0.00693700', '8.14800000'], ['0.00694200', '83.86300000']]} +DEBUG:binance.ws.depthcache:Received message: {'e': 'depthUpdate', 'E': 1745182599002, 's': 'BNBBTC', 'U': 3933593930, 'u': 3933593938, 'b': [['0.00693500', '1.08000000'], ['0.00692900', '16.02700000']], 'a': [['0.00693700', '8.14800000'], ['0.00694200', '83.86300000']]} +DEBUG:binance.ws.depthcache:Received depth event: {'e': 'depthUpdate', 'E': 1745182599002, 's': 'BNBBTC', 'U': 3933593930, 'u': 3933593938, 'b': [['0.00693500', '1.08000000'], ['0.00692900', '16.02700000']], 'a': [['0.00693700', '8.14800000'], ['0.00694200', '83.86300000']]} +DEBUG:websockets.client:< PING '1745182599746' [text, 13 bytes] +DEBUG:websockets.client:> PONG '1745182599746' [text, 13 bytes] +DEBUG:websockets.client:< TEXT '{"e":"depthUpdate","E":1745182600002,"s":"BNBBT...715600","0.97200000"]]}' [263 bytes] +DEBUG:binance.ws.reconnecting_websocket:Received message: {'e': 'depthUpdate', 'E': 1745182600002, 's': 'BNBBTC', 'U': 3933593939, 'u': 3933593943, 'b': [['0.00693500', '1.65000000'], ['0.00693300', '13.44300000'], ['0.00693200', '16.08900000'], ['0.00691600', '10.01700000'], ['0.00648600', '1.17100000']], 'a': [['0.00715600', '0.97200000']]} +DEBUG:binance.ws.depthcache:Received message: {'e': 'depthUpdate', 'E': 1745182600002, 's': 'BNBBTC', 'U': 3933593939, 'u': 3933593943, 'b': [['0.00693500', '1.65000000'], ['0.00693300', '13.44300000'], ['0.00693200', '16.08900000'], ['0.00691600', '10.01700000'], ['0.00648600', '1.17100000']], 'a': [['0.00715600', '0.97200000']]} +DEBUG:binance.ws.depthcache:Received depth event: {'e': 'depthUpdate', 'E': 1745182600002, 's': 'BNBBTC', 'U': 3933593939, 'u': 3933593943, 'b': [['0.00693500', '1.65000000'], ['0.00693300', '13.44300000'], ['0.00693200', '16.08900000'], ['0.00691600', '10.01700000'], ['0.00648600', '1.17100000']], 'a': [['0.00715600', '0.97200000']]} +DEBUG:websockets.client:< TEXT '{"e":"depthUpdate","E":1745182601002,"s":"BNBBT...738800","1.38200000"]]}' [232 bytes] +DEBUG:binance.ws.reconnecting_websocket:Received message: {'e': 'depthUpdate', 'E': 1745182601002, 's': 'BNBBTC', 'U': 3933593944, 'u': 3933593950, 'b': [['0.00693500', '0.54000000'], ['0.00600500', '0.77700000']], 'a': [['0.00693700', '8.14800000'], ['0.00693800', '7.65700000'], ['0.00738800', '1.38200000']]} +DEBUG:binance.ws.depthcache:Received message: {'e': 'depthUpdate', 'E': 1745182601002, 's': 'BNBBTC', 'U': 3933593944, 'u': 3933593950, 'b': [['0.00693500', '0.54000000'], ['0.00600500', '0.77700000']], 'a': [['0.00693700', '8.14800000'], ['0.00693800', '7.65700000'], ['0.00738800', '1.38200000']]} +DEBUG:binance.ws.depthcache:Received depth event: {'e': 'depthUpdate', 'E': 1745182601002, 's': 'BNBBTC', 'U': 3933593944, 'u': 3933593950, 'b': [['0.00693500', '0.54000000'], ['0.00600500', '0.77700000']], 'a': [['0.00693700', '8.14800000'], ['0.00693800', '7.65700000'], ['0.00738800', '1.38200000']]} +DEBUG:websockets.client:% sending keepalive ping +DEBUG:websockets.client:> PING af 12 2d 7c [binary, 4 bytes] +DEBUG:binance.ws.reconnecting_websocket:no message in 10 seconds +DEBUG:binance.ws.reconnecting_websocket:no message in 10 seconds +DEBUG:websockets.client:- timed out waiting for keepalive pong +DEBUG:websockets.client:> CLOSE 1011 (internal error) keepalive ping timeout [24 bytes] +DEBUG:websockets.client:= connection is CLOSING +DEBUG:binance.ws.reconnecting_websocket:no message in 10 seconds +DEBUG:websockets.client:< EOF +DEBUG:websockets.client:> EOF +DEBUG:websockets.client:= connection is CLOSED +ERROR:binance.ws.reconnecting_websocket:BinanceWebsocketClosed (Connection closed. Reconnecting...) +DEBUG:binance.ws.reconnecting_websocket:websocket reconnecting. 4 reconnects left - waiting 1 +DEBUG:binance.ws.depthcache:Received message: {'e': 'error', 'type': 'BinanceWebsocketClosed', 'm': 'Connection closed. Reconnecting...'} +DEBUG:binance.ws.depthcache:Received depth event: {'e': 'error', 'type': 'BinanceWebsocketClosed', 'm': 'Connection closed. Reconnecting...'} +ERROR:binance.ws.depthcache:Error in depth event restarting cache: {'e': 'error', 'type': 'BinanceWebsocketClosed', 'm': 'Connection closed. Reconnecting...'} +ERROR:__main__:Received depth cache error in callback: {'e': 'error', 'type': 'BinanceWebsocketClosed', 'm': 'Connection closed. Reconnecting...'} +DEBUG:binance.ws.reconnecting_websocket:Establishing new WebSocket connection +ERROR:binance.ws.reconnecting_websocket:Failed to connect to websocket: [Errno 8] nodename nor servname provided, or not known +DEBUG:binance.ws.reconnecting_websocket:websocket reconnecting. 3 reconnects left - waiting 3 +DEBUG:binance.ws.reconnecting_websocket:Establishing new WebSocket connection +ERROR:binance.ws.reconnecting_websocket:Failed to connect to websocket: [Errno 8] nodename nor servname provided, or not known +DEBUG:binance.ws.reconnecting_websocket:websocket reconnecting. 2 reconnects left - waiting 5 +DEBUG:binance.ws.reconnecting_websocket:Establishing new WebSocket connection +ERROR:binance.ws.reconnecting_websocket:Failed to connect to websocket: [Errno 8] nodename nor servname provided, or not known +DEBUG:binance.ws.reconnecting_websocket:websocket reconnecting. 1 reconnects left - waiting 11 +DEBUG:binance.ws.reconnecting_websocket:Establishing new WebSocket connection +ERROR:binance.ws.reconnecting_websocket:Failed to connect to websocket: [Errno 8] nodename nor servname provided, or not known +ERROR:binance.ws.reconnecting_websocket:Max reconnections 5 reached: +ERROR:binance.ws.reconnecting_websocket:Unknown exception: BinanceWebsocketUnableToConnect () +DEBUG:binance.ws.depthcache:Received message: {'e': 'error', 'type': 'BinanceWebsocketUnableToConnect', 'm': ''} +DEBUG:binance.ws.depthcache:Received depth event: {'e': 'error', 'type': 'BinanceWebsocketUnableToConnect', 'm': ''} +ERROR:binance.ws.depthcache:Error in depth event restarting cache: {'e': 'error', 'type': 'BinanceWebsocketUnableToConnect', 'm': ''} +ERROR:__main__:Received depth cache error in callback: {'e': 'error', 'type': 'BinanceWebsocketUnableToConnect', 'm': ''} +DEBUG:binance.ws.threaded_stream:Stopping ThreadedApiManager +ERROR:binance.ws.threaded_stream:Error stopping client: +DEBUG:binance.ws.depthcache:Exiting depth cache manager for BNBBTC +DEBUG:binance.ws.reconnecting_websocket:Closing Websocket wss://stream.binance.com:9443/ws/bnbbtc@depth +INFO:binance.ws.threaded_stream:Socket listener stopped +DEBUG:binance.ws.reconnecting_websocket:Closing Websocket wss://ws-api.binance.com/ws-api/v3 +symbol BNBBTC +[[0.006934, 11.439], [0.006933, 11.919], [0.006932, 5.997], [0.006931, 4.921], [0.00693, 17.192]] +symbol BNBBTC +[[0.006934, 11.439], [0.006933, 14.553], [0.006932, 16.09], [0.006931, 4.921], [0.00693, 17.192]] +symbol BNBBTC +[[0.006934, 11.439], [0.006933, 14.553], [0.006932, 16.09], [0.006931, 4.921], [0.00693, 17.192]] +symbol BNBBTC +[[0.006935, 4.307], [0.006934, 14.43], [0.006933, 13.443], [0.006932, 16.09], [0.006931, 4.921]] +symbol BNBBTC +[[0.006935, 1.08], [0.006934, 14.43], [0.006933, 13.443], [0.006932, 16.09], [0.006931, 4.921]] +symbol BNBBTC +[[0.006935, 1.08], [0.006934, 14.43], [0.006933, 10.809], [0.006932, 5.997], [0.006931, 4.921]] +symbol BNBBTC +[[0.006935, 1.08], [0.006934, 14.43], [0.006933, 10.809], [0.006932, 5.997], [0.006931, 4.921]] +symbol BNBBTC +[[0.006935, 1.65], [0.006934, 14.43], [0.006933, 13.443], [0.006932, 16.089], [0.006931, 4.921]] +symbol BNBBTC +[[0.006935, 0.54], [0.006934, 14.43], [0.006933, 13.443], [0.006932, 16.089], [0.006931, 4.921]] diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..f0824086 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5768 @@ +{ + "name": "python-binance", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "python-binance", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@mdx-js/loader": "^3.1.1", + "@mdx-js/react": "^3.1.1", + "@next/mdx": "^16.0.0", + "fumadocs-core": "^16.0.2", + "fumadocs-mdx": "^13.0.0", + "fumadocs-python": "^0.0.6", + "fumadocs-ui": "^16.0.2", + "lucide-react": "^0.546.0", + "next": "^16.0.0", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "rimraf": "^6.0.1", + "shiki": "^3.13.0" + }, + "devDependencies": { + "@types/node": "^24.9.1", + "@types/react": "^19.2.2", + "@types/react-dom": "^19.2.2", + "autoprefixer": "^10.4.21", + "postcss": "^8.5.6", + "tailwindcss": "^4.1.16", + "typescript": "^5.9.3" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.6.0.tgz", + "integrity": "sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz", + "integrity": "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz", + "integrity": "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz", + "integrity": "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz", + "integrity": "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz", + "integrity": "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz", + "integrity": "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz", + "integrity": "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz", + "integrity": "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz", + "integrity": "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz", + "integrity": "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz", + "integrity": "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz", + "integrity": "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz", + "integrity": "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz", + "integrity": "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz", + "integrity": "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz", + "integrity": "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz", + "integrity": "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz", + "integrity": "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz", + "integrity": "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz", + "integrity": "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz", + "integrity": "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz", + "integrity": "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz", + "integrity": "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz", + "integrity": "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz", + "integrity": "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz", + "integrity": "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", + "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.6.tgz", + "integrity": "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.4" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" + }, + "node_modules/@formatjs/intl-localematcher": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.6.2.tgz", + "integrity": "sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@img/colour": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.4.tgz", + "integrity": "sha512-sitdlPzDVyvmINUdJle3TNHl+AG9QcwiAMsXmccqsCOMZNIdW2/7S26w0LyU8euiLVzFBL3dXPwVCq/ODnf2vA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.3" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.4.tgz", + "integrity": "sha512-rZheupWIoa3+SOdF/IcUe1ah4ZDpKBGWcsPX6MT0lYniH9micvIU7HQkYTfrx5Xi8u+YqwLtxC/3vl8TQN6rMg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.3" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.3.tgz", + "integrity": "sha512-QzWAKo7kpHxbuHqUC28DZ9pIKpSi2ts2OJnoIGI26+HMgq92ZZ4vk8iJd4XsxN+tYfNJxzH6W62X5eTcsBymHw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.3.tgz", + "integrity": "sha512-Ju+g2xn1E2AKO6YBhxjj+ACcsPQRHT0bhpglxcEf+3uyPY+/gL8veniKoo96335ZaPo03bdDXMv0t+BBFAbmRA==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.3.tgz", + "integrity": "sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.3.tgz", + "integrity": "sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.3.tgz", + "integrity": "sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.3.tgz", + "integrity": "sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.3.tgz", + "integrity": "sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.3.tgz", + "integrity": "sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.3.tgz", + "integrity": "sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.4.tgz", + "integrity": "sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.3" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.4.tgz", + "integrity": "sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.3" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.4.tgz", + "integrity": "sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.3" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.4.tgz", + "integrity": "sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.3" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.4.tgz", + "integrity": "sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.3" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.4.tgz", + "integrity": "sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.3" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.4.tgz", + "integrity": "sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.3" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.4.tgz", + "integrity": "sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.5.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.4.tgz", + "integrity": "sha512-2Q250do/5WXTwxW3zjsEuMSv5sUU4Tq9VThWKlU2EYLm4MB7ZeMwF+SFJutldYODXF6jzc6YEOC+VfX0SZQPqA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.4.tgz", + "integrity": "sha512-3ZeLue5V82dT92CNL6rsal6I2weKw1cYu+rGKm8fOCCtJTR2gYeUfY3FqUnIJsMUPIH68oS5jmZ0NiJ508YpEw==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.4.tgz", + "integrity": "sha512-xIyj4wpYs8J18sVN3mSQjwrw7fKUqRw+Z5rnHNCy5fYTxigBz81u5mOMPmFumwjcn8+ld1ppptMBCLic1nz6ig==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@mdx-js/loader": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/loader/-/loader-3.1.1.tgz", + "integrity": "sha512-0TTacJyZ9mDmY+VefuthVshaNIyCGZHJG2fMnGaDttCt8HmjUF7SizlHJpaCDoGnN635nK1wpzfpx/Xx5S4WnQ==", + "license": "MIT", + "dependencies": { + "@mdx-js/mdx": "^3.0.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "webpack": ">=5" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", + "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "acorn": "^8.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/react": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz", + "integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==", + "license": "MIT", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/@next/env": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.0.0.tgz", + "integrity": "sha512-s5j2iFGp38QsG1LWRQaE2iUY3h1jc014/melHFfLdrsMJPqxqDQwWNwyQTcNoUSGZlCVZuM7t7JDMmSyRilsnA==", + "license": "MIT" + }, + "node_modules/@next/mdx": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@next/mdx/-/mdx-16.0.0.tgz", + "integrity": "sha512-FYe95hL50qfD27EFDYvXBatFOtW9UqLH7rrBS4LAIZryV+x1HmMvODTROlXXTryYNpLmUSkeEdt2Xr7SMvjGUA==", + "license": "MIT", + "dependencies": { + "source-map": "^0.7.0" + }, + "peerDependencies": { + "@mdx-js/loader": ">=0.15.0", + "@mdx-js/react": ">=0.15.0" + }, + "peerDependenciesMeta": { + "@mdx-js/loader": { + "optional": true + }, + "@mdx-js/react": { + "optional": true + } + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.0.0.tgz", + "integrity": "sha512-/CntqDCnk5w2qIwMiF0a9r6+9qunZzFmU0cBX4T82LOflE72zzH6gnOjCwUXYKOBlQi8OpP/rMj8cBIr18x4TA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.0.0.tgz", + "integrity": "sha512-hB4GZnJGKa8m4efvTGNyii6qs76vTNl+3dKHTCAUaksN6KjYy4iEO3Q5ira405NW2PKb3EcqWiRaL9DrYJfMHg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.0.0.tgz", + "integrity": "sha512-E2IHMdE+C1k+nUgndM13/BY/iJY9KGCphCftMh7SXWcaQqExq/pJU/1Hgn8n/tFwSoLoYC/yUghOv97tAsIxqg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.0.0.tgz", + "integrity": "sha512-xzgl7c7BVk4+7PDWldU+On2nlwnGgFqJ1siWp3/8S0KBBLCjonB6zwJYPtl4MUY7YZJrzzumdUpUoquu5zk8vg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.0.0.tgz", + "integrity": "sha512-sdyOg4cbiCw7YUr0F/7ya42oiVBXLD21EYkSwN+PhE4csJH4MSXUsYyslliiiBwkM+KsuQH/y9wuxVz6s7Nstg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.0.0.tgz", + "integrity": "sha512-IAXv3OBYqVaNOgyd3kxR4L3msuhmSy1bcchPHxDOjypG33i2yDWvGBwFD94OuuTjjTt/7cuIKtAmoOOml6kfbg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.0.0.tgz", + "integrity": "sha512-bmo3ncIJKUS9PWK1JD9pEVv0yuvp1KPuOsyJTHXTv8KDrEmgV/K+U0C75rl9rhIaODcS7JEb6/7eJhdwXI0XmA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.0.0.tgz", + "integrity": "sha512-O1cJbT+lZp+cTjYyZGiDwsOjO3UHHzSqobkPNipdlnnuPb1swfcuY6r3p8dsKU4hAIEO4cO67ZCfVVH/M1ETXA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@orama/orama": { + "version": "3.1.16", + "resolved": "https://registry.npmjs.org/@orama/orama/-/orama-3.1.16.tgz", + "integrity": "sha512-scSmQBD8eANlMUOglxHrN1JdSW8tDghsPuS83otqealBiIeMukCQMOf/wc0JJjDXomqwNdEQFLXLGHrU6PGxuA==", + "license": "Apache-2.0", + "engines": { + "node": ">= 20.0.0" + } + }, + "node_modules/@radix-ui/number": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.1.tgz", + "integrity": "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==", + "license": "MIT" + }, + "node_modules/@radix-ui/primitive": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", + "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==", + "license": "MIT" + }, + "node_modules/@radix-ui/react-accordion": { + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.12.tgz", + "integrity": "sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collapsible": "1.1.12", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz", + "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collapsible": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.12.tgz", + "integrity": "sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", + "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", + "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", + "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz", + "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-escape-keydown": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", + "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", + "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", + "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-navigation-menu": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.14.tgz", + "integrity": "sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-visually-hidden": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.15.tgz", + "integrity": "sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.8.tgz", + "integrity": "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-rect": "1.1.1", + "@radix-ui/react-use-size": "1.1.1", + "@radix-ui/rect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", + "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", + "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz", + "integrity": "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-scroll-area": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.10.tgz", + "integrity": "sha512-tAXIa1g3sM5CGpVT0uIbUx/U3Gs5N8T52IICuCtObaos1S8fzsrPXG5WObkQN3S6NVl6wKgPhAIiBGbWnvc97A==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.1", + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tabs": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.13.tgz", + "integrity": "sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", + "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", + "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-effect-event": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", + "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", + "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", + "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz", + "integrity": "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz", + "integrity": "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==", + "license": "MIT", + "dependencies": { + "@radix-ui/rect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz", + "integrity": "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz", + "integrity": "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", + "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==", + "license": "MIT" + }, + "node_modules/@shikijs/core": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.13.0.tgz", + "integrity": "sha512-3P8rGsg2Eh2qIHekwuQjzWhKI4jV97PhvYjYUzGqjvJfqdQPz+nMlfWahU24GZAyW1FxFI1sYjyhfh5CoLmIUA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.13.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.13.0.tgz", + "integrity": "sha512-Ty7xv32XCp8u0eQt8rItpMs6rU9Ki6LJ1dQOW3V/56PKDcpvfHPnYFbsx5FFUP2Yim34m/UkazidamMNVR4vKg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.13.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.3" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.13.0.tgz", + "integrity": "sha512-O42rBGr4UDSlhT2ZFMxqM7QzIU+IcpoTMzb3W7AlziI1ZF7R8eS2M0yt5Ry35nnnTX/LTLXFPUjRFCIW+Operg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.13.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.13.0.tgz", + "integrity": "sha512-672c3WAETDYHwrRP0yLy3W1QYB89Hbpj+pO4KhxK6FzIrDI2FoEXNiNCut6BQmEApYLfuYfpgOZaqbY+E9b8wQ==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.13.0" + } + }, + "node_modules/@shikijs/rehype": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@shikijs/rehype/-/rehype-3.13.0.tgz", + "integrity": "sha512-dxvB5gXEpiTI3beGwOPEwxFxQNmUWM4cwOWbvUmL6DnQJGl18/+cCjVHZK2OnasmU0v7SvM39Zh3iliWdwfBDA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.13.0", + "@types/hast": "^3.0.4", + "hast-util-to-string": "^3.0.1", + "shiki": "3.13.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.0.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.13.0.tgz", + "integrity": "sha512-Vxw1Nm1/Od8jyA7QuAenaV78BG2nSr3/gCGdBkLpfLscddCkzkL36Q5b67SrLLfvAJTOUzW39x4FHVCFriPVgg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.13.0" + } + }, + "node_modules/@shikijs/transformers": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-3.13.0.tgz", + "integrity": "sha512-833lcuVzcRiG+fXvgslWsM2f4gHpjEgui1ipIknSizRuTgMkNZupiXE5/TVJ6eSYfhNBFhBZKkReKWO2GgYmqA==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "3.13.0", + "@shikijs/types": "3.13.0" + } + }, + "node_modules/@shikijs/types": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.13.0.tgz", + "integrity": "sha512-oM9P+NCFri/mmQ8LoFGVfVyemm5Hi27330zuOBp0annwJdKH1kOLndw3zCtAVDehPLg9fKqoEx3Ht/wNZxolfw==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@standard-schema/spec": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", + "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.1.tgz", + "integrity": "sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz", + "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.2.tgz", + "integrity": "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw==", + "devOptional": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.20", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.20.tgz", + "integrity": "sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/browserslist": { + "version": "4.27.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.27.0.tgz", + "integrity": "sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.8.19", + "caniuse-lite": "^1.0.30001751", + "electron-to-chromium": "^1.5.238", + "node-releases": "^2.0.26", + "update-browserslist-db": "^1.1.4" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001751", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz", + "integrity": "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/compute-scroll-into-view": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.1.tgz", + "integrity": "sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==", + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", + "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.240", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.240.tgz", + "integrity": "sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esbuild": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz", + "integrity": "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.11", + "@esbuild/android-arm": "0.25.11", + "@esbuild/android-arm64": "0.25.11", + "@esbuild/android-x64": "0.25.11", + "@esbuild/darwin-arm64": "0.25.11", + "@esbuild/darwin-x64": "0.25.11", + "@esbuild/freebsd-arm64": "0.25.11", + "@esbuild/freebsd-x64": "0.25.11", + "@esbuild/linux-arm": "0.25.11", + "@esbuild/linux-arm64": "0.25.11", + "@esbuild/linux-ia32": "0.25.11", + "@esbuild/linux-loong64": "0.25.11", + "@esbuild/linux-mips64el": "0.25.11", + "@esbuild/linux-ppc64": "0.25.11", + "@esbuild/linux-riscv64": "0.25.11", + "@esbuild/linux-s390x": "0.25.11", + "@esbuild/linux-x64": "0.25.11", + "@esbuild/netbsd-arm64": "0.25.11", + "@esbuild/netbsd-x64": "0.25.11", + "@esbuild/openbsd-arm64": "0.25.11", + "@esbuild/openbsd-x64": "0.25.11", + "@esbuild/openharmony-arm64": "0.25.11", + "@esbuild/sunos-x64": "0.25.11", + "@esbuild/win32-arm64": "0.25.11", + "@esbuild/win32-ia32": "0.25.11", + "@esbuild/win32-x64": "0.25.11" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-value-to-estree": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.4.1.tgz", + "integrity": "sha512-E4fEc8KLhDXnbyDa5XrbdT9PbgSMt0AGZPFUsGFok8N2Q7DTO+F6xAFJjIdw71EkidRg186I1mQCKzZ1ZbEsCw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fumadocs-core": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/fumadocs-core/-/fumadocs-core-16.0.2.tgz", + "integrity": "sha512-mUvdQQTKHDUL4a4KM+vRCj/Ge/UCbp3yr3yiPoO0aK9wMqYJpF/czCyLpdvF+i4WO8oXnjYvQObKkKaceoCWWg==", + "license": "MIT", + "dependencies": { + "@formatjs/intl-localematcher": "^0.6.2", + "@orama/orama": "^3.1.16", + "@shikijs/rehype": "^3.13.0", + "@shikijs/transformers": "^3.13.0", + "github-slugger": "^2.0.0", + "hast-util-to-estree": "^3.1.3", + "hast-util-to-jsx-runtime": "^2.3.6", + "image-size": "^2.0.2", + "negotiator": "^1.0.0", + "npm-to-yarn": "^3.0.1", + "path-to-regexp": "^8.3.0", + "remark": "^15.0.1", + "remark-gfm": "^4.0.1", + "remark-rehype": "^11.1.2", + "scroll-into-view-if-needed": "^3.1.0", + "shiki": "^3.13.0", + "unist-util-visit": "^5.0.0" + }, + "peerDependencies": { + "@mixedbread/sdk": "^0.19.0", + "@orama/core": "1.x.x", + "@tanstack/react-router": "1.x.x", + "@types/react": "*", + "algoliasearch": "5.x.x", + "lucide-react": "*", + "next": "16.x.x", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "react-router": "7.x.x", + "waku": "^0.26.0" + }, + "peerDependenciesMeta": { + "@mixedbread/sdk": { + "optional": true + }, + "@orama/core": { + "optional": true + }, + "@tanstack/react-router": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "algoliasearch": { + "optional": true + }, + "lucide-react": { + "optional": true + }, + "next": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-router": { + "optional": true + }, + "waku": { + "optional": true + } + } + }, + "node_modules/fumadocs-mdx": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/fumadocs-mdx/-/fumadocs-mdx-13.0.0.tgz", + "integrity": "sha512-QBDJiaQXBwHNylrWrb+juKfoU871pdxM42QGrNWpTxXg6FfoyEhAmxFqqO2+cGXU71GWk2GfybKp9MdJ0slQ7A==", + "license": "MIT", + "dependencies": { + "@mdx-js/mdx": "^3.1.1", + "@standard-schema/spec": "^1.0.0", + "chokidar": "^4.0.3", + "esbuild": "^0.25.11", + "estree-util-value-to-estree": "^3.4.1", + "js-yaml": "^4.1.0", + "lru-cache": "^11.2.2", + "mdast-util-to-markdown": "^2.1.2", + "picocolors": "^1.1.1", + "remark-mdx": "^3.1.1", + "remark-parse": "^11.0.0", + "tinyexec": "^1.0.1", + "tinyglobby": "^0.2.15", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "zod": "^4.1.12" + }, + "bin": { + "fumadocs-mdx": "dist/bin.js" + }, + "peerDependencies": { + "@fumadocs/mdx-remote": "^1.4.0", + "fumadocs-core": "^15.0.0 || ^16.0.0", + "next": "^15.3.0 || ^16.0.0", + "react": "*", + "vite": "6.x.x || 7.x.x" + }, + "peerDependenciesMeta": { + "@fumadocs/mdx-remote": { + "optional": true + }, + "next": { + "optional": true + }, + "react": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/fumadocs-python": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/fumadocs-python/-/fumadocs-python-0.0.6.tgz", + "integrity": "sha512-JLqgjzgRaNeJWAxud/P2jN8a3u6MuQGVMTwwvAycH0eVQ23M7Cz6ZheUo75QwecIJB41QqHhH3GXYxh9cy/g8g==", + "license": "MIT", + "dependencies": { + "class-variance-authority": "^0.7.1", + "js-yaml": "^4.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "fumadocs-core": "15.x.x || 16.x.x", + "fumadocs-ui": "15.x.x || 16.x.x" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/fumadocs-ui": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/fumadocs-ui/-/fumadocs-ui-16.0.2.tgz", + "integrity": "sha512-GaLU2XDJCc7Od/5EyfnFxTjLkObwPGgCo+jqGZXbYhFNb+yuq6rL+7DYnHvWIwzNEmfp3Try3TgutbZB8C66kQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-accordion": "^1.2.12", + "@radix-ui/react-collapsible": "^1.1.12", + "@radix-ui/react-dialog": "^1.1.15", + "@radix-ui/react-direction": "^1.1.1", + "@radix-ui/react-navigation-menu": "^1.2.14", + "@radix-ui/react-popover": "^1.1.15", + "@radix-ui/react-presence": "^1.1.5", + "@radix-ui/react-scroll-area": "^1.2.10", + "@radix-ui/react-slot": "^1.2.3", + "@radix-ui/react-tabs": "^1.1.13", + "class-variance-authority": "^0.7.1", + "fumadocs-core": "16.0.2", + "lodash.merge": "^4.6.2", + "next-themes": "^0.4.6", + "postcss-selector-parser": "^7.1.0", + "react-medium-image-zoom": "^5.4.0", + "scroll-into-view-if-needed": "^3.1.0", + "tailwind-merge": "^3.3.1" + }, + "peerDependencies": { + "@types/react": "*", + "next": "16.x.x", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "tailwindcss": "^4.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "next": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/glob": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz", + "integrity": "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.3.1", + "jackspeak": "^4.1.1", + "minimatch": "^10.0.3", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", + "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", + "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/image-size": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz", + "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==", + "license": "MIT", + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, + "node_modules/inline-style-parser": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", + "license": "MIT" + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", + "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz", + "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==", + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/lucide-react": { + "version": "0.546.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.546.0.tgz", + "integrity": "sha512-Z94u6fKT43lKeYHiVyvyR8fT7pwCzDu7RyMPpTvh054+xahSgj4HFQ+NmflvzdXsoAjYGdCguGaFKYuvq0ThCQ==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", + "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", + "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", + "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", + "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/minimatch": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", + "license": "ISC", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/next": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/next/-/next-16.0.0.tgz", + "integrity": "sha512-nYohiNdxGu4OmBzggxy9rczmjIGI+TpR5vbKTsE1HqYwNm1B+YSiugSrFguX6omMOKnDHAmBPY4+8TNJk0Idyg==", + "license": "MIT", + "dependencies": { + "@next/env": "16.0.0", + "@swc/helpers": "0.5.15", + "caniuse-lite": "^1.0.30001579", + "postcss": "8.4.31", + "styled-jsx": "5.1.6" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=20.9.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "16.0.0", + "@next/swc-darwin-x64": "16.0.0", + "@next/swc-linux-arm64-gnu": "16.0.0", + "@next/swc-linux-arm64-musl": "16.0.0", + "@next/swc-linux-x64-gnu": "16.0.0", + "@next/swc-linux-x64-musl": "16.0.0", + "@next/swc-win32-arm64-msvc": "16.0.0", + "@next/swc-win32-x64-msvc": "16.0.0", + "sharp": "^0.34.4" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.51.1", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next-themes": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.6.tgz", + "integrity": "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/node-releases": { + "version": "2.0.26", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.26.tgz", + "integrity": "sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-to-yarn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-to-yarn/-/npm-to-yarn-3.0.1.tgz", + "integrity": "sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A==", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/nebrelbug/npm-to-yarn?sponsor=1" + } + }, + "node_modules/oniguruma-parser": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz", + "integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.3.tgz", + "integrity": "sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.1", + "regex": "^6.0.1", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-to-regexp": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/react": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", + "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", + "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.0" + } + }, + "node_modules/react-medium-image-zoom": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/react-medium-image-zoom/-/react-medium-image-zoom-5.4.0.tgz", + "integrity": "sha512-BsE+EnFVQzFIlyuuQrZ9iTwyKpKkqdFZV1ImEQN573QPqGrIUuNni7aF+sZwDcxlsuOMayCr6oO/PZR/yJnbRg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/rpearce" + } + ], + "license": "BSD-3-Clause", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/react-remove-scroll": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz", + "integrity": "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==", + "license": "MIT", + "dependencies": { + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", + "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.0.1.tgz", + "integrity": "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/remark/-/remark-15.0.1.tgz", + "integrity": "sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", + "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rimraf": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", + "license": "ISC", + "dependencies": { + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "license": "MIT", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.4.tgz", + "integrity": "sha512-FUH39xp3SBPnxWvd5iib1X8XY7J0K0X7d93sie9CJg2PO8/7gmg89Nve6OjItK53/MlAushNNxteBYfM6DEuoA==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.0", + "semver": "^7.7.2" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.4", + "@img/sharp-darwin-x64": "0.34.4", + "@img/sharp-libvips-darwin-arm64": "1.2.3", + "@img/sharp-libvips-darwin-x64": "1.2.3", + "@img/sharp-libvips-linux-arm": "1.2.3", + "@img/sharp-libvips-linux-arm64": "1.2.3", + "@img/sharp-libvips-linux-ppc64": "1.2.3", + "@img/sharp-libvips-linux-s390x": "1.2.3", + "@img/sharp-libvips-linux-x64": "1.2.3", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.3", + "@img/sharp-libvips-linuxmusl-x64": "1.2.3", + "@img/sharp-linux-arm": "0.34.4", + "@img/sharp-linux-arm64": "0.34.4", + "@img/sharp-linux-ppc64": "0.34.4", + "@img/sharp-linux-s390x": "0.34.4", + "@img/sharp-linux-x64": "0.34.4", + "@img/sharp-linuxmusl-arm64": "0.34.4", + "@img/sharp-linuxmusl-x64": "0.34.4", + "@img/sharp-wasm32": "0.34.4", + "@img/sharp-win32-arm64": "0.34.4", + "@img/sharp-win32-ia32": "0.34.4", + "@img/sharp-win32-x64": "0.34.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.13.0.tgz", + "integrity": "sha512-aZW4l8Og16CokuCLf8CF8kq+KK2yOygapU5m3+hoGw0Mdosc6fPitjM+ujYarppj5ZIKGyPDPP1vqmQhr+5/0g==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "3.13.0", + "@shikijs/engine-javascript": "3.13.0", + "@shikijs/engine-oniguruma": "3.13.0", + "@shikijs/langs": "3.13.0", + "@shikijs/themes": "3.13.0", + "@shikijs/types": "3.13.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/style-to-js": { + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.18.tgz", + "integrity": "sha512-JFPn62D4kJaPTnhFUI244MThx+FEGbi+9dw1b9yBBQ+1CZpV7QAT8kUtJ7b7EUNdHajjF/0x8fT+16oLJoojLg==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.11" + } + }, + "node_modules/style-to-object": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.11.tgz", + "integrity": "sha512-5A560JmXr7wDyGLK12Nq/EYS38VkGlglVzkis1JEdbGWSnbQIEhZzTJhzURXN5/8WwwFCs/f/VVcmkTppbXLow==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.4" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/tailwind-merge": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz", + "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.16.tgz", + "integrity": "sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz", + "integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", + "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "license": "MIT", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/zod": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz", + "integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..958346f3 --- /dev/null +++ b/package.json @@ -0,0 +1,47 @@ +{ + "name": "python-binance", + "version": "1.0.0", + "main": "codegen.js", + "directories": { + "doc": "docs", + "example": "examples", + "test": "tests" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "generate-json": "python generate_docs.py", + "generate-mdx": "node scripts/generate-docs.mjs", + "generate-docs": "npm run generate-json && npm run generate-mdx", + "dev": "next dev", + "build": "npm run generate-docs && next build", + "start": "next start" + }, + "keywords": [], + "author": "", + "license": "ISC", + "description": "", + "dependencies": { + "@mdx-js/loader": "^3.1.1", + "@mdx-js/react": "^3.1.1", + "@next/mdx": "^16.0.0", + "fumadocs-core": "^16.0.2", + "fumadocs-mdx": "^13.0.0", + "fumadocs-python": "^0.0.6", + "fumadocs-ui": "^16.0.2", + "lucide-react": "^0.546.0", + "next": "^16.0.0", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "rimraf": "^6.0.1", + "shiki": "^3.13.0" + }, + "devDependencies": { + "@types/node": "^24.9.1", + "@types/react": "^19.2.2", + "@types/react-dom": "^19.2.2", + "autoprefixer": "^10.4.21", + "postcss": "^8.5.6", + "tailwindcss": "^4.1.16", + "typescript": "^5.9.3" + } +} diff --git a/reproduce_disconnect.py b/reproduce_disconnect.py new file mode 100644 index 00000000..aa197255 --- /dev/null +++ b/reproduce_disconnect.py @@ -0,0 +1,72 @@ +import asyncio +import logging +from binance import AsyncClient, BinanceSocketManager +from binance.ws.reconnecting_websocket import ReconnectingWebsocket + +logging.basicConfig(level=logging.DEBUG) +logger = logging.getLogger(__name__) + + +async def run_socket(bm): + async with bm.multiplex_socket(["btcusdt@kline_1s"]) as tscm: + logger.info("Websocket started") + count = 0 + while True: + try: + logger.info("Awaiting message...") + t = await tscm.recv() + logger.info(f"Message received: {t}") + count += 1 + + if count == 3 or count == 9: + logger.info("Simulating connection drop (code 1001)") + await tscm.ws.close(code=1001, reason="going away") + + if count == 6: + tscm.MAX_RECONNECTS = 0 + + if t.get("e") == "error": + logger.error(f"Error: {t.get('m')}") + # if t.get("type") == "BinanceWebsocketUnableToConnect": + # logger.info("Detected BinanceWebsocketUnableToConnect") + # break + + print(t.get("data")) + logger.info("Loop continues") + + except Exception as e: + logger.error(f"Error in socket loop: {e}") + break + + +async def main(): + # Set MAX_RECONNECTS to 2 to allow for reconnection attempts + ReconnectingWebsocket.MAX_RECONNECTS = 5 # type: ignore + + client = await AsyncClient.create() + bm = BinanceSocketManager(client) + + reconnect_attempts = 0 + max_reconnects = 2 + + try: + while reconnect_attempts < max_reconnects: + try: + await run_socket(bm) + reconnect_attempts += 1 + logger.info( + f"Reconnecting attempt {reconnect_attempts}/{max_reconnects}..." + ) + if reconnect_attempts < max_reconnects: + await asyncio.sleep(2) # Wait before next reconnection attempt + except Exception as e: + logger.error(f"Error during socket operation: {e}") + reconnect_attempts += 1 + if reconnect_attempts < max_reconnects: + await asyncio.sleep(2) + finally: + await client.close_connection() + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/reproduce_threaded_disconnect.py b/reproduce_threaded_disconnect.py new file mode 100644 index 00000000..3df6ecab --- /dev/null +++ b/reproduce_threaded_disconnect.py @@ -0,0 +1,102 @@ +#!/usr/bin/env python3 +""" +Script to reproduce ThreadedWebsocketManager connection issue. + +This script demonstrates the bug where ThreadedWebsocketManager fails to +report connection errors to the user when network issues occur. + +To reproduce: +1. Connect to a VPN in the US or disconnect from network +2. Run this script +3. Observe that no error is returned to the callback despite connection failure +""" + +import time +import logging +from binance import ThreadedWebsocketManager + +# Configure logging to see what's happening +logging.basicConfig( + level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s" +) +logger = logging.getLogger(__name__) + + +def handle_socket_message(msg): + """ + Callback function to handle websocket messages. + + Expected behavior: Should receive error messages when connection fails + Actual behavior: No error messages are passed to this callback + """ + logger.info(f"Received message: {msg}") + + # Check if this is an error message + if isinstance(msg, dict): + if msg.get("e") == "error": + logger.error(f"Error received in callback: {msg}") + elif "error" in msg: + logger.error(f"Error in message: {msg['error']}") + + print(f"Message: {msg}") + + +def main(): + logger.info("Creating ThreadedWebsocketManager...") + + try: + # Create the websocket manager + twm = ThreadedWebsocketManager() + + logger.info("Starting ThreadedWebsocketManager...") + twm.start() + + symbol = "BTCUSDT" + logger.info(f"Starting kline socket for {symbol}...") + + # Start the kline socket + # This should fail silently if there are network issues + socket_result = twm.start_kline_socket( + callback=handle_socket_message, symbol=symbol + ) + + logger.info(f"Socket started with result: {socket_result}") + + # Wait and monitor for messages or errors + logger.info("Waiting for messages (will wait 30 seconds)...") + + for i in range(30): + time.sleep(1) + if i % 5 == 0: + logger.info(f"Still waiting... ({i}/30 seconds)") + + logger.info("Stopping websocket manager...") + twm.stop() + + except Exception as e: + logger.error(f"Exception occurred: {e}") + logger.error(f"Exception type: {type(e)}") + + # Try to stop the manager if it was created + try: + twm.stop() + except: + pass + + logger.info("Script completed") + + +if __name__ == "__main__": + print("=" * 60) + print("ThreadedWebsocketManager Connection Issue Reproduction Script") + print("=" * 60) + print("\nTo reproduce the issue:") + print("1. Disconnect from network or connect to a VPN that blocks Binance") + print("2. Run this script") + print("3. Observe that no connection errors are reported to the callback") + print("\nExpected: Error messages should be passed to the callback") + print("Actual: No error indication when connection fails") + print("=" * 60) + print() + + main() diff --git a/scripts/generate-docs.mjs b/scripts/generate-docs.mjs new file mode 100644 index 00000000..32463587 --- /dev/null +++ b/scripts/generate-docs.mjs @@ -0,0 +1,30 @@ +import { rimraf } from 'rimraf'; +import * as Python from 'fumadocs-python'; +import * as fs from 'node:fs/promises'; + +// Output JSON file path +const jsonPath = './binance.json'; + +async function generate() { + const out = 'content/docs/(api)'; + + // Clean previous output + await rimraf(out); + + // Read the JSON file + const content = JSON.parse((await fs.readFile(jsonPath)).toString()); + + // Convert to MDX using fumadocs-python + const converted = Python.convert(content, { + baseUrl: '/docs', + }); + + // Write the converted docs + await Python.write(converted, { + outDir: out, + }); + + console.log(`✓ Generated docs in ${out}`); +} + +void generate(); diff --git a/source.config.ts b/source.config.ts new file mode 100644 index 00000000..74b78fb7 --- /dev/null +++ b/source.config.ts @@ -0,0 +1,7 @@ +import { defineConfig, defineDocs } from 'fumadocs-mdx/config'; + +export default defineConfig({ + docs: defineDocs({ + dir: 'content/docs', + }), +}); diff --git a/tests/test_async_client_futures.py b/tests/test_async_client_futures.py index 1b986779..1f796064 100644 --- a/tests/test_async_client_futures.py +++ b/tests/test_async_client_futures.py @@ -18,6 +18,10 @@ async def test_futures_order_book(futuresClientAsync): order_book = await futuresClientAsync.futures_order_book(symbol="BTCUSDT") assert_ob(order_book) +async def test_futures_rpi_depth(futuresClientAsync): + rpi_depth = await futuresClientAsync.futures_rpi_depth(symbol="BTCUSDT") + assert_ob(rpi_depth) + async def test_futures_recent_trades(futuresClientAsync): await futuresClientAsync.futures_recent_trades(symbol="BTCUSDT") @@ -251,6 +255,21 @@ async def test_futures_account_balance(futuresClientAsync): async def test_futures_account(futuresClientAsync): await futuresClientAsync.futures_account() +async def test_futures_symbol_adl_risk(futuresClientAsync): + # Test without symbol (get all) + adl_risks = await futuresClientAsync.futures_symbol_adl_risk() + assert isinstance(adl_risks, list) + + # Test with specific symbol (if any symbols available) + if len(adl_risks) > 0: + test_symbol = adl_risks[0]["symbol"] + adl_risk = await futuresClientAsync.futures_symbol_adl_risk(symbol=test_symbol) + assert isinstance(adl_risk, dict) + assert "symbol" in adl_risk + assert "adlRisk" in adl_risk + assert adl_risk["adlRisk"] in ["low", "medium", "high"] + assert adl_risk["symbol"] == test_symbol + async def test_futures_change_leverage(futuresClientAsync): await futuresClientAsync.futures_change_leverage(symbol="LTCUSDT", leverage=10) diff --git a/tests/test_client_futures.py b/tests/test_client_futures.py index c710d91d..e2564e27 100644 --- a/tests/test_client_futures.py +++ b/tests/test_client_futures.py @@ -24,6 +24,11 @@ def test_futures_order_book(futuresClient): assert_ob(order_book) +def test_futures_rpi_depth(futuresClient): + rpi_depth = futuresClient.futures_rpi_depth(symbol="BTCUSDT") + assert_ob(rpi_depth) + + def test_futures_recent_trades(futuresClient): futuresClient.futures_recent_trades(symbol="BTCUSDT") @@ -300,6 +305,22 @@ def test_futures_account(futuresClient): futuresClient.futures_account() +def test_futures_symbol_adl_risk(futuresClient): + # Test without symbol (get all) + adl_risks = futuresClient.futures_symbol_adl_risk() + assert isinstance(adl_risks, list) + + # Test with specific symbol (if any symbols available) + if len(adl_risks) > 0: + test_symbol = adl_risks[0]["symbol"] + adl_risk = futuresClient.futures_symbol_adl_risk(symbol=test_symbol) + assert isinstance(adl_risk, dict) + assert "symbol" in adl_risk + assert "adlRisk" in adl_risk + assert adl_risk["adlRisk"] in ["low", "medium", "high"] + assert adl_risk["symbol"] == test_symbol + + def test_futures_change_leverage(futuresClient): futuresClient.futures_change_leverage(symbol="LTCUSDT", leverage=10) diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..1f518977 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,41 @@ +{ + "compilerOptions": { + "target": "ES2020", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react-jsx", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": [ + "./*" + ] + } + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts" + ], + "exclude": [ + "node_modules" + ] +}