{"version":3,"sources":["../src/derivatives-trading-portfolio-margin.ts","../package.json","../src/rest-api/index.ts","../src/rest-api/modules/account-api.ts","../src/rest-api/modules/market-data-api.ts","../src/rest-api/modules/trade-api.ts","../src/rest-api/modules/user-data-streams-api.ts","../src/rest-api/rest-api.ts","../src/index.ts"],"sourcesContent":["import {\n    buildUserAgent,\n    ConfigurationRestAPI,\n    DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_PROD_URL,\n} from '@binance/common';\nimport { name, version } from '../package.json';\nimport { RestAPI } from './rest-api';\n\nexport interface ConfigurationDerivativesTradingPortfolioMargin {\n    configurationRestAPI?: ConfigurationRestAPI;\n}\n\nexport class DerivativesTradingPortfolioMargin {\n    public restAPI!: RestAPI;\n\n    constructor(config: ConfigurationDerivativesTradingPortfolioMargin) {\n        const userAgent = buildUserAgent(name, version);\n\n        if (config?.configurationRestAPI) {\n            const configRestAPI = new ConfigurationRestAPI(\n                config.configurationRestAPI\n            ) as ConfigurationRestAPI & {\n                baseOptions: Record<string, unknown>;\n            };\n            configRestAPI.basePath =\n                configRestAPI.basePath || DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_PROD_URL;\n            configRestAPI.baseOptions = configRestAPI.baseOptions || {};\n            configRestAPI.baseOptions.headers = {\n                ...(configRestAPI.baseOptions.headers || {}),\n                'User-Agent': userAgent,\n            };\n            this.restAPI = new RestAPI(configRestAPI);\n        }\n    }\n}\n","{\n    \"name\": \"@binance/derivatives-trading-portfolio-margin\",\n    \"description\": \"Official Binance Derivatives Trading (COIN-M Futures) Connector - A lightweight library that provides a convenient interface to Binance's COINN-M Futures REST API, WebSocket API and WebSocket Streams.\",\n    \"version\": \"4.0.2\",\n    \"main\": \"./dist/index.js\",\n    \"module\": \"./dist/index.mjs\",\n    \"types\": \"./dist/index.d.ts\",\n    \"exports\": {\n        \".\": {\n            \"require\": \"./dist/index.js\",\n            \"import\": \"./dist/index.mjs\"\n        }\n    },\n    \"scripts\": {\n        \"prepublishOnly\": \"npm run build\",\n        \"build\": \"npm run clean && tsup\",\n        \"typecheck\": \"tsc --noEmit\",\n        \"clean\": \"rm -rf dist\",\n        \"test\": \"npx jest --maxWorkers=4 --bail\",\n        \"test:watch\": \"npx jest --watch\",\n        \"format\": \"npx prettier --ignore-path .prettierignore --write .\",\n        \"lint\": \"npx eslint '**/*.ts' --fix\"\n    },\n    \"keywords\": [\n        \"Binance\",\n        \"API\",\n        \"Derivatives\",\n        \"Futures\",\n        \"Coin-M\",\n        \"Connector\",\n        \"REST\",\n        \"WebSocket\",\n        \"Trading\"\n    ],\n    \"author\": \"Binance\",\n    \"license\": \"MIT\",\n    \"files\": [\n        \"dist\"\n    ],\n    \"devDependencies\": {\n        \"@types/jest\": \"^29.5.4\",\n        \"@types/node\": \"^20.17.24\",\n        \"eslint\": \"8.57.0\",\n        \"jest\": \"^29.6.4\",\n        \"prettier\": \"^3.3.3\",\n        \"ts-jest\": \"^29.1.1\",\n        \"ts-node\": \"^10.9.1\",\n        \"tsup\": \"^8.4.0\",\n        \"typescript\": \"^5.7.2\",\n        \"typescript-eslint\": \"^8.24.0\"\n    },\n    \"dependencies\": {\n        \"@binance/common\": \"^1.1.2\",\n        \"@types/ws\": \"^8.5.5\",\n        \"axios\": \"^1.7.4\",\n        \"ws\": \"^8.17.1\"\n    }\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nexport * from './types';\nexport * from './modules';\nexport * from './rest-api';\n","/**\n * Binance Derivatives Trading Portfolio Margin REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n    ConfigurationRestAPI,\n    TimeUnit,\n    RestApiResponse,\n    assertParamExists,\n    sendRequest,\n    type RequestArgs,\n} from '@binance/common';\nimport type {\n    AccountBalanceResponse,\n    AccountInformationResponse,\n    BnbTransferResponse,\n    ChangeAutoRepayFuturesStatusResponse,\n    ChangeCmInitialLeverageResponse,\n    ChangeCmPositionModeResponse,\n    ChangeUmInitialLeverageResponse,\n    ChangeUmPositionModeResponse,\n    CmNotionalAndLeverageBracketsResponse,\n    FundAutoCollectionResponse,\n    FundCollectionByAssetResponse,\n    GetAutoRepayFuturesStatusResponse,\n    GetCmAccountDetailResponse,\n    GetCmCurrentPositionModeResponse,\n    GetCmIncomeHistoryResponse,\n    GetDownloadIdForUmFuturesOrderHistoryResponse,\n    GetDownloadIdForUmFuturesTradeHistoryResponse,\n    GetDownloadIdForUmFuturesTransactionHistoryResponse,\n    GetMarginBorrowLoanInterestHistoryResponse,\n    GetUmAccountDetailResponse,\n    GetUmAccountDetailV2Response,\n    GetUmCurrentPositionModeResponse,\n    GetUmFuturesOrderDownloadLinkByIdResponse,\n    GetUmFuturesTradeDownloadLinkByIdResponse,\n    GetUmFuturesTransactionDownloadLinkByIdResponse,\n    GetUmIncomeHistoryResponse,\n    GetUserCommissionRateForCmResponse,\n    GetUserCommissionRateForUmResponse,\n    MarginMaxBorrowResponse,\n    PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse,\n    QueryCmPositionInformationResponse,\n    QueryMarginLoanRecordResponse,\n    QueryMarginMaxWithdrawResponse,\n    QueryMarginRepayRecordResponse,\n    QueryPortfolioMarginNegativeBalanceInterestHistoryResponse,\n    QueryUmPositionInformationResponse,\n    QueryUserNegativeBalanceAutoExchangeRecordResponse,\n    QueryUserRateLimitResponse,\n    RepayFuturesNegativeBalanceResponse,\n    UmFuturesAccountConfigurationResponse,\n    UmFuturesSymbolConfigurationResponse,\n    UmNotionalAndLeverageBracketsResponse,\n} from '../types';\n\n/**\n * AccountApi - axios parameter creator\n */\nconst AccountApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * Query account balance\n         *\n         * Weight: 20\n         *\n         * @summary Account Balance(USER_DATA)\n         * @param {string} [asset]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        accountBalance: async (asset?: string, recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/balance',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query account information\n         *\n         * Weight: 20\n         *\n         * @summary Account Information(USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        accountInformation: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/account',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Transfer BNB in and out of UM\n         *\n         * The endpoint can only be called 10 times per 10 minutes in a rolling manner\n         *\n         * Weight: 750\n         *\n         * @summary BNB transfer (TRADE)\n         * @param {number} amount\n         * @param {string} transferSide \"TO_UM\",\"FROM_UM\"\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        bnbTransfer: async (\n            amount: number,\n            transferSide: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('bnbTransfer', 'amount', amount);\n            // verify required parameter 'transferSide' is not null or undefined\n            assertParamExists('bnbTransfer', 'transferSide', transferSide);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n\n            if (transferSide !== undefined && transferSide !== null) {\n                localVarQueryParameter['transferSide'] = transferSide;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/bnb-transfer',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Change Auto-repay-futures Status\n         *\n         * Weight: 750\n         *\n         * @summary Change Auto-repay-futures Status(TRADE)\n         * @param {string} autoRepay Default: `true`; `false` for turn off the auto-repay futures negative balance function\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        changeAutoRepayFuturesStatus: async (\n            autoRepay: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'autoRepay' is not null or undefined\n            assertParamExists('changeAutoRepayFuturesStatus', 'autoRepay', autoRepay);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (autoRepay !== undefined && autoRepay !== null) {\n                localVarQueryParameter['autoRepay'] = autoRepay;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/repay-futures-switch',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Change user's initial leverage of specific symbol in CM.\n         *\n         * Weight: 1\n         *\n         * @summary Change CM Initial Leverage (TRADE)\n         * @param {string} symbol\n         * @param {number} leverage target initial leverage: int from 1 to 125\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        changeCmInitialLeverage: async (\n            symbol: string,\n            leverage: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('changeCmInitialLeverage', 'symbol', symbol);\n            // verify required parameter 'leverage' is not null or undefined\n            assertParamExists('changeCmInitialLeverage', 'leverage', leverage);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (leverage !== undefined && leverage !== null) {\n                localVarQueryParameter['leverage'] = leverage;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/leverage',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n         *\n         * Weight: 1\n         *\n         * @summary Change CM Position Mode(TRADE)\n         * @param {string} dualSidePosition \"true\": Hedge Mode; \"false\": One-way Mode\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        changeCmPositionMode: async (\n            dualSidePosition: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'dualSidePosition' is not null or undefined\n            assertParamExists('changeCmPositionMode', 'dualSidePosition', dualSidePosition);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (dualSidePosition !== undefined && dualSidePosition !== null) {\n                localVarQueryParameter['dualSidePosition'] = dualSidePosition;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/positionSide/dual',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Change user's initial leverage of specific symbol in UM.\n         *\n         * Weight: 1\n         *\n         * @summary Change UM Initial Leverage(TRADE)\n         * @param {string} symbol\n         * @param {number} leverage target initial leverage: int from 1 to 125\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        changeUmInitialLeverage: async (\n            symbol: string,\n            leverage: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('changeUmInitialLeverage', 'symbol', symbol);\n            // verify required parameter 'leverage' is not null or undefined\n            assertParamExists('changeUmInitialLeverage', 'leverage', leverage);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (leverage !== undefined && leverage !== null) {\n                localVarQueryParameter['leverage'] = leverage;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/leverage',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n         *\n         * Weight: 1\n         *\n         * @summary Change UM Position Mode(TRADE)\n         * @param {string} dualSidePosition \"true\": Hedge Mode; \"false\": One-way Mode\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        changeUmPositionMode: async (\n            dualSidePosition: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'dualSidePosition' is not null or undefined\n            assertParamExists('changeUmPositionMode', 'dualSidePosition', dualSidePosition);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (dualSidePosition !== undefined && dualSidePosition !== null) {\n                localVarQueryParameter['dualSidePosition'] = dualSidePosition;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/positionSide/dual',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query CM notional and leverage brackets\n         *\n         * Weight: 1\n         *\n         * @summary CM Notional and Leverage Brackets(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cmNotionalAndLeverageBrackets: async (\n            symbol?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/leverageBracket',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Fund collection for Portfolio Margin\n         *\n         * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n         * You can only use this function 500 times per hour in a rolling manner.\n         *\n         * Weight: 750\n         *\n         * @summary Fund Auto-collection(TRADE)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        fundAutoCollection: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/auto-collection',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Transfers specific asset from Futures Account to Margin account\n         *\n         * The BNB transfer is not be supported\n         *\n         * Weight: 30\n         *\n         * @summary Fund Collection by Asset(TRADE)\n         * @param {string} asset\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        fundCollectionByAsset: async (asset: string, recvWindow?: number): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('fundCollectionByAsset', 'asset', asset);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/asset-collection',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Auto-repay-futures Status\n         *\n         * Weight: 30\n         *\n         * @summary Get Auto-repay-futures Status(USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getAutoRepayFuturesStatus: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/repay-futures-switch',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get current CM account asset and position information.\n         *\n         * Weight: 5\n         *\n         * @summary Get CM Account Detail(USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getCmAccountDetail: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/account',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n         *\n         * Weight: 30\n         *\n         * @summary Get CM Current Position Mode(USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getCmCurrentPositionMode: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/positionSide/dual',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get CM Income History\n         *\n         *\n         * If `incomeType` is not sent, all kinds of flow will be returned\n         * \"trandId\" is unique in the same \"incomeType\" for a user\n         * The interval between `startTime` and `endTime` can not exceed 200 days:\n         * If `startTime` and `endTime` are not sent, the last 200 days will be returned\n         *\n         * Weight: 30\n         *\n         * @summary Get CM Income History(USER_DATA)\n         * @param {string} [symbol]\n         * @param {string} [incomeType] TRANSFER, WELCOME_BONUS, REALIZED_PNL, FUNDING_FEE, COMMISSION, INSURANCE_CLEAR, REFERRAL_KICKBACK, COMMISSION_REBATE, API_REBATE, CONTEST_REWARD, CROSS_COLLATERAL_TRANSFER, OPTIONS_PREMIUM_FEE, OPTIONS_SETTLE_PROFIT, INTERNAL_TRANSFER, AUTO_EXCHANGE, DELIVERED_SETTELMENT, COIN_SWAP_DEPOSIT, COIN_SWAP_WITHDRAW, POSITION_LIMIT_INCREASE_FEE\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [page]\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getCmIncomeHistory: async (\n            symbol?: string,\n            incomeType?: string,\n            startTime?: number,\n            endTime?: number,\n            page?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (incomeType !== undefined && incomeType !== null) {\n                localVarQueryParameter['incomeType'] = incomeType;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (page !== undefined && page !== null) {\n                localVarQueryParameter['page'] = page;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/income',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get download id for UM futures order history\n         *\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         * Weight: 1500\n         *\n         * @summary Get Download Id For UM Futures Order History (USER_DATA)\n         * @param {number} startTime\n         * @param {number} endTime\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getDownloadIdForUmFuturesOrderHistory: async (\n            startTime: number,\n            endTime: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'startTime' is not null or undefined\n            assertParamExists('getDownloadIdForUmFuturesOrderHistory', 'startTime', startTime);\n            // verify required parameter 'endTime' is not null or undefined\n            assertParamExists('getDownloadIdForUmFuturesOrderHistory', 'endTime', endTime);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/order/asyn',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get download id for UM futures trade history\n         *\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         * Weight: 1500\n         *\n         * @summary Get Download Id For UM Futures Trade History (USER_DATA)\n         * @param {number} startTime\n         * @param {number} endTime\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getDownloadIdForUmFuturesTradeHistory: async (\n            startTime: number,\n            endTime: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'startTime' is not null or undefined\n            assertParamExists('getDownloadIdForUmFuturesTradeHistory', 'startTime', startTime);\n            // verify required parameter 'endTime' is not null or undefined\n            assertParamExists('getDownloadIdForUmFuturesTradeHistory', 'endTime', endTime);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/trade/asyn',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get download id for UM futures transaction history\n         *\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         * Weight: 1500\n         *\n         * @summary Get Download Id For UM Futures Transaction History (USER_DATA)\n         * @param {number} startTime\n         * @param {number} endTime\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getDownloadIdForUmFuturesTransactionHistory: async (\n            startTime: number,\n            endTime: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'startTime' is not null or undefined\n            assertParamExists(\n                'getDownloadIdForUmFuturesTransactionHistory',\n                'startTime',\n                startTime\n            );\n            // verify required parameter 'endTime' is not null or undefined\n            assertParamExists('getDownloadIdForUmFuturesTransactionHistory', 'endTime', endTime);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/income/asyn',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get Margin Borrow/Loan Interest History\n         *\n         *\n         * Response in descending order\n         * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n         * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n         * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n         * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n         * Type in response has 5 enums:\n         * `PERIODIC` interest charged per hour\n         * `ON_BORROW` first interest charged on borrow\n         * `PERIODIC_CONVERTED` interest charged per hour converted into BNB\n         * `ON_BORROW_CONVERTED` first interest charged on borrow converted into BNB\n         * `PORTFOLIO` Portfolio Margin negative balance daily interest\n         *\n         * Weight: 1\n         *\n         * @summary Get Margin Borrow/Loan Interest History(USER_DATA)\n         * @param {string} [asset]\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10 Max:100\n         * @param {string} [archived] Default: `false`. Set to `true` for archived data from 6 months ago\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getMarginBorrowLoanInterestHistory: async (\n            asset?: string,\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            archived?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (archived !== undefined && archived !== null) {\n                localVarQueryParameter['archived'] = archived;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/marginInterestHistory',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get current UM account asset and position information.\n         *\n         * Weight: 5\n         *\n         * @summary Get UM Account Detail(USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmAccountDetail: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/account',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get current UM account asset and position information.\n         *\n         * Weight: 5\n         *\n         * @summary Get UM Account Detail V2(USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmAccountDetailV2: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v2/um/account',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n         *\n         * Weight: 30\n         *\n         * @summary Get UM Current Position Mode(USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmCurrentPositionMode: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/positionSide/dual',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get UM futures order download link by Id\n         *\n         * Download link expiration: 24h\n         *\n         * Weight: 10\n         *\n         * @summary Get UM Futures Order Download Link by Id(USER_DATA)\n         * @param {string} downloadId get by download id api\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmFuturesOrderDownloadLinkById: async (\n            downloadId: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'downloadId' is not null or undefined\n            assertParamExists('getUmFuturesOrderDownloadLinkById', 'downloadId', downloadId);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (downloadId !== undefined && downloadId !== null) {\n                localVarQueryParameter['downloadId'] = downloadId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/order/asyn/id',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get UM futures trade download link by Id\n         *\n         * Download link expiration: 24h\n         *\n         * Weight: 10\n         *\n         * @summary Get UM Futures Trade Download Link by Id(USER_DATA)\n         * @param {string} downloadId get by download id api\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmFuturesTradeDownloadLinkById: async (\n            downloadId: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'downloadId' is not null or undefined\n            assertParamExists('getUmFuturesTradeDownloadLinkById', 'downloadId', downloadId);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (downloadId !== undefined && downloadId !== null) {\n                localVarQueryParameter['downloadId'] = downloadId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/trade/asyn/id',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get UM futures Transaction download link by Id\n         *\n         * Download link expiration: 24h\n         *\n         * Weight: 10\n         *\n         * @summary Get UM Futures Transaction Download Link by Id(USER_DATA)\n         * @param {string} downloadId get by download id api\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmFuturesTransactionDownloadLinkById: async (\n            downloadId: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'downloadId' is not null or undefined\n            assertParamExists('getUmFuturesTransactionDownloadLinkById', 'downloadId', downloadId);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (downloadId !== undefined && downloadId !== null) {\n                localVarQueryParameter['downloadId'] = downloadId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/income/asyn/id',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get UM Income History\n         *\n         * If neither `startTime` nor `endTime` is sent, the recent 7-day data will be returned.\n         * If `incomeType` is not sent, all kinds of flow will be returned\n         * \"trandId\" is unique in the same incomeType for a user\n         * Income history only contains data for the last three months\n         *\n         * Weight: 30\n         *\n         * @summary Get UM Income History(USER_DATA)\n         * @param {string} [symbol]\n         * @param {string} [incomeType] TRANSFER, WELCOME_BONUS, REALIZED_PNL, FUNDING_FEE, COMMISSION, INSURANCE_CLEAR, REFERRAL_KICKBACK, COMMISSION_REBATE, API_REBATE, CONTEST_REWARD, CROSS_COLLATERAL_TRANSFER, OPTIONS_PREMIUM_FEE, OPTIONS_SETTLE_PROFIT, INTERNAL_TRANSFER, AUTO_EXCHANGE, DELIVERED_SETTELMENT, COIN_SWAP_DEPOSIT, COIN_SWAP_WITHDRAW, POSITION_LIMIT_INCREASE_FEE\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [page]\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmIncomeHistory: async (\n            symbol?: string,\n            incomeType?: string,\n            startTime?: number,\n            endTime?: number,\n            page?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (incomeType !== undefined && incomeType !== null) {\n                localVarQueryParameter['incomeType'] = incomeType;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (page !== undefined && page !== null) {\n                localVarQueryParameter['page'] = page;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/income',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get User Commission Rate for CM\n         *\n         * Weight: 20\n         *\n         * @summary Get User Commission Rate for CM(USER_DATA)\n         * @param {string} symbol\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUserCommissionRateForCm: async (\n            symbol: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('getUserCommissionRateForCm', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/commissionRate',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get User Commission Rate for UM\n         *\n         * Weight: 20\n         *\n         * @summary Get User Commission Rate for UM(USER_DATA)\n         * @param {string} symbol\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUserCommissionRateForUm: async (\n            symbol: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('getUserCommissionRateForUm', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/commissionRate',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query margin max borrow\n         *\n         * Weight: 5\n         *\n         * @summary Margin Max Borrow(USER_DATA)\n         * @param {string} asset\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        marginMaxBorrow: async (asset: string, recvWindow?: number): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('marginMaxBorrow', 'asset', asset);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/maxBorrowable',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Portfolio Margin UM Trading Quantitative Rules Indicators\n         *\n         * Weight: 1 for a single symbol\n         * 10 when the symbol parameter is omitted\n         *\n         * @summary Portfolio Margin UM Trading Quantitative Rules Indicators(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        portfolioMarginUmTradingQuantitativeRulesIndicators: async (\n            symbol?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/apiTradingStatus',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get current CM position information.\n         *\n         * If neither `marginAsset` nor `pair` is sent, positions of all symbols with `TRADING` status will be returned.\n         * for One-way Mode user, the response will only show the \"BOTH\" positions\n         * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n         * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n         *\n         * Weight: 1\n         *\n         * @summary Query CM Position Information(USER_DATA)\n         * @param {string} [marginAsset]\n         * @param {string} [pair]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCmPositionInformation: async (\n            marginAsset?: string,\n            pair?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (marginAsset !== undefined && marginAsset !== null) {\n                localVarQueryParameter['marginAsset'] = marginAsset;\n            }\n\n            if (pair !== undefined && pair !== null) {\n                localVarQueryParameter['pair'] = pair;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/positionRisk',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query margin loan record\n         *\n         * txId or startTime must be sent. txId takes precedence.\n         * Response in descending order\n         * The max interval between `startTime` and `endTime` is 30 days.\n         * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n         * Set `archived` to `true` to query data from 6 months ago\n         *\n         * Weight: 10\n         *\n         * @summary Query Margin Loan Record(USER_DATA)\n         * @param {string} asset\n         * @param {number} [txId] the `tranId` in `POST/papi/v1/marginLoan`\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10 Max:100\n         * @param {string} [archived] Default: `false`. Set to `true` for archived data from 6 months ago\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryMarginLoanRecord: async (\n            asset: string,\n            txId?: number,\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            archived?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('queryMarginLoanRecord', 'asset', asset);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (txId !== undefined && txId !== null) {\n                localVarQueryParameter['txId'] = txId;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (archived !== undefined && archived !== null) {\n                localVarQueryParameter['archived'] = archived;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/marginLoan',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Margin Max Withdraw\n         *\n         * Weight: 5\n         *\n         * @summary Query Margin Max Withdraw(USER_DATA)\n         * @param {string} asset\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryMarginMaxWithdraw: async (\n            asset: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('queryMarginMaxWithdraw', 'asset', asset);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/maxWithdraw',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query margin repay record.\n         *\n         * txId or startTime must be sent. txId takes precedence.\n         * Response in descending order\n         * The max interval between `startTime` and `endTime` is 30 days.\n         * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n         * Set `archived` to `true` to query data from 6 months ago\n         *\n         * Weight: 10\n         *\n         * @summary Query Margin repay Record(USER_DATA)\n         * @param {string} asset\n         * @param {number} [txId] the `tranId` in `POST/papi/v1/marginLoan`\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10 Max:100\n         * @param {string} [archived] Default: `false`. Set to `true` for archived data from 6 months ago\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryMarginRepayRecord: async (\n            asset: string,\n            txId?: number,\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            archived?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('queryMarginRepayRecord', 'asset', asset);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (txId !== undefined && txId !== null) {\n                localVarQueryParameter['txId'] = txId;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (archived !== undefined && archived !== null) {\n                localVarQueryParameter['archived'] = archived;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/repayLoan',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query interest history of negative balance for portfolio margin.\n         *\n         * Response in descending order\n         * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n         * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n         * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n         * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n         *\n         * Weight: 50\n         *\n         * @summary Query Portfolio Margin Negative Balance Interest History(USER_DATA)\n         * @param {string} [asset]\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [size] Default:10 Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryPortfolioMarginNegativeBalanceInterestHistory: async (\n            asset?: string,\n            startTime?: number,\n            endTime?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/portfolio/interest-history',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get current UM position information.\n         *\n         * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n         * for One-way Mode user, the response will only show the \"BOTH\" positions\n         * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n         *\n         * Weight: 5\n         *\n         * @summary Query UM Position Information(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUmPositionInformation: async (\n            symbol?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/positionRisk',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query user negative balance auto exchange record\n         *\n         * Response in descending order\n         * The max interval between `startTime` and `endTime` is 3 months.\n         *\n         * Weight: 100\n         *\n         * @summary Query User Negative Balance Auto Exchange Record (USER_DATA)\n         * @param {number} startTime\n         * @param {number} endTime\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUserNegativeBalanceAutoExchangeRecord: async (\n            startTime: number,\n            endTime: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'startTime' is not null or undefined\n            assertParamExists('queryUserNegativeBalanceAutoExchangeRecord', 'startTime', startTime);\n            // verify required parameter 'endTime' is not null or undefined\n            assertParamExists('queryUserNegativeBalanceAutoExchangeRecord', 'endTime', endTime);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/portfolio/negative-balance-exchange-record',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query User Rate Limit\n         *\n         * Weight: 1\n         *\n         * @summary Query User Rate Limit (USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUserRateLimit: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/rateLimit/order',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Repay futures Negative Balance\n         *\n         * Weight: 750\n         *\n         * @summary Repay futures Negative Balance(USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        repayFuturesNegativeBalance: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/repay-futures-negative-balance',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query UM Futures account configuration\n         *\n         * Weight: 5\n         *\n         * @summary UM Futures Account Configuration(USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        umFuturesAccountConfiguration: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/accountConfig',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get current UM account symbol configuration.\n         *\n         * Weight: 5\n         *\n         * @summary UM Futures Symbol Configuration(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        umFuturesSymbolConfiguration: async (\n            symbol?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/symbolConfig',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query UM notional and leverage brackets\n         *\n         * Weight: 1\n         *\n         * @summary UM Notional and Leverage Brackets (USER_DATA)\n         * @param {string} [symbol]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        umNotionalAndLeverageBrackets: async (\n            symbol?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/leverageBracket',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * AccountApi - interface\n * @interface AccountApi\n */\nexport interface AccountApiInterface {\n    /**\n     * Query account balance\n     *\n     * Weight: 20\n     *\n     * @summary Account Balance(USER_DATA)\n     * @param {AccountBalanceRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    accountBalance(\n        requestParameters?: AccountBalanceRequest\n    ): Promise<RestApiResponse<AccountBalanceResponse>>;\n    /**\n     * Query account information\n     *\n     * Weight: 20\n     *\n     * @summary Account Information(USER_DATA)\n     * @param {AccountInformationRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    accountInformation(\n        requestParameters?: AccountInformationRequest\n    ): Promise<RestApiResponse<AccountInformationResponse>>;\n    /**\n     * Transfer BNB in and out of UM\n     *\n     * The endpoint can only be called 10 times per 10 minutes in a rolling manner\n     *\n     * Weight: 750\n     *\n     * @summary BNB transfer (TRADE)\n     * @param {BnbTransferRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    bnbTransfer(\n        requestParameters: BnbTransferRequest\n    ): Promise<RestApiResponse<BnbTransferResponse>>;\n    /**\n     * Change Auto-repay-futures Status\n     *\n     * Weight: 750\n     *\n     * @summary Change Auto-repay-futures Status(TRADE)\n     * @param {ChangeAutoRepayFuturesStatusRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    changeAutoRepayFuturesStatus(\n        requestParameters: ChangeAutoRepayFuturesStatusRequest\n    ): Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>>;\n    /**\n     * Change user's initial leverage of specific symbol in CM.\n     *\n     * Weight: 1\n     *\n     * @summary Change CM Initial Leverage (TRADE)\n     * @param {ChangeCmInitialLeverageRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    changeCmInitialLeverage(\n        requestParameters: ChangeCmInitialLeverageRequest\n    ): Promise<RestApiResponse<ChangeCmInitialLeverageResponse>>;\n    /**\n     * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n     *\n     * Weight: 1\n     *\n     * @summary Change CM Position Mode(TRADE)\n     * @param {ChangeCmPositionModeRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    changeCmPositionMode(\n        requestParameters: ChangeCmPositionModeRequest\n    ): Promise<RestApiResponse<ChangeCmPositionModeResponse>>;\n    /**\n     * Change user's initial leverage of specific symbol in UM.\n     *\n     * Weight: 1\n     *\n     * @summary Change UM Initial Leverage(TRADE)\n     * @param {ChangeUmInitialLeverageRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    changeUmInitialLeverage(\n        requestParameters: ChangeUmInitialLeverageRequest\n    ): Promise<RestApiResponse<ChangeUmInitialLeverageResponse>>;\n    /**\n     * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n     *\n     * Weight: 1\n     *\n     * @summary Change UM Position Mode(TRADE)\n     * @param {ChangeUmPositionModeRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    changeUmPositionMode(\n        requestParameters: ChangeUmPositionModeRequest\n    ): Promise<RestApiResponse<ChangeUmPositionModeResponse>>;\n    /**\n     * Query CM notional and leverage brackets\n     *\n     * Weight: 1\n     *\n     * @summary CM Notional and Leverage Brackets(USER_DATA)\n     * @param {CmNotionalAndLeverageBracketsRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    cmNotionalAndLeverageBrackets(\n        requestParameters?: CmNotionalAndLeverageBracketsRequest\n    ): Promise<RestApiResponse<CmNotionalAndLeverageBracketsResponse>>;\n    /**\n     * Fund collection for Portfolio Margin\n     *\n     * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n     * You can only use this function 500 times per hour in a rolling manner.\n     *\n     * Weight: 750\n     *\n     * @summary Fund Auto-collection(TRADE)\n     * @param {FundAutoCollectionRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    fundAutoCollection(\n        requestParameters?: FundAutoCollectionRequest\n    ): Promise<RestApiResponse<FundAutoCollectionResponse>>;\n    /**\n     * Transfers specific asset from Futures Account to Margin account\n     *\n     * The BNB transfer is not be supported\n     *\n     * Weight: 30\n     *\n     * @summary Fund Collection by Asset(TRADE)\n     * @param {FundCollectionByAssetRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    fundCollectionByAsset(\n        requestParameters: FundCollectionByAssetRequest\n    ): Promise<RestApiResponse<FundCollectionByAssetResponse>>;\n    /**\n     * Query Auto-repay-futures Status\n     *\n     * Weight: 30\n     *\n     * @summary Get Auto-repay-futures Status(USER_DATA)\n     * @param {GetAutoRepayFuturesStatusRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getAutoRepayFuturesStatus(\n        requestParameters?: GetAutoRepayFuturesStatusRequest\n    ): Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>>;\n    /**\n     * Get current CM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get CM Account Detail(USER_DATA)\n     * @param {GetCmAccountDetailRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getCmAccountDetail(\n        requestParameters?: GetCmAccountDetailRequest\n    ): Promise<RestApiResponse<GetCmAccountDetailResponse>>;\n    /**\n     * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n     *\n     * Weight: 30\n     *\n     * @summary Get CM Current Position Mode(USER_DATA)\n     * @param {GetCmCurrentPositionModeRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getCmCurrentPositionMode(\n        requestParameters?: GetCmCurrentPositionModeRequest\n    ): Promise<RestApiResponse<GetCmCurrentPositionModeResponse>>;\n    /**\n     * Get CM Income History\n     *\n     *\n     * If `incomeType` is not sent, all kinds of flow will be returned\n     * \"trandId\" is unique in the same \"incomeType\" for a user\n     * The interval between `startTime` and `endTime` can not exceed 200 days:\n     * If `startTime` and `endTime` are not sent, the last 200 days will be returned\n     *\n     * Weight: 30\n     *\n     * @summary Get CM Income History(USER_DATA)\n     * @param {GetCmIncomeHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getCmIncomeHistory(\n        requestParameters?: GetCmIncomeHistoryRequest\n    ): Promise<RestApiResponse<GetCmIncomeHistoryResponse>>;\n    /**\n     * Get download id for UM futures order history\n     *\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     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Order History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getDownloadIdForUmFuturesOrderHistory(\n        requestParameters: GetDownloadIdForUmFuturesOrderHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesOrderHistoryResponse>>;\n    /**\n     * Get download id for UM futures trade history\n     *\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     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Trade History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesTradeHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getDownloadIdForUmFuturesTradeHistory(\n        requestParameters: GetDownloadIdForUmFuturesTradeHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesTradeHistoryResponse>>;\n    /**\n     * Get download id for UM futures transaction history\n     *\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     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Transaction History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesTransactionHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getDownloadIdForUmFuturesTransactionHistory(\n        requestParameters: GetDownloadIdForUmFuturesTransactionHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesTransactionHistoryResponse>>;\n    /**\n     * Get Margin Borrow/Loan Interest History\n     *\n     *\n     * Response in descending order\n     * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n     * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n     * Type in response has 5 enums:\n     * `PERIODIC` interest charged per hour\n     * `ON_BORROW` first interest charged on borrow\n     * `PERIODIC_CONVERTED` interest charged per hour converted into BNB\n     * `ON_BORROW_CONVERTED` first interest charged on borrow converted into BNB\n     * `PORTFOLIO` Portfolio Margin negative balance daily interest\n     *\n     * Weight: 1\n     *\n     * @summary Get Margin Borrow/Loan Interest History(USER_DATA)\n     * @param {GetMarginBorrowLoanInterestHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getMarginBorrowLoanInterestHistory(\n        requestParameters?: GetMarginBorrowLoanInterestHistoryRequest\n    ): Promise<RestApiResponse<GetMarginBorrowLoanInterestHistoryResponse>>;\n    /**\n     * Get current UM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get UM Account Detail(USER_DATA)\n     * @param {GetUmAccountDetailRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUmAccountDetail(\n        requestParameters?: GetUmAccountDetailRequest\n    ): Promise<RestApiResponse<GetUmAccountDetailResponse>>;\n    /**\n     * Get current UM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get UM Account Detail V2(USER_DATA)\n     * @param {GetUmAccountDetailV2Request} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUmAccountDetailV2(\n        requestParameters?: GetUmAccountDetailV2Request\n    ): Promise<RestApiResponse<GetUmAccountDetailV2Response>>;\n    /**\n     * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Current Position Mode(USER_DATA)\n     * @param {GetUmCurrentPositionModeRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUmCurrentPositionMode(\n        requestParameters?: GetUmCurrentPositionModeRequest\n    ): Promise<RestApiResponse<GetUmCurrentPositionModeResponse>>;\n    /**\n     * Get UM futures order download link by Id\n     *\n     * Download link expiration: 24h\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Order Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesOrderDownloadLinkByIdRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUmFuturesOrderDownloadLinkById(\n        requestParameters: GetUmFuturesOrderDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesOrderDownloadLinkByIdResponse>>;\n    /**\n     * Get UM futures trade download link by Id\n     *\n     * Download link expiration: 24h\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Trade Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesTradeDownloadLinkByIdRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUmFuturesTradeDownloadLinkById(\n        requestParameters: GetUmFuturesTradeDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesTradeDownloadLinkByIdResponse>>;\n    /**\n     * Get UM futures Transaction download link by Id\n     *\n     * Download link expiration: 24h\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Transaction Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesTransactionDownloadLinkByIdRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUmFuturesTransactionDownloadLinkById(\n        requestParameters: GetUmFuturesTransactionDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesTransactionDownloadLinkByIdResponse>>;\n    /**\n     * Get UM Income History\n     *\n     * If neither `startTime` nor `endTime` is sent, the recent 7-day data will be returned.\n     * If `incomeType` is not sent, all kinds of flow will be returned\n     * \"trandId\" is unique in the same incomeType for a user\n     * Income history only contains data for the last three months\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Income History(USER_DATA)\n     * @param {GetUmIncomeHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUmIncomeHistory(\n        requestParameters?: GetUmIncomeHistoryRequest\n    ): Promise<RestApiResponse<GetUmIncomeHistoryResponse>>;\n    /**\n     * Get User Commission Rate for CM\n     *\n     * Weight: 20\n     *\n     * @summary Get User Commission Rate for CM(USER_DATA)\n     * @param {GetUserCommissionRateForCmRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUserCommissionRateForCm(\n        requestParameters: GetUserCommissionRateForCmRequest\n    ): Promise<RestApiResponse<GetUserCommissionRateForCmResponse>>;\n    /**\n     * Get User Commission Rate for UM\n     *\n     * Weight: 20\n     *\n     * @summary Get User Commission Rate for UM(USER_DATA)\n     * @param {GetUserCommissionRateForUmRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    getUserCommissionRateForUm(\n        requestParameters: GetUserCommissionRateForUmRequest\n    ): Promise<RestApiResponse<GetUserCommissionRateForUmResponse>>;\n    /**\n     * Query margin max borrow\n     *\n     * Weight: 5\n     *\n     * @summary Margin Max Borrow(USER_DATA)\n     * @param {MarginMaxBorrowRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    marginMaxBorrow(\n        requestParameters: MarginMaxBorrowRequest\n    ): Promise<RestApiResponse<MarginMaxBorrowResponse>>;\n    /**\n     * Portfolio Margin UM Trading Quantitative Rules Indicators\n     *\n     * Weight: 1 for a single symbol\n     * 10 when the symbol parameter is omitted\n     *\n     * @summary Portfolio Margin UM Trading Quantitative Rules Indicators(USER_DATA)\n     * @param {PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    portfolioMarginUmTradingQuantitativeRulesIndicators(\n        requestParameters?: PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest\n    ): Promise<RestApiResponse<PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse>>;\n    /**\n     * Get current CM position information.\n     *\n     * If neither `marginAsset` nor `pair` is sent, positions of all symbols with `TRADING` status will be returned.\n     * for One-way Mode user, the response will only show the \"BOTH\" positions\n     * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n     * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Position Information(USER_DATA)\n     * @param {QueryCmPositionInformationRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryCmPositionInformation(\n        requestParameters?: QueryCmPositionInformationRequest\n    ): Promise<RestApiResponse<QueryCmPositionInformationResponse>>;\n    /**\n     * Query margin loan record\n     *\n     * txId or startTime must be sent. txId takes precedence.\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 30 days.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * Set `archived` to `true` to query data from 6 months ago\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin Loan Record(USER_DATA)\n     * @param {QueryMarginLoanRecordRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryMarginLoanRecord(\n        requestParameters: QueryMarginLoanRecordRequest\n    ): Promise<RestApiResponse<QueryMarginLoanRecordResponse>>;\n    /**\n     * Query Margin Max Withdraw\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Max Withdraw(USER_DATA)\n     * @param {QueryMarginMaxWithdrawRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryMarginMaxWithdraw(\n        requestParameters: QueryMarginMaxWithdrawRequest\n    ): Promise<RestApiResponse<QueryMarginMaxWithdrawResponse>>;\n    /**\n     * Query margin repay record.\n     *\n     * txId or startTime must be sent. txId takes precedence.\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 30 days.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * Set `archived` to `true` to query data from 6 months ago\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin repay Record(USER_DATA)\n     * @param {QueryMarginRepayRecordRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryMarginRepayRecord(\n        requestParameters: QueryMarginRepayRecordRequest\n    ): Promise<RestApiResponse<QueryMarginRepayRecordResponse>>;\n    /**\n     * Query interest history of negative balance for portfolio margin.\n     *\n     * Response in descending order\n     * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n     * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n     *\n     * Weight: 50\n     *\n     * @summary Query Portfolio Margin Negative Balance Interest History(USER_DATA)\n     * @param {QueryPortfolioMarginNegativeBalanceInterestHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryPortfolioMarginNegativeBalanceInterestHistory(\n        requestParameters?: QueryPortfolioMarginNegativeBalanceInterestHistoryRequest\n    ): Promise<RestApiResponse<QueryPortfolioMarginNegativeBalanceInterestHistoryResponse>>;\n    /**\n     * Get current UM position information.\n     *\n     * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n     * for One-way Mode user, the response will only show the \"BOTH\" positions\n     * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n     *\n     * Weight: 5\n     *\n     * @summary Query UM Position Information(USER_DATA)\n     * @param {QueryUmPositionInformationRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryUmPositionInformation(\n        requestParameters?: QueryUmPositionInformationRequest\n    ): Promise<RestApiResponse<QueryUmPositionInformationResponse>>;\n    /**\n     * Query user negative balance auto exchange record\n     *\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 3 months.\n     *\n     * Weight: 100\n     *\n     * @summary Query User Negative Balance Auto Exchange Record (USER_DATA)\n     * @param {QueryUserNegativeBalanceAutoExchangeRecordRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryUserNegativeBalanceAutoExchangeRecord(\n        requestParameters: QueryUserNegativeBalanceAutoExchangeRecordRequest\n    ): Promise<RestApiResponse<QueryUserNegativeBalanceAutoExchangeRecordResponse>>;\n    /**\n     * Query User Rate Limit\n     *\n     * Weight: 1\n     *\n     * @summary Query User Rate Limit (USER_DATA)\n     * @param {QueryUserRateLimitRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    queryUserRateLimit(\n        requestParameters?: QueryUserRateLimitRequest\n    ): Promise<RestApiResponse<QueryUserRateLimitResponse>>;\n    /**\n     * Repay futures Negative Balance\n     *\n     * Weight: 750\n     *\n     * @summary Repay futures Negative Balance(USER_DATA)\n     * @param {RepayFuturesNegativeBalanceRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    repayFuturesNegativeBalance(\n        requestParameters?: RepayFuturesNegativeBalanceRequest\n    ): Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>>;\n    /**\n     * Query UM Futures account configuration\n     *\n     * Weight: 5\n     *\n     * @summary UM Futures Account Configuration(USER_DATA)\n     * @param {UmFuturesAccountConfigurationRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    umFuturesAccountConfiguration(\n        requestParameters?: UmFuturesAccountConfigurationRequest\n    ): Promise<RestApiResponse<UmFuturesAccountConfigurationResponse>>;\n    /**\n     * Get current UM account symbol configuration.\n     *\n     * Weight: 5\n     *\n     * @summary UM Futures Symbol Configuration(USER_DATA)\n     * @param {UmFuturesSymbolConfigurationRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    umFuturesSymbolConfiguration(\n        requestParameters?: UmFuturesSymbolConfigurationRequest\n    ): Promise<RestApiResponse<UmFuturesSymbolConfigurationResponse>>;\n    /**\n     * Query UM notional and leverage brackets\n     *\n     * Weight: 1\n     *\n     * @summary UM Notional and Leverage Brackets (USER_DATA)\n     * @param {UmNotionalAndLeverageBracketsRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApiInterface\n     */\n    umNotionalAndLeverageBrackets(\n        requestParameters?: UmNotionalAndLeverageBracketsRequest\n    ): Promise<RestApiResponse<UmNotionalAndLeverageBracketsResponse>>;\n}\n\n/**\n * Request parameters for accountBalance operation in AccountApi.\n * @interface AccountBalanceRequest\n */\nexport interface AccountBalanceRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiAccountBalance\n     */\n    readonly asset?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiAccountBalance\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for accountInformation operation in AccountApi.\n * @interface AccountInformationRequest\n */\nexport interface AccountInformationRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiAccountInformation\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for bnbTransfer operation in AccountApi.\n * @interface BnbTransferRequest\n */\nexport interface BnbTransferRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiBnbTransfer\n     */\n    readonly amount: number;\n\n    /**\n     * \"TO_UM\",\"FROM_UM\"\n     * @type {string}\n     * @memberof AccountApiBnbTransfer\n     */\n    readonly transferSide: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiBnbTransfer\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for changeAutoRepayFuturesStatus operation in AccountApi.\n * @interface ChangeAutoRepayFuturesStatusRequest\n */\nexport interface ChangeAutoRepayFuturesStatusRequest {\n    /**\n     * Default: `true`; `false` for turn off the auto-repay futures negative balance function\n     * @type {string}\n     * @memberof AccountApiChangeAutoRepayFuturesStatus\n     */\n    readonly autoRepay: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiChangeAutoRepayFuturesStatus\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for changeCmInitialLeverage operation in AccountApi.\n * @interface ChangeCmInitialLeverageRequest\n */\nexport interface ChangeCmInitialLeverageRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiChangeCmInitialLeverage\n     */\n    readonly symbol: string;\n\n    /**\n     * target initial leverage: int from 1 to 125\n     * @type {number}\n     * @memberof AccountApiChangeCmInitialLeverage\n     */\n    readonly leverage: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiChangeCmInitialLeverage\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for changeCmPositionMode operation in AccountApi.\n * @interface ChangeCmPositionModeRequest\n */\nexport interface ChangeCmPositionModeRequest {\n    /**\n     * \"true\": Hedge Mode; \"false\": One-way Mode\n     * @type {string}\n     * @memberof AccountApiChangeCmPositionMode\n     */\n    readonly dualSidePosition: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiChangeCmPositionMode\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for changeUmInitialLeverage operation in AccountApi.\n * @interface ChangeUmInitialLeverageRequest\n */\nexport interface ChangeUmInitialLeverageRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiChangeUmInitialLeverage\n     */\n    readonly symbol: string;\n\n    /**\n     * target initial leverage: int from 1 to 125\n     * @type {number}\n     * @memberof AccountApiChangeUmInitialLeverage\n     */\n    readonly leverage: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiChangeUmInitialLeverage\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for changeUmPositionMode operation in AccountApi.\n * @interface ChangeUmPositionModeRequest\n */\nexport interface ChangeUmPositionModeRequest {\n    /**\n     * \"true\": Hedge Mode; \"false\": One-way Mode\n     * @type {string}\n     * @memberof AccountApiChangeUmPositionMode\n     */\n    readonly dualSidePosition: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiChangeUmPositionMode\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cmNotionalAndLeverageBrackets operation in AccountApi.\n * @interface CmNotionalAndLeverageBracketsRequest\n */\nexport interface CmNotionalAndLeverageBracketsRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiCmNotionalAndLeverageBrackets\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiCmNotionalAndLeverageBrackets\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for fundAutoCollection operation in AccountApi.\n * @interface FundAutoCollectionRequest\n */\nexport interface FundAutoCollectionRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiFundAutoCollection\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for fundCollectionByAsset operation in AccountApi.\n * @interface FundCollectionByAssetRequest\n */\nexport interface FundCollectionByAssetRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiFundCollectionByAsset\n     */\n    readonly asset: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiFundCollectionByAsset\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getAutoRepayFuturesStatus operation in AccountApi.\n * @interface GetAutoRepayFuturesStatusRequest\n */\nexport interface GetAutoRepayFuturesStatusRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetAutoRepayFuturesStatus\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getCmAccountDetail operation in AccountApi.\n * @interface GetCmAccountDetailRequest\n */\nexport interface GetCmAccountDetailRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetCmAccountDetail\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getCmCurrentPositionMode operation in AccountApi.\n * @interface GetCmCurrentPositionModeRequest\n */\nexport interface GetCmCurrentPositionModeRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetCmCurrentPositionMode\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getCmIncomeHistory operation in AccountApi.\n * @interface GetCmIncomeHistoryRequest\n */\nexport interface GetCmIncomeHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiGetCmIncomeHistory\n     */\n    readonly symbol?: string;\n\n    /**\n     * TRANSFER, WELCOME_BONUS, REALIZED_PNL, FUNDING_FEE, COMMISSION, INSURANCE_CLEAR, REFERRAL_KICKBACK, COMMISSION_REBATE, API_REBATE, CONTEST_REWARD, CROSS_COLLATERAL_TRANSFER, OPTIONS_PREMIUM_FEE, OPTIONS_SETTLE_PROFIT, INTERNAL_TRANSFER, AUTO_EXCHANGE, DELIVERED_SETTELMENT, COIN_SWAP_DEPOSIT, COIN_SWAP_WITHDRAW, POSITION_LIMIT_INCREASE_FEE\n     * @type {string}\n     * @memberof AccountApiGetCmIncomeHistory\n     */\n    readonly incomeType?: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof AccountApiGetCmIncomeHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof AccountApiGetCmIncomeHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetCmIncomeHistory\n     */\n    readonly page?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof AccountApiGetCmIncomeHistory\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetCmIncomeHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getDownloadIdForUmFuturesOrderHistory operation in AccountApi.\n * @interface GetDownloadIdForUmFuturesOrderHistoryRequest\n */\nexport interface GetDownloadIdForUmFuturesOrderHistoryRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetDownloadIdForUmFuturesOrderHistory\n     */\n    readonly startTime: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetDownloadIdForUmFuturesOrderHistory\n     */\n    readonly endTime: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetDownloadIdForUmFuturesOrderHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getDownloadIdForUmFuturesTradeHistory operation in AccountApi.\n * @interface GetDownloadIdForUmFuturesTradeHistoryRequest\n */\nexport interface GetDownloadIdForUmFuturesTradeHistoryRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetDownloadIdForUmFuturesTradeHistory\n     */\n    readonly startTime: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetDownloadIdForUmFuturesTradeHistory\n     */\n    readonly endTime: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetDownloadIdForUmFuturesTradeHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getDownloadIdForUmFuturesTransactionHistory operation in AccountApi.\n * @interface GetDownloadIdForUmFuturesTransactionHistoryRequest\n */\nexport interface GetDownloadIdForUmFuturesTransactionHistoryRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetDownloadIdForUmFuturesTransactionHistory\n     */\n    readonly startTime: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetDownloadIdForUmFuturesTransactionHistory\n     */\n    readonly endTime: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetDownloadIdForUmFuturesTransactionHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getMarginBorrowLoanInterestHistory operation in AccountApi.\n * @interface GetMarginBorrowLoanInterestHistoryRequest\n */\nexport interface GetMarginBorrowLoanInterestHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiGetMarginBorrowLoanInterestHistory\n     */\n    readonly asset?: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof AccountApiGetMarginBorrowLoanInterestHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof AccountApiGetMarginBorrowLoanInterestHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof AccountApiGetMarginBorrowLoanInterestHistory\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10 Max:100\n     * @type {number}\n     * @memberof AccountApiGetMarginBorrowLoanInterestHistory\n     */\n    readonly size?: number;\n\n    /**\n     * Default: `false`. Set to `true` for archived data from 6 months ago\n     * @type {string}\n     * @memberof AccountApiGetMarginBorrowLoanInterestHistory\n     */\n    readonly archived?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetMarginBorrowLoanInterestHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getUmAccountDetail operation in AccountApi.\n * @interface GetUmAccountDetailRequest\n */\nexport interface GetUmAccountDetailRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetUmAccountDetail\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getUmAccountDetailV2 operation in AccountApi.\n * @interface GetUmAccountDetailV2Request\n */\nexport interface GetUmAccountDetailV2Request {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetUmAccountDetailV2\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getUmCurrentPositionMode operation in AccountApi.\n * @interface GetUmCurrentPositionModeRequest\n */\nexport interface GetUmCurrentPositionModeRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetUmCurrentPositionMode\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getUmFuturesOrderDownloadLinkById operation in AccountApi.\n * @interface GetUmFuturesOrderDownloadLinkByIdRequest\n */\nexport interface GetUmFuturesOrderDownloadLinkByIdRequest {\n    /**\n     * get by download id api\n     * @type {string}\n     * @memberof AccountApiGetUmFuturesOrderDownloadLinkById\n     */\n    readonly downloadId: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetUmFuturesOrderDownloadLinkById\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getUmFuturesTradeDownloadLinkById operation in AccountApi.\n * @interface GetUmFuturesTradeDownloadLinkByIdRequest\n */\nexport interface GetUmFuturesTradeDownloadLinkByIdRequest {\n    /**\n     * get by download id api\n     * @type {string}\n     * @memberof AccountApiGetUmFuturesTradeDownloadLinkById\n     */\n    readonly downloadId: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetUmFuturesTradeDownloadLinkById\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getUmFuturesTransactionDownloadLinkById operation in AccountApi.\n * @interface GetUmFuturesTransactionDownloadLinkByIdRequest\n */\nexport interface GetUmFuturesTransactionDownloadLinkByIdRequest {\n    /**\n     * get by download id api\n     * @type {string}\n     * @memberof AccountApiGetUmFuturesTransactionDownloadLinkById\n     */\n    readonly downloadId: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetUmFuturesTransactionDownloadLinkById\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getUmIncomeHistory operation in AccountApi.\n * @interface GetUmIncomeHistoryRequest\n */\nexport interface GetUmIncomeHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiGetUmIncomeHistory\n     */\n    readonly symbol?: string;\n\n    /**\n     * TRANSFER, WELCOME_BONUS, REALIZED_PNL, FUNDING_FEE, COMMISSION, INSURANCE_CLEAR, REFERRAL_KICKBACK, COMMISSION_REBATE, API_REBATE, CONTEST_REWARD, CROSS_COLLATERAL_TRANSFER, OPTIONS_PREMIUM_FEE, OPTIONS_SETTLE_PROFIT, INTERNAL_TRANSFER, AUTO_EXCHANGE, DELIVERED_SETTELMENT, COIN_SWAP_DEPOSIT, COIN_SWAP_WITHDRAW, POSITION_LIMIT_INCREASE_FEE\n     * @type {string}\n     * @memberof AccountApiGetUmIncomeHistory\n     */\n    readonly incomeType?: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof AccountApiGetUmIncomeHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof AccountApiGetUmIncomeHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetUmIncomeHistory\n     */\n    readonly page?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof AccountApiGetUmIncomeHistory\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetUmIncomeHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getUserCommissionRateForCm operation in AccountApi.\n * @interface GetUserCommissionRateForCmRequest\n */\nexport interface GetUserCommissionRateForCmRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiGetUserCommissionRateForCm\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetUserCommissionRateForCm\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getUserCommissionRateForUm operation in AccountApi.\n * @interface GetUserCommissionRateForUmRequest\n */\nexport interface GetUserCommissionRateForUmRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiGetUserCommissionRateForUm\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiGetUserCommissionRateForUm\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for marginMaxBorrow operation in AccountApi.\n * @interface MarginMaxBorrowRequest\n */\nexport interface MarginMaxBorrowRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiMarginMaxBorrow\n     */\n    readonly asset: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiMarginMaxBorrow\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for portfolioMarginUmTradingQuantitativeRulesIndicators operation in AccountApi.\n * @interface PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest\n */\nexport interface PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiPortfolioMarginUmTradingQuantitativeRulesIndicators\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiPortfolioMarginUmTradingQuantitativeRulesIndicators\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryCmPositionInformation operation in AccountApi.\n * @interface QueryCmPositionInformationRequest\n */\nexport interface QueryCmPositionInformationRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryCmPositionInformation\n     */\n    readonly marginAsset?: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryCmPositionInformation\n     */\n    readonly pair?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryCmPositionInformation\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryMarginLoanRecord operation in AccountApi.\n * @interface QueryMarginLoanRecordRequest\n */\nexport interface QueryMarginLoanRecordRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly asset: string;\n\n    /**\n     * the `tranId` in `POST/papi/v1/marginLoan`\n     * @type {number}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly txId?: number;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10 Max:100\n     * @type {number}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly size?: number;\n\n    /**\n     * Default: `false`. Set to `true` for archived data from 6 months ago\n     * @type {string}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly archived?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryMarginLoanRecord\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryMarginMaxWithdraw operation in AccountApi.\n * @interface QueryMarginMaxWithdrawRequest\n */\nexport interface QueryMarginMaxWithdrawRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryMarginMaxWithdraw\n     */\n    readonly asset: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryMarginMaxWithdraw\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryMarginRepayRecord operation in AccountApi.\n * @interface QueryMarginRepayRecordRequest\n */\nexport interface QueryMarginRepayRecordRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly asset: string;\n\n    /**\n     * the `tranId` in `POST/papi/v1/marginLoan`\n     * @type {number}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly txId?: number;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10 Max:100\n     * @type {number}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly size?: number;\n\n    /**\n     * Default: `false`. Set to `true` for archived data from 6 months ago\n     * @type {string}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly archived?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryMarginRepayRecord\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryPortfolioMarginNegativeBalanceInterestHistory operation in AccountApi.\n * @interface QueryPortfolioMarginNegativeBalanceInterestHistoryRequest\n */\nexport interface QueryPortfolioMarginNegativeBalanceInterestHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryPortfolioMarginNegativeBalanceInterestHistory\n     */\n    readonly asset?: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof AccountApiQueryPortfolioMarginNegativeBalanceInterestHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof AccountApiQueryPortfolioMarginNegativeBalanceInterestHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Default:10 Max:100\n     * @type {number}\n     * @memberof AccountApiQueryPortfolioMarginNegativeBalanceInterestHistory\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryPortfolioMarginNegativeBalanceInterestHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryUmPositionInformation operation in AccountApi.\n * @interface QueryUmPositionInformationRequest\n */\nexport interface QueryUmPositionInformationRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiQueryUmPositionInformation\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryUmPositionInformation\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryUserNegativeBalanceAutoExchangeRecord operation in AccountApi.\n * @interface QueryUserNegativeBalanceAutoExchangeRecordRequest\n */\nexport interface QueryUserNegativeBalanceAutoExchangeRecordRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryUserNegativeBalanceAutoExchangeRecord\n     */\n    readonly startTime: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryUserNegativeBalanceAutoExchangeRecord\n     */\n    readonly endTime: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryUserNegativeBalanceAutoExchangeRecord\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryUserRateLimit operation in AccountApi.\n * @interface QueryUserRateLimitRequest\n */\nexport interface QueryUserRateLimitRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiQueryUserRateLimit\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for repayFuturesNegativeBalance operation in AccountApi.\n * @interface RepayFuturesNegativeBalanceRequest\n */\nexport interface RepayFuturesNegativeBalanceRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiRepayFuturesNegativeBalance\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for umFuturesAccountConfiguration operation in AccountApi.\n * @interface UmFuturesAccountConfigurationRequest\n */\nexport interface UmFuturesAccountConfigurationRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiUmFuturesAccountConfiguration\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for umFuturesSymbolConfiguration operation in AccountApi.\n * @interface UmFuturesSymbolConfigurationRequest\n */\nexport interface UmFuturesSymbolConfigurationRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiUmFuturesSymbolConfiguration\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiUmFuturesSymbolConfiguration\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for umNotionalAndLeverageBrackets operation in AccountApi.\n * @interface UmNotionalAndLeverageBracketsRequest\n */\nexport interface UmNotionalAndLeverageBracketsRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof AccountApiUmNotionalAndLeverageBrackets\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof AccountApiUmNotionalAndLeverageBrackets\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * AccountApi - object-oriented interface\n * @class AccountApi\n */\nexport class AccountApi implements AccountApiInterface {\n    private readonly configuration: ConfigurationRestAPI;\n    private localVarAxiosParamCreator;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.localVarAxiosParamCreator = AccountApiAxiosParamCreator(configuration);\n    }\n\n    /**\n     * Query account balance\n     *\n     * Weight: 20\n     *\n     * @summary Account Balance(USER_DATA)\n     * @param {AccountBalanceRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<AccountBalanceResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Account-Balance Binance API Documentation}\n     */\n    public async accountBalance(\n        requestParameters: AccountBalanceRequest = {}\n    ): Promise<RestApiResponse<AccountBalanceResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.accountBalance(\n            requestParameters?.asset,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<AccountBalanceResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query account information\n     *\n     * Weight: 20\n     *\n     * @summary Account Information(USER_DATA)\n     * @param {AccountInformationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<AccountInformationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Account-Information Binance API Documentation}\n     */\n    public async accountInformation(\n        requestParameters: AccountInformationRequest = {}\n    ): Promise<RestApiResponse<AccountInformationResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.accountInformation(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<AccountInformationResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Transfer BNB in and out of UM\n     *\n     * The endpoint can only be called 10 times per 10 minutes in a rolling manner\n     *\n     * Weight: 750\n     *\n     * @summary BNB transfer (TRADE)\n     * @param {BnbTransferRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<BnbTransferResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/BNB-transfer Binance API Documentation}\n     */\n    public async bnbTransfer(\n        requestParameters: BnbTransferRequest\n    ): Promise<RestApiResponse<BnbTransferResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.bnbTransfer(\n            requestParameters?.amount,\n            requestParameters?.transferSide,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<BnbTransferResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Change Auto-repay-futures Status\n     *\n     * Weight: 750\n     *\n     * @summary Change Auto-repay-futures Status(TRADE)\n     * @param {ChangeAutoRepayFuturesStatusRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-Auto-repay-futures-Status Binance API Documentation}\n     */\n    public async changeAutoRepayFuturesStatus(\n        requestParameters: ChangeAutoRepayFuturesStatusRequest\n    ): Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.changeAutoRepayFuturesStatus(\n            requestParameters?.autoRepay,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ChangeAutoRepayFuturesStatusResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Change user's initial leverage of specific symbol in CM.\n     *\n     * Weight: 1\n     *\n     * @summary Change CM Initial Leverage (TRADE)\n     * @param {ChangeCmInitialLeverageRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeCmInitialLeverageResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-CM-Initial-Leverage Binance API Documentation}\n     */\n    public async changeCmInitialLeverage(\n        requestParameters: ChangeCmInitialLeverageRequest\n    ): Promise<RestApiResponse<ChangeCmInitialLeverageResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.changeCmInitialLeverage(\n            requestParameters?.symbol,\n            requestParameters?.leverage,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ChangeCmInitialLeverageResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n     *\n     * Weight: 1\n     *\n     * @summary Change CM Position Mode(TRADE)\n     * @param {ChangeCmPositionModeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeCmPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-CM-Position-Mode Binance API Documentation}\n     */\n    public async changeCmPositionMode(\n        requestParameters: ChangeCmPositionModeRequest\n    ): Promise<RestApiResponse<ChangeCmPositionModeResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.changeCmPositionMode(\n            requestParameters?.dualSidePosition,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ChangeCmPositionModeResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Change user's initial leverage of specific symbol in UM.\n     *\n     * Weight: 1\n     *\n     * @summary Change UM Initial Leverage(TRADE)\n     * @param {ChangeUmInitialLeverageRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeUmInitialLeverageResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-UM-Initial-Leverage Binance API Documentation}\n     */\n    public async changeUmInitialLeverage(\n        requestParameters: ChangeUmInitialLeverageRequest\n    ): Promise<RestApiResponse<ChangeUmInitialLeverageResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.changeUmInitialLeverage(\n            requestParameters?.symbol,\n            requestParameters?.leverage,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ChangeUmInitialLeverageResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n     *\n     * Weight: 1\n     *\n     * @summary Change UM Position Mode(TRADE)\n     * @param {ChangeUmPositionModeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeUmPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-UM-Position-Mode Binance API Documentation}\n     */\n    public async changeUmPositionMode(\n        requestParameters: ChangeUmPositionModeRequest\n    ): Promise<RestApiResponse<ChangeUmPositionModeResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.changeUmPositionMode(\n            requestParameters?.dualSidePosition,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ChangeUmPositionModeResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query CM notional and leverage brackets\n     *\n     * Weight: 1\n     *\n     * @summary CM Notional and Leverage Brackets(USER_DATA)\n     * @param {CmNotionalAndLeverageBracketsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CmNotionalAndLeverageBracketsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/CM-Notional-and-Leverage-Brackets Binance API Documentation}\n     */\n    public async cmNotionalAndLeverageBrackets(\n        requestParameters: CmNotionalAndLeverageBracketsRequest = {}\n    ): Promise<RestApiResponse<CmNotionalAndLeverageBracketsResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.cmNotionalAndLeverageBrackets(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<CmNotionalAndLeverageBracketsResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Fund collection for Portfolio Margin\n     *\n     * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n     * You can only use this function 500 times per hour in a rolling manner.\n     *\n     * Weight: 750\n     *\n     * @summary Fund Auto-collection(TRADE)\n     * @param {FundAutoCollectionRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<FundAutoCollectionResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Fund-Auto-collection Binance API Documentation}\n     */\n    public async fundAutoCollection(\n        requestParameters: FundAutoCollectionRequest = {}\n    ): Promise<RestApiResponse<FundAutoCollectionResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.fundAutoCollection(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<FundAutoCollectionResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Transfers specific asset from Futures Account to Margin account\n     *\n     * The BNB transfer is not be supported\n     *\n     * Weight: 30\n     *\n     * @summary Fund Collection by Asset(TRADE)\n     * @param {FundCollectionByAssetRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<FundCollectionByAssetResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Fund-Collection-by-Asset Binance API Documentation}\n     */\n    public async fundCollectionByAsset(\n        requestParameters: FundCollectionByAssetRequest\n    ): Promise<RestApiResponse<FundCollectionByAssetResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.fundCollectionByAsset(\n            requestParameters?.asset,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<FundCollectionByAssetResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Auto-repay-futures Status\n     *\n     * Weight: 30\n     *\n     * @summary Get Auto-repay-futures Status(USER_DATA)\n     * @param {GetAutoRepayFuturesStatusRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Auto-repay-futures-Status Binance API Documentation}\n     */\n    public async getAutoRepayFuturesStatus(\n        requestParameters: GetAutoRepayFuturesStatusRequest = {}\n    ): Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getAutoRepayFuturesStatus(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetAutoRepayFuturesStatusResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get current CM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get CM Account Detail(USER_DATA)\n     * @param {GetCmAccountDetailRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetCmAccountDetailResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Account-Detail Binance API Documentation}\n     */\n    public async getCmAccountDetail(\n        requestParameters: GetCmAccountDetailRequest = {}\n    ): Promise<RestApiResponse<GetCmAccountDetailResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getCmAccountDetail(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetCmAccountDetailResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n     *\n     * Weight: 30\n     *\n     * @summary Get CM Current Position Mode(USER_DATA)\n     * @param {GetCmCurrentPositionModeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetCmCurrentPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Current-Position-Mode Binance API Documentation}\n     */\n    public async getCmCurrentPositionMode(\n        requestParameters: GetCmCurrentPositionModeRequest = {}\n    ): Promise<RestApiResponse<GetCmCurrentPositionModeResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getCmCurrentPositionMode(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetCmCurrentPositionModeResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get CM Income History\n     *\n     *\n     * If `incomeType` is not sent, all kinds of flow will be returned\n     * \"trandId\" is unique in the same \"incomeType\" for a user\n     * The interval between `startTime` and `endTime` can not exceed 200 days:\n     * If `startTime` and `endTime` are not sent, the last 200 days will be returned\n     *\n     * Weight: 30\n     *\n     * @summary Get CM Income History(USER_DATA)\n     * @param {GetCmIncomeHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetCmIncomeHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Income-History Binance API Documentation}\n     */\n    public async getCmIncomeHistory(\n        requestParameters: GetCmIncomeHistoryRequest = {}\n    ): Promise<RestApiResponse<GetCmIncomeHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getCmIncomeHistory(\n            requestParameters?.symbol,\n            requestParameters?.incomeType,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.page,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetCmIncomeHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get download id for UM futures order history\n     *\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     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Order History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetDownloadIdForUmFuturesOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Order-History Binance API Documentation}\n     */\n    public async getDownloadIdForUmFuturesOrderHistory(\n        requestParameters: GetDownloadIdForUmFuturesOrderHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesOrderHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getDownloadIdForUmFuturesOrderHistory(\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetDownloadIdForUmFuturesOrderHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get download id for UM futures trade history\n     *\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     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Trade History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesTradeHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetDownloadIdForUmFuturesTradeHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Trade-History Binance API Documentation}\n     */\n    public async getDownloadIdForUmFuturesTradeHistory(\n        requestParameters: GetDownloadIdForUmFuturesTradeHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesTradeHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getDownloadIdForUmFuturesTradeHistory(\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetDownloadIdForUmFuturesTradeHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get download id for UM futures transaction history\n     *\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     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Transaction History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesTransactionHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetDownloadIdForUmFuturesTransactionHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Transaction-History Binance API Documentation}\n     */\n    public async getDownloadIdForUmFuturesTransactionHistory(\n        requestParameters: GetDownloadIdForUmFuturesTransactionHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesTransactionHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getDownloadIdForUmFuturesTransactionHistory(\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetDownloadIdForUmFuturesTransactionHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get Margin Borrow/Loan Interest History\n     *\n     *\n     * Response in descending order\n     * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n     * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n     * Type in response has 5 enums:\n     * `PERIODIC` interest charged per hour\n     * `ON_BORROW` first interest charged on borrow\n     * `PERIODIC_CONVERTED` interest charged per hour converted into BNB\n     * `ON_BORROW_CONVERTED` first interest charged on borrow converted into BNB\n     * `PORTFOLIO` Portfolio Margin negative balance daily interest\n     *\n     * Weight: 1\n     *\n     * @summary Get Margin Borrow/Loan Interest History(USER_DATA)\n     * @param {GetMarginBorrowLoanInterestHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetMarginBorrowLoanInterestHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Margin-BorrowLoan-Interest-History Binance API Documentation}\n     */\n    public async getMarginBorrowLoanInterestHistory(\n        requestParameters: GetMarginBorrowLoanInterestHistoryRequest = {}\n    ): Promise<RestApiResponse<GetMarginBorrowLoanInterestHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getMarginBorrowLoanInterestHistory(\n                requestParameters?.asset,\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.current,\n                requestParameters?.size,\n                requestParameters?.archived,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetMarginBorrowLoanInterestHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get current UM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get UM Account Detail(USER_DATA)\n     * @param {GetUmAccountDetailRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmAccountDetailResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Account-Detail Binance API Documentation}\n     */\n    public async getUmAccountDetail(\n        requestParameters: GetUmAccountDetailRequest = {}\n    ): Promise<RestApiResponse<GetUmAccountDetailResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUmAccountDetail(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUmAccountDetailResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get current UM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get UM Account Detail V2(USER_DATA)\n     * @param {GetUmAccountDetailV2Request} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmAccountDetailV2Response>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Account-Detail-V2 Binance API Documentation}\n     */\n    public async getUmAccountDetailV2(\n        requestParameters: GetUmAccountDetailV2Request = {}\n    ): Promise<RestApiResponse<GetUmAccountDetailV2Response>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUmAccountDetailV2(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUmAccountDetailV2Response>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Current Position Mode(USER_DATA)\n     * @param {GetUmCurrentPositionModeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmCurrentPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Current-Position-Mode Binance API Documentation}\n     */\n    public async getUmCurrentPositionMode(\n        requestParameters: GetUmCurrentPositionModeRequest = {}\n    ): Promise<RestApiResponse<GetUmCurrentPositionModeResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUmCurrentPositionMode(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUmCurrentPositionModeResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get UM futures order download link by Id\n     *\n     * Download link expiration: 24h\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Order Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesOrderDownloadLinkByIdRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmFuturesOrderDownloadLinkByIdResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Order-Download-Link-by-Id Binance API Documentation}\n     */\n    public async getUmFuturesOrderDownloadLinkById(\n        requestParameters: GetUmFuturesOrderDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesOrderDownloadLinkByIdResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getUmFuturesOrderDownloadLinkById(\n                requestParameters?.downloadId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetUmFuturesOrderDownloadLinkByIdResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get UM futures trade download link by Id\n     *\n     * Download link expiration: 24h\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Trade Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesTradeDownloadLinkByIdRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmFuturesTradeDownloadLinkByIdResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Trade-Download-Link-by-Id Binance API Documentation}\n     */\n    public async getUmFuturesTradeDownloadLinkById(\n        requestParameters: GetUmFuturesTradeDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesTradeDownloadLinkByIdResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getUmFuturesTradeDownloadLinkById(\n                requestParameters?.downloadId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetUmFuturesTradeDownloadLinkByIdResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get UM futures Transaction download link by Id\n     *\n     * Download link expiration: 24h\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Transaction Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesTransactionDownloadLinkByIdRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmFuturesTransactionDownloadLinkByIdResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Transaction-Download-Link-by-Id Binance API Documentation}\n     */\n    public async getUmFuturesTransactionDownloadLinkById(\n        requestParameters: GetUmFuturesTransactionDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesTransactionDownloadLinkByIdResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.getUmFuturesTransactionDownloadLinkById(\n                requestParameters?.downloadId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<GetUmFuturesTransactionDownloadLinkByIdResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get UM Income History\n     *\n     * If neither `startTime` nor `endTime` is sent, the recent 7-day data will be returned.\n     * If `incomeType` is not sent, all kinds of flow will be returned\n     * \"trandId\" is unique in the same incomeType for a user\n     * Income history only contains data for the last three months\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Income History(USER_DATA)\n     * @param {GetUmIncomeHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmIncomeHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Income-History Binance API Documentation}\n     */\n    public async getUmIncomeHistory(\n        requestParameters: GetUmIncomeHistoryRequest = {}\n    ): Promise<RestApiResponse<GetUmIncomeHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUmIncomeHistory(\n            requestParameters?.symbol,\n            requestParameters?.incomeType,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.page,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUmIncomeHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get User Commission Rate for CM\n     *\n     * Weight: 20\n     *\n     * @summary Get User Commission Rate for CM(USER_DATA)\n     * @param {GetUserCommissionRateForCmRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUserCommissionRateForCmResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-User-Commission-Rate-for-CM Binance API Documentation}\n     */\n    public async getUserCommissionRateForCm(\n        requestParameters: GetUserCommissionRateForCmRequest\n    ): Promise<RestApiResponse<GetUserCommissionRateForCmResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUserCommissionRateForCm(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUserCommissionRateForCmResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get User Commission Rate for UM\n     *\n     * Weight: 20\n     *\n     * @summary Get User Commission Rate for UM(USER_DATA)\n     * @param {GetUserCommissionRateForUmRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUserCommissionRateForUmResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-User-Commission-Rate-for-UM Binance API Documentation}\n     */\n    public async getUserCommissionRateForUm(\n        requestParameters: GetUserCommissionRateForUmRequest\n    ): Promise<RestApiResponse<GetUserCommissionRateForUmResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUserCommissionRateForUm(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUserCommissionRateForUmResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query margin max borrow\n     *\n     * Weight: 5\n     *\n     * @summary Margin Max Borrow(USER_DATA)\n     * @param {MarginMaxBorrowRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginMaxBorrowResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Margin-Max-Borrow Binance API Documentation}\n     */\n    public async marginMaxBorrow(\n        requestParameters: MarginMaxBorrowRequest\n    ): Promise<RestApiResponse<MarginMaxBorrowResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.marginMaxBorrow(\n            requestParameters?.asset,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<MarginMaxBorrowResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Portfolio Margin UM Trading Quantitative Rules Indicators\n     *\n     * Weight: 1 for a single symbol\n     * 10 when the symbol parameter is omitted\n     *\n     * @summary Portfolio Margin UM Trading Quantitative Rules Indicators(USER_DATA)\n     * @param {PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Portfolio-Margin-UM-Trading-Quantitative-Rules-Indicators Binance API Documentation}\n     */\n    public async portfolioMarginUmTradingQuantitativeRulesIndicators(\n        requestParameters: PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest = {}\n    ): Promise<RestApiResponse<PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.portfolioMarginUmTradingQuantitativeRulesIndicators(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get current CM position information.\n     *\n     * If neither `marginAsset` nor `pair` is sent, positions of all symbols with `TRADING` status will be returned.\n     * for One-way Mode user, the response will only show the \"BOTH\" positions\n     * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n     * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Position Information(USER_DATA)\n     * @param {QueryCmPositionInformationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCmPositionInformationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-CM-Position-Information Binance API Documentation}\n     */\n    public async queryCmPositionInformation(\n        requestParameters: QueryCmPositionInformationRequest = {}\n    ): Promise<RestApiResponse<QueryCmPositionInformationResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryCmPositionInformation(\n            requestParameters?.marginAsset,\n            requestParameters?.pair,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryCmPositionInformationResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query margin loan record\n     *\n     * txId or startTime must be sent. txId takes precedence.\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 30 days.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * Set `archived` to `true` to query data from 6 months ago\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin Loan Record(USER_DATA)\n     * @param {QueryMarginLoanRecordRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginLoanRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-Loan-Record Binance API Documentation}\n     */\n    public async queryMarginLoanRecord(\n        requestParameters: QueryMarginLoanRecordRequest\n    ): Promise<RestApiResponse<QueryMarginLoanRecordResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryMarginLoanRecord(\n            requestParameters?.asset,\n            requestParameters?.txId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.archived,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryMarginLoanRecordResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Margin Max Withdraw\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Max Withdraw(USER_DATA)\n     * @param {QueryMarginMaxWithdrawRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginMaxWithdrawResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-Max-Withdraw Binance API Documentation}\n     */\n    public async queryMarginMaxWithdraw(\n        requestParameters: QueryMarginMaxWithdrawRequest\n    ): Promise<RestApiResponse<QueryMarginMaxWithdrawResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryMarginMaxWithdraw(\n            requestParameters?.asset,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryMarginMaxWithdrawResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query margin repay record.\n     *\n     * txId or startTime must be sent. txId takes precedence.\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 30 days.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * Set `archived` to `true` to query data from 6 months ago\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin repay Record(USER_DATA)\n     * @param {QueryMarginRepayRecordRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginRepayRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-repay-Record Binance API Documentation}\n     */\n    public async queryMarginRepayRecord(\n        requestParameters: QueryMarginRepayRecordRequest\n    ): Promise<RestApiResponse<QueryMarginRepayRecordResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryMarginRepayRecord(\n            requestParameters?.asset,\n            requestParameters?.txId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.archived,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryMarginRepayRecordResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query interest history of negative balance for portfolio margin.\n     *\n     * Response in descending order\n     * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n     * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n     *\n     * Weight: 50\n     *\n     * @summary Query Portfolio Margin Negative Balance Interest History(USER_DATA)\n     * @param {QueryPortfolioMarginNegativeBalanceInterestHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryPortfolioMarginNegativeBalanceInterestHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Portfolio-Margin-Negative-Balance-Interest-History Binance API Documentation}\n     */\n    public async queryPortfolioMarginNegativeBalanceInterestHistory(\n        requestParameters: QueryPortfolioMarginNegativeBalanceInterestHistoryRequest = {}\n    ): Promise<RestApiResponse<QueryPortfolioMarginNegativeBalanceInterestHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryPortfolioMarginNegativeBalanceInterestHistory(\n                requestParameters?.asset,\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.size,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryPortfolioMarginNegativeBalanceInterestHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get current UM position information.\n     *\n     * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n     * for One-way Mode user, the response will only show the \"BOTH\" positions\n     * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n     *\n     * Weight: 5\n     *\n     * @summary Query UM Position Information(USER_DATA)\n     * @param {QueryUmPositionInformationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUmPositionInformationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-UM-Position-Information Binance API Documentation}\n     */\n    public async queryUmPositionInformation(\n        requestParameters: QueryUmPositionInformationRequest = {}\n    ): Promise<RestApiResponse<QueryUmPositionInformationResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUmPositionInformation(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUmPositionInformationResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query user negative balance auto exchange record\n     *\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 3 months.\n     *\n     * Weight: 100\n     *\n     * @summary Query User Negative Balance Auto Exchange Record (USER_DATA)\n     * @param {QueryUserNegativeBalanceAutoExchangeRecordRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUserNegativeBalanceAutoExchangeRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-User-Negative-Balance-Auto-Exchange-Record Binance API Documentation}\n     */\n    public async queryUserNegativeBalanceAutoExchangeRecord(\n        requestParameters: QueryUserNegativeBalanceAutoExchangeRecordRequest\n    ): Promise<RestApiResponse<QueryUserNegativeBalanceAutoExchangeRecordResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryUserNegativeBalanceAutoExchangeRecord(\n                requestParameters?.startTime,\n                requestParameters?.endTime,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryUserNegativeBalanceAutoExchangeRecordResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query User Rate Limit\n     *\n     * Weight: 1\n     *\n     * @summary Query User Rate Limit (USER_DATA)\n     * @param {QueryUserRateLimitRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUserRateLimitResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-User-Rate-Limit Binance API Documentation}\n     */\n    public async queryUserRateLimit(\n        requestParameters: QueryUserRateLimitRequest = {}\n    ): Promise<RestApiResponse<QueryUserRateLimitResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUserRateLimit(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUserRateLimitResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Repay futures Negative Balance\n     *\n     * Weight: 750\n     *\n     * @summary Repay futures Negative Balance(USER_DATA)\n     * @param {RepayFuturesNegativeBalanceRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Repay-futures-Negative-Balance Binance API Documentation}\n     */\n    public async repayFuturesNegativeBalance(\n        requestParameters: RepayFuturesNegativeBalanceRequest = {}\n    ): Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.repayFuturesNegativeBalance(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<RepayFuturesNegativeBalanceResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query UM Futures account configuration\n     *\n     * Weight: 5\n     *\n     * @summary UM Futures Account Configuration(USER_DATA)\n     * @param {UmFuturesAccountConfigurationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmFuturesAccountConfigurationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Account-Config Binance API Documentation}\n     */\n    public async umFuturesAccountConfiguration(\n        requestParameters: UmFuturesAccountConfigurationRequest = {}\n    ): Promise<RestApiResponse<UmFuturesAccountConfigurationResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.umFuturesAccountConfiguration(\n                requestParameters?.recvWindow\n            );\n        return sendRequest<UmFuturesAccountConfigurationResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get current UM account symbol configuration.\n     *\n     * Weight: 5\n     *\n     * @summary UM Futures Symbol Configuration(USER_DATA)\n     * @param {UmFuturesSymbolConfigurationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmFuturesSymbolConfigurationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Symbol-Config Binance API Documentation}\n     */\n    public async umFuturesSymbolConfiguration(\n        requestParameters: UmFuturesSymbolConfigurationRequest = {}\n    ): Promise<RestApiResponse<UmFuturesSymbolConfigurationResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.umFuturesSymbolConfiguration(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<UmFuturesSymbolConfigurationResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query UM notional and leverage brackets\n     *\n     * Weight: 1\n     *\n     * @summary UM Notional and Leverage Brackets (USER_DATA)\n     * @param {UmNotionalAndLeverageBracketsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmNotionalAndLeverageBracketsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof AccountApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/UM-Notional-and-Leverage-Brackets Binance API Documentation}\n     */\n    public async umNotionalAndLeverageBrackets(\n        requestParameters: UmNotionalAndLeverageBracketsRequest = {}\n    ): Promise<RestApiResponse<UmNotionalAndLeverageBracketsResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.umNotionalAndLeverageBrackets(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<UmNotionalAndLeverageBracketsResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n    ConfigurationRestAPI,\n    TimeUnit,\n    RestApiResponse,\n    sendRequest,\n    type RequestArgs,\n} from '@binance/common';\nimport type {} from '../types';\n\n/**\n * MarketDataApi - axios parameter creator\n */\nconst MarketDataApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * Test connectivity to the Rest API.\n         *\n         * Weight: 1\n         *\n         * @summary Test Connectivity\n         *\n         * @throws {RequiredError}\n         */\n        testConnectivity: async (): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/ping',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * MarketDataApi - interface\n * @interface MarketDataApi\n */\nexport interface MarketDataApiInterface {\n    /**\n     * Test connectivity to the Rest API.\n     *\n     * Weight: 1\n     *\n     * @summary Test Connectivity\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof MarketDataApiInterface\n     */\n    testConnectivity(): Promise<RestApiResponse<void>>;\n}\n\n/**\n * MarketDataApi - object-oriented interface\n * @class MarketDataApi\n */\nexport class MarketDataApi implements MarketDataApiInterface {\n    private readonly configuration: ConfigurationRestAPI;\n    private localVarAxiosParamCreator;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.localVarAxiosParamCreator = MarketDataApiAxiosParamCreator(configuration);\n    }\n\n    /**\n     * Test connectivity to the Rest API.\n     *\n     * Weight: 1\n     *\n     * @summary Test Connectivity\n     * @returns {Promise<RestApiResponse<void>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof MarketDataApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/market-data/Test-Connectivity Binance API Documentation}\n     */\n    public async testConnectivity(): Promise<RestApiResponse<void>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.testConnectivity();\n        return sendRequest<void>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: false }\n        );\n    }\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n    ConfigurationRestAPI,\n    TimeUnit,\n    RestApiResponse,\n    assertParamExists,\n    sendRequest,\n    type RequestArgs,\n} from '@binance/common';\nimport type {\n    CancelAllCmOpenConditionalOrdersResponse,\n    CancelAllCmOpenOrdersResponse,\n    CancelAllUmOpenConditionalOrdersResponse,\n    CancelAllUmOpenOrdersResponse,\n    CancelCmConditionalOrderResponse,\n    CancelCmOrderResponse,\n    CancelMarginAccountAllOpenOrdersOnASymbolResponse,\n    CancelMarginAccountOcoOrdersResponse,\n    CancelMarginAccountOrderResponse,\n    CancelUmConditionalOrderResponse,\n    CancelUmOrderResponse,\n    CmAccountTradeListResponse,\n    CmPositionAdlQuantileEstimationResponse,\n    GetUmFuturesBnbBurnStatusResponse,\n    MarginAccountBorrowResponse,\n    MarginAccountNewOcoResponse,\n    MarginAccountRepayDebtResponse,\n    MarginAccountRepayResponse,\n    MarginAccountTradeListResponse,\n    ModifyCmOrderResponse,\n    ModifyUmOrderResponse,\n    NewCmConditionalOrderResponse,\n    NewCmOrderResponse,\n    NewMarginOrderResponse,\n    NewUmConditionalOrderResponse,\n    NewUmOrderResponse,\n    QueryAllCmConditionalOrdersResponse,\n    QueryAllCmOrdersResponse,\n    QueryAllCurrentCmOpenConditionalOrdersResponse,\n    QueryAllCurrentCmOpenOrdersResponse,\n    QueryAllCurrentUmOpenConditionalOrdersResponse,\n    QueryAllCurrentUmOpenOrdersResponse,\n    QueryAllMarginAccountOrdersResponse,\n    QueryAllUmConditionalOrdersResponse,\n    QueryAllUmOrdersResponse,\n    QueryCmConditionalOrderHistoryResponse,\n    QueryCmModifyOrderHistoryResponse,\n    QueryCmOrderResponse,\n    QueryCurrentCmOpenConditionalOrderResponse,\n    QueryCurrentCmOpenOrderResponse,\n    QueryCurrentMarginOpenOrderResponse,\n    QueryCurrentUmOpenConditionalOrderResponse,\n    QueryCurrentUmOpenOrderResponse,\n    QueryMarginAccountOrderResponse,\n    QueryMarginAccountsAllOcoResponse,\n    QueryMarginAccountsOcoResponse,\n    QueryMarginAccountsOpenOcoResponse,\n    QueryUmConditionalOrderHistoryResponse,\n    QueryUmModifyOrderHistoryResponse,\n    QueryUmOrderResponse,\n    QueryUsersCmForceOrdersResponse,\n    QueryUsersMarginForceOrdersResponse,\n    QueryUsersUmForceOrdersResponse,\n    ToggleBnbBurnOnUmFuturesTradeResponse,\n    UmAccountTradeListResponse,\n    UmPositionAdlQuantileEstimationResponse,\n} from '../types';\n\n/**\n * TradeApi - axios parameter creator\n */\nconst TradeApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * Cancel All CM Open Conditional Orders\n         *\n         * Weight: 1\n         *\n         * @summary Cancel All CM Open Conditional Orders(TRADE)\n         * @param {string} symbol\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelAllCmOpenConditionalOrders: async (\n            symbol: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelAllCmOpenConditionalOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/conditional/allOpenOrders',\n                method: 'DELETE',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel all active LIMIT orders on specific symbol\n         *\n         * Weight: 1\n         *\n         * @summary Cancel All CM Open Orders(TRADE)\n         * @param {string} symbol\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelAllCmOpenOrders: async (\n            symbol: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelAllCmOpenOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/allOpenOrders',\n                method: 'DELETE',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel All UM Open Conditional Orders\n         *\n         * Weight: 1\n         *\n         * @summary Cancel All UM Open Conditional Orders (TRADE)\n         * @param {string} symbol\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelAllUmOpenConditionalOrders: async (\n            symbol: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelAllUmOpenConditionalOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/conditional/allOpenOrders',\n                method: 'DELETE',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel all active LIMIT orders on specific symbol\n         *\n         * Weight: 1\n         *\n         * @summary Cancel All UM Open Orders(TRADE)\n         * @param {string} symbol\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelAllUmOpenOrders: async (\n            symbol: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelAllUmOpenOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/allOpenOrders',\n                method: 'DELETE',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel CM Conditional Order\n         *\n         * Either `strategyId` or `newClientStrategyId` must be sent.\n         *\n         * Weight: 1\n         *\n         * @summary Cancel CM Conditional Order(TRADE)\n         * @param {string} symbol\n         * @param {number} [strategyId]\n         * @param {string} [newClientStrategyId]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelCmConditionalOrder: async (\n            symbol: string,\n            strategyId?: number,\n            newClientStrategyId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelCmConditionalOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/conditional/order',\n                method: 'DELETE',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel an active LIMIT order\n         *\n         * Either `orderId` or `origClientOrderId` must be sent.\n         *\n         * Weight: 1\n         *\n         * @summary Cancel CM Order(TRADE)\n         * @param {string} symbol\n         * @param {number} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelCmOrder: async (\n            symbol: string,\n            orderId?: number,\n            origClientOrderId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelCmOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/order',\n                method: 'DELETE',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel Margin Account All Open Orders on a Symbol\n         *\n         * Weight: 5\n         *\n         * @summary Cancel Margin Account All Open Orders on a Symbol(TRADE)\n         * @param {string} symbol\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelMarginAccountAllOpenOrdersOnASymbol: async (\n            symbol: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelMarginAccountAllOpenOrdersOnASymbol', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/allOpenOrders',\n                method: 'DELETE',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel Margin Account OCO Orders\n         *\n         * Additional notes: Canceling an individual leg will cancel the entire OCO\n         *\n         * Weight: 2\n         *\n         * @summary Cancel Margin Account OCO Orders(TRADE)\n         * @param {string} symbol\n         * @param {number} [orderListId] Either `orderListId` or `listClientOrderId` must be provided\n         * @param {string} [listClientOrderId] Either `orderListId` or `listClientOrderId` must be provided\n         * @param {string} [newClientOrderId] Used to uniquely identify this cancel. Automatically generated by default\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelMarginAccountOcoOrders: async (\n            symbol: string,\n            orderListId?: number,\n            listClientOrderId?: string,\n            newClientOrderId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelMarginAccountOcoOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (orderListId !== undefined && orderListId !== null) {\n                localVarQueryParameter['orderListId'] = orderListId;\n            }\n\n            if (listClientOrderId !== undefined && listClientOrderId !== null) {\n                localVarQueryParameter['listClientOrderId'] = listClientOrderId;\n            }\n\n            if (newClientOrderId !== undefined && newClientOrderId !== null) {\n                localVarQueryParameter['newClientOrderId'] = newClientOrderId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/orderList',\n                method: 'DELETE',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel Margin Account Order\n         *\n         * Either `orderId` or `origClientOrderId` must be sent.\n         *\n         * Weight: 2\n         *\n         * @summary Cancel Margin Account Order(TRADE)\n         * @param {string} symbol\n         * @param {number} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {string} [newClientOrderId] Used to uniquely identify this cancel. Automatically generated by default\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelMarginAccountOrder: async (\n            symbol: string,\n            orderId?: number,\n            origClientOrderId?: string,\n            newClientOrderId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelMarginAccountOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n\n            if (newClientOrderId !== undefined && newClientOrderId !== null) {\n                localVarQueryParameter['newClientOrderId'] = newClientOrderId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/order',\n                method: 'DELETE',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel UM Conditional Order\n         *\n         * Either `strategyId` or `newClientStrategyId` must be sent.\n         *\n         * Weight: 1\n         *\n         * @summary Cancel UM Conditional Order(TRADE)\n         * @param {string} symbol\n         * @param {number} [strategyId]\n         * @param {string} [newClientStrategyId]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelUmConditionalOrder: async (\n            symbol: string,\n            strategyId?: number,\n            newClientStrategyId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelUmConditionalOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/conditional/order',\n                method: 'DELETE',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Cancel an active UM LIMIT order\n         *\n         * Either `orderId` or `origClientOrderId` must be sent.\n         *\n         * Weight: 1\n         *\n         * @summary Cancel UM Order(TRADE)\n         * @param {string} symbol\n         * @param {number} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cancelUmOrder: async (\n            symbol: string,\n            orderId?: number,\n            origClientOrderId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('cancelUmOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/order',\n                method: 'DELETE',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get trades for a specific account and CM symbol.\n         *\n         * Either `symbol` or `pair` must be sent\n         * `symbol` and `pair` cannot be sent together\n         * `pair` and `fromId` cannot be sent together\n         * `OrderId` can only be sent together with symbol\n         * If a `pair` is sent, tickers for all symbols of the `pair` will be returned\n         * The parameter `fromId` cannot be sent with `startTime` or `endTime`\n         *\n         * Weight: 20 with symbol, 40 with pair\n         *\n         * @summary CM Account Trade List(USER_DATA)\n         * @param {string} [symbol]\n         * @param {string} [pair]\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [fromId] Trade id to fetch from. Default gets most recent trades.\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cmAccountTradeList: async (\n            symbol?: string,\n            pair?: string,\n            startTime?: number,\n            endTime?: number,\n            fromId?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (pair !== undefined && pair !== null) {\n                localVarQueryParameter['pair'] = pair;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (fromId !== undefined && fromId !== null) {\n                localVarQueryParameter['fromId'] = fromId;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/userTrades',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query CM Position ADL Quantile Estimation\n         * Values update every 30s.\n         * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n         * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n         * If the positions of the symbol are crossed margined in Hedge Mode:\n         * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n         * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n         *\n         * Weight: 5\n         *\n         * @summary CM Position ADL Quantile Estimation(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        cmPositionAdlQuantileEstimation: async (\n            symbol?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/adlQuantile',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off )\n         *\n         * Weight: 30\n         *\n         * @summary Get UM Futures BNB Burn Status (USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        getUmFuturesBnbBurnStatus: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/feeBurn',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Apply for a margin loan.\n         *\n         * Weight: 100\n         *\n         * @summary Margin Account Borrow(MARGIN)\n         * @param {string} asset\n         * @param {number} amount\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        marginAccountBorrow: async (\n            asset: string,\n            amount: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('marginAccountBorrow', 'asset', asset);\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('marginAccountBorrow', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/marginLoan',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Send in a new OCO for a margin account\n         *\n         * Price Restrictions:\n         * `SELL`: Limit Price > Last Price > Stop Price\n         * `BUY`: Limit Price < Last Price < Stop Price\n         * Quantity Restrictions:\n         * Both legs must have the same quantity\n         * `ICEBERG` quantities however do not have to be the same.\n         * Order Rate Limit\n         * `OCO` counts as 2 orders against the order rate limit.\n         *\n         * Weight: 1\n         *\n         * @summary Margin Account New OCO(TRADE)\n         * @param {string} symbol\n         * @param {MarginAccountNewOcoSideEnum} side\n         * @param {number} quantity Order quantity\n         * @param {number} price\n         * @param {number} stopPrice\n         * @param {string} [listClientOrderId] Either `orderListId` or `listClientOrderId` must be provided\n         * @param {string} [limitClientOrderId] A unique Id for the limit order\n         * @param {number} [limitIcebergQty]\n         * @param {string} [stopClientOrderId] A unique Id for the stop loss/stop loss limit leg\n         * @param {number} [stopLimitPrice] If provided, stopLimitTimeInForce is required.\n         * @param {number} [stopIcebergQty]\n         * @param {MarginAccountNewOcoStopLimitTimeInForceEnum} [stopLimitTimeInForce] Valid values are `GTC/FOK/IOC`\n         * @param {MarginAccountNewOcoNewOrderRespTypeEnum} [newOrderRespType] \"ACK\", \"RESULT\", default \"ACK\"\n         * @param {MarginAccountNewOcoSideEffectTypeEnum} [sideEffectType] NO_SIDE_EFFECT, MARGIN_BUY, AUTO_REPAY; default NO_SIDE_EFFECT.\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        marginAccountNewOco: async (\n            symbol: string,\n            side: MarginAccountNewOcoSideEnum,\n            quantity: number,\n            price: number,\n            stopPrice: number,\n            listClientOrderId?: string,\n            limitClientOrderId?: string,\n            limitIcebergQty?: number,\n            stopClientOrderId?: string,\n            stopLimitPrice?: number,\n            stopIcebergQty?: number,\n            stopLimitTimeInForce?: MarginAccountNewOcoStopLimitTimeInForceEnum,\n            newOrderRespType?: MarginAccountNewOcoNewOrderRespTypeEnum,\n            sideEffectType?: MarginAccountNewOcoSideEffectTypeEnum,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('marginAccountNewOco', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('marginAccountNewOco', 'side', side);\n            // verify required parameter 'quantity' is not null or undefined\n            assertParamExists('marginAccountNewOco', 'quantity', quantity);\n            // verify required parameter 'price' is not null or undefined\n            assertParamExists('marginAccountNewOco', 'price', price);\n            // verify required parameter 'stopPrice' is not null or undefined\n            assertParamExists('marginAccountNewOco', 'stopPrice', stopPrice);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (listClientOrderId !== undefined && listClientOrderId !== null) {\n                localVarQueryParameter['listClientOrderId'] = listClientOrderId;\n            }\n\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n\n            if (limitClientOrderId !== undefined && limitClientOrderId !== null) {\n                localVarQueryParameter['limitClientOrderId'] = limitClientOrderId;\n            }\n\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n\n            if (limitIcebergQty !== undefined && limitIcebergQty !== null) {\n                localVarQueryParameter['limitIcebergQty'] = limitIcebergQty;\n            }\n\n            if (stopClientOrderId !== undefined && stopClientOrderId !== null) {\n                localVarQueryParameter['stopClientOrderId'] = stopClientOrderId;\n            }\n\n            if (stopPrice !== undefined && stopPrice !== null) {\n                localVarQueryParameter['stopPrice'] = stopPrice;\n            }\n\n            if (stopLimitPrice !== undefined && stopLimitPrice !== null) {\n                localVarQueryParameter['stopLimitPrice'] = stopLimitPrice;\n            }\n\n            if (stopIcebergQty !== undefined && stopIcebergQty !== null) {\n                localVarQueryParameter['stopIcebergQty'] = stopIcebergQty;\n            }\n\n            if (stopLimitTimeInForce !== undefined && stopLimitTimeInForce !== null) {\n                localVarQueryParameter['stopLimitTimeInForce'] = stopLimitTimeInForce;\n            }\n\n            if (newOrderRespType !== undefined && newOrderRespType !== null) {\n                localVarQueryParameter['newOrderRespType'] = newOrderRespType;\n            }\n\n            if (sideEffectType !== undefined && sideEffectType !== null) {\n                localVarQueryParameter['sideEffectType'] = sideEffectType;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/order/oco',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Repay for a margin loan.\n         *\n         * Weight: 100\n         *\n         * @summary Margin Account Repay(MARGIN)\n         * @param {string} asset\n         * @param {number} amount\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        marginAccountRepay: async (\n            asset: string,\n            amount: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('marginAccountRepay', 'asset', asset);\n            // verify required parameter 'amount' is not null or undefined\n            assertParamExists('marginAccountRepay', 'amount', amount);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/repayLoan',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Repay debt for a margin loan.\n         *\n         * The repay asset amount cannot exceed 50000 USD equivalent value for a single request.\n         * If `amount` is not sent, all the asset loan will be repaid if having enough specific repay assets.\n         * If `amount` is sent, only the certain amount of the asset loan will be repaid if having enough specific repay assets.\n         * The system will use the same asset to repay the loan first (if have) no matter whether put the asset in `specifyRepayAssets`\n         *\n         * Weight: 3000\n         *\n         * @summary Margin Account Repay Debt(TRADE)\n         * @param {string} asset\n         * @param {string} [amount]\n         * @param {string} [specifyRepayAssets] Specific asset list to repay debt; Can be added in batch, separated by commas\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        marginAccountRepayDebt: async (\n            asset: string,\n            amount?: string,\n            specifyRepayAssets?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'asset' is not null or undefined\n            assertParamExists('marginAccountRepayDebt', 'asset', asset);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (asset !== undefined && asset !== null) {\n                localVarQueryParameter['asset'] = asset;\n            }\n\n            if (amount !== undefined && amount !== null) {\n                localVarQueryParameter['amount'] = amount;\n            }\n\n            if (specifyRepayAssets !== undefined && specifyRepayAssets !== null) {\n                localVarQueryParameter['specifyRepayAssets'] = specifyRepayAssets;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/repay-debt',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Margin Account Trade List\n         *\n         * Weight: 5\n         *\n         * @summary Margin Account Trade List (USER_DATA)\n         * @param {string} symbol\n         * @param {number} [orderId]\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [fromId] Trade id to fetch from. Default gets most recent trades.\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        marginAccountTradeList: async (\n            symbol: string,\n            orderId?: number,\n            startTime?: number,\n            endTime?: number,\n            fromId?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('marginAccountTradeList', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (fromId !== undefined && fromId !== null) {\n                localVarQueryParameter['fromId'] = fromId;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/myTrades',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n         *\n         * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n         * Both `quantity` and `price` must be sent\n         * When the new `quantity` or `price` doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n         * However the order will be cancelled by the amendment in the following situations:\n         * when the order is in partially filled status and the new `quantity` <= `executedQty`\n         * When the order is `GTX` and the new price will cause it to be executed immediately\n         *\n         * Weight: 1\n         *\n         * @summary Modify CM Order(TRADE)\n         * @param {string} symbol\n         * @param {ModifyCmOrderSideEnum} side\n         * @param {number} quantity Order quantity\n         * @param {number} price\n         * @param {number} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {ModifyCmOrderPriceMatchEnum} [priceMatch] only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        modifyCmOrder: async (\n            symbol: string,\n            side: ModifyCmOrderSideEnum,\n            quantity: number,\n            price: number,\n            orderId?: number,\n            origClientOrderId?: string,\n            priceMatch?: ModifyCmOrderPriceMatchEnum,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('modifyCmOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('modifyCmOrder', 'side', side);\n            // verify required parameter 'quantity' is not null or undefined\n            assertParamExists('modifyCmOrder', 'quantity', quantity);\n            // verify required parameter 'price' is not null or undefined\n            assertParamExists('modifyCmOrder', 'price', price);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n\n            if (priceMatch !== undefined && priceMatch !== null) {\n                localVarQueryParameter['priceMatch'] = priceMatch;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/order',\n                method: 'PUT',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n         *\n         * Either orderId or origClientOrderId must be sent, and the orderId will prevail if both are sent.\n         * Both quantity and price must be sent\n         * When the new quantity or price doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n         * However the order will be cancelled by the amendment in the following situations:\n         * when the order is in partially filled status and the new quantity <= executedQty\n         * When the order is GTX and the new price will cause it to be executed immediately\n         *\n         * Weight: 1\n         *\n         * @summary Modify UM Order(TRADE)\n         * @param {string} symbol\n         * @param {ModifyUmOrderSideEnum} side\n         * @param {number} quantity Order quantity\n         * @param {number} price\n         * @param {number} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {ModifyUmOrderPriceMatchEnum} [priceMatch] only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        modifyUmOrder: async (\n            symbol: string,\n            side: ModifyUmOrderSideEnum,\n            quantity: number,\n            price: number,\n            orderId?: number,\n            origClientOrderId?: string,\n            priceMatch?: ModifyUmOrderPriceMatchEnum,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('modifyUmOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('modifyUmOrder', 'side', side);\n            // verify required parameter 'quantity' is not null or undefined\n            assertParamExists('modifyUmOrder', 'quantity', quantity);\n            // verify required parameter 'price' is not null or undefined\n            assertParamExists('modifyUmOrder', 'price', price);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n\n            if (priceMatch !== undefined && priceMatch !== null) {\n                localVarQueryParameter['priceMatch'] = priceMatch;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/order',\n                method: 'PUT',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * New CM Conditional Order\n         *\n         * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n         * Condition orders will be triggered when:\n         * `STOP`, `STOP_MARKET`:\n         * BUY: \"MARK_PRICE\"  >= `stopPrice`\n         * SELL: \"MARK_PRICE\" <= `stopPrice`\n         * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n         * BUY: \"MARK_PRICE\" <= `stopPrice`\n         * SELL: \"MARK_PRICE\" >= `stopPrice`\n         * `TRAILING_STOP_MARKET`:\n         * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n         * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n         * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n         * BUY: `activationPrice` should be smaller than latest mark price.\n         * SELL: `activationPrice` should be larger than latest mark price.\n         * Condition orders will be triggered when:\n         * If parameter`priceProtect`is sent as true:\n         * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n         * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n         * `STOP`, `STOP_MARKET`:\n         * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n         * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n         * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n         * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n         * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n         *\n         * Weight: 1\n         *\n         * @summary New CM Conditional Order(TRADE)\n         * @param {string} symbol\n         * @param {NewCmConditionalOrderSideEnum} side\n         * @param {NewCmConditionalOrderStrategyTypeEnum} strategyType \"STOP\", \"STOP_MARKET\", \"TAKE_PROFIT\", \"TAKE_PROFIT_MARKET\", and \"TRAILING_STOP_MARKET\"\n         * @param {NewCmConditionalOrderPositionSideEnum} [positionSide] Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n         * @param {NewCmConditionalOrderTimeInForceEnum} [timeInForce]\n         * @param {number} [quantity]\n         * @param {string} [reduceOnly] \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n         * @param {number} [price]\n         * @param {NewCmConditionalOrderWorkingTypeEnum} [workingType] stopPrice triggered by: \"MARK_PRICE\", \"CONTRACT_PRICE\". Default \"CONTRACT_PRICE\"\n         * @param {string} [priceProtect] \"TRUE\" or \"FALSE\", default \"FALSE\". Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders\n         * @param {string} [newClientStrategyId]\n         * @param {number} [stopPrice] Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders.\n         * @param {number} [activationPrice] Used with `TRAILING_STOP_MARKET` orders, default as the mark price\n         * @param {number} [callbackRate] Used with `TRAILING_STOP_MARKET` orders, min 0.1, max 5 where 1 for 1%\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        newCmConditionalOrder: async (\n            symbol: string,\n            side: NewCmConditionalOrderSideEnum,\n            strategyType: NewCmConditionalOrderStrategyTypeEnum,\n            positionSide?: NewCmConditionalOrderPositionSideEnum,\n            timeInForce?: NewCmConditionalOrderTimeInForceEnum,\n            quantity?: number,\n            reduceOnly?: string,\n            price?: number,\n            workingType?: NewCmConditionalOrderWorkingTypeEnum,\n            priceProtect?: string,\n            newClientStrategyId?: string,\n            stopPrice?: number,\n            activationPrice?: number,\n            callbackRate?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('newCmConditionalOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('newCmConditionalOrder', 'side', side);\n            // verify required parameter 'strategyType' is not null or undefined\n            assertParamExists('newCmConditionalOrder', 'strategyType', strategyType);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n\n            if (positionSide !== undefined && positionSide !== null) {\n                localVarQueryParameter['positionSide'] = positionSide;\n            }\n\n            if (strategyType !== undefined && strategyType !== null) {\n                localVarQueryParameter['strategyType'] = strategyType;\n            }\n\n            if (timeInForce !== undefined && timeInForce !== null) {\n                localVarQueryParameter['timeInForce'] = timeInForce;\n            }\n\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n\n            if (reduceOnly !== undefined && reduceOnly !== null) {\n                localVarQueryParameter['reduceOnly'] = reduceOnly;\n            }\n\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n\n            if (workingType !== undefined && workingType !== null) {\n                localVarQueryParameter['workingType'] = workingType;\n            }\n\n            if (priceProtect !== undefined && priceProtect !== null) {\n                localVarQueryParameter['priceProtect'] = priceProtect;\n            }\n\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n\n            if (stopPrice !== undefined && stopPrice !== null) {\n                localVarQueryParameter['stopPrice'] = stopPrice;\n            }\n\n            if (activationPrice !== undefined && activationPrice !== null) {\n                localVarQueryParameter['activationPrice'] = activationPrice;\n            }\n\n            if (callbackRate !== undefined && callbackRate !== null) {\n                localVarQueryParameter['callbackRate'] = callbackRate;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/conditional/order',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Place new CM order\n         *\n         * If `newOrderRespType` is sent as `RESULT` :\n         * `MARKET` order: the final FILLED result of the order will be return directly.\n         * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n         *\n         * Weight: 1\n         *\n         * @summary New CM Order(TRADE)\n         * @param {string} symbol\n         * @param {NewCmOrderSideEnum} side\n         * @param {NewCmOrderTypeEnum} type `LIMIT`, `MARKET`\n         * @param {NewCmOrderPositionSideEnum} [positionSide] Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n         * @param {NewCmOrderTimeInForceEnum} [timeInForce]\n         * @param {number} [quantity]\n         * @param {string} [reduceOnly] \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n         * @param {number} [price]\n         * @param {NewCmOrderPriceMatchEnum} [priceMatch] only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n         * @param {string} [newClientOrderId] Used to uniquely identify this cancel. Automatically generated by default\n         * @param {NewCmOrderNewOrderRespTypeEnum} [newOrderRespType] \"ACK\", \"RESULT\", default \"ACK\"\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        newCmOrder: async (\n            symbol: string,\n            side: NewCmOrderSideEnum,\n            type: NewCmOrderTypeEnum,\n            positionSide?: NewCmOrderPositionSideEnum,\n            timeInForce?: NewCmOrderTimeInForceEnum,\n            quantity?: number,\n            reduceOnly?: string,\n            price?: number,\n            priceMatch?: NewCmOrderPriceMatchEnum,\n            newClientOrderId?: string,\n            newOrderRespType?: NewCmOrderNewOrderRespTypeEnum,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('newCmOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('newCmOrder', 'side', side);\n            // verify required parameter 'type' is not null or undefined\n            assertParamExists('newCmOrder', 'type', type);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n\n            if (positionSide !== undefined && positionSide !== null) {\n                localVarQueryParameter['positionSide'] = positionSide;\n            }\n\n            if (type !== undefined && type !== null) {\n                localVarQueryParameter['type'] = type;\n            }\n\n            if (timeInForce !== undefined && timeInForce !== null) {\n                localVarQueryParameter['timeInForce'] = timeInForce;\n            }\n\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n\n            if (reduceOnly !== undefined && reduceOnly !== null) {\n                localVarQueryParameter['reduceOnly'] = reduceOnly;\n            }\n\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n\n            if (priceMatch !== undefined && priceMatch !== null) {\n                localVarQueryParameter['priceMatch'] = priceMatch;\n            }\n\n            if (newClientOrderId !== undefined && newClientOrderId !== null) {\n                localVarQueryParameter['newClientOrderId'] = newClientOrderId;\n            }\n\n            if (newOrderRespType !== undefined && newOrderRespType !== null) {\n                localVarQueryParameter['newOrderRespType'] = newOrderRespType;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/order',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * New Margin Order\n         *\n         * Weight: 1\n         *\n         * @summary New Margin Order(TRADE)\n         * @param {string} symbol\n         * @param {NewMarginOrderSideEnum} side\n         * @param {NewMarginOrderTypeEnum} type `LIMIT`, `MARKET`\n         * @param {number} [quantity]\n         * @param {number} [quoteOrderQty]\n         * @param {number} [price]\n         * @param {number} [stopPrice] Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders.\n         * @param {string} [newClientOrderId] Used to uniquely identify this cancel. Automatically generated by default\n         * @param {NewMarginOrderNewOrderRespTypeEnum} [newOrderRespType] \"ACK\", \"RESULT\", default \"ACK\"\n         * @param {number} [icebergQty] Used with `LIMIT`, `STOP_LOSS_LIMIT`, and `TAKE_PROFIT_LIMIT` to create an iceberg order\n         * @param {NewMarginOrderSideEffectTypeEnum} [sideEffectType] NO_SIDE_EFFECT, MARGIN_BUY, AUTO_REPAY; default NO_SIDE_EFFECT.\n         * @param {NewMarginOrderTimeInForceEnum} [timeInForce]\n         * @param {NewMarginOrderSelfTradePreventionModeEnum} [selfTradePreventionMode] `NONE`:No STP / `EXPIRE_TAKER`:expire taker order when STP triggers/ `EXPIRE_MAKER`:expire taker order when STP triggers/ `EXPIRE_BOTH`:expire both orders when STP triggers\n         * @param {boolean} [autoRepayAtCancel] 只有在自动借款单或者自动借还单生效，true表示的是撤单后需要把订单产生的借款归还，默认为true\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        newMarginOrder: async (\n            symbol: string,\n            side: NewMarginOrderSideEnum,\n            type: NewMarginOrderTypeEnum,\n            quantity?: number,\n            quoteOrderQty?: number,\n            price?: number,\n            stopPrice?: number,\n            newClientOrderId?: string,\n            newOrderRespType?: NewMarginOrderNewOrderRespTypeEnum,\n            icebergQty?: number,\n            sideEffectType?: NewMarginOrderSideEffectTypeEnum,\n            timeInForce?: NewMarginOrderTimeInForceEnum,\n            selfTradePreventionMode?: NewMarginOrderSelfTradePreventionModeEnum,\n            autoRepayAtCancel?: boolean,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('newMarginOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('newMarginOrder', 'side', side);\n            // verify required parameter 'type' is not null or undefined\n            assertParamExists('newMarginOrder', 'type', type);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n\n            if (type !== undefined && type !== null) {\n                localVarQueryParameter['type'] = type;\n            }\n\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n\n            if (quoteOrderQty !== undefined && quoteOrderQty !== null) {\n                localVarQueryParameter['quoteOrderQty'] = quoteOrderQty;\n            }\n\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n\n            if (stopPrice !== undefined && stopPrice !== null) {\n                localVarQueryParameter['stopPrice'] = stopPrice;\n            }\n\n            if (newClientOrderId !== undefined && newClientOrderId !== null) {\n                localVarQueryParameter['newClientOrderId'] = newClientOrderId;\n            }\n\n            if (newOrderRespType !== undefined && newOrderRespType !== null) {\n                localVarQueryParameter['newOrderRespType'] = newOrderRespType;\n            }\n\n            if (icebergQty !== undefined && icebergQty !== null) {\n                localVarQueryParameter['icebergQty'] = icebergQty;\n            }\n\n            if (sideEffectType !== undefined && sideEffectType !== null) {\n                localVarQueryParameter['sideEffectType'] = sideEffectType;\n            }\n\n            if (timeInForce !== undefined && timeInForce !== null) {\n                localVarQueryParameter['timeInForce'] = timeInForce;\n            }\n\n            if (selfTradePreventionMode !== undefined && selfTradePreventionMode !== null) {\n                localVarQueryParameter['selfTradePreventionMode'] = selfTradePreventionMode;\n            }\n\n            if (autoRepayAtCancel !== undefined && autoRepayAtCancel !== null) {\n                localVarQueryParameter['autoRepayAtCancel'] = autoRepayAtCancel;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/order',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Place new UM conditional order\n         *\n         * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n         * Condition orders will be triggered when:\n         * `STOP`, `STOP_MARKET`:\n         * BUY: \"MARK_PRICE\"  >= `stopPrice`\n         * SELL: \"MARK_PRICE\" <= `stopPrice`\n         * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n         * BUY: \"MARK_PRICE\" <= `stopPrice`\n         * SELL: \"MARK_PRICE\" >= `stopPrice`\n         * `TRAILING_STOP_MARKET`:\n         * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n         * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n         * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n         * BUY: `activationPrice` should be smaller than latest mark price.\n         * SELL: `activationPrice` should be larger than latest mark price.\n         * Condition orders will be triggered when:\n         * If parameter`priceProtect`is sent as true:\n         * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n         * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n         * `STOP`, `STOP_MARKET`:\n         * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n         * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n         * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n         * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n         * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n         * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n         * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n         *\n         * Weight: 1\n         *\n         * @summary New UM Conditional Order (TRADE)\n         * @param {string} symbol\n         * @param {NewUmConditionalOrderSideEnum} side\n         * @param {NewUmConditionalOrderStrategyTypeEnum} strategyType \"STOP\", \"STOP_MARKET\", \"TAKE_PROFIT\", \"TAKE_PROFIT_MARKET\", and \"TRAILING_STOP_MARKET\"\n         * @param {NewUmConditionalOrderPositionSideEnum} [positionSide] Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n         * @param {NewUmConditionalOrderTimeInForceEnum} [timeInForce]\n         * @param {number} [quantity]\n         * @param {string} [reduceOnly] \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n         * @param {number} [price]\n         * @param {NewUmConditionalOrderWorkingTypeEnum} [workingType] stopPrice triggered by: \"MARK_PRICE\", \"CONTRACT_PRICE\". Default \"CONTRACT_PRICE\"\n         * @param {string} [priceProtect] \"TRUE\" or \"FALSE\", default \"FALSE\". Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders\n         * @param {string} [newClientStrategyId]\n         * @param {number} [stopPrice] Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders.\n         * @param {number} [activationPrice] Used with `TRAILING_STOP_MARKET` orders, default as the mark price\n         * @param {number} [callbackRate] Used with `TRAILING_STOP_MARKET` orders, min 0.1, max 5 where 1 for 1%\n         * @param {NewUmConditionalOrderPriceMatchEnum} [priceMatch] only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n         * @param {NewUmConditionalOrderSelfTradePreventionModeEnum} [selfTradePreventionMode] `NONE`:No STP / `EXPIRE_TAKER`:expire taker order when STP triggers/ `EXPIRE_MAKER`:expire taker order when STP triggers/ `EXPIRE_BOTH`:expire both orders when STP triggers\n         * @param {number} [goodTillDate] order cancel time for timeInForce `GTD`, mandatory when `timeInforce` set to `GTD`; order the timestamp only retains second-level precision, ms part will be ignored; The goodTillDate timestamp must be greater than the current time plus 600 seconds and smaller than 253402300799000Mode. It must be sent in Hedge Mode.\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        newUmConditionalOrder: async (\n            symbol: string,\n            side: NewUmConditionalOrderSideEnum,\n            strategyType: NewUmConditionalOrderStrategyTypeEnum,\n            positionSide?: NewUmConditionalOrderPositionSideEnum,\n            timeInForce?: NewUmConditionalOrderTimeInForceEnum,\n            quantity?: number,\n            reduceOnly?: string,\n            price?: number,\n            workingType?: NewUmConditionalOrderWorkingTypeEnum,\n            priceProtect?: string,\n            newClientStrategyId?: string,\n            stopPrice?: number,\n            activationPrice?: number,\n            callbackRate?: number,\n            priceMatch?: NewUmConditionalOrderPriceMatchEnum,\n            selfTradePreventionMode?: NewUmConditionalOrderSelfTradePreventionModeEnum,\n            goodTillDate?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('newUmConditionalOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('newUmConditionalOrder', 'side', side);\n            // verify required parameter 'strategyType' is not null or undefined\n            assertParamExists('newUmConditionalOrder', 'strategyType', strategyType);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n\n            if (positionSide !== undefined && positionSide !== null) {\n                localVarQueryParameter['positionSide'] = positionSide;\n            }\n\n            if (strategyType !== undefined && strategyType !== null) {\n                localVarQueryParameter['strategyType'] = strategyType;\n            }\n\n            if (timeInForce !== undefined && timeInForce !== null) {\n                localVarQueryParameter['timeInForce'] = timeInForce;\n            }\n\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n\n            if (reduceOnly !== undefined && reduceOnly !== null) {\n                localVarQueryParameter['reduceOnly'] = reduceOnly;\n            }\n\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n\n            if (workingType !== undefined && workingType !== null) {\n                localVarQueryParameter['workingType'] = workingType;\n            }\n\n            if (priceProtect !== undefined && priceProtect !== null) {\n                localVarQueryParameter['priceProtect'] = priceProtect;\n            }\n\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n\n            if (stopPrice !== undefined && stopPrice !== null) {\n                localVarQueryParameter['stopPrice'] = stopPrice;\n            }\n\n            if (activationPrice !== undefined && activationPrice !== null) {\n                localVarQueryParameter['activationPrice'] = activationPrice;\n            }\n\n            if (callbackRate !== undefined && callbackRate !== null) {\n                localVarQueryParameter['callbackRate'] = callbackRate;\n            }\n\n            if (priceMatch !== undefined && priceMatch !== null) {\n                localVarQueryParameter['priceMatch'] = priceMatch;\n            }\n\n            if (selfTradePreventionMode !== undefined && selfTradePreventionMode !== null) {\n                localVarQueryParameter['selfTradePreventionMode'] = selfTradePreventionMode;\n            }\n\n            if (goodTillDate !== undefined && goodTillDate !== null) {\n                localVarQueryParameter['goodTillDate'] = goodTillDate;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/conditional/order',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Place new UM order\n         *\n         * If `newOrderRespType` is sent as `RESULT` :\n         * `MARKET` order: the final FILLED result of the order will be return directly.\n         * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n         * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n         * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n         *\n         * Weight: 1\n         *\n         * @summary New UM Order (TRADE)\n         * @param {string} symbol\n         * @param {NewUmOrderSideEnum} side\n         * @param {NewUmOrderTypeEnum} type `LIMIT`, `MARKET`\n         * @param {NewUmOrderPositionSideEnum} [positionSide] Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n         * @param {NewUmOrderTimeInForceEnum} [timeInForce]\n         * @param {number} [quantity]\n         * @param {string} [reduceOnly] \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n         * @param {number} [price]\n         * @param {string} [newClientOrderId] Used to uniquely identify this cancel. Automatically generated by default\n         * @param {NewUmOrderNewOrderRespTypeEnum} [newOrderRespType] \"ACK\", \"RESULT\", default \"ACK\"\n         * @param {NewUmOrderPriceMatchEnum} [priceMatch] only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n         * @param {NewUmOrderSelfTradePreventionModeEnum} [selfTradePreventionMode] `NONE`:No STP / `EXPIRE_TAKER`:expire taker order when STP triggers/ `EXPIRE_MAKER`:expire taker order when STP triggers/ `EXPIRE_BOTH`:expire both orders when STP triggers\n         * @param {number} [goodTillDate] order cancel time for timeInForce `GTD`, mandatory when `timeInforce` set to `GTD`; order the timestamp only retains second-level precision, ms part will be ignored; The goodTillDate timestamp must be greater than the current time plus 600 seconds and smaller than 253402300799000Mode. It must be sent in Hedge Mode.\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        newUmOrder: async (\n            symbol: string,\n            side: NewUmOrderSideEnum,\n            type: NewUmOrderTypeEnum,\n            positionSide?: NewUmOrderPositionSideEnum,\n            timeInForce?: NewUmOrderTimeInForceEnum,\n            quantity?: number,\n            reduceOnly?: string,\n            price?: number,\n            newClientOrderId?: string,\n            newOrderRespType?: NewUmOrderNewOrderRespTypeEnum,\n            priceMatch?: NewUmOrderPriceMatchEnum,\n            selfTradePreventionMode?: NewUmOrderSelfTradePreventionModeEnum,\n            goodTillDate?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('newUmOrder', 'symbol', symbol);\n            // verify required parameter 'side' is not null or undefined\n            assertParamExists('newUmOrder', 'side', side);\n            // verify required parameter 'type' is not null or undefined\n            assertParamExists('newUmOrder', 'type', type);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (side !== undefined && side !== null) {\n                localVarQueryParameter['side'] = side;\n            }\n\n            if (positionSide !== undefined && positionSide !== null) {\n                localVarQueryParameter['positionSide'] = positionSide;\n            }\n\n            if (type !== undefined && type !== null) {\n                localVarQueryParameter['type'] = type;\n            }\n\n            if (timeInForce !== undefined && timeInForce !== null) {\n                localVarQueryParameter['timeInForce'] = timeInForce;\n            }\n\n            if (quantity !== undefined && quantity !== null) {\n                localVarQueryParameter['quantity'] = quantity;\n            }\n\n            if (reduceOnly !== undefined && reduceOnly !== null) {\n                localVarQueryParameter['reduceOnly'] = reduceOnly;\n            }\n\n            if (price !== undefined && price !== null) {\n                localVarQueryParameter['price'] = price;\n            }\n\n            if (newClientOrderId !== undefined && newClientOrderId !== null) {\n                localVarQueryParameter['newClientOrderId'] = newClientOrderId;\n            }\n\n            if (newOrderRespType !== undefined && newOrderRespType !== null) {\n                localVarQueryParameter['newOrderRespType'] = newOrderRespType;\n            }\n\n            if (priceMatch !== undefined && priceMatch !== null) {\n                localVarQueryParameter['priceMatch'] = priceMatch;\n            }\n\n            if (selfTradePreventionMode !== undefined && selfTradePreventionMode !== null) {\n                localVarQueryParameter['selfTradePreventionMode'] = selfTradePreventionMode;\n            }\n\n            if (goodTillDate !== undefined && goodTillDate !== null) {\n                localVarQueryParameter['goodTillDate'] = goodTillDate;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/order',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query All CM Conditional Orders\n         *\n         * These orders will not be found:\n         * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 7 days < current time\n         * The query time period must be less than 7 days( default as the recent 7 days).\n         *\n         * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n         *\n         * @summary Query All CM Conditional Orders(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number} [strategyId]\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllCmConditionalOrders: async (\n            symbol?: string,\n            strategyId?: number,\n            startTime?: number,\n            endTime?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/conditional/allOrders',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get all account CM orders; active, canceled, or filled.\n         *\n         * Either `symbol` or `pair` must be sent.\n         * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n         * These orders will not be found:\n         * order status is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 3 days < current time\n         *\n         * Weight: 20 with symbol, 40 with pair\n         *\n         * @summary Query All CM Orders (USER_DATA)\n         * @param {string} symbol\n         * @param {string} [pair]\n         * @param {number} [orderId]\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllCmOrders: async (\n            symbol: string,\n            pair?: string,\n            orderId?: number,\n            startTime?: number,\n            endTime?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryAllCmOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (pair !== undefined && pair !== null) {\n                localVarQueryParameter['pair'] = pair;\n            }\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/allOrders',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get all open conditional orders on a symbol. **Careful** when accessing this with no symbol.\n         *\n         * If the symbol is not sent, orders for all symbols will be returned in an array.\n         *\n         * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n         *\n         * @summary Query All Current CM Open Conditional Orders (USER_DATA)\n         * @param {string} [symbol]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllCurrentCmOpenConditionalOrders: async (\n            symbol?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/conditional/openOrders',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get all open orders on a symbol.\n         *\n         * If the symbol is not sent, orders for all symbols will be returned in an array.\n         *\n         * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n         * Careful when accessing this with no symbol.\n         *\n         * @summary Query All Current CM Open Orders(USER_DATA)\n         * @param {string} [symbol]\n         * @param {string} [pair]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllCurrentCmOpenOrders: async (\n            symbol?: string,\n            pair?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (pair !== undefined && pair !== null) {\n                localVarQueryParameter['pair'] = pair;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/openOrders',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get all open conditional orders on a symbol.\n         *\n         * If the symbol is not sent, orders for all symbols will be returned in an array.\n         *\n         * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n         * Careful when accessing this with no symbol.\n         *\n         * @summary Query All Current UM Open Conditional Orders(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllCurrentUmOpenConditionalOrders: async (\n            symbol?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/conditional/openOrders',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get all open orders on a symbol.\n         *\n         *\n         * If the symbol is not sent, orders for all symbols will be returned in an array.\n         *\n         * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n         *\n         * @summary Query All Current UM Open Orders(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllCurrentUmOpenOrders: async (\n            symbol?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/openOrders',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query All Margin Account Orders\n         *\n         * Weight: 100\n         *\n         * @summary Query All Margin Account Orders (USER_DATA)\n         * @param {string} symbol\n         * @param {number} [orderId]\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllMarginAccountOrders: async (\n            symbol: string,\n            orderId?: number,\n            startTime?: number,\n            endTime?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryAllMarginAccountOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/allOrders',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query All UM Conditional Orders\n         *\n         * These orders will not be found:\n         * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 7 days < current time\n         * The query time period must be less than 7 days( default as the recent 7 days).\n         *\n         * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n         *\n         * @summary Query All UM Conditional Orders(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number} [strategyId]\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllUmConditionalOrders: async (\n            symbol?: string,\n            strategyId?: number,\n            startTime?: number,\n            endTime?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/conditional/allOrders',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get all account UM orders; active, canceled, or filled.\n         * These orders will not be found:\n         * order status is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 3 days < current time\n         *\n         * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n         * The query time period must be less then 7 days( default as the recent 7 days).\n         *\n         * Weight: 5\n         *\n         * @summary Query All UM Orders(USER_DATA)\n         * @param {string} symbol\n         * @param {number} [orderId]\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryAllUmOrders: async (\n            symbol: string,\n            orderId?: number,\n            startTime?: number,\n            endTime?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryAllUmOrders', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/allOrders',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query CM Conditional Order History\n         *\n         *\n         * Either `strategyId` or `newClientStrategyId` must be sent.\n         * `NEW` orders will not be found.\n         * These orders will not be found:\n         * order status is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 7 days < current time\n         *\n         * Weight: 1\n         *\n         * @summary Query CM Conditional Order History(USER_DATA)\n         * @param {string} symbol\n         * @param {number} [strategyId]\n         * @param {string} [newClientStrategyId]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCmConditionalOrderHistory: async (\n            symbol: string,\n            strategyId?: number,\n            newClientStrategyId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCmConditionalOrderHistory', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/conditional/orderHistory',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get order modification history\n         *\n         * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n         *\n         * Weight: 1\n         *\n         * @summary Query CM Modify Order History(TRADE)\n         * @param {string} symbol\n         * @param {number} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCmModifyOrderHistory: async (\n            symbol: string,\n            orderId?: number,\n            origClientOrderId?: string,\n            startTime?: number,\n            endTime?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCmModifyOrderHistory', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/orderAmendment',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Check an CM order's status.\n         *\n         * Either `orderId` or `origClientOrderId` must be sent.\n         * These orders will not be found:\n         * order status is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 3 days < current time\n         *\n         * Weight: 1\n         *\n         * @summary Query CM Order(USER_DATA)\n         * @param {string} symbol\n         * @param {number} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCmOrder: async (\n            symbol: string,\n            orderId?: number,\n            origClientOrderId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCmOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/order',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Current CM Open Conditional Order\n         *\n         * Either `strategyId` or `newClientStrategyId` must be sent.\n         * If the queried order has been triggered, cancelled or expired, the error message \"Order does not exist\" will be returned.\n         *\n         * Weight: 1\n         *\n         * @summary Query Current CM Open Conditional Order(USER_DATA)\n         * @param {string} symbol\n         * @param {number} [strategyId]\n         * @param {string} [newClientStrategyId]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCurrentCmOpenConditionalOrder: async (\n            symbol: string,\n            strategyId?: number,\n            newClientStrategyId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCurrentCmOpenConditionalOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/conditional/openOrder',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query current CM open order\n         *\n         * Either `orderId` or `origClientOrderId` must be sent.\n         * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n         *\n         * Weight: 1\n         *\n         * @summary Query Current CM Open Order (USER_DATA)\n         * @param {string} symbol\n         * @param {number} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCurrentCmOpenOrder: async (\n            symbol: string,\n            orderId?: number,\n            origClientOrderId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCurrentCmOpenOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/openOrder',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Current Margin Open Order\n         *\n         * Weight: 5\n         *\n         * @summary Query Current Margin Open Order (USER_DATA)\n         * @param {string} symbol\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCurrentMarginOpenOrder: async (\n            symbol: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCurrentMarginOpenOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/openOrders',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Current UM Open Conditional Order\n         *\n         * Either `strategyId` or `newClientStrategyId` must be sent.\n         * If the queried order has been `CANCELED`, `TRIGGERED`或`EXPIRED`, the error message \"Order does not exist\" will be returned.\n         *\n         * Weight: 1\n         *\n         * @summary Query Current UM Open Conditional Order(USER_DATA)\n         * @param {string} symbol\n         * @param {number} [strategyId]\n         * @param {string} [newClientStrategyId]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCurrentUmOpenConditionalOrder: async (\n            symbol: string,\n            strategyId?: number,\n            newClientStrategyId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCurrentUmOpenConditionalOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/conditional/openOrder',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query current UM open order\n         *\n         *\n         * Either `orderId` or `origClientOrderId` must be sent.\n         * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n         *\n         * Weight: 1\n         *\n         * @summary Query Current UM Open Order(USER_DATA)\n         * @param {string} symbol\n         * @param {number} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryCurrentUmOpenOrder: async (\n            symbol: string,\n            orderId?: number,\n            origClientOrderId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryCurrentUmOpenOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/openOrder',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Margin Account Order\n         *\n         * Weight: 10\n         *\n         * @summary Query Margin Account Order (USER_DATA)\n         * @param {string} symbol\n         * @param {number} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryMarginAccountOrder: async (\n            symbol: string,\n            orderId?: number,\n            origClientOrderId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryMarginAccountOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/order',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query all OCO for a specific margin account based on provided optional parameters\n         *\n         * Weight: 100\n         *\n         * @summary Query Margin Account\\'s all OCO (USER_DATA)\n         * @param {number} [fromId] Trade id to fetch from. Default gets most recent trades.\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryMarginAccountsAllOco: async (\n            fromId?: number,\n            startTime?: number,\n            endTime?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (fromId !== undefined && fromId !== null) {\n                localVarQueryParameter['fromId'] = fromId;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/allOrderList',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Retrieves a specific OCO based on provided optional parameters\n         *\n         * Weight: 5\n         *\n         * @summary Query Margin Account\\'s OCO (USER_DATA)\n         * @param {number} [orderListId] Either `orderListId` or `listClientOrderId` must be provided\n         * @param {string} [origClientOrderId]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryMarginAccountsOco: async (\n            orderListId?: number,\n            origClientOrderId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (orderListId !== undefined && orderListId !== null) {\n                localVarQueryParameter['orderListId'] = orderListId;\n            }\n\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/orderList',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query Margin Account's Open OCO\n         *\n         * Weight: 5\n         *\n         * @summary Query Margin Account\\'s Open OCO (USER_DATA)\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryMarginAccountsOpenOco: async (recvWindow?: number): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/openOrderList',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query UM Conditional Order History\n         *\n         * Either `strategyId` or `newClientStrategyId` must be sent.\n         * `NEW` orders will not be found.\n         * These orders will not be found:\n         * order status is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 7 days < current time\n         *\n         * Weight: 1\n         *\n         * @summary Query UM Conditional Order History(USER_DATA)\n         * @param {string} symbol\n         * @param {number} [strategyId]\n         * @param {string} [newClientStrategyId]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUmConditionalOrderHistory: async (\n            symbol: string,\n            strategyId?: number,\n            newClientStrategyId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryUmConditionalOrderHistory', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (strategyId !== undefined && strategyId !== null) {\n                localVarQueryParameter['strategyId'] = strategyId;\n            }\n\n            if (newClientStrategyId !== undefined && newClientStrategyId !== null) {\n                localVarQueryParameter['newClientStrategyId'] = newClientStrategyId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/conditional/orderHistory',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get order modification history\n         *\n         * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n         *\n         * Weight: 1\n         *\n         * @summary Query UM Modify Order History(TRADE)\n         * @param {string} symbol\n         * @param {number} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUmModifyOrderHistory: async (\n            symbol: string,\n            orderId?: number,\n            origClientOrderId?: string,\n            startTime?: number,\n            endTime?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryUmModifyOrderHistory', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/orderAmendment',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Check an UM order's status.\n         *\n         * These orders will not be found:\n         * Either `orderId` or `origClientOrderId` must be sent.\n         * order status is `CANCELED` or `EXPIRED`, **AND**\n         * order has NO filled trade, **AND**\n         * created time + 3 days < current time\n         *\n         * Weight: 1\n         *\n         * @summary Query UM Order (USER_DATA)\n         * @param {string} symbol\n         * @param {number} [orderId]\n         * @param {string} [origClientOrderId]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUmOrder: async (\n            symbol: string,\n            orderId?: number,\n            origClientOrderId?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('queryUmOrder', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (orderId !== undefined && orderId !== null) {\n                localVarQueryParameter['orderId'] = orderId;\n            }\n\n            if (origClientOrderId !== undefined && origClientOrderId !== null) {\n                localVarQueryParameter['origClientOrderId'] = origClientOrderId;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/order',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query User's CM Force Orders\n         *\n         * If \"autoCloseType\" is not sent, orders with both of the types will be returned\n         * If \"startTime\" is not sent, data within 7 days before \"endTime\" can be queried\n         *\n         * Weight: 20 with symbol, 50 without symbol\n         *\n         * @summary Query User\\'s CM Force Orders(USER_DATA)\n         * @param {string} [symbol]\n         * @param {QueryUsersCmForceOrdersAutoCloseTypeEnum} [autoCloseType] `LIQUIDATION` for liquidation orders, `ADL` for ADL orders.\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUsersCmForceOrders: async (\n            symbol?: string,\n            autoCloseType?: QueryUsersCmForceOrdersAutoCloseTypeEnum,\n            startTime?: number,\n            endTime?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (autoCloseType !== undefined && autoCloseType !== null) {\n                localVarQueryParameter['autoCloseType'] = autoCloseType;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/cm/forceOrders',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query user's margin force orders\n         *\n         * Weight: 1\n         *\n         * @summary Query User\\'s Margin Force Orders(USER_DATA)\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [current] Currently querying page. Start from 1. Default:1\n         * @param {number} [size] Default:10 Max:100\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUsersMarginForceOrders: async (\n            startTime?: number,\n            endTime?: number,\n            current?: number,\n            size?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (current !== undefined && current !== null) {\n                localVarQueryParameter['current'] = current;\n            }\n\n            if (size !== undefined && size !== null) {\n                localVarQueryParameter['size'] = size;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/margin/forceOrders',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query User's UM Force Orders\n         *\n         * If `autoCloseType` is not sent, orders with both of the types will be returned\n         * If `startTime` is not sent, data within 7 days before `endTime` can be queried\n         *\n         * Weight: 20 with symbol, 50 without symbol\n         *\n         * @summary Query User\\'s UM Force Orders (USER_DATA)\n         * @param {string} [symbol]\n         * @param {QueryUsersUmForceOrdersAutoCloseTypeEnum} [autoCloseType] `LIQUIDATION` for liquidation orders, `ADL` for ADL orders.\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        queryUsersUmForceOrders: async (\n            symbol?: string,\n            autoCloseType?: QueryUsersUmForceOrdersAutoCloseTypeEnum,\n            startTime?: number,\n            endTime?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (autoCloseType !== undefined && autoCloseType !== null) {\n                localVarQueryParameter['autoCloseType'] = autoCloseType;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/forceOrders',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Change user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off ) on ***EVERY symbol***\n         *\n         *\n         * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n         *\n         * Weight: 1\n         *\n         * @summary Toggle BNB Burn On UM Futures Trade (TRADE)\n         * @param {string} feeBurn \"true\": Fee Discount On; \"false\": Fee Discount Off\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        toggleBnbBurnOnUmFuturesTrade: async (\n            feeBurn: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'feeBurn' is not null or undefined\n            assertParamExists('toggleBnbBurnOnUmFuturesTrade', 'feeBurn', feeBurn);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (feeBurn !== undefined && feeBurn !== null) {\n                localVarQueryParameter['feeBurn'] = feeBurn;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/feeBurn',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Get trades for a specific account and UM symbol.\n         *\n         *\n         * If `startTime` and `endTime` are both not sent, then the last '24 hours' data will be returned.\n         * The time between `startTime` and `endTime` cannot be longer than 24 hours.\n         * The parameter `fromId` cannot be sent with `startTime` or `endTime`.\n         *\n         * Weight: 5\n         *\n         * @summary UM Account Trade List(USER_DATA)\n         * @param {string} symbol\n         * @param {number} [startTime] Timestamp in ms to get funding from INCLUSIVE.\n         * @param {number} [endTime] Timestamp in ms to get funding until INCLUSIVE.\n         * @param {number} [fromId] Trade id to fetch from. Default gets most recent trades.\n         * @param {number} [limit] Default 100; max 1000\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        umAccountTradeList: async (\n            symbol: string,\n            startTime?: number,\n            endTime?: number,\n            fromId?: number,\n            limit?: number,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            // verify required parameter 'symbol' is not null or undefined\n            assertParamExists('umAccountTradeList', 'symbol', symbol);\n\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (startTime !== undefined && startTime !== null) {\n                localVarQueryParameter['startTime'] = startTime;\n            }\n\n            if (endTime !== undefined && endTime !== null) {\n                localVarQueryParameter['endTime'] = endTime;\n            }\n\n            if (fromId !== undefined && fromId !== null) {\n                localVarQueryParameter['fromId'] = fromId;\n            }\n\n            if (limit !== undefined && limit !== null) {\n                localVarQueryParameter['limit'] = limit;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/userTrades',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Query UM Position ADL Quantile Estimation\n         *\n         * Values update every 30s.\n         * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n         * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n         * If the positions of the symbol are crossed margined in Hedge Mode:\n         * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n         * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n         *\n         * Weight: 5\n         *\n         * @summary UM Position ADL Quantile Estimation(USER_DATA)\n         * @param {string} [symbol]\n         * @param {number} [recvWindow]\n         *\n         * @throws {RequiredError}\n         */\n        umPositionAdlQuantileEstimation: async (\n            symbol?: string,\n            recvWindow?: number\n        ): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            if (symbol !== undefined && symbol !== null) {\n                localVarQueryParameter['symbol'] = symbol;\n            }\n\n            if (recvWindow !== undefined && recvWindow !== null) {\n                localVarQueryParameter['recvWindow'] = recvWindow;\n            }\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/um/adlQuantile',\n                method: 'GET',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * TradeApi - interface\n * @interface TradeApi\n */\nexport interface TradeApiInterface {\n    /**\n     * Cancel All CM Open Conditional Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All CM Open Conditional Orders(TRADE)\n     * @param {CancelAllCmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelAllCmOpenConditionalOrders(\n        requestParameters: CancelAllCmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<CancelAllCmOpenConditionalOrdersResponse>>;\n    /**\n     * Cancel all active LIMIT orders on specific symbol\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All CM Open Orders(TRADE)\n     * @param {CancelAllCmOpenOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelAllCmOpenOrders(\n        requestParameters: CancelAllCmOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllCmOpenOrdersResponse>>;\n    /**\n     * Cancel All UM Open Conditional Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Open Conditional Orders (TRADE)\n     * @param {CancelAllUmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelAllUmOpenConditionalOrders(\n        requestParameters: CancelAllUmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmOpenConditionalOrdersResponse>>;\n    /**\n     * Cancel all active LIMIT orders on specific symbol\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Open Orders(TRADE)\n     * @param {CancelAllUmOpenOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelAllUmOpenOrders(\n        requestParameters: CancelAllUmOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmOpenOrdersResponse>>;\n    /**\n     * Cancel CM Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel CM Conditional Order(TRADE)\n     * @param {CancelCmConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelCmConditionalOrder(\n        requestParameters: CancelCmConditionalOrderRequest\n    ): Promise<RestApiResponse<CancelCmConditionalOrderResponse>>;\n    /**\n     * Cancel an active LIMIT order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel CM Order(TRADE)\n     * @param {CancelCmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelCmOrder(\n        requestParameters: CancelCmOrderRequest\n    ): Promise<RestApiResponse<CancelCmOrderResponse>>;\n    /**\n     * Cancel Margin Account All Open Orders on a Symbol\n     *\n     * Weight: 5\n     *\n     * @summary Cancel Margin Account All Open Orders on a Symbol(TRADE)\n     * @param {CancelMarginAccountAllOpenOrdersOnASymbolRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelMarginAccountAllOpenOrdersOnASymbol(\n        requestParameters: CancelMarginAccountAllOpenOrdersOnASymbolRequest\n    ): Promise<RestApiResponse<CancelMarginAccountAllOpenOrdersOnASymbolResponse>>;\n    /**\n     * Cancel Margin Account OCO Orders\n     *\n     * Additional notes: Canceling an individual leg will cancel the entire OCO\n     *\n     * Weight: 2\n     *\n     * @summary Cancel Margin Account OCO Orders(TRADE)\n     * @param {CancelMarginAccountOcoOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelMarginAccountOcoOrders(\n        requestParameters: CancelMarginAccountOcoOrdersRequest\n    ): Promise<RestApiResponse<CancelMarginAccountOcoOrdersResponse>>;\n    /**\n     * Cancel Margin Account Order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 2\n     *\n     * @summary Cancel Margin Account Order(TRADE)\n     * @param {CancelMarginAccountOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelMarginAccountOrder(\n        requestParameters: CancelMarginAccountOrderRequest\n    ): Promise<RestApiResponse<CancelMarginAccountOrderResponse>>;\n    /**\n     * Cancel UM Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Conditional Order(TRADE)\n     * @param {CancelUmConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelUmConditionalOrder(\n        requestParameters: CancelUmConditionalOrderRequest\n    ): Promise<RestApiResponse<CancelUmConditionalOrderResponse>>;\n    /**\n     * Cancel an active UM LIMIT order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Order(TRADE)\n     * @param {CancelUmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cancelUmOrder(\n        requestParameters: CancelUmOrderRequest\n    ): Promise<RestApiResponse<CancelUmOrderResponse>>;\n    /**\n     * Get trades for a specific account and CM symbol.\n     *\n     * Either `symbol` or `pair` must be sent\n     * `symbol` and `pair` cannot be sent together\n     * `pair` and `fromId` cannot be sent together\n     * `OrderId` can only be sent together with symbol\n     * If a `pair` is sent, tickers for all symbols of the `pair` will be returned\n     * The parameter `fromId` cannot be sent with `startTime` or `endTime`\n     *\n     * Weight: 20 with symbol, 40 with pair\n     *\n     * @summary CM Account Trade List(USER_DATA)\n     * @param {CmAccountTradeListRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cmAccountTradeList(\n        requestParameters?: CmAccountTradeListRequest\n    ): Promise<RestApiResponse<CmAccountTradeListResponse>>;\n    /**\n     * Query CM Position ADL Quantile Estimation\n     * Values update every 30s.\n     * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n     * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n     * If the positions of the symbol are crossed margined in Hedge Mode:\n     * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n     * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n     *\n     * Weight: 5\n     *\n     * @summary CM Position ADL Quantile Estimation(USER_DATA)\n     * @param {CmPositionAdlQuantileEstimationRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    cmPositionAdlQuantileEstimation(\n        requestParameters?: CmPositionAdlQuantileEstimationRequest\n    ): Promise<RestApiResponse<CmPositionAdlQuantileEstimationResponse>>;\n    /**\n     * Get user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off )\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Futures BNB Burn Status (USER_DATA)\n     * @param {GetUmFuturesBnbBurnStatusRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    getUmFuturesBnbBurnStatus(\n        requestParameters?: GetUmFuturesBnbBurnStatusRequest\n    ): Promise<RestApiResponse<GetUmFuturesBnbBurnStatusResponse>>;\n    /**\n     * Apply for a margin loan.\n     *\n     * Weight: 100\n     *\n     * @summary Margin Account Borrow(MARGIN)\n     * @param {MarginAccountBorrowRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    marginAccountBorrow(\n        requestParameters: MarginAccountBorrowRequest\n    ): Promise<RestApiResponse<MarginAccountBorrowResponse>>;\n    /**\n     * Send in a new OCO for a margin account\n     *\n     * Price Restrictions:\n     * `SELL`: Limit Price > Last Price > Stop Price\n     * `BUY`: Limit Price < Last Price < Stop Price\n     * Quantity Restrictions:\n     * Both legs must have the same quantity\n     * `ICEBERG` quantities however do not have to be the same.\n     * Order Rate Limit\n     * `OCO` counts as 2 orders against the order rate limit.\n     *\n     * Weight: 1\n     *\n     * @summary Margin Account New OCO(TRADE)\n     * @param {MarginAccountNewOcoRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    marginAccountNewOco(\n        requestParameters: MarginAccountNewOcoRequest\n    ): Promise<RestApiResponse<MarginAccountNewOcoResponse>>;\n    /**\n     * Repay for a margin loan.\n     *\n     * Weight: 100\n     *\n     * @summary Margin Account Repay(MARGIN)\n     * @param {MarginAccountRepayRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    marginAccountRepay(\n        requestParameters: MarginAccountRepayRequest\n    ): Promise<RestApiResponse<MarginAccountRepayResponse>>;\n    /**\n     * Repay debt for a margin loan.\n     *\n     * The repay asset amount cannot exceed 50000 USD equivalent value for a single request.\n     * If `amount` is not sent, all the asset loan will be repaid if having enough specific repay assets.\n     * If `amount` is sent, only the certain amount of the asset loan will be repaid if having enough specific repay assets.\n     * The system will use the same asset to repay the loan first (if have) no matter whether put the asset in `specifyRepayAssets`\n     *\n     * Weight: 3000\n     *\n     * @summary Margin Account Repay Debt(TRADE)\n     * @param {MarginAccountRepayDebtRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    marginAccountRepayDebt(\n        requestParameters: MarginAccountRepayDebtRequest\n    ): Promise<RestApiResponse<MarginAccountRepayDebtResponse>>;\n    /**\n     * Margin Account Trade List\n     *\n     * Weight: 5\n     *\n     * @summary Margin Account Trade List (USER_DATA)\n     * @param {MarginAccountTradeListRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    marginAccountTradeList(\n        requestParameters: MarginAccountTradeListRequest\n    ): Promise<RestApiResponse<MarginAccountTradeListResponse>>;\n    /**\n     * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     * Both `quantity` and `price` must be sent\n     * When the new `quantity` or `price` doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n     * However the order will be cancelled by the amendment in the following situations:\n     * when the order is in partially filled status and the new `quantity` <= `executedQty`\n     * When the order is `GTX` and the new price will cause it to be executed immediately\n     *\n     * Weight: 1\n     *\n     * @summary Modify CM Order(TRADE)\n     * @param {ModifyCmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    modifyCmOrder(\n        requestParameters: ModifyCmOrderRequest\n    ): Promise<RestApiResponse<ModifyCmOrderResponse>>;\n    /**\n     * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n     *\n     * Either orderId or origClientOrderId must be sent, and the orderId will prevail if both are sent.\n     * Both quantity and price must be sent\n     * When the new quantity or price doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n     * However the order will be cancelled by the amendment in the following situations:\n     * when the order is in partially filled status and the new quantity <= executedQty\n     * When the order is GTX and the new price will cause it to be executed immediately\n     *\n     * Weight: 1\n     *\n     * @summary Modify UM Order(TRADE)\n     * @param {ModifyUmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    modifyUmOrder(\n        requestParameters: ModifyUmOrderRequest\n    ): Promise<RestApiResponse<ModifyUmOrderResponse>>;\n    /**\n     * New CM Conditional Order\n     *\n     * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     * `STOP`, `STOP_MARKET`:\n     * BUY: \"MARK_PRICE\"  >= `stopPrice`\n     * SELL: \"MARK_PRICE\" <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: \"MARK_PRICE\" <= `stopPrice`\n     * SELL: \"MARK_PRICE\" >= `stopPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n     * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n     * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n     * BUY: `activationPrice` should be smaller than latest mark price.\n     * SELL: `activationPrice` should be larger than latest mark price.\n     * Condition orders will be triggered when:\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     *\n     * Weight: 1\n     *\n     * @summary New CM Conditional Order(TRADE)\n     * @param {NewCmConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    newCmConditionalOrder(\n        requestParameters: NewCmConditionalOrderRequest\n    ): Promise<RestApiResponse<NewCmConditionalOrderResponse>>;\n    /**\n     * Place new CM order\n     *\n     * If `newOrderRespType` is sent as `RESULT` :\n     * `MARKET` order: the final FILLED result of the order will be return directly.\n     * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n     *\n     * Weight: 1\n     *\n     * @summary New CM Order(TRADE)\n     * @param {NewCmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    newCmOrder(requestParameters: NewCmOrderRequest): Promise<RestApiResponse<NewCmOrderResponse>>;\n    /**\n     * New Margin Order\n     *\n     * Weight: 1\n     *\n     * @summary New Margin Order(TRADE)\n     * @param {NewMarginOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    newMarginOrder(\n        requestParameters: NewMarginOrderRequest\n    ): Promise<RestApiResponse<NewMarginOrderResponse>>;\n    /**\n     * Place new UM conditional order\n     *\n     * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     * `STOP`, `STOP_MARKET`:\n     * BUY: \"MARK_PRICE\"  >= `stopPrice`\n     * SELL: \"MARK_PRICE\" <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: \"MARK_PRICE\" <= `stopPrice`\n     * SELL: \"MARK_PRICE\" >= `stopPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n     * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n     * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n     * BUY: `activationPrice` should be smaller than latest mark price.\n     * SELL: `activationPrice` should be larger than latest mark price.\n     * Condition orders will be triggered when:\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n     *\n     * Weight: 1\n     *\n     * @summary New UM Conditional Order (TRADE)\n     * @param {NewUmConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    newUmConditionalOrder(\n        requestParameters: NewUmConditionalOrderRequest\n    ): Promise<RestApiResponse<NewUmConditionalOrderResponse>>;\n    /**\n     * Place new UM order\n     *\n     * If `newOrderRespType` is sent as `RESULT` :\n     * `MARKET` order: the final FILLED result of the order will be return directly.\n     * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n     *\n     * Weight: 1\n     *\n     * @summary New UM Order (TRADE)\n     * @param {NewUmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    newUmOrder(requestParameters: NewUmOrderRequest): Promise<RestApiResponse<NewUmOrderResponse>>;\n    /**\n     * Query All CM Conditional Orders\n     *\n     * These orders will not be found:\n     * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     * The query time period must be less than 7 days( default as the recent 7 days).\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All CM Conditional Orders(USER_DATA)\n     * @param {QueryAllCmConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllCmConditionalOrders(\n        requestParameters?: QueryAllCmConditionalOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCmConditionalOrdersResponse>>;\n    /**\n     * Get all account CM orders; active, canceled, or filled.\n     *\n     * Either `symbol` or `pair` must be sent.\n     * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 20 with symbol, 40 with pair\n     *\n     * @summary Query All CM Orders (USER_DATA)\n     * @param {QueryAllCmOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllCmOrders(\n        requestParameters: QueryAllCmOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCmOrdersResponse>>;\n    /**\n     * Get all open conditional orders on a symbol. **Careful** when accessing this with no symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All Current CM Open Conditional Orders (USER_DATA)\n     * @param {QueryAllCurrentCmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllCurrentCmOpenConditionalOrders(\n        requestParameters?: QueryAllCurrentCmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCurrentCmOpenConditionalOrdersResponse>>;\n    /**\n     * Get all open orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current CM Open Orders(USER_DATA)\n     * @param {QueryAllCurrentCmOpenOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllCurrentCmOpenOrders(\n        requestParameters?: QueryAllCurrentCmOpenOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCurrentCmOpenOrdersResponse>>;\n    /**\n     * Get all open conditional orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current UM Open Conditional Orders(USER_DATA)\n     * @param {QueryAllCurrentUmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllCurrentUmOpenConditionalOrders(\n        requestParameters?: QueryAllCurrentUmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenConditionalOrdersResponse>>;\n    /**\n     * Get all open orders on a symbol.\n     *\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All Current UM Open Orders(USER_DATA)\n     * @param {QueryAllCurrentUmOpenOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllCurrentUmOpenOrders(\n        requestParameters?: QueryAllCurrentUmOpenOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenOrdersResponse>>;\n    /**\n     * Query All Margin Account Orders\n     *\n     * Weight: 100\n     *\n     * @summary Query All Margin Account Orders (USER_DATA)\n     * @param {QueryAllMarginAccountOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllMarginAccountOrders(\n        requestParameters: QueryAllMarginAccountOrdersRequest\n    ): Promise<RestApiResponse<QueryAllMarginAccountOrdersResponse>>;\n    /**\n     * Query All UM Conditional Orders\n     *\n     * These orders will not be found:\n     * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     * The query time period must be less than 7 days( default as the recent 7 days).\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All UM Conditional Orders(USER_DATA)\n     * @param {QueryAllUmConditionalOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllUmConditionalOrders(\n        requestParameters?: QueryAllUmConditionalOrdersRequest\n    ): Promise<RestApiResponse<QueryAllUmConditionalOrdersResponse>>;\n    /**\n     * Get all account UM orders; active, canceled, or filled.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n     * The query time period must be less then 7 days( default as the recent 7 days).\n     *\n     * Weight: 5\n     *\n     * @summary Query All UM Orders(USER_DATA)\n     * @param {QueryAllUmOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryAllUmOrders(\n        requestParameters: QueryAllUmOrdersRequest\n    ): Promise<RestApiResponse<QueryAllUmOrdersResponse>>;\n    /**\n     * Query CM Conditional Order History\n     *\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * `NEW` orders will not be found.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Conditional Order History(USER_DATA)\n     * @param {QueryCmConditionalOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCmConditionalOrderHistory(\n        requestParameters: QueryCmConditionalOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryCmConditionalOrderHistoryResponse>>;\n    /**\n     * Get order modification history\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Modify Order History(TRADE)\n     * @param {QueryCmModifyOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCmModifyOrderHistory(\n        requestParameters: QueryCmModifyOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryCmModifyOrderHistoryResponse>>;\n    /**\n     * Check an CM order's status.\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Order(USER_DATA)\n     * @param {QueryCmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCmOrder(\n        requestParameters: QueryCmOrderRequest\n    ): Promise<RestApiResponse<QueryCmOrderResponse>>;\n    /**\n     * Query Current CM Open Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * If the queried order has been triggered, cancelled or expired, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current CM Open Conditional Order(USER_DATA)\n     * @param {QueryCurrentCmOpenConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCurrentCmOpenConditionalOrder(\n        requestParameters: QueryCurrentCmOpenConditionalOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentCmOpenConditionalOrderResponse>>;\n    /**\n     * Query current CM open order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current CM Open Order (USER_DATA)\n     * @param {QueryCurrentCmOpenOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCurrentCmOpenOrder(\n        requestParameters: QueryCurrentCmOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentCmOpenOrderResponse>>;\n    /**\n     * Query Current Margin Open Order\n     *\n     * Weight: 5\n     *\n     * @summary Query Current Margin Open Order (USER_DATA)\n     * @param {QueryCurrentMarginOpenOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCurrentMarginOpenOrder(\n        requestParameters: QueryCurrentMarginOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentMarginOpenOrderResponse>>;\n    /**\n     * Query Current UM Open Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * If the queried order has been `CANCELED`, `TRIGGERED`或`EXPIRED`, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Conditional Order(USER_DATA)\n     * @param {QueryCurrentUmOpenConditionalOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCurrentUmOpenConditionalOrder(\n        requestParameters: QueryCurrentUmOpenConditionalOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentUmOpenConditionalOrderResponse>>;\n    /**\n     * Query current UM open order\n     *\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Order(USER_DATA)\n     * @param {QueryCurrentUmOpenOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryCurrentUmOpenOrder(\n        requestParameters: QueryCurrentUmOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentUmOpenOrderResponse>>;\n    /**\n     * Query Margin Account Order\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin Account Order (USER_DATA)\n     * @param {QueryMarginAccountOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryMarginAccountOrder(\n        requestParameters: QueryMarginAccountOrderRequest\n    ): Promise<RestApiResponse<QueryMarginAccountOrderResponse>>;\n    /**\n     * Query all OCO for a specific margin account based on provided optional parameters\n     *\n     * Weight: 100\n     *\n     * @summary Query Margin Account\\'s all OCO (USER_DATA)\n     * @param {QueryMarginAccountsAllOcoRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryMarginAccountsAllOco(\n        requestParameters?: QueryMarginAccountsAllOcoRequest\n    ): Promise<RestApiResponse<QueryMarginAccountsAllOcoResponse>>;\n    /**\n     * Retrieves a specific OCO based on provided optional parameters\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Account\\'s OCO (USER_DATA)\n     * @param {QueryMarginAccountsOcoRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryMarginAccountsOco(\n        requestParameters?: QueryMarginAccountsOcoRequest\n    ): Promise<RestApiResponse<QueryMarginAccountsOcoResponse>>;\n    /**\n     * Query Margin Account's Open OCO\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Account\\'s Open OCO (USER_DATA)\n     * @param {QueryMarginAccountsOpenOcoRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryMarginAccountsOpenOco(\n        requestParameters?: QueryMarginAccountsOpenOcoRequest\n    ): Promise<RestApiResponse<QueryMarginAccountsOpenOcoResponse>>;\n    /**\n     * Query UM Conditional Order History\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * `NEW` orders will not be found.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Conditional Order History(USER_DATA)\n     * @param {QueryUmConditionalOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryUmConditionalOrderHistory(\n        requestParameters: QueryUmConditionalOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmConditionalOrderHistoryResponse>>;\n    /**\n     * Get order modification history\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Modify Order History(TRADE)\n     * @param {QueryUmModifyOrderHistoryRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryUmModifyOrderHistory(\n        requestParameters: QueryUmModifyOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmModifyOrderHistoryResponse>>;\n    /**\n     * Check an UM order's status.\n     *\n     * These orders will not be found:\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Order (USER_DATA)\n     * @param {QueryUmOrderRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryUmOrder(\n        requestParameters: QueryUmOrderRequest\n    ): Promise<RestApiResponse<QueryUmOrderResponse>>;\n    /**\n     * Query User's CM Force Orders\n     *\n     * If \"autoCloseType\" is not sent, orders with both of the types will be returned\n     * If \"startTime\" is not sent, data within 7 days before \"endTime\" can be queried\n     *\n     * Weight: 20 with symbol, 50 without symbol\n     *\n     * @summary Query User\\'s CM Force Orders(USER_DATA)\n     * @param {QueryUsersCmForceOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryUsersCmForceOrders(\n        requestParameters?: QueryUsersCmForceOrdersRequest\n    ): Promise<RestApiResponse<QueryUsersCmForceOrdersResponse>>;\n    /**\n     * Query user's margin force orders\n     *\n     * Weight: 1\n     *\n     * @summary Query User\\'s Margin Force Orders(USER_DATA)\n     * @param {QueryUsersMarginForceOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryUsersMarginForceOrders(\n        requestParameters?: QueryUsersMarginForceOrdersRequest\n    ): Promise<RestApiResponse<QueryUsersMarginForceOrdersResponse>>;\n    /**\n     * Query User's UM Force Orders\n     *\n     * If `autoCloseType` is not sent, orders with both of the types will be returned\n     * If `startTime` is not sent, data within 7 days before `endTime` can be queried\n     *\n     * Weight: 20 with symbol, 50 without symbol\n     *\n     * @summary Query User\\'s UM Force Orders (USER_DATA)\n     * @param {QueryUsersUmForceOrdersRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    queryUsersUmForceOrders(\n        requestParameters?: QueryUsersUmForceOrdersRequest\n    ): Promise<RestApiResponse<QueryUsersUmForceOrdersResponse>>;\n    /**\n     * Change user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off ) on ***EVERY symbol***\n     *\n     *\n     * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n     *\n     * Weight: 1\n     *\n     * @summary Toggle BNB Burn On UM Futures Trade (TRADE)\n     * @param {ToggleBnbBurnOnUmFuturesTradeRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    toggleBnbBurnOnUmFuturesTrade(\n        requestParameters: ToggleBnbBurnOnUmFuturesTradeRequest\n    ): Promise<RestApiResponse<ToggleBnbBurnOnUmFuturesTradeResponse>>;\n    /**\n     * Get trades for a specific account and UM symbol.\n     *\n     *\n     * If `startTime` and `endTime` are both not sent, then the last '24 hours' data will be returned.\n     * The time between `startTime` and `endTime` cannot be longer than 24 hours.\n     * The parameter `fromId` cannot be sent with `startTime` or `endTime`.\n     *\n     * Weight: 5\n     *\n     * @summary UM Account Trade List(USER_DATA)\n     * @param {UmAccountTradeListRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    umAccountTradeList(\n        requestParameters: UmAccountTradeListRequest\n    ): Promise<RestApiResponse<UmAccountTradeListResponse>>;\n    /**\n     * Query UM Position ADL Quantile Estimation\n     *\n     * Values update every 30s.\n     * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n     * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n     * If the positions of the symbol are crossed margined in Hedge Mode:\n     * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n     * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n     *\n     * Weight: 5\n     *\n     * @summary UM Position ADL Quantile Estimation(USER_DATA)\n     * @param {UmPositionAdlQuantileEstimationRequest} requestParameters Request parameters.\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApiInterface\n     */\n    umPositionAdlQuantileEstimation(\n        requestParameters?: UmPositionAdlQuantileEstimationRequest\n    ): Promise<RestApiResponse<UmPositionAdlQuantileEstimationResponse>>;\n}\n\n/**\n * Request parameters for cancelAllCmOpenConditionalOrders operation in TradeApi.\n * @interface CancelAllCmOpenConditionalOrdersRequest\n */\nexport interface CancelAllCmOpenConditionalOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelAllCmOpenConditionalOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelAllCmOpenConditionalOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cancelAllCmOpenOrders operation in TradeApi.\n * @interface CancelAllCmOpenOrdersRequest\n */\nexport interface CancelAllCmOpenOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelAllCmOpenOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelAllCmOpenOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cancelAllUmOpenConditionalOrders operation in TradeApi.\n * @interface CancelAllUmOpenConditionalOrdersRequest\n */\nexport interface CancelAllUmOpenConditionalOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelAllUmOpenConditionalOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelAllUmOpenConditionalOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cancelAllUmOpenOrders operation in TradeApi.\n * @interface CancelAllUmOpenOrdersRequest\n */\nexport interface CancelAllUmOpenOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelAllUmOpenOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelAllUmOpenOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cancelCmConditionalOrder operation in TradeApi.\n * @interface CancelCmConditionalOrderRequest\n */\nexport interface CancelCmConditionalOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelCmConditionalOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelCmConditionalOrder\n     */\n    readonly strategyId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelCmConditionalOrder\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelCmConditionalOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cancelCmOrder operation in TradeApi.\n * @interface CancelCmOrderRequest\n */\nexport interface CancelCmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelCmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelCmOrder\n     */\n    readonly orderId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelCmOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelCmOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cancelMarginAccountAllOpenOrdersOnASymbol operation in TradeApi.\n * @interface CancelMarginAccountAllOpenOrdersOnASymbolRequest\n */\nexport interface CancelMarginAccountAllOpenOrdersOnASymbolRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelMarginAccountAllOpenOrdersOnASymbol\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelMarginAccountAllOpenOrdersOnASymbol\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cancelMarginAccountOcoOrders operation in TradeApi.\n * @interface CancelMarginAccountOcoOrdersRequest\n */\nexport interface CancelMarginAccountOcoOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelMarginAccountOcoOrders\n     */\n    readonly symbol: string;\n\n    /**\n     * Either `orderListId` or `listClientOrderId` must be provided\n     * @type {number}\n     * @memberof TradeApiCancelMarginAccountOcoOrders\n     */\n    readonly orderListId?: number;\n\n    /**\n     * Either `orderListId` or `listClientOrderId` must be provided\n     * @type {string}\n     * @memberof TradeApiCancelMarginAccountOcoOrders\n     */\n    readonly listClientOrderId?: string;\n\n    /**\n     * Used to uniquely identify this cancel. Automatically generated by default\n     * @type {string}\n     * @memberof TradeApiCancelMarginAccountOcoOrders\n     */\n    readonly newClientOrderId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelMarginAccountOcoOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cancelMarginAccountOrder operation in TradeApi.\n * @interface CancelMarginAccountOrderRequest\n */\nexport interface CancelMarginAccountOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelMarginAccountOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelMarginAccountOrder\n     */\n    readonly orderId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelMarginAccountOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     * Used to uniquely identify this cancel. Automatically generated by default\n     * @type {string}\n     * @memberof TradeApiCancelMarginAccountOrder\n     */\n    readonly newClientOrderId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelMarginAccountOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cancelUmConditionalOrder operation in TradeApi.\n * @interface CancelUmConditionalOrderRequest\n */\nexport interface CancelUmConditionalOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelUmConditionalOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelUmConditionalOrder\n     */\n    readonly strategyId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelUmConditionalOrder\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelUmConditionalOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cancelUmOrder operation in TradeApi.\n * @interface CancelUmOrderRequest\n */\nexport interface CancelUmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelUmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelUmOrder\n     */\n    readonly orderId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCancelUmOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCancelUmOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cmAccountTradeList operation in TradeApi.\n * @interface CmAccountTradeListRequest\n */\nexport interface CmAccountTradeListRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCmAccountTradeList\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCmAccountTradeList\n     */\n    readonly pair?: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiCmAccountTradeList\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiCmAccountTradeList\n     */\n    readonly endTime?: number;\n\n    /**\n     * Trade id to fetch from. Default gets most recent trades.\n     * @type {number}\n     * @memberof TradeApiCmAccountTradeList\n     */\n    readonly fromId?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof TradeApiCmAccountTradeList\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCmAccountTradeList\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for cmPositionAdlQuantileEstimation operation in TradeApi.\n * @interface CmPositionAdlQuantileEstimationRequest\n */\nexport interface CmPositionAdlQuantileEstimationRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiCmPositionAdlQuantileEstimation\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiCmPositionAdlQuantileEstimation\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for getUmFuturesBnbBurnStatus operation in TradeApi.\n * @interface GetUmFuturesBnbBurnStatusRequest\n */\nexport interface GetUmFuturesBnbBurnStatusRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiGetUmFuturesBnbBurnStatus\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for marginAccountBorrow operation in TradeApi.\n * @interface MarginAccountBorrowRequest\n */\nexport interface MarginAccountBorrowRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiMarginAccountBorrow\n     */\n    readonly asset: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountBorrow\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountBorrow\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for marginAccountNewOco operation in TradeApi.\n * @interface MarginAccountNewOcoRequest\n */\nexport interface MarginAccountNewOcoRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly side: MarginAccountNewOcoSideEnum;\n\n    /**\n     * Order quantity\n     * @type {number}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly quantity: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly price: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly stopPrice: number;\n\n    /**\n     * Either `orderListId` or `listClientOrderId` must be provided\n     * @type {string}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly listClientOrderId?: string;\n\n    /**\n     * A unique Id for the limit order\n     * @type {string}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly limitClientOrderId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly limitIcebergQty?: number;\n\n    /**\n     * A unique Id for the stop loss/stop loss limit leg\n     * @type {string}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly stopClientOrderId?: string;\n\n    /**\n     * If provided, stopLimitTimeInForce is required.\n     * @type {number}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly stopLimitPrice?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly stopIcebergQty?: number;\n\n    /**\n     * Valid values are `GTC/FOK/IOC`\n     * @type {'GTC' | 'IOC' | 'FOK'}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly stopLimitTimeInForce?: MarginAccountNewOcoStopLimitTimeInForceEnum;\n\n    /**\n     * \"ACK\", \"RESULT\", default \"ACK\"\n     * @type {'ACK' | 'RESULT'}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly newOrderRespType?: MarginAccountNewOcoNewOrderRespTypeEnum;\n\n    /**\n     * NO_SIDE_EFFECT, MARGIN_BUY, AUTO_REPAY; default NO_SIDE_EFFECT.\n     * @type {'NO_SIDE_EFFECT' | 'MARGIN_BUY' | 'AUTO_REPAY'}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly sideEffectType?: MarginAccountNewOcoSideEffectTypeEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountNewOco\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for marginAccountRepay operation in TradeApi.\n * @interface MarginAccountRepayRequest\n */\nexport interface MarginAccountRepayRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiMarginAccountRepay\n     */\n    readonly asset: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountRepay\n     */\n    readonly amount: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountRepay\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for marginAccountRepayDebt operation in TradeApi.\n * @interface MarginAccountRepayDebtRequest\n */\nexport interface MarginAccountRepayDebtRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiMarginAccountRepayDebt\n     */\n    readonly asset: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiMarginAccountRepayDebt\n     */\n    readonly amount?: string;\n\n    /**\n     * Specific asset list to repay debt; Can be added in batch, separated by commas\n     * @type {string}\n     * @memberof TradeApiMarginAccountRepayDebt\n     */\n    readonly specifyRepayAssets?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountRepayDebt\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for marginAccountTradeList operation in TradeApi.\n * @interface MarginAccountTradeListRequest\n */\nexport interface MarginAccountTradeListRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiMarginAccountTradeList\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountTradeList\n     */\n    readonly orderId?: number;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiMarginAccountTradeList\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiMarginAccountTradeList\n     */\n    readonly endTime?: number;\n\n    /**\n     * Trade id to fetch from. Default gets most recent trades.\n     * @type {number}\n     * @memberof TradeApiMarginAccountTradeList\n     */\n    readonly fromId?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof TradeApiMarginAccountTradeList\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiMarginAccountTradeList\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for modifyCmOrder operation in TradeApi.\n * @interface ModifyCmOrderRequest\n */\nexport interface ModifyCmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly side: ModifyCmOrderSideEnum;\n\n    /**\n     * Order quantity\n     * @type {number}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly quantity: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly price: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly orderId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     * only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n     * @type {'NONE' | 'OPPONENT' | 'OPPONENT_5' | 'OPPONENT_10' | 'OPPONENT_20' | 'QUEUE' | 'QUEUE_5' | 'QUEUE_10' | 'QUEUE_20'}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly priceMatch?: ModifyCmOrderPriceMatchEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiModifyCmOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for modifyUmOrder operation in TradeApi.\n * @interface ModifyUmOrderRequest\n */\nexport interface ModifyUmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly side: ModifyUmOrderSideEnum;\n\n    /**\n     * Order quantity\n     * @type {number}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly quantity: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly price: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly orderId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     * only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n     * @type {'NONE' | 'OPPONENT' | 'OPPONENT_5' | 'OPPONENT_10' | 'OPPONENT_20' | 'QUEUE' | 'QUEUE_5' | 'QUEUE_10' | 'QUEUE_20'}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly priceMatch?: ModifyUmOrderPriceMatchEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiModifyUmOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for newCmConditionalOrder operation in TradeApi.\n * @interface NewCmConditionalOrderRequest\n */\nexport interface NewCmConditionalOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly side: NewCmConditionalOrderSideEnum;\n\n    /**\n     * \"STOP\", \"STOP_MARKET\", \"TAKE_PROFIT\", \"TAKE_PROFIT_MARKET\", and \"TRAILING_STOP_MARKET\"\n     * @type {'STOP' | 'STOP_MARKET' | 'TAKE_PROFIT' | 'TAKE_PROFIT_MARKET' | 'TRAILING_STOP_MARKET'}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly strategyType: NewCmConditionalOrderStrategyTypeEnum;\n\n    /**\n     * Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n     * @type {'BOTH' | 'LONG' | 'SHORT'}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly positionSide?: NewCmConditionalOrderPositionSideEnum;\n\n    /**\n     *\n     * @type {'GTC' | 'IOC' | 'FOK' | 'GTX'}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly timeInForce?: NewCmConditionalOrderTimeInForceEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly quantity?: number;\n\n    /**\n     * \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n     * @type {string}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly reduceOnly?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly price?: number;\n\n    /**\n     * stopPrice triggered by: \"MARK_PRICE\", \"CONTRACT_PRICE\". Default \"CONTRACT_PRICE\"\n     * @type {'MARK_PRICE'}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly workingType?: NewCmConditionalOrderWorkingTypeEnum;\n\n    /**\n     * \"TRUE\" or \"FALSE\", default \"FALSE\". Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders\n     * @type {string}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly priceProtect?: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     * Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders.\n     * @type {number}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly stopPrice?: number;\n\n    /**\n     * Used with `TRAILING_STOP_MARKET` orders, default as the mark price\n     * @type {number}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly activationPrice?: number;\n\n    /**\n     * Used with `TRAILING_STOP_MARKET` orders, min 0.1, max 5 where 1 for 1%\n     * @type {number}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly callbackRate?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewCmConditionalOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for newCmOrder operation in TradeApi.\n * @interface NewCmOrderRequest\n */\nexport interface NewCmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly side: NewCmOrderSideEnum;\n\n    /**\n     * `LIMIT`, `MARKET`\n     * @type {'LIMIT' | 'MARKET'}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly type: NewCmOrderTypeEnum;\n\n    /**\n     * Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n     * @type {'BOTH' | 'LONG' | 'SHORT'}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly positionSide?: NewCmOrderPositionSideEnum;\n\n    /**\n     *\n     * @type {'GTC' | 'IOC' | 'FOK' | 'GTX'}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly timeInForce?: NewCmOrderTimeInForceEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly quantity?: number;\n\n    /**\n     * \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n     * @type {string}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly reduceOnly?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly price?: number;\n\n    /**\n     * only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n     * @type {'NONE' | 'OPPONENT' | 'OPPONENT_5' | 'OPPONENT_10' | 'OPPONENT_20' | 'QUEUE' | 'QUEUE_5' | 'QUEUE_10' | 'QUEUE_20'}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly priceMatch?: NewCmOrderPriceMatchEnum;\n\n    /**\n     * Used to uniquely identify this cancel. Automatically generated by default\n     * @type {string}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly newClientOrderId?: string;\n\n    /**\n     * \"ACK\", \"RESULT\", default \"ACK\"\n     * @type {'ACK' | 'RESULT'}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly newOrderRespType?: NewCmOrderNewOrderRespTypeEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewCmOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for newMarginOrder operation in TradeApi.\n * @interface NewMarginOrderRequest\n */\nexport interface NewMarginOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly side: NewMarginOrderSideEnum;\n\n    /**\n     * `LIMIT`, `MARKET`\n     * @type {'LIMIT' | 'MARKET'}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly type: NewMarginOrderTypeEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly quantity?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly quoteOrderQty?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly price?: number;\n\n    /**\n     * Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders.\n     * @type {number}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly stopPrice?: number;\n\n    /**\n     * Used to uniquely identify this cancel. Automatically generated by default\n     * @type {string}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly newClientOrderId?: string;\n\n    /**\n     * \"ACK\", \"RESULT\", default \"ACK\"\n     * @type {'ACK' | 'RESULT'}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly newOrderRespType?: NewMarginOrderNewOrderRespTypeEnum;\n\n    /**\n     * Used with `LIMIT`, `STOP_LOSS_LIMIT`, and `TAKE_PROFIT_LIMIT` to create an iceberg order\n     * @type {number}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly icebergQty?: number;\n\n    /**\n     * NO_SIDE_EFFECT, MARGIN_BUY, AUTO_REPAY; default NO_SIDE_EFFECT.\n     * @type {'NO_SIDE_EFFECT' | 'MARGIN_BUY' | 'AUTO_REPAY'}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly sideEffectType?: NewMarginOrderSideEffectTypeEnum;\n\n    /**\n     *\n     * @type {'GTC' | 'IOC' | 'FOK' | 'GTX'}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly timeInForce?: NewMarginOrderTimeInForceEnum;\n\n    /**\n     * `NONE`:No STP / `EXPIRE_TAKER`:expire taker order when STP triggers/ `EXPIRE_MAKER`:expire taker order when STP triggers/ `EXPIRE_BOTH`:expire both orders when STP triggers\n     * @type {'NONE' | 'EXPIRE_TAKER' | 'EXPIRE_BOTH' | 'EXPIRE_MAKER'}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly selfTradePreventionMode?: NewMarginOrderSelfTradePreventionModeEnum;\n\n    /**\n     * 只有在自动借款单或者自动借还单生效，true表示的是撤单后需要把订单产生的借款归还，默认为true\n     * @type {boolean}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly autoRepayAtCancel?: boolean;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewMarginOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for newUmConditionalOrder operation in TradeApi.\n * @interface NewUmConditionalOrderRequest\n */\nexport interface NewUmConditionalOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly side: NewUmConditionalOrderSideEnum;\n\n    /**\n     * \"STOP\", \"STOP_MARKET\", \"TAKE_PROFIT\", \"TAKE_PROFIT_MARKET\", and \"TRAILING_STOP_MARKET\"\n     * @type {'STOP' | 'STOP_MARKET' | 'TAKE_PROFIT' | 'TAKE_PROFIT_MARKET' | 'TRAILING_STOP_MARKET'}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly strategyType: NewUmConditionalOrderStrategyTypeEnum;\n\n    /**\n     * Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n     * @type {'BOTH' | 'LONG' | 'SHORT'}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly positionSide?: NewUmConditionalOrderPositionSideEnum;\n\n    /**\n     *\n     * @type {'GTC' | 'IOC' | 'FOK' | 'GTX'}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly timeInForce?: NewUmConditionalOrderTimeInForceEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly quantity?: number;\n\n    /**\n     * \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n     * @type {string}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly reduceOnly?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly price?: number;\n\n    /**\n     * stopPrice triggered by: \"MARK_PRICE\", \"CONTRACT_PRICE\". Default \"CONTRACT_PRICE\"\n     * @type {'MARK_PRICE'}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly workingType?: NewUmConditionalOrderWorkingTypeEnum;\n\n    /**\n     * \"TRUE\" or \"FALSE\", default \"FALSE\". Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders\n     * @type {string}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly priceProtect?: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     * Used with `STOP/STOP_MARKET` or `TAKE_PROFIT/TAKE_PROFIT_MARKET` orders.\n     * @type {number}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly stopPrice?: number;\n\n    /**\n     * Used with `TRAILING_STOP_MARKET` orders, default as the mark price\n     * @type {number}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly activationPrice?: number;\n\n    /**\n     * Used with `TRAILING_STOP_MARKET` orders, min 0.1, max 5 where 1 for 1%\n     * @type {number}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly callbackRate?: number;\n\n    /**\n     * only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n     * @type {'NONE' | 'OPPONENT' | 'OPPONENT_5' | 'OPPONENT_10' | 'OPPONENT_20' | 'QUEUE' | 'QUEUE_5' | 'QUEUE_10' | 'QUEUE_20'}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly priceMatch?: NewUmConditionalOrderPriceMatchEnum;\n\n    /**\n     * `NONE`:No STP / `EXPIRE_TAKER`:expire taker order when STP triggers/ `EXPIRE_MAKER`:expire taker order when STP triggers/ `EXPIRE_BOTH`:expire both orders when STP triggers\n     * @type {'NONE' | 'EXPIRE_TAKER' | 'EXPIRE_BOTH' | 'EXPIRE_MAKER'}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly selfTradePreventionMode?: NewUmConditionalOrderSelfTradePreventionModeEnum;\n\n    /**\n     * order cancel time for timeInForce `GTD`, mandatory when `timeInforce` set to `GTD`; order the timestamp only retains second-level precision, ms part will be ignored; The goodTillDate timestamp must be greater than the current time plus 600 seconds and smaller than 253402300799000Mode. It must be sent in Hedge Mode.\n     * @type {number}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly goodTillDate?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewUmConditionalOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for newUmOrder operation in TradeApi.\n * @interface NewUmOrderRequest\n */\nexport interface NewUmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {'BUY' | 'SELL'}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly side: NewUmOrderSideEnum;\n\n    /**\n     * `LIMIT`, `MARKET`\n     * @type {'LIMIT' | 'MARKET'}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly type: NewUmOrderTypeEnum;\n\n    /**\n     * Default `BOTH` for One-way Mode ; `LONG` or `SHORT` for Hedge Mode. It must be sent in Hedge Mode.\n     * @type {'BOTH' | 'LONG' | 'SHORT'}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly positionSide?: NewUmOrderPositionSideEnum;\n\n    /**\n     *\n     * @type {'GTC' | 'IOC' | 'FOK' | 'GTX'}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly timeInForce?: NewUmOrderTimeInForceEnum;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly quantity?: number;\n\n    /**\n     * \"true\" or \"false\". default \"false\". Cannot be sent in Hedge Mode .\n     * @type {string}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly reduceOnly?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly price?: number;\n\n    /**\n     * Used to uniquely identify this cancel. Automatically generated by default\n     * @type {string}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly newClientOrderId?: string;\n\n    /**\n     * \"ACK\", \"RESULT\", default \"ACK\"\n     * @type {'ACK' | 'RESULT'}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly newOrderRespType?: NewUmOrderNewOrderRespTypeEnum;\n\n    /**\n     * only avaliable for `LIMIT`/`STOP`/`TAKE_PROFIT` order; can be set to `OPPONENT`/ `OPPONENT_5`/ `OPPONENT_10`/ `OPPONENT_20`: /`QUEUE`/ `QUEUE_5`/ `QUEUE_10`/ `QUEUE_20`; Can't be passed together with `price`\n     * @type {'NONE' | 'OPPONENT' | 'OPPONENT_5' | 'OPPONENT_10' | 'OPPONENT_20' | 'QUEUE' | 'QUEUE_5' | 'QUEUE_10' | 'QUEUE_20'}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly priceMatch?: NewUmOrderPriceMatchEnum;\n\n    /**\n     * `NONE`:No STP / `EXPIRE_TAKER`:expire taker order when STP triggers/ `EXPIRE_MAKER`:expire taker order when STP triggers/ `EXPIRE_BOTH`:expire both orders when STP triggers\n     * @type {'NONE' | 'EXPIRE_TAKER' | 'EXPIRE_BOTH' | 'EXPIRE_MAKER'}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly selfTradePreventionMode?: NewUmOrderSelfTradePreventionModeEnum;\n\n    /**\n     * order cancel time for timeInForce `GTD`, mandatory when `timeInforce` set to `GTD`; order the timestamp only retains second-level precision, ms part will be ignored; The goodTillDate timestamp must be greater than the current time plus 600 seconds and smaller than 253402300799000Mode. It must be sent in Hedge Mode.\n     * @type {number}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly goodTillDate?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiNewUmOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryAllCmConditionalOrders operation in TradeApi.\n * @interface QueryAllCmConditionalOrdersRequest\n */\nexport interface QueryAllCmConditionalOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCmConditionalOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryAllCmConditionalOrders\n     */\n    readonly strategyId?: number;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryAllCmConditionalOrders\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryAllCmConditionalOrders\n     */\n    readonly endTime?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof TradeApiQueryAllCmConditionalOrders\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryAllCmConditionalOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryAllCmOrders operation in TradeApi.\n * @interface QueryAllCmOrdersRequest\n */\nexport interface QueryAllCmOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCmOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCmOrders\n     */\n    readonly pair?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryAllCmOrders\n     */\n    readonly orderId?: number;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryAllCmOrders\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryAllCmOrders\n     */\n    readonly endTime?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof TradeApiQueryAllCmOrders\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryAllCmOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryAllCurrentCmOpenConditionalOrders operation in TradeApi.\n * @interface QueryAllCurrentCmOpenConditionalOrdersRequest\n */\nexport interface QueryAllCurrentCmOpenConditionalOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCurrentCmOpenConditionalOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryAllCurrentCmOpenConditionalOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryAllCurrentCmOpenOrders operation in TradeApi.\n * @interface QueryAllCurrentCmOpenOrdersRequest\n */\nexport interface QueryAllCurrentCmOpenOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCurrentCmOpenOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCurrentCmOpenOrders\n     */\n    readonly pair?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryAllCurrentCmOpenOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryAllCurrentUmOpenConditionalOrders operation in TradeApi.\n * @interface QueryAllCurrentUmOpenConditionalOrdersRequest\n */\nexport interface QueryAllCurrentUmOpenConditionalOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCurrentUmOpenConditionalOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryAllCurrentUmOpenConditionalOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryAllCurrentUmOpenOrders operation in TradeApi.\n * @interface QueryAllCurrentUmOpenOrdersRequest\n */\nexport interface QueryAllCurrentUmOpenOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllCurrentUmOpenOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryAllCurrentUmOpenOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryAllMarginAccountOrders operation in TradeApi.\n * @interface QueryAllMarginAccountOrdersRequest\n */\nexport interface QueryAllMarginAccountOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllMarginAccountOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryAllMarginAccountOrders\n     */\n    readonly orderId?: number;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryAllMarginAccountOrders\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryAllMarginAccountOrders\n     */\n    readonly endTime?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof TradeApiQueryAllMarginAccountOrders\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryAllMarginAccountOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryAllUmConditionalOrders operation in TradeApi.\n * @interface QueryAllUmConditionalOrdersRequest\n */\nexport interface QueryAllUmConditionalOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllUmConditionalOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryAllUmConditionalOrders\n     */\n    readonly strategyId?: number;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryAllUmConditionalOrders\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryAllUmConditionalOrders\n     */\n    readonly endTime?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof TradeApiQueryAllUmConditionalOrders\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryAllUmConditionalOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryAllUmOrders operation in TradeApi.\n * @interface QueryAllUmOrdersRequest\n */\nexport interface QueryAllUmOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryAllUmOrders\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryAllUmOrders\n     */\n    readonly orderId?: number;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryAllUmOrders\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryAllUmOrders\n     */\n    readonly endTime?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof TradeApiQueryAllUmOrders\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryAllUmOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryCmConditionalOrderHistory operation in TradeApi.\n * @interface QueryCmConditionalOrderHistoryRequest\n */\nexport interface QueryCmConditionalOrderHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCmConditionalOrderHistory\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCmConditionalOrderHistory\n     */\n    readonly strategyId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCmConditionalOrderHistory\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCmConditionalOrderHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryCmModifyOrderHistory operation in TradeApi.\n * @interface QueryCmModifyOrderHistoryRequest\n */\nexport interface QueryCmModifyOrderHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCmModifyOrderHistory\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCmModifyOrderHistory\n     */\n    readonly orderId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCmModifyOrderHistory\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryCmModifyOrderHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryCmModifyOrderHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof TradeApiQueryCmModifyOrderHistory\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCmModifyOrderHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryCmOrder operation in TradeApi.\n * @interface QueryCmOrderRequest\n */\nexport interface QueryCmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCmOrder\n     */\n    readonly orderId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCmOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCmOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryCurrentCmOpenConditionalOrder operation in TradeApi.\n * @interface QueryCurrentCmOpenConditionalOrderRequest\n */\nexport interface QueryCurrentCmOpenConditionalOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentCmOpenConditionalOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCurrentCmOpenConditionalOrder\n     */\n    readonly strategyId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentCmOpenConditionalOrder\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCurrentCmOpenConditionalOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryCurrentCmOpenOrder operation in TradeApi.\n * @interface QueryCurrentCmOpenOrderRequest\n */\nexport interface QueryCurrentCmOpenOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentCmOpenOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCurrentCmOpenOrder\n     */\n    readonly orderId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentCmOpenOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCurrentCmOpenOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryCurrentMarginOpenOrder operation in TradeApi.\n * @interface QueryCurrentMarginOpenOrderRequest\n */\nexport interface QueryCurrentMarginOpenOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentMarginOpenOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCurrentMarginOpenOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryCurrentUmOpenConditionalOrder operation in TradeApi.\n * @interface QueryCurrentUmOpenConditionalOrderRequest\n */\nexport interface QueryCurrentUmOpenConditionalOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentUmOpenConditionalOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCurrentUmOpenConditionalOrder\n     */\n    readonly strategyId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentUmOpenConditionalOrder\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCurrentUmOpenConditionalOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryCurrentUmOpenOrder operation in TradeApi.\n * @interface QueryCurrentUmOpenOrderRequest\n */\nexport interface QueryCurrentUmOpenOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentUmOpenOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCurrentUmOpenOrder\n     */\n    readonly orderId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryCurrentUmOpenOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryCurrentUmOpenOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryMarginAccountOrder operation in TradeApi.\n * @interface QueryMarginAccountOrderRequest\n */\nexport interface QueryMarginAccountOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryMarginAccountOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryMarginAccountOrder\n     */\n    readonly orderId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryMarginAccountOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryMarginAccountOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryMarginAccountsAllOco operation in TradeApi.\n * @interface QueryMarginAccountsAllOcoRequest\n */\nexport interface QueryMarginAccountsAllOcoRequest {\n    /**\n     * Trade id to fetch from. Default gets most recent trades.\n     * @type {number}\n     * @memberof TradeApiQueryMarginAccountsAllOco\n     */\n    readonly fromId?: number;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryMarginAccountsAllOco\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryMarginAccountsAllOco\n     */\n    readonly endTime?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof TradeApiQueryMarginAccountsAllOco\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryMarginAccountsAllOco\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryMarginAccountsOco operation in TradeApi.\n * @interface QueryMarginAccountsOcoRequest\n */\nexport interface QueryMarginAccountsOcoRequest {\n    /**\n     * Either `orderListId` or `listClientOrderId` must be provided\n     * @type {number}\n     * @memberof TradeApiQueryMarginAccountsOco\n     */\n    readonly orderListId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryMarginAccountsOco\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryMarginAccountsOco\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryMarginAccountsOpenOco operation in TradeApi.\n * @interface QueryMarginAccountsOpenOcoRequest\n */\nexport interface QueryMarginAccountsOpenOcoRequest {\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryMarginAccountsOpenOco\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryUmConditionalOrderHistory operation in TradeApi.\n * @interface QueryUmConditionalOrderHistoryRequest\n */\nexport interface QueryUmConditionalOrderHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUmConditionalOrderHistory\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryUmConditionalOrderHistory\n     */\n    readonly strategyId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUmConditionalOrderHistory\n     */\n    readonly newClientStrategyId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryUmConditionalOrderHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryUmModifyOrderHistory operation in TradeApi.\n * @interface QueryUmModifyOrderHistoryRequest\n */\nexport interface QueryUmModifyOrderHistoryRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUmModifyOrderHistory\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryUmModifyOrderHistory\n     */\n    readonly orderId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUmModifyOrderHistory\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryUmModifyOrderHistory\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryUmModifyOrderHistory\n     */\n    readonly endTime?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof TradeApiQueryUmModifyOrderHistory\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryUmModifyOrderHistory\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryUmOrder operation in TradeApi.\n * @interface QueryUmOrderRequest\n */\nexport interface QueryUmOrderRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUmOrder\n     */\n    readonly symbol: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryUmOrder\n     */\n    readonly orderId?: number;\n\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUmOrder\n     */\n    readonly origClientOrderId?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryUmOrder\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryUsersCmForceOrders operation in TradeApi.\n * @interface QueryUsersCmForceOrdersRequest\n */\nexport interface QueryUsersCmForceOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUsersCmForceOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     * `LIQUIDATION` for liquidation orders, `ADL` for ADL orders.\n     * @type {'LIQUIDATION' | 'ADL'}\n     * @memberof TradeApiQueryUsersCmForceOrders\n     */\n    readonly autoCloseType?: QueryUsersCmForceOrdersAutoCloseTypeEnum;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryUsersCmForceOrders\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryUsersCmForceOrders\n     */\n    readonly endTime?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof TradeApiQueryUsersCmForceOrders\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryUsersCmForceOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryUsersMarginForceOrders operation in TradeApi.\n * @interface QueryUsersMarginForceOrdersRequest\n */\nexport interface QueryUsersMarginForceOrdersRequest {\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryUsersMarginForceOrders\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryUsersMarginForceOrders\n     */\n    readonly endTime?: number;\n\n    /**\n     * Currently querying page. Start from 1. Default:1\n     * @type {number}\n     * @memberof TradeApiQueryUsersMarginForceOrders\n     */\n    readonly current?: number;\n\n    /**\n     * Default:10 Max:100\n     * @type {number}\n     * @memberof TradeApiQueryUsersMarginForceOrders\n     */\n    readonly size?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryUsersMarginForceOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for queryUsersUmForceOrders operation in TradeApi.\n * @interface QueryUsersUmForceOrdersRequest\n */\nexport interface QueryUsersUmForceOrdersRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiQueryUsersUmForceOrders\n     */\n    readonly symbol?: string;\n\n    /**\n     * `LIQUIDATION` for liquidation orders, `ADL` for ADL orders.\n     * @type {'LIQUIDATION' | 'ADL'}\n     * @memberof TradeApiQueryUsersUmForceOrders\n     */\n    readonly autoCloseType?: QueryUsersUmForceOrdersAutoCloseTypeEnum;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryUsersUmForceOrders\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiQueryUsersUmForceOrders\n     */\n    readonly endTime?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof TradeApiQueryUsersUmForceOrders\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiQueryUsersUmForceOrders\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for toggleBnbBurnOnUmFuturesTrade operation in TradeApi.\n * @interface ToggleBnbBurnOnUmFuturesTradeRequest\n */\nexport interface ToggleBnbBurnOnUmFuturesTradeRequest {\n    /**\n     * \"true\": Fee Discount On; \"false\": Fee Discount Off\n     * @type {string}\n     * @memberof TradeApiToggleBnbBurnOnUmFuturesTrade\n     */\n    readonly feeBurn: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiToggleBnbBurnOnUmFuturesTrade\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for umAccountTradeList operation in TradeApi.\n * @interface UmAccountTradeListRequest\n */\nexport interface UmAccountTradeListRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiUmAccountTradeList\n     */\n    readonly symbol: string;\n\n    /**\n     * Timestamp in ms to get funding from INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiUmAccountTradeList\n     */\n    readonly startTime?: number;\n\n    /**\n     * Timestamp in ms to get funding until INCLUSIVE.\n     * @type {number}\n     * @memberof TradeApiUmAccountTradeList\n     */\n    readonly endTime?: number;\n\n    /**\n     * Trade id to fetch from. Default gets most recent trades.\n     * @type {number}\n     * @memberof TradeApiUmAccountTradeList\n     */\n    readonly fromId?: number;\n\n    /**\n     * Default 100; max 1000\n     * @type {number}\n     * @memberof TradeApiUmAccountTradeList\n     */\n    readonly limit?: number;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiUmAccountTradeList\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * Request parameters for umPositionAdlQuantileEstimation operation in TradeApi.\n * @interface UmPositionAdlQuantileEstimationRequest\n */\nexport interface UmPositionAdlQuantileEstimationRequest {\n    /**\n     *\n     * @type {string}\n     * @memberof TradeApiUmPositionAdlQuantileEstimation\n     */\n    readonly symbol?: string;\n\n    /**\n     *\n     * @type {number}\n     * @memberof TradeApiUmPositionAdlQuantileEstimation\n     */\n    readonly recvWindow?: number;\n}\n\n/**\n * TradeApi - object-oriented interface\n * @class TradeApi\n */\nexport class TradeApi implements TradeApiInterface {\n    private readonly configuration: ConfigurationRestAPI;\n    private localVarAxiosParamCreator;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.localVarAxiosParamCreator = TradeApiAxiosParamCreator(configuration);\n    }\n\n    /**\n     * Cancel All CM Open Conditional Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All CM Open Conditional Orders(TRADE)\n     * @param {CancelAllCmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelAllCmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Conditional-Orders Binance API Documentation}\n     */\n    public async cancelAllCmOpenConditionalOrders(\n        requestParameters: CancelAllCmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<CancelAllCmOpenConditionalOrdersResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.cancelAllCmOpenConditionalOrders(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<CancelAllCmOpenConditionalOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel all active LIMIT orders on specific symbol\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All CM Open Orders(TRADE)\n     * @param {CancelAllCmOpenOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelAllCmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Orders Binance API Documentation}\n     */\n    public async cancelAllCmOpenOrders(\n        requestParameters: CancelAllCmOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllCmOpenOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelAllCmOpenOrders(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelAllCmOpenOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel All UM Open Conditional Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Open Conditional Orders (TRADE)\n     * @param {CancelAllUmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelAllUmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Conditional-Orders Binance API Documentation}\n     */\n    public async cancelAllUmOpenConditionalOrders(\n        requestParameters: CancelAllUmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmOpenConditionalOrdersResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.cancelAllUmOpenConditionalOrders(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<CancelAllUmOpenConditionalOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel all active LIMIT orders on specific symbol\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Open Orders(TRADE)\n     * @param {CancelAllUmOpenOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelAllUmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Orders Binance API Documentation}\n     */\n    public async cancelAllUmOpenOrders(\n        requestParameters: CancelAllUmOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmOpenOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelAllUmOpenOrders(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelAllUmOpenOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel CM Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel CM Conditional Order(TRADE)\n     * @param {CancelCmConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelCmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Conditional-Order Binance API Documentation}\n     */\n    public async cancelCmConditionalOrder(\n        requestParameters: CancelCmConditionalOrderRequest\n    ): Promise<RestApiResponse<CancelCmConditionalOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelCmConditionalOrder(\n            requestParameters?.symbol,\n            requestParameters?.strategyId,\n            requestParameters?.newClientStrategyId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelCmConditionalOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel an active LIMIT order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel CM Order(TRADE)\n     * @param {CancelCmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Order Binance API Documentation}\n     */\n    public async cancelCmOrder(\n        requestParameters: CancelCmOrderRequest\n    ): Promise<RestApiResponse<CancelCmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelCmOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelCmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel Margin Account All Open Orders on a Symbol\n     *\n     * Weight: 5\n     *\n     * @summary Cancel Margin Account All Open Orders on a Symbol(TRADE)\n     * @param {CancelMarginAccountAllOpenOrdersOnASymbolRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelMarginAccountAllOpenOrdersOnASymbolResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-All-Open-Orders-on-a-Symbol Binance API Documentation}\n     */\n    public async cancelMarginAccountAllOpenOrdersOnASymbol(\n        requestParameters: CancelMarginAccountAllOpenOrdersOnASymbolRequest\n    ): Promise<RestApiResponse<CancelMarginAccountAllOpenOrdersOnASymbolResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.cancelMarginAccountAllOpenOrdersOnASymbol(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<CancelMarginAccountAllOpenOrdersOnASymbolResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel Margin Account OCO Orders\n     *\n     * Additional notes: Canceling an individual leg will cancel the entire OCO\n     *\n     * Weight: 2\n     *\n     * @summary Cancel Margin Account OCO Orders(TRADE)\n     * @param {CancelMarginAccountOcoOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelMarginAccountOcoOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-OCO-Orders Binance API Documentation}\n     */\n    public async cancelMarginAccountOcoOrders(\n        requestParameters: CancelMarginAccountOcoOrdersRequest\n    ): Promise<RestApiResponse<CancelMarginAccountOcoOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelMarginAccountOcoOrders(\n            requestParameters?.symbol,\n            requestParameters?.orderListId,\n            requestParameters?.listClientOrderId,\n            requestParameters?.newClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelMarginAccountOcoOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel Margin Account Order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 2\n     *\n     * @summary Cancel Margin Account Order(TRADE)\n     * @param {CancelMarginAccountOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelMarginAccountOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-Order Binance API Documentation}\n     */\n    public async cancelMarginAccountOrder(\n        requestParameters: CancelMarginAccountOrderRequest\n    ): Promise<RestApiResponse<CancelMarginAccountOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelMarginAccountOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.newClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelMarginAccountOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel UM Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Conditional Order(TRADE)\n     * @param {CancelUmConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelUmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Conditional-Order Binance API Documentation}\n     */\n    public async cancelUmConditionalOrder(\n        requestParameters: CancelUmConditionalOrderRequest\n    ): Promise<RestApiResponse<CancelUmConditionalOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelUmConditionalOrder(\n            requestParameters?.symbol,\n            requestParameters?.strategyId,\n            requestParameters?.newClientStrategyId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelUmConditionalOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Cancel an active UM LIMIT order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Order(TRADE)\n     * @param {CancelUmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Order Binance API Documentation}\n     */\n    public async cancelUmOrder(\n        requestParameters: CancelUmOrderRequest\n    ): Promise<RestApiResponse<CancelUmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cancelUmOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CancelUmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get trades for a specific account and CM symbol.\n     *\n     * Either `symbol` or `pair` must be sent\n     * `symbol` and `pair` cannot be sent together\n     * `pair` and `fromId` cannot be sent together\n     * `OrderId` can only be sent together with symbol\n     * If a `pair` is sent, tickers for all symbols of the `pair` will be returned\n     * The parameter `fromId` cannot be sent with `startTime` or `endTime`\n     *\n     * Weight: 20 with symbol, 40 with pair\n     *\n     * @summary CM Account Trade List(USER_DATA)\n     * @param {CmAccountTradeListRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CmAccountTradeListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Account-Trade-List Binance API Documentation}\n     */\n    public async cmAccountTradeList(\n        requestParameters: CmAccountTradeListRequest = {}\n    ): Promise<RestApiResponse<CmAccountTradeListResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.cmAccountTradeList(\n            requestParameters?.symbol,\n            requestParameters?.pair,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.fromId,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<CmAccountTradeListResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query CM Position ADL Quantile Estimation\n     * Values update every 30s.\n     * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n     * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n     * If the positions of the symbol are crossed margined in Hedge Mode:\n     * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n     * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n     *\n     * Weight: 5\n     *\n     * @summary CM Position ADL Quantile Estimation(USER_DATA)\n     * @param {CmPositionAdlQuantileEstimationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CmPositionAdlQuantileEstimationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Position-ADL-Quantile-Estimation Binance API Documentation}\n     */\n    public async cmPositionAdlQuantileEstimation(\n        requestParameters: CmPositionAdlQuantileEstimationRequest = {}\n    ): Promise<RestApiResponse<CmPositionAdlQuantileEstimationResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.cmPositionAdlQuantileEstimation(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<CmPositionAdlQuantileEstimationResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off )\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Futures BNB Burn Status (USER_DATA)\n     * @param {GetUmFuturesBnbBurnStatusRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmFuturesBnbBurnStatusResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Get-UM-Futures-BNB-Burn-Status Binance API Documentation}\n     */\n    public async getUmFuturesBnbBurnStatus(\n        requestParameters: GetUmFuturesBnbBurnStatusRequest = {}\n    ): Promise<RestApiResponse<GetUmFuturesBnbBurnStatusResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.getUmFuturesBnbBurnStatus(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<GetUmFuturesBnbBurnStatusResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Apply for a margin loan.\n     *\n     * Weight: 100\n     *\n     * @summary Margin Account Borrow(MARGIN)\n     * @param {MarginAccountBorrowRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountBorrowResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Borrow Binance API Documentation}\n     */\n    public async marginAccountBorrow(\n        requestParameters: MarginAccountBorrowRequest\n    ): Promise<RestApiResponse<MarginAccountBorrowResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.marginAccountBorrow(\n            requestParameters?.asset,\n            requestParameters?.amount,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<MarginAccountBorrowResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Send in a new OCO for a margin account\n     *\n     * Price Restrictions:\n     * `SELL`: Limit Price > Last Price > Stop Price\n     * `BUY`: Limit Price < Last Price < Stop Price\n     * Quantity Restrictions:\n     * Both legs must have the same quantity\n     * `ICEBERG` quantities however do not have to be the same.\n     * Order Rate Limit\n     * `OCO` counts as 2 orders against the order rate limit.\n     *\n     * Weight: 1\n     *\n     * @summary Margin Account New OCO(TRADE)\n     * @param {MarginAccountNewOcoRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountNewOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-New-OCO Binance API Documentation}\n     */\n    public async marginAccountNewOco(\n        requestParameters: MarginAccountNewOcoRequest\n    ): Promise<RestApiResponse<MarginAccountNewOcoResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.marginAccountNewOco(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.quantity,\n            requestParameters?.price,\n            requestParameters?.stopPrice,\n            requestParameters?.listClientOrderId,\n            requestParameters?.limitClientOrderId,\n            requestParameters?.limitIcebergQty,\n            requestParameters?.stopClientOrderId,\n            requestParameters?.stopLimitPrice,\n            requestParameters?.stopIcebergQty,\n            requestParameters?.stopLimitTimeInForce,\n            requestParameters?.newOrderRespType,\n            requestParameters?.sideEffectType,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<MarginAccountNewOcoResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Repay for a margin loan.\n     *\n     * Weight: 100\n     *\n     * @summary Margin Account Repay(MARGIN)\n     * @param {MarginAccountRepayRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountRepayResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay Binance API Documentation}\n     */\n    public async marginAccountRepay(\n        requestParameters: MarginAccountRepayRequest\n    ): Promise<RestApiResponse<MarginAccountRepayResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.marginAccountRepay(\n            requestParameters?.asset,\n            requestParameters?.amount,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<MarginAccountRepayResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Repay debt for a margin loan.\n     *\n     * The repay asset amount cannot exceed 50000 USD equivalent value for a single request.\n     * If `amount` is not sent, all the asset loan will be repaid if having enough specific repay assets.\n     * If `amount` is sent, only the certain amount of the asset loan will be repaid if having enough specific repay assets.\n     * The system will use the same asset to repay the loan first (if have) no matter whether put the asset in `specifyRepayAssets`\n     *\n     * Weight: 3000\n     *\n     * @summary Margin Account Repay Debt(TRADE)\n     * @param {MarginAccountRepayDebtRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountRepayDebtResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay-Debt Binance API Documentation}\n     */\n    public async marginAccountRepayDebt(\n        requestParameters: MarginAccountRepayDebtRequest\n    ): Promise<RestApiResponse<MarginAccountRepayDebtResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.marginAccountRepayDebt(\n            requestParameters?.asset,\n            requestParameters?.amount,\n            requestParameters?.specifyRepayAssets,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<MarginAccountRepayDebtResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Margin Account Trade List\n     *\n     * Weight: 5\n     *\n     * @summary Margin Account Trade List (USER_DATA)\n     * @param {MarginAccountTradeListRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountTradeListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Trade-List Binance API Documentation}\n     */\n    public async marginAccountTradeList(\n        requestParameters: MarginAccountTradeListRequest\n    ): Promise<RestApiResponse<MarginAccountTradeListResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.marginAccountTradeList(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.fromId,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<MarginAccountTradeListResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     * Both `quantity` and `price` must be sent\n     * When the new `quantity` or `price` doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n     * However the order will be cancelled by the amendment in the following situations:\n     * when the order is in partially filled status and the new `quantity` <= `executedQty`\n     * When the order is `GTX` and the new price will cause it to be executed immediately\n     *\n     * Weight: 1\n     *\n     * @summary Modify CM Order(TRADE)\n     * @param {ModifyCmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ModifyCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-CM-Order Binance API Documentation}\n     */\n    public async modifyCmOrder(\n        requestParameters: ModifyCmOrderRequest\n    ): Promise<RestApiResponse<ModifyCmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.modifyCmOrder(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.quantity,\n            requestParameters?.price,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.priceMatch,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ModifyCmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n     *\n     * Either orderId or origClientOrderId must be sent, and the orderId will prevail if both are sent.\n     * Both quantity and price must be sent\n     * When the new quantity or price doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n     * However the order will be cancelled by the amendment in the following situations:\n     * when the order is in partially filled status and the new quantity <= executedQty\n     * When the order is GTX and the new price will cause it to be executed immediately\n     *\n     * Weight: 1\n     *\n     * @summary Modify UM Order(TRADE)\n     * @param {ModifyUmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ModifyUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-UM-Order Binance API Documentation}\n     */\n    public async modifyUmOrder(\n        requestParameters: ModifyUmOrderRequest\n    ): Promise<RestApiResponse<ModifyUmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.modifyUmOrder(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.quantity,\n            requestParameters?.price,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.priceMatch,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<ModifyUmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * New CM Conditional Order\n     *\n     * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     * `STOP`, `STOP_MARKET`:\n     * BUY: \"MARK_PRICE\"  >= `stopPrice`\n     * SELL: \"MARK_PRICE\" <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: \"MARK_PRICE\" <= `stopPrice`\n     * SELL: \"MARK_PRICE\" >= `stopPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n     * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n     * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n     * BUY: `activationPrice` should be smaller than latest mark price.\n     * SELL: `activationPrice` should be larger than latest mark price.\n     * Condition orders will be triggered when:\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     *\n     * Weight: 1\n     *\n     * @summary New CM Conditional Order(TRADE)\n     * @param {NewCmConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewCmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Conditional-Order Binance API Documentation}\n     */\n    public async newCmConditionalOrder(\n        requestParameters: NewCmConditionalOrderRequest\n    ): Promise<RestApiResponse<NewCmConditionalOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.newCmConditionalOrder(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.strategyType,\n            requestParameters?.positionSide,\n            requestParameters?.timeInForce,\n            requestParameters?.quantity,\n            requestParameters?.reduceOnly,\n            requestParameters?.price,\n            requestParameters?.workingType,\n            requestParameters?.priceProtect,\n            requestParameters?.newClientStrategyId,\n            requestParameters?.stopPrice,\n            requestParameters?.activationPrice,\n            requestParameters?.callbackRate,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<NewCmConditionalOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Place new CM order\n     *\n     * If `newOrderRespType` is sent as `RESULT` :\n     * `MARKET` order: the final FILLED result of the order will be return directly.\n     * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n     *\n     * Weight: 1\n     *\n     * @summary New CM Order(TRADE)\n     * @param {NewCmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Order Binance API Documentation}\n     */\n    public async newCmOrder(\n        requestParameters: NewCmOrderRequest\n    ): Promise<RestApiResponse<NewCmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.newCmOrder(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.type,\n            requestParameters?.positionSide,\n            requestParameters?.timeInForce,\n            requestParameters?.quantity,\n            requestParameters?.reduceOnly,\n            requestParameters?.price,\n            requestParameters?.priceMatch,\n            requestParameters?.newClientOrderId,\n            requestParameters?.newOrderRespType,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<NewCmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * New Margin Order\n     *\n     * Weight: 1\n     *\n     * @summary New Margin Order(TRADE)\n     * @param {NewMarginOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewMarginOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-Margin-Order Binance API Documentation}\n     */\n    public async newMarginOrder(\n        requestParameters: NewMarginOrderRequest\n    ): Promise<RestApiResponse<NewMarginOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.newMarginOrder(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.type,\n            requestParameters?.quantity,\n            requestParameters?.quoteOrderQty,\n            requestParameters?.price,\n            requestParameters?.stopPrice,\n            requestParameters?.newClientOrderId,\n            requestParameters?.newOrderRespType,\n            requestParameters?.icebergQty,\n            requestParameters?.sideEffectType,\n            requestParameters?.timeInForce,\n            requestParameters?.selfTradePreventionMode,\n            requestParameters?.autoRepayAtCancel,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<NewMarginOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Place new UM conditional order\n     *\n     * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     * `STOP`, `STOP_MARKET`:\n     * BUY: \"MARK_PRICE\"  >= `stopPrice`\n     * SELL: \"MARK_PRICE\" <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: \"MARK_PRICE\" <= `stopPrice`\n     * SELL: \"MARK_PRICE\" >= `stopPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n     * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n     * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n     * BUY: `activationPrice` should be smaller than latest mark price.\n     * SELL: `activationPrice` should be larger than latest mark price.\n     * Condition orders will be triggered when:\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n     *\n     * Weight: 1\n     *\n     * @summary New UM Conditional Order (TRADE)\n     * @param {NewUmConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewUmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Conditional-Order Binance API Documentation}\n     */\n    public async newUmConditionalOrder(\n        requestParameters: NewUmConditionalOrderRequest\n    ): Promise<RestApiResponse<NewUmConditionalOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.newUmConditionalOrder(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.strategyType,\n            requestParameters?.positionSide,\n            requestParameters?.timeInForce,\n            requestParameters?.quantity,\n            requestParameters?.reduceOnly,\n            requestParameters?.price,\n            requestParameters?.workingType,\n            requestParameters?.priceProtect,\n            requestParameters?.newClientStrategyId,\n            requestParameters?.stopPrice,\n            requestParameters?.activationPrice,\n            requestParameters?.callbackRate,\n            requestParameters?.priceMatch,\n            requestParameters?.selfTradePreventionMode,\n            requestParameters?.goodTillDate,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<NewUmConditionalOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Place new UM order\n     *\n     * If `newOrderRespType` is sent as `RESULT` :\n     * `MARKET` order: the final FILLED result of the order will be return directly.\n     * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n     *\n     * Weight: 1\n     *\n     * @summary New UM Order (TRADE)\n     * @param {NewUmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Order Binance API Documentation}\n     */\n    public async newUmOrder(\n        requestParameters: NewUmOrderRequest\n    ): Promise<RestApiResponse<NewUmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.newUmOrder(\n            requestParameters?.symbol,\n            requestParameters?.side,\n            requestParameters?.type,\n            requestParameters?.positionSide,\n            requestParameters?.timeInForce,\n            requestParameters?.quantity,\n            requestParameters?.reduceOnly,\n            requestParameters?.price,\n            requestParameters?.newClientOrderId,\n            requestParameters?.newOrderRespType,\n            requestParameters?.priceMatch,\n            requestParameters?.selfTradePreventionMode,\n            requestParameters?.goodTillDate,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<NewUmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query All CM Conditional Orders\n     *\n     * These orders will not be found:\n     * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     * The query time period must be less than 7 days( default as the recent 7 days).\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All CM Conditional Orders(USER_DATA)\n     * @param {QueryAllCmConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCmConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Conditional-Orders Binance API Documentation}\n     */\n    public async queryAllCmConditionalOrders(\n        requestParameters: QueryAllCmConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCmConditionalOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryAllCmConditionalOrders(\n            requestParameters?.symbol,\n            requestParameters?.strategyId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryAllCmConditionalOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get all account CM orders; active, canceled, or filled.\n     *\n     * Either `symbol` or `pair` must be sent.\n     * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 20 with symbol, 40 with pair\n     *\n     * @summary Query All CM Orders (USER_DATA)\n     * @param {QueryAllCmOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCmOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Orders Binance API Documentation}\n     */\n    public async queryAllCmOrders(\n        requestParameters: QueryAllCmOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCmOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryAllCmOrders(\n            requestParameters?.symbol,\n            requestParameters?.pair,\n            requestParameters?.orderId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryAllCmOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get all open conditional orders on a symbol. **Careful** when accessing this with no symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All Current CM Open Conditional Orders (USER_DATA)\n     * @param {QueryAllCurrentCmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCurrentCmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Conditional-Orders Binance API Documentation}\n     */\n    public async queryAllCurrentCmOpenConditionalOrders(\n        requestParameters: QueryAllCurrentCmOpenConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentCmOpenConditionalOrdersResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryAllCurrentCmOpenConditionalOrders(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryAllCurrentCmOpenConditionalOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get all open orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current CM Open Orders(USER_DATA)\n     * @param {QueryAllCurrentCmOpenOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCurrentCmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Orders Binance API Documentation}\n     */\n    public async queryAllCurrentCmOpenOrders(\n        requestParameters: QueryAllCurrentCmOpenOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentCmOpenOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryAllCurrentCmOpenOrders(\n            requestParameters?.symbol,\n            requestParameters?.pair,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryAllCurrentCmOpenOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get all open conditional orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current UM Open Conditional Orders(USER_DATA)\n     * @param {QueryAllCurrentUmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCurrentUmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Conditional-Orders Binance API Documentation}\n     */\n    public async queryAllCurrentUmOpenConditionalOrders(\n        requestParameters: QueryAllCurrentUmOpenConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenConditionalOrdersResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryAllCurrentUmOpenConditionalOrders(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryAllCurrentUmOpenConditionalOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get all open orders on a symbol.\n     *\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All Current UM Open Orders(USER_DATA)\n     * @param {QueryAllCurrentUmOpenOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCurrentUmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Orders Binance API Documentation}\n     */\n    public async queryAllCurrentUmOpenOrders(\n        requestParameters: QueryAllCurrentUmOpenOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryAllCurrentUmOpenOrders(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryAllCurrentUmOpenOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query All Margin Account Orders\n     *\n     * Weight: 100\n     *\n     * @summary Query All Margin Account Orders (USER_DATA)\n     * @param {QueryAllMarginAccountOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllMarginAccountOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Margin-Account-Orders Binance API Documentation}\n     */\n    public async queryAllMarginAccountOrders(\n        requestParameters: QueryAllMarginAccountOrdersRequest\n    ): Promise<RestApiResponse<QueryAllMarginAccountOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryAllMarginAccountOrders(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryAllMarginAccountOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query All UM Conditional Orders\n     *\n     * These orders will not be found:\n     * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     * The query time period must be less than 7 days( default as the recent 7 days).\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All UM Conditional Orders(USER_DATA)\n     * @param {QueryAllUmConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllUmConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Conditional-Orders Binance API Documentation}\n     */\n    public async queryAllUmConditionalOrders(\n        requestParameters: QueryAllUmConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllUmConditionalOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryAllUmConditionalOrders(\n            requestParameters?.symbol,\n            requestParameters?.strategyId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryAllUmConditionalOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get all account UM orders; active, canceled, or filled.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n     * The query time period must be less then 7 days( default as the recent 7 days).\n     *\n     * Weight: 5\n     *\n     * @summary Query All UM Orders(USER_DATA)\n     * @param {QueryAllUmOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllUmOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Orders Binance API Documentation}\n     */\n    public async queryAllUmOrders(\n        requestParameters: QueryAllUmOrdersRequest\n    ): Promise<RestApiResponse<QueryAllUmOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryAllUmOrders(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryAllUmOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query CM Conditional Order History\n     *\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * `NEW` orders will not be found.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Conditional Order History(USER_DATA)\n     * @param {QueryCmConditionalOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCmConditionalOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Conditional-Order-History Binance API Documentation}\n     */\n    public async queryCmConditionalOrderHistory(\n        requestParameters: QueryCmConditionalOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryCmConditionalOrderHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryCmConditionalOrderHistory(\n                requestParameters?.symbol,\n                requestParameters?.strategyId,\n                requestParameters?.newClientStrategyId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryCmConditionalOrderHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get order modification history\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Modify Order History(TRADE)\n     * @param {QueryCmModifyOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCmModifyOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Modify-Order-History Binance API Documentation}\n     */\n    public async queryCmModifyOrderHistory(\n        requestParameters: QueryCmModifyOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryCmModifyOrderHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryCmModifyOrderHistory(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryCmModifyOrderHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Check an CM order's status.\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Order(USER_DATA)\n     * @param {QueryCmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Order Binance API Documentation}\n     */\n    public async queryCmOrder(\n        requestParameters: QueryCmOrderRequest\n    ): Promise<RestApiResponse<QueryCmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryCmOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryCmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Current CM Open Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * If the queried order has been triggered, cancelled or expired, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current CM Open Conditional Order(USER_DATA)\n     * @param {QueryCurrentCmOpenConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentCmOpenConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Conditional-Order Binance API Documentation}\n     */\n    public async queryCurrentCmOpenConditionalOrder(\n        requestParameters: QueryCurrentCmOpenConditionalOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentCmOpenConditionalOrderResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryCurrentCmOpenConditionalOrder(\n                requestParameters?.symbol,\n                requestParameters?.strategyId,\n                requestParameters?.newClientStrategyId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryCurrentCmOpenConditionalOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query current CM open order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current CM Open Order (USER_DATA)\n     * @param {QueryCurrentCmOpenOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentCmOpenOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Order Binance API Documentation}\n     */\n    public async queryCurrentCmOpenOrder(\n        requestParameters: QueryCurrentCmOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentCmOpenOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryCurrentCmOpenOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryCurrentCmOpenOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Current Margin Open Order\n     *\n     * Weight: 5\n     *\n     * @summary Query Current Margin Open Order (USER_DATA)\n     * @param {QueryCurrentMarginOpenOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentMarginOpenOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-Margin-Open-Order Binance API Documentation}\n     */\n    public async queryCurrentMarginOpenOrder(\n        requestParameters: QueryCurrentMarginOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentMarginOpenOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryCurrentMarginOpenOrder(\n            requestParameters?.symbol,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryCurrentMarginOpenOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Current UM Open Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * If the queried order has been `CANCELED`, `TRIGGERED`或`EXPIRED`, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Conditional Order(USER_DATA)\n     * @param {QueryCurrentUmOpenConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentUmOpenConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Conditional-Order Binance API Documentation}\n     */\n    public async queryCurrentUmOpenConditionalOrder(\n        requestParameters: QueryCurrentUmOpenConditionalOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentUmOpenConditionalOrderResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryCurrentUmOpenConditionalOrder(\n                requestParameters?.symbol,\n                requestParameters?.strategyId,\n                requestParameters?.newClientStrategyId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryCurrentUmOpenConditionalOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query current UM open order\n     *\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Order(USER_DATA)\n     * @param {QueryCurrentUmOpenOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentUmOpenOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Order Binance API Documentation}\n     */\n    public async queryCurrentUmOpenOrder(\n        requestParameters: QueryCurrentUmOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentUmOpenOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryCurrentUmOpenOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryCurrentUmOpenOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Margin Account Order\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin Account Order (USER_DATA)\n     * @param {QueryMarginAccountOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginAccountOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Order Binance API Documentation}\n     */\n    public async queryMarginAccountOrder(\n        requestParameters: QueryMarginAccountOrderRequest\n    ): Promise<RestApiResponse<QueryMarginAccountOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryMarginAccountOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryMarginAccountOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query all OCO for a specific margin account based on provided optional parameters\n     *\n     * Weight: 100\n     *\n     * @summary Query Margin Account\\'s all OCO (USER_DATA)\n     * @param {QueryMarginAccountsAllOcoRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginAccountsAllOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-all-OCO Binance API Documentation}\n     */\n    public async queryMarginAccountsAllOco(\n        requestParameters: QueryMarginAccountsAllOcoRequest = {}\n    ): Promise<RestApiResponse<QueryMarginAccountsAllOcoResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryMarginAccountsAllOco(\n            requestParameters?.fromId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryMarginAccountsAllOcoResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Retrieves a specific OCO based on provided optional parameters\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Account\\'s OCO (USER_DATA)\n     * @param {QueryMarginAccountsOcoRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginAccountsOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-OCO Binance API Documentation}\n     */\n    public async queryMarginAccountsOco(\n        requestParameters: QueryMarginAccountsOcoRequest = {}\n    ): Promise<RestApiResponse<QueryMarginAccountsOcoResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryMarginAccountsOco(\n            requestParameters?.orderListId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryMarginAccountsOcoResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query Margin Account's Open OCO\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Account\\'s Open OCO (USER_DATA)\n     * @param {QueryMarginAccountsOpenOcoRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginAccountsOpenOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Open-OCO Binance API Documentation}\n     */\n    public async queryMarginAccountsOpenOco(\n        requestParameters: QueryMarginAccountsOpenOcoRequest = {}\n    ): Promise<RestApiResponse<QueryMarginAccountsOpenOcoResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryMarginAccountsOpenOco(\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryMarginAccountsOpenOcoResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query UM Conditional Order History\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * `NEW` orders will not be found.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Conditional Order History(USER_DATA)\n     * @param {QueryUmConditionalOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUmConditionalOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Conditional-Order-History Binance API Documentation}\n     */\n    public async queryUmConditionalOrderHistory(\n        requestParameters: QueryUmConditionalOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmConditionalOrderHistoryResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.queryUmConditionalOrderHistory(\n                requestParameters?.symbol,\n                requestParameters?.strategyId,\n                requestParameters?.newClientStrategyId,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<QueryUmConditionalOrderHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get order modification history\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Modify Order History(TRADE)\n     * @param {QueryUmModifyOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUmModifyOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Modify-Order-History Binance API Documentation}\n     */\n    public async queryUmModifyOrderHistory(\n        requestParameters: QueryUmModifyOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmModifyOrderHistoryResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUmModifyOrderHistory(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUmModifyOrderHistoryResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Check an UM order's status.\n     *\n     * These orders will not be found:\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Order (USER_DATA)\n     * @param {QueryUmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Order Binance API Documentation}\n     */\n    public async queryUmOrder(\n        requestParameters: QueryUmOrderRequest\n    ): Promise<RestApiResponse<QueryUmOrderResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUmOrder(\n            requestParameters?.symbol,\n            requestParameters?.orderId,\n            requestParameters?.origClientOrderId,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUmOrderResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query User's CM Force Orders\n     *\n     * If \"autoCloseType\" is not sent, orders with both of the types will be returned\n     * If \"startTime\" is not sent, data within 7 days before \"endTime\" can be queried\n     *\n     * Weight: 20 with symbol, 50 without symbol\n     *\n     * @summary Query User\\'s CM Force Orders(USER_DATA)\n     * @param {QueryUsersCmForceOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUsersCmForceOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-CM-Force-Orders Binance API Documentation}\n     */\n    public async queryUsersCmForceOrders(\n        requestParameters: QueryUsersCmForceOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryUsersCmForceOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUsersCmForceOrders(\n            requestParameters?.symbol,\n            requestParameters?.autoCloseType,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUsersCmForceOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query user's margin force orders\n     *\n     * Weight: 1\n     *\n     * @summary Query User\\'s Margin Force Orders(USER_DATA)\n     * @param {QueryUsersMarginForceOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUsersMarginForceOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-Margin-Force-Orders Binance API Documentation}\n     */\n    public async queryUsersMarginForceOrders(\n        requestParameters: QueryUsersMarginForceOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryUsersMarginForceOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUsersMarginForceOrders(\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.current,\n            requestParameters?.size,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUsersMarginForceOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query User's UM Force Orders\n     *\n     * If `autoCloseType` is not sent, orders with both of the types will be returned\n     * If `startTime` is not sent, data within 7 days before `endTime` can be queried\n     *\n     * Weight: 20 with symbol, 50 without symbol\n     *\n     * @summary Query User\\'s UM Force Orders (USER_DATA)\n     * @param {QueryUsersUmForceOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUsersUmForceOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-UM-Force-Orders Binance API Documentation}\n     */\n    public async queryUsersUmForceOrders(\n        requestParameters: QueryUsersUmForceOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryUsersUmForceOrdersResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.queryUsersUmForceOrders(\n            requestParameters?.symbol,\n            requestParameters?.autoCloseType,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<QueryUsersUmForceOrdersResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Change user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off ) on ***EVERY symbol***\n     *\n     *\n     * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n     *\n     * Weight: 1\n     *\n     * @summary Toggle BNB Burn On UM Futures Trade (TRADE)\n     * @param {ToggleBnbBurnOnUmFuturesTradeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ToggleBnbBurnOnUmFuturesTradeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Toggle-BNB-Burn-On-UM-Futures-Trade Binance API Documentation}\n     */\n    public async toggleBnbBurnOnUmFuturesTrade(\n        requestParameters: ToggleBnbBurnOnUmFuturesTradeRequest\n    ): Promise<RestApiResponse<ToggleBnbBurnOnUmFuturesTradeResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.toggleBnbBurnOnUmFuturesTrade(\n                requestParameters?.feeBurn,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<ToggleBnbBurnOnUmFuturesTradeResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Get trades for a specific account and UM symbol.\n     *\n     *\n     * If `startTime` and `endTime` are both not sent, then the last '24 hours' data will be returned.\n     * The time between `startTime` and `endTime` cannot be longer than 24 hours.\n     * The parameter `fromId` cannot be sent with `startTime` or `endTime`.\n     *\n     * Weight: 5\n     *\n     * @summary UM Account Trade List(USER_DATA)\n     * @param {UmAccountTradeListRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmAccountTradeListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Account-Trade-List Binance API Documentation}\n     */\n    public async umAccountTradeList(\n        requestParameters: UmAccountTradeListRequest\n    ): Promise<RestApiResponse<UmAccountTradeListResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.umAccountTradeList(\n            requestParameters?.symbol,\n            requestParameters?.startTime,\n            requestParameters?.endTime,\n            requestParameters?.fromId,\n            requestParameters?.limit,\n            requestParameters?.recvWindow\n        );\n        return sendRequest<UmAccountTradeListResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n\n    /**\n     * Query UM Position ADL Quantile Estimation\n     *\n     * Values update every 30s.\n     * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n     * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n     * If the positions of the symbol are crossed margined in Hedge Mode:\n     * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n     * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n     *\n     * Weight: 5\n     *\n     * @summary UM Position ADL Quantile Estimation(USER_DATA)\n     * @param {UmPositionAdlQuantileEstimationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmPositionAdlQuantileEstimationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof TradeApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Position-ADL-Quantile-Estimation Binance API Documentation}\n     */\n    public async umPositionAdlQuantileEstimation(\n        requestParameters: UmPositionAdlQuantileEstimationRequest = {}\n    ): Promise<RestApiResponse<UmPositionAdlQuantileEstimationResponse>> {\n        const localVarAxiosArgs =\n            await this.localVarAxiosParamCreator.umPositionAdlQuantileEstimation(\n                requestParameters?.symbol,\n                requestParameters?.recvWindow\n            );\n        return sendRequest<UmPositionAdlQuantileEstimationResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: true }\n        );\n    }\n}\n\nexport enum MarginAccountNewOcoSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum MarginAccountNewOcoStopLimitTimeInForceEnum {\n    GTC = 'GTC',\n    IOC = 'IOC',\n    FOK = 'FOK',\n}\n\nexport enum MarginAccountNewOcoNewOrderRespTypeEnum {\n    ACK = 'ACK',\n    RESULT = 'RESULT',\n}\n\nexport enum MarginAccountNewOcoSideEffectTypeEnum {\n    NO_SIDE_EFFECT = 'NO_SIDE_EFFECT',\n    MARGIN_BUY = 'MARGIN_BUY',\n    AUTO_REPAY = 'AUTO_REPAY',\n}\n\nexport enum ModifyCmOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum ModifyCmOrderPriceMatchEnum {\n    NONE = 'NONE',\n    OPPONENT = 'OPPONENT',\n    OPPONENT_5 = 'OPPONENT_5',\n    OPPONENT_10 = 'OPPONENT_10',\n    OPPONENT_20 = 'OPPONENT_20',\n    QUEUE = 'QUEUE',\n    QUEUE_5 = 'QUEUE_5',\n    QUEUE_10 = 'QUEUE_10',\n    QUEUE_20 = 'QUEUE_20',\n}\n\nexport enum ModifyUmOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum ModifyUmOrderPriceMatchEnum {\n    NONE = 'NONE',\n    OPPONENT = 'OPPONENT',\n    OPPONENT_5 = 'OPPONENT_5',\n    OPPONENT_10 = 'OPPONENT_10',\n    OPPONENT_20 = 'OPPONENT_20',\n    QUEUE = 'QUEUE',\n    QUEUE_5 = 'QUEUE_5',\n    QUEUE_10 = 'QUEUE_10',\n    QUEUE_20 = 'QUEUE_20',\n}\n\nexport enum NewCmConditionalOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum NewCmConditionalOrderStrategyTypeEnum {\n    STOP = 'STOP',\n    STOP_MARKET = 'STOP_MARKET',\n    TAKE_PROFIT = 'TAKE_PROFIT',\n    TAKE_PROFIT_MARKET = 'TAKE_PROFIT_MARKET',\n    TRAILING_STOP_MARKET = 'TRAILING_STOP_MARKET',\n}\n\nexport enum NewCmConditionalOrderPositionSideEnum {\n    BOTH = 'BOTH',\n    LONG = 'LONG',\n    SHORT = 'SHORT',\n}\n\nexport enum NewCmConditionalOrderTimeInForceEnum {\n    GTC = 'GTC',\n    IOC = 'IOC',\n    FOK = 'FOK',\n    GTX = 'GTX',\n}\n\nexport enum NewCmConditionalOrderWorkingTypeEnum {\n    MARK_PRICE = 'MARK_PRICE',\n}\n\nexport enum NewCmOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum NewCmOrderTypeEnum {\n    LIMIT = 'LIMIT',\n    MARKET = 'MARKET',\n}\n\nexport enum NewCmOrderPositionSideEnum {\n    BOTH = 'BOTH',\n    LONG = 'LONG',\n    SHORT = 'SHORT',\n}\n\nexport enum NewCmOrderTimeInForceEnum {\n    GTC = 'GTC',\n    IOC = 'IOC',\n    FOK = 'FOK',\n    GTX = 'GTX',\n}\n\nexport enum NewCmOrderPriceMatchEnum {\n    NONE = 'NONE',\n    OPPONENT = 'OPPONENT',\n    OPPONENT_5 = 'OPPONENT_5',\n    OPPONENT_10 = 'OPPONENT_10',\n    OPPONENT_20 = 'OPPONENT_20',\n    QUEUE = 'QUEUE',\n    QUEUE_5 = 'QUEUE_5',\n    QUEUE_10 = 'QUEUE_10',\n    QUEUE_20 = 'QUEUE_20',\n}\n\nexport enum NewCmOrderNewOrderRespTypeEnum {\n    ACK = 'ACK',\n    RESULT = 'RESULT',\n}\n\nexport enum NewMarginOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum NewMarginOrderTypeEnum {\n    LIMIT = 'LIMIT',\n    MARKET = 'MARKET',\n}\n\nexport enum NewMarginOrderNewOrderRespTypeEnum {\n    ACK = 'ACK',\n    RESULT = 'RESULT',\n}\n\nexport enum NewMarginOrderSideEffectTypeEnum {\n    NO_SIDE_EFFECT = 'NO_SIDE_EFFECT',\n    MARGIN_BUY = 'MARGIN_BUY',\n    AUTO_REPAY = 'AUTO_REPAY',\n}\n\nexport enum NewMarginOrderTimeInForceEnum {\n    GTC = 'GTC',\n    IOC = 'IOC',\n    FOK = 'FOK',\n    GTX = 'GTX',\n}\n\nexport enum NewMarginOrderSelfTradePreventionModeEnum {\n    NONE = 'NONE',\n    EXPIRE_TAKER = 'EXPIRE_TAKER',\n    EXPIRE_BOTH = 'EXPIRE_BOTH',\n    EXPIRE_MAKER = 'EXPIRE_MAKER',\n}\n\nexport enum NewUmConditionalOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum NewUmConditionalOrderStrategyTypeEnum {\n    STOP = 'STOP',\n    STOP_MARKET = 'STOP_MARKET',\n    TAKE_PROFIT = 'TAKE_PROFIT',\n    TAKE_PROFIT_MARKET = 'TAKE_PROFIT_MARKET',\n    TRAILING_STOP_MARKET = 'TRAILING_STOP_MARKET',\n}\n\nexport enum NewUmConditionalOrderPositionSideEnum {\n    BOTH = 'BOTH',\n    LONG = 'LONG',\n    SHORT = 'SHORT',\n}\n\nexport enum NewUmConditionalOrderTimeInForceEnum {\n    GTC = 'GTC',\n    IOC = 'IOC',\n    FOK = 'FOK',\n    GTX = 'GTX',\n}\n\nexport enum NewUmConditionalOrderWorkingTypeEnum {\n    MARK_PRICE = 'MARK_PRICE',\n}\n\nexport enum NewUmConditionalOrderPriceMatchEnum {\n    NONE = 'NONE',\n    OPPONENT = 'OPPONENT',\n    OPPONENT_5 = 'OPPONENT_5',\n    OPPONENT_10 = 'OPPONENT_10',\n    OPPONENT_20 = 'OPPONENT_20',\n    QUEUE = 'QUEUE',\n    QUEUE_5 = 'QUEUE_5',\n    QUEUE_10 = 'QUEUE_10',\n    QUEUE_20 = 'QUEUE_20',\n}\n\nexport enum NewUmConditionalOrderSelfTradePreventionModeEnum {\n    NONE = 'NONE',\n    EXPIRE_TAKER = 'EXPIRE_TAKER',\n    EXPIRE_BOTH = 'EXPIRE_BOTH',\n    EXPIRE_MAKER = 'EXPIRE_MAKER',\n}\n\nexport enum NewUmOrderSideEnum {\n    BUY = 'BUY',\n    SELL = 'SELL',\n}\n\nexport enum NewUmOrderTypeEnum {\n    LIMIT = 'LIMIT',\n    MARKET = 'MARKET',\n}\n\nexport enum NewUmOrderPositionSideEnum {\n    BOTH = 'BOTH',\n    LONG = 'LONG',\n    SHORT = 'SHORT',\n}\n\nexport enum NewUmOrderTimeInForceEnum {\n    GTC = 'GTC',\n    IOC = 'IOC',\n    FOK = 'FOK',\n    GTX = 'GTX',\n}\n\nexport enum NewUmOrderNewOrderRespTypeEnum {\n    ACK = 'ACK',\n    RESULT = 'RESULT',\n}\n\nexport enum NewUmOrderPriceMatchEnum {\n    NONE = 'NONE',\n    OPPONENT = 'OPPONENT',\n    OPPONENT_5 = 'OPPONENT_5',\n    OPPONENT_10 = 'OPPONENT_10',\n    OPPONENT_20 = 'OPPONENT_20',\n    QUEUE = 'QUEUE',\n    QUEUE_5 = 'QUEUE_5',\n    QUEUE_10 = 'QUEUE_10',\n    QUEUE_20 = 'QUEUE_20',\n}\n\nexport enum NewUmOrderSelfTradePreventionModeEnum {\n    NONE = 'NONE',\n    EXPIRE_TAKER = 'EXPIRE_TAKER',\n    EXPIRE_BOTH = 'EXPIRE_BOTH',\n    EXPIRE_MAKER = 'EXPIRE_MAKER',\n}\n\nexport enum QueryUsersCmForceOrdersAutoCloseTypeEnum {\n    LIQUIDATION = 'LIQUIDATION',\n    ADL = 'ADL',\n}\n\nexport enum QueryUsersUmForceOrdersAutoCloseTypeEnum {\n    LIQUIDATION = 'LIQUIDATION',\n    ADL = 'ADL',\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport {\n    ConfigurationRestAPI,\n    TimeUnit,\n    RestApiResponse,\n    sendRequest,\n    type RequestArgs,\n} from '@binance/common';\nimport type { StartUserDataStreamResponse } from '../types';\n\n/**\n * UserDataStreamsApi - axios parameter creator\n */\nconst UserDataStreamsApiAxiosParamCreator = function (configuration: ConfigurationRestAPI) {\n    return {\n        /**\n         * Close out a user data stream.\n         *\n         * Weight: 1\n         *\n         * @summary Close User Data Stream(USER_STREAM)\n         *\n         * @throws {RequiredError}\n         */\n        closeUserDataStream: async (): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/listenKey',\n                method: 'DELETE',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Keepalive a user data stream to prevent a time out. 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         * @summary Keepalive User Data Stream (USER_STREAM)\n         *\n         * @throws {RequiredError}\n         */\n        keepaliveUserDataStream: async (): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/listenKey',\n                method: 'PUT',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n        /**\n         * Start a new user data stream. The stream will close after 60 minutes unless a keepalive is sent. 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         * @summary Start User Data Stream(USER_STREAM)\n         *\n         * @throws {RequiredError}\n         */\n        startUserDataStream: async (): Promise<RequestArgs> => {\n            const localVarQueryParameter: Record<string, unknown> = {};\n\n            let _timeUnit: TimeUnit | undefined;\n            if ('timeUnit' in configuration) _timeUnit = configuration.timeUnit as TimeUnit;\n\n            return {\n                endpoint: '/papi/v1/listenKey',\n                method: 'POST',\n                params: localVarQueryParameter,\n                timeUnit: _timeUnit,\n            };\n        },\n    };\n};\n\n/**\n * UserDataStreamsApi - interface\n * @interface UserDataStreamsApi\n */\nexport interface UserDataStreamsApiInterface {\n    /**\n     * Close out a user data stream.\n     *\n     * Weight: 1\n     *\n     * @summary Close User Data Stream(USER_STREAM)\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof UserDataStreamsApiInterface\n     */\n    closeUserDataStream(): Promise<RestApiResponse<void>>;\n    /**\n     * Keepalive a user data stream to prevent a time out. 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     * @summary Keepalive User Data Stream (USER_STREAM)\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof UserDataStreamsApiInterface\n     */\n    keepaliveUserDataStream(): Promise<RestApiResponse<void>>;\n    /**\n     * Start a new user data stream. The stream will close after 60 minutes unless a keepalive is sent. 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     * @summary Start User Data Stream(USER_STREAM)\n     *\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof UserDataStreamsApiInterface\n     */\n    startUserDataStream(): Promise<RestApiResponse<StartUserDataStreamResponse>>;\n}\n\n/**\n * UserDataStreamsApi - object-oriented interface\n * @class UserDataStreamsApi\n */\nexport class UserDataStreamsApi implements UserDataStreamsApiInterface {\n    private readonly configuration: ConfigurationRestAPI;\n    private localVarAxiosParamCreator;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.localVarAxiosParamCreator = UserDataStreamsApiAxiosParamCreator(configuration);\n    }\n\n    /**\n     * Close out a user data stream.\n     *\n     * Weight: 1\n     *\n     * @summary Close User Data Stream(USER_STREAM)\n     * @returns {Promise<RestApiResponse<void>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof UserDataStreamsApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Close-User-Data-Stream Binance API Documentation}\n     */\n    public async closeUserDataStream(): Promise<RestApiResponse<void>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.closeUserDataStream();\n        return sendRequest<void>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: false }\n        );\n    }\n\n    /**\n     * Keepalive a user data stream to prevent a time out. 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     * @summary Keepalive User Data Stream (USER_STREAM)\n     * @returns {Promise<RestApiResponse<void>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof UserDataStreamsApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Keepalive-User-Data-Stream Binance API Documentation}\n     */\n    public async keepaliveUserDataStream(): Promise<RestApiResponse<void>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.keepaliveUserDataStream();\n        return sendRequest<void>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: false }\n        );\n    }\n\n    /**\n     * Start a new user data stream. The stream will close after 60 minutes unless a keepalive is sent. 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     * @summary Start User Data Stream(USER_STREAM)\n     * @returns {Promise<RestApiResponse<StartUserDataStreamResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @memberof UserDataStreamsApi\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Start-User-Data-Stream Binance API Documentation}\n     */\n    public async startUserDataStream(): Promise<RestApiResponse<StartUserDataStreamResponse>> {\n        const localVarAxiosArgs = await this.localVarAxiosParamCreator.startUserDataStream();\n        return sendRequest<StartUserDataStreamResponse>(\n            this.configuration,\n            localVarAxiosArgs.endpoint,\n            localVarAxiosArgs.method,\n            localVarAxiosArgs.params,\n            localVarAxiosArgs?.timeUnit,\n            { isSigned: false }\n        );\n    }\n}\n","/**\n * Binance Derivatives Trading Portfolio Margin REST API\n *\n * OpenAPI Specification for the Binance Derivatives Trading Portfolio Margin REST API\n *\n * The version of the OpenAPI document: 1.0.0\n *\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { ConfigurationRestAPI, RestApiResponse, sendRequest } from '@binance/common';\nimport { AccountApi } from './modules/account-api';\nimport { MarketDataApi } from './modules/market-data-api';\nimport { TradeApi } from './modules/trade-api';\nimport { UserDataStreamsApi } from './modules/user-data-streams-api';\n\nimport type {\n    AccountBalanceRequest,\n    AccountInformationRequest,\n    BnbTransferRequest,\n    ChangeAutoRepayFuturesStatusRequest,\n    ChangeCmInitialLeverageRequest,\n    ChangeCmPositionModeRequest,\n    ChangeUmInitialLeverageRequest,\n    ChangeUmPositionModeRequest,\n    CmNotionalAndLeverageBracketsRequest,\n    FundAutoCollectionRequest,\n    FundCollectionByAssetRequest,\n    GetAutoRepayFuturesStatusRequest,\n    GetCmAccountDetailRequest,\n    GetCmCurrentPositionModeRequest,\n    GetCmIncomeHistoryRequest,\n    GetDownloadIdForUmFuturesOrderHistoryRequest,\n    GetDownloadIdForUmFuturesTradeHistoryRequest,\n    GetDownloadIdForUmFuturesTransactionHistoryRequest,\n    GetMarginBorrowLoanInterestHistoryRequest,\n    GetUmAccountDetailRequest,\n    GetUmAccountDetailV2Request,\n    GetUmCurrentPositionModeRequest,\n    GetUmFuturesOrderDownloadLinkByIdRequest,\n    GetUmFuturesTradeDownloadLinkByIdRequest,\n    GetUmFuturesTransactionDownloadLinkByIdRequest,\n    GetUmIncomeHistoryRequest,\n    GetUserCommissionRateForCmRequest,\n    GetUserCommissionRateForUmRequest,\n    MarginMaxBorrowRequest,\n    PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest,\n    QueryCmPositionInformationRequest,\n    QueryMarginLoanRecordRequest,\n    QueryMarginMaxWithdrawRequest,\n    QueryMarginRepayRecordRequest,\n    QueryPortfolioMarginNegativeBalanceInterestHistoryRequest,\n    QueryUmPositionInformationRequest,\n    QueryUserNegativeBalanceAutoExchangeRecordRequest,\n    QueryUserRateLimitRequest,\n    RepayFuturesNegativeBalanceRequest,\n    UmFuturesAccountConfigurationRequest,\n    UmFuturesSymbolConfigurationRequest,\n    UmNotionalAndLeverageBracketsRequest,\n} from './modules/account-api';\nimport type {} from './modules/market-data-api';\nimport type {\n    CancelAllCmOpenConditionalOrdersRequest,\n    CancelAllCmOpenOrdersRequest,\n    CancelAllUmOpenConditionalOrdersRequest,\n    CancelAllUmOpenOrdersRequest,\n    CancelCmConditionalOrderRequest,\n    CancelCmOrderRequest,\n    CancelMarginAccountAllOpenOrdersOnASymbolRequest,\n    CancelMarginAccountOcoOrdersRequest,\n    CancelMarginAccountOrderRequest,\n    CancelUmConditionalOrderRequest,\n    CancelUmOrderRequest,\n    CmAccountTradeListRequest,\n    CmPositionAdlQuantileEstimationRequest,\n    GetUmFuturesBnbBurnStatusRequest,\n    MarginAccountBorrowRequest,\n    MarginAccountNewOcoRequest,\n    MarginAccountRepayRequest,\n    MarginAccountRepayDebtRequest,\n    MarginAccountTradeListRequest,\n    ModifyCmOrderRequest,\n    ModifyUmOrderRequest,\n    NewCmConditionalOrderRequest,\n    NewCmOrderRequest,\n    NewMarginOrderRequest,\n    NewUmConditionalOrderRequest,\n    NewUmOrderRequest,\n    QueryAllCmConditionalOrdersRequest,\n    QueryAllCmOrdersRequest,\n    QueryAllCurrentCmOpenConditionalOrdersRequest,\n    QueryAllCurrentCmOpenOrdersRequest,\n    QueryAllCurrentUmOpenConditionalOrdersRequest,\n    QueryAllCurrentUmOpenOrdersRequest,\n    QueryAllMarginAccountOrdersRequest,\n    QueryAllUmConditionalOrdersRequest,\n    QueryAllUmOrdersRequest,\n    QueryCmConditionalOrderHistoryRequest,\n    QueryCmModifyOrderHistoryRequest,\n    QueryCmOrderRequest,\n    QueryCurrentCmOpenConditionalOrderRequest,\n    QueryCurrentCmOpenOrderRequest,\n    QueryCurrentMarginOpenOrderRequest,\n    QueryCurrentUmOpenConditionalOrderRequest,\n    QueryCurrentUmOpenOrderRequest,\n    QueryMarginAccountOrderRequest,\n    QueryMarginAccountsAllOcoRequest,\n    QueryMarginAccountsOcoRequest,\n    QueryMarginAccountsOpenOcoRequest,\n    QueryUmConditionalOrderHistoryRequest,\n    QueryUmModifyOrderHistoryRequest,\n    QueryUmOrderRequest,\n    QueryUsersCmForceOrdersRequest,\n    QueryUsersMarginForceOrdersRequest,\n    QueryUsersUmForceOrdersRequest,\n    ToggleBnbBurnOnUmFuturesTradeRequest,\n    UmAccountTradeListRequest,\n    UmPositionAdlQuantileEstimationRequest,\n} from './modules/trade-api';\nimport type {} from './modules/user-data-streams-api';\n\nimport type {\n    AccountBalanceResponse,\n    AccountInformationResponse,\n    BnbTransferResponse,\n    ChangeAutoRepayFuturesStatusResponse,\n    ChangeCmInitialLeverageResponse,\n    ChangeCmPositionModeResponse,\n    ChangeUmInitialLeverageResponse,\n    ChangeUmPositionModeResponse,\n    CmNotionalAndLeverageBracketsResponse,\n    FundAutoCollectionResponse,\n    FundCollectionByAssetResponse,\n    GetAutoRepayFuturesStatusResponse,\n    GetCmAccountDetailResponse,\n    GetCmCurrentPositionModeResponse,\n    GetCmIncomeHistoryResponse,\n    GetDownloadIdForUmFuturesOrderHistoryResponse,\n    GetDownloadIdForUmFuturesTradeHistoryResponse,\n    GetDownloadIdForUmFuturesTransactionHistoryResponse,\n    GetMarginBorrowLoanInterestHistoryResponse,\n    GetUmAccountDetailResponse,\n    GetUmAccountDetailV2Response,\n    GetUmCurrentPositionModeResponse,\n    GetUmFuturesOrderDownloadLinkByIdResponse,\n    GetUmFuturesTradeDownloadLinkByIdResponse,\n    GetUmFuturesTransactionDownloadLinkByIdResponse,\n    GetUmIncomeHistoryResponse,\n    GetUserCommissionRateForCmResponse,\n    GetUserCommissionRateForUmResponse,\n    MarginMaxBorrowResponse,\n    PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse,\n    QueryCmPositionInformationResponse,\n    QueryMarginLoanRecordResponse,\n    QueryMarginMaxWithdrawResponse,\n    QueryMarginRepayRecordResponse,\n    QueryPortfolioMarginNegativeBalanceInterestHistoryResponse,\n    QueryUmPositionInformationResponse,\n    QueryUserNegativeBalanceAutoExchangeRecordResponse,\n    QueryUserRateLimitResponse,\n    RepayFuturesNegativeBalanceResponse,\n    UmFuturesAccountConfigurationResponse,\n    UmFuturesSymbolConfigurationResponse,\n    UmNotionalAndLeverageBracketsResponse,\n} from './types';\nimport type {} from './types';\nimport type {\n    CancelAllCmOpenConditionalOrdersResponse,\n    CancelAllCmOpenOrdersResponse,\n    CancelAllUmOpenConditionalOrdersResponse,\n    CancelAllUmOpenOrdersResponse,\n    CancelCmConditionalOrderResponse,\n    CancelCmOrderResponse,\n    CancelMarginAccountAllOpenOrdersOnASymbolResponse,\n    CancelMarginAccountOcoOrdersResponse,\n    CancelMarginAccountOrderResponse,\n    CancelUmConditionalOrderResponse,\n    CancelUmOrderResponse,\n    CmAccountTradeListResponse,\n    CmPositionAdlQuantileEstimationResponse,\n    GetUmFuturesBnbBurnStatusResponse,\n    MarginAccountBorrowResponse,\n    MarginAccountNewOcoResponse,\n    MarginAccountRepayResponse,\n    MarginAccountRepayDebtResponse,\n    MarginAccountTradeListResponse,\n    ModifyCmOrderResponse,\n    ModifyUmOrderResponse,\n    NewCmConditionalOrderResponse,\n    NewCmOrderResponse,\n    NewMarginOrderResponse,\n    NewUmConditionalOrderResponse,\n    NewUmOrderResponse,\n    QueryAllCmConditionalOrdersResponse,\n    QueryAllCmOrdersResponse,\n    QueryAllCurrentCmOpenConditionalOrdersResponse,\n    QueryAllCurrentCmOpenOrdersResponse,\n    QueryAllCurrentUmOpenConditionalOrdersResponse,\n    QueryAllCurrentUmOpenOrdersResponse,\n    QueryAllMarginAccountOrdersResponse,\n    QueryAllUmConditionalOrdersResponse,\n    QueryAllUmOrdersResponse,\n    QueryCmConditionalOrderHistoryResponse,\n    QueryCmModifyOrderHistoryResponse,\n    QueryCmOrderResponse,\n    QueryCurrentCmOpenConditionalOrderResponse,\n    QueryCurrentCmOpenOrderResponse,\n    QueryCurrentMarginOpenOrderResponse,\n    QueryCurrentUmOpenConditionalOrderResponse,\n    QueryCurrentUmOpenOrderResponse,\n    QueryMarginAccountOrderResponse,\n    QueryMarginAccountsAllOcoResponse,\n    QueryMarginAccountsOcoResponse,\n    QueryMarginAccountsOpenOcoResponse,\n    QueryUmConditionalOrderHistoryResponse,\n    QueryUmModifyOrderHistoryResponse,\n    QueryUmOrderResponse,\n    QueryUsersCmForceOrdersResponse,\n    QueryUsersMarginForceOrdersResponse,\n    QueryUsersUmForceOrdersResponse,\n    ToggleBnbBurnOnUmFuturesTradeResponse,\n    UmAccountTradeListResponse,\n    UmPositionAdlQuantileEstimationResponse,\n} from './types';\nimport type { StartUserDataStreamResponse } from './types';\n\nexport class RestAPI {\n    private configuration: ConfigurationRestAPI;\n    private accountApi: AccountApi;\n    private marketDataApi: MarketDataApi;\n    private tradeApi: TradeApi;\n    private userDataStreamsApi: UserDataStreamsApi;\n\n    constructor(configuration: ConfigurationRestAPI) {\n        this.configuration = configuration;\n        this.accountApi = new AccountApi(configuration);\n        this.marketDataApi = new MarketDataApi(configuration);\n        this.tradeApi = new TradeApi(configuration);\n        this.userDataStreamsApi = new UserDataStreamsApi(configuration);\n    }\n\n    /**\n     * Generic function to send a request.\n     * @param endpoint - The API endpoint to call.\n     * @param method - HTTP method to use (GET, POST, DELETE, etc.).\n     * @param params - Query parameters for the request.\n     *\n     * @returns A promise resolving to the response data object.\n     */\n    sendRequest<T>(\n        endpoint: string,\n        method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH',\n        params: Record<string, unknown> = {}\n    ): Promise<RestApiResponse<T>> {\n        return sendRequest<T>(this.configuration, endpoint, method, params, undefined);\n    }\n\n    /**\n     * Generic function to send a signed request.\n     * @param endpoint - The API endpoint to call.\n     * @param method - HTTP method to use (GET, POST, DELETE, etc.).\n     * @param params - Query parameters for the request.\n     *\n     * @returns A promise resolving to the response data object.\n     */\n    sendSignedRequest<T>(\n        endpoint: string,\n        method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH',\n        params: Record<string, unknown> = {}\n    ): Promise<RestApiResponse<T>> {\n        return sendRequest<T>(this.configuration, endpoint, method, params, undefined, {\n            isSigned: true,\n        });\n    }\n\n    /**\n     * Query account balance\n     *\n     * Weight: 20\n     *\n     * @summary Account Balance(USER_DATA)\n     * @param {AccountBalanceRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<AccountBalanceResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Account-Balance Binance API Documentation}\n     */\n    accountBalance(\n        requestParameters: AccountBalanceRequest = {}\n    ): Promise<RestApiResponse<AccountBalanceResponse>> {\n        return this.accountApi.accountBalance(requestParameters);\n    }\n\n    /**\n     * Query account information\n     *\n     * Weight: 20\n     *\n     * @summary Account Information(USER_DATA)\n     * @param {AccountInformationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<AccountInformationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Account-Information Binance API Documentation}\n     */\n    accountInformation(\n        requestParameters: AccountInformationRequest = {}\n    ): Promise<RestApiResponse<AccountInformationResponse>> {\n        return this.accountApi.accountInformation(requestParameters);\n    }\n\n    /**\n     * Transfer BNB in and out of UM\n     *\n     * The endpoint can only be called 10 times per 10 minutes in a rolling manner\n     *\n     * Weight: 750\n     *\n     * @summary BNB transfer (TRADE)\n     * @param {BnbTransferRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<BnbTransferResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/BNB-transfer Binance API Documentation}\n     */\n    bnbTransfer(\n        requestParameters: BnbTransferRequest\n    ): Promise<RestApiResponse<BnbTransferResponse>> {\n        return this.accountApi.bnbTransfer(requestParameters);\n    }\n\n    /**\n     * Change Auto-repay-futures Status\n     *\n     * Weight: 750\n     *\n     * @summary Change Auto-repay-futures Status(TRADE)\n     * @param {ChangeAutoRepayFuturesStatusRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-Auto-repay-futures-Status Binance API Documentation}\n     */\n    changeAutoRepayFuturesStatus(\n        requestParameters: ChangeAutoRepayFuturesStatusRequest\n    ): Promise<RestApiResponse<ChangeAutoRepayFuturesStatusResponse>> {\n        return this.accountApi.changeAutoRepayFuturesStatus(requestParameters);\n    }\n\n    /**\n     * Change user's initial leverage of specific symbol in CM.\n     *\n     * Weight: 1\n     *\n     * @summary Change CM Initial Leverage (TRADE)\n     * @param {ChangeCmInitialLeverageRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeCmInitialLeverageResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-CM-Initial-Leverage Binance API Documentation}\n     */\n    changeCmInitialLeverage(\n        requestParameters: ChangeCmInitialLeverageRequest\n    ): Promise<RestApiResponse<ChangeCmInitialLeverageResponse>> {\n        return this.accountApi.changeCmInitialLeverage(requestParameters);\n    }\n\n    /**\n     * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n     *\n     * Weight: 1\n     *\n     * @summary Change CM Position Mode(TRADE)\n     * @param {ChangeCmPositionModeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeCmPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-CM-Position-Mode Binance API Documentation}\n     */\n    changeCmPositionMode(\n        requestParameters: ChangeCmPositionModeRequest\n    ): Promise<RestApiResponse<ChangeCmPositionModeResponse>> {\n        return this.accountApi.changeCmPositionMode(requestParameters);\n    }\n\n    /**\n     * Change user's initial leverage of specific symbol in UM.\n     *\n     * Weight: 1\n     *\n     * @summary Change UM Initial Leverage(TRADE)\n     * @param {ChangeUmInitialLeverageRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeUmInitialLeverageResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-UM-Initial-Leverage Binance API Documentation}\n     */\n    changeUmInitialLeverage(\n        requestParameters: ChangeUmInitialLeverageRequest\n    ): Promise<RestApiResponse<ChangeUmInitialLeverageResponse>> {\n        return this.accountApi.changeUmInitialLeverage(requestParameters);\n    }\n\n    /**\n     * Change user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n     *\n     * Weight: 1\n     *\n     * @summary Change UM Position Mode(TRADE)\n     * @param {ChangeUmPositionModeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ChangeUmPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Change-UM-Position-Mode Binance API Documentation}\n     */\n    changeUmPositionMode(\n        requestParameters: ChangeUmPositionModeRequest\n    ): Promise<RestApiResponse<ChangeUmPositionModeResponse>> {\n        return this.accountApi.changeUmPositionMode(requestParameters);\n    }\n\n    /**\n     * Query CM notional and leverage brackets\n     *\n     * Weight: 1\n     *\n     * @summary CM Notional and Leverage Brackets(USER_DATA)\n     * @param {CmNotionalAndLeverageBracketsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CmNotionalAndLeverageBracketsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/CM-Notional-and-Leverage-Brackets Binance API Documentation}\n     */\n    cmNotionalAndLeverageBrackets(\n        requestParameters: CmNotionalAndLeverageBracketsRequest = {}\n    ): Promise<RestApiResponse<CmNotionalAndLeverageBracketsResponse>> {\n        return this.accountApi.cmNotionalAndLeverageBrackets(requestParameters);\n    }\n\n    /**\n     * Fund collection for Portfolio Margin\n     *\n     * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n     * You can only use this function 500 times per hour in a rolling manner.\n     *\n     * Weight: 750\n     *\n     * @summary Fund Auto-collection(TRADE)\n     * @param {FundAutoCollectionRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<FundAutoCollectionResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Fund-Auto-collection Binance API Documentation}\n     */\n    fundAutoCollection(\n        requestParameters: FundAutoCollectionRequest = {}\n    ): Promise<RestApiResponse<FundAutoCollectionResponse>> {\n        return this.accountApi.fundAutoCollection(requestParameters);\n    }\n\n    /**\n     * Transfers specific asset from Futures Account to Margin account\n     *\n     * The BNB transfer is not be supported\n     *\n     * Weight: 30\n     *\n     * @summary Fund Collection by Asset(TRADE)\n     * @param {FundCollectionByAssetRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<FundCollectionByAssetResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Fund-Collection-by-Asset Binance API Documentation}\n     */\n    fundCollectionByAsset(\n        requestParameters: FundCollectionByAssetRequest\n    ): Promise<RestApiResponse<FundCollectionByAssetResponse>> {\n        return this.accountApi.fundCollectionByAsset(requestParameters);\n    }\n\n    /**\n     * Query Auto-repay-futures Status\n     *\n     * Weight: 30\n     *\n     * @summary Get Auto-repay-futures Status(USER_DATA)\n     * @param {GetAutoRepayFuturesStatusRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Auto-repay-futures-Status Binance API Documentation}\n     */\n    getAutoRepayFuturesStatus(\n        requestParameters: GetAutoRepayFuturesStatusRequest = {}\n    ): Promise<RestApiResponse<GetAutoRepayFuturesStatusResponse>> {\n        return this.accountApi.getAutoRepayFuturesStatus(requestParameters);\n    }\n\n    /**\n     * Get current CM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get CM Account Detail(USER_DATA)\n     * @param {GetCmAccountDetailRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetCmAccountDetailResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Account-Detail Binance API Documentation}\n     */\n    getCmAccountDetail(\n        requestParameters: GetCmAccountDetailRequest = {}\n    ): Promise<RestApiResponse<GetCmAccountDetailResponse>> {\n        return this.accountApi.getCmAccountDetail(requestParameters);\n    }\n\n    /**\n     * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in CM\n     *\n     * Weight: 30\n     *\n     * @summary Get CM Current Position Mode(USER_DATA)\n     * @param {GetCmCurrentPositionModeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetCmCurrentPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Current-Position-Mode Binance API Documentation}\n     */\n    getCmCurrentPositionMode(\n        requestParameters: GetCmCurrentPositionModeRequest = {}\n    ): Promise<RestApiResponse<GetCmCurrentPositionModeResponse>> {\n        return this.accountApi.getCmCurrentPositionMode(requestParameters);\n    }\n\n    /**\n     * Get CM Income History\n     *\n     *\n     * If `incomeType` is not sent, all kinds of flow will be returned\n     * \"trandId\" is unique in the same \"incomeType\" for a user\n     * The interval between `startTime` and `endTime` can not exceed 200 days:\n     * If `startTime` and `endTime` are not sent, the last 200 days will be returned\n     *\n     * Weight: 30\n     *\n     * @summary Get CM Income History(USER_DATA)\n     * @param {GetCmIncomeHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetCmIncomeHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-CM-Income-History Binance API Documentation}\n     */\n    getCmIncomeHistory(\n        requestParameters: GetCmIncomeHistoryRequest = {}\n    ): Promise<RestApiResponse<GetCmIncomeHistoryResponse>> {\n        return this.accountApi.getCmIncomeHistory(requestParameters);\n    }\n\n    /**\n     * Get download id for UM futures order history\n     *\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     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Order History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetDownloadIdForUmFuturesOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Order-History Binance API Documentation}\n     */\n    getDownloadIdForUmFuturesOrderHistory(\n        requestParameters: GetDownloadIdForUmFuturesOrderHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesOrderHistoryResponse>> {\n        return this.accountApi.getDownloadIdForUmFuturesOrderHistory(requestParameters);\n    }\n\n    /**\n     * Get download id for UM futures trade history\n     *\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     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Trade History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesTradeHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetDownloadIdForUmFuturesTradeHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Trade-History Binance API Documentation}\n     */\n    getDownloadIdForUmFuturesTradeHistory(\n        requestParameters: GetDownloadIdForUmFuturesTradeHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesTradeHistoryResponse>> {\n        return this.accountApi.getDownloadIdForUmFuturesTradeHistory(requestParameters);\n    }\n\n    /**\n     * Get download id for UM futures transaction history\n     *\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     * Weight: 1500\n     *\n     * @summary Get Download Id For UM Futures Transaction History (USER_DATA)\n     * @param {GetDownloadIdForUmFuturesTransactionHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetDownloadIdForUmFuturesTransactionHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Download-Id-For-UM-Futures-Transaction-History Binance API Documentation}\n     */\n    getDownloadIdForUmFuturesTransactionHistory(\n        requestParameters: GetDownloadIdForUmFuturesTransactionHistoryRequest\n    ): Promise<RestApiResponse<GetDownloadIdForUmFuturesTransactionHistoryResponse>> {\n        return this.accountApi.getDownloadIdForUmFuturesTransactionHistory(requestParameters);\n    }\n\n    /**\n     * Get Margin Borrow/Loan Interest History\n     *\n     *\n     * Response in descending order\n     * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n     * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n     * Type in response has 5 enums:\n     * `PERIODIC` interest charged per hour\n     * `ON_BORROW` first interest charged on borrow\n     * `PERIODIC_CONVERTED` interest charged per hour converted into BNB\n     * `ON_BORROW_CONVERTED` first interest charged on borrow converted into BNB\n     * `PORTFOLIO` Portfolio Margin negative balance daily interest\n     *\n     * Weight: 1\n     *\n     * @summary Get Margin Borrow/Loan Interest History(USER_DATA)\n     * @param {GetMarginBorrowLoanInterestHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetMarginBorrowLoanInterestHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-Margin-BorrowLoan-Interest-History Binance API Documentation}\n     */\n    getMarginBorrowLoanInterestHistory(\n        requestParameters: GetMarginBorrowLoanInterestHistoryRequest = {}\n    ): Promise<RestApiResponse<GetMarginBorrowLoanInterestHistoryResponse>> {\n        return this.accountApi.getMarginBorrowLoanInterestHistory(requestParameters);\n    }\n\n    /**\n     * Get current UM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get UM Account Detail(USER_DATA)\n     * @param {GetUmAccountDetailRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmAccountDetailResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Account-Detail Binance API Documentation}\n     */\n    getUmAccountDetail(\n        requestParameters: GetUmAccountDetailRequest = {}\n    ): Promise<RestApiResponse<GetUmAccountDetailResponse>> {\n        return this.accountApi.getUmAccountDetail(requestParameters);\n    }\n\n    /**\n     * Get current UM account asset and position information.\n     *\n     * Weight: 5\n     *\n     * @summary Get UM Account Detail V2(USER_DATA)\n     * @param {GetUmAccountDetailV2Request} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmAccountDetailV2Response>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Account-Detail-V2 Binance API Documentation}\n     */\n    getUmAccountDetailV2(\n        requestParameters: GetUmAccountDetailV2Request = {}\n    ): Promise<RestApiResponse<GetUmAccountDetailV2Response>> {\n        return this.accountApi.getUmAccountDetailV2(requestParameters);\n    }\n\n    /**\n     * Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol in UM\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Current Position Mode(USER_DATA)\n     * @param {GetUmCurrentPositionModeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmCurrentPositionModeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Current-Position-Mode Binance API Documentation}\n     */\n    getUmCurrentPositionMode(\n        requestParameters: GetUmCurrentPositionModeRequest = {}\n    ): Promise<RestApiResponse<GetUmCurrentPositionModeResponse>> {\n        return this.accountApi.getUmCurrentPositionMode(requestParameters);\n    }\n\n    /**\n     * Get UM futures order download link by Id\n     *\n     * Download link expiration: 24h\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Order Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesOrderDownloadLinkByIdRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmFuturesOrderDownloadLinkByIdResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Order-Download-Link-by-Id Binance API Documentation}\n     */\n    getUmFuturesOrderDownloadLinkById(\n        requestParameters: GetUmFuturesOrderDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesOrderDownloadLinkByIdResponse>> {\n        return this.accountApi.getUmFuturesOrderDownloadLinkById(requestParameters);\n    }\n\n    /**\n     * Get UM futures trade download link by Id\n     *\n     * Download link expiration: 24h\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Trade Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesTradeDownloadLinkByIdRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmFuturesTradeDownloadLinkByIdResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Trade-Download-Link-by-Id Binance API Documentation}\n     */\n    getUmFuturesTradeDownloadLinkById(\n        requestParameters: GetUmFuturesTradeDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesTradeDownloadLinkByIdResponse>> {\n        return this.accountApi.getUmFuturesTradeDownloadLinkById(requestParameters);\n    }\n\n    /**\n     * Get UM futures Transaction download link by Id\n     *\n     * Download link expiration: 24h\n     *\n     * Weight: 10\n     *\n     * @summary Get UM Futures Transaction Download Link by Id(USER_DATA)\n     * @param {GetUmFuturesTransactionDownloadLinkByIdRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmFuturesTransactionDownloadLinkByIdResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Transaction-Download-Link-by-Id Binance API Documentation}\n     */\n    getUmFuturesTransactionDownloadLinkById(\n        requestParameters: GetUmFuturesTransactionDownloadLinkByIdRequest\n    ): Promise<RestApiResponse<GetUmFuturesTransactionDownloadLinkByIdResponse>> {\n        return this.accountApi.getUmFuturesTransactionDownloadLinkById(requestParameters);\n    }\n\n    /**\n     * Get UM Income History\n     *\n     * If neither `startTime` nor `endTime` is sent, the recent 7-day data will be returned.\n     * If `incomeType` is not sent, all kinds of flow will be returned\n     * \"trandId\" is unique in the same incomeType for a user\n     * Income history only contains data for the last three months\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Income History(USER_DATA)\n     * @param {GetUmIncomeHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmIncomeHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Income-History Binance API Documentation}\n     */\n    getUmIncomeHistory(\n        requestParameters: GetUmIncomeHistoryRequest = {}\n    ): Promise<RestApiResponse<GetUmIncomeHistoryResponse>> {\n        return this.accountApi.getUmIncomeHistory(requestParameters);\n    }\n\n    /**\n     * Get User Commission Rate for CM\n     *\n     * Weight: 20\n     *\n     * @summary Get User Commission Rate for CM(USER_DATA)\n     * @param {GetUserCommissionRateForCmRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUserCommissionRateForCmResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-User-Commission-Rate-for-CM Binance API Documentation}\n     */\n    getUserCommissionRateForCm(\n        requestParameters: GetUserCommissionRateForCmRequest\n    ): Promise<RestApiResponse<GetUserCommissionRateForCmResponse>> {\n        return this.accountApi.getUserCommissionRateForCm(requestParameters);\n    }\n\n    /**\n     * Get User Commission Rate for UM\n     *\n     * Weight: 20\n     *\n     * @summary Get User Commission Rate for UM(USER_DATA)\n     * @param {GetUserCommissionRateForUmRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUserCommissionRateForUmResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-User-Commission-Rate-for-UM Binance API Documentation}\n     */\n    getUserCommissionRateForUm(\n        requestParameters: GetUserCommissionRateForUmRequest\n    ): Promise<RestApiResponse<GetUserCommissionRateForUmResponse>> {\n        return this.accountApi.getUserCommissionRateForUm(requestParameters);\n    }\n\n    /**\n     * Query margin max borrow\n     *\n     * Weight: 5\n     *\n     * @summary Margin Max Borrow(USER_DATA)\n     * @param {MarginMaxBorrowRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginMaxBorrowResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Margin-Max-Borrow Binance API Documentation}\n     */\n    marginMaxBorrow(\n        requestParameters: MarginMaxBorrowRequest\n    ): Promise<RestApiResponse<MarginMaxBorrowResponse>> {\n        return this.accountApi.marginMaxBorrow(requestParameters);\n    }\n\n    /**\n     * Portfolio Margin UM Trading Quantitative Rules Indicators\n     *\n     * Weight: 1 for a single symbol\n     * 10 when the symbol parameter is omitted\n     *\n     * @summary Portfolio Margin UM Trading Quantitative Rules Indicators(USER_DATA)\n     * @param {PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Portfolio-Margin-UM-Trading-Quantitative-Rules-Indicators Binance API Documentation}\n     */\n    portfolioMarginUmTradingQuantitativeRulesIndicators(\n        requestParameters: PortfolioMarginUmTradingQuantitativeRulesIndicatorsRequest = {}\n    ): Promise<RestApiResponse<PortfolioMarginUmTradingQuantitativeRulesIndicatorsResponse>> {\n        return this.accountApi.portfolioMarginUmTradingQuantitativeRulesIndicators(\n            requestParameters\n        );\n    }\n\n    /**\n     * Get current CM position information.\n     *\n     * If neither `marginAsset` nor `pair` is sent, positions of all symbols with `TRADING` status will be returned.\n     * for One-way Mode user, the response will only show the \"BOTH\" positions\n     * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n     * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Position Information(USER_DATA)\n     * @param {QueryCmPositionInformationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCmPositionInformationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-CM-Position-Information Binance API Documentation}\n     */\n    queryCmPositionInformation(\n        requestParameters: QueryCmPositionInformationRequest = {}\n    ): Promise<RestApiResponse<QueryCmPositionInformationResponse>> {\n        return this.accountApi.queryCmPositionInformation(requestParameters);\n    }\n\n    /**\n     * Query margin loan record\n     *\n     * txId or startTime must be sent. txId takes precedence.\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 30 days.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * Set `archived` to `true` to query data from 6 months ago\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin Loan Record(USER_DATA)\n     * @param {QueryMarginLoanRecordRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginLoanRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-Loan-Record Binance API Documentation}\n     */\n    queryMarginLoanRecord(\n        requestParameters: QueryMarginLoanRecordRequest\n    ): Promise<RestApiResponse<QueryMarginLoanRecordResponse>> {\n        return this.accountApi.queryMarginLoanRecord(requestParameters);\n    }\n\n    /**\n     * Query Margin Max Withdraw\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Max Withdraw(USER_DATA)\n     * @param {QueryMarginMaxWithdrawRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginMaxWithdrawResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-Max-Withdraw Binance API Documentation}\n     */\n    queryMarginMaxWithdraw(\n        requestParameters: QueryMarginMaxWithdrawRequest\n    ): Promise<RestApiResponse<QueryMarginMaxWithdrawResponse>> {\n        return this.accountApi.queryMarginMaxWithdraw(requestParameters);\n    }\n\n    /**\n     * Query margin repay record.\n     *\n     * txId or startTime must be sent. txId takes precedence.\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 30 days.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * Set `archived` to `true` to query data from 6 months ago\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin repay Record(USER_DATA)\n     * @param {QueryMarginRepayRecordRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginRepayRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Margin-repay-Record Binance API Documentation}\n     */\n    queryMarginRepayRecord(\n        requestParameters: QueryMarginRepayRecordRequest\n    ): Promise<RestApiResponse<QueryMarginRepayRecordResponse>> {\n        return this.accountApi.queryMarginRepayRecord(requestParameters);\n    }\n\n    /**\n     * Query interest history of negative balance for portfolio margin.\n     *\n     * Response in descending order\n     * The max interval between startTime and endTime is 30 days. It is a MUST to ensure data correctness.\n     * If `startTime` and `endTime` not sent, return records of the last 7 days by default\n     * If `startTime` is sent and `endTime` is not sent, the records from `startTime` to the present will be returned; if `startTime` is more than 30 days ago, the records of the past 30 days will be returned.\n     * If `startTime` is not sent and `endTime` is sent, the records of the 7 days before `endTime` is returned.\n     *\n     * Weight: 50\n     *\n     * @summary Query Portfolio Margin Negative Balance Interest History(USER_DATA)\n     * @param {QueryPortfolioMarginNegativeBalanceInterestHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryPortfolioMarginNegativeBalanceInterestHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-Portfolio-Margin-Negative-Balance-Interest-History Binance API Documentation}\n     */\n    queryPortfolioMarginNegativeBalanceInterestHistory(\n        requestParameters: QueryPortfolioMarginNegativeBalanceInterestHistoryRequest = {}\n    ): Promise<RestApiResponse<QueryPortfolioMarginNegativeBalanceInterestHistoryResponse>> {\n        return this.accountApi.queryPortfolioMarginNegativeBalanceInterestHistory(\n            requestParameters\n        );\n    }\n\n    /**\n     * Get current UM position information.\n     *\n     * Please use with user data stream `ACCOUNT_UPDATE` to meet your timeliness and accuracy needs.\n     * for One-way Mode user, the response will only show the \"BOTH\" positions\n     * for Hedge Mode user, the response will show \"LONG\", and \"SHORT\" positions.\n     *\n     * Weight: 5\n     *\n     * @summary Query UM Position Information(USER_DATA)\n     * @param {QueryUmPositionInformationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUmPositionInformationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-UM-Position-Information Binance API Documentation}\n     */\n    queryUmPositionInformation(\n        requestParameters: QueryUmPositionInformationRequest = {}\n    ): Promise<RestApiResponse<QueryUmPositionInformationResponse>> {\n        return this.accountApi.queryUmPositionInformation(requestParameters);\n    }\n\n    /**\n     * Query user negative balance auto exchange record\n     *\n     * Response in descending order\n     * The max interval between `startTime` and `endTime` is 3 months.\n     *\n     * Weight: 100\n     *\n     * @summary Query User Negative Balance Auto Exchange Record (USER_DATA)\n     * @param {QueryUserNegativeBalanceAutoExchangeRecordRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUserNegativeBalanceAutoExchangeRecordResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-User-Negative-Balance-Auto-Exchange-Record Binance API Documentation}\n     */\n    queryUserNegativeBalanceAutoExchangeRecord(\n        requestParameters: QueryUserNegativeBalanceAutoExchangeRecordRequest\n    ): Promise<RestApiResponse<QueryUserNegativeBalanceAutoExchangeRecordResponse>> {\n        return this.accountApi.queryUserNegativeBalanceAutoExchangeRecord(requestParameters);\n    }\n\n    /**\n     * Query User Rate Limit\n     *\n     * Weight: 1\n     *\n     * @summary Query User Rate Limit (USER_DATA)\n     * @param {QueryUserRateLimitRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUserRateLimitResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Query-User-Rate-Limit Binance API Documentation}\n     */\n    queryUserRateLimit(\n        requestParameters: QueryUserRateLimitRequest = {}\n    ): Promise<RestApiResponse<QueryUserRateLimitResponse>> {\n        return this.accountApi.queryUserRateLimit(requestParameters);\n    }\n\n    /**\n     * Repay futures Negative Balance\n     *\n     * Weight: 750\n     *\n     * @summary Repay futures Negative Balance(USER_DATA)\n     * @param {RepayFuturesNegativeBalanceRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Repay-futures-Negative-Balance Binance API Documentation}\n     */\n    repayFuturesNegativeBalance(\n        requestParameters: RepayFuturesNegativeBalanceRequest = {}\n    ): Promise<RestApiResponse<RepayFuturesNegativeBalanceResponse>> {\n        return this.accountApi.repayFuturesNegativeBalance(requestParameters);\n    }\n\n    /**\n     * Query UM Futures account configuration\n     *\n     * Weight: 5\n     *\n     * @summary UM Futures Account Configuration(USER_DATA)\n     * @param {UmFuturesAccountConfigurationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmFuturesAccountConfigurationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Account-Config Binance API Documentation}\n     */\n    umFuturesAccountConfiguration(\n        requestParameters: UmFuturesAccountConfigurationRequest = {}\n    ): Promise<RestApiResponse<UmFuturesAccountConfigurationResponse>> {\n        return this.accountApi.umFuturesAccountConfiguration(requestParameters);\n    }\n\n    /**\n     * Get current UM account symbol configuration.\n     *\n     * Weight: 5\n     *\n     * @summary UM Futures Symbol Configuration(USER_DATA)\n     * @param {UmFuturesSymbolConfigurationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmFuturesSymbolConfigurationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/Get-UM-Futures-Symbol-Config Binance API Documentation}\n     */\n    umFuturesSymbolConfiguration(\n        requestParameters: UmFuturesSymbolConfigurationRequest = {}\n    ): Promise<RestApiResponse<UmFuturesSymbolConfigurationResponse>> {\n        return this.accountApi.umFuturesSymbolConfiguration(requestParameters);\n    }\n\n    /**\n     * Query UM notional and leverage brackets\n     *\n     * Weight: 1\n     *\n     * @summary UM Notional and Leverage Brackets (USER_DATA)\n     * @param {UmNotionalAndLeverageBracketsRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmNotionalAndLeverageBracketsResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/account/UM-Notional-and-Leverage-Brackets Binance API Documentation}\n     */\n    umNotionalAndLeverageBrackets(\n        requestParameters: UmNotionalAndLeverageBracketsRequest = {}\n    ): Promise<RestApiResponse<UmNotionalAndLeverageBracketsResponse>> {\n        return this.accountApi.umNotionalAndLeverageBrackets(requestParameters);\n    }\n\n    /**\n     * Test connectivity to the Rest API.\n     *\n     * Weight: 1\n     *\n     * @summary Test Connectivity\n     * @returns {Promise<RestApiResponse<void>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/market-data/Test-Connectivity Binance API Documentation}\n     */\n    testConnectivity(): Promise<RestApiResponse<void>> {\n        return this.marketDataApi.testConnectivity();\n    }\n\n    /**\n     * Cancel All CM Open Conditional Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All CM Open Conditional Orders(TRADE)\n     * @param {CancelAllCmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelAllCmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Conditional-Orders Binance API Documentation}\n     */\n    cancelAllCmOpenConditionalOrders(\n        requestParameters: CancelAllCmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<CancelAllCmOpenConditionalOrdersResponse>> {\n        return this.tradeApi.cancelAllCmOpenConditionalOrders(requestParameters);\n    }\n\n    /**\n     * Cancel all active LIMIT orders on specific symbol\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All CM Open Orders(TRADE)\n     * @param {CancelAllCmOpenOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelAllCmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-CM-Open-Orders Binance API Documentation}\n     */\n    cancelAllCmOpenOrders(\n        requestParameters: CancelAllCmOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllCmOpenOrdersResponse>> {\n        return this.tradeApi.cancelAllCmOpenOrders(requestParameters);\n    }\n\n    /**\n     * Cancel All UM Open Conditional Orders\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Open Conditional Orders (TRADE)\n     * @param {CancelAllUmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelAllUmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Conditional-Orders Binance API Documentation}\n     */\n    cancelAllUmOpenConditionalOrders(\n        requestParameters: CancelAllUmOpenConditionalOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmOpenConditionalOrdersResponse>> {\n        return this.tradeApi.cancelAllUmOpenConditionalOrders(requestParameters);\n    }\n\n    /**\n     * Cancel all active LIMIT orders on specific symbol\n     *\n     * Weight: 1\n     *\n     * @summary Cancel All UM Open Orders(TRADE)\n     * @param {CancelAllUmOpenOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelAllUmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-All-UM-Open-Orders Binance API Documentation}\n     */\n    cancelAllUmOpenOrders(\n        requestParameters: CancelAllUmOpenOrdersRequest\n    ): Promise<RestApiResponse<CancelAllUmOpenOrdersResponse>> {\n        return this.tradeApi.cancelAllUmOpenOrders(requestParameters);\n    }\n\n    /**\n     * Cancel CM Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel CM Conditional Order(TRADE)\n     * @param {CancelCmConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelCmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Conditional-Order Binance API Documentation}\n     */\n    cancelCmConditionalOrder(\n        requestParameters: CancelCmConditionalOrderRequest\n    ): Promise<RestApiResponse<CancelCmConditionalOrderResponse>> {\n        return this.tradeApi.cancelCmConditionalOrder(requestParameters);\n    }\n\n    /**\n     * Cancel an active LIMIT order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel CM Order(TRADE)\n     * @param {CancelCmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-CM-Order Binance API Documentation}\n     */\n    cancelCmOrder(\n        requestParameters: CancelCmOrderRequest\n    ): Promise<RestApiResponse<CancelCmOrderResponse>> {\n        return this.tradeApi.cancelCmOrder(requestParameters);\n    }\n\n    /**\n     * Cancel Margin Account All Open Orders on a Symbol\n     *\n     * Weight: 5\n     *\n     * @summary Cancel Margin Account All Open Orders on a Symbol(TRADE)\n     * @param {CancelMarginAccountAllOpenOrdersOnASymbolRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelMarginAccountAllOpenOrdersOnASymbolResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-All-Open-Orders-on-a-Symbol Binance API Documentation}\n     */\n    cancelMarginAccountAllOpenOrdersOnASymbol(\n        requestParameters: CancelMarginAccountAllOpenOrdersOnASymbolRequest\n    ): Promise<RestApiResponse<CancelMarginAccountAllOpenOrdersOnASymbolResponse>> {\n        return this.tradeApi.cancelMarginAccountAllOpenOrdersOnASymbol(requestParameters);\n    }\n\n    /**\n     * Cancel Margin Account OCO Orders\n     *\n     * Additional notes: Canceling an individual leg will cancel the entire OCO\n     *\n     * Weight: 2\n     *\n     * @summary Cancel Margin Account OCO Orders(TRADE)\n     * @param {CancelMarginAccountOcoOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelMarginAccountOcoOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-OCO-Orders Binance API Documentation}\n     */\n    cancelMarginAccountOcoOrders(\n        requestParameters: CancelMarginAccountOcoOrdersRequest\n    ): Promise<RestApiResponse<CancelMarginAccountOcoOrdersResponse>> {\n        return this.tradeApi.cancelMarginAccountOcoOrders(requestParameters);\n    }\n\n    /**\n     * Cancel Margin Account Order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 2\n     *\n     * @summary Cancel Margin Account Order(TRADE)\n     * @param {CancelMarginAccountOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelMarginAccountOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-Margin-Account-Order Binance API Documentation}\n     */\n    cancelMarginAccountOrder(\n        requestParameters: CancelMarginAccountOrderRequest\n    ): Promise<RestApiResponse<CancelMarginAccountOrderResponse>> {\n        return this.tradeApi.cancelMarginAccountOrder(requestParameters);\n    }\n\n    /**\n     * Cancel UM Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Conditional Order(TRADE)\n     * @param {CancelUmConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelUmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Conditional-Order Binance API Documentation}\n     */\n    cancelUmConditionalOrder(\n        requestParameters: CancelUmConditionalOrderRequest\n    ): Promise<RestApiResponse<CancelUmConditionalOrderResponse>> {\n        return this.tradeApi.cancelUmConditionalOrder(requestParameters);\n    }\n\n    /**\n     * Cancel an active UM LIMIT order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     *\n     * Weight: 1\n     *\n     * @summary Cancel UM Order(TRADE)\n     * @param {CancelUmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CancelUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Cancel-UM-Order Binance API Documentation}\n     */\n    cancelUmOrder(\n        requestParameters: CancelUmOrderRequest\n    ): Promise<RestApiResponse<CancelUmOrderResponse>> {\n        return this.tradeApi.cancelUmOrder(requestParameters);\n    }\n\n    /**\n     * Get trades for a specific account and CM symbol.\n     *\n     * Either `symbol` or `pair` must be sent\n     * `symbol` and `pair` cannot be sent together\n     * `pair` and `fromId` cannot be sent together\n     * `OrderId` can only be sent together with symbol\n     * If a `pair` is sent, tickers for all symbols of the `pair` will be returned\n     * The parameter `fromId` cannot be sent with `startTime` or `endTime`\n     *\n     * Weight: 20 with symbol, 40 with pair\n     *\n     * @summary CM Account Trade List(USER_DATA)\n     * @param {CmAccountTradeListRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CmAccountTradeListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Account-Trade-List Binance API Documentation}\n     */\n    cmAccountTradeList(\n        requestParameters: CmAccountTradeListRequest = {}\n    ): Promise<RestApiResponse<CmAccountTradeListResponse>> {\n        return this.tradeApi.cmAccountTradeList(requestParameters);\n    }\n\n    /**\n     * Query CM Position ADL Quantile Estimation\n     * Values update every 30s.\n     * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n     * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n     * If the positions of the symbol are crossed margined in Hedge Mode:\n     * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n     * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n     *\n     * Weight: 5\n     *\n     * @summary CM Position ADL Quantile Estimation(USER_DATA)\n     * @param {CmPositionAdlQuantileEstimationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<CmPositionAdlQuantileEstimationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/CM-Position-ADL-Quantile-Estimation Binance API Documentation}\n     */\n    cmPositionAdlQuantileEstimation(\n        requestParameters: CmPositionAdlQuantileEstimationRequest = {}\n    ): Promise<RestApiResponse<CmPositionAdlQuantileEstimationResponse>> {\n        return this.tradeApi.cmPositionAdlQuantileEstimation(requestParameters);\n    }\n\n    /**\n     * Get user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off )\n     *\n     * Weight: 30\n     *\n     * @summary Get UM Futures BNB Burn Status (USER_DATA)\n     * @param {GetUmFuturesBnbBurnStatusRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<GetUmFuturesBnbBurnStatusResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Get-UM-Futures-BNB-Burn-Status Binance API Documentation}\n     */\n    getUmFuturesBnbBurnStatus(\n        requestParameters: GetUmFuturesBnbBurnStatusRequest = {}\n    ): Promise<RestApiResponse<GetUmFuturesBnbBurnStatusResponse>> {\n        return this.tradeApi.getUmFuturesBnbBurnStatus(requestParameters);\n    }\n\n    /**\n     * Apply for a margin loan.\n     *\n     * Weight: 100\n     *\n     * @summary Margin Account Borrow(MARGIN)\n     * @param {MarginAccountBorrowRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountBorrowResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Borrow Binance API Documentation}\n     */\n    marginAccountBorrow(\n        requestParameters: MarginAccountBorrowRequest\n    ): Promise<RestApiResponse<MarginAccountBorrowResponse>> {\n        return this.tradeApi.marginAccountBorrow(requestParameters);\n    }\n\n    /**\n     * Send in a new OCO for a margin account\n     *\n     * Price Restrictions:\n     * `SELL`: Limit Price > Last Price > Stop Price\n     * `BUY`: Limit Price < Last Price < Stop Price\n     * Quantity Restrictions:\n     * Both legs must have the same quantity\n     * `ICEBERG` quantities however do not have to be the same.\n     * Order Rate Limit\n     * `OCO` counts as 2 orders against the order rate limit.\n     *\n     * Weight: 1\n     *\n     * @summary Margin Account New OCO(TRADE)\n     * @param {MarginAccountNewOcoRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountNewOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-New-OCO Binance API Documentation}\n     */\n    marginAccountNewOco(\n        requestParameters: MarginAccountNewOcoRequest\n    ): Promise<RestApiResponse<MarginAccountNewOcoResponse>> {\n        return this.tradeApi.marginAccountNewOco(requestParameters);\n    }\n\n    /**\n     * Repay for a margin loan.\n     *\n     * Weight: 100\n     *\n     * @summary Margin Account Repay(MARGIN)\n     * @param {MarginAccountRepayRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountRepayResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay Binance API Documentation}\n     */\n    marginAccountRepay(\n        requestParameters: MarginAccountRepayRequest\n    ): Promise<RestApiResponse<MarginAccountRepayResponse>> {\n        return this.tradeApi.marginAccountRepay(requestParameters);\n    }\n\n    /**\n     * Repay debt for a margin loan.\n     *\n     * The repay asset amount cannot exceed 50000 USD equivalent value for a single request.\n     * If `amount` is not sent, all the asset loan will be repaid if having enough specific repay assets.\n     * If `amount` is sent, only the certain amount of the asset loan will be repaid if having enough specific repay assets.\n     * The system will use the same asset to repay the loan first (if have) no matter whether put the asset in `specifyRepayAssets`\n     *\n     * Weight: 3000\n     *\n     * @summary Margin Account Repay Debt(TRADE)\n     * @param {MarginAccountRepayDebtRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountRepayDebtResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Repay-Debt Binance API Documentation}\n     */\n    marginAccountRepayDebt(\n        requestParameters: MarginAccountRepayDebtRequest\n    ): Promise<RestApiResponse<MarginAccountRepayDebtResponse>> {\n        return this.tradeApi.marginAccountRepayDebt(requestParameters);\n    }\n\n    /**\n     * Margin Account Trade List\n     *\n     * Weight: 5\n     *\n     * @summary Margin Account Trade List (USER_DATA)\n     * @param {MarginAccountTradeListRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<MarginAccountTradeListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Margin-Account-Trade-List Binance API Documentation}\n     */\n    marginAccountTradeList(\n        requestParameters: MarginAccountTradeListRequest\n    ): Promise<RestApiResponse<MarginAccountTradeListResponse>> {\n        return this.tradeApi.marginAccountTradeList(requestParameters);\n    }\n\n    /**\n     * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     * Both `quantity` and `price` must be sent\n     * When the new `quantity` or `price` doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n     * However the order will be cancelled by the amendment in the following situations:\n     * when the order is in partially filled status and the new `quantity` <= `executedQty`\n     * When the order is `GTX` and the new price will cause it to be executed immediately\n     *\n     * Weight: 1\n     *\n     * @summary Modify CM Order(TRADE)\n     * @param {ModifyCmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ModifyCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-CM-Order Binance API Documentation}\n     */\n    modifyCmOrder(\n        requestParameters: ModifyCmOrderRequest\n    ): Promise<RestApiResponse<ModifyCmOrderResponse>> {\n        return this.tradeApi.modifyCmOrder(requestParameters);\n    }\n\n    /**\n     * Order modify function, currently only LIMIT order modification is supported, modified orders will be reordered in the match queue\n     *\n     * Either orderId or origClientOrderId must be sent, and the orderId will prevail if both are sent.\n     * Both quantity and price must be sent\n     * When the new quantity or price doesn't satisfy PRICE_FILTER / PERCENT_FILTER / LOT_SIZE, amendment will be rejected and the order will stay as it is.\n     * However the order will be cancelled by the amendment in the following situations:\n     * when the order is in partially filled status and the new quantity <= executedQty\n     * When the order is GTX and the new price will cause it to be executed immediately\n     *\n     * Weight: 1\n     *\n     * @summary Modify UM Order(TRADE)\n     * @param {ModifyUmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ModifyUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Modify-UM-Order Binance API Documentation}\n     */\n    modifyUmOrder(\n        requestParameters: ModifyUmOrderRequest\n    ): Promise<RestApiResponse<ModifyUmOrderResponse>> {\n        return this.tradeApi.modifyUmOrder(requestParameters);\n    }\n\n    /**\n     * New CM Conditional Order\n     *\n     * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     * `STOP`, `STOP_MARKET`:\n     * BUY: \"MARK_PRICE\"  >= `stopPrice`\n     * SELL: \"MARK_PRICE\" <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: \"MARK_PRICE\" <= `stopPrice`\n     * SELL: \"MARK_PRICE\" >= `stopPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n     * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n     * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n     * BUY: `activationPrice` should be smaller than latest mark price.\n     * SELL: `activationPrice` should be larger than latest mark price.\n     * Condition orders will be triggered when:\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     *\n     * Weight: 1\n     *\n     * @summary New CM Conditional Order(TRADE)\n     * @param {NewCmConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewCmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Conditional-Order Binance API Documentation}\n     */\n    newCmConditionalOrder(\n        requestParameters: NewCmConditionalOrderRequest\n    ): Promise<RestApiResponse<NewCmConditionalOrderResponse>> {\n        return this.tradeApi.newCmConditionalOrder(requestParameters);\n    }\n\n    /**\n     * Place new CM order\n     *\n     * If `newOrderRespType` is sent as `RESULT` :\n     * `MARKET` order: the final FILLED result of the order will be return directly.\n     * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n     *\n     * Weight: 1\n     *\n     * @summary New CM Order(TRADE)\n     * @param {NewCmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-CM-Order Binance API Documentation}\n     */\n    newCmOrder(requestParameters: NewCmOrderRequest): Promise<RestApiResponse<NewCmOrderResponse>> {\n        return this.tradeApi.newCmOrder(requestParameters);\n    }\n\n    /**\n     * New Margin Order\n     *\n     * Weight: 1\n     *\n     * @summary New Margin Order(TRADE)\n     * @param {NewMarginOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewMarginOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-Margin-Order Binance API Documentation}\n     */\n    newMarginOrder(\n        requestParameters: NewMarginOrderRequest\n    ): Promise<RestApiResponse<NewMarginOrderResponse>> {\n        return this.tradeApi.newMarginOrder(requestParameters);\n    }\n\n    /**\n     * Place new UM conditional order\n     *\n     * Order with type `STOP/TAKE_PROFIT`, parameter `timeInForce` can be sent ( default `GTC`).\n     * Condition orders will be triggered when:\n     * `STOP`, `STOP_MARKET`:\n     * BUY: \"MARK_PRICE\"  >= `stopPrice`\n     * SELL: \"MARK_PRICE\" <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: \"MARK_PRICE\" <= `stopPrice`\n     * SELL: \"MARK_PRICE\" >= `stopPrice`\n     * `TRAILING_STOP_MARKET`:\n     * BUY: the lowest mark price after order placed `<= `activationPrice`, and the latest mark price >`= the lowest mark price * (1 + `callbackRate`)\n     * SELL: the highest mark price after order placed >= `activationPrice`, and the latest mark price <= the highest mark price * (1 - `callbackRate`)\n     * For `TRAILING_STOP_MARKET`, if you got such error code. `{\"code\": -2021, \"msg\": \"Order would immediately trigger.\"}` means that the parameters you send do not meet the following requirements:\n     * BUY: `activationPrice` should be smaller than latest mark price.\n     * SELL: `activationPrice` should be larger than latest mark price.\n     * Condition orders will be triggered when:\n     * If parameter`priceProtect`is sent as true:\n     * when price reaches the `stopPrice` ，the difference rate between \"MARK_PRICE\" and \"CONTRACT_PRICE\" cannot be larger than the \"triggerProtect\" of the symbol\n     * \"triggerProtect\" of a symbol can be got from `GET /fapi/v1/exchangeInfo`\n     * `STOP`, `STOP_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * `TAKE_PROFIT`, `TAKE_PROFIT_MARKET`:\n     * BUY: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") <= `stopPrice`\n     * SELL: latest price (\"MARK_PRICE\" or \"CONTRACT_PRICE\") >= `stopPrice`\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n     *\n     * Weight: 1\n     *\n     * @summary New UM Conditional Order (TRADE)\n     * @param {NewUmConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewUmConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Conditional-Order Binance API Documentation}\n     */\n    newUmConditionalOrder(\n        requestParameters: NewUmConditionalOrderRequest\n    ): Promise<RestApiResponse<NewUmConditionalOrderResponse>> {\n        return this.tradeApi.newUmConditionalOrder(requestParameters);\n    }\n\n    /**\n     * Place new UM order\n     *\n     * If `newOrderRespType` is sent as `RESULT` :\n     * `MARKET` order: the final FILLED result of the order will be return directly.\n     * `LIMIT` order with special `timeInForce`: the final status result of the order(FILLED or EXPIRED) will be returned directly.\n     * `selfTradePreventionMode` is only effective when `timeInForce` set to `IOC` or `GTC` or `GTD`.\n     * In extreme market conditions, timeInForce `GTD` order auto cancel time might be delayed comparing to `goodTillDate`\n     *\n     * Weight: 1\n     *\n     * @summary New UM Order (TRADE)\n     * @param {NewUmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<NewUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/New-UM-Order Binance API Documentation}\n     */\n    newUmOrder(requestParameters: NewUmOrderRequest): Promise<RestApiResponse<NewUmOrderResponse>> {\n        return this.tradeApi.newUmOrder(requestParameters);\n    }\n\n    /**\n     * Query All CM Conditional Orders\n     *\n     * These orders will not be found:\n     * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     * The query time period must be less than 7 days( default as the recent 7 days).\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All CM Conditional Orders(USER_DATA)\n     * @param {QueryAllCmConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCmConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Conditional-Orders Binance API Documentation}\n     */\n    queryAllCmConditionalOrders(\n        requestParameters: QueryAllCmConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCmConditionalOrdersResponse>> {\n        return this.tradeApi.queryAllCmConditionalOrders(requestParameters);\n    }\n\n    /**\n     * Get all account CM orders; active, canceled, or filled.\n     *\n     * Either `symbol` or `pair` must be sent.\n     * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 20 with symbol, 40 with pair\n     *\n     * @summary Query All CM Orders (USER_DATA)\n     * @param {QueryAllCmOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCmOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-CM-Orders Binance API Documentation}\n     */\n    queryAllCmOrders(\n        requestParameters: QueryAllCmOrdersRequest\n    ): Promise<RestApiResponse<QueryAllCmOrdersResponse>> {\n        return this.tradeApi.queryAllCmOrders(requestParameters);\n    }\n\n    /**\n     * Get all open conditional orders on a symbol. **Careful** when accessing this with no symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All Current CM Open Conditional Orders (USER_DATA)\n     * @param {QueryAllCurrentCmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCurrentCmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Conditional-Orders Binance API Documentation}\n     */\n    queryAllCurrentCmOpenConditionalOrders(\n        requestParameters: QueryAllCurrentCmOpenConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentCmOpenConditionalOrdersResponse>> {\n        return this.tradeApi.queryAllCurrentCmOpenConditionalOrders(requestParameters);\n    }\n\n    /**\n     * Get all open orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current CM Open Orders(USER_DATA)\n     * @param {QueryAllCurrentCmOpenOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCurrentCmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-CM-Open-Orders Binance API Documentation}\n     */\n    queryAllCurrentCmOpenOrders(\n        requestParameters: QueryAllCurrentCmOpenOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentCmOpenOrdersResponse>> {\n        return this.tradeApi.queryAllCurrentCmOpenOrders(requestParameters);\n    }\n\n    /**\n     * Get all open conditional orders on a symbol.\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     * Careful when accessing this with no symbol.\n     *\n     * @summary Query All Current UM Open Conditional Orders(USER_DATA)\n     * @param {QueryAllCurrentUmOpenConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCurrentUmOpenConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Conditional-Orders Binance API Documentation}\n     */\n    queryAllCurrentUmOpenConditionalOrders(\n        requestParameters: QueryAllCurrentUmOpenConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenConditionalOrdersResponse>> {\n        return this.tradeApi.queryAllCurrentUmOpenConditionalOrders(requestParameters);\n    }\n\n    /**\n     * Get all open orders on a symbol.\n     *\n     *\n     * If the symbol is not sent, orders for all symbols will be returned in an array.\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All Current UM Open Orders(USER_DATA)\n     * @param {QueryAllCurrentUmOpenOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllCurrentUmOpenOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Current-UM-Open-Orders Binance API Documentation}\n     */\n    queryAllCurrentUmOpenOrders(\n        requestParameters: QueryAllCurrentUmOpenOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllCurrentUmOpenOrdersResponse>> {\n        return this.tradeApi.queryAllCurrentUmOpenOrders(requestParameters);\n    }\n\n    /**\n     * Query All Margin Account Orders\n     *\n     * Weight: 100\n     *\n     * @summary Query All Margin Account Orders (USER_DATA)\n     * @param {QueryAllMarginAccountOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllMarginAccountOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-Margin-Account-Orders Binance API Documentation}\n     */\n    queryAllMarginAccountOrders(\n        requestParameters: QueryAllMarginAccountOrdersRequest\n    ): Promise<RestApiResponse<QueryAllMarginAccountOrdersResponse>> {\n        return this.tradeApi.queryAllMarginAccountOrders(requestParameters);\n    }\n\n    /**\n     * Query All UM Conditional Orders\n     *\n     * These orders will not be found:\n     * order strategyStatus is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     * The query time period must be less than 7 days( default as the recent 7 days).\n     *\n     * Weight: 1 for a single symbol; 40 when the symbol parameter is omitted\n     *\n     * @summary Query All UM Conditional Orders(USER_DATA)\n     * @param {QueryAllUmConditionalOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllUmConditionalOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Conditional-Orders Binance API Documentation}\n     */\n    queryAllUmConditionalOrders(\n        requestParameters: QueryAllUmConditionalOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryAllUmConditionalOrdersResponse>> {\n        return this.tradeApi.queryAllUmConditionalOrders(requestParameters);\n    }\n\n    /**\n     * Get all account UM orders; active, canceled, or filled.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * If `orderId` is set, it will get orders >= that orderId. Otherwise most recent orders are returned.\n     * The query time period must be less then 7 days( default as the recent 7 days).\n     *\n     * Weight: 5\n     *\n     * @summary Query All UM Orders(USER_DATA)\n     * @param {QueryAllUmOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryAllUmOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-All-UM-Orders Binance API Documentation}\n     */\n    queryAllUmOrders(\n        requestParameters: QueryAllUmOrdersRequest\n    ): Promise<RestApiResponse<QueryAllUmOrdersResponse>> {\n        return this.tradeApi.queryAllUmOrders(requestParameters);\n    }\n\n    /**\n     * Query CM Conditional Order History\n     *\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * `NEW` orders will not be found.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Conditional Order History(USER_DATA)\n     * @param {QueryCmConditionalOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCmConditionalOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Conditional-Order-History Binance API Documentation}\n     */\n    queryCmConditionalOrderHistory(\n        requestParameters: QueryCmConditionalOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryCmConditionalOrderHistoryResponse>> {\n        return this.tradeApi.queryCmConditionalOrderHistory(requestParameters);\n    }\n\n    /**\n     * Get order modification history\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Modify Order History(TRADE)\n     * @param {QueryCmModifyOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCmModifyOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Modify-Order-History Binance API Documentation}\n     */\n    queryCmModifyOrderHistory(\n        requestParameters: QueryCmModifyOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryCmModifyOrderHistoryResponse>> {\n        return this.tradeApi.queryCmModifyOrderHistory(requestParameters);\n    }\n\n    /**\n     * Check an CM order's status.\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query CM Order(USER_DATA)\n     * @param {QueryCmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-CM-Order Binance API Documentation}\n     */\n    queryCmOrder(\n        requestParameters: QueryCmOrderRequest\n    ): Promise<RestApiResponse<QueryCmOrderResponse>> {\n        return this.tradeApi.queryCmOrder(requestParameters);\n    }\n\n    /**\n     * Query Current CM Open Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * If the queried order has been triggered, cancelled or expired, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current CM Open Conditional Order(USER_DATA)\n     * @param {QueryCurrentCmOpenConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentCmOpenConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Conditional-Order Binance API Documentation}\n     */\n    queryCurrentCmOpenConditionalOrder(\n        requestParameters: QueryCurrentCmOpenConditionalOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentCmOpenConditionalOrderResponse>> {\n        return this.tradeApi.queryCurrentCmOpenConditionalOrder(requestParameters);\n    }\n\n    /**\n     * Query current CM open order\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current CM Open Order (USER_DATA)\n     * @param {QueryCurrentCmOpenOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentCmOpenOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-CM-Open-Order Binance API Documentation}\n     */\n    queryCurrentCmOpenOrder(\n        requestParameters: QueryCurrentCmOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentCmOpenOrderResponse>> {\n        return this.tradeApi.queryCurrentCmOpenOrder(requestParameters);\n    }\n\n    /**\n     * Query Current Margin Open Order\n     *\n     * Weight: 5\n     *\n     * @summary Query Current Margin Open Order (USER_DATA)\n     * @param {QueryCurrentMarginOpenOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentMarginOpenOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-Margin-Open-Order Binance API Documentation}\n     */\n    queryCurrentMarginOpenOrder(\n        requestParameters: QueryCurrentMarginOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentMarginOpenOrderResponse>> {\n        return this.tradeApi.queryCurrentMarginOpenOrder(requestParameters);\n    }\n\n    /**\n     * Query Current UM Open Conditional Order\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * If the queried order has been `CANCELED`, `TRIGGERED`或`EXPIRED`, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Conditional Order(USER_DATA)\n     * @param {QueryCurrentUmOpenConditionalOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentUmOpenConditionalOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Conditional-Order Binance API Documentation}\n     */\n    queryCurrentUmOpenConditionalOrder(\n        requestParameters: QueryCurrentUmOpenConditionalOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentUmOpenConditionalOrderResponse>> {\n        return this.tradeApi.queryCurrentUmOpenConditionalOrder(requestParameters);\n    }\n\n    /**\n     * Query current UM open order\n     *\n     *\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * If the queried order has been filled or cancelled, the error message \"Order does not exist\" will be returned.\n     *\n     * Weight: 1\n     *\n     * @summary Query Current UM Open Order(USER_DATA)\n     * @param {QueryCurrentUmOpenOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryCurrentUmOpenOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Current-UM-Open-Order Binance API Documentation}\n     */\n    queryCurrentUmOpenOrder(\n        requestParameters: QueryCurrentUmOpenOrderRequest\n    ): Promise<RestApiResponse<QueryCurrentUmOpenOrderResponse>> {\n        return this.tradeApi.queryCurrentUmOpenOrder(requestParameters);\n    }\n\n    /**\n     * Query Margin Account Order\n     *\n     * Weight: 10\n     *\n     * @summary Query Margin Account Order (USER_DATA)\n     * @param {QueryMarginAccountOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginAccountOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Order Binance API Documentation}\n     */\n    queryMarginAccountOrder(\n        requestParameters: QueryMarginAccountOrderRequest\n    ): Promise<RestApiResponse<QueryMarginAccountOrderResponse>> {\n        return this.tradeApi.queryMarginAccountOrder(requestParameters);\n    }\n\n    /**\n     * Query all OCO for a specific margin account based on provided optional parameters\n     *\n     * Weight: 100\n     *\n     * @summary Query Margin Account\\'s all OCO (USER_DATA)\n     * @param {QueryMarginAccountsAllOcoRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginAccountsAllOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-all-OCO Binance API Documentation}\n     */\n    queryMarginAccountsAllOco(\n        requestParameters: QueryMarginAccountsAllOcoRequest = {}\n    ): Promise<RestApiResponse<QueryMarginAccountsAllOcoResponse>> {\n        return this.tradeApi.queryMarginAccountsAllOco(requestParameters);\n    }\n\n    /**\n     * Retrieves a specific OCO based on provided optional parameters\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Account\\'s OCO (USER_DATA)\n     * @param {QueryMarginAccountsOcoRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginAccountsOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-OCO Binance API Documentation}\n     */\n    queryMarginAccountsOco(\n        requestParameters: QueryMarginAccountsOcoRequest = {}\n    ): Promise<RestApiResponse<QueryMarginAccountsOcoResponse>> {\n        return this.tradeApi.queryMarginAccountsOco(requestParameters);\n    }\n\n    /**\n     * Query Margin Account's Open OCO\n     *\n     * Weight: 5\n     *\n     * @summary Query Margin Account\\'s Open OCO (USER_DATA)\n     * @param {QueryMarginAccountsOpenOcoRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryMarginAccountsOpenOcoResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Margin-Account-Open-OCO Binance API Documentation}\n     */\n    queryMarginAccountsOpenOco(\n        requestParameters: QueryMarginAccountsOpenOcoRequest = {}\n    ): Promise<RestApiResponse<QueryMarginAccountsOpenOcoResponse>> {\n        return this.tradeApi.queryMarginAccountsOpenOco(requestParameters);\n    }\n\n    /**\n     * Query UM Conditional Order History\n     *\n     * Either `strategyId` or `newClientStrategyId` must be sent.\n     * `NEW` orders will not be found.\n     * These orders will not be found:\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 7 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Conditional Order History(USER_DATA)\n     * @param {QueryUmConditionalOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUmConditionalOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Conditional-Order-History Binance API Documentation}\n     */\n    queryUmConditionalOrderHistory(\n        requestParameters: QueryUmConditionalOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmConditionalOrderHistoryResponse>> {\n        return this.tradeApi.queryUmConditionalOrderHistory(requestParameters);\n    }\n\n    /**\n     * Get order modification history\n     *\n     * Either `orderId` or `origClientOrderId` must be sent, and the `orderId` will prevail if both are sent.\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Modify Order History(TRADE)\n     * @param {QueryUmModifyOrderHistoryRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUmModifyOrderHistoryResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Modify-Order-History Binance API Documentation}\n     */\n    queryUmModifyOrderHistory(\n        requestParameters: QueryUmModifyOrderHistoryRequest\n    ): Promise<RestApiResponse<QueryUmModifyOrderHistoryResponse>> {\n        return this.tradeApi.queryUmModifyOrderHistory(requestParameters);\n    }\n\n    /**\n     * Check an UM order's status.\n     *\n     * These orders will not be found:\n     * Either `orderId` or `origClientOrderId` must be sent.\n     * order status is `CANCELED` or `EXPIRED`, **AND**\n     * order has NO filled trade, **AND**\n     * created time + 3 days < current time\n     *\n     * Weight: 1\n     *\n     * @summary Query UM Order (USER_DATA)\n     * @param {QueryUmOrderRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUmOrderResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-UM-Order Binance API Documentation}\n     */\n    queryUmOrder(\n        requestParameters: QueryUmOrderRequest\n    ): Promise<RestApiResponse<QueryUmOrderResponse>> {\n        return this.tradeApi.queryUmOrder(requestParameters);\n    }\n\n    /**\n     * Query User's CM Force Orders\n     *\n     * If \"autoCloseType\" is not sent, orders with both of the types will be returned\n     * If \"startTime\" is not sent, data within 7 days before \"endTime\" can be queried\n     *\n     * Weight: 20 with symbol, 50 without symbol\n     *\n     * @summary Query User\\'s CM Force Orders(USER_DATA)\n     * @param {QueryUsersCmForceOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUsersCmForceOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-CM-Force-Orders Binance API Documentation}\n     */\n    queryUsersCmForceOrders(\n        requestParameters: QueryUsersCmForceOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryUsersCmForceOrdersResponse>> {\n        return this.tradeApi.queryUsersCmForceOrders(requestParameters);\n    }\n\n    /**\n     * Query user's margin force orders\n     *\n     * Weight: 1\n     *\n     * @summary Query User\\'s Margin Force Orders(USER_DATA)\n     * @param {QueryUsersMarginForceOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUsersMarginForceOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-Margin-Force-Orders Binance API Documentation}\n     */\n    queryUsersMarginForceOrders(\n        requestParameters: QueryUsersMarginForceOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryUsersMarginForceOrdersResponse>> {\n        return this.tradeApi.queryUsersMarginForceOrders(requestParameters);\n    }\n\n    /**\n     * Query User's UM Force Orders\n     *\n     * If `autoCloseType` is not sent, orders with both of the types will be returned\n     * If `startTime` is not sent, data within 7 days before `endTime` can be queried\n     *\n     * Weight: 20 with symbol, 50 without symbol\n     *\n     * @summary Query User\\'s UM Force Orders (USER_DATA)\n     * @param {QueryUsersUmForceOrdersRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<QueryUsersUmForceOrdersResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Query-Users-UM-Force-Orders Binance API Documentation}\n     */\n    queryUsersUmForceOrders(\n        requestParameters: QueryUsersUmForceOrdersRequest = {}\n    ): Promise<RestApiResponse<QueryUsersUmForceOrdersResponse>> {\n        return this.tradeApi.queryUsersUmForceOrders(requestParameters);\n    }\n\n    /**\n     * Change user's BNB Fee Discount for UM Futures (Fee Discount On or Fee Discount Off ) on ***EVERY symbol***\n     *\n     *\n     * The BNB would not be collected from UM-PM account to the Portfolio Margin account.\n     *\n     * Weight: 1\n     *\n     * @summary Toggle BNB Burn On UM Futures Trade (TRADE)\n     * @param {ToggleBnbBurnOnUmFuturesTradeRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<ToggleBnbBurnOnUmFuturesTradeResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/Toggle-BNB-Burn-On-UM-Futures-Trade Binance API Documentation}\n     */\n    toggleBnbBurnOnUmFuturesTrade(\n        requestParameters: ToggleBnbBurnOnUmFuturesTradeRequest\n    ): Promise<RestApiResponse<ToggleBnbBurnOnUmFuturesTradeResponse>> {\n        return this.tradeApi.toggleBnbBurnOnUmFuturesTrade(requestParameters);\n    }\n\n    /**\n     * Get trades for a specific account and UM symbol.\n     *\n     *\n     * If `startTime` and `endTime` are both not sent, then the last '24 hours' data will be returned.\n     * The time between `startTime` and `endTime` cannot be longer than 24 hours.\n     * The parameter `fromId` cannot be sent with `startTime` or `endTime`.\n     *\n     * Weight: 5\n     *\n     * @summary UM Account Trade List(USER_DATA)\n     * @param {UmAccountTradeListRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmAccountTradeListResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Account-Trade-List Binance API Documentation}\n     */\n    umAccountTradeList(\n        requestParameters: UmAccountTradeListRequest\n    ): Promise<RestApiResponse<UmAccountTradeListResponse>> {\n        return this.tradeApi.umAccountTradeList(requestParameters);\n    }\n\n    /**\n     * Query UM Position ADL Quantile Estimation\n     *\n     * Values update every 30s.\n     * Values 0, 1, 2, 3, 4 shows the queue position and possibility of ADL from low to high.\n     * For positions of the symbol are in One-way Mode or isolated margined in Hedge Mode, \"LONG\", \"SHORT\", and \"BOTH\" will be returned to show the positions' adl quantiles of different position sides.\n     * If the positions of the symbol are crossed margined in Hedge Mode:\n     * \"HEDGE\" as a sign will be returned instead of \"BOTH\";\n     * A same value caculated on unrealized pnls on long and short sides' positions will be shown for \"LONG\" and \"SHORT\" when there are positions in both of long and short sides.\n     *\n     * Weight: 5\n     *\n     * @summary UM Position ADL Quantile Estimation(USER_DATA)\n     * @param {UmPositionAdlQuantileEstimationRequest} requestParameters Request parameters.\n     * @returns {Promise<RestApiResponse<UmPositionAdlQuantileEstimationResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/trade/UM-Position-ADL-Quantile-Estimation Binance API Documentation}\n     */\n    umPositionAdlQuantileEstimation(\n        requestParameters: UmPositionAdlQuantileEstimationRequest = {}\n    ): Promise<RestApiResponse<UmPositionAdlQuantileEstimationResponse>> {\n        return this.tradeApi.umPositionAdlQuantileEstimation(requestParameters);\n    }\n\n    /**\n     * Close out a user data stream.\n     *\n     * Weight: 1\n     *\n     * @summary Close User Data Stream(USER_STREAM)\n     * @returns {Promise<RestApiResponse<void>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Close-User-Data-Stream Binance API Documentation}\n     */\n    closeUserDataStream(): Promise<RestApiResponse<void>> {\n        return this.userDataStreamsApi.closeUserDataStream();\n    }\n\n    /**\n     * Keepalive a user data stream to prevent a time out. 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     * @summary Keepalive User Data Stream (USER_STREAM)\n     * @returns {Promise<RestApiResponse<void>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Keepalive-User-Data-Stream Binance API Documentation}\n     */\n    keepaliveUserDataStream(): Promise<RestApiResponse<void>> {\n        return this.userDataStreamsApi.keepaliveUserDataStream();\n    }\n\n    /**\n     * Start a new user data stream. The stream will close after 60 minutes unless a keepalive is sent. 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     * @summary Start User Data Stream(USER_STREAM)\n     * @returns {Promise<RestApiResponse<StartUserDataStreamResponse>>}\n     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}\n     * @see {@link https://developers.binance.com/docs/derivatives/portfolio-margin/user-data-streams/Start-User-Data-Stream Binance API Documentation}\n     */\n    startUserDataStream(): Promise<RestApiResponse<StartUserDataStreamResponse>> {\n        return this.userDataStreamsApi.startUserDataStream();\n    }\n}\n","export {\n    DerivativesTradingPortfolioMargin,\n    ConfigurationDerivativesTradingPortfolioMargin,\n} from './derivatives-trading-portfolio-margin';\nexport * as DerivativesTradingPortfolioMarginRestAPI from './rest-api';\n\nexport {\n    DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_PROD_URL,\n    DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_TESTNET_URL,\n    ConnectorClientError,\n    RequiredError,\n    UnauthorizedError,\n    ForbiddenError,\n    TooManyRequestsError,\n    RateLimitBanError,\n    ServerError,\n    NetworkError,\n    NotFoundError,\n    BadRequestError,\n} from '@binance/common';\n"],"mappings":";;;;;;;AAAA;AAAA,EACI;AAAA,EACA,wBAAAA;AAAA,EACA;AAAA,OACG;;;ACHH,WAAQ;AAER,cAAW;;;ACHf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACaA;AAAA,EAII;AAAA,EACA;AAAA,OAEG;AAiDP,IAAM,8BAA8B,SAAU,eAAqC;AAC/E,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYH,gBAAgB,OAAO,OAAgB,eAA8C;AACjF,YAAM,yBAAkD,CAAC;AAEzD,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,oBAAoB,OAAO,eAA8C;AACrE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAeA,aAAa,OACT,QACA,cACA,eACuB;AAEvB,wBAAkB,eAAe,UAAU,MAAM;AAEjD,wBAAkB,eAAe,gBAAgB,YAAY;AAE7D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACrD,+BAAuB,cAAc,IAAI;AAAA,MAC7C;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,8BAA8B,OAC1B,WACA,eACuB;AAEvB,wBAAkB,gCAAgC,aAAa,SAAS;AAExE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaA,yBAAyB,OACrB,QACA,UACA,eACuB;AAEvB,wBAAkB,2BAA2B,UAAU,MAAM;AAE7D,wBAAkB,2BAA2B,YAAY,QAAQ;AAEjE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,aAAa,UAAa,aAAa,MAAM;AAC7C,+BAAuB,UAAU,IAAI;AAAA,MACzC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,sBAAsB,OAClB,kBACA,eACuB;AAEvB,wBAAkB,wBAAwB,oBAAoB,gBAAgB;AAE9E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,qBAAqB,UAAa,qBAAqB,MAAM;AAC7D,+BAAuB,kBAAkB,IAAI;AAAA,MACjD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaA,yBAAyB,OACrB,QACA,UACA,eACuB;AAEvB,wBAAkB,2BAA2B,UAAU,MAAM;AAE7D,wBAAkB,2BAA2B,YAAY,QAAQ;AAEjE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,aAAa,UAAa,aAAa,MAAM;AAC7C,+BAAuB,UAAU,IAAI;AAAA,MACzC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,sBAAsB,OAClB,kBACA,eACuB;AAEvB,wBAAkB,wBAAwB,oBAAoB,gBAAgB;AAE9E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,qBAAqB,UAAa,qBAAqB,MAAM;AAC7D,+BAAuB,kBAAkB,IAAI;AAAA,MACjD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,+BAA+B,OAC3B,QACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcA,oBAAoB,OAAO,eAA8C;AACrE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcA,uBAAuB,OAAO,OAAe,eAA8C;AAEvF,wBAAkB,yBAAyB,SAAS,KAAK;AAEzD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,2BAA2B,OAAO,eAA8C;AAC5E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,oBAAoB,OAAO,eAA8C;AACrE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,0BAA0B,OAAO,eAA8C;AAC3E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAuBA,oBAAoB,OAChB,QACA,YACA,WACA,SACA,MACA,OACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBA,uCAAuC,OACnC,WACA,SACA,eACuB;AAEvB,wBAAkB,yCAAyC,aAAa,SAAS;AAEjF,wBAAkB,yCAAyC,WAAW,OAAO;AAE7E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBA,uCAAuC,OACnC,WACA,SACA,eACuB;AAEvB,wBAAkB,yCAAyC,aAAa,SAAS;AAEjF,wBAAkB,yCAAyC,WAAW,OAAO;AAE7E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBA,6CAA6C,OACzC,WACA,SACA,eACuB;AAEvB;AAAA,QACI;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAEA,wBAAkB,+CAA+C,WAAW,OAAO;AAEnF,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA8BA,oCAAoC,OAChC,OACA,WACA,SACA,SACA,MACA,UACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,aAAa,UAAa,aAAa,MAAM;AAC7C,+BAAuB,UAAU,IAAI;AAAA,MACzC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,oBAAoB,OAAO,eAA8C;AACrE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,sBAAsB,OAAO,eAA8C;AACvE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,0BAA0B,OAAO,eAA8C;AAC3E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcA,mCAAmC,OAC/B,YACA,eACuB;AAEvB,wBAAkB,qCAAqC,cAAc,UAAU;AAE/E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcA,mCAAmC,OAC/B,YACA,eACuB;AAEvB,wBAAkB,qCAAqC,cAAc,UAAU;AAE/E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcA,yCAAyC,OACrC,YACA,eACuB;AAEvB,wBAAkB,2CAA2C,cAAc,UAAU;AAErF,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAsBA,oBAAoB,OAChB,QACA,YACA,WACA,SACA,MACA,OACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,4BAA4B,OACxB,QACA,eACuB;AAEvB,wBAAkB,8BAA8B,UAAU,MAAM;AAEhE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,4BAA4B,OACxB,QACA,eACuB;AAEvB,wBAAkB,8BAA8B,UAAU,MAAM;AAEhE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,iBAAiB,OAAO,OAAe,eAA8C;AAEjF,wBAAkB,mBAAmB,SAAS,KAAK;AAEnD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaA,qDAAqD,OACjD,QACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkBA,4BAA4B,OACxB,aACA,MACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,gBAAgB,UAAa,gBAAgB,MAAM;AACnD,+BAAuB,aAAa,IAAI;AAAA,MAC5C;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAwBA,uBAAuB,OACnB,OACA,MACA,WACA,SACA,SACA,MACA,UACA,eACuB;AAEvB,wBAAkB,yBAAyB,SAAS,KAAK;AAEzD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,aAAa,UAAa,aAAa,MAAM;AAC7C,+BAAuB,UAAU,IAAI;AAAA,MACzC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,wBAAwB,OACpB,OACA,eACuB;AAEvB,wBAAkB,0BAA0B,SAAS,KAAK;AAE1D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAwBA,wBAAwB,OACpB,OACA,MACA,WACA,SACA,SACA,MACA,UACA,eACuB;AAEvB,wBAAkB,0BAA0B,SAAS,KAAK;AAE1D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,aAAa,UAAa,aAAa,MAAM;AAC7C,+BAAuB,UAAU,IAAI;AAAA,MACzC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAqBA,oDAAoD,OAChD,OACA,WACA,SACA,MACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBA,4BAA4B,OACxB,QACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBA,4CAA4C,OACxC,WACA,SACA,eACuB;AAEvB,wBAAkB,8CAA8C,aAAa,SAAS;AAEtF,wBAAkB,8CAA8C,WAAW,OAAO;AAElF,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,oBAAoB,OAAO,eAA8C;AACrE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,6BAA6B,OAAO,eAA8C;AAC9E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,+BAA+B,OAAO,eAA8C;AAChF,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,8BAA8B,OAC1B,QACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,+BAA+B,OAC3B,QACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA,EACJ;AACJ;AA2qDO,IAAM,aAAN,MAAgD;AAAA,EAInD,YAAY,eAAqC;AAC7C,SAAK,gBAAgB;AACrB,SAAK,4BAA4B,4BAA4B,aAAa;AAAA,EAC9E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,eACT,oBAA2C,CAAC,GACI;AAChD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,mBACT,oBAA+C,CAAC,GACI;AACpD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,YACT,mBAC6C;AAC7C,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,6BACT,mBAC8D;AAC9D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,wBACT,mBACyD;AACzD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,qBACT,mBACsD;AACtD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,wBACT,mBACyD;AACzD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,qBACT,mBACsD;AACtD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,8BACT,oBAA0D,CAAC,GACI;AAC/D,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAa,mBACT,oBAA+C,CAAC,GACI;AACpD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,sBACT,mBACuD;AACvD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,0BACT,oBAAsD,CAAC,GACI;AAC3D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,mBACT,oBAA+C,CAAC,GACI;AACpD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,yBACT,oBAAqD,CAAC,GACI;AAC1D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,MAAa,mBACT,oBAA+C,CAAC,GACI;AACpD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAa,sCACT,mBACuE;AACvE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAa,sCACT,mBACuE;AACvE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAa,4CACT,mBAC6E;AAC7E,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2BA,MAAa,mCACT,oBAA+D,CAAC,GACI;AACpE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,mBACT,oBAA+C,CAAC,GACI;AACpD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,qBACT,oBAAiD,CAAC,GACI;AACtD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,yBACT,oBAAqD,CAAC,GACI;AAC1D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,kCACT,mBACmE;AACnE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,kCACT,mBACmE;AACnE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,wCACT,mBACyE;AACzE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,mBACT,oBAA+C,CAAC,GACI;AACpD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,2BACT,mBAC4D;AAC5D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,2BACT,mBAC4D;AAC5D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,gBACT,mBACiD;AACjD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,MAAa,oDACT,oBAAgF,CAAC,GACI;AACrF,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,2BACT,oBAAuD,CAAC,GACI;AAC5D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,MAAa,sBACT,mBACuD;AACvD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,uBACT,mBACwD;AACxD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,MAAa,uBACT,mBACwD;AACxD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,MAAa,mDACT,oBAA+E,CAAC,GACI;AACpF,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,MAAa,2BACT,oBAAuD,CAAC,GACI;AAC5D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAa,2CACT,mBAC4E;AAC5E,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,mBACT,oBAA+C,CAAC,GACI;AACpD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,4BACT,oBAAwD,CAAC,GACI;AAC7D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,8BACT,oBAA0D,CAAC,GACI;AAC/D,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,IACvB;AACJ,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,6BACT,oBAAyD,CAAC,GACI;AAC9D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,8BACT,oBAA0D,CAAC,GACI;AAC/D,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAO;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AACJ;;;ACjwJA;AAAA,EAII,eAAAC;AAAA,OAEG;AAMP,IAAM,iCAAiC,SAAU,eAAqC;AAClF,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUH,kBAAkB,YAAkC;AAChD,YAAM,yBAAkD,CAAC;AAEzD,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA,EACJ;AACJ;AAwBO,IAAM,gBAAN,MAAsD;AAAA,EAIzD,YAAY,eAAqC;AAC7C,SAAK,gBAAgB;AACrB,SAAK,4BAA4B,+BAA+B,aAAa;AAAA,EACjF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,MAAa,mBAAmD;AAC5D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B,iBAAiB;AAChF,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,MAAM;AAAA,IACtB;AAAA,EACJ;AACJ;;;AC5FA;AAAA,EAII,qBAAAC;AAAA,EACA,eAAAC;AAAA,OAEG;AA+DP,IAAM,4BAA4B,SAAU,eAAqC;AAC7E,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYH,kCAAkC,OAC9B,QACA,eACuB;AAEvB,MAAAD,mBAAkB,oCAAoC,UAAU,MAAM;AAEtE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,uBAAuB,OACnB,QACA,eACuB;AAEvB,MAAAA,mBAAkB,yBAAyB,UAAU,MAAM;AAE3D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,kCAAkC,OAC9B,QACA,eACuB;AAEvB,MAAAA,mBAAkB,oCAAoC,UAAU,MAAM;AAEtE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,uBAAuB,OACnB,QACA,eACuB;AAEvB,MAAAA,mBAAkB,yBAAyB,UAAU,MAAM;AAE3D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBA,0BAA0B,OACtB,QACA,YACA,qBACA,eACuB;AAEvB,MAAAA,mBAAkB,4BAA4B,UAAU,MAAM;AAE9D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,wBAAwB,UAAa,wBAAwB,MAAM;AACnE,+BAAuB,qBAAqB,IAAI;AAAA,MACpD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBA,eAAe,OACX,QACA,SACA,mBACA,eACuB;AAEvB,MAAAA,mBAAkB,iBAAiB,UAAU,MAAM;AAEnD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,2CAA2C,OACvC,QACA,eACuB;AAEvB,MAAAA,mBAAkB,6CAA6C,UAAU,MAAM;AAE/E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBA,8BAA8B,OAC1B,QACA,aACA,mBACA,kBACA,eACuB;AAEvB,MAAAA,mBAAkB,gCAAgC,UAAU,MAAM;AAElE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,gBAAgB,UAAa,gBAAgB,MAAM;AACnD,+BAAuB,aAAa,IAAI;AAAA,MAC5C;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,qBAAqB,UAAa,qBAAqB,MAAM;AAC7D,+BAAuB,kBAAkB,IAAI;AAAA,MACjD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBA,0BAA0B,OACtB,QACA,SACA,mBACA,kBACA,eACuB;AAEvB,MAAAA,mBAAkB,4BAA4B,UAAU,MAAM;AAE9D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,qBAAqB,UAAa,qBAAqB,MAAM;AAC7D,+BAAuB,kBAAkB,IAAI;AAAA,MACjD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBA,0BAA0B,OACtB,QACA,YACA,qBACA,eACuB;AAEvB,MAAAA,mBAAkB,4BAA4B,UAAU,MAAM;AAE9D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,wBAAwB,UAAa,wBAAwB,MAAM;AACnE,+BAAuB,qBAAqB,IAAI;AAAA,MACpD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBA,eAAe,OACX,QACA,SACA,mBACA,eACuB;AAEvB,MAAAA,mBAAkB,iBAAiB,UAAU,MAAM;AAEnD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAwBA,oBAAoB,OAChB,QACA,MACA,WACA,SACA,QACA,OACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkBA,iCAAiC,OAC7B,QACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,2BAA2B,OAAO,eAA8C;AAC5E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaA,qBAAqB,OACjB,OACA,QACA,eACuB;AAEvB,MAAAA,mBAAkB,uBAAuB,SAAS,KAAK;AAEvD,MAAAA,mBAAkB,uBAAuB,UAAU,MAAM;AAEzD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkCA,qBAAqB,OACjB,QACA,MACA,UACA,OACA,WACA,mBACA,oBACA,iBACA,mBACA,gBACA,gBACA,sBACA,kBACA,gBACA,eACuB;AAEvB,MAAAA,mBAAkB,uBAAuB,UAAU,MAAM;AAEzD,MAAAA,mBAAkB,uBAAuB,QAAQ,IAAI;AAErD,MAAAA,mBAAkB,uBAAuB,YAAY,QAAQ;AAE7D,MAAAA,mBAAkB,uBAAuB,SAAS,KAAK;AAEvD,MAAAA,mBAAkB,uBAAuB,aAAa,SAAS;AAE/D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,aAAa,UAAa,aAAa,MAAM;AAC7C,+BAAuB,UAAU,IAAI;AAAA,MACzC;AAEA,UAAI,uBAAuB,UAAa,uBAAuB,MAAM;AACjE,+BAAuB,oBAAoB,IAAI;AAAA,MACnD;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,oBAAoB,UAAa,oBAAoB,MAAM;AAC3D,+BAAuB,iBAAiB,IAAI;AAAA,MAChD;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,mBAAmB,UAAa,mBAAmB,MAAM;AACzD,+BAAuB,gBAAgB,IAAI;AAAA,MAC/C;AAEA,UAAI,mBAAmB,UAAa,mBAAmB,MAAM;AACzD,+BAAuB,gBAAgB,IAAI;AAAA,MAC/C;AAEA,UAAI,yBAAyB,UAAa,yBAAyB,MAAM;AACrE,+BAAuB,sBAAsB,IAAI;AAAA,MACrD;AAEA,UAAI,qBAAqB,UAAa,qBAAqB,MAAM;AAC7D,+BAAuB,kBAAkB,IAAI;AAAA,MACjD;AAEA,UAAI,mBAAmB,UAAa,mBAAmB,MAAM;AACzD,+BAAuB,gBAAgB,IAAI;AAAA,MAC/C;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaA,oBAAoB,OAChB,OACA,QACA,eACuB;AAEvB,MAAAA,mBAAkB,sBAAsB,SAAS,KAAK;AAEtD,MAAAA,mBAAkB,sBAAsB,UAAU,MAAM;AAExD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmBA,wBAAwB,OACpB,OACA,QACA,oBACA,eACuB;AAEvB,MAAAA,mBAAkB,0BAA0B,SAAS,KAAK;AAE1D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,uBAAuB,UAAa,uBAAuB,MAAM;AACjE,+BAAuB,oBAAoB,IAAI;AAAA,MACnD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBA,wBAAwB,OACpB,QACA,SACA,WACA,SACA,QACA,OACA,eACuB;AAEvB,MAAAA,mBAAkB,0BAA0B,UAAU,MAAM;AAE5D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAyBA,eAAe,OACX,QACA,MACA,UACA,OACA,SACA,mBACA,YACA,eACuB;AAEvB,MAAAA,mBAAkB,iBAAiB,UAAU,MAAM;AAEnD,MAAAA,mBAAkB,iBAAiB,QAAQ,IAAI;AAE/C,MAAAA,mBAAkB,iBAAiB,YAAY,QAAQ;AAEvD,MAAAA,mBAAkB,iBAAiB,SAAS,KAAK;AAEjD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,aAAa,UAAa,aAAa,MAAM;AAC7C,+BAAuB,UAAU,IAAI;AAAA,MACzC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAyBA,eAAe,OACX,QACA,MACA,UACA,OACA,SACA,mBACA,YACA,eACuB;AAEvB,MAAAA,mBAAkB,iBAAiB,UAAU,MAAM;AAEnD,MAAAA,mBAAkB,iBAAiB,QAAQ,IAAI;AAE/C,MAAAA,mBAAkB,iBAAiB,YAAY,QAAQ;AAEvD,MAAAA,mBAAkB,iBAAiB,SAAS,KAAK;AAEjD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,aAAa,UAAa,aAAa,MAAM;AAC7C,+BAAuB,UAAU,IAAI;AAAA,MACzC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkDA,uBAAuB,OACnB,QACA,MACA,cACA,cACA,aACA,UACA,YACA,OACA,aACA,cACA,qBACA,WACA,iBACA,cACA,eACuB;AAEvB,MAAAA,mBAAkB,yBAAyB,UAAU,MAAM;AAE3D,MAAAA,mBAAkB,yBAAyB,QAAQ,IAAI;AAEvD,MAAAA,mBAAkB,yBAAyB,gBAAgB,YAAY;AAEvE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACrD,+BAAuB,cAAc,IAAI;AAAA,MAC7C;AAEA,UAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACrD,+BAAuB,cAAc,IAAI;AAAA,MAC7C;AAEA,UAAI,gBAAgB,UAAa,gBAAgB,MAAM;AACnD,+BAAuB,aAAa,IAAI;AAAA,MAC5C;AAEA,UAAI,aAAa,UAAa,aAAa,MAAM;AAC7C,+BAAuB,UAAU,IAAI;AAAA,MACzC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,gBAAgB,UAAa,gBAAgB,MAAM;AACnD,+BAAuB,aAAa,IAAI;AAAA,MAC5C;AAEA,UAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACrD,+BAAuB,cAAc,IAAI;AAAA,MAC7C;AAEA,UAAI,wBAAwB,UAAa,wBAAwB,MAAM;AACnE,+BAAuB,qBAAqB,IAAI;AAAA,MACpD;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,oBAAoB,UAAa,oBAAoB,MAAM;AAC3D,+BAAuB,iBAAiB,IAAI;AAAA,MAChD;AAEA,UAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACrD,+BAAuB,cAAc,IAAI;AAAA,MAC7C;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA0BA,YAAY,OACR,QACA,MACA,MACA,cACA,aACA,UACA,YACA,OACA,YACA,kBACA,kBACA,eACuB;AAEvB,MAAAA,mBAAkB,cAAc,UAAU,MAAM;AAEhD,MAAAA,mBAAkB,cAAc,QAAQ,IAAI;AAE5C,MAAAA,mBAAkB,cAAc,QAAQ,IAAI;AAE5C,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACrD,+BAAuB,cAAc,IAAI;AAAA,MAC7C;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,gBAAgB,UAAa,gBAAgB,MAAM;AACnD,+BAAuB,aAAa,IAAI;AAAA,MAC5C;AAEA,UAAI,aAAa,UAAa,aAAa,MAAM;AAC7C,+BAAuB,UAAU,IAAI;AAAA,MACzC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,qBAAqB,UAAa,qBAAqB,MAAM;AAC7D,+BAAuB,kBAAkB,IAAI;AAAA,MACjD;AAEA,UAAI,qBAAqB,UAAa,qBAAqB,MAAM;AAC7D,+BAAuB,kBAAkB,IAAI;AAAA,MACjD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAyBA,gBAAgB,OACZ,QACA,MACA,MACA,UACA,eACA,OACA,WACA,kBACA,kBACA,YACA,gBACA,aACA,yBACA,mBACA,eACuB;AAEvB,MAAAA,mBAAkB,kBAAkB,UAAU,MAAM;AAEpD,MAAAA,mBAAkB,kBAAkB,QAAQ,IAAI;AAEhD,MAAAA,mBAAkB,kBAAkB,QAAQ,IAAI;AAEhD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,aAAa,UAAa,aAAa,MAAM;AAC7C,+BAAuB,UAAU,IAAI;AAAA,MACzC;AAEA,UAAI,kBAAkB,UAAa,kBAAkB,MAAM;AACvD,+BAAuB,eAAe,IAAI;AAAA,MAC9C;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,qBAAqB,UAAa,qBAAqB,MAAM;AAC7D,+BAAuB,kBAAkB,IAAI;AAAA,MACjD;AAEA,UAAI,qBAAqB,UAAa,qBAAqB,MAAM;AAC7D,+BAAuB,kBAAkB,IAAI;AAAA,MACjD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,mBAAmB,UAAa,mBAAmB,MAAM;AACzD,+BAAuB,gBAAgB,IAAI;AAAA,MAC/C;AAEA,UAAI,gBAAgB,UAAa,gBAAgB,MAAM;AACnD,+BAAuB,aAAa,IAAI;AAAA,MAC5C;AAEA,UAAI,4BAA4B,UAAa,4BAA4B,MAAM;AAC3E,+BAAuB,yBAAyB,IAAI;AAAA,MACxD;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAuDA,uBAAuB,OACnB,QACA,MACA,cACA,cACA,aACA,UACA,YACA,OACA,aACA,cACA,qBACA,WACA,iBACA,cACA,YACA,yBACA,cACA,eACuB;AAEvB,MAAAA,mBAAkB,yBAAyB,UAAU,MAAM;AAE3D,MAAAA,mBAAkB,yBAAyB,QAAQ,IAAI;AAEvD,MAAAA,mBAAkB,yBAAyB,gBAAgB,YAAY;AAEvE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACrD,+BAAuB,cAAc,IAAI;AAAA,MAC7C;AAEA,UAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACrD,+BAAuB,cAAc,IAAI;AAAA,MAC7C;AAEA,UAAI,gBAAgB,UAAa,gBAAgB,MAAM;AACnD,+BAAuB,aAAa,IAAI;AAAA,MAC5C;AAEA,UAAI,aAAa,UAAa,aAAa,MAAM;AAC7C,+BAAuB,UAAU,IAAI;AAAA,MACzC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,gBAAgB,UAAa,gBAAgB,MAAM;AACnD,+BAAuB,aAAa,IAAI;AAAA,MAC5C;AAEA,UAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACrD,+BAAuB,cAAc,IAAI;AAAA,MAC7C;AAEA,UAAI,wBAAwB,UAAa,wBAAwB,MAAM;AACnE,+BAAuB,qBAAqB,IAAI;AAAA,MACpD;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,oBAAoB,UAAa,oBAAoB,MAAM;AAC3D,+BAAuB,iBAAiB,IAAI;AAAA,MAChD;AAEA,UAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACrD,+BAAuB,cAAc,IAAI;AAAA,MAC7C;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,4BAA4B,UAAa,4BAA4B,MAAM;AAC3E,+BAAuB,yBAAyB,IAAI;AAAA,MACxD;AAEA,UAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACrD,+BAAuB,cAAc,IAAI;AAAA,MAC7C;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA8BA,YAAY,OACR,QACA,MACA,MACA,cACA,aACA,UACA,YACA,OACA,kBACA,kBACA,YACA,yBACA,cACA,eACuB;AAEvB,MAAAA,mBAAkB,cAAc,UAAU,MAAM;AAEhD,MAAAA,mBAAkB,cAAc,QAAQ,IAAI;AAE5C,MAAAA,mBAAkB,cAAc,QAAQ,IAAI;AAE5C,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACrD,+BAAuB,cAAc,IAAI;AAAA,MAC7C;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,gBAAgB,UAAa,gBAAgB,MAAM;AACnD,+BAAuB,aAAa,IAAI;AAAA,MAC5C;AAEA,UAAI,aAAa,UAAa,aAAa,MAAM;AAC7C,+BAAuB,UAAU,IAAI;AAAA,MACzC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,qBAAqB,UAAa,qBAAqB,MAAM;AAC7D,+BAAuB,kBAAkB,IAAI;AAAA,MACjD;AAEA,UAAI,qBAAqB,UAAa,qBAAqB,MAAM;AAC7D,+BAAuB,kBAAkB,IAAI;AAAA,MACjD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,4BAA4B,UAAa,4BAA4B,MAAM;AAC3E,+BAAuB,yBAAyB,IAAI;AAAA,MACxD;AAEA,UAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACrD,+BAAuB,cAAc,IAAI;AAAA,MAC7C;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAsBA,6BAA6B,OACzB,QACA,YACA,WACA,SACA,OACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAwBA,kBAAkB,OACd,QACA,MACA,SACA,WACA,SACA,OACA,eACuB;AAEvB,MAAAA,mBAAkB,oBAAoB,UAAU,MAAM;AAEtD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcA,wCAAwC,OACpC,QACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBA,6BAA6B,OACzB,QACA,MACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAeA,wCAAwC,OACpC,QACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAeA,6BAA6B,OACzB,QACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBA,6BAA6B,OACzB,QACA,SACA,WACA,SACA,OACA,eACuB;AAEvB,MAAAA,mBAAkB,+BAA+B,UAAU,MAAM;AAEjE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAsBA,6BAA6B,OACzB,QACA,YACA,WACA,SACA,OACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAuBA,kBAAkB,OACd,QACA,SACA,WACA,SACA,OACA,eACuB;AAEvB,MAAAA,mBAAkB,oBAAoB,UAAU,MAAM;AAEtD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAsBA,gCAAgC,OAC5B,QACA,YACA,qBACA,eACuB;AAEvB,MAAAA,mBAAkB,kCAAkC,UAAU,MAAM;AAEpE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,wBAAwB,UAAa,wBAAwB,MAAM;AACnE,+BAAuB,qBAAqB,IAAI;AAAA,MACpD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmBA,2BAA2B,OACvB,QACA,SACA,mBACA,WACA,SACA,OACA,eACuB;AAEvB,MAAAA,mBAAkB,6BAA6B,UAAU,MAAM;AAE/D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBA,cAAc,OACV,QACA,SACA,mBACA,eACuB;AAEvB,MAAAA,mBAAkB,gBAAgB,UAAU,MAAM;AAElD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBA,oCAAoC,OAChC,QACA,YACA,qBACA,eACuB;AAEvB,MAAAA,mBAAkB,sCAAsC,UAAU,MAAM;AAExE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,wBAAwB,UAAa,wBAAwB,MAAM;AACnE,+BAAuB,qBAAqB,IAAI;AAAA,MACpD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBA,yBAAyB,OACrB,QACA,SACA,mBACA,eACuB;AAEvB,MAAAA,mBAAkB,2BAA2B,UAAU,MAAM;AAE7D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYA,6BAA6B,OACzB,QACA,eACuB;AAEvB,MAAAA,mBAAkB,+BAA+B,UAAU,MAAM;AAEjE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBA,oCAAoC,OAChC,QACA,YACA,qBACA,eACuB;AAEvB,MAAAA,mBAAkB,sCAAsC,UAAU,MAAM;AAExE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,wBAAwB,UAAa,wBAAwB,MAAM;AACnE,+BAAuB,qBAAqB,IAAI;AAAA,MACpD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkBA,yBAAyB,OACrB,QACA,SACA,mBACA,eACuB;AAEvB,MAAAA,mBAAkB,2BAA2B,UAAU,MAAM;AAE7D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcA,yBAAyB,OACrB,QACA,SACA,mBACA,eACuB;AAEvB,MAAAA,mBAAkB,2BAA2B,UAAU,MAAM;AAE7D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAeA,2BAA2B,OACvB,QACA,WACA,SACA,OACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaA,wBAAwB,OACpB,aACA,mBACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,gBAAgB,UAAa,gBAAgB,MAAM;AACnD,+BAAuB,aAAa,IAAI;AAAA,MAC5C;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWA,4BAA4B,OAAO,eAA8C;AAC7E,YAAM,yBAAkD,CAAC;AAEzD,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAqBA,gCAAgC,OAC5B,QACA,YACA,qBACA,eACuB;AAEvB,MAAAA,mBAAkB,kCAAkC,UAAU,MAAM;AAEpE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI,wBAAwB,UAAa,wBAAwB,MAAM;AACnE,+BAAuB,qBAAqB,IAAI;AAAA,MACpD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmBA,2BAA2B,OACvB,QACA,SACA,mBACA,WACA,SACA,OACA,eACuB;AAEvB,MAAAA,mBAAkB,6BAA6B,UAAU,MAAM;AAE/D,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBA,cAAc,OACV,QACA,SACA,mBACA,eACuB;AAEvB,MAAAA,mBAAkB,gBAAgB,UAAU,MAAM;AAElD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,sBAAsB,UAAa,sBAAsB,MAAM;AAC/D,+BAAuB,mBAAmB,IAAI;AAAA,MAClD;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmBA,yBAAyB,OACrB,QACA,eACA,WACA,SACA,OACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,kBAAkB,UAAa,kBAAkB,MAAM;AACvD,+BAAuB,eAAe,IAAI;AAAA,MAC9C;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAeA,6BAA6B,OACzB,WACA,SACA,SACA,MACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,SAAS,UAAa,SAAS,MAAM;AACrC,+BAAuB,MAAM,IAAI;AAAA,MACrC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmBA,yBAAyB,OACrB,QACA,eACA,WACA,SACA,OACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,kBAAkB,UAAa,kBAAkB,MAAM;AACvD,+BAAuB,eAAe,IAAI;AAAA,MAC9C;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAeA,+BAA+B,OAC3B,SACA,eACuB;AAEvB,MAAAA,mBAAkB,iCAAiC,WAAW,OAAO;AAErE,YAAM,yBAAkD,CAAC;AAEzD,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAqBA,oBAAoB,OAChB,QACA,WACA,SACA,QACA,OACA,eACuB;AAEvB,MAAAA,mBAAkB,sBAAsB,UAAU,MAAM;AAExD,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,cAAc,UAAa,cAAc,MAAM;AAC/C,+BAAuB,WAAW,IAAI;AAAA,MAC1C;AAEA,UAAI,YAAY,UAAa,YAAY,MAAM;AAC3C,+BAAuB,SAAS,IAAI;AAAA,MACxC;AAEA,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,UAAU,UAAa,UAAU,MAAM;AACvC,+BAAuB,OAAO,IAAI;AAAA,MACtC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmBA,iCAAiC,OAC7B,QACA,eACuB;AACvB,YAAM,yBAAkD,CAAC;AAEzD,UAAI,WAAW,UAAa,WAAW,MAAM;AACzC,+BAAuB,QAAQ,IAAI;AAAA,MACvC;AAEA,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,+BAAuB,YAAY,IAAI;AAAA,MAC3C;AAEA,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA,EACJ;AACJ;AA01GO,IAAM,WAAN,MAA4C;AAAA,EAI/C,YAAY,eAAqC;AAC7C,SAAK,gBAAgB;AACrB,SAAK,4BAA4B,0BAA0B,aAAa;AAAA,EAC5E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,iCACT,mBACkE;AAClE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAOC;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,sBACT,mBACuD;AACvD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,iCACT,mBACkE;AAClE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,sBACT,mBACuD;AACvD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,yBACT,mBAC0D;AAC1D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,cACT,mBAC+C;AAC/C,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,0CACT,mBAC2E;AAC3E,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,6BACT,mBAC8D;AAC9D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,yBACT,mBAC0D;AAC1D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,yBACT,mBAC0D;AAC1D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,cACT,mBAC+C;AAC/C,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,MAAa,mBACT,oBAA+C,CAAC,GACI;AACpD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,MAAa,gCACT,oBAA4D,CAAC,GACI;AACjE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,0BACT,oBAAsD,CAAC,GACI;AAC3D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,oBACT,mBACqD;AACrD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuBA,MAAa,oBACT,mBACqD;AACrD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,mBACT,mBACoD;AACpD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,uBACT,mBACwD;AACxD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,uBACT,mBACwD;AACxD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,MAAa,cACT,mBAC+C;AAC/C,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,MAAa,cACT,mBAC+C;AAC/C,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuCA,MAAa,sBACT,mBACuD;AACvD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,MAAa,WACT,mBAC4C;AAC5C,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,eACT,mBACgD;AAChD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAyCA,MAAa,sBACT,mBACuD;AACvD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,MAAa,WACT,mBAC4C;AAC5C,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,MAAa,4BACT,oBAAwD,CAAC,GACI;AAC7D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,MAAa,iBACT,mBACkD;AAClD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,uCACT,oBAAmE,CAAC,GACI;AACxE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAa,4BACT,oBAAwD,CAAC,GACI;AAC7D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAa,uCACT,oBAAmE,CAAC,GACI;AACxE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAa,4BACT,oBAAwD,CAAC,GACI;AAC7D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,4BACT,mBAC6D;AAC7D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,MAAa,4BACT,oBAAwD,CAAC,GACI;AAC7D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,MAAa,iBACT,mBACkD;AAClD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBA,MAAa,+BACT,mBACgE;AAChE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,0BACT,mBAC2D;AAC3D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,MAAa,aACT,mBAC8C;AAC9C,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAa,mCACT,mBACoE;AACpE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAa,wBACT,mBACyD;AACzD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,4BACT,mBAC6D;AAC7D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAa,mCACT,mBACoE;AACpE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,MAAa,wBACT,mBACyD;AACzD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,wBACT,mBACyD;AACzD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,0BACT,oBAAsD,CAAC,GACI;AAC3D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,uBACT,oBAAmD,CAAC,GACI;AACxD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,2BACT,oBAAuD,CAAC,GACI;AAC5D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,MAAa,+BACT,mBACgE;AAChE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAa,0BACT,mBAC2D;AAC3D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,MAAa,aACT,mBAC8C;AAC9C,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAa,wBACT,oBAAoD,CAAC,GACI;AACzD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAa,4BACT,oBAAwD,CAAC,GACI;AAC7D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAa,wBACT,oBAAoD,CAAC,GACI;AACzD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAa,8BACT,mBAC+D;AAC/D,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,MAAa,mBACT,mBACoD;AACpD,UAAM,oBAAoB,MAAM,KAAK,0BAA0B;AAAA,MAC3D,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACA,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,MAAa,gCACT,oBAA4D,CAAC,GACI;AACjE,UAAM,oBACF,MAAM,KAAK,0BAA0B;AAAA,MACjC,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACvB;AACJ,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,KAAK;AAAA,IACrB;AAAA,EACJ;AACJ;AAEO,IAAK,8BAAL,kBAAKC,iCAAL;AACH,EAAAA,6BAAA,SAAM;AACN,EAAAA,6BAAA,UAAO;AAFC,SAAAA;AAAA,GAAA;AAKL,IAAK,8CAAL,kBAAKC,iDAAL;AACH,EAAAA,6CAAA,SAAM;AACN,EAAAA,6CAAA,SAAM;AACN,EAAAA,6CAAA,SAAM;AAHE,SAAAA;AAAA,GAAA;AAML,IAAK,0CAAL,kBAAKC,6CAAL;AACH,EAAAA,yCAAA,SAAM;AACN,EAAAA,yCAAA,YAAS;AAFD,SAAAA;AAAA,GAAA;AAKL,IAAK,wCAAL,kBAAKC,2CAAL;AACH,EAAAA,uCAAA,oBAAiB;AACjB,EAAAA,uCAAA,gBAAa;AACb,EAAAA,uCAAA,gBAAa;AAHL,SAAAA;AAAA,GAAA;AAML,IAAK,wBAAL,kBAAKC,2BAAL;AACH,EAAAA,uBAAA,SAAM;AACN,EAAAA,uBAAA,UAAO;AAFC,SAAAA;AAAA,GAAA;AAKL,IAAK,8BAAL,kBAAKC,iCAAL;AACH,EAAAA,6BAAA,UAAO;AACP,EAAAA,6BAAA,cAAW;AACX,EAAAA,6BAAA,gBAAa;AACb,EAAAA,6BAAA,iBAAc;AACd,EAAAA,6BAAA,iBAAc;AACd,EAAAA,6BAAA,WAAQ;AACR,EAAAA,6BAAA,aAAU;AACV,EAAAA,6BAAA,cAAW;AACX,EAAAA,6BAAA,cAAW;AATH,SAAAA;AAAA,GAAA;AAYL,IAAK,wBAAL,kBAAKC,2BAAL;AACH,EAAAA,uBAAA,SAAM;AACN,EAAAA,uBAAA,UAAO;AAFC,SAAAA;AAAA,GAAA;AAKL,IAAK,8BAAL,kBAAKC,iCAAL;AACH,EAAAA,6BAAA,UAAO;AACP,EAAAA,6BAAA,cAAW;AACX,EAAAA,6BAAA,gBAAa;AACb,EAAAA,6BAAA,iBAAc;AACd,EAAAA,6BAAA,iBAAc;AACd,EAAAA,6BAAA,WAAQ;AACR,EAAAA,6BAAA,aAAU;AACV,EAAAA,6BAAA,cAAW;AACX,EAAAA,6BAAA,cAAW;AATH,SAAAA;AAAA,GAAA;AAYL,IAAK,gCAAL,kBAAKC,mCAAL;AACH,EAAAA,+BAAA,SAAM;AACN,EAAAA,+BAAA,UAAO;AAFC,SAAAA;AAAA,GAAA;AAKL,IAAK,wCAAL,kBAAKC,2CAAL;AACH,EAAAA,uCAAA,UAAO;AACP,EAAAA,uCAAA,iBAAc;AACd,EAAAA,uCAAA,iBAAc;AACd,EAAAA,uCAAA,wBAAqB;AACrB,EAAAA,uCAAA,0BAAuB;AALf,SAAAA;AAAA,GAAA;AAQL,IAAK,wCAAL,kBAAKC,2CAAL;AACH,EAAAA,uCAAA,UAAO;AACP,EAAAA,uCAAA,UAAO;AACP,EAAAA,uCAAA,WAAQ;AAHA,SAAAA;AAAA,GAAA;AAML,IAAK,uCAAL,kBAAKC,0CAAL;AACH,EAAAA,sCAAA,SAAM;AACN,EAAAA,sCAAA,SAAM;AACN,EAAAA,sCAAA,SAAM;AACN,EAAAA,sCAAA,SAAM;AAJE,SAAAA;AAAA,GAAA;AAOL,IAAK,uCAAL,kBAAKC,0CAAL;AACH,EAAAA,sCAAA,gBAAa;AADL,SAAAA;AAAA,GAAA;AAIL,IAAK,qBAAL,kBAAKC,wBAAL;AACH,EAAAA,oBAAA,SAAM;AACN,EAAAA,oBAAA,UAAO;AAFC,SAAAA;AAAA,GAAA;AAKL,IAAK,qBAAL,kBAAKC,wBAAL;AACH,EAAAA,oBAAA,WAAQ;AACR,EAAAA,oBAAA,YAAS;AAFD,SAAAA;AAAA,GAAA;AAKL,IAAK,6BAAL,kBAAKC,gCAAL;AACH,EAAAA,4BAAA,UAAO;AACP,EAAAA,4BAAA,UAAO;AACP,EAAAA,4BAAA,WAAQ;AAHA,SAAAA;AAAA,GAAA;AAML,IAAK,4BAAL,kBAAKC,+BAAL;AACH,EAAAA,2BAAA,SAAM;AACN,EAAAA,2BAAA,SAAM;AACN,EAAAA,2BAAA,SAAM;AACN,EAAAA,2BAAA,SAAM;AAJE,SAAAA;AAAA,GAAA;AAOL,IAAK,2BAAL,kBAAKC,8BAAL;AACH,EAAAA,0BAAA,UAAO;AACP,EAAAA,0BAAA,cAAW;AACX,EAAAA,0BAAA,gBAAa;AACb,EAAAA,0BAAA,iBAAc;AACd,EAAAA,0BAAA,iBAAc;AACd,EAAAA,0BAAA,WAAQ;AACR,EAAAA,0BAAA,aAAU;AACV,EAAAA,0BAAA,cAAW;AACX,EAAAA,0BAAA,cAAW;AATH,SAAAA;AAAA,GAAA;AAYL,IAAK,iCAAL,kBAAKC,oCAAL;AACH,EAAAA,gCAAA,SAAM;AACN,EAAAA,gCAAA,YAAS;AAFD,SAAAA;AAAA,GAAA;AAKL,IAAK,yBAAL,kBAAKC,4BAAL;AACH,EAAAA,wBAAA,SAAM;AACN,EAAAA,wBAAA,UAAO;AAFC,SAAAA;AAAA,GAAA;AAKL,IAAK,yBAAL,kBAAKC,4BAAL;AACH,EAAAA,wBAAA,WAAQ;AACR,EAAAA,wBAAA,YAAS;AAFD,SAAAA;AAAA,GAAA;AAKL,IAAK,qCAAL,kBAAKC,wCAAL;AACH,EAAAA,oCAAA,SAAM;AACN,EAAAA,oCAAA,YAAS;AAFD,SAAAA;AAAA,GAAA;AAKL,IAAK,mCAAL,kBAAKC,sCAAL;AACH,EAAAA,kCAAA,oBAAiB;AACjB,EAAAA,kCAAA,gBAAa;AACb,EAAAA,kCAAA,gBAAa;AAHL,SAAAA;AAAA,GAAA;AAML,IAAK,gCAAL,kBAAKC,mCAAL;AACH,EAAAA,+BAAA,SAAM;AACN,EAAAA,+BAAA,SAAM;AACN,EAAAA,+BAAA,SAAM;AACN,EAAAA,+BAAA,SAAM;AAJE,SAAAA;AAAA,GAAA;AAOL,IAAK,4CAAL,kBAAKC,+CAAL;AACH,EAAAA,2CAAA,UAAO;AACP,EAAAA,2CAAA,kBAAe;AACf,EAAAA,2CAAA,iBAAc;AACd,EAAAA,2CAAA,kBAAe;AAJP,SAAAA;AAAA,GAAA;AAOL,IAAK,gCAAL,kBAAKC,mCAAL;AACH,EAAAA,+BAAA,SAAM;AACN,EAAAA,+BAAA,UAAO;AAFC,SAAAA;AAAA,GAAA;AAKL,IAAK,wCAAL,kBAAKC,2CAAL;AACH,EAAAA,uCAAA,UAAO;AACP,EAAAA,uCAAA,iBAAc;AACd,EAAAA,uCAAA,iBAAc;AACd,EAAAA,uCAAA,wBAAqB;AACrB,EAAAA,uCAAA,0BAAuB;AALf,SAAAA;AAAA,GAAA;AAQL,IAAK,wCAAL,kBAAKC,2CAAL;AACH,EAAAA,uCAAA,UAAO;AACP,EAAAA,uCAAA,UAAO;AACP,EAAAA,uCAAA,WAAQ;AAHA,SAAAA;AAAA,GAAA;AAML,IAAK,uCAAL,kBAAKC,0CAAL;AACH,EAAAA,sCAAA,SAAM;AACN,EAAAA,sCAAA,SAAM;AACN,EAAAA,sCAAA,SAAM;AACN,EAAAA,sCAAA,SAAM;AAJE,SAAAA;AAAA,GAAA;AAOL,IAAK,uCAAL,kBAAKC,0CAAL;AACH,EAAAA,sCAAA,gBAAa;AADL,SAAAA;AAAA,GAAA;AAIL,IAAK,sCAAL,kBAAKC,yCAAL;AACH,EAAAA,qCAAA,UAAO;AACP,EAAAA,qCAAA,cAAW;AACX,EAAAA,qCAAA,gBAAa;AACb,EAAAA,qCAAA,iBAAc;AACd,EAAAA,qCAAA,iBAAc;AACd,EAAAA,qCAAA,WAAQ;AACR,EAAAA,qCAAA,aAAU;AACV,EAAAA,qCAAA,cAAW;AACX,EAAAA,qCAAA,cAAW;AATH,SAAAA;AAAA,GAAA;AAYL,IAAK,mDAAL,kBAAKC,sDAAL;AACH,EAAAA,kDAAA,UAAO;AACP,EAAAA,kDAAA,kBAAe;AACf,EAAAA,kDAAA,iBAAc;AACd,EAAAA,kDAAA,kBAAe;AAJP,SAAAA;AAAA,GAAA;AAOL,IAAK,qBAAL,kBAAKC,wBAAL;AACH,EAAAA,oBAAA,SAAM;AACN,EAAAA,oBAAA,UAAO;AAFC,SAAAA;AAAA,GAAA;AAKL,IAAK,qBAAL,kBAAKC,wBAAL;AACH,EAAAA,oBAAA,WAAQ;AACR,EAAAA,oBAAA,YAAS;AAFD,SAAAA;AAAA,GAAA;AAKL,IAAK,6BAAL,kBAAKC,gCAAL;AACH,EAAAA,4BAAA,UAAO;AACP,EAAAA,4BAAA,UAAO;AACP,EAAAA,4BAAA,WAAQ;AAHA,SAAAA;AAAA,GAAA;AAML,IAAK,4BAAL,kBAAKC,+BAAL;AACH,EAAAA,2BAAA,SAAM;AACN,EAAAA,2BAAA,SAAM;AACN,EAAAA,2BAAA,SAAM;AACN,EAAAA,2BAAA,SAAM;AAJE,SAAAA;AAAA,GAAA;AAOL,IAAK,iCAAL,kBAAKC,oCAAL;AACH,EAAAA,gCAAA,SAAM;AACN,EAAAA,gCAAA,YAAS;AAFD,SAAAA;AAAA,GAAA;AAKL,IAAK,2BAAL,kBAAKC,8BAAL;AACH,EAAAA,0BAAA,UAAO;AACP,EAAAA,0BAAA,cAAW;AACX,EAAAA,0BAAA,gBAAa;AACb,EAAAA,0BAAA,iBAAc;AACd,EAAAA,0BAAA,iBAAc;AACd,EAAAA,0BAAA,WAAQ;AACR,EAAAA,0BAAA,aAAU;AACV,EAAAA,0BAAA,cAAW;AACX,EAAAA,0BAAA,cAAW;AATH,SAAAA;AAAA,GAAA;AAYL,IAAK,wCAAL,kBAAKC,2CAAL;AACH,EAAAA,uCAAA,UAAO;AACP,EAAAA,uCAAA,kBAAe;AACf,EAAAA,uCAAA,iBAAc;AACd,EAAAA,uCAAA,kBAAe;AAJP,SAAAA;AAAA,GAAA;AAOL,IAAK,2CAAL,kBAAKC,8CAAL;AACH,EAAAA,0CAAA,iBAAc;AACd,EAAAA,0CAAA,SAAM;AAFE,SAAAA;AAAA,GAAA;AAKL,IAAK,2CAAL,kBAAKC,8CAAL;AACH,EAAAA,0CAAA,iBAAc;AACd,EAAAA,0CAAA,SAAM;AAFE,SAAAA;AAAA,GAAA;;;ACzhSZ;AAAA,EAII,eAAAC;AAAA,OAEG;AAMP,IAAM,sCAAsC,SAAU,eAAqC;AACvF,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUH,qBAAqB,YAAkC;AACnD,YAAM,yBAAkD,CAAC;AAEzD,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,yBAAyB,YAAkC;AACvD,YAAM,yBAAkD,CAAC;AAEzD,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,qBAAqB,YAAkC;AACnD,YAAM,yBAAkD,CAAC;AAEzD,UAAI;AACJ,UAAI,cAAc,cAAe,aAAY,cAAc;AAE3D,aAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,MACd;AAAA,IACJ;AAAA,EACJ;AACJ;AA8CO,IAAM,qBAAN,MAAgE;AAAA,EAInE,YAAY,eAAqC;AAC7C,SAAK,gBAAgB;AACrB,SAAK,4BAA4B,oCAAoC,aAAa;AAAA,EACtF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,MAAa,sBAAsD;AAC/D,UAAM,oBAAoB,MAAM,KAAK,0BAA0B,oBAAoB;AACnF,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,MAAM;AAAA,IACtB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,MAAa,0BAA0D;AACnE,UAAM,oBAAoB,MAAM,KAAK,0BAA0B,wBAAwB;AACvF,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,MAAM;AAAA,IACtB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,MAAa,sBAA6E;AACtF,UAAM,oBAAoB,MAAM,KAAK,0BAA0B,oBAAoB;AACnF,WAAOA;AAAA,MACH,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,EAAE,UAAU,MAAM;AAAA,IACtB;AAAA,EACJ;AACJ;;;AC5MA,SAAgD,eAAAC,oBAAmB;AAwN5D,IAAM,UAAN,MAAc;AAAA,EAOjB,YAAY,eAAqC;AAC7C,SAAK,gBAAgB;AACrB,SAAK,aAAa,IAAI,WAAW,aAAa;AAC9C,SAAK,gBAAgB,IAAI,cAAc,aAAa;AACpD,SAAK,WAAW,IAAI,SAAS,aAAa;AAC1C,SAAK,qBAAqB,IAAI,mBAAmB,aAAa;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,YACI,UACA,QACA,SAAkC,CAAC,GACR;AAC3B,WAAOC,aAAe,KAAK,eAAe,UAAU,QAAQ,QAAQ,MAAS;AAAA,EACjF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,kBACI,UACA,QACA,SAAkC,CAAC,GACR;AAC3B,WAAOA,aAAe,KAAK,eAAe,UAAU,QAAQ,QAAQ,QAAW;AAAA,MAC3E,UAAU;AAAA,IACd,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,eACI,oBAA2C,CAAC,GACI;AAChD,WAAO,KAAK,WAAW,eAAe,iBAAiB;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,mBACI,oBAA+C,CAAC,GACI;AACpD,WAAO,KAAK,WAAW,mBAAmB,iBAAiB;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,YACI,mBAC6C;AAC7C,WAAO,KAAK,WAAW,YAAY,iBAAiB;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,6BACI,mBAC8D;AAC9D,WAAO,KAAK,WAAW,6BAA6B,iBAAiB;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,wBACI,mBACyD;AACzD,WAAO,KAAK,WAAW,wBAAwB,iBAAiB;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,qBACI,mBACsD;AACtD,WAAO,KAAK,WAAW,qBAAqB,iBAAiB;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,wBACI,mBACyD;AACzD,WAAO,KAAK,WAAW,wBAAwB,iBAAiB;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,qBACI,mBACsD;AACtD,WAAO,KAAK,WAAW,qBAAqB,iBAAiB;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,8BACI,oBAA0D,CAAC,GACI;AAC/D,WAAO,KAAK,WAAW,8BAA8B,iBAAiB;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,mBACI,oBAA+C,CAAC,GACI;AACpD,WAAO,KAAK,WAAW,mBAAmB,iBAAiB;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,sBACI,mBACuD;AACvD,WAAO,KAAK,WAAW,sBAAsB,iBAAiB;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,0BACI,oBAAsD,CAAC,GACI;AAC3D,WAAO,KAAK,WAAW,0BAA0B,iBAAiB;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,mBACI,oBAA+C,CAAC,GACI;AACpD,WAAO,KAAK,WAAW,mBAAmB,iBAAiB;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,yBACI,oBAAqD,CAAC,GACI;AAC1D,WAAO,KAAK,WAAW,yBAAyB,iBAAiB;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,mBACI,oBAA+C,CAAC,GACI;AACpD,WAAO,KAAK,WAAW,mBAAmB,iBAAiB;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,sCACI,mBACuE;AACvE,WAAO,KAAK,WAAW,sCAAsC,iBAAiB;AAAA,EAClF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,sCACI,mBACuE;AACvE,WAAO,KAAK,WAAW,sCAAsC,iBAAiB;AAAA,EAClF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,4CACI,mBAC6E;AAC7E,WAAO,KAAK,WAAW,4CAA4C,iBAAiB;AAAA,EACxF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0BA,mCACI,oBAA+D,CAAC,GACI;AACpE,WAAO,KAAK,WAAW,mCAAmC,iBAAiB;AAAA,EAC/E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,mBACI,oBAA+C,CAAC,GACI;AACpD,WAAO,KAAK,WAAW,mBAAmB,iBAAiB;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,qBACI,oBAAiD,CAAC,GACI;AACtD,WAAO,KAAK,WAAW,qBAAqB,iBAAiB;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,yBACI,oBAAqD,CAAC,GACI;AAC1D,WAAO,KAAK,WAAW,yBAAyB,iBAAiB;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,kCACI,mBACmE;AACnE,WAAO,KAAK,WAAW,kCAAkC,iBAAiB;AAAA,EAC9E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,kCACI,mBACmE;AACnE,WAAO,KAAK,WAAW,kCAAkC,iBAAiB;AAAA,EAC9E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,wCACI,mBACyE;AACzE,WAAO,KAAK,WAAW,wCAAwC,iBAAiB;AAAA,EACpF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,mBACI,oBAA+C,CAAC,GACI;AACpD,WAAO,KAAK,WAAW,mBAAmB,iBAAiB;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,2BACI,mBAC4D;AAC5D,WAAO,KAAK,WAAW,2BAA2B,iBAAiB;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,2BACI,mBAC4D;AAC5D,WAAO,KAAK,WAAW,2BAA2B,iBAAiB;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,gBACI,mBACiD;AACjD,WAAO,KAAK,WAAW,gBAAgB,iBAAiB;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,oDACI,oBAAgF,CAAC,GACI;AACrF,WAAO,KAAK,WAAW;AAAA,MACnB;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,2BACI,oBAAuD,CAAC,GACI;AAC5D,WAAO,KAAK,WAAW,2BAA2B,iBAAiB;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,sBACI,mBACuD;AACvD,WAAO,KAAK,WAAW,sBAAsB,iBAAiB;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,uBACI,mBACwD;AACxD,WAAO,KAAK,WAAW,uBAAuB,iBAAiB;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,uBACI,mBACwD;AACxD,WAAO,KAAK,WAAW,uBAAuB,iBAAiB;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,mDACI,oBAA+E,CAAC,GACI;AACpF,WAAO,KAAK,WAAW;AAAA,MACnB;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,2BACI,oBAAuD,CAAC,GACI;AAC5D,WAAO,KAAK,WAAW,2BAA2B,iBAAiB;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,2CACI,mBAC4E;AAC5E,WAAO,KAAK,WAAW,2CAA2C,iBAAiB;AAAA,EACvF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,mBACI,oBAA+C,CAAC,GACI;AACpD,WAAO,KAAK,WAAW,mBAAmB,iBAAiB;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,4BACI,oBAAwD,CAAC,GACI;AAC7D,WAAO,KAAK,WAAW,4BAA4B,iBAAiB;AAAA,EACxE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,8BACI,oBAA0D,CAAC,GACI;AAC/D,WAAO,KAAK,WAAW,8BAA8B,iBAAiB;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,6BACI,oBAAyD,CAAC,GACI;AAC9D,WAAO,KAAK,WAAW,6BAA6B,iBAAiB;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,8BACI,oBAA0D,CAAC,GACI;AAC/D,WAAO,KAAK,WAAW,8BAA8B,iBAAiB;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,mBAAmD;AAC/C,WAAO,KAAK,cAAc,iBAAiB;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,iCACI,mBACkE;AAClE,WAAO,KAAK,SAAS,iCAAiC,iBAAiB;AAAA,EAC3E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,sBACI,mBACuD;AACvD,WAAO,KAAK,SAAS,sBAAsB,iBAAiB;AAAA,EAChE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,iCACI,mBACkE;AAClE,WAAO,KAAK,SAAS,iCAAiC,iBAAiB;AAAA,EAC3E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,sBACI,mBACuD;AACvD,WAAO,KAAK,SAAS,sBAAsB,iBAAiB;AAAA,EAChE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,yBACI,mBAC0D;AAC1D,WAAO,KAAK,SAAS,yBAAyB,iBAAiB;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,cACI,mBAC+C;AAC/C,WAAO,KAAK,SAAS,cAAc,iBAAiB;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,0CACI,mBAC2E;AAC3E,WAAO,KAAK,SAAS,0CAA0C,iBAAiB;AAAA,EACpF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,6BACI,mBAC8D;AAC9D,WAAO,KAAK,SAAS,6BAA6B,iBAAiB;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,yBACI,mBAC0D;AAC1D,WAAO,KAAK,SAAS,yBAAyB,iBAAiB;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,yBACI,mBAC0D;AAC1D,WAAO,KAAK,SAAS,yBAAyB,iBAAiB;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,cACI,mBAC+C;AAC/C,WAAO,KAAK,SAAS,cAAc,iBAAiB;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,mBACI,oBAA+C,CAAC,GACI;AACpD,WAAO,KAAK,SAAS,mBAAmB,iBAAiB;AAAA,EAC7D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,gCACI,oBAA4D,CAAC,GACI;AACjE,WAAO,KAAK,SAAS,gCAAgC,iBAAiB;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,0BACI,oBAAsD,CAAC,GACI;AAC3D,WAAO,KAAK,SAAS,0BAA0B,iBAAiB;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,oBACI,mBACqD;AACrD,WAAO,KAAK,SAAS,oBAAoB,iBAAiB;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBA,oBACI,mBACqD;AACrD,WAAO,KAAK,SAAS,oBAAoB,iBAAiB;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,mBACI,mBACoD;AACpD,WAAO,KAAK,SAAS,mBAAmB,iBAAiB;AAAA,EAC7D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,uBACI,mBACwD;AACxD,WAAO,KAAK,SAAS,uBAAuB,iBAAiB;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,uBACI,mBACwD;AACxD,WAAO,KAAK,SAAS,uBAAuB,iBAAiB;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,cACI,mBAC+C;AAC/C,WAAO,KAAK,SAAS,cAAc,iBAAiB;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,cACI,mBAC+C;AAC/C,WAAO,KAAK,SAAS,cAAc,iBAAiB;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsCA,sBACI,mBACuD;AACvD,WAAO,KAAK,SAAS,sBAAsB,iBAAiB;AAAA,EAChE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,WAAW,mBAAoF;AAC3F,WAAO,KAAK,SAAS,WAAW,iBAAiB;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,eACI,mBACgD;AAChD,WAAO,KAAK,SAAS,eAAe,iBAAiB;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwCA,sBACI,mBACuD;AACvD,WAAO,KAAK,SAAS,sBAAsB,iBAAiB;AAAA,EAChE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,WAAW,mBAAoF;AAC3F,WAAO,KAAK,SAAS,WAAW,iBAAiB;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,4BACI,oBAAwD,CAAC,GACI;AAC7D,WAAO,KAAK,SAAS,4BAA4B,iBAAiB;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,iBACI,mBACkD;AAClD,WAAO,KAAK,SAAS,iBAAiB,iBAAiB;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,uCACI,oBAAmE,CAAC,GACI;AACxE,WAAO,KAAK,SAAS,uCAAuC,iBAAiB;AAAA,EACjF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,4BACI,oBAAwD,CAAC,GACI;AAC7D,WAAO,KAAK,SAAS,4BAA4B,iBAAiB;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,uCACI,oBAAmE,CAAC,GACI;AACxE,WAAO,KAAK,SAAS,uCAAuC,iBAAiB;AAAA,EACjF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,4BACI,oBAAwD,CAAC,GACI;AAC7D,WAAO,KAAK,SAAS,4BAA4B,iBAAiB;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,4BACI,mBAC6D;AAC7D,WAAO,KAAK,SAAS,4BAA4B,iBAAiB;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,4BACI,oBAAwD,CAAC,GACI;AAC7D,WAAO,KAAK,SAAS,4BAA4B,iBAAiB;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,iBACI,mBACkD;AAClD,WAAO,KAAK,SAAS,iBAAiB,iBAAiB;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,+BACI,mBACgE;AAChE,WAAO,KAAK,SAAS,+BAA+B,iBAAiB;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,0BACI,mBAC2D;AAC3D,WAAO,KAAK,SAAS,0BAA0B,iBAAiB;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,aACI,mBAC8C;AAC9C,WAAO,KAAK,SAAS,aAAa,iBAAiB;AAAA,EACvD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,mCACI,mBACoE;AACpE,WAAO,KAAK,SAAS,mCAAmC,iBAAiB;AAAA,EAC7E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,wBACI,mBACyD;AACzD,WAAO,KAAK,SAAS,wBAAwB,iBAAiB;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,4BACI,mBAC6D;AAC7D,WAAO,KAAK,SAAS,4BAA4B,iBAAiB;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,mCACI,mBACoE;AACpE,WAAO,KAAK,SAAS,mCAAmC,iBAAiB;AAAA,EAC7E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,wBACI,mBACyD;AACzD,WAAO,KAAK,SAAS,wBAAwB,iBAAiB;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,wBACI,mBACyD;AACzD,WAAO,KAAK,SAAS,wBAAwB,iBAAiB;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,0BACI,oBAAsD,CAAC,GACI;AAC3D,WAAO,KAAK,SAAS,0BAA0B,iBAAiB;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,uBACI,oBAAmD,CAAC,GACI;AACxD,WAAO,KAAK,SAAS,uBAAuB,iBAAiB;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,2BACI,oBAAuD,CAAC,GACI;AAC5D,WAAO,KAAK,SAAS,2BAA2B,iBAAiB;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,+BACI,mBACgE;AAChE,WAAO,KAAK,SAAS,+BAA+B,iBAAiB;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,0BACI,mBAC2D;AAC3D,WAAO,KAAK,SAAS,0BAA0B,iBAAiB;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,aACI,mBAC8C;AAC9C,WAAO,KAAK,SAAS,aAAa,iBAAiB;AAAA,EACvD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,wBACI,oBAAoD,CAAC,GACI;AACzD,WAAO,KAAK,SAAS,wBAAwB,iBAAiB;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,4BACI,oBAAwD,CAAC,GACI;AAC7D,WAAO,KAAK,SAAS,4BAA4B,iBAAiB;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,wBACI,oBAAoD,CAAC,GACI;AACzD,WAAO,KAAK,SAAS,wBAAwB,iBAAiB;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,8BACI,mBAC+D;AAC/D,WAAO,KAAK,SAAS,8BAA8B,iBAAiB;AAAA,EACxE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,mBACI,mBACoD;AACpD,WAAO,KAAK,SAAS,mBAAmB,iBAAiB;AAAA,EAC7D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,gCACI,oBAA4D,CAAC,GACI;AACjE,WAAO,KAAK,SAAS,gCAAgC,iBAAiB;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,sBAAsD;AAClD,WAAO,KAAK,mBAAmB,oBAAoB;AAAA,EACvD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,0BAA0D;AACtD,WAAO,KAAK,mBAAmB,wBAAwB;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,sBAA6E;AACzE,WAAO,KAAK,mBAAmB,oBAAoB;AAAA,EACvD;AACJ;;;APzuEO,IAAM,oCAAN,MAAwC;AAAA,EAG3C,YAAY,QAAwD;AAChE,UAAM,YAAY,eAAe,MAAM,OAAO;AAE9C,QAAI,QAAQ,sBAAsB;AAC9B,YAAM,gBAAgB,IAAIC;AAAA,QACtB,OAAO;AAAA,MACX;AAGA,oBAAc,WACV,cAAc,YAAY;AAC9B,oBAAc,cAAc,cAAc,eAAe,CAAC;AAC1D,oBAAc,YAAY,UAAU;AAAA,QAChC,GAAI,cAAc,YAAY,WAAW,CAAC;AAAA,QAC1C,cAAc;AAAA,MAClB;AACA,WAAK,UAAU,IAAI,QAAQ,aAAa;AAAA,IAC5C;AAAA,EACJ;AACJ;;;AQ5BA;AAAA,EACI,0DAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;","names":["ConfigurationRestAPI","sendRequest","assertParamExists","sendRequest","MarginAccountNewOcoSideEnum","MarginAccountNewOcoStopLimitTimeInForceEnum","MarginAccountNewOcoNewOrderRespTypeEnum","MarginAccountNewOcoSideEffectTypeEnum","ModifyCmOrderSideEnum","ModifyCmOrderPriceMatchEnum","ModifyUmOrderSideEnum","ModifyUmOrderPriceMatchEnum","NewCmConditionalOrderSideEnum","NewCmConditionalOrderStrategyTypeEnum","NewCmConditionalOrderPositionSideEnum","NewCmConditionalOrderTimeInForceEnum","NewCmConditionalOrderWorkingTypeEnum","NewCmOrderSideEnum","NewCmOrderTypeEnum","NewCmOrderPositionSideEnum","NewCmOrderTimeInForceEnum","NewCmOrderPriceMatchEnum","NewCmOrderNewOrderRespTypeEnum","NewMarginOrderSideEnum","NewMarginOrderTypeEnum","NewMarginOrderNewOrderRespTypeEnum","NewMarginOrderSideEffectTypeEnum","NewMarginOrderTimeInForceEnum","NewMarginOrderSelfTradePreventionModeEnum","NewUmConditionalOrderSideEnum","NewUmConditionalOrderStrategyTypeEnum","NewUmConditionalOrderPositionSideEnum","NewUmConditionalOrderTimeInForceEnum","NewUmConditionalOrderWorkingTypeEnum","NewUmConditionalOrderPriceMatchEnum","NewUmConditionalOrderSelfTradePreventionModeEnum","NewUmOrderSideEnum","NewUmOrderTypeEnum","NewUmOrderPositionSideEnum","NewUmOrderTimeInForceEnum","NewUmOrderNewOrderRespTypeEnum","NewUmOrderPriceMatchEnum","NewUmOrderSelfTradePreventionModeEnum","QueryUsersCmForceOrdersAutoCloseTypeEnum","QueryUsersUmForceOrdersAutoCloseTypeEnum","sendRequest","sendRequest","sendRequest","ConfigurationRestAPI","DERIVATIVES_TRADING_PORTFOLIO_MARGIN_REST_API_PROD_URL"]}