funhi-chart 1.3.5 → 1.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/validators/CandleValidator.ts","../src/core/CandleManager.ts","../src/core/TimeframeManager.ts","../node_modules/fancy-canvas/size.mjs","../node_modules/fancy-canvas/device-pixel-ratio.mjs","../node_modules/fancy-canvas/canvas-element-bitmap-size.mjs","../node_modules/fancy-canvas/canvas-rendering-target.mjs","../node_modules/lightweight-charts/dist/lightweight-charts.production.mjs","../src/core/ChartRenderer.ts","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/index.js","../src/config/environment.ts","../src/services/candleStorage.ts","../src/adapters/CandleStorageAdapter.ts","../src/handlers/RealTimeUpdateHandler.ts","../src/core/FunhiChartController.ts","../src/hooks/useSocket.ts","../src/hooks/useOptimizedTokenAnalytics.ts","../src/utils/candleAggregation.ts","../src/components/FunhiChart.tsx"],"sourcesContent":["/**\r\n * CandleValidator - Validates and enforces candle data integrity\r\n */\r\nimport { CandleData } from '../core/types';\r\n\r\nexport class CandleValidator {\r\n /**\r\n * Minimum body size as percentage of price (0.01%)\r\n */\r\n private static readonly MIN_BODY_PERCENTAGE = 0.0001;\r\n \r\n /**\r\n * Absolute minimum body size in price units\r\n */\r\n private static readonly MIN_BODY_ABSOLUTE = 0.01;\r\n\r\n /**\r\n * Validates if a candle has valid OHLC data\r\n */\r\n static validate(candle: CandleData): boolean {\r\n return (\r\n candle &&\r\n candle.time > 0 &&\r\n candle.open > 0 &&\r\n candle.high > 0 &&\r\n candle.low > 0 &&\r\n candle.close > 0 &&\r\n isFinite(candle.open) &&\r\n isFinite(candle.high) &&\r\n isFinite(candle.low) &&\r\n isFinite(candle.close) &&\r\n candle.high >= Math.max(candle.open, candle.close) &&\r\n candle.low <= Math.min(candle.open, candle.close)\r\n );\r\n }\r\n\r\n /**\r\n * Ensures candle has minimum body size for visibility\r\n */\r\n static ensureMinimumBodySize(candle: CandleData, minBodySize?: number): CandleData {\r\n const effectiveMinBodySize = minBodySize || \r\n Math.max(candle.open * this.MIN_BODY_PERCENTAGE, this.MIN_BODY_ABSOLUTE);\r\n \r\n const priceDiff = Math.abs(candle.open - candle.close);\r\n const currentBodySize = Math.abs(candle.close - candle.open);\r\n \r\n // If body is already visible, return as-is\r\n if (currentBodySize >= effectiveMinBodySize) {\r\n return candle;\r\n }\r\n\r\n // Determine direction\r\n let direction: number;\r\n if (priceDiff > 0.0001) {\r\n direction = candle.close >= candle.open ? 1 : -1;\r\n } else {\r\n // If no clear direction, default to upward\r\n direction = 1;\r\n }\r\n\r\n // Enforce minimum body size\r\n const enforcedClose = candle.open + (direction * effectiveMinBodySize);\r\n \r\n return {\r\n ...candle,\r\n close: enforcedClose,\r\n high: Math.max(candle.high, enforcedClose),\r\n low: Math.min(candle.low, enforcedClose)\r\n };\r\n }\r\n\r\n /**\r\n * Validates and corrects OHLC data integrity\r\n */\r\n static validateOHLC(candle: CandleData): CandleData {\r\n return {\r\n ...candle,\r\n high: Math.max(candle.open, candle.high, candle.close),\r\n low: Math.min(candle.open, candle.low, candle.close)\r\n };\r\n }\r\n\r\n /**\r\n * Checks if a candle belongs to the current time bucket\r\n */\r\n static isCurrentBucket(\r\n candle: CandleData, \r\n timeframeSeconds: number, \r\n timestamp: number\r\n ): boolean {\r\n const currentTime = Math.floor(timestamp / 1000);\r\n const currentBucket = Math.floor(currentTime / timeframeSeconds) * timeframeSeconds;\r\n return candle.time === currentBucket;\r\n }\r\n\r\n /**\r\n * Validates price data\r\n */\r\n static validatePrice(price: number): boolean {\r\n return price > 0 && isFinite(price);\r\n }\r\n\r\n /**\r\n * Calculates minimum body size for a given price\r\n */\r\n static calculateMinBodySize(price: number): number {\r\n return Math.max(price * this.MIN_BODY_PERCENTAGE, this.MIN_BODY_ABSOLUTE);\r\n }\r\n}\r\n\r\n","/**\n * CandleManager - Manages candle creation, updates, and validation for a single timeframe\n * This class eliminates code duplication by handling all timeframe logic generically\n */\nimport { CandleData, CandleUpdateResult } from './types';\nimport { CandleValidator } from '../validators/CandleValidator';\n\nexport class CandleManager {\n private timeframeSeconds: number;\n private candles: CandleData[] = [];\n private currentCandle: CandleData | null = null;\n private lastCandleTime: number = 0;\n private lastProcessedTimestamp: number = 0;\n private readonly debounceMs: number = 50;\n\n constructor(timeframeSeconds: number) {\n this.timeframeSeconds = timeframeSeconds;\n }\n\n /**\n * Main method: Creates a new candle or updates the current one\n */\n createOrUpdate(price: number, timestamp: number): CandleUpdateResult | null {\n // Debounce check\n const now = Date.now();\n if (this.lastProcessedTimestamp && (now - this.lastProcessedTimestamp) < this.debounceMs) {\n return null;\n }\n this.lastProcessedTimestamp = now;\n\n // Validate price\n if (!CandleValidator.validatePrice(price)) {\n console.warn(`⚠️ [CandleManager-${this.timeframeSeconds}s] Invalid price data: ${price}`);\n return null;\n }\n\n const currentTime = Math.floor(timestamp / 1000);\n const bucketStart = this.calculateBucketStart(currentTime);\n\n // Check if we need to create a new candle\n if (bucketStart !== this.lastCandleTime) {\n return this.createNewCandle(price, timestamp, bucketStart);\n }\n\n // Update existing candle\n if (this.currentCandle) {\n return this.updateCurrentCandle(price, timestamp, bucketStart);\n }\n\n return null;\n }\n\n /**\n * Creates a new candle at bucket boundary\n */\n private createNewCandle(\n price: number, \n timestamp: number, \n bucketStart: number\n ): CandleUpdateResult {\n // Get previous candle's close price\n const previousCandleClose = this.getPreviousCandleClose(bucketStart);\n const previousCandleDirection = this.getPreviousCandleDirection();\n\n // Finalize previous candle if it exists\n if (this.currentCandle && this.isValidCandle(this.currentCandle)) {\n const finalizedCandle = CandleValidator.validateOHLC(this.currentCandle);\n this.addCandleToHistory(finalizedCandle);\n }\n\n // Use previous close as open price, or fallback to current price\n const openPrice = previousCandleClose ?? price;\n \n if (previousCandleClose === null) {\n console.warn(\n `⚠️ [CandleManager-${this.timeframeSeconds}s] No previous candle close found, using current price: $${price.toFixed(2)}`\n );\n }\n\n // Create new candle with minimum body size enforcement\n const newCandle = this.buildNewCandle(\n bucketStart,\n openPrice,\n price,\n previousCandleDirection\n );\n\n // Update state\n this.currentCandle = newCandle;\n this.lastCandleTime = bucketStart;\n this.addCandleToHistory(newCandle);\n\n console.log(\n `🆕 [CandleManager-${this.timeframeSeconds}s] New candle: time=${bucketStart}, open=$${openPrice.toFixed(2)}, close=$${newCandle.close.toFixed(2)}`\n );\n\n return {\n candle: newCandle,\n isNewCandle: true,\n wasUpdated: false\n };\n }\n\n /**\n * Updates the current candle with new price data\n */\n private updateCurrentCandle(\n price: number,\n timestamp: number,\n currentBucket: number\n ): CandleUpdateResult | null {\n // Verify this is actually the current candle\n if (this.currentCandle!.time !== currentBucket) {\n console.warn(\n `⚠️ [CandleManager-${this.timeframeSeconds}s] Skipping update for historical candle (time: ${this.currentCandle!.time}, current: ${currentBucket})`\n );\n return null;\n }\n\n // Validate existing candle\n if (!this.isValidCandle(this.currentCandle!)) {\n console.warn(`⚠️ [CandleManager-${this.timeframeSeconds}s] Invalid existing candle, recreating`);\n const recreatedCandle: CandleData = {\n time: this.currentCandle!.time,\n open: price,\n high: price,\n low: price,\n close: price,\n volume: 0\n };\n this.currentCandle = recreatedCandle;\n this.updateCandleInHistory(recreatedCandle, currentBucket);\n return {\n candle: recreatedCandle,\n isNewCandle: false,\n wasUpdated: true\n };\n }\n\n // Update candle with price preservation logic\n const updatedCandle = this.updateCandlePrice(this.currentCandle!, price);\n \n // Final validation\n const validatedCandle = CandleValidator.validateOHLC(updatedCandle);\n \n // Only update if it's the current bucket\n if (validatedCandle.time !== currentBucket) {\n console.warn(\n `⚠️ [CandleManager-${this.timeframeSeconds}s] Prevented update of historical candle: time=${validatedCandle.time}, currentBucket=${currentBucket}`\n );\n return {\n candle: validatedCandle,\n isNewCandle: false,\n wasUpdated: false\n };\n }\n\n this.currentCandle = validatedCandle;\n this.updateCandleInHistory(validatedCandle, currentBucket);\n\n return {\n candle: validatedCandle,\n isNewCandle: false,\n wasUpdated: true\n };\n }\n\n /**\n * Updates candle price while preserving minimum body size\n */\n private updateCandlePrice(candle: CandleData, price: number): CandleData {\n const minBodySize = CandleValidator.calculateMinBodySize(candle.open);\n const priceDiff = Math.abs(candle.open - price);\n const currentBodySize = Math.abs(candle.close - candle.open);\n \n // Check if candle has minimum body size (within 10x range)\n const hasMinimumBody = currentBodySize > 0 && currentBodySize <= minBodySize * 10.0;\n \n let closePrice = price;\n\n // Preserve minimum body size if candle already has one\n if (hasMinimumBody && candle.open > 0) {\n if (priceDiff < minBodySize * 100) {\n // Preserve minimum body but use current price direction\n const currentPriceDirection = price >= candle.open ? 1 : -1;\n closePrice = candle.open + (currentPriceDirection * minBodySize);\n } else {\n // Price moved significantly - use actual price but ensure minimum\n closePrice = price;\n const finalBodySize = Math.abs(closePrice - candle.open);\n if (finalBodySize < minBodySize) {\n const newPriceDirection = price >= candle.open ? 1 : -1;\n closePrice = candle.open + (newPriceDirection * minBodySize);\n }\n }\n } else if (priceDiff < minBodySize && candle.open > 0) {\n // Candle doesn't have minimum body, but new price would make it invisible\n const newPriceDirection = price >= candle.open ? 1 : -1;\n closePrice = candle.open + (newPriceDirection * minBodySize);\n }\n\n // Final safety check: always ensure minimum body size\n const finalBodySize = Math.abs(closePrice - candle.open);\n if (finalBodySize < minBodySize && candle.open > 0) {\n let direction: number;\n if (price !== candle.open && Math.abs(price - candle.open) > 0.0001) {\n direction = price >= candle.open ? 1 : -1;\n } else if (candle.close !== candle.open && Math.abs(candle.close - candle.open) > 0.0001) {\n direction = candle.close >= candle.open ? 1 : -1;\n } else {\n direction = 1; // Default upward\n }\n closePrice = candle.open + (direction * minBodySize);\n }\n\n return {\n ...candle,\n high: Math.max(candle.high, price, closePrice),\n low: Math.min(candle.low, price, closePrice),\n close: closePrice\n };\n }\n\n /**\n * Builds a new candle with minimum body size enforcement\n */\n private buildNewCandle(\n bucketStart: number,\n openPrice: number,\n currentPrice: number,\n previousDirection: number\n ): CandleData {\n const minBodySize = CandleValidator.calculateMinBodySize(openPrice);\n const priceDiff = Math.abs(openPrice - currentPrice);\n let closePrice = currentPrice;\n\n // Enforce minimum body size for new candles\n if (priceDiff < minBodySize) {\n let newPriceDirection: number;\n if (priceDiff === 0 || Math.abs(currentPrice - openPrice) < 0.0001) {\n newPriceDirection = previousDirection ?? 1;\n } else {\n newPriceDirection = currentPrice >= openPrice ? 1 : -1;\n }\n closePrice = openPrice + (newPriceDirection * minBodySize);\n }\n\n // Additional safety check\n const finalBodySize = Math.abs(closePrice - openPrice);\n if (finalBodySize < minBodySize && openPrice > 0) {\n const direction = (currentPrice >= openPrice) || (previousDirection === 1) ? 1 : -1;\n closePrice = openPrice + (direction * minBodySize);\n }\n\n return {\n time: bucketStart,\n open: openPrice,\n high: Math.max(openPrice, closePrice, currentPrice),\n low: Math.min(openPrice, closePrice, currentPrice),\n close: closePrice,\n volume: 0\n };\n }\n\n /**\n * Gets the previous candle's close price\n */\n private getPreviousCandleClose(bucketStart: number): number | null {\n // Method 1: Get from current candle ref if it's from previous bucket\n if (this.currentCandle && \n this.currentCandle.close > 0 && \n isFinite(this.currentCandle.close) &&\n this.currentCandle.time < bucketStart) {\n return this.currentCandle.close;\n }\n\n // Method 2: Get from candles array\n if (this.candles.length > 0) {\n const sortedCandles = [...this.candles].sort((a, b) => b.time - a.time);\n const lastCandle = sortedCandles.find(\n c => c.time < bucketStart && c.close > 0 && isFinite(c.close)\n );\n if (lastCandle) {\n return lastCandle.close;\n }\n }\n\n // Method 3: Use current candle ref as fallback\n if (this.currentCandle && \n this.currentCandle.close > 0 && \n isFinite(this.currentCandle.close)) {\n return this.currentCandle.close;\n }\n\n return null;\n }\n\n /**\n * Gets the previous candle's direction (1 for bullish, -1 for bearish)\n */\n private getPreviousCandleDirection(): number {\n if (this.currentCandle && this.currentCandle.open > 0) {\n return this.currentCandle.close >= this.currentCandle.open ? 1 : -1;\n }\n return 1; // Default to bullish\n }\n\n /**\n * Calculates bucket start time for a given timestamp\n */\n private calculateBucketStart(timestamp: number): number {\n return Math.floor(timestamp / this.timeframeSeconds) * this.timeframeSeconds;\n }\n\n /**\n * Checks if a candle has valid data\n */\n private isValidCandle(candle: CandleData): boolean {\n return (\n candle.open > 0 &&\n candle.high > 0 &&\n candle.low > 0 &&\n candle.close > 0\n );\n }\n\n /**\n * Adds a candle to history\n */\n private addCandleToHistory(candle: CandleData): void {\n const existingIndex = this.candles.findIndex(c => c.time === candle.time);\n if (existingIndex >= 0) {\n this.candles[existingIndex] = candle;\n } else {\n this.candles.push(candle);\n this.candles.sort((a, b) => a.time - b.time);\n }\n }\n\n /**\n * Updates a candle in history (only if it matches current bucket)\n */\n private updateCandleInHistory(candle: CandleData, currentBucket: number): void {\n if (candle.time !== currentBucket) {\n return;\n }\n\n const existingIndex = this.candles.findIndex(c => c.time === currentBucket);\n if (existingIndex >= 0 && this.candles[existingIndex].time === currentBucket) {\n this.candles[existingIndex] = candle;\n } else if (candle.time === currentBucket) {\n this.candles.push(candle);\n this.candles.sort((a, b) => a.time - b.time);\n }\n }\n\n // Public getters\n getCandles(): CandleData[] {\n return [...this.candles];\n }\n\n getCurrentCandle(): CandleData | null {\n return this.currentCandle;\n }\n\n getLastCandleTime(): number {\n return this.lastCandleTime;\n }\n\n /**\n * Loads candles from storage\n * CRITICAL: Merges with existing candles instead of replacing them\n * Preserves current candle if it's newer than loaded candles\n * Also checks if currentCandle is stale and resets it if needed\n */\n loadCandles(candles: CandleData[]): void {\n if (candles.length === 0) return;\n\n // Remove duplicates and validate\n const validatedCandles = candles.map(candle => {\n const validatedCandle = CandleValidator.ensureMinimumBodySize(candle);\n return CandleValidator.validateOHLC(validatedCandle);\n });\n\n // Merge with existing candles (don't replace!)\n validatedCandles.forEach(validated => {\n const existingIndex = this.candles.findIndex(c => c.time === validated.time);\n if (existingIndex >= 0) {\n // Update existing candle\n this.candles[existingIndex] = validated;\n } else {\n // Add new candle\n this.candles.push(validated);\n }\n });\n\n // Sort candles by time\n this.candles.sort((a, b) => a.time - b.time);\n\n // CRITICAL: Check if currentCandle is stale (from an old bucket)\n const currentTime = Math.floor(Date.now() / 1000);\n const currentBucket = this.calculateBucketStart(currentTime);\n const isCurrentCandleStale = this.currentCandle && \n this.currentCandle.time !== currentBucket && \n this.currentCandle.time < currentBucket;\n\n // CRITICAL: Only update currentCandle if we don't have one, or if loaded candles are newer\n if (this.candles.length > 0) {\n // Find the newest candle from loaded candles\n const lastLoadedCandle = validatedCandles.reduce((newest, candle) => \n candle.time > newest.time ? candle : newest\n );\n const lastLoadedTime = lastLoadedCandle.time;\n \n // If currentCandle is stale, we should reset it to allow new candles to be created\n if (isCurrentCandleStale && this.currentCandle) {\n const staleCandleTime = this.currentCandle.time;\n // Finalize the stale candle and add to history\n const finalizedCandle = CandleValidator.validateOHLC(this.currentCandle);\n const existingIndex = this.candles.findIndex(c => c.time === finalizedCandle.time);\n if (existingIndex >= 0) {\n this.candles[existingIndex] = finalizedCandle;\n } else {\n this.candles.push(finalizedCandle);\n this.candles.sort((a, b) => a.time - b.time);\n }\n // Reset currentCandle to allow new bucket to be created\n this.currentCandle = null;\n this.lastCandleTime = 0;\n console.log(\n `🔄 [CandleManager-${this.timeframeSeconds}s] Reset stale currentCandle (was: ${staleCandleTime}, current bucket: ${currentBucket})`\n );\n }\n \n // Only update currentCandle if:\n // 1. We don't have a current candle, OR\n // 2. The loaded candle is newer than our current candle AND matches current bucket\n if (!this.currentCandle) {\n // If loaded candle matches current bucket, use it; otherwise leave null for new candle creation\n if (lastLoadedTime === currentBucket) {\n this.currentCandle = lastLoadedCandle;\n this.lastCandleTime = lastLoadedTime;\n }\n } else if (lastLoadedTime > this.lastCandleTime && lastLoadedTime === currentBucket) {\n // Only update if loaded candle is newer AND matches current bucket\n this.currentCandle = lastLoadedCandle;\n this.lastCandleTime = lastLoadedTime;\n } else {\n // Preserve existing currentCandle, but ensure it's in the history\n if (this.currentCandle) {\n const currentIndex = this.candles.findIndex(c => c.time === this.currentCandle!.time);\n if (currentIndex >= 0) {\n // Update the candle in history with current candle data\n this.candles[currentIndex] = this.currentCandle;\n } else {\n // Add current candle to history if it's not there\n this.candles.push(this.currentCandle);\n this.candles.sort((a, b) => a.time - b.time);\n }\n }\n }\n }\n }\n\n /**\n * Directly updates candle from external source (e.g., WebSocket)\n */\n updateFromExternal(candle: CandleData, currentBucket: number): void {\n if (candle.time !== currentBucket) {\n console.warn(\n `⚠️ [CandleManager-${this.timeframeSeconds}s] Skipping external update for historical candle`\n );\n return;\n }\n\n // Ensure minimum body size\n const validatedCandle = CandleValidator.ensureMinimumBodySize(candle);\n const finalCandle = CandleValidator.validateOHLC(validatedCandle);\n\n this.currentCandle = finalCandle;\n this.lastCandleTime = finalCandle.time;\n this.updateCandleInHistory(finalCandle, currentBucket);\n }\n\n /**\n * Resets the manager (useful for cleanup)\n */\n reset(): void {\n this.candles = [];\n this.currentCandle = null;\n this.lastCandleTime = 0;\n this.lastProcessedTimestamp = 0;\n }\n}\n\n","/**\r\n * TimeframeManager - Orchestrates multiple timeframes and coordinates updates\r\n */\r\nimport { CandleManager } from './CandleManager';\r\nimport { CandleData, TimeFrame } from './types';\r\n\r\nexport class TimeframeManager {\r\n private managers: Map<number, CandleManager>;\r\n private timeframes: TimeFrame[];\r\n\r\n constructor(timeframes: TimeFrame[]) {\r\n this.timeframes = timeframes;\r\n this.managers = new Map();\r\n \r\n // Initialize managers for each timeframe\r\n timeframes.forEach(tf => {\r\n this.managers.set(tf.seconds, new CandleManager(tf.seconds));\r\n });\r\n }\r\n\r\n /**\r\n * Gets the manager for a specific timeframe\r\n */\r\n getManager(seconds: number): CandleManager | undefined {\r\n return this.managers.get(seconds);\r\n }\r\n\r\n /**\r\n * Updates all timeframes with new price data\r\n */\r\n updateAll(price: number, timestamp: number): void {\r\n this.managers.forEach(manager => {\r\n manager.createOrUpdate(price, timestamp);\r\n });\r\n }\r\n\r\n /**\r\n * Gets candles for a specific timeframe\r\n */\r\n getCandles(seconds: number): CandleData[] {\r\n const manager = this.managers.get(seconds);\r\n return manager ? manager.getCandles() : [];\r\n }\r\n\r\n /**\r\n * Gets current candle for a specific timeframe\r\n */\r\n getCurrentCandle(seconds: number): CandleData | null {\r\n const manager = this.managers.get(seconds);\r\n return manager ? manager.getCurrentCandle() : null;\r\n }\r\n\r\n /**\r\n * Loads candles for a specific timeframe\r\n */\r\n loadCandles(seconds: number, candles: CandleData[]): void {\r\n const manager = this.managers.get(seconds);\r\n if (manager) {\r\n manager.loadCandles(candles);\r\n }\r\n }\r\n\r\n /**\r\n * Updates candle from external source (e.g., WebSocket)\r\n */\r\n updateFromExternal(seconds: number, candle: CandleData, currentBucket: number): void {\r\n const manager = this.managers.get(seconds);\r\n if (manager) {\r\n manager.updateFromExternal(candle, currentBucket);\r\n }\r\n }\r\n\r\n /**\r\n * Gets all available timeframes\r\n */\r\n getTimeframes(): TimeFrame[] {\r\n return [...this.timeframes];\r\n }\r\n\r\n /**\r\n * Resets all managers\r\n */\r\n reset(): void {\r\n this.managers.forEach(manager => manager.reset());\r\n }\r\n}\r\n\r\n","export function size(_a) {\n var width = _a.width, height = _a.height;\n if (width < 0) {\n throw new Error('Negative width is not allowed for Size');\n }\n if (height < 0) {\n throw new Error('Negative height is not allowed for Size');\n }\n return {\n width: width,\n height: height,\n };\n}\nexport function equalSizes(first, second) {\n return (first.width === second.width) &&\n (first.height === second.height);\n}\n","var Observable = /** @class */ (function () {\n function Observable(win) {\n var _this = this;\n this._resolutionListener = function () { return _this._onResolutionChanged(); };\n this._resolutionMediaQueryList = null;\n this._observers = [];\n this._window = win;\n this._installResolutionListener();\n }\n Observable.prototype.dispose = function () {\n this._uninstallResolutionListener();\n this._window = null;\n };\n Object.defineProperty(Observable.prototype, \"value\", {\n get: function () {\n return this._window.devicePixelRatio;\n },\n enumerable: false,\n configurable: true\n });\n Observable.prototype.subscribe = function (next) {\n var _this = this;\n var observer = { next: next };\n this._observers.push(observer);\n return {\n unsubscribe: function () {\n _this._observers = _this._observers.filter(function (o) { return o !== observer; });\n },\n };\n };\n Observable.prototype._installResolutionListener = function () {\n if (this._resolutionMediaQueryList !== null) {\n throw new Error('Resolution listener is already installed');\n }\n var dppx = this._window.devicePixelRatio;\n this._resolutionMediaQueryList = this._window.matchMedia(\"all and (resolution: \".concat(dppx, \"dppx)\"));\n // IE and some versions of Edge do not support addEventListener/removeEventListener, and we are going to use the deprecated addListener/removeListener\n this._resolutionMediaQueryList.addListener(this._resolutionListener);\n };\n Observable.prototype._uninstallResolutionListener = function () {\n if (this._resolutionMediaQueryList !== null) {\n // IE and some versions of Edge do not support addEventListener/removeEventListener, and we are going to use the deprecated addListener/removeListener\n this._resolutionMediaQueryList.removeListener(this._resolutionListener);\n this._resolutionMediaQueryList = null;\n }\n };\n Observable.prototype._reinstallResolutionListener = function () {\n this._uninstallResolutionListener();\n this._installResolutionListener();\n };\n Observable.prototype._onResolutionChanged = function () {\n var _this = this;\n this._observers.forEach(function (observer) { return observer.next(_this._window.devicePixelRatio); });\n this._reinstallResolutionListener();\n };\n return Observable;\n}());\nexport function createObservable(win) {\n return new Observable(win);\n}\n","import { equalSizes, size } from \"./size.mjs\";\nimport { createObservable as createDevicePixelRatioObservable } from \"./device-pixel-ratio.mjs\";\nvar DevicePixelContentBoxBinding = /** @class */ (function () {\n function DevicePixelContentBoxBinding(canvasElement, transformBitmapSize, options) {\n var _a;\n this._canvasElement = null;\n this._bitmapSizeChangedListeners = [];\n this._suggestedBitmapSize = null;\n this._suggestedBitmapSizeChangedListeners = [];\n // devicePixelRatio approach\n this._devicePixelRatioObservable = null;\n // ResizeObserver approach\n this._canvasElementResizeObserver = null;\n this._canvasElement = canvasElement;\n this._canvasElementClientSize = size({\n width: this._canvasElement.clientWidth,\n height: this._canvasElement.clientHeight,\n });\n this._transformBitmapSize = transformBitmapSize !== null && transformBitmapSize !== void 0 ? transformBitmapSize : (function (size) { return size; });\n this._allowResizeObserver = (_a = options === null || options === void 0 ? void 0 : options.allowResizeObserver) !== null && _a !== void 0 ? _a : true;\n this._chooseAndInitObserver();\n // we MAY leave the constuctor without any bitmap size observation mechanics initialized\n }\n DevicePixelContentBoxBinding.prototype.dispose = function () {\n var _a, _b;\n if (this._canvasElement === null) {\n throw new Error('Object is disposed');\n }\n (_a = this._canvasElementResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n this._canvasElementResizeObserver = null;\n (_b = this._devicePixelRatioObservable) === null || _b === void 0 ? void 0 : _b.dispose();\n this._devicePixelRatioObservable = null;\n this._suggestedBitmapSizeChangedListeners.length = 0;\n this._bitmapSizeChangedListeners.length = 0;\n this._canvasElement = null;\n };\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"canvasElement\", {\n get: function () {\n if (this._canvasElement === null) {\n throw new Error('Object is disposed');\n }\n return this._canvasElement;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"canvasElementClientSize\", {\n get: function () {\n return this._canvasElementClientSize;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"bitmapSize\", {\n get: function () {\n return size({\n width: this.canvasElement.width,\n height: this.canvasElement.height,\n });\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Use this function to change canvas element client size until binding is disposed\n * @param clientSize New client size for bound HTMLCanvasElement\n */\n DevicePixelContentBoxBinding.prototype.resizeCanvasElement = function (clientSize) {\n this._canvasElementClientSize = size(clientSize);\n this.canvasElement.style.width = \"\".concat(this._canvasElementClientSize.width, \"px\");\n this.canvasElement.style.height = \"\".concat(this._canvasElementClientSize.height, \"px\");\n this._invalidateBitmapSize();\n };\n DevicePixelContentBoxBinding.prototype.subscribeBitmapSizeChanged = function (listener) {\n this._bitmapSizeChangedListeners.push(listener);\n };\n DevicePixelContentBoxBinding.prototype.unsubscribeBitmapSizeChanged = function (listener) {\n this._bitmapSizeChangedListeners = this._bitmapSizeChangedListeners.filter(function (l) { return l !== listener; });\n };\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"suggestedBitmapSize\", {\n get: function () {\n return this._suggestedBitmapSize;\n },\n enumerable: false,\n configurable: true\n });\n DevicePixelContentBoxBinding.prototype.subscribeSuggestedBitmapSizeChanged = function (listener) {\n this._suggestedBitmapSizeChangedListeners.push(listener);\n };\n DevicePixelContentBoxBinding.prototype.unsubscribeSuggestedBitmapSizeChanged = function (listener) {\n this._suggestedBitmapSizeChangedListeners = this._suggestedBitmapSizeChangedListeners.filter(function (l) { return l !== listener; });\n };\n DevicePixelContentBoxBinding.prototype.applySuggestedBitmapSize = function () {\n if (this._suggestedBitmapSize === null) {\n // nothing to apply\n return;\n }\n var oldSuggestedSize = this._suggestedBitmapSize;\n this._suggestedBitmapSize = null;\n this._resizeBitmap(oldSuggestedSize);\n this._emitSuggestedBitmapSizeChanged(oldSuggestedSize, this._suggestedBitmapSize);\n };\n DevicePixelContentBoxBinding.prototype._resizeBitmap = function (newSize) {\n var oldSize = this.bitmapSize;\n if (equalSizes(oldSize, newSize)) {\n return;\n }\n this.canvasElement.width = newSize.width;\n this.canvasElement.height = newSize.height;\n this._emitBitmapSizeChanged(oldSize, newSize);\n };\n DevicePixelContentBoxBinding.prototype._emitBitmapSizeChanged = function (oldSize, newSize) {\n var _this = this;\n this._bitmapSizeChangedListeners.forEach(function (listener) { return listener.call(_this, oldSize, newSize); });\n };\n DevicePixelContentBoxBinding.prototype._suggestNewBitmapSize = function (newSize) {\n var oldSuggestedSize = this._suggestedBitmapSize;\n var finalNewSize = size(this._transformBitmapSize(newSize, this._canvasElementClientSize));\n var newSuggestedSize = equalSizes(this.bitmapSize, finalNewSize) ? null : finalNewSize;\n if (oldSuggestedSize === null && newSuggestedSize === null) {\n return;\n }\n if (oldSuggestedSize !== null && newSuggestedSize !== null\n && equalSizes(oldSuggestedSize, newSuggestedSize)) {\n return;\n }\n this._suggestedBitmapSize = newSuggestedSize;\n this._emitSuggestedBitmapSizeChanged(oldSuggestedSize, newSuggestedSize);\n };\n DevicePixelContentBoxBinding.prototype._emitSuggestedBitmapSizeChanged = function (oldSize, newSize) {\n var _this = this;\n this._suggestedBitmapSizeChangedListeners.forEach(function (listener) { return listener.call(_this, oldSize, newSize); });\n };\n DevicePixelContentBoxBinding.prototype._chooseAndInitObserver = function () {\n var _this = this;\n if (!this._allowResizeObserver) {\n this._initDevicePixelRatioObservable();\n return;\n }\n isDevicePixelContentBoxSupported()\n .then(function (isSupported) {\n return isSupported ?\n _this._initResizeObserver() :\n _this._initDevicePixelRatioObservable();\n });\n };\n // devicePixelRatio approach\n DevicePixelContentBoxBinding.prototype._initDevicePixelRatioObservable = function () {\n var _this = this;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n var win = canvasElementWindow(this._canvasElement);\n if (win === null) {\n throw new Error('No window is associated with the canvas');\n }\n this._devicePixelRatioObservable = createDevicePixelRatioObservable(win);\n this._devicePixelRatioObservable.subscribe(function () { return _this._invalidateBitmapSize(); });\n this._invalidateBitmapSize();\n };\n DevicePixelContentBoxBinding.prototype._invalidateBitmapSize = function () {\n var _a, _b;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n var win = canvasElementWindow(this._canvasElement);\n if (win === null) {\n return;\n }\n var ratio = (_b = (_a = this._devicePixelRatioObservable) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : win.devicePixelRatio;\n var canvasRects = this._canvasElement.getClientRects();\n var newSize = \n // eslint-disable-next-line no-negated-condition\n canvasRects[0] !== undefined ?\n predictedBitmapSize(canvasRects[0], ratio) :\n size({\n width: this._canvasElementClientSize.width * ratio,\n height: this._canvasElementClientSize.height * ratio,\n });\n this._suggestNewBitmapSize(newSize);\n };\n // ResizeObserver approach\n DevicePixelContentBoxBinding.prototype._initResizeObserver = function () {\n var _this = this;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n this._canvasElementResizeObserver = new ResizeObserver(function (entries) {\n var entry = entries.find(function (entry) { return entry.target === _this._canvasElement; });\n if (!entry || !entry.devicePixelContentBoxSize || !entry.devicePixelContentBoxSize[0]) {\n return;\n }\n var entrySize = entry.devicePixelContentBoxSize[0];\n var newSize = size({\n width: entrySize.inlineSize,\n height: entrySize.blockSize,\n });\n _this._suggestNewBitmapSize(newSize);\n });\n this._canvasElementResizeObserver.observe(this._canvasElement, { box: 'device-pixel-content-box' });\n };\n return DevicePixelContentBoxBinding;\n}());\nexport function bindTo(canvasElement, target) {\n if (target.type === 'device-pixel-content-box') {\n return new DevicePixelContentBoxBinding(canvasElement, target.transform, target.options);\n }\n throw new Error('Unsupported binding target');\n}\nfunction canvasElementWindow(canvasElement) {\n // According to DOM Level 2 Core specification, ownerDocument should never be null for HTMLCanvasElement\n // see https://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#node-ownerDoc\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return canvasElement.ownerDocument.defaultView;\n}\nfunction isDevicePixelContentBoxSupported() {\n return new Promise(function (resolve) {\n var ro = new ResizeObserver(function (entries) {\n resolve(entries.every(function (entry) { return 'devicePixelContentBoxSize' in entry; }));\n ro.disconnect();\n });\n ro.observe(document.body, { box: 'device-pixel-content-box' });\n })\n .catch(function () { return false; });\n}\nfunction predictedBitmapSize(canvasRect, ratio) {\n return size({\n width: Math.round(canvasRect.left * ratio + canvasRect.width * ratio) -\n Math.round(canvasRect.left * ratio),\n height: Math.round(canvasRect.top * ratio + canvasRect.height * ratio) -\n Math.round(canvasRect.top * ratio),\n });\n}\n","/**\n * @experimental\n */\nvar CanvasRenderingTarget2D = /** @class */ (function () {\n function CanvasRenderingTarget2D(context, mediaSize, bitmapSize) {\n if (mediaSize.width === 0 || mediaSize.height === 0) {\n throw new TypeError('Rendering target could only be created on a media with positive width and height');\n }\n this._mediaSize = mediaSize;\n // !Number.isInteger(bitmapSize.width) || !Number.isInteger(bitmapSize.height)\n if (bitmapSize.width === 0 || bitmapSize.height === 0) {\n throw new TypeError('Rendering target could only be created using a bitmap with positive integer width and height');\n }\n this._bitmapSize = bitmapSize;\n this._context = context;\n }\n CanvasRenderingTarget2D.prototype.useMediaCoordinateSpace = function (f) {\n try {\n this._context.save();\n // do not use resetTransform to support old versions of Edge\n this._context.setTransform(1, 0, 0, 1, 0, 0);\n this._context.scale(this._horizontalPixelRatio, this._verticalPixelRatio);\n return f({\n context: this._context,\n mediaSize: this._mediaSize,\n });\n }\n finally {\n this._context.restore();\n }\n };\n CanvasRenderingTarget2D.prototype.useBitmapCoordinateSpace = function (f) {\n try {\n this._context.save();\n // do not use resetTransform to support old versions of Edge\n this._context.setTransform(1, 0, 0, 1, 0, 0);\n return f({\n context: this._context,\n mediaSize: this._mediaSize,\n bitmapSize: this._bitmapSize,\n horizontalPixelRatio: this._horizontalPixelRatio,\n verticalPixelRatio: this._verticalPixelRatio,\n });\n }\n finally {\n this._context.restore();\n }\n };\n Object.defineProperty(CanvasRenderingTarget2D.prototype, \"_horizontalPixelRatio\", {\n get: function () {\n return this._bitmapSize.width / this._mediaSize.width;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CanvasRenderingTarget2D.prototype, \"_verticalPixelRatio\", {\n get: function () {\n return this._bitmapSize.height / this._mediaSize.height;\n },\n enumerable: false,\n configurable: true\n });\n return CanvasRenderingTarget2D;\n}());\nexport { CanvasRenderingTarget2D };\n/**\n * @experimental\n */\nexport function createCanvasRenderingTarget2D(binding, contextOptions) {\n var mediaSize = binding.canvasElementClientSize;\n var bitmapSize = binding.bitmapSize;\n var context = binding.canvasElement.getContext('2d', contextOptions);\n if (context === null) {\n throw new Error('Could not get 2d drawing context from bound canvas element. Has the canvas already been set to a different context mode?');\n }\n return new CanvasRenderingTarget2D(context, mediaSize, bitmapSize);\n}\n/**\n * @experimental\n */\nexport function tryCreateCanvasRenderingTarget2D(binding, contextOptions) {\n var mediaSize = binding.canvasElementClientSize;\n if (mediaSize.width === 0 || mediaSize.height === 0) {\n return null;\n }\n var bitmapSize = binding.bitmapSize;\n if (bitmapSize.width === 0 || bitmapSize.height === 0) {\n return null;\n }\n var context = binding.canvasElement.getContext('2d', contextOptions);\n if (context === null) {\n return null;\n }\n return new CanvasRenderingTarget2D(context, mediaSize, bitmapSize);\n}\n","/*!\n * @license\n * TradingView Lightweight Charts™ v4.2.3\n * Copyright (c) 2025 TradingView, Inc.\n * Licensed under Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0\n */\nimport{size as t,bindCanvasElementBitmapSizeTo as i,equalSizes as n,tryCreateCanvasRenderingTarget2D as s}from\"fancy-canvas\";const e={upColor:\"#26a69a\",downColor:\"#ef5350\",wickVisible:!0,borderVisible:!0,borderColor:\"#378658\",borderUpColor:\"#26a69a\",borderDownColor:\"#ef5350\",wickColor:\"#737375\",wickUpColor:\"#26a69a\",wickDownColor:\"#ef5350\"},r={upColor:\"#26a69a\",downColor:\"#ef5350\",openVisible:!0,thinBars:!0},h={color:\"#2196f3\",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},l={topColor:\"rgba( 46, 220, 135, 0.4)\",bottomColor:\"rgba( 40, 221, 100, 0)\",invertFilledArea:!1,lineColor:\"#33D778\",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},a={baseValue:{type:\"price\",price:0},topFillColor1:\"rgba(38, 166, 154, 0.28)\",topFillColor2:\"rgba(38, 166, 154, 0.05)\",topLineColor:\"rgba(38, 166, 154, 1)\",bottomFillColor1:\"rgba(239, 83, 80, 0.05)\",bottomFillColor2:\"rgba(239, 83, 80, 0.28)\",bottomLineColor:\"rgba(239, 83, 80, 1)\",lineWidth:3,lineStyle:0,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},o={color:\"#26a69a\",base:0},_={color:\"#2196f3\"},u={title:\"\",visible:!0,lastValueVisible:!0,priceLineVisible:!0,priceLineSource:0,priceLineWidth:1,priceLineColor:\"\",priceLineStyle:2,baseLineVisible:!0,baseLineWidth:1,baseLineColor:\"#B2B5BE\",baseLineStyle:0,priceFormat:{type:\"price\",precision:2,minMove:.01}};var c,d;function f(t,i){const n={0:[],1:[t.lineWidth,t.lineWidth],2:[2*t.lineWidth,2*t.lineWidth],3:[6*t.lineWidth,6*t.lineWidth],4:[t.lineWidth,4*t.lineWidth]}[i];t.setLineDash(n)}function v(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(n,i+e),t.lineTo(s,i+e),t.stroke()}function p(t,i){if(!t)throw new Error(\"Assertion failed\"+(i?\": \"+i:\"\"))}function m(t){if(void 0===t)throw new Error(\"Value is undefined\");return t}function b(t){if(null===t)throw new Error(\"Value is null\");return t}function w(t){return b(m(t))}!function(t){t[t.Simple=0]=\"Simple\",t[t.WithSteps=1]=\"WithSteps\",t[t.Curved=2]=\"Curved\"}(c||(c={})),function(t){t[t.Solid=0]=\"Solid\",t[t.Dotted=1]=\"Dotted\",t[t.Dashed=2]=\"Dashed\",t[t.LargeDashed=3]=\"LargeDashed\",t[t.SparseDotted=4]=\"SparseDotted\"}(d||(d={}));const g={khaki:\"#f0e68c\",azure:\"#f0ffff\",aliceblue:\"#f0f8ff\",ghostwhite:\"#f8f8ff\",gold:\"#ffd700\",goldenrod:\"#daa520\",gainsboro:\"#dcdcdc\",gray:\"#808080\",green:\"#008000\",honeydew:\"#f0fff0\",floralwhite:\"#fffaf0\",lightblue:\"#add8e6\",lightcoral:\"#f08080\",lemonchiffon:\"#fffacd\",hotpink:\"#ff69b4\",lightyellow:\"#ffffe0\",greenyellow:\"#adff2f\",lightgoldenrodyellow:\"#fafad2\",limegreen:\"#32cd32\",linen:\"#faf0e6\",lightcyan:\"#e0ffff\",magenta:\"#f0f\",maroon:\"#800000\",olive:\"#808000\",orange:\"#ffa500\",oldlace:\"#fdf5e6\",mediumblue:\"#0000cd\",transparent:\"#0000\",lime:\"#0f0\",lightpink:\"#ffb6c1\",mistyrose:\"#ffe4e1\",moccasin:\"#ffe4b5\",midnightblue:\"#191970\",orchid:\"#da70d6\",mediumorchid:\"#ba55d3\",mediumturquoise:\"#48d1cc\",orangered:\"#ff4500\",royalblue:\"#4169e1\",powderblue:\"#b0e0e6\",red:\"#f00\",coral:\"#ff7f50\",turquoise:\"#40e0d0\",white:\"#fff\",whitesmoke:\"#f5f5f5\",wheat:\"#f5deb3\",teal:\"#008080\",steelblue:\"#4682b4\",bisque:\"#ffe4c4\",aquamarine:\"#7fffd4\",aqua:\"#0ff\",sienna:\"#a0522d\",silver:\"#c0c0c0\",springgreen:\"#00ff7f\",antiquewhite:\"#faebd7\",burlywood:\"#deb887\",brown:\"#a52a2a\",beige:\"#f5f5dc\",chocolate:\"#d2691e\",chartreuse:\"#7fff00\",cornflowerblue:\"#6495ed\",cornsilk:\"#fff8dc\",crimson:\"#dc143c\",cadetblue:\"#5f9ea0\",tomato:\"#ff6347\",fuchsia:\"#f0f\",blue:\"#00f\",salmon:\"#fa8072\",blanchedalmond:\"#ffebcd\",slateblue:\"#6a5acd\",slategray:\"#708090\",thistle:\"#d8bfd8\",tan:\"#d2b48c\",cyan:\"#0ff\",darkblue:\"#00008b\",darkcyan:\"#008b8b\",darkgoldenrod:\"#b8860b\",darkgray:\"#a9a9a9\",blueviolet:\"#8a2be2\",black:\"#000\",darkmagenta:\"#8b008b\",darkslateblue:\"#483d8b\",darkkhaki:\"#bdb76b\",darkorchid:\"#9932cc\",darkorange:\"#ff8c00\",darkgreen:\"#006400\",darkred:\"#8b0000\",dodgerblue:\"#1e90ff\",darkslategray:\"#2f4f4f\",dimgray:\"#696969\",deepskyblue:\"#00bfff\",firebrick:\"#b22222\",forestgreen:\"#228b22\",indigo:\"#4b0082\",ivory:\"#fffff0\",lavenderblush:\"#fff0f5\",feldspar:\"#d19275\",indianred:\"#cd5c5c\",lightgreen:\"#90ee90\",lightgrey:\"#d3d3d3\",lightskyblue:\"#87cefa\",lightslategray:\"#789\",lightslateblue:\"#8470ff\",snow:\"#fffafa\",lightseagreen:\"#20b2aa\",lightsalmon:\"#ffa07a\",darksalmon:\"#e9967a\",darkviolet:\"#9400d3\",mediumpurple:\"#9370d8\",mediumaquamarine:\"#66cdaa\",skyblue:\"#87ceeb\",lavender:\"#e6e6fa\",lightsteelblue:\"#b0c4de\",mediumvioletred:\"#c71585\",mintcream:\"#f5fffa\",navajowhite:\"#ffdead\",navy:\"#000080\",olivedrab:\"#6b8e23\",palevioletred:\"#d87093\",violetred:\"#d02090\",yellow:\"#ff0\",yellowgreen:\"#9acd32\",lawngreen:\"#7cfc00\",pink:\"#ffc0cb\",paleturquoise:\"#afeeee\",palegoldenrod:\"#eee8aa\",darkolivegreen:\"#556b2f\",darkseagreen:\"#8fbc8f\",darkturquoise:\"#00ced1\",peachpuff:\"#ffdab9\",deeppink:\"#ff1493\",violet:\"#ee82ee\",palegreen:\"#98fb98\",mediumseagreen:\"#3cb371\",peru:\"#cd853f\",saddlebrown:\"#8b4513\",sandybrown:\"#f4a460\",rosybrown:\"#bc8f8f\",purple:\"#800080\",seagreen:\"#2e8b57\",seashell:\"#fff5ee\",papayawhip:\"#ffefd5\",mediumslateblue:\"#7b68ee\",plum:\"#dda0dd\",mediumspringgreen:\"#00fa9a\"};function M(t){return t<0?0:t>255?255:Math.round(t)||0}function x(t){return t<=0||t>1?Math.min(Math.max(t,0),1):Math.round(1e4*t)/1e4}const S=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,k=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,y=/^rgb\\(\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*\\)$/,C=/^rgba\\(\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d*\\.?\\d+)\\s*\\)$/;function T(t){(t=t.toLowerCase())in g&&(t=g[t]);{const i=C.exec(t)||y.exec(t);if(i)return[M(parseInt(i[1],10)),M(parseInt(i[2],10)),M(parseInt(i[3],10)),x(i.length<5?1:parseFloat(i[4]))]}{const i=k.exec(t);if(i)return[M(parseInt(i[1],16)),M(parseInt(i[2],16)),M(parseInt(i[3],16)),1]}{const i=S.exec(t);if(i)return[M(17*parseInt(i[1],16)),M(17*parseInt(i[2],16)),M(17*parseInt(i[3],16)),1]}throw new Error(`Cannot parse color: ${t}`)}function P(t){return.199*t[0]+.687*t[1]+.114*t[2]}function R(t){const i=T(t);return{t:`rgb(${i[0]}, ${i[1]}, ${i[2]})`,i:P(i)>160?\"black\":\"white\"}}class D{constructor(){this.h=[]}l(t,i,n){const s={o:t,_:i,u:!0===n};this.h.push(s)}v(t){const i=this.h.findIndex((i=>t===i.o));i>-1&&this.h.splice(i,1)}p(t){this.h=this.h.filter((i=>i._!==t))}m(t,i,n){const s=[...this.h];this.h=this.h.filter((t=>!t.u)),s.forEach((s=>s.o(t,i,n)))}M(){return this.h.length>0}S(){this.h=[]}}function V(t,...i){for(const n of i)for(const i in n)void 0!==n[i]&&Object.prototype.hasOwnProperty.call(n,i)&&![\"__proto__\",\"constructor\",\"prototype\"].includes(i)&&(\"object\"!=typeof n[i]||void 0===t[i]||Array.isArray(n[i])?t[i]=n[i]:V(t[i],n[i]));return t}function O(t){return\"number\"==typeof t&&isFinite(t)}function B(t){return\"number\"==typeof t&&t%1==0}function A(t){return\"string\"==typeof t}function I(t){return\"boolean\"==typeof t}function z(t){const i=t;if(!i||\"object\"!=typeof i)return i;let n,s,e;for(s in n=Array.isArray(i)?[]:{},i)i.hasOwnProperty(s)&&(e=i[s],n[s]=e&&\"object\"==typeof e?z(e):e);return n}function L(t){return null!==t}function E(t){return null===t?void 0:t}const N=\"-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif\";function F(t,i,n){return void 0===i&&(i=N),`${n=void 0!==n?`${n} `:\"\"}${t}px ${i}`}class W{constructor(t){this.k={C:1,T:5,P:NaN,R:\"\",D:\"\",V:\"\",O:\"\",B:0,A:0,I:0,L:0,N:0},this.F=t}W(){const t=this.k,i=this.j(),n=this.H();return t.P===i&&t.D===n||(t.P=i,t.D=n,t.R=F(i,n),t.L=2.5/12*i,t.B=t.L,t.A=i/12*t.T,t.I=i/12*t.T,t.N=0),t.V=this.$(),t.O=this.U(),this.k}$(){return this.F.W().layout.textColor}U(){return this.F.q()}j(){return this.F.W().layout.fontSize}H(){return this.F.W().layout.fontFamily}}class j{constructor(){this.Y=[]}Z(t){this.Y=t}X(t,i,n){this.Y.forEach((s=>{s.X(t,i,n)}))}}class H{X(t,i,n){t.useBitmapCoordinateSpace((t=>this.K(t,i,n)))}}class $ extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.G||null===this.G.tt)return;const s=this.G.tt,e=this.G,r=Math.max(1,Math.floor(i))%2/2,h=h=>{t.beginPath();for(let l=s.to-1;l>=s.from;--l){const s=e.it[l],a=Math.round(s.nt*i)+r,o=s.st*n,_=h*n+r;t.moveTo(a,o),t.arc(a,o,_,0,2*Math.PI)}t.fill()};e.et>0&&(t.fillStyle=e.rt,h(e.ht+e.et)),t.fillStyle=e.lt,h(e.ht)}}function U(){return{it:[{nt:0,st:0,ot:0,_t:0}],lt:\"\",rt:\"\",ht:0,et:0,tt:null}}const q={from:0,to:1};class Y{constructor(t,i){this.ut=new j,this.ct=[],this.dt=[],this.ft=!0,this.F=t,this.vt=i,this.ut.Z(this.ct)}bt(t){const i=this.F.wt();i.length!==this.ct.length&&(this.dt=i.map(U),this.ct=this.dt.map((t=>{const i=new $;return i.J(t),i})),this.ut.Z(this.ct)),this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.ut}Mt(){const t=2===this.vt.W().mode,i=this.F.wt(),n=this.vt.xt(),s=this.F.St();i.forEach(((i,e)=>{var r;const h=this.dt[e],l=i.kt(n);if(t||null===l||!i.yt())return void(h.tt=null);const a=b(i.Ct());h.lt=l.Tt,h.ht=l.ht,h.et=l.Pt,h.it[0]._t=l._t,h.it[0].st=i.Dt().Rt(l._t,a.Vt),h.rt=null!==(r=l.Ot)&&void 0!==r?r:this.F.Bt(h.it[0].st/i.Dt().At()),h.it[0].ot=n,h.it[0].nt=s.It(n),h.tt=q}))}}class Z extends H{constructor(t){super(),this.zt=t}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;const e=this.zt.Lt.yt,r=this.zt.Et.yt;if(!e&&!r)return;const h=Math.round(this.zt.nt*n),l=Math.round(this.zt.st*s);t.lineCap=\"butt\",e&&h>=0&&(t.lineWidth=Math.floor(this.zt.Lt.et*n),t.strokeStyle=this.zt.Lt.V,t.fillStyle=this.zt.Lt.V,f(t,this.zt.Lt.Nt),function(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(i+e,n),t.lineTo(i+e,s),t.stroke()}(t,h,0,i.height)),r&&l>=0&&(t.lineWidth=Math.floor(this.zt.Et.et*s),t.strokeStyle=this.zt.Et.V,t.fillStyle=this.zt.Et.V,f(t,this.zt.Et.Nt),v(t,l,0,i.width))}}class X{constructor(t){this.ft=!0,this.Ft={Lt:{et:1,Nt:0,V:\"\",yt:!1},Et:{et:1,Nt:0,V:\"\",yt:!1},nt:0,st:0},this.Wt=new Z(this.Ft),this.jt=t}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt}Mt(){const t=this.jt.yt(),i=b(this.jt.Ht()),n=i.$t().W().crosshair,s=this.Ft;if(2===n.mode)return s.Et.yt=!1,void(s.Lt.yt=!1);s.Et.yt=t&&this.jt.Ut(i),s.Lt.yt=t&&this.jt.qt(),s.Et.et=n.horzLine.width,s.Et.Nt=n.horzLine.style,s.Et.V=n.horzLine.color,s.Lt.et=n.vertLine.width,s.Lt.Nt=n.vertLine.style,s.Lt.V=n.vertLine.color,s.nt=this.jt.Yt(),s.st=this.jt.Zt()}}function K(t,i,n,s,e,r){t.fillRect(i+r,n,s-2*r,r),t.fillRect(i+r,n+e-r,s-2*r,r),t.fillRect(i,n,r,e),t.fillRect(i+s-r,n,r,e)}function G(t,i,n,s,e,r){t.save(),t.globalCompositeOperation=\"copy\",t.fillStyle=r,t.fillRect(i,n,s,e),t.restore()}function J(t,i,n,s,e,r){t.beginPath(),t.roundRect?t.roundRect(i,n,s,e,r):(t.lineTo(i+s-r[1],n),0!==r[1]&&t.arcTo(i+s,n,i+s,n+r[1],r[1]),t.lineTo(i+s,n+e-r[2]),0!==r[2]&&t.arcTo(i+s,n+e,i+s-r[2],n+e,r[2]),t.lineTo(i+r[3],n+e),0!==r[3]&&t.arcTo(i,n+e,i,n+e-r[3],r[3]),t.lineTo(i,n+r[0]),0!==r[0]&&t.arcTo(i,n,i+r[0],n,r[0]))}function Q(t,i,n,s,e,r,h=0,l=[0,0,0,0],a=\"\"){if(t.save(),!h||!a||a===r)return J(t,i,n,s,e,l),t.fillStyle=r,t.fill(),void t.restore();const o=h/2;var _;J(t,i+o,n+o,s-h,e-h,(_=-o,l.map((t=>0===t?t:t+_)))),\"transparent\"!==r&&(t.fillStyle=r,t.fill()),\"transparent\"!==a&&(t.lineWidth=h,t.strokeStyle=a,t.closePath(),t.stroke()),t.restore()}function tt(t,i,n,s,e,r,h){t.save(),t.globalCompositeOperation=\"copy\";const l=t.createLinearGradient(0,0,0,e);l.addColorStop(0,r),l.addColorStop(1,h),t.fillStyle=l,t.fillRect(i,n,s,e),t.restore()}class it{constructor(t,i){this.J(t,i)}J(t,i){this.zt=t,this.Xt=i}At(t,i){return this.zt.yt?t.P+t.L+t.B:0}X(t,i,n,s){if(!this.zt.yt||0===this.zt.Kt.length)return;const e=this.zt.V,r=this.Xt.t,h=t.useBitmapCoordinateSpace((t=>{const h=t.context;h.font=i.R;const l=this.Gt(t,i,n,s),a=l.Jt;return l.Qt?Q(h,a.ti,a.ii,a.ni,a.si,r,a.ei,[a.ht,0,0,a.ht],r):Q(h,a.ri,a.ii,a.ni,a.si,r,a.ei,[0,a.ht,a.ht,0],r),this.zt.hi&&(h.fillStyle=e,h.fillRect(a.ri,a.li,a.ai-a.ri,a.oi)),this.zt._i&&(h.fillStyle=i.O,h.fillRect(l.Qt?a.ui-a.ei:0,a.ii,a.ei,a.ci-a.ii)),l}));t.useMediaCoordinateSpace((({context:t})=>{const n=h.di;t.font=i.R,t.textAlign=h.Qt?\"right\":\"left\",t.textBaseline=\"middle\",t.fillStyle=e,t.fillText(this.zt.Kt,n.fi,(n.ii+n.ci)/2+n.pi)}))}Gt(t,i,n,s){var e;const{context:r,bitmapSize:h,mediaSize:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=this.zt.hi||!this.zt.mi?i.T:0,u=this.zt.bi?i.C:0,c=i.L+this.Xt.wi,d=i.B+this.Xt.gi,f=i.A,v=i.I,p=this.zt.Kt,m=i.P,b=n.Mi(r,p),w=Math.ceil(n.xi(r,p)),g=m+c+d,M=i.C+f+v+w+_,x=Math.max(1,Math.floor(o));let S=Math.round(g*o);S%2!=x%2&&(S+=1);const k=u>0?Math.max(1,Math.floor(u*a)):0,y=Math.round(M*a),C=Math.round(_*a),T=null!==(e=this.Xt.Si)&&void 0!==e?e:this.Xt.ki,P=Math.round(T*o)-Math.floor(.5*o),R=Math.floor(P+x/2-S/2),D=R+S,V=\"right\"===s,O=V?l.width-u:u,B=V?h.width-k:k;let A,I,z;return V?(A=B-y,I=B-C,z=O-_-f-u):(A=B+y,I=B+C,z=O+_+f),{Qt:V,Jt:{ii:R,li:P,ci:D,ni:y,si:S,ht:2*a,ei:k,ti:A,ri:B,ai:I,oi:x,ui:h.width},di:{ii:R/o,ci:D/o,fi:z,pi:b}}}}class nt{constructor(t){this.yi={ki:0,t:\"#000\",gi:0,wi:0},this.Ci={Kt:\"\",yt:!1,hi:!0,mi:!1,Ot:\"\",V:\"#FFF\",_i:!1,bi:!1},this.Ti={Kt:\"\",yt:!1,hi:!1,mi:!0,Ot:\"\",V:\"#FFF\",_i:!0,bi:!0},this.ft=!0,this.Pi=new(t||it)(this.Ci,this.yi),this.Ri=new(t||it)(this.Ti,this.yi)}Kt(){return this.Di(),this.Ci.Kt}ki(){return this.Di(),this.yi.ki}bt(){this.ft=!0}At(t,i=!1){return Math.max(this.Pi.At(t,i),this.Ri.At(t,i))}Vi(){return this.yi.Si||0}Oi(t){this.yi.Si=t}Bi(){return this.Di(),this.Ci.yt||this.Ti.yt}Ai(){return this.Di(),this.Ci.yt}gt(t){return this.Di(),this.Ci.hi=this.Ci.hi&&t.W().ticksVisible,this.Ti.hi=this.Ti.hi&&t.W().ticksVisible,this.Pi.J(this.Ci,this.yi),this.Ri.J(this.Ti,this.yi),this.Pi}Ii(){return this.Di(),this.Pi.J(this.Ci,this.yi),this.Ri.J(this.Ti,this.yi),this.Ri}Di(){this.ft&&(this.Ci.hi=!0,this.Ti.hi=!1,this.zi(this.Ci,this.Ti,this.yi))}}class st extends nt{constructor(t,i,n){super(),this.jt=t,this.Li=i,this.Ei=n}zi(t,i,n){if(t.yt=!1,2===this.jt.W().mode)return;const s=this.jt.W().horzLine;if(!s.labelVisible)return;const e=this.Li.Ct();if(!this.jt.yt()||this.Li.Ni()||null===e)return;const r=R(s.labelBackgroundColor);n.t=r.t,t.V=r.i;const h=2/12*this.Li.P();n.wi=h,n.gi=h;const l=this.Ei(this.Li);n.ki=l.ki,t.Kt=this.Li.Fi(l._t,e),t.yt=!0}}const et=/[1-9]/g;class rt{constructor(){this.zt=null}J(t){this.zt=t}X(t,i){if(null===this.zt||!1===this.zt.yt||0===this.zt.Kt.length)return;const n=t.useMediaCoordinateSpace((({context:t})=>(t.font=i.R,Math.round(i.Wi.xi(t,b(this.zt).Kt,et)))));if(n<=0)return;const s=i.ji,e=n+2*s,r=e/2,h=this.zt.Hi;let l=this.zt.ki,a=Math.floor(l-r)+.5;a<0?(l+=Math.abs(0-a),a=Math.floor(l-r)+.5):a+e>h&&(l-=Math.abs(h-(a+e)),a=Math.floor(l-r)+.5);const o=a+e,_=Math.ceil(0+i.C+i.T+i.L+i.P+i.B);t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:n,verticalPixelRatio:s})=>{const e=b(this.zt);t.fillStyle=e.t;const r=Math.round(a*n),h=Math.round(0*s),l=Math.round(o*n),u=Math.round(_*s),c=Math.round(2*n);if(t.beginPath(),t.moveTo(r,h),t.lineTo(r,u-c),t.arcTo(r,u,r+c,u,c),t.lineTo(l-c,u),t.arcTo(l,u,l,u-c,c),t.lineTo(l,h),t.fill(),e.hi){const r=Math.round(e.ki*n),l=h,a=Math.round((l+i.T)*s);t.fillStyle=e.V;const o=Math.max(1,Math.floor(n)),_=Math.floor(.5*n);t.fillRect(r-_,l,o,a-l)}})),t.useMediaCoordinateSpace((({context:t})=>{const n=b(this.zt),e=0+i.C+i.T+i.L+i.P/2;t.font=i.R,t.textAlign=\"left\",t.textBaseline=\"middle\",t.fillStyle=n.V;const r=i.Wi.Mi(t,\"Apr0\");t.translate(a+s,e+r),t.fillText(n.Kt,0,0)}))}}class ht{constructor(t,i,n){this.ft=!0,this.Wt=new rt,this.Ft={yt:!1,t:\"#4c525e\",V:\"white\",Kt:\"\",Hi:0,ki:NaN,hi:!0},this.vt=t,this.$i=i,this.Ei=n}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt.J(this.Ft),this.Wt}Mt(){const t=this.Ft;if(t.yt=!1,2===this.vt.W().mode)return;const i=this.vt.W().vertLine;if(!i.labelVisible)return;const n=this.$i.St();if(n.Ni())return;t.Hi=n.Hi();const s=this.Ei();if(null===s)return;t.ki=s.ki;const e=n.Ui(this.vt.xt());t.Kt=n.qi(b(e)),t.yt=!0;const r=R(i.labelBackgroundColor);t.t=r.t,t.V=r.i,t.hi=n.W().ticksVisible}}class lt{constructor(){this.Yi=null,this.Zi=0}Xi(){return this.Zi}Ki(t){this.Zi=t}Dt(){return this.Yi}Gi(t){this.Yi=t}Ji(t){return[]}Qi(){return[]}yt(){return!0}}var at;!function(t){t[t.Normal=0]=\"Normal\",t[t.Magnet=1]=\"Magnet\",t[t.Hidden=2]=\"Hidden\"}(at||(at={}));class ot extends lt{constructor(t,i){super(),this.tn=null,this.nn=NaN,this.sn=0,this.en=!0,this.rn=new Map,this.hn=!1,this.ln=NaN,this.an=NaN,this._n=NaN,this.un=NaN,this.$i=t,this.cn=i,this.dn=new Y(t,this);this.fn=((t,i)=>n=>{const s=i(),e=t();if(n===b(this.tn).vn())return{_t:e,ki:s};{const t=b(n.Ct());return{_t:n.pn(s,t),ki:s}}})((()=>this.nn),(()=>this.an));const n=((t,i)=>()=>{const n=this.$i.St().mn(t()),s=i();return n&&Number.isFinite(s)?{ot:n,ki:s}:null})((()=>this.sn),(()=>this.Yt()));this.bn=new ht(this,t,n),this.wn=new X(this)}W(){return this.cn}gn(t,i){this._n=t,this.un=i}Mn(){this._n=NaN,this.un=NaN}xn(){return this._n}Sn(){return this.un}kn(t,i,n){this.hn||(this.hn=!0),this.en=!0,this.yn(t,i,n)}xt(){return this.sn}Yt(){return this.ln}Zt(){return this.an}yt(){return this.en}Cn(){this.en=!1,this.Tn(),this.nn=NaN,this.ln=NaN,this.an=NaN,this.tn=null,this.Mn()}Pn(t){return null!==this.tn?[this.wn,this.dn]:[]}Ut(t){return t===this.tn&&this.cn.horzLine.visible}qt(){return this.cn.vertLine.visible}Rn(t,i){this.en&&this.tn===t||this.rn.clear();const n=[];return this.tn===t&&n.push(this.Dn(this.rn,i,this.fn)),n}Qi(){return this.en?[this.bn]:[]}Ht(){return this.tn}Vn(){this.wn.bt(),this.rn.forEach((t=>t.bt())),this.bn.bt(),this.dn.bt()}On(t){return t&&!t.vn().Ni()?t.vn():null}yn(t,i,n){this.Bn(t,i,n)&&this.Vn()}Bn(t,i,n){const s=this.ln,e=this.an,r=this.nn,h=this.sn,l=this.tn,a=this.On(n);this.sn=t,this.ln=isNaN(t)?NaN:this.$i.St().It(t),this.tn=n;const o=null!==a?a.Ct():null;return null!==a&&null!==o?(this.nn=i,this.an=a.Rt(i,o)):(this.nn=NaN,this.an=NaN),s!==this.ln||e!==this.an||h!==this.sn||r!==this.nn||l!==this.tn}Tn(){const t=this.$i.wt().map((t=>t.In().An())).filter(L),i=0===t.length?null:Math.max(...t);this.sn=null!==i?i:NaN}Dn(t,i,n){let s=t.get(i);return void 0===s&&(s=new st(this,i,n),t.set(i,s)),s}}function _t(t){return\"left\"===t||\"right\"===t}class ut{constructor(t){this.zn=new Map,this.Ln=[],this.En=t}Nn(t,i){const n=function(t,i){return void 0===t?i:{Fn:Math.max(t.Fn,i.Fn),Wn:t.Wn||i.Wn}}(this.zn.get(t),i);this.zn.set(t,n)}jn(){return this.En}Hn(t){const i=this.zn.get(t);return void 0===i?{Fn:this.En}:{Fn:Math.max(this.En,i.Fn),Wn:i.Wn}}$n(){this.Un(),this.Ln=[{qn:0}]}Yn(t){this.Un(),this.Ln=[{qn:1,Vt:t}]}Zn(t){this.Xn(),this.Ln.push({qn:5,Vt:t})}Un(){this.Xn(),this.Ln.push({qn:6})}Kn(){this.Un(),this.Ln=[{qn:4}]}Gn(t){this.Un(),this.Ln.push({qn:2,Vt:t})}Jn(t){this.Un(),this.Ln.push({qn:3,Vt:t})}Qn(){return this.Ln}ts(t){for(const i of t.Ln)this.ns(i);this.En=Math.max(this.En,t.En),t.zn.forEach(((t,i)=>{this.Nn(i,t)}))}static ss(){return new ut(2)}static es(){return new ut(3)}ns(t){switch(t.qn){case 0:this.$n();break;case 1:this.Yn(t.Vt);break;case 2:this.Gn(t.Vt);break;case 3:this.Jn(t.Vt);break;case 4:this.Kn();break;case 5:this.Zn(t.Vt);break;case 6:this.Xn()}}Xn(){const t=this.Ln.findIndex((t=>5===t.qn));-1!==t&&this.Ln.splice(t,1)}}const ct=\".\";function dt(t,i){if(!O(t))return\"n/a\";if(!B(i))throw new TypeError(\"invalid length\");if(i<0||i>16)throw new TypeError(\"invalid length\");if(0===i)return t.toString();return(\"0000000000000000\"+t.toString()).slice(-i)}class ft{constructor(t,i){if(i||(i=1),O(t)&&B(t)||(t=100),t<0)throw new TypeError(\"invalid base\");this.Li=t,this.rs=i,this.hs()}format(t){const i=t<0?\"−\":\"\";return t=Math.abs(t),i+this.ls(t)}hs(){if(this._s=0,this.Li>0&&this.rs>0){let t=this.Li;for(;t>1;)t/=10,this._s++}}ls(t){const i=this.Li/this.rs;let n=Math.floor(t),s=\"\";const e=void 0!==this._s?this._s:NaN;if(i>1){let r=+(Math.round(t*i)-n*i).toFixed(this._s);r>=i&&(r-=i,n+=1),s=ct+dt(+r.toFixed(this._s)*this.rs,e)}else n=Math.round(n*i)/i,e>0&&(s=ct+dt(0,e));return n.toFixed(0)+s}}class vt extends ft{constructor(t=100){super(t)}format(t){return`${super.format(t)}%`}}class pt{constructor(t){this.us=t}format(t){let i=\"\";return t<0&&(i=\"-\",t=-t),t<995?i+this.cs(t):t<999995?i+this.cs(t/1e3)+\"K\":t<999999995?(t=1e3*Math.round(t/1e3),i+this.cs(t/1e6)+\"M\"):(t=1e6*Math.round(t/1e6),i+this.cs(t/1e9)+\"B\")}cs(t){let i;const n=Math.pow(10,this.us);return i=(t=Math.round(t*n)/n)>=1e-15&&t<1?t.toFixed(this.us).replace(/\\.?0+$/,\"\"):String(t),i.replace(/(\\.[1-9]*)0+$/,((t,i)=>i))}}function mt(t,i,n,s,e,r,h){if(0===i.length||s.from>=i.length||s.to<=0)return;const{context:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=i[s.from];let u=r(t,_),c=_;if(s.to-s.from<2){const i=e/2;l.beginPath();const n={nt:_.nt-i,st:_.st},s={nt:_.nt+i,st:_.st};l.moveTo(n.nt*a,n.st*o),l.lineTo(s.nt*a,s.st*o),h(t,u,n,s)}else{const e=(i,n)=>{h(t,u,c,n),l.beginPath(),u=i,c=n};let d=c;l.beginPath(),l.moveTo(_.nt*a,_.st*o);for(let h=s.from+1;h<s.to;++h){d=i[h];const s=r(t,d);switch(n){case 0:l.lineTo(d.nt*a,d.st*o);break;case 1:l.lineTo(d.nt*a,i[h-1].st*o),s!==u&&(e(s,d),l.lineTo(d.nt*a,i[h-1].st*o)),l.lineTo(d.nt*a,d.st*o);break;case 2:{const[t,n]=Mt(i,h-1,h);l.bezierCurveTo(t.nt*a,t.st*o,n.nt*a,n.st*o,d.nt*a,d.st*o);break}}1!==n&&s!==u&&(e(s,d),l.moveTo(d.nt*a,d.st*o))}(c!==d||c===d&&1===n)&&h(t,u,c,d)}}const bt=6;function wt(t,i){return{nt:t.nt-i.nt,st:t.st-i.st}}function gt(t,i){return{nt:t.nt/i,st:t.st/i}}function Mt(t,i,n){const s=Math.max(0,i-1),e=Math.min(t.length-1,n+1);var r,h;return[(r=t[i],h=gt(wt(t[n],t[s]),bt),{nt:r.nt+h.nt,st:r.st+h.st}),wt(t[n],gt(wt(t[e],t[i]),bt))]}function xt(t,i,n,s,e){const{context:r,horizontalPixelRatio:h,verticalPixelRatio:l}=i;r.lineTo(e.nt*h,t*l),r.lineTo(s.nt*h,t*l),r.closePath(),r.fillStyle=n,r.fill()}class St extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K(t){var i;if(null===this.G)return;const{it:n,tt:s,ds:e,et:r,Nt:h,fs:l}=this.G,a=null!==(i=this.G.vs)&&void 0!==i?i:this.G.ps?0:t.mediaSize.height;if(null===s)return;const o=t.context;o.lineCap=\"butt\",o.lineJoin=\"round\",o.lineWidth=r,f(o,h),o.lineWidth=1,mt(t,n,l,s,e,this.bs.bind(this),xt.bind(null,a))}}function kt(t,i,n){return Math.min(Math.max(t,i),n)}function yt(t,i,n){return i-t<=n}function Ct(t){const i=Math.ceil(t);return i%2==0?i-1:i}class Tt{ws(t,i){const n=this.gs,{Ms:s,xs:e,Ss:r,ks:h,ys:l,vs:a}=i;if(void 0===this.Cs||void 0===n||n.Ms!==s||n.xs!==e||n.Ss!==r||n.ks!==h||n.vs!==a||n.ys!==l){const n=t.context.createLinearGradient(0,0,0,l);if(n.addColorStop(0,s),null!=a){const i=kt(a*t.verticalPixelRatio/l,0,1);n.addColorStop(i,e),n.addColorStop(i,r)}n.addColorStop(1,h),this.Cs=n,this.gs=i}return this.Cs}}class Pt extends St{constructor(){super(...arguments),this.Ts=new Tt}bs(t,i){return this.Ts.ws(t,{Ms:i.Ps,xs:\"\",Ss:\"\",ks:i.Rs,ys:t.bitmapSize.height})}}function Rt(t,i){const n=t.context;n.strokeStyle=i,n.stroke()}class Dt extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K(t){if(null===this.G)return;const{it:i,tt:n,ds:s,fs:e,et:r,Nt:h,Ds:l}=this.G;if(null===n)return;const a=t.context;a.lineCap=\"butt\",a.lineWidth=r*t.verticalPixelRatio,f(a,h),a.lineJoin=\"round\";const o=this.Vs.bind(this);void 0!==e&&mt(t,i,e,n,s,o,Rt),l&&function(t,i,n,s,e){const{horizontalPixelRatio:r,verticalPixelRatio:h,context:l}=t;let a=null;const o=Math.max(1,Math.floor(r))%2/2,_=n*h+o;for(let n=s.to-1;n>=s.from;--n){const s=i[n];if(s){const i=e(t,s);i!==a&&(l.beginPath(),null!==a&&l.fill(),l.fillStyle=i,a=i);const n=Math.round(s.nt*r)+o,u=s.st*h;l.moveTo(n,u),l.arc(n,u,_,0,2*Math.PI)}}l.fill()}(t,i,l,n,o)}}class Vt extends Dt{Vs(t,i){return i.lt}}function Ot(t,i,n,s,e=0,r=i.length){let h=r-e;for(;0<h;){const r=h>>1,l=e+r;s(i[l],n)===t?(e=l+1,h-=r+1):h=r}return e}const Bt=Ot.bind(null,!0),At=Ot.bind(null,!1);function It(t,i){return t.ot<i}function zt(t,i){return i<t.ot}function Lt(t,i,n){const s=i.Os(),e=i.ui(),r=Bt(t,s,It),h=At(t,e,zt);if(!n)return{from:r,to:h};let l=r,a=h;return r>0&&r<t.length&&t[r].ot>=s&&(l=r-1),h>0&&h<t.length&&t[h-1].ot<=e&&(a=h+1),{from:l,to:a}}class Et{constructor(t,i,n){this.Bs=!0,this.As=!0,this.Is=!0,this.zs=[],this.Ls=null,this.Es=t,this.Ns=i,this.Fs=n}bt(t){this.Bs=!0,\"data\"===t&&(this.As=!0),\"options\"===t&&(this.Is=!0)}gt(){return this.Es.yt()?(this.Ws(),null===this.Ls?null:this.js):null}Hs(){this.zs=this.zs.map((t=>Object.assign(Object.assign({},t),this.Es.Us().$s(t.ot))))}qs(){this.Ls=null}Ws(){this.As&&(this.Ys(),this.As=!1),this.Is&&(this.Hs(),this.Is=!1),this.Bs&&(this.Zs(),this.Bs=!1)}Zs(){const t=this.Es.Dt(),i=this.Ns.St();if(this.qs(),i.Ni()||t.Ni())return;const n=i.Xs();if(null===n)return;if(0===this.Es.In().Ks())return;const s=this.Es.Ct();null!==s&&(this.Ls=Lt(this.zs,n,this.Fs),this.Gs(t,i,s.Vt),this.Js())}}class Nt extends Et{constructor(t,i){super(t,i,!0)}Gs(t,i,n){i.Qs(this.zs,E(this.Ls)),t.te(this.zs,n,E(this.Ls))}ie(t,i){return{ot:t,_t:i,nt:NaN,st:NaN}}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>{const n=i.Vt[3];return this.se(i.ee,n,t)}))}}class Ft extends Nt{constructor(t,i){super(t,i),this.js=new j,this.re=new Pt,this.he=new Vt,this.js.Z([this.re,this.he])}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.W();this.re.J({fs:t.lineType,it:this.zs,Nt:t.lineStyle,et:t.lineWidth,vs:null,ps:t.invertFilledArea,tt:this.Ls,ds:this.Ns.St().le()}),this.he.J({fs:t.lineVisible?t.lineType:void 0,it:this.zs,Nt:t.lineStyle,et:t.lineWidth,tt:this.Ls,ds:this.Ns.St().le(),Ds:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0})}}class Wt extends H{constructor(){super(...arguments),this.zt=null,this.ae=0,this.oe=0}J(t){this.zt=t}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.zt||0===this.zt.In.length||null===this.zt.tt)return;if(this.ae=this._e(i),this.ae>=2){Math.max(1,Math.floor(i))%2!=this.ae%2&&this.ae--}this.oe=this.zt.ue?Math.min(this.ae,Math.floor(i)):this.ae;let s=null;const e=this.oe<=this.ae&&this.zt.le>=Math.floor(1.5*i);for(let r=this.zt.tt.from;r<this.zt.tt.to;++r){const h=this.zt.In[r];s!==h.ce&&(t.fillStyle=h.ce,s=h.ce);const l=Math.floor(.5*this.oe),a=Math.round(h.nt*i),o=a-l,_=this.oe,u=o+_-1,c=Math.min(h.de,h.fe),d=Math.max(h.de,h.fe),f=Math.round(c*n)-l,v=Math.round(d*n)+l,p=Math.max(v-f,this.oe);t.fillRect(o,f,_,p);const m=Math.ceil(1.5*this.ae);if(e){if(this.zt.ve){const i=a-m;let s=Math.max(f,Math.round(h.pe*n)-l),e=s+_-1;e>f+p-1&&(e=f+p-1,s=e-_+1),t.fillRect(i,s,o-i,e-s+1)}const i=a+m;let s=Math.max(f,Math.round(h.me*n)-l),e=s+_-1;e>f+p-1&&(e=f+p-1,s=e-_+1),t.fillRect(u+1,s,i-u,e-s+1)}}}_e(t){const i=Math.floor(t);return Math.max(i,Math.floor(function(t,i){return Math.floor(.3*t*i)}(b(this.zt).le,t)))}}class jt extends Et{constructor(t,i){super(t,i,!1)}Gs(t,i,n){i.Qs(this.zs,E(this.Ls)),t.be(this.zs,n,E(this.Ls))}we(t,i,n){return{ot:t,ge:i.Vt[0],Me:i.Vt[1],xe:i.Vt[2],Se:i.Vt[3],nt:NaN,pe:NaN,de:NaN,fe:NaN,me:NaN}}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>this.se(i.ee,i,t)))}}class Ht extends jt{constructor(){super(...arguments),this.js=new Wt}se(t,i,n){return Object.assign(Object.assign({},this.we(t,i,n)),n.$s(t))}Js(){const t=this.Es.W();this.js.J({In:this.zs,le:this.Ns.St().le(),ve:t.openVisible,ue:t.thinBars,tt:this.Ls})}}class $t extends St{constructor(){super(...arguments),this.Ts=new Tt}bs(t,i){const n=this.G;return this.Ts.ws(t,{Ms:i.ke,xs:i.ye,Ss:i.Ce,ks:i.Te,ys:t.bitmapSize.height,vs:n.vs})}}class Ut extends Dt{constructor(){super(...arguments),this.Pe=new Tt}Vs(t,i){const n=this.G;return this.Pe.ws(t,{Ms:i.Re,xs:i.Re,Ss:i.De,ks:i.De,ys:t.bitmapSize.height,vs:n.vs})}}class qt extends Nt{constructor(t,i){super(t,i),this.js=new j,this.Ve=new $t,this.Oe=new Ut,this.js.Z([this.Ve,this.Oe])}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.Ct();if(null===t)return;const i=this.Es.W(),n=this.Es.Dt().Rt(i.baseValue.price,t.Vt),s=this.Ns.St().le();this.Ve.J({it:this.zs,et:i.lineWidth,Nt:i.lineStyle,fs:i.lineType,vs:n,ps:!1,tt:this.Ls,ds:s}),this.Oe.J({it:this.zs,et:i.lineWidth,Nt:i.lineStyle,fs:i.lineVisible?i.lineType:void 0,Ds:i.pointMarkersVisible?i.pointMarkersRadius||i.lineWidth/2+2:void 0,vs:n,tt:this.Ls,ds:s})}}class Yt extends H{constructor(){super(...arguments),this.zt=null,this.ae=0}J(t){this.zt=t}K(t){if(null===this.zt||0===this.zt.In.length||null===this.zt.tt)return;const{horizontalPixelRatio:i}=t;if(this.ae=function(t,i){if(t>=2.5&&t<=4)return Math.floor(3*i);const n=1-.2*Math.atan(Math.max(4,t)-4)/(.5*Math.PI),s=Math.floor(t*n*i),e=Math.floor(t*i),r=Math.min(s,e);return Math.max(Math.floor(i),r)}(this.zt.le,i),this.ae>=2){Math.floor(i)%2!=this.ae%2&&this.ae--}const n=this.zt.In;this.zt.Be&&this.Ae(t,n,this.zt.tt),this.zt._i&&this.Ie(t,n,this.zt.tt);const s=this.ze(i);(!this.zt._i||this.ae>2*s)&&this.Le(t,n,this.zt.tt)}Ae(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\",l=Math.min(Math.floor(e),Math.floor(this.zt.le*e));l=Math.max(Math.floor(e),Math.min(l,this.ae));const a=Math.floor(.5*l);let o=null;for(let t=n.from;t<n.to;t++){const n=i[t];n.Ee!==h&&(s.fillStyle=n.Ee,h=n.Ee);const _=Math.round(Math.min(n.pe,n.me)*r),u=Math.round(Math.max(n.pe,n.me)*r),c=Math.round(n.de*r),d=Math.round(n.fe*r);let f=Math.round(e*n.nt)-a;const v=f+l-1;null!==o&&(f=Math.max(o+1,f),f=Math.min(f,v));const p=v-f+1;s.fillRect(f,c,p,_-c),s.fillRect(f,u+1,p,d-u),o=v}}ze(t){let i=Math.floor(1*t);this.ae<=2*i&&(i=Math.floor(.5*(this.ae-1)));const n=Math.max(Math.floor(t),i);return this.ae<=2*n?Math.max(Math.floor(t),Math.floor(1*t)):n}Ie(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\";const l=this.ze(e);let a=null;for(let t=n.from;t<n.to;t++){const n=i[t];n.Ne!==h&&(s.fillStyle=n.Ne,h=n.Ne);let o=Math.round(n.nt*e)-Math.floor(.5*this.ae);const _=o+this.ae-1,u=Math.round(Math.min(n.pe,n.me)*r),c=Math.round(Math.max(n.pe,n.me)*r);if(null!==a&&(o=Math.max(a+1,o),o=Math.min(o,_)),this.zt.le*e>2*l)K(s,o,u,_-o+1,c-u+1,l);else{const t=_-o+1;s.fillRect(o,u,t,c-u+1)}a=_}}Le(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\";const l=this.ze(e);for(let t=n.from;t<n.to;t++){const n=i[t];let a=Math.round(Math.min(n.pe,n.me)*r),o=Math.round(Math.max(n.pe,n.me)*r),_=Math.round(n.nt*e)-Math.floor(.5*this.ae),u=_+this.ae-1;if(n.ce!==h){const t=n.ce;s.fillStyle=t,h=t}this.zt._i&&(_+=l,a+=l,u-=l,o-=l),a>o||s.fillRect(_,a,u-_+1,o-a+1)}}}class Zt extends jt{constructor(){super(...arguments),this.js=new Yt}se(t,i,n){return Object.assign(Object.assign({},this.we(t,i,n)),n.$s(t))}Js(){const t=this.Es.W();this.js.J({In:this.zs,le:this.Ns.St().le(),Be:t.wickVisible,_i:t.borderVisible,tt:this.Ls})}}class Xt{constructor(t,i){this.Fe=t,this.Li=i}X(t,i,n){this.Fe.draw(t,this.Li,i,n)}}class Kt extends Et{constructor(t,i,n){super(t,i,!1),this.wn=n,this.js=new Xt(this.wn.renderer(),(i=>{const n=t.Ct();return null===n?null:t.Dt().Rt(i,n.Vt)}))}We(t){return this.wn.priceValueBuilder(t)}je(t){return this.wn.isWhitespace(t)}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>Object.assign(Object.assign({ot:i.ee,nt:NaN},t.$s(i.ee)),{He:i.$e})))}Gs(t,i){i.Qs(this.zs,E(this.Ls))}Js(){this.wn.update({bars:this.zs.map(Gt),barSpacing:this.Ns.St().le(),visibleRange:this.Ls},this.Es.W())}}function Gt(t){return{x:t.nt,time:t.ot,originalData:t.He,barColor:t.ce}}class Jt extends H{constructor(){super(...arguments),this.zt=null,this.Ue=[]}J(t){this.zt=t,this.Ue=[]}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.zt||0===this.zt.it.length||null===this.zt.tt)return;this.Ue.length||this.qe(i);const s=Math.max(1,Math.floor(n)),e=Math.round(this.zt.Ye*n)-Math.floor(s/2),r=e+s;for(let i=this.zt.tt.from;i<this.zt.tt.to;i++){const h=this.zt.it[i],l=this.Ue[i-this.zt.tt.from],a=Math.round(h.st*n);let o,_;t.fillStyle=h.ce,a<=e?(o=a,_=r):(o=e,_=a-Math.floor(s/2)+s),t.fillRect(l.Os,o,l.ui-l.Os+1,_-o)}}qe(t){if(null===this.zt||0===this.zt.it.length||null===this.zt.tt)return void(this.Ue=[]);const i=Math.ceil(this.zt.le*t)<=1?0:Math.max(1,Math.floor(t)),n=Math.round(this.zt.le*t)-i;this.Ue=new Array(this.zt.tt.to-this.zt.tt.from);for(let i=this.zt.tt.from;i<this.zt.tt.to;i++){const s=this.zt.it[i],e=Math.round(s.nt*t);let r,h;if(n%2){const t=(n-1)/2;r=e-t,h=e+t}else{const t=n/2;r=e-t,h=e+t-1}this.Ue[i-this.zt.tt.from]={Os:r,ui:h,Ze:e,Xe:s.nt*t,ot:s.ot}}for(let t=this.zt.tt.from+1;t<this.zt.tt.to;t++){const n=this.Ue[t-this.zt.tt.from],s=this.Ue[t-this.zt.tt.from-1];n.ot===s.ot+1&&(n.Os-s.ui!==i+1&&(s.Ze>s.Xe?s.ui=n.Os-i-1:n.Os=s.ui+i+1))}let s=Math.ceil(this.zt.le*t);for(let t=this.zt.tt.from;t<this.zt.tt.to;t++){const i=this.Ue[t-this.zt.tt.from];i.ui<i.Os&&(i.ui=i.Os);const n=i.ui-i.Os+1;s=Math.min(n,s)}if(i>0&&s<4)for(let t=this.zt.tt.from;t<this.zt.tt.to;t++){const i=this.Ue[t-this.zt.tt.from];i.ui-i.Os+1>s&&(i.Ze>i.Xe?i.ui-=1:i.Os+=1)}}}class Qt extends Nt{constructor(){super(...arguments),this.js=new Jt}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t={it:this.zs,le:this.Ns.St().le(),tt:this.Ls,Ye:this.Es.Dt().Rt(this.Es.W().base,b(this.Es.Ct()).Vt)};this.js.J(t)}}class ti extends Nt{constructor(){super(...arguments),this.js=new Vt}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.W(),i={it:this.zs,Nt:t.lineStyle,fs:t.lineVisible?t.lineType:void 0,et:t.lineWidth,Ds:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0,tt:this.Ls,ds:this.Ns.St().le()};this.js.J(i)}}const ii=/[2-9]/g;class ni{constructor(t=50){this.Ke=0,this.Ge=1,this.Je=1,this.Qe={},this.tr=new Map,this.ir=t}nr(){this.Ke=0,this.tr.clear(),this.Ge=1,this.Je=1,this.Qe={}}xi(t,i,n){return this.sr(t,i,n).width}Mi(t,i,n){const s=this.sr(t,i,n);return((s.actualBoundingBoxAscent||0)-(s.actualBoundingBoxDescent||0))/2}sr(t,i,n){const s=n||ii,e=String(i).replace(s,\"0\");if(this.tr.has(e))return m(this.tr.get(e)).er;if(this.Ke===this.ir){const t=this.Qe[this.Je];delete this.Qe[this.Je],this.tr.delete(t),this.Je++,this.Ke--}t.save(),t.textBaseline=\"middle\";const r=t.measureText(e);return t.restore(),0===r.width&&i.length||(this.tr.set(e,{er:r,rr:this.Ge}),this.Qe[this.Ge]=e,this.Ke++,this.Ge++),r}}class si{constructor(t){this.hr=null,this.k=null,this.lr=\"right\",this.ar=t}_r(t,i,n){this.hr=t,this.k=i,this.lr=n}X(t){null!==this.k&&null!==this.hr&&this.hr.X(t,this.k,this.ar,this.lr)}}class ei{constructor(t,i,n){this.ur=t,this.ar=new ni(50),this.cr=i,this.F=n,this.j=-1,this.Wt=new si(this.ar)}gt(){const t=this.F.dr(this.cr);if(null===t)return null;const i=t.vr(this.cr)?t.pr():this.cr.Dt();if(null===i)return null;const n=t.mr(i);if(\"overlay\"===n)return null;const s=this.F.br();return s.P!==this.j&&(this.j=s.P,this.ar.nr()),this.Wt._r(this.ur.Ii(),s,n),this.Wt}}class ri extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}wr(t,i){var n;if(!(null===(n=this.zt)||void 0===n?void 0:n.yt))return null;const{st:s,et:e,gr:r}=this.zt;return i>=s-e-7&&i<=s+e+7?{Mr:this.zt,gr:r}:null}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;if(!1===this.zt.yt)return;const e=Math.round(this.zt.st*s);e<0||e>i.height||(t.lineCap=\"butt\",t.strokeStyle=this.zt.V,t.lineWidth=Math.floor(this.zt.et*n),f(t,this.zt.Nt),v(t,e,0,i.width))}}class hi{constructor(t){this.Sr={st:0,V:\"rgba(0, 0, 0, 0)\",et:1,Nt:0,yt:!1},this.kr=new ri,this.ft=!0,this.Es=t,this.Ns=t.$t(),this.kr.J(this.Sr)}bt(){this.ft=!0}gt(){return this.Es.yt()?(this.ft&&(this.yr(),this.ft=!1),this.kr):null}}class li extends hi{constructor(t){super(t)}yr(){this.Sr.yt=!1;const t=this.Es.Dt(),i=t.Cr().Cr;if(2!==i&&3!==i)return;const n=this.Es.W();if(!n.baseLineVisible||!this.Es.yt())return;const s=this.Es.Ct();null!==s&&(this.Sr.yt=!0,this.Sr.st=t.Rt(s.Vt,s.Vt),this.Sr.V=n.baseLineColor,this.Sr.et=n.baseLineWidth,this.Sr.Nt=n.baseLineStyle)}}class ai extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}$e(){return this.zt}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){const s=this.zt;if(null===s)return;const e=Math.max(1,Math.floor(i)),r=e%2/2,h=Math.round(s.Xe.x*i)+r,l=s.Xe.y*n;t.fillStyle=s.Tr,t.beginPath();const a=Math.max(2,1.5*s.Pr)*i;t.arc(h,l,a,0,2*Math.PI,!1),t.fill(),t.fillStyle=s.Rr,t.beginPath(),t.arc(h,l,s.ht*i,0,2*Math.PI,!1),t.fill(),t.lineWidth=e,t.strokeStyle=s.Dr,t.beginPath(),t.arc(h,l,s.ht*i+e/2,0,2*Math.PI,!1),t.stroke()}}const oi=[{Vr:0,Or:.25,Br:4,Ar:10,Ir:.25,zr:0,Lr:.4,Er:.8},{Vr:.25,Or:.525,Br:10,Ar:14,Ir:0,zr:0,Lr:.8,Er:0},{Vr:.525,Or:1,Br:14,Ar:14,Ir:0,zr:0,Lr:0,Er:0}];function _i(t,i,n,s){return function(t,i){if(\"transparent\"===t)return t;const n=T(t),s=n[3];return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${i*s})`}(t,n+(s-n)*i)}function ui(t,i){const n=t%2600/2600;let s;for(const t of oi)if(n>=t.Vr&&n<=t.Or){s=t;break}p(void 0!==s,\"Last price animation internal logic error\");const e=(n-s.Vr)/(s.Or-s.Vr);return{Rr:_i(i,e,s.Ir,s.zr),Dr:_i(i,e,s.Lr,s.Er),ht:(r=e,h=s.Br,l=s.Ar,h+(l-h)*r)};var r,h,l}class ci{constructor(t){this.Wt=new ai,this.ft=!0,this.Nr=!0,this.Fr=performance.now(),this.Wr=this.Fr-1,this.jr=t}Hr(){this.Wr=this.Fr-1,this.bt()}$r(){if(this.bt(),2===this.jr.W().lastPriceAnimation){const t=performance.now(),i=this.Wr-t;if(i>0)return void(i<650&&(this.Wr+=2600));this.Fr=t,this.Wr=t+2600}}bt(){this.ft=!0}Ur(){this.Nr=!0}yt(){return 0!==this.jr.W().lastPriceAnimation}qr(){switch(this.jr.W().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.Wr}}gt(){return this.ft?(this.Mt(),this.ft=!1,this.Nr=!1):this.Nr&&(this.Yr(),this.Nr=!1),this.Wt}Mt(){this.Wt.J(null);const t=this.jr.$t().St(),i=t.Xs(),n=this.jr.Ct();if(null===i||null===n)return;const s=this.jr.Zr(!0);if(s.Xr||!i.Kr(s.ee))return;const e={x:t.It(s.ee),y:this.jr.Dt().Rt(s._t,n.Vt)},r=s.V,h=this.jr.W().lineWidth,l=ui(this.Gr(),r);this.Wt.J({Tr:r,Pr:h,Rr:l.Rr,Dr:l.Dr,ht:l.ht,Xe:e})}Yr(){const t=this.Wt.$e();if(null!==t){const i=ui(this.Gr(),t.Tr);t.Rr=i.Rr,t.Dr=i.Dr,t.ht=i.ht}}Gr(){return this.qr()?performance.now()-this.Fr:2599}}function di(t,i){return Ct(Math.min(Math.max(t,12),30)*i)}function fi(t,i){switch(t){case\"arrowDown\":case\"arrowUp\":return di(i,1);case\"circle\":return di(i,.8);case\"square\":return di(i,.7)}}function vi(t){return function(t){const i=Math.ceil(t);return i%2!=0?i-1:i}(di(t,1))}function pi(t){return Math.max(di(t,.1),3)}function mi(t,i,n){return i?t:n?Math.ceil(t/2):0}function bi(t,i,n,s,e){const r=fi(\"square\",n),h=(r-1)/2,l=t-h,a=i-h;return s>=l&&s<=l+r&&e>=a&&e<=a+r}function wi(t,i,n,s){const e=(fi(\"arrowUp\",s)-1)/2*n.Jr,r=(Ct(s/2)-1)/2*n.Jr;i.beginPath(),t?(i.moveTo(n.nt-e,n.st),i.lineTo(n.nt,n.st-e),i.lineTo(n.nt+e,n.st),i.lineTo(n.nt+r,n.st),i.lineTo(n.nt+r,n.st+e),i.lineTo(n.nt-r,n.st+e),i.lineTo(n.nt-r,n.st)):(i.moveTo(n.nt-e,n.st),i.lineTo(n.nt,n.st+e),i.lineTo(n.nt+e,n.st),i.lineTo(n.nt+r,n.st),i.lineTo(n.nt+r,n.st-e),i.lineTo(n.nt-r,n.st-e),i.lineTo(n.nt-r,n.st)),i.fill()}function gi(t,i,n,s,e,r){return bi(i,n,s,e,r)}class Mi extends H{constructor(){super(...arguments),this.zt=null,this.ar=new ni,this.j=-1,this.H=\"\",this.Qr=\"\"}J(t){this.zt=t}_r(t,i){this.j===t&&this.H===i||(this.j=t,this.H=i,this.Qr=F(t,i),this.ar.nr())}wr(t,i){if(null===this.zt||null===this.zt.tt)return null;for(let n=this.zt.tt.from;n<this.zt.tt.to;n++){const s=this.zt.it[n];if(Si(s,t,i))return{Mr:s.th,gr:s.gr}}return null}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n},s,e){if(null!==this.zt&&null!==this.zt.tt){t.textBaseline=\"middle\",t.font=this.Qr;for(let s=this.zt.tt.from;s<this.zt.tt.to;s++){const e=this.zt.it[s];void 0!==e.Kt&&(e.Kt.Hi=this.ar.xi(t,e.Kt.ih),e.Kt.At=this.j,e.Kt.nt=e.nt-e.Kt.Hi/2),xi(e,t,i,n)}}}}function xi(t,i,n,s){i.fillStyle=t.V,void 0!==t.Kt&&function(t,i,n,s,e,r){t.save(),t.scale(e,r),t.fillText(i,n,s),t.restore()}(i,t.Kt.ih,t.Kt.nt,t.Kt.st,n,s),function(t,i,n){if(0===t.Ks)return;switch(t.nh){case\"arrowDown\":return void wi(!1,i,n,t.Ks);case\"arrowUp\":return void wi(!0,i,n,t.Ks);case\"circle\":return void function(t,i,n){const s=(fi(\"circle\",n)-1)/2;t.beginPath(),t.arc(i.nt,i.st,s*i.Jr,0,2*Math.PI,!1),t.fill()}(i,n,t.Ks);case\"square\":return void function(t,i,n){const s=fi(\"square\",n),e=(s-1)*i.Jr/2,r=i.nt-e,h=i.st-e;t.fillRect(r,h,s*i.Jr,s*i.Jr)}(i,n,t.Ks)}t.nh}(t,i,function(t,i,n){const s=Math.max(1,Math.floor(i))%2/2;return{nt:Math.round(t.nt*i)+s,st:t.st*n,Jr:i}}(t,n,s))}function Si(t,i,n){return!(void 0===t.Kt||!function(t,i,n,s,e,r){const h=s/2;return e>=t&&e<=t+n&&r>=i-h&&r<=i+h}(t.Kt.nt,t.Kt.st,t.Kt.Hi,t.Kt.At,i,n))||function(t,i,n){if(0===t.Ks)return!1;switch(t.nh){case\"arrowDown\":case\"arrowUp\":return gi(0,t.nt,t.st,t.Ks,i,n);case\"circle\":return function(t,i,n,s,e){const r=2+fi(\"circle\",n)/2,h=t-s,l=i-e;return Math.sqrt(h*h+l*l)<=r}(t.nt,t.st,t.Ks,i,n);case\"square\":return bi(t.nt,t.st,t.Ks,i,n)}}(t,i,n)}function ki(t,i,n,s,e,r,h,l,a){const o=O(n)?n:n.Se,_=O(n)?n:n.Me,u=O(n)?n:n.xe,c=O(i.size)?Math.max(i.size,0):1,d=vi(l.le())*c,f=d/2;switch(t.Ks=d,i.position){case\"inBar\":return t.st=h.Rt(o,a),void(void 0!==t.Kt&&(t.Kt.st=t.st+f+r+.6*e));case\"aboveBar\":return t.st=h.Rt(_,a)-f-s.sh,void 0!==t.Kt&&(t.Kt.st=t.st-f-.6*e,s.sh+=1.2*e),void(s.sh+=d+r);case\"belowBar\":return t.st=h.Rt(u,a)+f+s.eh,void 0!==t.Kt&&(t.Kt.st=t.st+f+r+.6*e,s.eh+=1.2*e),void(s.eh+=d+r)}i.position}class yi{constructor(t,i){this.ft=!0,this.rh=!0,this.hh=!0,this.ah=null,this.oh=null,this.Wt=new Mi,this.jr=t,this.$i=i,this.zt={it:[],tt:null}}bt(t){this.ft=!0,this.hh=!0,\"data\"===t&&(this.rh=!0,this.oh=null)}gt(t){if(!this.jr.yt())return null;this.ft&&this._h();const i=this.$i.W().layout;return this.Wt._r(i.fontSize,i.fontFamily),this.Wt.J(this.zt),this.Wt}uh(){if(this.hh){if(this.jr.dh().length>0){const t=this.$i.St().le(),i=pi(t),n=1.5*vi(t)+2*i,s=this.fh();this.ah={above:mi(n,s.aboveBar,s.inBar),below:mi(n,s.belowBar,s.inBar)}}else this.ah=null;this.hh=!1}return this.ah}fh(){return null===this.oh&&(this.oh=this.jr.dh().reduce(((t,i)=>(t[i.position]||(t[i.position]=!0),t)),{inBar:!1,aboveBar:!1,belowBar:!1})),this.oh}_h(){const t=this.jr.Dt(),i=this.$i.St(),n=this.jr.dh();this.rh&&(this.zt.it=n.map((t=>({ot:t.time,nt:0,st:0,Ks:0,nh:t.shape,V:t.color,th:t.th,gr:t.id,Kt:void 0}))),this.rh=!1);const s=this.$i.W().layout;this.zt.tt=null;const e=i.Xs();if(null===e)return;const r=this.jr.Ct();if(null===r)return;if(0===this.zt.it.length)return;let h=NaN;const l=pi(i.le()),a={sh:l,eh:l};this.zt.tt=Lt(this.zt.it,e,!0);for(let e=this.zt.tt.from;e<this.zt.tt.to;e++){const o=n[e];o.time!==h&&(a.sh=l,a.eh=l,h=o.time);const _=this.zt.it[e];_.nt=i.It(o.time),void 0!==o.text&&o.text.length>0&&(_.Kt={ih:o.text,nt:0,st:0,Hi:0,At:0});const u=this.jr.ph(o.time);null!==u&&ki(_,o,u,a,s.fontSize,l,t,i,r.Vt)}this.ft=!1}}class Ci extends hi{constructor(t){super(t)}yr(){const t=this.Sr;t.yt=!1;const i=this.Es.W();if(!i.priceLineVisible||!this.Es.yt())return;const n=this.Es.Zr(0===i.priceLineSource);n.Xr||(t.yt=!0,t.st=n.ki,t.V=this.Es.mh(n.V),t.et=i.priceLineWidth,t.Nt=i.priceLineStyle)}}class Ti extends nt{constructor(t){super(),this.jt=t}zi(t,i,n){t.yt=!1,i.yt=!1;const s=this.jt;if(!s.yt())return;const e=s.W(),r=e.lastValueVisible,h=\"\"!==s.bh(),l=0===e.seriesLastValueMode,a=s.Zr(!1);if(a.Xr)return;r&&(t.Kt=this.wh(a,r,l),t.yt=0!==t.Kt.length),(h||l)&&(i.Kt=this.gh(a,r,h,l),i.yt=i.Kt.length>0);const o=s.mh(a.V),_=R(o);n.t=_.t,n.ki=a.ki,i.Ot=s.$t().Bt(a.ki/s.Dt().At()),t.Ot=o,t.V=_.i,i.V=_.i}gh(t,i,n,s){let e=\"\";const r=this.jt.bh();return n&&0!==r.length&&(e+=`${r} `),i&&s&&(e+=this.jt.Dt().Mh()?t.xh:t.Sh),e.trim()}wh(t,i,n){return i?n?this.jt.Dt().Mh()?t.Sh:t.xh:t.Kt:\"\"}}function Pi(t,i,n,s){const e=Number.isFinite(i),r=Number.isFinite(n);return e&&r?t(i,n):e||r?e?i:n:s}class Ri{constructor(t,i){this.kh=t,this.yh=i}Ch(t){return null!==t&&(this.kh===t.kh&&this.yh===t.yh)}Th(){return new Ri(this.kh,this.yh)}Ph(){return this.kh}Rh(){return this.yh}Dh(){return this.yh-this.kh}Ni(){return this.yh===this.kh||Number.isNaN(this.yh)||Number.isNaN(this.kh)}ts(t){return null===t?this:new Ri(Pi(Math.min,this.Ph(),t.Ph(),-1/0),Pi(Math.max,this.Rh(),t.Rh(),1/0))}Vh(t){if(!O(t))return;if(0===this.yh-this.kh)return;const i=.5*(this.yh+this.kh);let n=this.yh-i,s=this.kh-i;n*=t,s*=t,this.yh=i+n,this.kh=i+s}Oh(t){O(t)&&(this.yh+=t,this.kh+=t)}Bh(){return{minValue:this.kh,maxValue:this.yh}}static Ah(t){return null===t?null:new Ri(t.minValue,t.maxValue)}}class Di{constructor(t,i){this.Ih=t,this.zh=i||null}Lh(){return this.Ih}Eh(){return this.zh}Bh(){return null===this.Ih?null:{priceRange:this.Ih.Bh(),margins:this.zh||void 0}}static Ah(t){return null===t?null:new Di(Ri.Ah(t.priceRange),t.margins)}}class Vi extends hi{constructor(t,i){super(t),this.Nh=i}yr(){const t=this.Sr;t.yt=!1;const i=this.Nh.W();if(!this.Es.yt()||!i.lineVisible)return;const n=this.Nh.Fh();null!==n&&(t.yt=!0,t.st=n,t.V=i.color,t.et=i.lineWidth,t.Nt=i.lineStyle,t.gr=this.Nh.W().id)}}class Oi extends nt{constructor(t,i){super(),this.jr=t,this.Nh=i}zi(t,i,n){t.yt=!1,i.yt=!1;const s=this.Nh.W(),e=s.axisLabelVisible,r=\"\"!==s.title,h=this.jr;if(!e||!h.yt())return;const l=this.Nh.Fh();if(null===l)return;r&&(i.Kt=s.title,i.yt=!0),i.Ot=h.$t().Bt(l/h.Dt().At()),t.Kt=this.Wh(s.price),t.yt=!0;const a=R(s.axisLabelColor||s.color);n.t=a.t;const o=s.axisLabelTextColor||a.i;t.V=o,i.V=o,n.ki=l}Wh(t){const i=this.jr.Ct();return null===i?\"\":this.jr.Dt().Fi(t,i.Vt)}}class Bi{constructor(t,i){this.jr=t,this.cn=i,this.jh=new Vi(t,this),this.ur=new Oi(t,this),this.Hh=new ei(this.ur,t,t.$t())}$h(t){V(this.cn,t),this.bt(),this.jr.$t().Uh()}W(){return this.cn}qh(){return this.jh}Yh(){return this.Hh}Zh(){return this.ur}bt(){this.jh.bt(),this.ur.bt()}Fh(){const t=this.jr,i=t.Dt();if(t.$t().St().Ni()||i.Ni())return null;const n=t.Ct();return null===n?null:i.Rt(this.cn.price,n.Vt)}}class Ai extends lt{constructor(t){super(),this.$i=t}$t(){return this.$i}}const Ii={Bar:(t,i,n,s)=>{var e;const r=i.upColor,h=i.downColor,l=b(t(n,s)),a=w(l.Vt[0])<=w(l.Vt[3]);return{ce:null!==(e=l.V)&&void 0!==e?e:a?r:h}},Candlestick:(t,i,n,s)=>{var e,r,h;const l=i.upColor,a=i.downColor,o=i.borderUpColor,_=i.borderDownColor,u=i.wickUpColor,c=i.wickDownColor,d=b(t(n,s)),f=w(d.Vt[0])<=w(d.Vt[3]);return{ce:null!==(e=d.V)&&void 0!==e?e:f?l:a,Ne:null!==(r=d.Ot)&&void 0!==r?r:f?o:_,Ee:null!==(h=d.Xh)&&void 0!==h?h:f?u:c}},Custom:(t,i,n,s)=>{var e;return{ce:null!==(e=b(t(n,s)).V)&&void 0!==e?e:i.color}},Area:(t,i,n,s)=>{var e,r,h,l;const a=b(t(n,s));return{ce:null!==(e=a.lt)&&void 0!==e?e:i.lineColor,lt:null!==(r=a.lt)&&void 0!==r?r:i.lineColor,Ps:null!==(h=a.Ps)&&void 0!==h?h:i.topColor,Rs:null!==(l=a.Rs)&&void 0!==l?l:i.bottomColor}},Baseline:(t,i,n,s)=>{var e,r,h,l,a,o;const _=b(t(n,s));return{ce:_.Vt[3]>=i.baseValue.price?i.topLineColor:i.bottomLineColor,Re:null!==(e=_.Re)&&void 0!==e?e:i.topLineColor,De:null!==(r=_.De)&&void 0!==r?r:i.bottomLineColor,ke:null!==(h=_.ke)&&void 0!==h?h:i.topFillColor1,ye:null!==(l=_.ye)&&void 0!==l?l:i.topFillColor2,Ce:null!==(a=_.Ce)&&void 0!==a?a:i.bottomFillColor1,Te:null!==(o=_.Te)&&void 0!==o?o:i.bottomFillColor2}},Line:(t,i,n,s)=>{var e,r;const h=b(t(n,s));return{ce:null!==(e=h.V)&&void 0!==e?e:i.color,lt:null!==(r=h.V)&&void 0!==r?r:i.color}},Histogram:(t,i,n,s)=>{var e;return{ce:null!==(e=b(t(n,s)).V)&&void 0!==e?e:i.color}}};class zi{constructor(t){this.Kh=(t,i)=>void 0!==i?i.Vt:this.jr.In().Gh(t),this.jr=t,this.Jh=Ii[t.Qh()]}$s(t,i){return this.Jh(this.Kh,this.jr.W(),t,i)}}var Li;!function(t){t[t.NearestLeft=-1]=\"NearestLeft\",t[t.None=0]=\"None\",t[t.NearestRight=1]=\"NearestRight\"}(Li||(Li={}));const Ei=30;class Ni{constructor(){this.tl=[],this.il=new Map,this.nl=new Map}sl(){return this.Ks()>0?this.tl[this.tl.length-1]:null}el(){return this.Ks()>0?this.rl(0):null}An(){return this.Ks()>0?this.rl(this.tl.length-1):null}Ks(){return this.tl.length}Ni(){return 0===this.Ks()}Kr(t){return null!==this.hl(t,0)}Gh(t){return this.ll(t)}ll(t,i=0){const n=this.hl(t,i);return null===n?null:Object.assign(Object.assign({},this.al(n)),{ee:this.rl(n)})}ne(){return this.tl}ol(t,i,n){if(this.Ni())return null;let s=null;for(const e of n){s=Fi(s,this._l(t,i,e))}return s}J(t){this.nl.clear(),this.il.clear(),this.tl=t}rl(t){return this.tl[t].ee}al(t){return this.tl[t]}hl(t,i){const n=this.ul(t);if(null===n&&0!==i)switch(i){case-1:return this.cl(t);case 1:return this.dl(t);default:throw new TypeError(\"Unknown search mode\")}return n}cl(t){let i=this.fl(t);return i>0&&(i-=1),i!==this.tl.length&&this.rl(i)<t?i:null}dl(t){const i=this.vl(t);return i!==this.tl.length&&t<this.rl(i)?i:null}ul(t){const i=this.fl(t);return i===this.tl.length||t<this.tl[i].ee?null:i}fl(t){return Bt(this.tl,t,((t,i)=>t.ee<i))}vl(t){return At(this.tl,t,((t,i)=>t.ee>i))}pl(t,i,n){let s=null;for(let e=t;e<i;e++){const t=this.tl[e].Vt[n];Number.isNaN(t)||(null===s?s={ml:t,bl:t}:(t<s.ml&&(s.ml=t),t>s.bl&&(s.bl=t)))}return s}_l(t,i,n){if(this.Ni())return null;let s=null;const e=b(this.el()),r=b(this.An()),h=Math.max(t,e),l=Math.min(i,r),a=Math.ceil(h/Ei)*Ei,o=Math.max(a,Math.floor(l/Ei)*Ei);{const t=this.fl(h),e=this.vl(Math.min(l,a,i));s=Fi(s,this.pl(t,e,n))}let _=this.il.get(n);void 0===_&&(_=new Map,this.il.set(n,_));for(let t=Math.max(a+1,h);t<o;t+=Ei){const i=Math.floor(t/Ei);let e=_.get(i);if(void 0===e){const t=this.fl(i*Ei),s=this.vl((i+1)*Ei-1);e=this.pl(t,s,n),_.set(i,e)}s=Fi(s,e)}{const t=this.fl(o),i=this.vl(l);s=Fi(s,this.pl(t,i,n))}return s}}function Fi(t,i){if(null===t)return i;if(null===i)return t;return{ml:Math.min(t.ml,i.ml),bl:Math.max(t.bl,i.bl)}}class Wi{constructor(t){this.wl=t}X(t,i,n){this.wl.draw(t)}gl(t,i,n){var s,e;null===(e=(s=this.wl).drawBackground)||void 0===e||e.call(s,t)}}class ji{constructor(t){this.tr=null,this.wn=t}gt(){var t;const i=this.wn.renderer();if(null===i)return null;if((null===(t=this.tr)||void 0===t?void 0:t.Ml)===i)return this.tr.xl;const n=new Wi(i);return this.tr={Ml:i,xl:n},n}Sl(){var t,i,n;return null!==(n=null===(i=(t=this.wn).zOrder)||void 0===i?void 0:i.call(t))&&void 0!==n?n:\"normal\"}}function Hi(t){var i,n,s,e,r;return{Kt:t.text(),ki:t.coordinate(),Si:null===(i=t.fixedCoordinate)||void 0===i?void 0:i.call(t),V:t.textColor(),t:t.backColor(),yt:null===(s=null===(n=t.visible)||void 0===n?void 0:n.call(t))||void 0===s||s,hi:null===(r=null===(e=t.tickVisible)||void 0===e?void 0:e.call(t))||void 0===r||r}}class $i{constructor(t,i){this.Wt=new rt,this.kl=t,this.yl=i}gt(){return this.Wt.J(Object.assign({Hi:this.yl.Hi()},Hi(this.kl))),this.Wt}}class Ui extends nt{constructor(t,i){super(),this.kl=t,this.Li=i}zi(t,i,n){const s=Hi(this.kl);n.t=s.t,t.V=s.V;const e=2/12*this.Li.P();n.wi=e,n.gi=e,n.ki=s.ki,n.Si=s.Si,t.Kt=s.Kt,t.yt=s.yt,t.hi=s.hi}}class qi{constructor(t,i){this.Cl=null,this.Tl=null,this.Pl=null,this.Rl=null,this.Dl=null,this.Vl=t,this.jr=i}Ol(){return this.Vl}Vn(){var t,i;null===(i=(t=this.Vl).updateAllViews)||void 0===i||i.call(t)}Pn(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).paneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Cl)||void 0===s?void 0:s.Ml)===e)return this.Cl.xl;const r=e.map((t=>new ji(t)));return this.Cl={Ml:e,xl:r},r}Qi(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).timeAxisViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Tl)||void 0===s?void 0:s.Ml)===e)return this.Tl.xl;const r=this.jr.$t().St(),h=e.map((t=>new $i(t,r)));return this.Tl={Ml:e,xl:h},h}Rn(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).priceAxisViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Pl)||void 0===s?void 0:s.Ml)===e)return this.Pl.xl;const r=this.jr.Dt(),h=e.map((t=>new Ui(t,r)));return this.Pl={Ml:e,xl:h},h}Bl(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).priceAxisPaneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Rl)||void 0===s?void 0:s.Ml)===e)return this.Rl.xl;const r=e.map((t=>new ji(t)));return this.Rl={Ml:e,xl:r},r}Al(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).timeAxisPaneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Dl)||void 0===s?void 0:s.Ml)===e)return this.Dl.xl;const r=e.map((t=>new ji(t)));return this.Dl={Ml:e,xl:r},r}Il(t,i){var n,s,e;return null!==(e=null===(s=(n=this.Vl).autoscaleInfo)||void 0===s?void 0:s.call(n,t,i))&&void 0!==e?e:null}wr(t,i){var n,s,e;return null!==(e=null===(s=(n=this.Vl).hitTest)||void 0===s?void 0:s.call(n,t,i))&&void 0!==e?e:null}}function Yi(t,i,n,s){t.forEach((t=>{i(t).forEach((t=>{t.Sl()===n&&s.push(t)}))}))}function Zi(t){return t.Pn()}function Xi(t){return t.Bl()}function Ki(t){return t.Al()}class Gi extends Ai{constructor(t,i,n,s,e){super(t),this.zt=new Ni,this.jh=new Ci(this),this.zl=[],this.Ll=new li(this),this.El=null,this.Nl=null,this.Fl=[],this.Wl=[],this.jl=null,this.Hl=[],this.cn=i,this.$l=n;const r=new Ti(this);this.rn=[r],this.Hh=new ei(r,this,t),\"Area\"!==n&&\"Line\"!==n&&\"Baseline\"!==n||(this.El=new ci(this)),this.Ul(),this.ql(e)}S(){null!==this.jl&&clearTimeout(this.jl)}mh(t){return this.cn.priceLineColor||t}Zr(t){const i={Xr:!0},n=this.Dt();if(this.$t().St().Ni()||n.Ni()||this.zt.Ni())return i;const s=this.$t().St().Xs(),e=this.Ct();if(null===s||null===e)return i;let r,h;if(t){const t=this.zt.sl();if(null===t)return i;r=t,h=t.ee}else{const t=this.zt.ll(s.ui(),-1);if(null===t)return i;if(r=this.zt.Gh(t.ee),null===r)return i;h=t.ee}const l=r.Vt[3],a=this.Us().$s(h,{Vt:r}),o=n.Rt(l,e.Vt);return{Xr:!1,_t:l,Kt:n.Fi(l,e.Vt),xh:n.Yl(l),Sh:n.Zl(l,e.Vt),V:a.ce,ki:o,ee:h}}Us(){return null!==this.Nl||(this.Nl=new zi(this)),this.Nl}W(){return this.cn}$h(t){const i=t.priceScaleId;void 0!==i&&i!==this.cn.priceScaleId&&this.$t().Xl(this,i),V(this.cn,t),void 0!==t.priceFormat&&(this.Ul(),this.$t().Kl()),this.$t().Gl(this),this.$t().Jl(),this.wn.bt(\"options\")}J(t,i){this.zt.J(t),this.Ql(),this.wn.bt(\"data\"),this.dn.bt(\"data\"),null!==this.El&&(i&&i.ta?this.El.$r():0===t.length&&this.El.Hr());const n=this.$t().dr(this);this.$t().ia(n),this.$t().Gl(this),this.$t().Jl(),this.$t().Uh()}na(t){this.Fl=t,this.Ql();const i=this.$t().dr(this);this.dn.bt(\"data\"),this.$t().ia(i),this.$t().Gl(this),this.$t().Jl(),this.$t().Uh()}sa(){return this.Fl}dh(){return this.Wl}ea(t){const i=new Bi(this,t);return this.zl.push(i),this.$t().Gl(this),i}ra(t){const i=this.zl.indexOf(t);-1!==i&&this.zl.splice(i,1),this.$t().Gl(this)}Qh(){return this.$l}Ct(){const t=this.ha();return null===t?null:{Vt:t.Vt[3],la:t.ot}}ha(){const t=this.$t().St().Xs();if(null===t)return null;const i=t.Os();return this.zt.ll(i,1)}In(){return this.zt}ph(t){const i=this.zt.Gh(t);return null===i?null:\"Bar\"===this.$l||\"Candlestick\"===this.$l||\"Custom\"===this.$l?{ge:i.Vt[0],Me:i.Vt[1],xe:i.Vt[2],Se:i.Vt[3]}:i.Vt[3]}aa(t){const i=[];Yi(this.Hl,Zi,\"top\",i);const n=this.El;return null!==n&&n.yt()?(null===this.jl&&n.qr()&&(this.jl=setTimeout((()=>{this.jl=null,this.$t().oa()}),0)),n.Ur(),i.unshift(n),i):i}Pn(){const t=[];this._a()||t.push(this.Ll),t.push(this.wn,this.jh,this.dn);const i=this.zl.map((t=>t.qh()));return t.push(...i),Yi(this.Hl,Zi,\"normal\",t),t}ua(){return this.ca(Zi,\"bottom\")}da(t){return this.ca(Xi,t)}fa(t){return this.ca(Ki,t)}va(t,i){return this.Hl.map((n=>n.wr(t,i))).filter((t=>null!==t))}Ji(t){return[this.Hh,...this.zl.map((t=>t.Yh()))]}Rn(t,i){if(i!==this.Yi&&!this._a())return[];const n=[...this.rn];for(const t of this.zl)n.push(t.Zh());return this.Hl.forEach((t=>{n.push(...t.Rn())})),n}Qi(){const t=[];return this.Hl.forEach((i=>{t.push(...i.Qi())})),t}Il(t,i){if(void 0!==this.cn.autoscaleInfoProvider){const n=this.cn.autoscaleInfoProvider((()=>{const n=this.pa(t,i);return null===n?null:n.Bh()}));return Di.Ah(n)}return this.pa(t,i)}ma(){return this.cn.priceFormat.minMove}ba(){return this.wa}Vn(){var t;this.wn.bt(),this.dn.bt();for(const t of this.rn)t.bt();for(const t of this.zl)t.bt();this.jh.bt(),this.Ll.bt(),null===(t=this.El)||void 0===t||t.bt(),this.Hl.forEach((t=>t.Vn()))}Dt(){return b(super.Dt())}kt(t){if(!((\"Line\"===this.$l||\"Area\"===this.$l||\"Baseline\"===this.$l)&&this.cn.crosshairMarkerVisible))return null;const i=this.zt.Gh(t);if(null===i)return null;return{_t:i.Vt[3],ht:this.ga(),Ot:this.Ma(),Pt:this.xa(),Tt:this.Sa(t)}}bh(){return this.cn.title}yt(){return this.cn.visible}ka(t){this.Hl.push(new qi(t,this))}ya(t){this.Hl=this.Hl.filter((i=>i.Ol()!==t))}Ca(){if(this.wn instanceof Kt!=!1)return t=>this.wn.We(t)}Ta(){if(this.wn instanceof Kt!=!1)return t=>this.wn.je(t)}_a(){return!_t(this.Dt().Pa())}pa(t,i){if(!B(t)||!B(i)||this.zt.Ni())return null;const n=\"Line\"===this.$l||\"Area\"===this.$l||\"Baseline\"===this.$l||\"Histogram\"===this.$l?[3]:[2,1],s=this.zt.ol(t,i,n);let e=null!==s?new Ri(s.ml,s.bl):null;if(\"Histogram\"===this.Qh()){const t=this.cn.base,i=new Ri(t,t);e=null!==e?e.ts(i):i}let r=this.dn.uh();return this.Hl.forEach((n=>{const s=n.Il(t,i);if(null==s?void 0:s.priceRange){const t=new Ri(s.priceRange.minValue,s.priceRange.maxValue);e=null!==e?e.ts(t):t}var h,l,a,o;(null==s?void 0:s.margins)&&(h=r,l=s.margins,r={above:Math.max(null!==(a=null==h?void 0:h.above)&&void 0!==a?a:0,l.above),below:Math.max(null!==(o=null==h?void 0:h.below)&&void 0!==o?o:0,l.below)})})),new Di(e,r)}ga(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":return this.cn.crosshairMarkerRadius}return 0}Ma(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":{const t=this.cn.crosshairMarkerBorderColor;if(0!==t.length)return t}}return null}xa(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":return this.cn.crosshairMarkerBorderWidth}return 0}Sa(t){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":{const t=this.cn.crosshairMarkerBackgroundColor;if(0!==t.length)return t}}return this.Us().$s(t).ce}Ul(){switch(this.cn.priceFormat.type){case\"custom\":this.wa={format:this.cn.priceFormat.formatter};break;case\"volume\":this.wa=new pt(this.cn.priceFormat.precision);break;case\"percent\":this.wa=new vt(this.cn.priceFormat.precision);break;default:{const t=Math.pow(10,this.cn.priceFormat.precision);this.wa=new ft(t,this.cn.priceFormat.minMove*t)}}null!==this.Yi&&this.Yi.Ra()}Ql(){const t=this.$t().St();if(!t.Da()||this.zt.Ni())return void(this.Wl=[]);const i=b(this.zt.el());this.Wl=this.Fl.map(((n,s)=>{const e=b(t.Va(n.time,!0)),r=e<i?1:-1;return{time:b(this.zt.ll(e,r)).ee,position:n.position,shape:n.shape,color:n.color,id:n.id,th:s,text:n.text,size:n.size,originalTime:n.originalTime}}))}ql(t){switch(this.dn=new yi(this,this.$t()),this.$l){case\"Bar\":this.wn=new Ht(this,this.$t());break;case\"Candlestick\":this.wn=new Zt(this,this.$t());break;case\"Line\":this.wn=new ti(this,this.$t());break;case\"Custom\":this.wn=new Kt(this,this.$t(),m(t));break;case\"Area\":this.wn=new Ft(this,this.$t());break;case\"Baseline\":this.wn=new qt(this,this.$t());break;case\"Histogram\":this.wn=new Qt(this,this.$t());break;default:throw Error(\"Unknown chart style assigned: \"+this.$l)}}ca(t,i){const n=[];return Yi(this.Hl,t,i,n),n}}class Ji{constructor(t){this.cn=t}Oa(t,i,n){let s=t;if(0===this.cn.mode)return s;const e=n.vn(),r=e.Ct();if(null===r)return s;const h=e.Rt(t,r),l=n.Ba().filter((t=>t instanceof Gi)).reduce(((t,s)=>{if(n.vr(s)||!s.yt())return t;const e=s.Dt(),r=s.In();if(e.Ni()||!r.Kr(i))return t;const h=r.Gh(i);if(null===h)return t;const l=w(s.Ct());return t.concat([e.Rt(h.Vt[3],l.Vt)])}),[]);if(0===l.length)return s;l.sort(((t,i)=>Math.abs(t-h)-Math.abs(i-h)));const a=l[0];return s=e.pn(a,r),s}}class Qi extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;const e=Math.max(1,Math.floor(n));t.lineWidth=e,function(t,i){t.save(),t.lineWidth%2&&t.translate(.5,.5),i(),t.restore()}(t,(()=>{const r=b(this.zt);if(r.Aa){t.strokeStyle=r.Ia,f(t,r.za),t.beginPath();for(const s of r.La){const r=Math.round(s.Ea*n);t.moveTo(r,-e),t.lineTo(r,i.height+e)}t.stroke()}if(r.Na){t.strokeStyle=r.Fa,f(t,r.Wa),t.beginPath();for(const n of r.ja){const r=Math.round(n.Ea*s);t.moveTo(-e,r),t.lineTo(i.width+e,r)}t.stroke()}}))}}class tn{constructor(t){this.Wt=new Qi,this.ft=!0,this.tn=t}bt(){this.ft=!0}gt(){if(this.ft){const t=this.tn.$t().W().grid,i={Na:t.horzLines.visible,Aa:t.vertLines.visible,Fa:t.horzLines.color,Ia:t.vertLines.color,Wa:t.horzLines.style,za:t.vertLines.style,ja:this.tn.vn().Ha(),La:(this.tn.$t().St().Ha()||[]).map((t=>({Ea:t.coord})))};this.Wt.J(i),this.ft=!1}return this.Wt}}class nn{constructor(t){this.wn=new tn(t)}qh(){return this.wn}}const sn={$a:4,Ua:1e-4};function en(t,i){const n=100*(t-i)/i;return i<0?-n:n}function rn(t,i){const n=en(t.Ph(),i),s=en(t.Rh(),i);return new Ri(n,s)}function hn(t,i){const n=100*(t-i)/i+100;return i<0?-n:n}function ln(t,i){const n=hn(t.Ph(),i),s=hn(t.Rh(),i);return new Ri(n,s)}function an(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.log10(n+i.Ua)+i.$a;return t<0?-s:s}function on(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.pow(10,n-i.$a)-i.Ua;return t<0?-s:s}function _n(t,i){if(null===t)return null;const n=an(t.Ph(),i),s=an(t.Rh(),i);return new Ri(n,s)}function un(t,i){if(null===t)return null;const n=on(t.Ph(),i),s=on(t.Rh(),i);return new Ri(n,s)}function cn(t){if(null===t)return sn;const i=Math.abs(t.Rh()-t.Ph());if(i>=1||i<1e-15)return sn;const n=Math.ceil(Math.abs(Math.log10(i))),s=sn.$a+n;return{$a:s,Ua:1/Math.pow(10,s)}}class dn{constructor(t,i){if(this.qa=t,this.Ya=i,function(t){if(t<0)return!1;for(let i=t;i>1;i/=10)if(i%10!=0)return!1;return!0}(this.qa))this.Za=[2,2.5,2];else{this.Za=[];for(let t=this.qa;1!==t;){if(t%2==0)this.Za.push(2),t/=2;else{if(t%5!=0)throw new Error(\"unexpected base\");this.Za.push(2,2.5),t/=5}if(this.Za.length>100)throw new Error(\"something wrong with base\")}}}Xa(t,i,n){const s=0===this.qa?0:1/this.qa;let e=Math.pow(10,Math.max(0,Math.ceil(Math.log10(t-i)))),r=0,h=this.Ya[0];for(;;){const t=yt(e,s,1e-14)&&e>s+1e-14,i=yt(e,n*h,1e-14),l=yt(e,1,1e-14);if(!(t&&i&&l))break;e/=h,h=this.Ya[++r%this.Ya.length]}if(e<=s+1e-14&&(e=s),e=Math.max(1,e),this.Za.length>0&&(l=e,a=1,o=1e-14,Math.abs(l-a)<o))for(r=0,h=this.Za[0];yt(e,n*h,1e-14)&&e>s+1e-14;)e/=h,h=this.Za[++r%this.Za.length];var l,a,o;return e}}class fn{constructor(t,i,n,s){this.Ka=[],this.Li=t,this.qa=i,this.Ga=n,this.Ja=s}Xa(t,i){if(t<i)throw new Error(\"high < low\");const n=this.Li.At(),s=(t-i)*this.Qa()/n,e=new dn(this.qa,[2,2.5,2]),r=new dn(this.qa,[2,2,2.5]),h=new dn(this.qa,[2.5,2,2]),l=[];return l.push(e.Xa(t,i,s),r.Xa(t,i,s),h.Xa(t,i,s)),function(t){if(t.length<1)throw Error(\"array is empty\");let i=t[0];for(let n=1;n<t.length;++n)t[n]<i&&(i=t[n]);return i}(l)}io(){const t=this.Li,i=t.Ct();if(null===i)return void(this.Ka=[]);const n=t.At(),s=this.Ga(n-1,i),e=this.Ga(0,i),r=this.Li.W().entireTextOnly?this.no()/2:0,h=r,l=n-1-r,a=Math.max(s,e),o=Math.min(s,e);if(a===o)return void(this.Ka=[]);let _=this.Xa(a,o),u=a%_;u+=u<0?_:0;const c=a>=o?1:-1;let d=null,f=0;for(let n=a-u;n>o;n-=_){const s=this.Ja(n,i,!0);null!==d&&Math.abs(s-d)<this.Qa()||(s<h||s>l||(f<this.Ka.length?(this.Ka[f].Ea=s,this.Ka[f].so=t.eo(n)):this.Ka.push({Ea:s,so:t.eo(n)}),f++,d=s,t.ro()&&(_=this.Xa(n*c,o))))}this.Ka.length=f}Ha(){return this.Ka}no(){return this.Li.P()}Qa(){return Math.ceil(2.5*this.no())}}function vn(t){return t.slice().sort(((t,i)=>b(t.Xi())-b(i.Xi())))}var pn;!function(t){t[t.Normal=0]=\"Normal\",t[t.Logarithmic=1]=\"Logarithmic\",t[t.Percentage=2]=\"Percentage\",t[t.IndexedTo100=3]=\"IndexedTo100\"}(pn||(pn={}));const mn=new vt,bn=new ft(100,1);class wn{constructor(t,i,n,s){this.ho=0,this.lo=null,this.Ih=null,this.ao=null,this.oo={_o:!1,uo:null},this.co=0,this.do=0,this.fo=new D,this.vo=new D,this.po=[],this.mo=null,this.bo=null,this.wo=null,this.Mo=null,this.wa=bn,this.xo=cn(null),this.So=t,this.cn=i,this.ko=n,this.yo=s,this.Co=new fn(this,100,this.To.bind(this),this.Po.bind(this))}Pa(){return this.So}W(){return this.cn}$h(t){if(V(this.cn,t),this.Ra(),void 0!==t.mode&&this.Ro({Cr:t.mode}),void 0!==t.scaleMargins){const i=m(t.scaleMargins.top),n=m(t.scaleMargins.bottom);if(i<0||i>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${i}`);if(n<0||n>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${n}`);if(i+n>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${i+n}`);this.Do(),this.bo=null}}Vo(){return this.cn.autoScale}ro(){return 1===this.cn.mode}Mh(){return 2===this.cn.mode}Oo(){return 3===this.cn.mode}Cr(){return{Wn:this.cn.autoScale,Bo:this.cn.invertScale,Cr:this.cn.mode}}Ro(t){const i=this.Cr();let n=null;void 0!==t.Wn&&(this.cn.autoScale=t.Wn),void 0!==t.Cr&&(this.cn.mode=t.Cr,2!==t.Cr&&3!==t.Cr||(this.cn.autoScale=!0),this.oo._o=!1),1===i.Cr&&t.Cr!==i.Cr&&(!function(t,i){if(null===t)return!1;const n=on(t.Ph(),i),s=on(t.Rh(),i);return isFinite(n)&&isFinite(s)}(this.Ih,this.xo)?this.cn.autoScale=!0:(n=un(this.Ih,this.xo),null!==n&&this.Ao(n))),1===t.Cr&&t.Cr!==i.Cr&&(n=_n(this.Ih,this.xo),null!==n&&this.Ao(n));const s=i.Cr!==this.cn.mode;s&&(2===i.Cr||this.Mh())&&this.Ra(),s&&(3===i.Cr||this.Oo())&&this.Ra(),void 0!==t.Bo&&i.Bo!==t.Bo&&(this.cn.invertScale=t.Bo,this.Io()),this.vo.m(i,this.Cr())}zo(){return this.vo}P(){return this.ko.fontSize}At(){return this.ho}Lo(t){this.ho!==t&&(this.ho=t,this.Do(),this.bo=null)}Eo(){if(this.lo)return this.lo;const t=this.At()-this.No()-this.Fo();return this.lo=t,t}Lh(){return this.Wo(),this.Ih}Ao(t,i){const n=this.Ih;(i||null===n&&null!==t||null!==n&&!n.Ch(t))&&(this.bo=null,this.Ih=t)}Ni(){return this.Wo(),0===this.ho||!this.Ih||this.Ih.Ni()}jo(t){return this.Bo()?t:this.At()-1-t}Rt(t,i){return this.Mh()?t=en(t,i):this.Oo()&&(t=hn(t,i)),this.Po(t,i)}te(t,i,n){this.Wo();const s=this.Fo(),e=b(this.Lh()),r=e.Ph(),h=e.Rh(),l=this.Eo()-1,a=this.Bo(),o=l/(h-r),_=void 0===n?0:n.from,u=void 0===n?t.length:n.to,c=this.Ho();for(let n=_;n<u;n++){const e=t[n],h=e._t;if(isNaN(h))continue;let l=h;null!==c&&(l=c(e._t,i));const _=s+o*(l-r),u=a?_:this.ho-1-_;e.st=u}}be(t,i,n){this.Wo();const s=this.Fo(),e=b(this.Lh()),r=e.Ph(),h=e.Rh(),l=this.Eo()-1,a=this.Bo(),o=l/(h-r),_=void 0===n?0:n.from,u=void 0===n?t.length:n.to,c=this.Ho();for(let n=_;n<u;n++){const e=t[n];let h=e.ge,l=e.Me,_=e.xe,u=e.Se;null!==c&&(h=c(e.ge,i),l=c(e.Me,i),_=c(e.xe,i),u=c(e.Se,i));let d=s+o*(h-r),f=a?d:this.ho-1-d;e.pe=f,d=s+o*(l-r),f=a?d:this.ho-1-d,e.de=f,d=s+o*(_-r),f=a?d:this.ho-1-d,e.fe=f,d=s+o*(u-r),f=a?d:this.ho-1-d,e.me=f}}pn(t,i){const n=this.To(t,i);return this.$o(n,i)}$o(t,i){let n=t;return this.Mh()?n=function(t,i){return i<0&&(t=-t),t/100*i+i}(n,i):this.Oo()&&(n=function(t,i){return t-=100,i<0&&(t=-t),t/100*i+i}(n,i)),n}Ba(){return this.po}Uo(){if(this.mo)return this.mo;let t=[];for(let i=0;i<this.po.length;i++){const n=this.po[i];null===n.Xi()&&n.Ki(i+1),t.push(n)}return t=vn(t),this.mo=t,this.mo}qo(t){-1===this.po.indexOf(t)&&(this.po.push(t),this.Ra(),this.Yo())}Zo(t){const i=this.po.indexOf(t);if(-1===i)throw new Error(\"source is not attached to scale\");this.po.splice(i,1),0===this.po.length&&(this.Ro({Wn:!0}),this.Ao(null)),this.Ra(),this.Yo()}Ct(){let t=null;for(const i of this.po){const n=i.Ct();null!==n&&((null===t||n.la<t.la)&&(t=n))}return null===t?null:t.Vt}Bo(){return this.cn.invertScale}Ha(){const t=null===this.Ct();if(null!==this.bo&&(t||this.bo.Xo===t))return this.bo.Ha;this.Co.io();const i=this.Co.Ha();return this.bo={Ha:i,Xo:t},this.fo.m(),i}Ko(){return this.fo}Go(t){this.Mh()||this.Oo()||null===this.wo&&null===this.ao&&(this.Ni()||(this.wo=this.ho-t,this.ao=b(this.Lh()).Th()))}Jo(t){if(this.Mh()||this.Oo())return;if(null===this.wo)return;this.Ro({Wn:!1}),(t=this.ho-t)<0&&(t=0);let i=(this.wo+.2*(this.ho-1))/(t+.2*(this.ho-1));const n=b(this.ao).Th();i=Math.max(i,.1),n.Vh(i),this.Ao(n)}Qo(){this.Mh()||this.Oo()||(this.wo=null,this.ao=null)}t_(t){this.Vo()||null===this.Mo&&null===this.ao&&(this.Ni()||(this.Mo=t,this.ao=b(this.Lh()).Th()))}i_(t){if(this.Vo())return;if(null===this.Mo)return;const i=b(this.Lh()).Dh()/(this.Eo()-1);let n=t-this.Mo;this.Bo()&&(n*=-1);const s=n*i,e=b(this.ao).Th();e.Oh(s),this.Ao(e,!0),this.bo=null}n_(){this.Vo()||null!==this.Mo&&(this.Mo=null,this.ao=null)}ba(){return this.wa||this.Ra(),this.wa}Fi(t,i){switch(this.cn.mode){case 2:return this.s_(en(t,i));case 3:return this.ba().format(hn(t,i));default:return this.Wh(t)}}eo(t){switch(this.cn.mode){case 2:return this.s_(t);case 3:return this.ba().format(t);default:return this.Wh(t)}}Yl(t){return this.Wh(t,b(this.e_()).ba())}Zl(t,i){return t=en(t,i),this.s_(t,mn)}r_(){return this.po}h_(t){this.oo={uo:t,_o:!1}}Vn(){this.po.forEach((t=>t.Vn()))}Ra(){this.bo=null;const t=this.e_();let i=100;null!==t&&(i=Math.round(1/t.ma())),this.wa=bn,this.Mh()?(this.wa=mn,i=100):this.Oo()?(this.wa=new ft(100,1),i=100):null!==t&&(this.wa=t.ba()),this.Co=new fn(this,i,this.To.bind(this),this.Po.bind(this)),this.Co.io()}Yo(){this.mo=null}e_(){return this.po[0]||null}No(){return this.Bo()?this.cn.scaleMargins.bottom*this.At()+this.do:this.cn.scaleMargins.top*this.At()+this.co}Fo(){return this.Bo()?this.cn.scaleMargins.top*this.At()+this.co:this.cn.scaleMargins.bottom*this.At()+this.do}Wo(){this.oo._o||(this.oo._o=!0,this.l_())}Do(){this.lo=null}Po(t,i){if(this.Wo(),this.Ni())return 0;t=this.ro()&&t?an(t,this.xo):t;const n=b(this.Lh()),s=this.Fo()+(this.Eo()-1)*(t-n.Ph())/n.Dh();return this.jo(s)}To(t,i){if(this.Wo(),this.Ni())return 0;const n=this.jo(t),s=b(this.Lh()),e=s.Ph()+s.Dh()*((n-this.Fo())/(this.Eo()-1));return this.ro()?on(e,this.xo):e}Io(){this.bo=null,this.Co.io()}l_(){const t=this.oo.uo;if(null===t)return;let i=null;const n=this.r_();let s=0,e=0;for(const r of n){if(!r.yt())continue;const n=r.Ct();if(null===n)continue;const h=r.Il(t.Os(),t.ui());let l=h&&h.Lh();if(null!==l){switch(this.cn.mode){case 1:l=_n(l,this.xo);break;case 2:l=rn(l,n.Vt);break;case 3:l=ln(l,n.Vt)}if(i=null===i?l:i.ts(b(l)),null!==h){const t=h.Eh();null!==t&&(s=Math.max(s,t.above),e=Math.max(e,t.below))}}}if(s===this.co&&e===this.do||(this.co=s,this.do=e,this.bo=null,this.Do()),null!==i){if(i.Ph()===i.Rh()){const t=this.e_(),n=5*(null===t||this.Mh()||this.Oo()?1:t.ma());this.ro()&&(i=un(i,this.xo)),i=new Ri(i.Ph()-n,i.Rh()+n),this.ro()&&(i=_n(i,this.xo))}if(this.ro()){const t=un(i,this.xo),n=cn(t);if(r=n,h=this.xo,r.$a!==h.$a||r.Ua!==h.Ua){const s=null!==this.ao?un(this.ao,this.xo):null;this.xo=n,i=_n(t,n),null!==s&&(this.ao=_n(s,n))}}this.Ao(i)}else null===this.Ih&&(this.Ao(new Ri(-.5,.5)),this.xo=cn(null));var r,h;this.oo._o=!0}Ho(){return this.Mh()?en:this.Oo()?hn:this.ro()?t=>an(t,this.xo):null}a_(t,i,n){return void 0===i?(void 0===n&&(n=this.ba()),n.format(t)):i(t)}Wh(t,i){return this.a_(t,this.yo.priceFormatter,i)}s_(t,i){return this.a_(t,this.yo.percentageFormatter,i)}}class gn{constructor(t,i){this.po=[],this.o_=new Map,this.ho=0,this.__=0,this.u_=1e3,this.mo=null,this.c_=new D,this.yl=t,this.$i=i,this.d_=new nn(this);const n=i.W();this.f_=this.v_(\"left\",n.leftPriceScale),this.p_=this.v_(\"right\",n.rightPriceScale),this.f_.zo().l(this.m_.bind(this,this.f_),this),this.p_.zo().l(this.m_.bind(this,this.p_),this),this.b_(n)}b_(t){if(t.leftPriceScale&&this.f_.$h(t.leftPriceScale),t.rightPriceScale&&this.p_.$h(t.rightPriceScale),t.localization&&(this.f_.Ra(),this.p_.Ra()),t.overlayPriceScales){const i=Array.from(this.o_.values());for(const n of i){const i=b(n[0].Dt());i.$h(t.overlayPriceScales),t.localization&&i.Ra()}}}w_(t){switch(t){case\"left\":return this.f_;case\"right\":return this.p_}return this.o_.has(t)?m(this.o_.get(t))[0].Dt():null}S(){this.$t().g_().p(this),this.f_.zo().p(this),this.p_.zo().p(this),this.po.forEach((t=>{t.S&&t.S()})),this.c_.m()}M_(){return this.u_}x_(t){this.u_=t}$t(){return this.$i}Hi(){return this.__}At(){return this.ho}S_(t){this.__=t,this.k_()}Lo(t){this.ho=t,this.f_.Lo(t),this.p_.Lo(t),this.po.forEach((i=>{if(this.vr(i)){const n=i.Dt();null!==n&&n.Lo(t)}})),this.k_()}Ba(){return this.po}vr(t){const i=t.Dt();return null===i||this.f_!==i&&this.p_!==i}qo(t,i,n){const s=void 0!==n?n:this.C_().y_+1;this.T_(t,i,s)}Zo(t){const i=this.po.indexOf(t);p(-1!==i,\"removeDataSource: invalid data source\"),this.po.splice(i,1);const n=b(t.Dt()).Pa();if(this.o_.has(n)){const i=m(this.o_.get(n)),s=i.indexOf(t);-1!==s&&(i.splice(s,1),0===i.length&&this.o_.delete(n))}const s=t.Dt();s&&s.Ba().indexOf(t)>=0&&s.Zo(t),null!==s&&(s.Yo(),this.P_(s)),this.mo=null}mr(t){return t===this.f_?\"left\":t===this.p_?\"right\":\"overlay\"}R_(){return this.f_}D_(){return this.p_}V_(t,i){t.Go(i)}O_(t,i){t.Jo(i),this.k_()}B_(t){t.Qo()}A_(t,i){t.t_(i)}I_(t,i){t.i_(i),this.k_()}z_(t){t.n_()}k_(){this.po.forEach((t=>{t.Vn()}))}vn(){let t=null;return this.$i.W().rightPriceScale.visible&&0!==this.p_.Ba().length?t=this.p_:this.$i.W().leftPriceScale.visible&&0!==this.f_.Ba().length?t=this.f_:0!==this.po.length&&(t=this.po[0].Dt()),null===t&&(t=this.p_),t}pr(){let t=null;return this.$i.W().rightPriceScale.visible?t=this.p_:this.$i.W().leftPriceScale.visible&&(t=this.f_),t}P_(t){null!==t&&t.Vo()&&this.L_(t)}E_(t){const i=this.yl.Xs();t.Ro({Wn:!0}),null!==i&&t.h_(i),this.k_()}N_(){this.L_(this.f_),this.L_(this.p_)}F_(){this.P_(this.f_),this.P_(this.p_),this.po.forEach((t=>{this.vr(t)&&this.P_(t.Dt())})),this.k_(),this.$i.Uh()}Uo(){return null===this.mo&&(this.mo=vn(this.po)),this.mo}W_(){return this.c_}j_(){return this.d_}L_(t){const i=t.r_();if(i&&i.length>0&&!this.yl.Ni()){const i=this.yl.Xs();null!==i&&t.h_(i)}t.Vn()}C_(){const t=this.Uo();if(0===t.length)return{H_:0,y_:0};let i=0,n=0;for(let s=0;s<t.length;s++){const e=t[s].Xi();null!==e&&(e<i&&(i=e),e>n&&(n=e))}return{H_:i,y_:n}}T_(t,i,n){let s=this.w_(i);if(null===s&&(s=this.v_(i,this.$i.W().overlayPriceScales)),this.po.push(t),!_t(i)){const n=this.o_.get(i)||[];n.push(t),this.o_.set(i,n)}s.qo(t),t.Gi(s),t.Ki(n),this.P_(s),this.mo=null}m_(t,i,n){i.Cr!==n.Cr&&this.L_(t)}v_(t,i){const n=Object.assign({visible:!0,autoScale:!0},z(i)),s=new wn(t,n,this.$i.W().layout,this.$i.W().localization);return s.Lo(this.At()),s}}class Mn{constructor(t,i,n=50){this.Ke=0,this.Ge=1,this.Je=1,this.tr=new Map,this.Qe=new Map,this.U_=t,this.q_=i,this.ir=n}Y_(t){const i=t.time,n=this.q_.cacheKey(i),s=this.tr.get(n);if(void 0!==s)return s.Z_;if(this.Ke===this.ir){const t=this.Qe.get(this.Je);this.Qe.delete(this.Je),this.tr.delete(m(t)),this.Je++,this.Ke--}const e=this.U_(t);return this.tr.set(n,{Z_:e,rr:this.Ge}),this.Qe.set(this.Ge,n),this.Ke++,this.Ge++,e}}class xn{constructor(t,i){p(t<=i,\"right should be >= left\"),this.X_=t,this.K_=i}Os(){return this.X_}ui(){return this.K_}G_(){return this.K_-this.X_+1}Kr(t){return this.X_<=t&&t<=this.K_}Ch(t){return this.X_===t.Os()&&this.K_===t.ui()}}function Sn(t,i){return null===t||null===i?t===i:t.Ch(i)}class kn{constructor(){this.J_=new Map,this.tr=null,this.Q_=!1}tu(t){this.Q_=t,this.tr=null}iu(t,i){this.nu(i),this.tr=null;for(let n=i;n<t.length;++n){const i=t[n];let s=this.J_.get(i.timeWeight);void 0===s&&(s=[],this.J_.set(i.timeWeight,s)),s.push({index:n,time:i.time,weight:i.timeWeight,originalTime:i.originalTime})}}su(t,i){const n=Math.ceil(i/t);return null!==this.tr&&this.tr.eu===n||(this.tr={Ha:this.ru(n),eu:n}),this.tr.Ha}nu(t){if(0===t)return void this.J_.clear();const i=[];this.J_.forEach(((n,s)=>{t<=n[0].index?i.push(s):n.splice(Bt(n,t,(i=>i.index<t)),1/0)}));for(const t of i)this.J_.delete(t)}ru(t){let i=[];for(const n of Array.from(this.J_.keys()).sort(((t,i)=>i-t))){if(!this.J_.get(n))continue;const s=i;i=[];const e=s.length;let r=0;const h=m(this.J_.get(n)),l=h.length;let a=1/0,o=-1/0;for(let n=0;n<l;n++){const l=h[n],_=l.index;for(;r<e;){const t=s[r],n=t.index;if(!(n<_)){a=n;break}r++,i.push(t),o=n,a=1/0}if(a-_>=t&&_-o>=t)i.push(l),o=_;else if(this.Q_)return s}for(;r<e;r++)i.push(s[r])}return i}}class yn{constructor(t){this.hu=t}lu(){return null===this.hu?null:new xn(Math.floor(this.hu.Os()),Math.ceil(this.hu.ui()))}au(){return this.hu}static ou(){return new yn(null)}}function Cn(t,i){return t.weight>i.weight?t:i}class Tn{constructor(t,i,n,s){this.__=0,this._u=null,this.uu=[],this.Mo=null,this.wo=null,this.cu=new kn,this.du=new Map,this.fu=yn.ou(),this.vu=!0,this.pu=new D,this.mu=new D,this.bu=new D,this.wu=null,this.gu=null,this.Mu=[],this.cn=i,this.yo=n,this.xu=i.rightOffset,this.Su=i.barSpacing,this.$i=t,this.q_=s,this.ku(),this.cu.tu(i.uniformDistribution)}W(){return this.cn}yu(t){V(this.yo,t),this.Cu(),this.ku()}$h(t,i){var n;V(this.cn,t),this.cn.fixLeftEdge&&this.Tu(),this.cn.fixRightEdge&&this.Pu(),void 0!==t.barSpacing&&this.$i.Gn(t.barSpacing),void 0!==t.rightOffset&&this.$i.Jn(t.rightOffset),void 0!==t.minBarSpacing&&this.$i.Gn(null!==(n=t.barSpacing)&&void 0!==n?n:this.Su),this.Cu(),this.ku(),this.bu.m()}mn(t){var i,n;return null!==(n=null===(i=this.uu[t])||void 0===i?void 0:i.time)&&void 0!==n?n:null}Ui(t){var i;return null!==(i=this.uu[t])&&void 0!==i?i:null}Va(t,i){if(this.uu.length<1)return null;if(this.q_.key(t)>this.q_.key(this.uu[this.uu.length-1].time))return i?this.uu.length-1:null;const n=Bt(this.uu,this.q_.key(t),((t,i)=>this.q_.key(t.time)<i));return this.q_.key(t)<this.q_.key(this.uu[n].time)?i?n:null:n}Ni(){return 0===this.__||0===this.uu.length||null===this._u}Da(){return this.uu.length>0}Xs(){return this.Ru(),this.fu.lu()}Du(){return this.Ru(),this.fu.au()}Vu(){const t=this.Xs();if(null===t)return null;const i={from:t.Os(),to:t.ui()};return this.Ou(i)}Ou(t){const i=Math.round(t.from),n=Math.round(t.to),s=b(this.Bu()),e=b(this.Au());return{from:b(this.Ui(Math.max(s,i))),to:b(this.Ui(Math.min(e,n)))}}Iu(t){return{from:b(this.Va(t.from,!0)),to:b(this.Va(t.to,!0))}}Hi(){return this.__}S_(t){if(!isFinite(t)||t<=0)return;if(this.__===t)return;const i=this.Du(),n=this.__;if(this.__=t,this.vu=!0,this.cn.lockVisibleTimeRangeOnResize&&0!==n){const i=this.Su*t/n;this.Su=i}if(this.cn.fixLeftEdge&&null!==i&&i.Os()<=0){const i=n-t;this.xu-=Math.round(i/this.Su)+1,this.vu=!0}this.zu(),this.Lu()}It(t){if(this.Ni()||!B(t))return 0;const i=this.Eu()+this.xu-t;return this.__-(i+.5)*this.Su-1}Qs(t,i){const n=this.Eu(),s=void 0===i?0:i.from,e=void 0===i?t.length:i.to;for(let i=s;i<e;i++){const s=t[i].ot,e=n+this.xu-s,r=this.__-(e+.5)*this.Su-1;t[i].nt=r}}Nu(t){return Math.ceil(this.Fu(t))}Jn(t){this.vu=!0,this.xu=t,this.Lu(),this.$i.Wu(),this.$i.Uh()}le(){return this.Su}Gn(t){this.ju(t),this.Lu(),this.$i.Wu(),this.$i.Uh()}Hu(){return this.xu}Ha(){if(this.Ni())return null;if(null!==this.gu)return this.gu;const t=this.Su,i=5*(this.$i.W().layout.fontSize+4)/8*(this.cn.tickMarkMaxCharacterLength||8),n=Math.round(i/t),s=b(this.Xs()),e=Math.max(s.Os(),s.Os()-n),r=Math.max(s.ui(),s.ui()-n),h=this.cu.su(t,i),l=this.Bu()+n,a=this.Au()-n,o=this.$u(),_=this.cn.fixLeftEdge||o,u=this.cn.fixRightEdge||o;let c=0;for(const t of h){if(!(e<=t.index&&t.index<=r))continue;let n;c<this.Mu.length?(n=this.Mu[c],n.coord=this.It(t.index),n.label=this.Uu(t),n.weight=t.weight):(n={needAlignCoordinate:!1,coord:this.It(t.index),label:this.Uu(t),weight:t.weight},this.Mu.push(n)),this.Su>i/2&&!o?n.needAlignCoordinate=!1:n.needAlignCoordinate=_&&t.index<=l||u&&t.index>=a,c++}return this.Mu.length=c,this.gu=this.Mu,this.Mu}qu(){this.vu=!0,this.Gn(this.cn.barSpacing),this.Jn(this.cn.rightOffset)}Yu(t){this.vu=!0,this._u=t,this.Lu(),this.Tu()}Zu(t,i){const n=this.Fu(t),s=this.le(),e=s+i*(s/10);this.Gn(e),this.cn.rightBarStaysOnScroll||this.Jn(this.Hu()+(n-this.Fu(t)))}Go(t){this.Mo&&this.n_(),null===this.wo&&null===this.wu&&(this.Ni()||(this.wo=t,this.Xu()))}Jo(t){if(null===this.wu)return;const i=kt(this.__-t,0,this.__),n=kt(this.__-b(this.wo),0,this.__);0!==i&&0!==n&&this.Gn(this.wu.le*i/n)}Qo(){null!==this.wo&&(this.wo=null,this.Ku())}t_(t){null===this.Mo&&null===this.wu&&(this.Ni()||(this.Mo=t,this.Xu()))}i_(t){if(null===this.Mo)return;const i=(this.Mo-t)/this.le();this.xu=b(this.wu).Hu+i,this.vu=!0,this.Lu()}n_(){null!==this.Mo&&(this.Mo=null,this.Ku())}Gu(){this.Ju(this.cn.rightOffset)}Ju(t,i=400){if(!isFinite(t))throw new RangeError(\"offset is required and must be finite number\");if(!isFinite(i)||i<=0)throw new RangeError(\"animationDuration (optional) must be finite positive number\");const n=this.xu,s=performance.now();this.$i.Zn({Qu:t=>(t-s)/i>=1,tc:e=>{const r=(e-s)/i;return r>=1?t:n+(t-n)*r}})}bt(t,i){this.vu=!0,this.uu=t,this.cu.iu(t,i),this.Lu()}nc(){return this.pu}sc(){return this.mu}ec(){return this.bu}Eu(){return this._u||0}rc(t){const i=t.G_();this.ju(this.__/i),this.xu=t.ui()-this.Eu(),this.Lu(),this.vu=!0,this.$i.Wu(),this.$i.Uh()}hc(){const t=this.Bu(),i=this.Au();null!==t&&null!==i&&this.rc(new xn(t,i+this.cn.rightOffset))}lc(t){const i=new xn(t.from,t.to);this.rc(i)}qi(t){return void 0!==this.yo.timeFormatter?this.yo.timeFormatter(t.originalTime):this.q_.formatHorzItem(t.time)}$u(){const{handleScroll:t,handleScale:i}=this.$i.W();return!(t.horzTouchDrag||t.mouseWheel||t.pressedMouseMove||t.vertTouchDrag||i.axisDoubleClickReset.time||i.axisPressedMouseMove.time||i.mouseWheel||i.pinch)}Bu(){return 0===this.uu.length?null:0}Au(){return 0===this.uu.length?null:this.uu.length-1}ac(t){return(this.__-1-t)/this.Su}Fu(t){const i=this.ac(t),n=this.Eu()+this.xu-i;return Math.round(1e6*n)/1e6}ju(t){const i=this.Su;this.Su=t,this.zu(),i!==this.Su&&(this.vu=!0,this.oc())}Ru(){if(!this.vu)return;if(this.vu=!1,this.Ni())return void this._c(yn.ou());const t=this.Eu(),i=this.__/this.Su,n=this.xu+t,s=new xn(n-i+1,n);this._c(new yn(s))}zu(){const t=this.uc();if(this.Su<t&&(this.Su=t,this.vu=!0),0!==this.__){const t=.5*this.__;this.Su>t&&(this.Su=t,this.vu=!0)}}uc(){return this.cn.fixLeftEdge&&this.cn.fixRightEdge&&0!==this.uu.length?this.__/this.uu.length:this.cn.minBarSpacing}Lu(){const t=this.cc();null!==t&&this.xu<t&&(this.xu=t,this.vu=!0);const i=this.dc();this.xu>i&&(this.xu=i,this.vu=!0)}cc(){const t=this.Bu(),i=this._u;if(null===t||null===i)return null;return t-i-1+(this.cn.fixLeftEdge?this.__/this.Su:Math.min(2,this.uu.length))}dc(){return this.cn.fixRightEdge?0:this.__/this.Su-Math.min(2,this.uu.length)}Xu(){this.wu={le:this.le(),Hu:this.Hu()}}Ku(){this.wu=null}Uu(t){let i=this.du.get(t.weight);return void 0===i&&(i=new Mn((t=>this.fc(t)),this.q_),this.du.set(t.weight,i)),i.Y_(t)}fc(t){return this.q_.formatTickmark(t,this.yo)}_c(t){const i=this.fu;this.fu=t,Sn(i.lu(),this.fu.lu())||this.pu.m(),Sn(i.au(),this.fu.au())||this.mu.m(),this.oc()}oc(){this.gu=null}Cu(){this.oc(),this.du.clear()}ku(){this.q_.updateFormatter(this.yo)}Tu(){if(!this.cn.fixLeftEdge)return;const t=this.Bu();if(null===t)return;const i=this.Xs();if(null===i)return;const n=i.Os()-t;if(n<0){const t=this.xu-n-1;this.Jn(t)}this.zu()}Pu(){this.Lu(),this.zu()}}class Pn{X(t,i,n){t.useMediaCoordinateSpace((t=>this.K(t,i,n)))}gl(t,i,n){t.useMediaCoordinateSpace((t=>this.vc(t,i,n)))}vc(t,i,n){}}class Rn extends Pn{constructor(t){super(),this.mc=new Map,this.zt=t}K(t){}vc(t){if(!this.zt.yt)return;const{context:i,mediaSize:n}=t;let s=0;for(const t of this.zt.bc){if(0===t.Kt.length)continue;i.font=t.R;const e=this.wc(i,t.Kt);e>n.width?t.Zu=n.width/e:t.Zu=1,s+=t.gc*t.Zu}let e=0;switch(this.zt.Mc){case\"top\":e=0;break;case\"center\":e=Math.max((n.height-s)/2,0);break;case\"bottom\":e=Math.max(n.height-s,0)}i.fillStyle=this.zt.V;for(const t of this.zt.bc){i.save();let s=0;switch(this.zt.xc){case\"left\":i.textAlign=\"left\",s=t.gc/2;break;case\"center\":i.textAlign=\"center\",s=n.width/2;break;case\"right\":i.textAlign=\"right\",s=n.width-1-t.gc/2}i.translate(s,e),i.textBaseline=\"top\",i.font=t.R,i.scale(t.Zu,t.Zu),i.fillText(t.Kt,0,t.Sc),i.restore(),e+=t.gc*t.Zu}}wc(t,i){const n=this.kc(t.font);let s=n.get(i);return void 0===s&&(s=t.measureText(i).width,n.set(i,s)),s}kc(t){let i=this.mc.get(t);return void 0===i&&(i=new Map,this.mc.set(t,i)),i}}class Dn{constructor(t){this.ft=!0,this.Ft={yt:!1,V:\"\",bc:[],Mc:\"center\",xc:\"center\"},this.Wt=new Rn(this.Ft),this.jt=t}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt}Mt(){const t=this.jt.W(),i=this.Ft;i.yt=t.visible,i.yt&&(i.V=t.color,i.xc=t.horzAlign,i.Mc=t.vertAlign,i.bc=[{Kt:t.text,R:F(t.fontSize,t.fontFamily,t.fontStyle),gc:1.2*t.fontSize,Sc:0,Zu:0}])}}class Vn extends lt{constructor(t,i){super(),this.cn=i,this.wn=new Dn(this)}Rn(){return[]}Pn(){return[this.wn]}W(){return this.cn}Vn(){this.wn.bt()}}var On,Bn,An,In,zn;!function(t){t[t.OnTouchEnd=0]=\"OnTouchEnd\",t[t.OnNextTap=1]=\"OnNextTap\"}(On||(On={}));class Ln{constructor(t,i,n){this.yc=[],this.Cc=[],this.__=0,this.Tc=null,this.Pc=new D,this.Rc=new D,this.Dc=null,this.Vc=t,this.cn=i,this.q_=n,this.Oc=new W(this),this.yl=new Tn(this,i.timeScale,this.cn.localization,n),this.vt=new ot(this,i.crosshair),this.Bc=new Ji(i.crosshair),this.Ac=new Vn(this,i.watermark),this.Ic(),this.yc[0].x_(2e3),this.zc=this.Lc(0),this.Ec=this.Lc(1)}Kl(){this.Nc(ut.es())}Uh(){this.Nc(ut.ss())}oa(){this.Nc(new ut(1))}Gl(t){const i=this.Fc(t);this.Nc(i)}Wc(){return this.Tc}jc(t){const i=this.Tc;this.Tc=t,null!==i&&this.Gl(i.Hc),null!==t&&this.Gl(t.Hc)}W(){return this.cn}$h(t){V(this.cn,t),this.yc.forEach((i=>i.b_(t))),void 0!==t.timeScale&&this.yl.$h(t.timeScale),void 0!==t.localization&&this.yl.yu(t.localization),(t.leftPriceScale||t.rightPriceScale)&&this.Pc.m(),this.zc=this.Lc(0),this.Ec=this.Lc(1),this.Kl()}$c(t,i){if(\"left\"===t)return void this.$h({leftPriceScale:i});if(\"right\"===t)return void this.$h({rightPriceScale:i});const n=this.Uc(t);null!==n&&(n.Dt.$h(i),this.Pc.m())}Uc(t){for(const i of this.yc){const n=i.w_(t);if(null!==n)return{Ht:i,Dt:n}}return null}St(){return this.yl}qc(){return this.yc}Yc(){return this.Ac}Zc(){return this.vt}Xc(){return this.Rc}Kc(t,i){t.Lo(i),this.Wu()}S_(t){this.__=t,this.yl.S_(this.__),this.yc.forEach((i=>i.S_(t))),this.Wu()}Ic(t){const i=new gn(this.yl,this);void 0!==t?this.yc.splice(t,0,i):this.yc.push(i);const n=void 0===t?this.yc.length-1:t,s=ut.es();return s.Nn(n,{Fn:0,Wn:!0}),this.Nc(s),i}V_(t,i,n){t.V_(i,n)}O_(t,i,n){t.O_(i,n),this.Jl(),this.Nc(this.Gc(t,2))}B_(t,i){t.B_(i),this.Nc(this.Gc(t,2))}A_(t,i,n){i.Vo()||t.A_(i,n)}I_(t,i,n){i.Vo()||(t.I_(i,n),this.Jl(),this.Nc(this.Gc(t,2)))}z_(t,i){i.Vo()||(t.z_(i),this.Nc(this.Gc(t,2)))}E_(t,i){t.E_(i),this.Nc(this.Gc(t,2))}Jc(t){this.yl.Go(t)}Qc(t,i){const n=this.St();if(n.Ni()||0===i)return;const s=n.Hi();t=Math.max(1,Math.min(t,s)),n.Zu(t,i),this.Wu()}td(t){this.nd(0),this.sd(t),this.ed()}rd(t){this.yl.Jo(t),this.Wu()}hd(){this.yl.Qo(),this.Uh()}nd(t){this.yl.t_(t)}sd(t){this.yl.i_(t),this.Wu()}ed(){this.yl.n_(),this.Uh()}wt(){return this.Cc}ld(t,i,n,s,e){this.vt.gn(t,i);let r=NaN,h=this.yl.Nu(t);const l=this.yl.Xs();null!==l&&(h=Math.min(Math.max(l.Os(),h),l.ui()));const a=s.vn(),o=a.Ct();null!==o&&(r=a.pn(i,o)),r=this.Bc.Oa(r,h,s),this.vt.kn(h,r,s),this.oa(),e||this.Rc.m(this.vt.xt(),{x:t,y:i},n)}ad(t,i,n){const s=n.vn(),e=s.Ct(),r=s.Rt(t,b(e)),h=this.yl.Va(i,!0),l=this.yl.It(b(h));this.ld(l,r,null,n,!0)}od(t){this.Zc().Cn(),this.oa(),t||this.Rc.m(null,null,null)}Jl(){const t=this.vt.Ht();if(null!==t){const i=this.vt.xn(),n=this.vt.Sn();this.ld(i,n,null,t)}this.vt.Vn()}_d(t,i,n){const s=this.yl.mn(0);void 0!==i&&void 0!==n&&this.yl.bt(i,n);const e=this.yl.mn(0),r=this.yl.Eu(),h=this.yl.Xs();if(null!==h&&null!==s&&null!==e){const i=h.Kr(r),l=this.q_.key(s)>this.q_.key(e),a=null!==t&&t>r&&!l,o=this.yl.W().allowShiftVisibleRangeOnWhitespaceReplacement,_=i&&(!(void 0===n)||o)&&this.yl.W().shiftVisibleRangeOnNewBar;if(a&&!_){const i=t-r;this.yl.Jn(this.yl.Hu()-i)}}this.yl.Yu(t)}ia(t){null!==t&&t.F_()}dr(t){const i=this.yc.find((i=>i.Uo().includes(t)));return void 0===i?null:i}Wu(){this.Ac.Vn(),this.yc.forEach((t=>t.F_())),this.Jl()}S(){this.yc.forEach((t=>t.S())),this.yc.length=0,this.cn.localization.priceFormatter=void 0,this.cn.localization.percentageFormatter=void 0,this.cn.localization.timeFormatter=void 0}ud(){return this.Oc}br(){return this.Oc.W()}g_(){return this.Pc}dd(t,i,n){const s=this.yc[0],e=this.fd(i,t,s,n);return this.Cc.push(e),1===this.Cc.length?this.Kl():this.Uh(),e}vd(t){const i=this.dr(t),n=this.Cc.indexOf(t);p(-1!==n,\"Series not found\"),this.Cc.splice(n,1),b(i).Zo(t),t.S&&t.S()}Xl(t,i){const n=b(this.dr(t));n.Zo(t);const s=this.Uc(i);if(null===s){const s=t.Xi();n.qo(t,i,s)}else{const e=s.Ht===n?t.Xi():void 0;s.Ht.qo(t,i,e)}}hc(){const t=ut.ss();t.$n(),this.Nc(t)}pd(t){const i=ut.ss();i.Yn(t),this.Nc(i)}Kn(){const t=ut.ss();t.Kn(),this.Nc(t)}Gn(t){const i=ut.ss();i.Gn(t),this.Nc(i)}Jn(t){const i=ut.ss();i.Jn(t),this.Nc(i)}Zn(t){const i=ut.ss();i.Zn(t),this.Nc(i)}Un(){const t=ut.ss();t.Un(),this.Nc(t)}md(){return this.cn.rightPriceScale.visible?\"right\":\"left\"}bd(){return this.Ec}q(){return this.zc}Bt(t){const i=this.Ec,n=this.zc;if(i===n)return i;if(t=Math.max(0,Math.min(100,Math.round(100*t))),null===this.Dc||this.Dc.Ps!==n||this.Dc.Rs!==i)this.Dc={Ps:n,Rs:i,wd:new Map};else{const i=this.Dc.wd.get(t);if(void 0!==i)return i}const s=function(t,i,n){const[s,e,r,h]=T(t),[l,a,o,_]=T(i),u=[M(s+n*(l-s)),M(e+n*(a-e)),M(r+n*(o-r)),x(h+n*(_-h))];return`rgba(${u[0]}, ${u[1]}, ${u[2]}, ${u[3]})`}(n,i,t/100);return this.Dc.wd.set(t,s),s}Gc(t,i){const n=new ut(i);if(null!==t){const s=this.yc.indexOf(t);n.Nn(s,{Fn:i})}return n}Fc(t,i){return void 0===i&&(i=2),this.Gc(this.dr(t),i)}Nc(t){this.Vc&&this.Vc(t),this.yc.forEach((t=>t.j_().qh().bt()))}fd(t,i,n,s){const e=new Gi(this,t,i,n,s),r=void 0!==t.priceScaleId?t.priceScaleId:this.md();return n.qo(e,r),_t(r)||e.$h(t),e}Lc(t){const i=this.cn.layout;return\"gradient\"===i.background.type?0===t?i.background.topColor:i.background.bottomColor:i.background.color}}function En(t){return!O(t)&&!A(t)}function Nn(t){return O(t)}!function(t){t[t.Disabled=0]=\"Disabled\",t[t.Continuous=1]=\"Continuous\",t[t.OnDataUpdate=2]=\"OnDataUpdate\"}(Bn||(Bn={})),function(t){t[t.LastBar=0]=\"LastBar\",t[t.LastVisible=1]=\"LastVisible\"}(An||(An={})),function(t){t.Solid=\"solid\",t.VerticalGradient=\"gradient\"}(In||(In={})),function(t){t[t.Year=0]=\"Year\",t[t.Month=1]=\"Month\",t[t.DayOfMonth=2]=\"DayOfMonth\",t[t.Time=3]=\"Time\",t[t.TimeWithSeconds=4]=\"TimeWithSeconds\"}(zn||(zn={}));const Fn=t=>t.getUTCFullYear();function Wn(t,i,n){return i.replace(/yyyy/g,(t=>dt(Fn(t),4))(t)).replace(/yy/g,(t=>dt(Fn(t)%100,2))(t)).replace(/MMMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:\"long\"}))(t,n)).replace(/MMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:\"short\"}))(t,n)).replace(/MM/g,(t=>dt((t=>t.getUTCMonth()+1)(t),2))(t)).replace(/dd/g,(t=>dt((t=>t.getUTCDate())(t),2))(t))}class jn{constructor(t=\"yyyy-MM-dd\",i=\"default\"){this.gd=t,this.Md=i}Y_(t){return Wn(t,this.gd,this.Md)}}class Hn{constructor(t){this.xd=t||\"%h:%m:%s\"}Y_(t){return this.xd.replace(\"%h\",dt(t.getUTCHours(),2)).replace(\"%m\",dt(t.getUTCMinutes(),2)).replace(\"%s\",dt(t.getUTCSeconds(),2))}}const $n={Sd:\"yyyy-MM-dd\",kd:\"%h:%m:%s\",yd:\" \",Cd:\"default\"};class Un{constructor(t={}){const i=Object.assign(Object.assign({},$n),t);this.Td=new jn(i.Sd,i.Cd),this.Pd=new Hn(i.kd),this.Rd=i.yd}Y_(t){return`${this.Td.Y_(t)}${this.Rd}${this.Pd.Y_(t)}`}}function qn(t){return 60*t*60*1e3}function Yn(t){return 60*t*1e3}const Zn=[{Dd:(Xn=1,1e3*Xn),Vd:10},{Dd:Yn(1),Vd:20},{Dd:Yn(5),Vd:21},{Dd:Yn(30),Vd:22},{Dd:qn(1),Vd:30},{Dd:qn(3),Vd:31},{Dd:qn(6),Vd:32},{Dd:qn(12),Vd:33}];var Xn;function Kn(t,i){if(t.getUTCFullYear()!==i.getUTCFullYear())return 70;if(t.getUTCMonth()!==i.getUTCMonth())return 60;if(t.getUTCDate()!==i.getUTCDate())return 50;for(let n=Zn.length-1;n>=0;--n)if(Math.floor(i.getTime()/Zn[n].Dd)!==Math.floor(t.getTime()/Zn[n].Dd))return Zn[n].Vd;return 0}function Gn(t){let i=t;if(A(t)&&(i=Qn(t)),!En(i))throw new Error(\"time must be of type BusinessDay\");const n=new Date(Date.UTC(i.year,i.month-1,i.day,0,0,0,0));return{Od:Math.round(n.getTime()/1e3),Bd:i}}function Jn(t){if(!Nn(t))throw new Error(\"time must be of type isUTCTimestamp\");return{Od:t}}function Qn(t){const i=new Date(t);if(isNaN(i.getTime()))throw new Error(`Invalid date string=${t}, expected format=yyyy-mm-dd`);return{day:i.getUTCDate(),month:i.getUTCMonth()+1,year:i.getUTCFullYear()}}function ts(t){A(t.time)&&(t.time=Qn(t.time))}class is{options(){return this.cn}setOptions(t){this.cn=t,this.updateFormatter(t.localization)}preprocessData(t){Array.isArray(t)?function(t){t.forEach(ts)}(t):ts(t)}createConverterToInternalObj(t){return b(function(t){return 0===t.length?null:En(t[0].time)||A(t[0].time)?Gn:Jn}(t))}key(t){return\"object\"==typeof t&&\"Od\"in t?t.Od:this.key(this.convertHorzItemToInternal(t))}cacheKey(t){const i=t;return void 0===i.Bd?new Date(1e3*i.Od).getTime():new Date(Date.UTC(i.Bd.year,i.Bd.month-1,i.Bd.day)).getTime()}convertHorzItemToInternal(t){return Nn(i=t)?Jn(i):En(i)?Gn(i):Gn(Qn(i));var i}updateFormatter(t){if(!this.cn)return;const i=t.dateFormat;this.cn.timeScale.timeVisible?this.Ad=new Un({Sd:i,kd:this.cn.timeScale.secondsVisible?\"%h:%m:%s\":\"%h:%m\",yd:\" \",Cd:t.locale}):this.Ad=new jn(i,t.locale)}formatHorzItem(t){const i=t;return this.Ad.Y_(new Date(1e3*i.Od))}formatTickmark(t,i){const n=function(t,i,n){switch(t){case 0:case 10:return i?n?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return i?3:2;case 50:return 2;case 60:return 1;case 70:return 0}}(t.weight,this.cn.timeScale.timeVisible,this.cn.timeScale.secondsVisible),s=this.cn.timeScale;if(void 0!==s.tickMarkFormatter){const e=s.tickMarkFormatter(t.originalTime,n,i.locale);if(null!==e)return e}return function(t,i,n){const s={};switch(i){case 0:s.year=\"numeric\";break;case 1:s.month=\"short\";break;case 2:s.day=\"numeric\";break;case 3:s.hour12=!1,s.hour=\"2-digit\",s.minute=\"2-digit\";break;case 4:s.hour12=!1,s.hour=\"2-digit\",s.minute=\"2-digit\",s.second=\"2-digit\"}const e=void 0===t.Bd?new Date(1e3*t.Od):new Date(Date.UTC(t.Bd.year,t.Bd.month-1,t.Bd.day));return new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()).toLocaleString(n,s)}(t.time,n,i.locale)}maxTickMarkWeight(t){let i=t.reduce(Cn,t[0]).weight;return i>30&&i<50&&(i=30),i}fillWeightsForPoints(t,i){!function(t,i=0){if(0===t.length)return;let n=0===i?null:t[i-1].time.Od,s=null!==n?new Date(1e3*n):null,e=0;for(let r=i;r<t.length;++r){const i=t[r],h=new Date(1e3*i.time.Od);null!==s&&(i.timeWeight=Kn(h,s)),e+=i.time.Od-(n||i.time.Od),n=i.time.Od,s=h}if(0===i&&t.length>1){const i=Math.ceil(e/(t.length-1)),n=new Date(1e3*(t[0].time.Od-i));t[0].timeWeight=Kn(new Date(1e3*t[0].time.Od),n)}}(t,i)}static Id(t){return V({localization:{dateFormat:\"dd MMM 'yy\"}},null!=t?t:{})}}const ns=\"undefined\"!=typeof window;function ss(){return!!ns&&window.navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}function es(){return!!ns&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function rs(t){return t+t%2}function hs(t,i){return t.zd-i.zd}function ls(t,i,n){const s=(t.zd-i.zd)/(t.ot-i.ot);return Math.sign(s)*Math.min(Math.abs(s),n)}class as{constructor(t,i,n,s){this.Ld=null,this.Ed=null,this.Nd=null,this.Fd=null,this.Wd=null,this.jd=0,this.Hd=0,this.$d=t,this.Ud=i,this.qd=n,this.rs=s}Yd(t,i){if(null!==this.Ld){if(this.Ld.ot===i)return void(this.Ld.zd=t);if(Math.abs(this.Ld.zd-t)<this.rs)return}this.Fd=this.Nd,this.Nd=this.Ed,this.Ed=this.Ld,this.Ld={ot:i,zd:t}}Vr(t,i){if(null===this.Ld||null===this.Ed)return;if(i-this.Ld.ot>50)return;let n=0;const s=ls(this.Ld,this.Ed,this.Ud),e=hs(this.Ld,this.Ed),r=[s],h=[e];if(n+=e,null!==this.Nd){const t=ls(this.Ed,this.Nd,this.Ud);if(Math.sign(t)===Math.sign(s)){const i=hs(this.Ed,this.Nd);if(r.push(t),h.push(i),n+=i,null!==this.Fd){const t=ls(this.Nd,this.Fd,this.Ud);if(Math.sign(t)===Math.sign(s)){const i=hs(this.Nd,this.Fd);r.push(t),h.push(i),n+=i}}}}let l=0;for(let t=0;t<r.length;++t)l+=h[t]/n*r[t];Math.abs(l)<this.$d||(this.Wd={zd:t,ot:i},this.Hd=l,this.jd=function(t,i){const n=Math.log(i);return Math.log(1*n/-t)/n}(Math.abs(l),this.qd))}tc(t){const i=b(this.Wd),n=t-i.ot;return i.zd+this.Hd*(Math.pow(this.qd,n)-1)/Math.log(this.qd)}Qu(t){return null===this.Wd||this.Zd(t)===this.jd}Zd(t){const i=t-b(this.Wd).ot;return Math.min(i,this.jd)}}class os{constructor(t,i){this.Xd=void 0,this.Kd=void 0,this.Gd=void 0,this.en=!1,this.Jd=t,this.Qd=i,this.tf()}bt(){this.tf()}if(){this.Xd&&this.Jd.removeChild(this.Xd),this.Kd&&this.Jd.removeChild(this.Kd),this.Xd=void 0,this.Kd=void 0}nf(){return this.en!==this.sf()||this.Gd!==this.ef()}ef(){return P(T(this.Qd.W().layout.textColor))>160?\"dark\":\"light\"}sf(){return this.Qd.W().layout.attributionLogo}rf(){const t=new URL(location.href);return t.hostname?\"&utm_source=\"+t.hostname+t.pathname:\"\"}tf(){this.nf()&&(this.if(),this.en=this.sf(),this.en&&(this.Gd=this.ef(),this.Kd=document.createElement(\"style\"),this.Kd.innerText=\"a#tv-attr-logo{--fill:#131722;--stroke:#fff;position:absolute;left:10px;bottom:10px;height:19px;width:35px;margin:0;padding:0;border:0;z-index:3;}a#tv-attr-logo[data-dark]{--fill:#D1D4DC;--stroke:#131722;}\",this.Xd=document.createElement(\"a\"),this.Xd.href=`https://www.tradingview.com/?utm_medium=lwc-link&utm_campaign=lwc-chart${this.rf()}`,this.Xd.title=\"Charting by TradingView\",this.Xd.id=\"tv-attr-logo\",this.Xd.target=\"_blank\",this.Xd.innerHTML='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 35 19\" width=\"35\" height=\"19\" fill=\"none\"><g fill-rule=\"evenodd\" clip-path=\"url(#a)\" clip-rule=\"evenodd\"><path fill=\"var(--stroke)\" d=\"M2 0H0v10h6v9h21.4l.5-1.3 6-15 1-2.7H23.7l-.5 1.3-.2.6a5 5 0 0 0-7-.9V0H2Zm20 17h4l5.2-13 .8-2h-7l-1 2.5-.2.5-1.5 3.8-.3.7V17Zm-.8-10a3 3 0 0 0 .7-2.7A3 3 0 1 0 16.8 7h4.4ZM14 7V2H2v6h6v9h4V7h2Z\"/><path fill=\"var(--fill)\" d=\"M14 2H2v6h6v9h6V2Zm12 15h-7l6-15h7l-6 15Zm-7-9a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"/></g><defs><clipPath id=\"a\"><path fill=\"var(--stroke)\" d=\"M0 0h35v19H0z\"/></clipPath></defs></svg>',this.Xd.toggleAttribute(\"data-dark\",\"dark\"===this.Gd),this.Jd.appendChild(this.Kd),this.Jd.appendChild(this.Xd)))}}function _s(t,n){const s=b(t.ownerDocument).createElement(\"canvas\");t.appendChild(s);const e=i(s,{type:\"device-pixel-content-box\",options:{allowResizeObserver:!1},transform:(t,i)=>({width:Math.max(t.width,i.width),height:Math.max(t.height,i.height)})});return e.resizeCanvasElement(n),e}function us(t){var i;t.width=1,t.height=1,null===(i=t.getContext(\"2d\"))||void 0===i||i.clearRect(0,0,1,1)}function cs(t,i,n,s){t.gl&&t.gl(i,n,s)}function ds(t,i,n,s){t.X(i,n,s)}function fs(t,i,n,s){const e=t(n,s);for(const t of e){const n=t.gt();null!==n&&i(n)}}function vs(t){ns&&void 0!==window.chrome&&t.addEventListener(\"mousedown\",(t=>{if(1===t.button)return t.preventDefault(),!1}))}class ps{constructor(t,i,n){this.hf=0,this.lf=null,this.af={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY},this._f=0,this.uf=null,this.cf={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY},this.df=null,this.ff=!1,this.vf=null,this.pf=null,this.mf=!1,this.bf=!1,this.wf=!1,this.gf=null,this.Mf=null,this.xf=null,this.Sf=null,this.kf=null,this.yf=null,this.Cf=null,this.Tf=0,this.Pf=!1,this.Rf=!1,this.Df=!1,this.Vf=0,this.Of=null,this.Bf=!es(),this.Af=t=>{this.If(t)},this.zf=t=>{if(this.Lf(t)){const i=this.Ef(t);if(++this._f,this.uf&&this._f>1){const{Nf:n}=this.Ff(ws(t),this.cf);n<30&&!this.wf&&this.Wf(i,this.Hf.jf),this.$f()}}else{const i=this.Ef(t);if(++this.hf,this.lf&&this.hf>1){const{Nf:n}=this.Ff(ws(t),this.af);n<5&&!this.bf&&this.Uf(i,this.Hf.qf),this.Yf()}}},this.Zf=t,this.Hf=i,this.cn=n,this.Xf()}S(){null!==this.gf&&(this.gf(),this.gf=null),null!==this.Mf&&(this.Mf(),this.Mf=null),null!==this.Sf&&(this.Sf(),this.Sf=null),null!==this.kf&&(this.kf(),this.kf=null),null!==this.yf&&(this.yf(),this.yf=null),null!==this.xf&&(this.xf(),this.xf=null),this.Kf(),this.Yf()}Gf(t){this.Sf&&this.Sf();const i=this.Jf.bind(this);if(this.Sf=()=>{this.Zf.removeEventListener(\"mousemove\",i)},this.Zf.addEventListener(\"mousemove\",i),this.Lf(t))return;const n=this.Ef(t);this.Uf(n,this.Hf.Qf),this.Bf=!0}Yf(){null!==this.lf&&clearTimeout(this.lf),this.hf=0,this.lf=null,this.af={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY}}$f(){null!==this.uf&&clearTimeout(this.uf),this._f=0,this.uf=null,this.cf={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY}}Jf(t){if(this.Df||null!==this.pf)return;if(this.Lf(t))return;const i=this.Ef(t);this.Uf(i,this.Hf.tv),this.Bf=!0}iv(t){const i=Ms(t.changedTouches,b(this.Of));if(null===i)return;if(this.Vf=gs(t),null!==this.Cf)return;if(this.Rf)return;this.Pf=!0;const n=this.Ff(ws(i),b(this.pf)),{nv:s,sv:e,Nf:r}=n;if(this.mf||!(r<5)){if(!this.mf){const t=.5*s,i=e>=t&&!this.cn.ev(),n=t>e&&!this.cn.rv();i||n||(this.Rf=!0),this.mf=!0,this.wf=!0,this.Kf(),this.$f()}if(!this.Rf){const n=this.Ef(t,i);this.Wf(n,this.Hf.hv),bs(t)}}}lv(t){if(0!==t.button)return;const i=this.Ff(ws(t),b(this.vf)),{Nf:n}=i;if(n>=5&&(this.bf=!0,this.Yf()),this.bf){const i=this.Ef(t);this.Uf(i,this.Hf.av)}}Ff(t,i){const n=Math.abs(i.nt-t.nt),s=Math.abs(i.st-t.st);return{nv:n,sv:s,Nf:n+s}}ov(t){let i=Ms(t.changedTouches,b(this.Of));if(null===i&&0===t.touches.length&&(i=t.changedTouches[0]),null===i)return;this.Of=null,this.Vf=gs(t),this.Kf(),this.pf=null,this.yf&&(this.yf(),this.yf=null);const n=this.Ef(t,i);if(this.Wf(n,this.Hf._v),++this._f,this.uf&&this._f>1){const{Nf:t}=this.Ff(ws(i),this.cf);t<30&&!this.wf&&this.Wf(n,this.Hf.jf),this.$f()}else this.wf||(this.Wf(n,this.Hf.uv),this.Hf.uv&&bs(t));0===this._f&&bs(t),0===t.touches.length&&this.ff&&(this.ff=!1,bs(t))}If(t){if(0!==t.button)return;const i=this.Ef(t);if(this.vf=null,this.Df=!1,this.kf&&(this.kf(),this.kf=null),ss()){this.Zf.ownerDocument.documentElement.removeEventListener(\"mouseleave\",this.Af)}if(!this.Lf(t))if(this.Uf(i,this.Hf.cv),++this.hf,this.lf&&this.hf>1){const{Nf:n}=this.Ff(ws(t),this.af);n<5&&!this.bf&&this.Uf(i,this.Hf.qf),this.Yf()}else this.bf||this.Uf(i,this.Hf.dv)}Kf(){null!==this.df&&(clearTimeout(this.df),this.df=null)}fv(t){if(null!==this.Of)return;const i=t.changedTouches[0];this.Of=i.identifier,this.Vf=gs(t);const n=this.Zf.ownerDocument.documentElement;this.wf=!1,this.mf=!1,this.Rf=!1,this.pf=ws(i),this.yf&&(this.yf(),this.yf=null);{const i=this.iv.bind(this),s=this.ov.bind(this);this.yf=()=>{n.removeEventListener(\"touchmove\",i),n.removeEventListener(\"touchend\",s)},n.addEventListener(\"touchmove\",i,{passive:!1}),n.addEventListener(\"touchend\",s,{passive:!1}),this.Kf(),this.df=setTimeout(this.vv.bind(this,t),240)}const s=this.Ef(t,i);this.Wf(s,this.Hf.pv),this.uf||(this._f=0,this.uf=setTimeout(this.$f.bind(this),500),this.cf=ws(i))}mv(t){if(0!==t.button)return;const i=this.Zf.ownerDocument.documentElement;ss()&&i.addEventListener(\"mouseleave\",this.Af),this.bf=!1,this.vf=ws(t),this.kf&&(this.kf(),this.kf=null);{const t=this.lv.bind(this),n=this.If.bind(this);this.kf=()=>{i.removeEventListener(\"mousemove\",t),i.removeEventListener(\"mouseup\",n)},i.addEventListener(\"mousemove\",t),i.addEventListener(\"mouseup\",n)}if(this.Df=!0,this.Lf(t))return;const n=this.Ef(t);this.Uf(n,this.Hf.bv),this.lf||(this.hf=0,this.lf=setTimeout(this.Yf.bind(this),500),this.af=ws(t))}Xf(){this.Zf.addEventListener(\"mouseenter\",this.Gf.bind(this)),this.Zf.addEventListener(\"touchcancel\",this.Kf.bind(this));{const t=this.Zf.ownerDocument,i=t=>{this.Hf.wv&&(t.composed&&this.Zf.contains(t.composedPath()[0])||t.target&&this.Zf.contains(t.target)||this.Hf.wv())};this.Mf=()=>{t.removeEventListener(\"touchstart\",i)},this.gf=()=>{t.removeEventListener(\"mousedown\",i)},t.addEventListener(\"mousedown\",i),t.addEventListener(\"touchstart\",i,{passive:!0})}es()&&(this.xf=()=>{this.Zf.removeEventListener(\"dblclick\",this.zf)},this.Zf.addEventListener(\"dblclick\",this.zf)),this.Zf.addEventListener(\"mouseleave\",this.gv.bind(this)),this.Zf.addEventListener(\"touchstart\",this.fv.bind(this),{passive:!0}),vs(this.Zf),this.Zf.addEventListener(\"mousedown\",this.mv.bind(this)),this.Mv(),this.Zf.addEventListener(\"touchmove\",(()=>{}),{passive:!1})}Mv(){void 0===this.Hf.xv&&void 0===this.Hf.Sv&&void 0===this.Hf.kv||(this.Zf.addEventListener(\"touchstart\",(t=>this.yv(t.touches)),{passive:!0}),this.Zf.addEventListener(\"touchmove\",(t=>{if(2===t.touches.length&&null!==this.Cf&&void 0!==this.Hf.Sv){const i=ms(t.touches[0],t.touches[1])/this.Tf;this.Hf.Sv(this.Cf,i),bs(t)}}),{passive:!1}),this.Zf.addEventListener(\"touchend\",(t=>{this.yv(t.touches)})))}yv(t){1===t.length&&(this.Pf=!1),2!==t.length||this.Pf||this.ff?this.Cv():this.Tv(t)}Tv(t){const i=this.Zf.getBoundingClientRect()||{left:0,top:0};this.Cf={nt:(t[0].clientX-i.left+(t[1].clientX-i.left))/2,st:(t[0].clientY-i.top+(t[1].clientY-i.top))/2},this.Tf=ms(t[0],t[1]),void 0!==this.Hf.xv&&this.Hf.xv(),this.Kf()}Cv(){null!==this.Cf&&(this.Cf=null,void 0!==this.Hf.kv&&this.Hf.kv())}gv(t){if(this.Sf&&this.Sf(),this.Lf(t))return;if(!this.Bf)return;const i=this.Ef(t);this.Uf(i,this.Hf.Pv),this.Bf=!es()}vv(t){const i=Ms(t.touches,b(this.Of));if(null===i)return;const n=this.Ef(t,i);this.Wf(n,this.Hf.Rv),this.wf=!0,this.ff=!0}Lf(t){return t.sourceCapabilities&&void 0!==t.sourceCapabilities.firesTouchEvents?t.sourceCapabilities.firesTouchEvents:gs(t)<this.Vf+500}Wf(t,i){i&&i.call(this.Hf,t)}Uf(t,i){i&&i.call(this.Hf,t)}Ef(t,i){const n=i||t,s=this.Zf.getBoundingClientRect()||{left:0,top:0};return{clientX:n.clientX,clientY:n.clientY,pageX:n.pageX,pageY:n.pageY,screenX:n.screenX,screenY:n.screenY,localX:n.clientX-s.left,localY:n.clientY-s.top,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey,metaKey:t.metaKey,Dv:!t.type.startsWith(\"mouse\")&&\"contextmenu\"!==t.type&&\"click\"!==t.type,Vv:t.type,Ov:n.target,Bv:t.view,Av:()=>{\"touchstart\"!==t.type&&bs(t)}}}}function ms(t,i){const n=t.clientX-i.clientX,s=t.clientY-i.clientY;return Math.sqrt(n*n+s*s)}function bs(t){t.cancelable&&t.preventDefault()}function ws(t){return{nt:t.pageX,st:t.pageY}}function gs(t){return t.timeStamp||performance.now()}function Ms(t,i){for(let n=0;n<t.length;++n)if(t[n].identifier===i)return t[n];return null}function xs(t){return{Hc:t.Hc,Iv:{gr:t.zv.externalId},Lv:t.zv.cursorStyle}}function Ss(t,i,n){for(const s of t){const t=s.gt();if(null!==t&&t.wr){const e=t.wr(i,n);if(null!==e)return{Bv:s,Iv:e}}}return null}function ks(t,i){return n=>{var s,e,r,h;return(null!==(e=null===(s=n.Dt())||void 0===s?void 0:s.Pa())&&void 0!==e?e:\"\")!==i?[]:null!==(h=null===(r=n.da)||void 0===r?void 0:r.call(n,t))&&void 0!==h?h:[]}}function ys(t,i,n,s){if(!t.length)return;let e=0;const r=n/2,h=t[0].At(s,!0);let l=1===i?r-(t[0].Vi()-h/2):t[0].Vi()-h/2-r;l=Math.max(0,l);for(let r=1;r<t.length;r++){const h=t[r],a=t[r-1],o=a.At(s,!1),_=h.Vi(),u=a.Vi();if(1===i?_>u-o:_<u+o){const s=u-o*i;h.Oi(s);const r=s-i*o/2;if((1===i?r<0:r>n)&&l>0){const s=1===i?-1-r:r-n,h=Math.min(s,l);for(let n=e;n<t.length;n++)t[n].Oi(t[n].Vi()+i*h);l-=h}}else e=r,l=1===i?u-o-_:_-(u+o)}}class Cs{constructor(i,n,s,e){this.Li=null,this.Ev=null,this.Nv=!1,this.Fv=new ni(200),this.Qr=null,this.Wv=0,this.jv=!1,this.Hv=()=>{this.jv||this.tn.$v().$t().Uh()},this.Uv=()=>{this.jv||this.tn.$v().$t().Uh()},this.tn=i,this.cn=n,this.ko=n.layout,this.Oc=s,this.qv=\"left\"===e,this.Yv=ks(\"normal\",e),this.Zv=ks(\"top\",e),this.Xv=ks(\"bottom\",e),this.Kv=document.createElement(\"div\"),this.Kv.style.height=\"100%\",this.Kv.style.overflow=\"hidden\",this.Kv.style.width=\"25px\",this.Kv.style.left=\"0\",this.Kv.style.position=\"relative\",this.Gv=_s(this.Kv,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const r=this.Gv.canvasElement;r.style.position=\"absolute\",r.style.zIndex=\"1\",r.style.left=\"0\",r.style.top=\"0\",this.Jv=_s(this.Kv,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const h=this.Jv.canvasElement;h.style.position=\"absolute\",h.style.zIndex=\"2\",h.style.left=\"0\",h.style.top=\"0\";const l={bv:this.Qv.bind(this),pv:this.Qv.bind(this),av:this.tp.bind(this),hv:this.tp.bind(this),wv:this.ip.bind(this),cv:this.np.bind(this),_v:this.np.bind(this),qf:this.sp.bind(this),jf:this.sp.bind(this),Qf:this.ep.bind(this),Pv:this.rp.bind(this)};this.hp=new ps(this.Jv.canvasElement,l,{ev:()=>!this.cn.handleScroll.vertTouchDrag,rv:()=>!0})}S(){this.hp.S(),this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose(),null!==this.Li&&this.Li.Ko().p(this),this.Li=null}lp(){return this.Kv}P(){return this.ko.fontSize}ap(){const t=this.Oc.W();return this.Qr!==t.R&&(this.Fv.nr(),this.Qr=t.R),t}op(){if(null===this.Li)return 0;let t=0;const i=this.ap(),n=b(this.Gv.canvasElement.getContext(\"2d\"));n.save();const s=this.Li.Ha();n.font=this._p(),s.length>0&&(t=Math.max(this.Fv.xi(n,s[0].so),this.Fv.xi(n,s[s.length-1].so)));const e=this.up();for(let i=e.length;i--;){const s=this.Fv.xi(n,e[i].Kt());s>t&&(t=s)}const r=this.Li.Ct();if(null!==r&&null!==this.Ev&&(2!==(h=this.cn.crosshair).mode&&h.horzLine.visible&&h.horzLine.labelVisible)){const i=this.Li.pn(1,r),s=this.Li.pn(this.Ev.height-2,r);t=Math.max(t,this.Fv.xi(n,this.Li.Fi(Math.floor(Math.min(i,s))+.11111111111111,r)),this.Fv.xi(n,this.Li.Fi(Math.ceil(Math.max(i,s))-.11111111111111,r)))}var h;n.restore();const l=t||34;return rs(Math.ceil(i.C+i.T+i.A+i.I+5+l))}cp(t){null!==this.Ev&&n(this.Ev,t)||(this.Ev=t,this.jv=!0,this.Gv.resizeCanvasElement(t),this.Jv.resizeCanvasElement(t),this.jv=!1,this.Kv.style.width=`${t.width}px`,this.Kv.style.height=`${t.height}px`)}dp(){return b(this.Ev).width}Gi(t){this.Li!==t&&(null!==this.Li&&this.Li.Ko().p(this),this.Li=t,t.Ko().l(this.fo.bind(this),this))}Dt(){return this.Li}nr(){const t=this.tn.fp();this.tn.$v().$t().E_(t,b(this.Dt()))}vp(t){if(null===this.Ev)return;if(1!==t){this.pp(),this.Gv.applySuggestedBitmapSize();const t=s(this.Gv);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t)})),this.tn.bp(t,this.Xv),this.wp(t),this.tn.bp(t,this.Yv),this.gp(t))}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Mp(i),this.tn.bp(i,this.Zv))}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}bt(){var t;null===(t=this.Li)||void 0===t||t.Ha()}Qv(t){if(null===this.Li||this.Li.Ni()||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp();this.Nv=!0,i.V_(n,this.Li,t.localY)}tp(t){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp(),s=this.Li;i.O_(n,s,t.localY)}ip(){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const t=this.tn.$v().$t(),i=this.tn.fp(),n=this.Li;this.Nv&&(this.Nv=!1,t.B_(i,n))}np(t){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp();this.Nv=!1,i.B_(n,this.Li)}sp(t){this.cn.handleScale.axisDoubleClickReset.price&&this.nr()}ep(t){if(null===this.Li)return;!this.tn.$v().$t().W().handleScale.axisPressedMouseMove.price||this.Li.Mh()||this.Li.Oo()||this.kp(1)}rp(t){this.kp(0)}up(){const t=[],i=null===this.Li?void 0:this.Li;return(n=>{for(let s=0;s<n.length;++s){const e=n[s].Rn(this.tn.fp(),i);for(let i=0;i<e.length;i++)t.push(e[i])}})(this.tn.fp().Uo()),t}mp({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.tn.fp().$t(),r=e.q(),h=e.bd();r===h?G(t,0,0,n,s,r):tt(t,0,0,n,s,r,h)}Ie({context:t,bitmapSize:i,horizontalPixelRatio:n}){if(null===this.Ev||null===this.Li||!this.Li.W().borderVisible)return;t.fillStyle=this.Li.W().borderColor;const s=Math.max(1,Math.floor(this.ap().C*n));let e;e=this.qv?i.width-s:0,t.fillRect(e,0,s,i.height)}wp(t){if(null===this.Ev||null===this.Li)return;const i=this.Li.Ha(),n=this.Li.W(),s=this.ap(),e=this.qv?this.Ev.width-s.T:0;n.borderVisible&&n.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:r,verticalPixelRatio:h})=>{t.fillStyle=n.borderColor;const l=Math.max(1,Math.floor(h)),a=Math.floor(.5*h),o=Math.round(s.T*r);t.beginPath();for(const n of i)t.rect(Math.floor(e*r),Math.round(n.Ea*h)-a,o,l);t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{var r;t.font=this._p(),t.fillStyle=null!==(r=n.textColor)&&void 0!==r?r:this.ko.textColor,t.textAlign=this.qv?\"right\":\"left\",t.textBaseline=\"middle\";const h=this.qv?Math.round(e-s.A):Math.round(e+s.T+s.A),l=i.map((i=>this.Fv.Mi(t,i.so)));for(let n=i.length;n--;){const s=i[n];t.fillText(s.so,h,s.Ea+l[n])}}))}pp(){if(null===this.Ev||null===this.Li)return;const t=[],i=this.Li.Uo().slice(),n=this.tn.fp(),s=this.ap();this.Li===n.pr()&&this.tn.fp().Uo().forEach((t=>{n.vr(t)&&i.push(t)}));const e=this.Li;i.forEach((i=>{i.Rn(n,e).forEach((i=>{i.Oi(null),i.Bi()&&t.push(i)}))})),t.forEach((t=>t.Oi(t.ki())));this.Li.W().alignLabels&&this.yp(t,s)}yp(t,i){if(null===this.Ev)return;const n=this.Ev.height/2,s=t.filter((t=>t.ki()<=n)),e=t.filter((t=>t.ki()>n));s.sort(((t,i)=>i.ki()-t.ki())),e.sort(((t,i)=>t.ki()-i.ki()));for(const n of t){const t=Math.floor(n.At(i)/2),s=n.ki();s>-t&&s<t&&n.Oi(t),s>this.Ev.height-t&&s<this.Ev.height+t&&n.Oi(this.Ev.height-t)}ys(s,1,this.Ev.height,i),ys(e,-1,this.Ev.height,i)}gp(t){if(null===this.Ev)return;const i=this.up(),n=this.ap(),s=this.qv?\"right\":\"left\";i.forEach((i=>{if(i.Ai()){i.gt(b(this.Li)).X(t,n,this.Fv,s)}}))}Mp(t){if(null===this.Ev||null===this.Li)return;const i=this.tn.$v().$t(),n=[],s=this.tn.fp(),e=i.Zc().Rn(s,this.Li);e.length&&n.push(e);const r=this.ap(),h=this.qv?\"right\":\"left\";n.forEach((i=>{i.forEach((i=>{i.gt(b(this.Li)).X(t,r,this.Fv,h)}))}))}kp(t){this.Kv.style.cursor=1===t?\"ns-resize\":\"default\"}fo(){const t=this.op();this.Wv<t&&this.tn.$v().$t().Kl(),this.Wv=t}_p(){return F(this.ko.fontSize,this.ko.fontFamily)}}function Ts(t,i){var n,s;return null!==(s=null===(n=t.ua)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Ps(t,i){var n,s;return null!==(s=null===(n=t.Pn)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Rs(t,i){var n,s;return null!==(s=null===(n=t.Ji)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Ds(t,i){var n,s;return null!==(s=null===(n=t.aa)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}class Vs{constructor(i,n){this.Ev=t({width:0,height:0}),this.Cp=null,this.Tp=null,this.Pp=null,this.Rp=null,this.Dp=!1,this.Vp=new D,this.Op=new D,this.Bp=0,this.Ap=!1,this.Ip=null,this.zp=!1,this.Lp=null,this.Ep=null,this.jv=!1,this.Hv=()=>{this.jv||null===this.Np||this.$i().Uh()},this.Uv=()=>{this.jv||null===this.Np||this.$i().Uh()},this.Qd=i,this.Np=n,this.Np.W_().l(this.Fp.bind(this),this,!0),this.Wp=document.createElement(\"td\"),this.Wp.style.padding=\"0\",this.Wp.style.position=\"relative\";const s=document.createElement(\"div\");s.style.width=\"100%\",s.style.height=\"100%\",s.style.position=\"relative\",s.style.overflow=\"hidden\",this.jp=document.createElement(\"td\"),this.jp.style.padding=\"0\",this.Hp=document.createElement(\"td\"),this.Hp.style.padding=\"0\",this.Wp.appendChild(s),this.Gv=_s(s,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const e=this.Gv.canvasElement;e.style.position=\"absolute\",e.style.zIndex=\"1\",e.style.left=\"0\",e.style.top=\"0\",this.Jv=_s(s,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const r=this.Jv.canvasElement;r.style.position=\"absolute\",r.style.zIndex=\"2\",r.style.left=\"0\",r.style.top=\"0\",this.$p=document.createElement(\"tr\"),this.$p.appendChild(this.jp),this.$p.appendChild(this.Wp),this.$p.appendChild(this.Hp),this.Up(),this.hp=new ps(this.Jv.canvasElement,this,{ev:()=>null===this.Ip&&!this.Qd.W().handleScroll.vertTouchDrag,rv:()=>null===this.Ip&&!this.Qd.W().handleScroll.horzTouchDrag})}S(){null!==this.Cp&&this.Cp.S(),null!==this.Tp&&this.Tp.S(),this.Pp=null,this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose(),null!==this.Np&&this.Np.W_().p(this),this.hp.S()}fp(){return b(this.Np)}qp(t){var i,n;null!==this.Np&&this.Np.W_().p(this),this.Np=t,null!==this.Np&&this.Np.W_().l(Vs.prototype.Fp.bind(this),this,!0),this.Up(),this.Qd.Yp().indexOf(this)===this.Qd.Yp().length-1?(this.Pp=null!==(i=this.Pp)&&void 0!==i?i:new os(this.Wp,this.Qd),this.Pp.bt()):(null===(n=this.Pp)||void 0===n||n.if(),this.Pp=null)}$v(){return this.Qd}lp(){return this.$p}Up(){if(null!==this.Np&&(this.Zp(),0!==this.$i().wt().length)){if(null!==this.Cp){const t=this.Np.R_();this.Cp.Gi(b(t))}if(null!==this.Tp){const t=this.Np.D_();this.Tp.Gi(b(t))}}}Xp(){null!==this.Cp&&this.Cp.bt(),null!==this.Tp&&this.Tp.bt()}M_(){return null!==this.Np?this.Np.M_():0}x_(t){this.Np&&this.Np.x_(t)}Qf(t){if(!this.Np)return;this.Kp();const i=t.localX,n=t.localY;this.Gp(i,n,t)}bv(t){this.Kp(),this.Jp(),this.Gp(t.localX,t.localY,t)}tv(t){var i;if(!this.Np)return;this.Kp();const n=t.localX,s=t.localY;this.Gp(n,s,t);const e=this.wr(n,s);this.Qd.Qp(null!==(i=null==e?void 0:e.Lv)&&void 0!==i?i:null),this.$i().jc(e&&{Hc:e.Hc,Iv:e.Iv})}dv(t){null!==this.Np&&(this.Kp(),this.tm(t))}qf(t){null!==this.Np&&this.im(this.Op,t)}jf(t){this.qf(t)}av(t){this.Kp(),this.nm(t),this.Gp(t.localX,t.localY,t)}cv(t){null!==this.Np&&(this.Kp(),this.Ap=!1,this.sm(t))}uv(t){null!==this.Np&&this.tm(t)}Rv(t){if(this.Ap=!0,null===this.Ip){const i={x:t.localX,y:t.localY};this.rm(i,i,t)}}Pv(t){null!==this.Np&&(this.Kp(),this.Np.$t().jc(null),this.hm())}lm(){return this.Vp}am(){return this.Op}xv(){this.Bp=1,this.$i().Un()}Sv(t,i){if(!this.Qd.W().handleScale.pinch)return;const n=5*(i-this.Bp);this.Bp=i,this.$i().Qc(t.nt,n)}pv(t){this.Ap=!1,this.zp=null!==this.Ip,this.Jp();const i=this.$i().Zc();null!==this.Ip&&i.yt()&&(this.Lp={x:i.Yt(),y:i.Zt()},this.Ip={x:t.localX,y:t.localY})}hv(t){if(null===this.Np)return;const i=t.localX,n=t.localY;if(null===this.Ip)this.nm(t);else{this.zp=!1;const s=b(this.Lp),e=s.x+(i-this.Ip.x),r=s.y+(n-this.Ip.y);this.Gp(e,r,t)}}_v(t){0===this.$v().W().trackingMode.exitMode&&(this.zp=!0),this.om(),this.sm(t)}wr(t,i){const n=this.Np;return null===n?null:function(t,i,n){const s=t.Uo(),e=function(t,i,n){var s,e;let r,h;for(const o of t){const t=null!==(e=null===(s=o.va)||void 0===s?void 0:s.call(o,i,n))&&void 0!==e?e:[];for(const i of t)l=i.zOrder,(!(a=null==r?void 0:r.zOrder)||\"top\"===l&&\"top\"!==a||\"normal\"===l&&\"bottom\"===a)&&(r=i,h=o)}var l,a;return r&&h?{zv:r,Hc:h}:null}(s,i,n);if(\"top\"===(null==e?void 0:e.zv.zOrder))return xs(e);for(const r of s){if(e&&e.Hc===r&&\"bottom\"!==e.zv.zOrder&&!e.zv.isBackground)return xs(e);const s=Ss(r.Pn(t),i,n);if(null!==s)return{Hc:r,Bv:s.Bv,Iv:s.Iv};if(e&&e.Hc===r&&\"bottom\"!==e.zv.zOrder&&e.zv.isBackground)return xs(e)}return(null==e?void 0:e.zv)?xs(e):null}(n,t,i)}_m(i,n){b(\"left\"===n?this.Cp:this.Tp).cp(t({width:i,height:this.Ev.height}))}um(){return this.Ev}cp(t){n(this.Ev,t)||(this.Ev=t,this.jv=!0,this.Gv.resizeCanvasElement(t),this.Jv.resizeCanvasElement(t),this.jv=!1,this.Wp.style.width=t.width+\"px\",this.Wp.style.height=t.height+\"px\")}dm(){const t=b(this.Np);t.P_(t.R_()),t.P_(t.D_());for(const i of t.Ba())if(t.vr(i)){const n=i.Dt();null!==n&&t.P_(n),i.Vn()}}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}vp(t){if(0===t)return;if(null===this.Np)return;if(t>1&&this.dm(),null!==this.Cp&&this.Cp.vp(t),null!==this.Tp&&this.Tp.vp(t),1!==t){this.Gv.applySuggestedBitmapSize();const t=s(this.Gv);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.mp(t)})),this.Np&&(this.fm(t,Ts),this.vm(t),this.pm(t),this.fm(t,Ps),this.fm(t,Rs)))}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.bm(i),this.fm(i,Ds))}wm(){return this.Cp}gm(){return this.Tp}bp(t,i){this.fm(t,i)}Fp(){null!==this.Np&&this.Np.W_().p(this),this.Np=null}tm(t){this.im(this.Vp,t)}im(t,i){const n=i.localX,s=i.localY;t.M()&&t.m(this.$i().St().Nu(n),{x:n,y:s},i)}mp({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.$i(),r=e.q(),h=e.bd();r===h?G(t,0,0,n,s,h):tt(t,0,0,n,s,r,h)}vm(t){const i=b(this.Np).j_().qh().gt();null!==i&&i.X(t,!1)}pm(t){const i=this.$i().Yc();this.Mm(t,Ps,cs,i),this.Mm(t,Ps,ds,i)}bm(t){this.Mm(t,Ps,ds,this.$i().Zc())}fm(t,i){const n=b(this.Np).Uo();for(const s of n)this.Mm(t,i,cs,s);for(const s of n)this.Mm(t,i,ds,s)}Mm(t,i,n,s){const e=b(this.Np),r=e.$t().Wc(),h=null!==r&&r.Hc===s,l=null!==r&&h&&void 0!==r.Iv?r.Iv.Mr:void 0;fs(i,(i=>n(i,t,h,l)),s,e)}Zp(){if(null===this.Np)return;const t=this.Qd,i=this.Np.R_().W().visible,n=this.Np.D_().W().visible;i||null===this.Cp||(this.jp.removeChild(this.Cp.lp()),this.Cp.S(),this.Cp=null),n||null===this.Tp||(this.Hp.removeChild(this.Tp.lp()),this.Tp.S(),this.Tp=null);const s=t.$t().ud();i&&null===this.Cp&&(this.Cp=new Cs(this,t.W(),s,\"left\"),this.jp.appendChild(this.Cp.lp())),n&&null===this.Tp&&(this.Tp=new Cs(this,t.W(),s,\"right\"),this.Hp.appendChild(this.Tp.lp()))}xm(t){return t.Dv&&this.Ap||null!==this.Ip}Sm(t){return Math.max(0,Math.min(t,this.Ev.width-1))}km(t){return Math.max(0,Math.min(t,this.Ev.height-1))}Gp(t,i,n){this.$i().ld(this.Sm(t),this.km(i),n,b(this.Np))}hm(){this.$i().od()}om(){this.zp&&(this.Ip=null,this.hm())}rm(t,i,n){this.Ip=t,this.zp=!1,this.Gp(i.x,i.y,n);const s=this.$i().Zc();this.Lp={x:s.Yt(),y:s.Zt()}}$i(){return this.Qd.$t()}sm(t){if(!this.Dp)return;const i=this.$i(),n=this.fp();if(i.z_(n,n.vn()),this.Rp=null,this.Dp=!1,i.ed(),null!==this.Ep){const t=performance.now(),n=i.St();this.Ep.Vr(n.Hu(),t),this.Ep.Qu(t)||i.Zn(this.Ep)}}Kp(){this.Ip=null}Jp(){if(!this.Np)return;if(this.$i().Un(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)b(document.activeElement).blur();else{const t=document.getSelection();null!==t&&t.removeAllRanges()}!this.Np.vn().Ni()&&this.$i().St().Ni()}nm(t){if(null===this.Np)return;const i=this.$i(),n=i.St();if(n.Ni())return;const s=this.Qd.W(),e=s.handleScroll,r=s.kineticScroll;if((!e.pressedMouseMove||t.Dv)&&(!e.horzTouchDrag&&!e.vertTouchDrag||!t.Dv))return;const h=this.Np.vn(),l=performance.now();if(null!==this.Rp||this.xm(t)||(this.Rp={x:t.clientX,y:t.clientY,Od:l,ym:t.localX,Cm:t.localY}),null!==this.Rp&&!this.Dp&&(this.Rp.x!==t.clientX||this.Rp.y!==t.clientY)){if(t.Dv&&r.touch||!t.Dv&&r.mouse){const t=n.le();this.Ep=new as(.2/t,7/t,.997,15/t),this.Ep.Yd(n.Hu(),this.Rp.Od)}else this.Ep=null;h.Ni()||i.A_(this.Np,h,t.localY),i.nd(t.localX),this.Dp=!0}this.Dp&&(h.Ni()||i.I_(this.Np,h,t.localY),i.sd(t.localX),null!==this.Ep&&this.Ep.Yd(n.Hu(),l))}}class Os{constructor(i,n,s,e,r){this.ft=!0,this.Ev=t({width:0,height:0}),this.Hv=()=>this.vp(3),this.qv=\"left\"===i,this.Oc=s.ud,this.cn=n,this.Tm=e,this.Pm=r,this.Kv=document.createElement(\"div\"),this.Kv.style.width=\"25px\",this.Kv.style.height=\"100%\",this.Kv.style.overflow=\"hidden\",this.Gv=_s(this.Kv,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv)}S(){this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose()}lp(){return this.Kv}um(){return this.Ev}cp(t){n(this.Ev,t)||(this.Ev=t,this.Gv.resizeCanvasElement(t),this.Kv.style.width=`${t.width}px`,this.Kv.style.height=`${t.height}px`,this.ft=!0)}vp(t){if(t<3&&!this.ft)return;if(0===this.Ev.width||0===this.Ev.height)return;this.ft=!1,this.Gv.applySuggestedBitmapSize();const i=s(this.Gv);null!==i&&i.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t)}))}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}Ie({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(!this.Tm())return;t.fillStyle=this.cn.timeScale.borderColor;const e=Math.floor(this.Oc.W().C*n),r=Math.floor(this.Oc.W().C*s),h=this.qv?i.width-e:0;t.fillRect(h,0,e,r)}mp({context:t,bitmapSize:i}){G(t,0,0,i.width,i.height,this.Pm())}}function Bs(t){return i=>{var n,s;return null!==(s=null===(n=i.fa)||void 0===n?void 0:n.call(i,t))&&void 0!==s?s:[]}}const As=Bs(\"normal\"),Is=Bs(\"top\"),zs=Bs(\"bottom\");class Ls{constructor(i,n){this.Rm=null,this.Dm=null,this.k=null,this.Vm=!1,this.Ev=t({width:0,height:0}),this.Om=new D,this.Fv=new ni(5),this.jv=!1,this.Hv=()=>{this.jv||this.Qd.$t().Uh()},this.Uv=()=>{this.jv||this.Qd.$t().Uh()},this.Qd=i,this.q_=n,this.cn=i.W().layout,this.Xd=document.createElement(\"tr\"),this.Bm=document.createElement(\"td\"),this.Bm.style.padding=\"0\",this.Am=document.createElement(\"td\"),this.Am.style.padding=\"0\",this.Kv=document.createElement(\"td\"),this.Kv.style.height=\"25px\",this.Kv.style.padding=\"0\",this.Im=document.createElement(\"div\"),this.Im.style.width=\"100%\",this.Im.style.height=\"100%\",this.Im.style.position=\"relative\",this.Im.style.overflow=\"hidden\",this.Kv.appendChild(this.Im),this.Gv=_s(this.Im,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const s=this.Gv.canvasElement;s.style.position=\"absolute\",s.style.zIndex=\"1\",s.style.left=\"0\",s.style.top=\"0\",this.Jv=_s(this.Im,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const e=this.Jv.canvasElement;e.style.position=\"absolute\",e.style.zIndex=\"2\",e.style.left=\"0\",e.style.top=\"0\",this.Xd.appendChild(this.Bm),this.Xd.appendChild(this.Kv),this.Xd.appendChild(this.Am),this.zm(),this.Qd.$t().g_().l(this.zm.bind(this),this),this.hp=new ps(this.Jv.canvasElement,this,{ev:()=>!0,rv:()=>!this.Qd.W().handleScroll.horzTouchDrag})}S(){this.hp.S(),null!==this.Rm&&this.Rm.S(),null!==this.Dm&&this.Dm.S(),this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose()}lp(){return this.Xd}Lm(){return this.Rm}Em(){return this.Dm}bv(t){if(this.Vm)return;this.Vm=!0;const i=this.Qd.$t();!i.St().Ni()&&this.Qd.W().handleScale.axisPressedMouseMove.time&&i.Jc(t.localX)}pv(t){this.bv(t)}wv(){const t=this.Qd.$t();!t.St().Ni()&&this.Vm&&(this.Vm=!1,this.Qd.W().handleScale.axisPressedMouseMove.time&&t.hd())}av(t){const i=this.Qd.$t();!i.St().Ni()&&this.Qd.W().handleScale.axisPressedMouseMove.time&&i.rd(t.localX)}hv(t){this.av(t)}cv(){this.Vm=!1;const t=this.Qd.$t();t.St().Ni()&&!this.Qd.W().handleScale.axisPressedMouseMove.time||t.hd()}_v(){this.cv()}qf(){this.Qd.W().handleScale.axisDoubleClickReset.time&&this.Qd.$t().Kn()}jf(){this.qf()}Qf(){this.Qd.$t().W().handleScale.axisPressedMouseMove.time&&this.kp(1)}Pv(){this.kp(0)}um(){return this.Ev}Nm(){return this.Om}Fm(i,s,e){n(this.Ev,i)||(this.Ev=i,this.jv=!0,this.Gv.resizeCanvasElement(i),this.Jv.resizeCanvasElement(i),this.jv=!1,this.Kv.style.width=`${i.width}px`,this.Kv.style.height=`${i.height}px`,this.Om.m(i)),null!==this.Rm&&this.Rm.cp(t({width:s,height:i.height})),null!==this.Dm&&this.Dm.cp(t({width:e,height:i.height}))}Wm(){const t=this.jm();return Math.ceil(t.C+t.T+t.P+t.L+t.B+t.Hm)}bt(){this.Qd.$t().St().Ha()}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}vp(t){if(0===t)return;if(1!==t){this.Gv.applySuggestedBitmapSize();const i=s(this.Gv);null!==i&&(i.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t),this.$m(i,zs)})),this.wp(i),this.$m(i,As)),null!==this.Rm&&this.Rm.vp(t),null!==this.Dm&&this.Dm.vp(t)}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Um([...this.Qd.$t().wt(),this.Qd.$t().Zc()],i),this.$m(i,Is))}$m(t,i){const n=this.Qd.$t().wt();for(const s of n)fs(i,(i=>cs(i,t,!1,void 0)),s,void 0);for(const s of n)fs(i,(i=>ds(i,t,!1,void 0)),s,void 0)}mp({context:t,bitmapSize:i}){G(t,0,0,i.width,i.height,this.Qd.$t().bd())}Ie({context:t,bitmapSize:i,verticalPixelRatio:n}){if(this.Qd.W().timeScale.borderVisible){t.fillStyle=this.qm();const s=Math.max(1,Math.floor(this.jm().C*n));t.fillRect(0,0,i.width,s)}}wp(t){const i=this.Qd.$t().St(),n=i.Ha();if(!n||0===n.length)return;const s=this.q_.maxTickMarkWeight(n),e=this.jm(),r=i.W();r.borderVisible&&r.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:i,verticalPixelRatio:s})=>{t.strokeStyle=this.qm(),t.fillStyle=this.qm();const r=Math.max(1,Math.floor(i)),h=Math.floor(.5*i);t.beginPath();const l=Math.round(e.T*s);for(let s=n.length;s--;){const e=Math.round(n[s].coord*i);t.rect(e-h,0,r,l)}t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{const i=e.C+e.T+e.L+e.P/2;t.textAlign=\"center\",t.textBaseline=\"middle\",t.fillStyle=this.$(),t.font=this._p();for(const e of n)if(e.weight<s){const n=e.needAlignCoordinate?this.Ym(t,e.coord,e.label):e.coord;t.fillText(e.label,n,i)}this.Qd.W().timeScale.allowBoldLabels&&(t.font=this.Zm());for(const e of n)if(e.weight>=s){const n=e.needAlignCoordinate?this.Ym(t,e.coord,e.label):e.coord;t.fillText(e.label,n,i)}}))}Ym(t,i,n){const s=this.Fv.xi(t,n),e=s/2,r=Math.floor(i-e)+.5;return r<0?i+=Math.abs(0-r):r+s>this.Ev.width&&(i-=Math.abs(this.Ev.width-(r+s))),i}Um(t,i){const n=this.jm();for(const s of t)for(const t of s.Qi())t.gt().X(i,n)}qm(){return this.Qd.W().timeScale.borderColor}$(){return this.cn.textColor}j(){return this.cn.fontSize}_p(){return F(this.j(),this.cn.fontFamily)}Zm(){return F(this.j(),this.cn.fontFamily,\"bold\")}jm(){null===this.k&&(this.k={C:1,N:NaN,L:NaN,B:NaN,ji:NaN,T:5,P:NaN,R:\"\",Wi:new ni,Hm:0});const t=this.k,i=this._p();if(t.R!==i){const n=this.j();t.P=n,t.R=i,t.L=3*n/12,t.B=3*n/12,t.ji=9*n/12,t.N=0,t.Hm=4*n/12,t.Wi.nr()}return this.k}kp(t){this.Kv.style.cursor=1===t?\"ew-resize\":\"default\"}zm(){const t=this.Qd.$t(),i=t.W();i.leftPriceScale.visible||null===this.Rm||(this.Bm.removeChild(this.Rm.lp()),this.Rm.S(),this.Rm=null),i.rightPriceScale.visible||null===this.Dm||(this.Am.removeChild(this.Dm.lp()),this.Dm.S(),this.Dm=null);const n={ud:this.Qd.$t().ud()},s=()=>i.leftPriceScale.borderVisible&&t.St().W().borderVisible,e=()=>t.bd();i.leftPriceScale.visible&&null===this.Rm&&(this.Rm=new Os(\"left\",i,n,s,e),this.Bm.appendChild(this.Rm.lp())),i.rightPriceScale.visible&&null===this.Dm&&(this.Dm=new Os(\"right\",i,n,s,e),this.Am.appendChild(this.Dm.lp()))}}const Es=!!ns&&!!navigator.userAgentData&&navigator.userAgentData.brands.some((t=>t.brand.includes(\"Chromium\")))&&!!ns&&((null===(Ns=null===navigator||void 0===navigator?void 0:navigator.userAgentData)||void 0===Ns?void 0:Ns.platform)?\"Windows\"===navigator.userAgentData.platform:navigator.userAgent.toLowerCase().indexOf(\"win\")>=0);var Ns;class Fs{constructor(t,i,n){var s;this.Xm=[],this.Km=0,this.ho=0,this.__=0,this.Gm=0,this.Jm=0,this.Qm=null,this.tb=!1,this.Vp=new D,this.Op=new D,this.Rc=new D,this.ib=null,this.nb=null,this.Jd=t,this.cn=i,this.q_=n,this.Xd=document.createElement(\"div\"),this.Xd.classList.add(\"tv-lightweight-charts\"),this.Xd.style.overflow=\"hidden\",this.Xd.style.direction=\"ltr\",this.Xd.style.width=\"100%\",this.Xd.style.height=\"100%\",(s=this.Xd).style.userSelect=\"none\",s.style.webkitUserSelect=\"none\",s.style.msUserSelect=\"none\",s.style.MozUserSelect=\"none\",s.style.webkitTapHighlightColor=\"transparent\",this.sb=document.createElement(\"table\"),this.sb.setAttribute(\"cellspacing\",\"0\"),this.Xd.appendChild(this.sb),this.eb=this.rb.bind(this),Ws(this.cn)&&this.hb(!0),this.$i=new Ln(this.Vc.bind(this),this.cn,n),this.$t().Xc().l(this.lb.bind(this),this),this.ab=new Ls(this,this.q_),this.sb.appendChild(this.ab.lp());const e=i.autoSize&&this.ob();let r=this.cn.width,h=this.cn.height;if(e||0===r||0===h){const i=t.getBoundingClientRect();r=r||i.width,h=h||i.height}this._b(r,h),this.ub(),t.appendChild(this.Xd),this.cb(),this.$i.St().ec().l(this.$i.Kl.bind(this.$i),this),this.$i.g_().l(this.$i.Kl.bind(this.$i),this)}$t(){return this.$i}W(){return this.cn}Yp(){return this.Xm}fb(){return this.ab}S(){this.hb(!1),0!==this.Km&&window.cancelAnimationFrame(this.Km),this.$i.Xc().p(this),this.$i.St().ec().p(this),this.$i.g_().p(this),this.$i.S();for(const t of this.Xm)this.sb.removeChild(t.lp()),t.lm().p(this),t.am().p(this),t.S();this.Xm=[],b(this.ab).S(),null!==this.Xd.parentElement&&this.Xd.parentElement.removeChild(this.Xd),this.Rc.S(),this.Vp.S(),this.Op.S(),this.pb()}_b(i,n,s=!1){if(this.ho===n&&this.__===i)return;const e=function(i){const n=Math.floor(i.width),s=Math.floor(i.height);return t({width:n-n%2,height:s-s%2})}(t({width:i,height:n}));this.ho=e.height,this.__=e.width;const r=this.ho+\"px\",h=this.__+\"px\";b(this.Xd).style.height=r,b(this.Xd).style.width=h,this.sb.style.height=r,this.sb.style.width=h,s?this.mb(ut.es(),performance.now()):this.$i.Kl()}vp(t){void 0===t&&(t=ut.es());for(let i=0;i<this.Xm.length;i++)this.Xm[i].vp(t.Hn(i).Fn);this.cn.timeScale.visible&&this.ab.vp(t.jn())}$h(t){const i=Ws(this.cn);this.$i.$h(t);const n=Ws(this.cn);n!==i&&this.hb(n),this.cb(),this.bb(t)}lm(){return this.Vp}am(){return this.Op}Xc(){return this.Rc}wb(){null!==this.Qm&&(this.mb(this.Qm,performance.now()),this.Qm=null);const t=this.gb(null),i=document.createElement(\"canvas\");i.width=t.width,i.height=t.height;const n=b(i.getContext(\"2d\"));return this.gb(n),i}Mb(t){if(\"left\"===t&&!this.xb())return 0;if(\"right\"===t&&!this.Sb())return 0;if(0===this.Xm.length)return 0;return b(\"left\"===t?this.Xm[0].wm():this.Xm[0].gm()).dp()}kb(){return this.cn.autoSize&&null!==this.ib}yb(){return this.Xd}Qp(t){this.nb=t,this.nb?this.yb().style.setProperty(\"cursor\",t):this.yb().style.removeProperty(\"cursor\")}Cb(){return this.nb}Tb(){return m(this.Xm[0]).um()}bb(t){(void 0!==t.autoSize||!this.ib||void 0===t.width&&void 0===t.height)&&(t.autoSize&&!this.ib&&this.ob(),!1===t.autoSize&&null!==this.ib&&this.pb(),t.autoSize||void 0===t.width&&void 0===t.height||this._b(t.width||this.__,t.height||this.ho))}gb(i){let n=0,s=0;const e=this.Xm[0],r=(t,n)=>{let s=0;for(let e=0;e<this.Xm.length;e++){const r=this.Xm[e],h=b(\"left\"===t?r.wm():r.gm()),l=h.xp();null!==i&&h.Sp(i,n,s),s+=l.height}};if(this.xb()){r(\"left\",0);n+=b(e.wm()).xp().width}for(let t=0;t<this.Xm.length;t++){const e=this.Xm[t],r=e.xp();null!==i&&e.Sp(i,n,s),s+=r.height}if(n+=e.xp().width,this.Sb()){r(\"right\",n);n+=b(e.gm()).xp().width}const h=(t,n,s)=>{b(\"left\"===t?this.ab.Lm():this.ab.Em()).Sp(b(i),n,s)};if(this.cn.timeScale.visible){const t=this.ab.xp();if(null!==i){let n=0;this.xb()&&(h(\"left\",n,s),n=b(e.wm()).xp().width),this.ab.Sp(i,n,s),n+=t.width,this.Sb()&&h(\"right\",n,s)}s+=t.height}return t({width:n,height:s})}Pb(){let i=0,n=0,s=0;for(const t of this.Xm)this.xb()&&(n=Math.max(n,b(t.wm()).op(),this.cn.leftPriceScale.minimumWidth)),this.Sb()&&(s=Math.max(s,b(t.gm()).op(),this.cn.rightPriceScale.minimumWidth)),i+=t.M_();n=rs(n),s=rs(s);const e=this.__,r=this.ho,h=Math.max(e-n-s,0),l=this.cn.timeScale.visible;let a=l?Math.max(this.ab.Wm(),this.cn.timeScale.minimumHeight):0;var o;a=(o=a)+o%2;const _=0+a,u=r<_?0:r-_,c=u/i;let d=0;for(let i=0;i<this.Xm.length;++i){const e=this.Xm[i];e.qp(this.$i.qc()[i]);let r=0,l=0;l=i===this.Xm.length-1?u-d:Math.round(e.M_()*c),r=Math.max(l,2),d+=r,e.cp(t({width:h,height:r})),this.xb()&&e._m(n,\"left\"),this.Sb()&&e._m(s,\"right\"),e.fp()&&this.$i.Kc(e.fp(),r)}this.ab.Fm(t({width:l?h:0,height:a}),l?n:0,l?s:0),this.$i.S_(h),this.Gm!==n&&(this.Gm=n),this.Jm!==s&&(this.Jm=s)}hb(t){t?this.Xd.addEventListener(\"wheel\",this.eb,{passive:!1}):this.Xd.removeEventListener(\"wheel\",this.eb)}Rb(t){switch(t.deltaMode){case t.DOM_DELTA_PAGE:return 120;case t.DOM_DELTA_LINE:return 32}return Es?1/window.devicePixelRatio:1}rb(t){if(!(0!==t.deltaX&&this.cn.handleScroll.mouseWheel||0!==t.deltaY&&this.cn.handleScale.mouseWheel))return;const i=this.Rb(t),n=i*t.deltaX/100,s=-i*t.deltaY/100;if(t.cancelable&&t.preventDefault(),0!==s&&this.cn.handleScale.mouseWheel){const i=Math.sign(s)*Math.min(1,Math.abs(s)),n=t.clientX-this.Xd.getBoundingClientRect().left;this.$t().Qc(n,i)}0!==n&&this.cn.handleScroll.mouseWheel&&this.$t().td(-80*n)}mb(t,i){var n;const s=t.jn();3===s&&this.Db(),3!==s&&2!==s||(this.Vb(t),this.Ob(t,i),this.ab.bt(),this.Xm.forEach((t=>{t.Xp()})),3===(null===(n=this.Qm)||void 0===n?void 0:n.jn())&&(this.Qm.ts(t),this.Db(),this.Vb(this.Qm),this.Ob(this.Qm,i),t=this.Qm,this.Qm=null)),this.vp(t)}Ob(t,i){for(const n of t.Qn())this.ns(n,i)}Vb(t){const i=this.$i.qc();for(let n=0;n<i.length;n++)t.Hn(n).Wn&&i[n].N_()}ns(t,i){const n=this.$i.St();switch(t.qn){case 0:n.hc();break;case 1:n.lc(t.Vt);break;case 2:n.Gn(t.Vt);break;case 3:n.Jn(t.Vt);break;case 4:n.qu();break;case 5:t.Vt.Qu(i)||n.Jn(t.Vt.tc(i))}}Vc(t){null!==this.Qm?this.Qm.ts(t):this.Qm=t,this.tb||(this.tb=!0,this.Km=window.requestAnimationFrame((t=>{if(this.tb=!1,this.Km=0,null!==this.Qm){const i=this.Qm;this.Qm=null,this.mb(i,t);for(const n of i.Qn())if(5===n.qn&&!n.Vt.Qu(t)){this.$t().Zn(n.Vt);break}}})))}Db(){this.ub()}ub(){const t=this.$i.qc(),i=t.length,n=this.Xm.length;for(let t=i;t<n;t++){const t=m(this.Xm.pop());this.sb.removeChild(t.lp()),t.lm().p(this),t.am().p(this),t.S()}for(let s=n;s<i;s++){const i=new Vs(this,t[s]);i.lm().l(this.Bb.bind(this),this),i.am().l(this.Ab.bind(this),this),this.Xm.push(i),this.sb.insertBefore(i.lp(),this.ab.lp())}for(let n=0;n<i;n++){const i=t[n],s=this.Xm[n];s.fp()!==i?s.qp(i):s.Up()}this.cb(),this.Pb()}Ib(t,i,n){var s;const e=new Map;if(null!==t){this.$i.wt().forEach((i=>{const n=i.In().ll(t);null!==n&&e.set(i,n)}))}let r;if(null!==t){const i=null===(s=this.$i.St().Ui(t))||void 0===s?void 0:s.originalTime;void 0!==i&&(r=i)}const h=this.$t().Wc(),l=null!==h&&h.Hc instanceof Gi?h.Hc:void 0,a=null!==h&&void 0!==h.Iv?h.Iv.gr:void 0;return{zb:r,ee:null!=t?t:void 0,Lb:null!=i?i:void 0,Eb:l,Nb:e,Fb:a,Wb:null!=n?n:void 0}}Bb(t,i,n){this.Vp.m((()=>this.Ib(t,i,n)))}Ab(t,i,n){this.Op.m((()=>this.Ib(t,i,n)))}lb(t,i,n){this.Rc.m((()=>this.Ib(t,i,n)))}cb(){const t=this.cn.timeScale.visible?\"\":\"none\";this.ab.lp().style.display=t}xb(){return this.Xm[0].fp().R_().W().visible}Sb(){return this.Xm[0].fp().D_().W().visible}ob(){return\"ResizeObserver\"in window&&(this.ib=new ResizeObserver((t=>{const i=t.find((t=>t.target===this.Jd));i&&this._b(i.contentRect.width,i.contentRect.height)})),this.ib.observe(this.Jd,{box:\"border-box\"}),!0)}pb(){null!==this.ib&&this.ib.disconnect(),this.ib=null}}function Ws(t){return Boolean(t.handleScroll.mouseWheel||t.handleScale.mouseWheel)}function js(t){return function(t){return void 0!==t.open}(t)||function(t){return void 0!==t.value}(t)}function Hs(t,i){var n={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(n[s]=t[s]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols){var e=0;for(s=Object.getOwnPropertySymbols(t);e<s.length;e++)i.indexOf(s[e])<0&&Object.prototype.propertyIsEnumerable.call(t,s[e])&&(n[s[e]]=t[s[e]])}return n}function $s(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.color&&(r.V=n.color),r}function Us(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.lineColor&&(r.lt=n.lineColor),void 0!==n.topColor&&(r.Ps=n.topColor),void 0!==n.bottomColor&&(r.Rs=n.bottomColor),r}function qs(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.topLineColor&&(r.Re=n.topLineColor),void 0!==n.bottomLineColor&&(r.De=n.bottomLineColor),void 0!==n.topFillColor1&&(r.ke=n.topFillColor1),void 0!==n.topFillColor2&&(r.ye=n.topFillColor2),void 0!==n.bottomFillColor1&&(r.Ce=n.bottomFillColor1),void 0!==n.bottomFillColor2&&(r.Te=n.bottomFillColor2),r}function Ys(t,i,n,s){const e={ee:i,ot:t,Vt:[n.open,n.high,n.low,n.close],zb:s};return void 0!==n.color&&(e.V=n.color),e}function Zs(t,i,n,s){const e={ee:i,ot:t,Vt:[n.open,n.high,n.low,n.close],zb:s};return void 0!==n.color&&(e.V=n.color),void 0!==n.borderColor&&(e.Ot=n.borderColor),void 0!==n.wickColor&&(e.Xh=n.wickColor),e}function Xs(t,i,n,s,e){const r=m(e)(n),h=Math.max(...r),l=Math.min(...r),a=r[r.length-1],o=[a,h,l,a],_=n,{time:u,color:c}=_;return{ee:i,ot:t,Vt:o,zb:s,$e:Hs(_,[\"time\",\"color\"]),V:c}}function Ks(t){return void 0!==t.Vt}function Gs(t,i){return void 0!==i.customValues&&(t.jb=i.customValues),t}function Js(t){return(i,n,s,e,r,h)=>function(t,i){return i?i(t):void 0===(n=t).open&&void 0===n.value;var n}(s,h)?Gs({ot:i,ee:n,zb:e},s):Gs(t(i,n,s,e,r),s)}function Qs(t){return{Candlestick:Js(Zs),Bar:Js(Ys),Area:Js(Us),Baseline:Js(qs),Histogram:Js($s),Line:Js($s),Custom:Js(Xs)}[t]}function te(t){return{ee:0,Hb:new Map,la:t}}function ie(t,i){if(void 0!==t&&0!==t.length)return{$b:i.key(t[0].ot),Ub:i.key(t[t.length-1].ot)}}function ne(t){let i;return t.forEach((t=>{void 0===i&&(i=t.zb)})),m(i)}class se{constructor(t){this.qb=new Map,this.Yb=new Map,this.Zb=new Map,this.Xb=[],this.q_=t}S(){this.qb.clear(),this.Yb.clear(),this.Zb.clear(),this.Xb=[]}Kb(t,i){let n=0!==this.qb.size,s=!1;const e=this.Yb.get(t);if(void 0!==e)if(1===this.Yb.size)n=!1,s=!0,this.qb.clear();else for(const i of this.Xb)i.pointData.Hb.delete(t)&&(s=!0);let r=[];if(0!==i.length){const n=i.map((t=>t.time)),e=this.q_.createConverterToInternalObj(i),h=Qs(t.Qh()),l=t.Ca(),a=t.Ta();r=i.map(((i,r)=>{const o=e(i.time),_=this.q_.key(o);let u=this.qb.get(_);void 0===u&&(u=te(o),this.qb.set(_,u),s=!0);const c=h(o,u.ee,i,n[r],l,a);return u.Hb.set(t,c),c}))}n&&this.Gb(),this.Jb(t,r);let h=-1;if(s){const t=[];this.qb.forEach((i=>{t.push({timeWeight:0,time:i.la,pointData:i,originalTime:ne(i.Hb)})})),t.sort(((t,i)=>this.q_.key(t.time)-this.q_.key(i.time))),h=this.Qb(t)}return this.tw(t,h,function(t,i,n){const s=ie(t,n),e=ie(i,n);if(void 0!==s&&void 0!==e)return{ta:s.Ub>=e.Ub&&s.$b>=e.$b}}(this.Yb.get(t),e,this.q_))}vd(t){return this.Kb(t,[])}iw(t,i){const n=i;!function(t){void 0===t.zb&&(t.zb=t.time)}(n),this.q_.preprocessData(i);const s=this.q_.createConverterToInternalObj([i])(i.time),e=this.Zb.get(t);if(void 0!==e&&this.q_.key(s)<this.q_.key(e))throw new Error(`Cannot update oldest data, last time=${e}, new time=${s}`);let r=this.qb.get(this.q_.key(s));const h=void 0===r;void 0===r&&(r=te(s),this.qb.set(this.q_.key(s),r));const l=Qs(t.Qh()),a=t.Ca(),o=t.Ta(),_=l(s,r.ee,i,n.zb,a,o);r.Hb.set(t,_),this.nw(t,_);const u={ta:Ks(_)};if(!h)return this.tw(t,-1,u);const c={timeWeight:0,time:r.la,pointData:r,originalTime:ne(r.Hb)},d=Bt(this.Xb,this.q_.key(c.time),((t,i)=>this.q_.key(t.time)<i));this.Xb.splice(d,0,c);for(let t=d;t<this.Xb.length;++t)ee(this.Xb[t].pointData,t);return this.q_.fillWeightsForPoints(this.Xb,d),this.tw(t,d,u)}nw(t,i){let n=this.Yb.get(t);void 0===n&&(n=[],this.Yb.set(t,n));const s=0!==n.length?n[n.length-1]:null;null===s||this.q_.key(i.ot)>this.q_.key(s.ot)?Ks(i)&&n.push(i):Ks(i)?n[n.length-1]=i:n.splice(-1,1),this.Zb.set(t,i.ot)}Jb(t,i){0!==i.length?(this.Yb.set(t,i.filter(Ks)),this.Zb.set(t,i[i.length-1].ot)):(this.Yb.delete(t),this.Zb.delete(t))}Gb(){for(const t of this.Xb)0===t.pointData.Hb.size&&this.qb.delete(this.q_.key(t.time))}Qb(t){let i=-1;for(let n=0;n<this.Xb.length&&n<t.length;++n){const s=this.Xb[n],e=t[n];if(this.q_.key(s.time)!==this.q_.key(e.time)){i=n;break}e.timeWeight=s.timeWeight,ee(e.pointData,n)}if(-1===i&&this.Xb.length!==t.length&&(i=Math.min(this.Xb.length,t.length)),-1===i)return-1;for(let n=i;n<t.length;++n)ee(t[n].pointData,n);return this.q_.fillWeightsForPoints(t,i),this.Xb=t,i}sw(){if(0===this.Yb.size)return null;let t=0;return this.Yb.forEach((i=>{0!==i.length&&(t=Math.max(t,i[i.length-1].ee))})),t}tw(t,i,n){const s={ew:new Map,St:{Eu:this.sw()}};if(-1!==i)this.Yb.forEach(((i,e)=>{s.ew.set(e,{$e:i,rw:e===t?n:void 0})})),this.Yb.has(t)||s.ew.set(t,{$e:[],rw:n}),s.St.hw=this.Xb,s.St.lw=i;else{const i=this.Yb.get(t);s.ew.set(t,{$e:i||[],rw:n})}return s}}function ee(t,i){t.ee=i,t.Hb.forEach((t=>{t.ee=i}))}function re(t){const i={value:t.Vt[3],time:t.zb};return void 0!==t.jb&&(i.customValues=t.jb),i}function he(t){const i=re(t);return void 0!==t.V&&(i.color=t.V),i}function le(t){const i=re(t);return void 0!==t.lt&&(i.lineColor=t.lt),void 0!==t.Ps&&(i.topColor=t.Ps),void 0!==t.Rs&&(i.bottomColor=t.Rs),i}function ae(t){const i=re(t);return void 0!==t.Re&&(i.topLineColor=t.Re),void 0!==t.De&&(i.bottomLineColor=t.De),void 0!==t.ke&&(i.topFillColor1=t.ke),void 0!==t.ye&&(i.topFillColor2=t.ye),void 0!==t.Ce&&(i.bottomFillColor1=t.Ce),void 0!==t.Te&&(i.bottomFillColor2=t.Te),i}function oe(t){const i={open:t.Vt[0],high:t.Vt[1],low:t.Vt[2],close:t.Vt[3],time:t.zb};return void 0!==t.jb&&(i.customValues=t.jb),i}function _e(t){const i=oe(t);return void 0!==t.V&&(i.color=t.V),i}function ue(t){const i=oe(t),{V:n,Ot:s,Xh:e}=t;return void 0!==n&&(i.color=n),void 0!==s&&(i.borderColor=s),void 0!==e&&(i.wickColor=e),i}function ce(t){return{Area:le,Line:he,Baseline:ae,Histogram:he,Bar:_e,Candlestick:ue,Custom:de}[t]}function de(t){const i=t.zb;return Object.assign(Object.assign({},t.$e),{time:i})}const fe={vertLine:{color:\"#9598A1\",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:\"#131722\"},horzLine:{color:\"#9598A1\",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:\"#131722\"},mode:1},ve={vertLines:{color:\"#D6DCDE\",style:0,visible:!0},horzLines:{color:\"#D6DCDE\",style:0,visible:!0}},pe={background:{type:\"solid\",color:\"#FFFFFF\"},textColor:\"#191919\",fontSize:12,fontFamily:N,attributionLogo:!0},me={autoScale:!0,mode:0,invertScale:!1,alignLabels:!0,borderVisible:!0,borderColor:\"#2B2B43\",entireTextOnly:!1,visible:!1,ticksVisible:!1,scaleMargins:{bottom:.1,top:.2},minimumWidth:0},be={rightOffset:0,barSpacing:6,minBarSpacing:.5,fixLeftEdge:!1,fixRightEdge:!1,lockVisibleTimeRangeOnResize:!1,rightBarStaysOnScroll:!1,borderVisible:!0,borderColor:\"#2B2B43\",visible:!0,timeVisible:!1,secondsVisible:!0,shiftVisibleRangeOnNewBar:!0,allowShiftVisibleRangeOnWhitespaceReplacement:!1,ticksVisible:!1,uniformDistribution:!1,minimumHeight:0,allowBoldLabels:!0},we={color:\"rgba(0, 0, 0, 0)\",visible:!1,fontSize:48,fontFamily:N,fontStyle:\"\",text:\"\",horzAlign:\"center\",vertAlign:\"center\"};function ge(){return{width:0,height:0,autoSize:!1,layout:pe,crosshair:fe,grid:ve,overlayPriceScales:Object.assign({},me),leftPriceScale:Object.assign(Object.assign({},me),{visible:!1}),rightPriceScale:Object.assign(Object.assign({},me),{visible:!0}),timeScale:be,watermark:we,localization:{locale:ns?navigator.language:\"\",dateFormat:\"dd MMM 'yy\"},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0},handleScale:{axisPressedMouseMove:{time:!0,price:!0},axisDoubleClickReset:{time:!0,price:!0},mouseWheel:!0,pinch:!0},kineticScroll:{mouse:!1,touch:!0},trackingMode:{exitMode:1}}}class Me{constructor(t,i){this.aw=t,this.ow=i}applyOptions(t){this.aw.$t().$c(this.ow,t)}options(){return this.Li().W()}width(){return _t(this.ow)?this.aw.Mb(this.ow):0}Li(){return b(this.aw.$t().Uc(this.ow)).Dt}}function xe(t,i,n){const s=Hs(t,[\"time\",\"originalTime\"]),e=Object.assign({time:i},s);return void 0!==n&&(e.originalTime=n),e}const Se={color:\"#FF0000\",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:\"\",axisLabelColor:\"\",axisLabelTextColor:\"\"};class ke{constructor(t){this.Nh=t}applyOptions(t){this.Nh.$h(t)}options(){return this.Nh.W()}_w(){return this.Nh}}class ye{constructor(t,i,n,s,e){this.uw=new D,this.Es=t,this.cw=i,this.dw=n,this.q_=e,this.fw=s}S(){this.uw.S()}priceFormatter(){return this.Es.ba()}priceToCoordinate(t){const i=this.Es.Ct();return null===i?null:this.Es.Dt().Rt(t,i.Vt)}coordinateToPrice(t){const i=this.Es.Ct();return null===i?null:this.Es.Dt().pn(t,i.Vt)}barsInLogicalRange(t){if(null===t)return null;const i=new yn(new xn(t.from,t.to)).lu(),n=this.Es.In();if(n.Ni())return null;const s=n.ll(i.Os(),1),e=n.ll(i.ui(),-1),r=b(n.el()),h=b(n.An());if(null!==s&&null!==e&&s.ee>e.ee)return{barsBefore:t.from-r,barsAfter:h-t.to};const l={barsBefore:null===s||s.ee===r?t.from-r:s.ee-r,barsAfter:null===e||e.ee===h?h-t.to:h-e.ee};return null!==s&&null!==e&&(l.from=s.zb,l.to=e.zb),l}setData(t){this.q_,this.Es.Qh(),this.cw.pw(this.Es,t),this.mw(\"full\")}update(t){this.Es.Qh(),this.cw.bw(this.Es,t),this.mw(\"update\")}dataByIndex(t,i){const n=this.Es.In().ll(t,i);if(null===n)return null;return ce(this.seriesType())(n)}data(){const t=ce(this.seriesType());return this.Es.In().ne().map((i=>t(i)))}subscribeDataChanged(t){this.uw.l(t)}unsubscribeDataChanged(t){this.uw.v(t)}setMarkers(t){this.q_;const i=t.map((t=>xe(t,this.q_.convertHorzItemToInternal(t.time),t.time)));this.Es.na(i)}markers(){return this.Es.sa().map((t=>xe(t,t.originalTime,void 0)))}applyOptions(t){this.Es.$h(t)}options(){return z(this.Es.W())}priceScale(){return this.dw.priceScale(this.Es.Dt().Pa())}createPriceLine(t){const i=V(z(Se),t),n=this.Es.ea(i);return new ke(n)}removePriceLine(t){this.Es.ra(t._w())}seriesType(){return this.Es.Qh()}attachPrimitive(t){this.Es.ka(t),t.attached&&t.attached({chart:this.fw,series:this,requestUpdate:()=>this.Es.$t().Kl()})}detachPrimitive(t){this.Es.ya(t),t.detached&&t.detached()}mw(t){this.uw.M()&&this.uw.m(t)}}class Ce{constructor(t,i,n){this.ww=new D,this.mu=new D,this.Om=new D,this.$i=t,this.yl=t.St(),this.ab=i,this.yl.nc().l(this.gw.bind(this)),this.yl.sc().l(this.Mw.bind(this)),this.ab.Nm().l(this.xw.bind(this)),this.q_=n}S(){this.yl.nc().p(this),this.yl.sc().p(this),this.ab.Nm().p(this),this.ww.S(),this.mu.S(),this.Om.S()}scrollPosition(){return this.yl.Hu()}scrollToPosition(t,i){i?this.yl.Ju(t,1e3):this.$i.Jn(t)}scrollToRealTime(){this.yl.Gu()}getVisibleRange(){const t=this.yl.Vu();return null===t?null:{from:t.from.originalTime,to:t.to.originalTime}}setVisibleRange(t){const i={from:this.q_.convertHorzItemToInternal(t.from),to:this.q_.convertHorzItemToInternal(t.to)},n=this.yl.Iu(i);this.$i.pd(n)}getVisibleLogicalRange(){const t=this.yl.Du();return null===t?null:{from:t.Os(),to:t.ui()}}setVisibleLogicalRange(t){p(t.from<=t.to,\"The from index cannot be after the to index.\"),this.$i.pd(t)}resetTimeScale(){this.$i.Kn()}fitContent(){this.$i.hc()}logicalToCoordinate(t){const i=this.$i.St();return i.Ni()?null:i.It(t)}coordinateToLogical(t){return this.yl.Ni()?null:this.yl.Nu(t)}timeToCoordinate(t){const i=this.q_.convertHorzItemToInternal(t),n=this.yl.Va(i,!1);return null===n?null:this.yl.It(n)}coordinateToTime(t){const i=this.$i.St(),n=i.Nu(t),s=i.Ui(n);return null===s?null:s.originalTime}width(){return this.ab.um().width}height(){return this.ab.um().height}subscribeVisibleTimeRangeChange(t){this.ww.l(t)}unsubscribeVisibleTimeRangeChange(t){this.ww.v(t)}subscribeVisibleLogicalRangeChange(t){this.mu.l(t)}unsubscribeVisibleLogicalRangeChange(t){this.mu.v(t)}subscribeSizeChange(t){this.Om.l(t)}unsubscribeSizeChange(t){this.Om.v(t)}applyOptions(t){this.yl.$h(t)}options(){return Object.assign(Object.assign({},z(this.yl.W())),{barSpacing:this.yl.le()})}gw(){this.ww.M()&&this.ww.m(this.getVisibleRange())}Mw(){this.mu.M()&&this.mu.m(this.getVisibleLogicalRange())}xw(t){this.Om.m(t.width,t.height)}}function Te(t){if(void 0===t||\"custom\"===t.type)return;const i=t;void 0!==i.minMove&&void 0===i.precision&&(i.precision=function(t){if(t>=1)return 0;let i=0;for(;i<8;i++){const n=Math.round(t);if(Math.abs(n-t)<1e-8)return i;t*=10}return i}(i.minMove))}function Pe(t){return function(t){if(I(t.handleScale)){const i=t.handleScale;t.handleScale={axisDoubleClickReset:{time:i,price:i},axisPressedMouseMove:{time:i,price:i},mouseWheel:i,pinch:i}}else if(void 0!==t.handleScale){const{axisPressedMouseMove:i,axisDoubleClickReset:n}=t.handleScale;I(i)&&(t.handleScale.axisPressedMouseMove={time:i,price:i}),I(n)&&(t.handleScale.axisDoubleClickReset={time:n,price:n})}const i=t.handleScroll;I(i)&&(t.handleScroll={horzTouchDrag:i,vertTouchDrag:i,mouseWheel:i,pressedMouseMove:i})}(t),t}class Re{constructor(t,i,n){this.Sw=new Map,this.kw=new Map,this.yw=new D,this.Cw=new D,this.Tw=new D,this.Pw=new se(i);const s=void 0===n?z(ge()):V(z(ge()),Pe(n));this.q_=i,this.aw=new Fs(t,s,i),this.aw.lm().l((t=>{this.yw.M()&&this.yw.m(this.Rw(t()))}),this),this.aw.am().l((t=>{this.Cw.M()&&this.Cw.m(this.Rw(t()))}),this),this.aw.Xc().l((t=>{this.Tw.M()&&this.Tw.m(this.Rw(t()))}),this);const e=this.aw.$t();this.Dw=new Ce(e,this.aw.fb(),this.q_)}remove(){this.aw.lm().p(this),this.aw.am().p(this),this.aw.Xc().p(this),this.Dw.S(),this.aw.S(),this.Sw.clear(),this.kw.clear(),this.yw.S(),this.Cw.S(),this.Tw.S(),this.Pw.S()}resize(t,i,n){this.autoSizeActive()||this.aw._b(t,i,n)}addCustomSeries(t,i){const n=w(t),s=Object.assign(Object.assign({},_),n.defaultOptions());return this.Vw(\"Custom\",s,i,n)}addAreaSeries(t){return this.Vw(\"Area\",l,t)}addBaselineSeries(t){return this.Vw(\"Baseline\",a,t)}addBarSeries(t){return this.Vw(\"Bar\",r,t)}addCandlestickSeries(t={}){return function(t){void 0!==t.borderColor&&(t.borderUpColor=t.borderColor,t.borderDownColor=t.borderColor),void 0!==t.wickColor&&(t.wickUpColor=t.wickColor,t.wickDownColor=t.wickColor)}(t),this.Vw(\"Candlestick\",e,t)}addHistogramSeries(t){return this.Vw(\"Histogram\",o,t)}addLineSeries(t){return this.Vw(\"Line\",h,t)}removeSeries(t){const i=m(this.Sw.get(t)),n=this.Pw.vd(i);this.aw.$t().vd(i),this.Ow(n),this.Sw.delete(t),this.kw.delete(i)}pw(t,i){this.Ow(this.Pw.Kb(t,i))}bw(t,i){this.Ow(this.Pw.iw(t,i))}subscribeClick(t){this.yw.l(t)}unsubscribeClick(t){this.yw.v(t)}subscribeCrosshairMove(t){this.Tw.l(t)}unsubscribeCrosshairMove(t){this.Tw.v(t)}subscribeDblClick(t){this.Cw.l(t)}unsubscribeDblClick(t){this.Cw.v(t)}priceScale(t){return new Me(this.aw,t)}timeScale(){return this.Dw}applyOptions(t){this.aw.$h(Pe(t))}options(){return this.aw.W()}takeScreenshot(){return this.aw.wb()}autoSizeActive(){return this.aw.kb()}chartElement(){return this.aw.yb()}paneSize(){const t=this.aw.Tb();return{height:t.height,width:t.width}}setCrosshairPosition(t,i,n){const s=this.Sw.get(n);if(void 0===s)return;const e=this.aw.$t().dr(s);null!==e&&this.aw.$t().ad(t,i,e)}clearCrosshairPosition(){this.aw.$t().od(!0)}Vw(t,i,n={},s){Te(n.priceFormat);const e=V(z(u),z(i),n),r=this.aw.$t().dd(t,e,s),h=new ye(r,this,this,this,this.q_);return this.Sw.set(h,r),this.kw.set(r,h),h}Ow(t){const i=this.aw.$t();i._d(t.St.Eu,t.St.hw,t.St.lw),t.ew.forEach(((t,i)=>i.J(t.$e,t.rw))),i.Wu()}Bw(t){return m(this.kw.get(t))}Rw(t){const i=new Map;t.Nb.forEach(((t,n)=>{const s=n.Qh(),e=ce(s)(t);if(\"Custom\"!==s)p(js(e));else{const t=n.Ta();p(!t||!1===t(e))}i.set(this.Bw(n),e)}));const n=void 0!==t.Eb&&this.kw.has(t.Eb)?this.Bw(t.Eb):void 0;return{time:t.zb,logical:t.ee,point:t.Lb,hoveredSeries:n,hoveredObjectId:t.Fb,seriesData:i,sourceEvent:t.Wb}}}function De(t,i,n){let s;if(A(t)){const i=document.getElementById(t);p(null!==i,`Cannot find element in DOM with id=${t}`),s=i}else s=t;const e=new Re(s,i,n);return i.setOptions(e.options()),e}function Ve(t,i){return De(t,new is,is.Id(i))}function Oe(){return is}const Be=Object.assign(Object.assign({},u),_);function Ae(){return\"4.2.3\"}export{In as ColorType,at as CrosshairMode,Bn as LastPriceAnimationMode,d as LineStyle,c as LineType,Li as MismatchDirection,An as PriceLineSource,pn as PriceScaleMode,zn as TickMarkType,On as TrackingModeExitMode,Ve as createChart,De as createChartEx,Be as customSeriesDefaultOptions,Oe as defaultHorzScaleBehavior,En as isBusinessDay,Nn as isUTCTimestamp,Ae as version};\n","/**\r\n * ChartRenderer - Manages the lightweight-charts instance and rendering\r\n */\r\nimport { createChart, IChartApi, ISeriesApi, CrosshairMode, Time } from 'lightweight-charts';\r\nimport { CandleData, TimeFrame } from './types';\r\n\r\nexport interface ChartOptions {\r\n ticker?: string;\r\n mint: string;\r\n formatPrice: (value: number) => string;\r\n height?: number;\r\n}\r\n\r\nexport class ChartRenderer {\r\n private chart: IChartApi | null = null;\r\n private series: ISeriesApi<\"Candlestick\"> | null = null;\r\n private container: HTMLDivElement | null = null;\r\n private options: ChartOptions;\r\n private lastCandleTime: number | null = null;\r\n private lastFullUpdate: number = 0;\r\n private readonly FULL_UPDATE_INTERVAL = 300000; // 5 minutes - refresh all data periodically\r\n\r\n constructor(container: HTMLDivElement, options: ChartOptions) {\r\n this.container = container;\r\n this.options = options;\r\n }\r\n\r\n /**\r\n * Initializes the chart\r\n */\r\n initialize(): void {\r\n if (!this.container) {\r\n throw new Error('Chart container is not set');\r\n }\r\n\r\n this.chart = createChart(this.container, {\r\n layout: {\r\n background: { color: '#ffffff' },\r\n textColor: '#333333',\r\n },\r\n grid: {\r\n vertLines: { color: '#f0f0f0' },\r\n horzLines: { color: '#f0f0f0' },\r\n },\r\n crosshair: {\r\n mode: CrosshairMode.Normal,\r\n },\r\n rightPriceScale: {\r\n borderColor: '#cccccc',\r\n },\r\n timeScale: {\r\n borderColor: '#cccccc',\r\n timeVisible: true,\r\n secondsVisible: false,\r\n rightOffset: 12,\r\n barSpacing: 8,\r\n minBarSpacing: 4,\r\n },\r\n height: this.options.height || 384,\r\n localization: {\r\n priceFormatter: this.options.formatPrice,\r\n },\r\n watermark: {\r\n visible: true,\r\n fontSize: 64,\r\n horzAlign: 'center',\r\n vertAlign: 'center',\r\n color: 'rgba(0, 0, 0, 0.03)',\r\n text: this.options.ticker \r\n ? `${this.options.ticker}/SOL` \r\n : `${this.options.mint.substring(0, 4)}...${this.options.mint.substring(this.options.mint.length - 4)}/SOL`,\r\n },\r\n });\r\n\r\n this.series = this.chart.addCandlestickSeries({\r\n upColor: '#26a69a',\r\n downColor: '#ef5350',\r\n borderVisible: true,\r\n borderUpColor: '#26a69a',\r\n borderDownColor: '#ef5350',\r\n wickUpColor: '#26a69a',\r\n wickDownColor: '#ef5350',\r\n });\r\n\r\n // Handle resize\r\n const handleResize = () => {\r\n if (this.container && this.chart) {\r\n this.chart.applyOptions({ width: this.container.clientWidth });\r\n }\r\n };\r\n\r\n window.addEventListener('resize', handleResize);\r\n handleResize();\r\n }\r\n\r\n /**\r\n * Updates chart data\r\n * Uses incremental updates for performance and to prevent rendering issues over time\r\n */\r\n updateData(candles: CandleData[]): void {\r\n if (!this.series) return;\r\n\r\n // Validate candles before displaying\r\n const validCandles = candles.filter(candle => \r\n candle && \r\n candle.open > 0 && \r\n candle.high > 0 && \r\n candle.low > 0 && \r\n candle.close > 0 &&\r\n isFinite(candle.open) &&\r\n isFinite(candle.high) &&\r\n isFinite(candle.low) &&\r\n isFinite(candle.close)\r\n );\r\n\r\n if (validCandles.length === 0) return;\r\n\r\n const now = Date.now();\r\n const needsFullUpdate = \r\n this.lastCandleTime === null || // First update\r\n (now - this.lastFullUpdate) > this.FULL_UPDATE_INTERVAL; // Periodic refresh\r\n\r\n if (needsFullUpdate) {\r\n // Full data replacement - prevents corruption over time\r\n this.series.setData(validCandles.map(c => ({ ...c, time: c.time as Time })));\r\n this.lastFullUpdate = now;\r\n this.lastCandleTime = validCandles[validCandles.length - 1]?.time || null;\r\n \r\n // Scroll to real-time\r\n requestAnimationFrame(() => {\r\n if (this.chart) {\r\n this.chart.timeScale().scrollToRealTime();\r\n }\r\n });\r\n } else {\r\n // Incremental update - only update the last candle (current candle)\r\n const lastCandle = validCandles[validCandles.length - 1];\r\n if (lastCandle) {\r\n const lastCandleTime = lastCandle.time;\r\n \r\n try {\r\n // If it's the same candle, update it incrementally\r\n if (this.lastCandleTime === lastCandleTime) {\r\n this.series.update({\r\n time: lastCandleTime as Time,\r\n open: lastCandle.open,\r\n high: lastCandle.high,\r\n low: lastCandle.low,\r\n close: lastCandle.close\r\n });\r\n } else {\r\n // New candle - add it incrementally\r\n this.series.update({\r\n time: lastCandleTime as Time,\r\n open: lastCandle.open,\r\n high: lastCandle.high,\r\n low: lastCandle.low,\r\n close: lastCandle.close\r\n });\r\n this.lastCandleTime = lastCandleTime;\r\n }\r\n } catch (error) {\r\n // If incremental update fails, fall back to full update\r\n console.warn('⚠️ [ChartRenderer] Incremental update failed, falling back to full update:', error);\r\n this.series.setData(validCandles.map(c => ({ ...c, time: c.time as Time })));\r\n this.lastCandleTime = lastCandleTime;\r\n this.lastFullUpdate = now;\r\n }\r\n \r\n // Scroll to real-time\r\n requestAnimationFrame(() => {\r\n if (this.chart) {\r\n this.chart.timeScale().scrollToRealTime();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Sets the current timeframe (for future use if needed)\r\n */\r\n setTimeframe(timeframe: TimeFrame): void {\r\n // Can be extended to update chart settings based on timeframe\r\n // Force full update when switching timeframes\r\n this.lastCandleTime = null;\r\n this.lastFullUpdate = 0;\r\n }\r\n\r\n /**\r\n * Forces a full data refresh (useful when switching timeframes or after long periods)\r\n */\r\n forceFullUpdate(): void {\r\n this.lastCandleTime = null;\r\n this.lastFullUpdate = 0;\r\n }\r\n\r\n /**\r\n * Resizes the chart\r\n */\r\n resize(): void {\r\n if (this.container && this.chart) {\r\n this.chart.applyOptions({ width: this.container.clientWidth });\r\n }\r\n }\r\n\r\n /**\r\n * Destroys the chart instance\r\n */\r\n destroy(): void {\r\n if (this.chart) {\r\n this.chart.remove();\r\n this.chart = null;\r\n this.series = null;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the chart instance (for advanced operations)\r\n */\r\n getChart(): IChartApi | null {\r\n return this.chart;\r\n }\r\n\r\n /**\r\n * Gets the series instance (for advanced operations)\r\n */\r\n getSeries(): ISeriesApi<\"Candlestick\"> | null {\r\n return this.series;\r\n }\r\n}\r\n\r\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n const msg = error && error.message ? error.message : 'Error';\n\n // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n const errCode = code == null && error ? error.code : code;\n AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n if (error && axiosError.cause == null) {\n Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n }\n\n axiosError.name = (error && error.name) || 'Error';\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n Request, Response\n}))(utils.global);\n\nconst {\n ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst factory = (env) => {\n env = utils.merge.call({\n skipUndefined: true\n }, globalFetchAPI, env);\n\n const {fetch: envFetch, Request, Response} = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n }\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n }\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = config ? config.env : {};\n const {fetch, Request, Response} = env;\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n }\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters, config) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.12.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","/**\r\n * Environment Configuration for Funhi Chart\r\n * \r\n * This file provides configuration for the chart component\r\n * Users can override these values by passing them as props\r\n */\r\n\r\nexport const API_CONFIG = {\r\n // Backend API base URL - users should provide this\r\n BASE_URL: typeof window !== 'undefined' && (window as any).FUNHI_CHART_API_URL \r\n ? (window as any).FUNHI_CHART_API_URL \r\n : process.env.NEXT_PUBLIC_BACKEND_URL || '',\r\n\r\n // API request timeout in milliseconds\r\n TIMEOUT: 10000,\r\n\r\n // Retry configuration\r\n MAX_RETRIES: 3,\r\n RETRY_DELAY: 1000,\r\n} as const;\r\n\r\n","/**\r\n * Candle Storage Service\r\n * Handles saving and retrieving candles from database via API\r\n * Replaces localStorage with database storage for persistent candle data\r\n */\r\n\r\nimport axios from 'axios';\r\nimport { API_CONFIG } from '../config/environment';\r\n\r\nexport interface CandleData {\r\n time: number; // Unix timestamp in seconds\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\nexport interface SaveCandlesRequest {\r\n mint: string;\r\n candles: CandleData[];\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n}\r\n\r\nexport interface GetCandlesRequest {\r\n mint: string;\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n limit?: number; // max number of candles to retrieve, defaults to 200\r\n}\r\n\r\nexport interface SaveCandleRequest {\r\n mint: string;\r\n candle: CandleData;\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n}\r\n\r\nclass CandleStorageService {\r\n private readonly baseURL = `${API_CONFIG.BASE_URL}/api/ohlcv`;\r\n private savingQueue: Map<string, { candles: CandleData[], timeout: ReturnType<typeof setTimeout> }> = new Map();\r\n private readonly BATCH_DELAY = 5000; // 5 seconds - batch candles before saving\r\n private readonly BATCH_SIZE = 50; // Save when we reach this many candles\r\n\r\n /**\r\n * Save multiple candles to database\r\n * Uses batching to reduce API calls\r\n */\r\n async saveCandles(request: SaveCandlesRequest): Promise<boolean> {\r\n try {\r\n const { mint, candles, timeFrame = 60 } = request;\r\n\r\n if (!mint || !candles || candles.length === 0) {\r\n console.warn('⚠️ [CandleStorage] Invalid save request:', request);\r\n return false;\r\n }\r\n\r\n const response = await axios.post(`${this.baseURL}/candles/save`, {\r\n mint,\r\n candles,\r\n timeFrame\r\n });\r\n\r\n if (response.data.success) {\r\n console.log(`💾 [CandleStorage] Saved ${candles.length} candles for ${mint}`);\r\n return true;\r\n }\r\n\r\n return false;\r\n } catch (error) {\r\n console.error('❌ [CandleStorage] Error saving candles:', error);\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Save a single candle to database\r\n * Batches candles to reduce API calls\r\n */\r\n async saveCandle(request: SaveCandleRequest): Promise<boolean> {\r\n try {\r\n const { mint, candle, timeFrame = 60 } = request;\r\n\r\n if (!mint || !candle) {\r\n console.warn('⚠️ [CandleStorage] Invalid save request:', request);\r\n return false;\r\n }\r\n\r\n // Add to batching queue\r\n const queueKey = `${mint}_${timeFrame}`;\r\n const existingQueue = this.savingQueue.get(queueKey);\r\n\r\n if (existingQueue) {\r\n // Clear existing timeout\r\n clearTimeout(existingQueue.timeout);\r\n \r\n // Add candle to queue\r\n existingQueue.candles.push(candle);\r\n\r\n // If we've reached batch size, save immediately\r\n if (existingQueue.candles.length >= this.BATCH_SIZE) {\r\n await this.flushQueue(queueKey, mint, timeFrame);\r\n } else {\r\n // Otherwise, set new timeout\r\n existingQueue.timeout = setTimeout(() => {\r\n this.flushQueue(queueKey, mint, timeFrame);\r\n }, this.BATCH_DELAY);\r\n }\r\n } else {\r\n // Create new queue entry\r\n const timeout = setTimeout(() => {\r\n this.flushQueue(queueKey, mint, timeFrame);\r\n }, this.BATCH_DELAY);\r\n\r\n this.savingQueue.set(queueKey, {\r\n candles: [candle],\r\n timeout\r\n });\r\n }\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('❌ [CandleStorage] Error queuing candle:', error);\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Flush the batching queue and save to database\r\n */\r\n private async flushQueue(queueKey: string, mint: string, timeFrame: number): Promise<void> {\r\n const queue = this.savingQueue.get(queueKey);\r\n \r\n if (!queue || queue.candles.length === 0) {\r\n return;\r\n }\r\n\r\n // Remove from queue\r\n this.savingQueue.delete(queueKey);\r\n\r\n // Save to database\r\n await this.saveCandles({\r\n mint,\r\n candles: queue.candles,\r\n timeFrame\r\n });\r\n }\r\n\r\n /**\r\n * Get candles from database\r\n */\r\n async getCandles(request: GetCandlesRequest): Promise<CandleData[]> {\r\n try {\r\n const { mint, timeFrame = 60, limit = 50000 } = request;\r\n\r\n if (!mint) {\r\n console.warn('⚠️ [CandleStorage] Invalid get request:', request);\r\n return [];\r\n }\r\n\r\n const response = await axios.get(`${this.baseURL}/candles/${mint}`, {\r\n params: {\r\n timeFrame,\r\n limit\r\n },\r\n // Add timeout to prevent hanging requests\r\n timeout: 8000, // 8 seconds\r\n // Validate response status\r\n validateStatus: (status) => status >= 200 && status < 500\r\n });\r\n\r\n if (response.data.success && response.data.data && response.data.data.candles) {\r\n const candleCount = response.data.data.candles.length;\r\n if (candleCount > 0) {\r\n console.log(`✅ [CandleStorage] Retrieved ${candleCount} candles for ${mint}`);\r\n } else {\r\n console.log(`ℹ️ [CandleStorage] No candles found for ${mint} in database`);\r\n }\r\n return response.data.data.candles;\r\n }\r\n\r\n // Handle warning from backend\r\n if (response.data.warning) {\r\n console.warn(`⚠️ [CandleStorage] ${response.data.warning}`);\r\n }\r\n\r\n return [];\r\n } catch (error: any) {\r\n // Log more detailed error information\r\n if (error.code === 'ECONNABORTED') {\r\n console.error('❌ [CandleStorage] Request timeout getting candles for', request.mint);\r\n } else if (error.response) {\r\n console.error('❌ [CandleStorage] Server error getting candles:', error.response.status, error.response.data);\r\n } else if (error.request) {\r\n console.error('❌ [CandleStorage] Network error getting candles - no response received');\r\n } else {\r\n console.error('❌ [CandleStorage] Error getting candles:', error.message);\r\n }\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Flush all pending queues before component unmount\r\n */\r\n async flushAll(): Promise<void> {\r\n const flushPromises: Promise<void>[] = [];\r\n\r\n for (const [queueKey, queue] of this.savingQueue.entries()) {\r\n clearTimeout(queue.timeout);\r\n const [mint, timeFrameStr] = queueKey.split('_');\r\n const timeFrame = parseInt(timeFrameStr);\r\n flushPromises.push(this.flushQueue(queueKey, mint, timeFrame));\r\n }\r\n\r\n await Promise.all(flushPromises);\r\n }\r\n}\r\n\r\n// Export singleton instance\r\nexport const candleStorageService = new CandleStorageService();\r\n\r\n","/**\r\n * CandleStorageAdapter - Handles loading/saving candles (wrapper around existing service)\r\n */\r\nimport { CandleData } from '../core/types';\r\nimport { candleStorageService } from '../services/candleStorage';\r\n\r\nexport class CandleStorageAdapter {\r\n /**\r\n * Loads candles from storage\r\n */\r\n async loadCandles(\r\n mint: string, \r\n timeframeSeconds: number, \r\n limit?: number\r\n ): Promise<CandleData[]> {\r\n try {\r\n const effectiveLimit = limit ?? Number.MAX_SAFE_INTEGER;\r\n \r\n const candles = await candleStorageService.getCandles({\r\n mint,\r\n timeFrame: timeframeSeconds,\r\n limit: effectiveLimit\r\n });\r\n\r\n // Remove duplicates and validate\r\n const uniqueCandles = candles.reduce((acc, candle) => {\r\n const existingIndex = acc.findIndex(c => c.time === candle.time);\r\n if (existingIndex >= 0) {\r\n acc[existingIndex] = candle;\r\n } else {\r\n acc.push(candle);\r\n }\r\n return acc;\r\n }, [] as CandleData[]);\r\n\r\n return uniqueCandles.sort((a, b) => a.time - b.time);\r\n } catch (error: any) {\r\n console.error(`❌ [CandleStorageAdapter] Error loading candles:`, error);\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Saves candles to storage (if needed in future)\r\n */\r\n async saveCandles(\r\n mint: string, \r\n timeframeSeconds: number, \r\n candles: CandleData[]\r\n ): Promise<void> {\r\n try {\r\n await candleStorageService.saveCandles({\r\n mint,\r\n timeFrame: timeframeSeconds,\r\n candles\r\n });\r\n } catch (error: any) {\r\n console.error(`❌ [CandleStorageAdapter] Error saving candles:`, error);\r\n }\r\n }\r\n}\r\n\r\n","/**\r\n * RealTimeUpdateHandler - Handles real-time price updates and WebSocket events\r\n */\r\nimport { TimeframeManager } from '../core/TimeframeManager';\r\nimport { CandleData } from '../core/types';\r\n\r\nexport class RealTimeUpdateHandler {\r\n private timeframeManager: TimeframeManager;\r\n private debounceMs: number = 50;\r\n private lastUpdate: number = 0;\r\n\r\n constructor(timeframeManager: TimeframeManager) {\r\n this.timeframeManager = timeframeManager;\r\n }\r\n\r\n /**\r\n * Handles price update from real-time data\r\n */\r\n handlePriceUpdate(price: number, timestamp: number): void {\r\n // Debounce check\r\n if (!this.debounce(timestamp)) {\r\n return;\r\n }\r\n\r\n // Update all timeframes\r\n this.timeframeManager.updateAll(price, timestamp);\r\n }\r\n\r\n /**\r\n * Handles WebSocket update with pre-calculated candles\r\n */\r\n handleSocketUpdate(data: { mint: string; candles: Record<string, any> }, mint: string): void {\r\n if (data.mint !== mint) return;\r\n\r\n if (data.candles) {\r\n // Update each timeframe from backend data\r\n Object.entries(data.candles).forEach(([timeframeKey, backendCandle]) => {\r\n const timeframeSeconds = this.getTimeframeSeconds(timeframeKey);\r\n if (timeframeSeconds) {\r\n const currentTime = Math.floor(Date.now() / 1000);\r\n const currentBucket = Math.floor(currentTime / timeframeSeconds) * timeframeSeconds;\r\n \r\n // Only update if it's the current bucket\r\n if (backendCandle.time === currentBucket) {\r\n const candleData: CandleData = {\r\n time: backendCandle.time,\r\n open: backendCandle.open,\r\n high: backendCandle.high || backendCandle.open,\r\n low: backendCandle.low || backendCandle.open,\r\n close: backendCandle.close,\r\n volume: backendCandle.volume || 0\r\n };\r\n\r\n this.timeframeManager.updateFromExternal(timeframeSeconds, candleData, currentBucket);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Debounce check\r\n */\r\n private debounce(timestamp: number): boolean {\r\n const now = Date.now();\r\n if (this.lastUpdate && (now - this.lastUpdate) < this.debounceMs) {\r\n return false;\r\n }\r\n this.lastUpdate = now;\r\n return true;\r\n }\r\n\r\n /**\r\n * Converts timeframe key to seconds\r\n */\r\n private getTimeframeSeconds(key: string): number | null {\r\n const map: Record<string, number> = {\r\n '1m': 60,\r\n '5m': 300,\r\n '15m': 900,\r\n '1h': 3600,\r\n '4h': 14400,\r\n '1d': 86400\r\n };\r\n return map[key] || null;\r\n }\r\n}\r\n\r\n","/**\r\n * FunhiChartController - Main orchestrator that coordinates all components\r\n */\r\nimport { ChartRenderer, ChartOptions } from './ChartRenderer';\r\nimport { TimeframeManager } from './TimeframeManager';\r\nimport { CandleStorageAdapter } from '../adapters/CandleStorageAdapter';\r\nimport { RealTimeUpdateHandler } from '../handlers/RealTimeUpdateHandler';\r\nimport { CandleData, TimeFrame } from './types';\r\n\r\nexport interface ControllerConfig {\r\n mint: string;\r\n ticker?: string;\r\n tokenName?: string;\r\n timeframes: TimeFrame[];\r\n container: HTMLDivElement;\r\n formatPrice: (value: number) => string;\r\n}\r\n\r\nexport class FunhiChartController {\r\n private chartRenderer: ChartRenderer;\r\n private timeframeManager: TimeframeManager;\r\n private storageAdapter: CandleStorageAdapter;\r\n private updateHandler: RealTimeUpdateHandler;\r\n private currentTimeframe: TimeFrame;\r\n private config: ControllerConfig;\r\n\r\n constructor(config: ControllerConfig) {\r\n this.config = config;\r\n this.currentTimeframe = config.timeframes[0];\r\n\r\n // Initialize components\r\n this.timeframeManager = new TimeframeManager(config.timeframes);\r\n this.storageAdapter = new CandleStorageAdapter();\r\n this.updateHandler = new RealTimeUpdateHandler(this.timeframeManager);\r\n\r\n // Initialize chart renderer\r\n const chartOptions: ChartOptions = {\r\n mint: config.mint,\r\n ticker: config.ticker,\r\n formatPrice: config.formatPrice\r\n };\r\n this.chartRenderer = new ChartRenderer(config.container, chartOptions);\r\n }\r\n\r\n /**\r\n * Initializes the chart and loads initial data\r\n */\r\n async initialize(): Promise<void> {\r\n // Initialize chart\r\n this.chartRenderer.initialize();\r\n\r\n // Load candles for current timeframe\r\n await this.loadTimeframeData(this.currentTimeframe.seconds);\r\n\r\n // Update chart with loaded data\r\n const candles = this.getCurrentCandles();\r\n if (candles.length > 0) {\r\n this.chartRenderer.updateData(candles);\r\n }\r\n }\r\n\r\n /**\r\n * Loads candles for a specific timeframe\r\n */\r\n async loadTimeframeData(timeframeSeconds: number): Promise<void> {\r\n const candles = await this.storageAdapter.loadCandles(\r\n this.config.mint,\r\n timeframeSeconds\r\n );\r\n\r\n if (candles.length > 0) {\r\n this.timeframeManager.loadCandles(timeframeSeconds, candles);\r\n }\r\n }\r\n\r\n /**\r\n * Updates price for all timeframes\r\n */\r\n updatePrice(price: number): void {\r\n const timestamp = Date.now();\r\n this.updateHandler.handlePriceUpdate(price, timestamp);\r\n\r\n // Update chart for current timeframe\r\n const candles = this.getCurrentCandles();\r\n if (candles.length > 0) {\r\n this.chartRenderer.updateData(candles);\r\n }\r\n }\r\n\r\n /**\r\n * Handles WebSocket update\r\n */\r\n handleSocketUpdate(data: { mint: string; candles: Record<string, any> }): void {\r\n this.updateHandler.handleSocketUpdate(data, this.config.mint);\r\n\r\n // Update chart for current timeframe\r\n const candles = this.getCurrentCandles();\r\n if (candles.length > 0) {\r\n this.chartRenderer.updateData(candles);\r\n }\r\n }\r\n\r\n /**\r\n * Switches to a different timeframe\r\n */\r\n async switchTimeframe(seconds: number): Promise<void> {\r\n const timeframe = this.config.timeframes.find(tf => tf.seconds === seconds);\r\n if (!timeframe) {\r\n console.warn(`⚠️ [FunhiChartController] Timeframe ${seconds}s not found`);\r\n return;\r\n }\r\n\r\n // Force full update when switching timeframes\r\n this.chartRenderer.forceFullUpdate();\r\n\r\n // Check if we need to load data\r\n const candles = this.timeframeManager.getCandles(seconds);\r\n if (candles.length === 0) {\r\n await this.loadTimeframeData(seconds);\r\n }\r\n\r\n // Update current timeframe\r\n this.currentTimeframe = timeframe;\r\n\r\n // Update chart\r\n const updatedCandles = this.getCurrentCandles();\r\n if (updatedCandles.length > 0) {\r\n this.chartRenderer.updateData(updatedCandles);\r\n }\r\n }\r\n\r\n /**\r\n * Gets candles for current timeframe\r\n */\r\n getCurrentCandles(): CandleData[] {\r\n return this.timeframeManager.getCandles(this.currentTimeframe.seconds);\r\n }\r\n\r\n /**\r\n * Gets current timeframe\r\n */\r\n getCurrentTimeframe(): TimeFrame {\r\n return this.currentTimeframe;\r\n }\r\n\r\n /**\r\n * Gets current candle for a specific timeframe\r\n */\r\n getCurrentCandle(seconds: number): CandleData | null {\r\n return this.timeframeManager.getCurrentCandle(seconds);\r\n }\r\n\r\n /**\r\n * Resizes the chart\r\n */\r\n resize(): void {\r\n this.chartRenderer.resize();\r\n }\r\n\r\n /**\r\n * Destroys the controller and cleans up resources\r\n */\r\n destroy(): void {\r\n this.chartRenderer.destroy();\r\n this.timeframeManager.reset();\r\n }\r\n}\r\n\r\n","import { useCallback, useState, useEffect } from 'react';\r\nimport { Socket } from 'socket.io-client';\r\n\r\ninterface OHLCVCandle {\r\n time: number;\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\ninterface OHLCVInitialData {\r\n mint: string;\r\n timeFrame: number;\r\n data: OHLCVCandle[];\r\n timestamp: number;\r\n error?: string;\r\n}\r\n\r\ninterface OHLCVUpdateData {\r\n mint: string;\r\n timeFrame: number;\r\n candle: OHLCVCandle;\r\n timestamp: number;\r\n}\r\n\r\ninterface OHLCVNewCandleData {\r\n mint: string;\r\n timeFrame: number;\r\n candle: OHLCVCandle;\r\n timestamp: number;\r\n}\r\n\r\n/**\r\n * Hook to manage socket connection\r\n * This is a simplified version for the NPM package\r\n * Users should provide their own socket instance via props\r\n */\r\nexport const useSocket = (socketInstance?: Socket | null) => {\r\n const [socket] = useState<Socket | null>(socketInstance || null);\r\n const [isConnected, setIsConnected] = useState(false);\r\n const [isConnecting, setIsConnecting] = useState(false);\r\n\r\n // Track connection state\r\n useEffect(() => {\r\n if (!socket) {\r\n setIsConnected(false);\r\n setIsConnecting(false);\r\n return;\r\n }\r\n\r\n setIsConnecting(true);\r\n\r\n const handleConnect = () => {\r\n console.log('✅ [useSocket] Connected to Socket.IO server');\r\n setIsConnected(true);\r\n setIsConnecting(false);\r\n };\r\n\r\n const handleDisconnect = () => {\r\n console.log('🔌 [useSocket] Disconnected from Socket.IO server');\r\n setIsConnected(false);\r\n setIsConnecting(false);\r\n };\r\n\r\n const handleConnectError = (error: any) => {\r\n console.error('❌ [useSocket] Connection error:', error);\r\n setIsConnecting(false);\r\n };\r\n\r\n // Set initial state\r\n if (socket.connected) {\r\n setIsConnected(true);\r\n setIsConnecting(false);\r\n }\r\n\r\n // Add event listeners\r\n socket.on('connect', handleConnect);\r\n socket.on('disconnect', handleDisconnect);\r\n socket.on('connect_error', handleConnectError);\r\n\r\n return () => {\r\n socket.off('connect', handleConnect);\r\n socket.off('disconnect', handleDisconnect);\r\n socket.off('connect_error', handleConnectError);\r\n };\r\n }, [socket]);\r\n\r\n // Connect function (no-op since connection is managed by provider)\r\n const connect = useCallback(() => {\r\n console.log('🔍 [useSocket] Connect called - connection managed by provider');\r\n }, []);\r\n\r\n // Disconnect function (no-op since connection is managed by provider)\r\n const disconnect = useCallback(() => {\r\n console.log('🔍 [useSocket] Disconnect called - connection managed by provider');\r\n }, []);\r\n\r\n // Subscribe to OHLCV updates\r\n const subscribeToOHLCV = useCallback((\r\n mint: string, \r\n timeFrame: number = 60,\r\n onInitialData?: (data: OHLCVInitialData) => void,\r\n onUpdate?: (data: OHLCVUpdateData) => void,\r\n onNewCandle?: (data: OHLCVNewCandleData) => void\r\n ) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot subscribe');\r\n return false;\r\n }\r\n\r\n try {\r\n // Subscribe to OHLCV updates\r\n socket.emit('ohlcv:subscribe', { mint, timeFrame });\r\n\r\n // Listen for initial data\r\n if (onInitialData) {\r\n socket.on('ohlcv:initial', onInitialData);\r\n }\r\n\r\n // Listen for updates\r\n if (onUpdate) {\r\n socket.on('ohlcv:update', onUpdate);\r\n }\r\n\r\n // Listen for new candles\r\n if (onNewCandle) {\r\n socket.on('ohlcv:newCandle', onNewCandle);\r\n }\r\n\r\n console.log(`📊 [useSocket] Subscribed to OHLCV updates for ${mint} (${timeFrame}s)`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to subscribe to OHLCV:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Unsubscribe from OHLCV updates\r\n const unsubscribeFromOHLCV = useCallback((\r\n mint: string, \r\n timeFrame: number = 60,\r\n onInitialData?: (data: OHLCVInitialData) => void,\r\n onUpdate?: (data: OHLCVUpdateData) => void,\r\n onNewCandle?: (data: OHLCVNewCandleData) => void\r\n ) => {\r\n if (!socket?.connected) return false;\r\n\r\n try {\r\n // Unsubscribe from OHLCV updates\r\n socket.emit('ohlcv:unsubscribe', { mint, timeFrame });\r\n\r\n // Remove listeners\r\n if (onInitialData) {\r\n socket.off('ohlcv:initial', onInitialData);\r\n }\r\n if (onUpdate) {\r\n socket.off('ohlcv:update', onUpdate);\r\n }\r\n if (onNewCandle) {\r\n socket.off('ohlcv:newCandle', onNewCandle);\r\n }\r\n\r\n console.log(`📊 [useSocket] Unsubscribed from OHLCV updates for ${mint} (${timeFrame}s)`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to unsubscribe from OHLCV:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Subscribe to price updates\r\n const subscribeToPrice = useCallback((\r\n mint: string,\r\n onPriceUpdate?: (data: any) => void\r\n ) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot subscribe');\r\n return false;\r\n }\r\n\r\n try {\r\n // Subscribe to price updates\r\n socket.emit('price:subscribe', { mint });\r\n\r\n // Listen for price updates\r\n if (onPriceUpdate) {\r\n socket.on('price:update', onPriceUpdate);\r\n }\r\n\r\n console.log(`💰 [useSocket] Subscribed to price updates for ${mint}`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to subscribe to price:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Unsubscribe from price updates\r\n const unsubscribeFromPrice = useCallback((\r\n mint: string,\r\n onPriceUpdate?: (data: any) => void\r\n ) => {\r\n if (!socket?.connected) return false;\r\n\r\n try {\r\n // Unsubscribe from price updates\r\n socket.emit('price:unsubscribe', { mint });\r\n\r\n // Remove listener\r\n if (onPriceUpdate) {\r\n socket.off('price:update', onPriceUpdate);\r\n }\r\n\r\n console.log(`💰 [useSocket] Unsubscribed from price updates for ${mint}`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to unsubscribe from price:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Test socket connection\r\n const testConnection = useCallback((message: string) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot send test message');\r\n return false;\r\n }\r\n\r\n try {\r\n socket.emit('test-message', {\r\n message,\r\n timestamp: Date.now()\r\n });\r\n\r\n // Listen for test response\r\n socket.once('test-response', (response) => {\r\n console.log('🧪 [useSocket] Test response received:', response);\r\n });\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to send test message:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n return {\r\n socket,\r\n isConnected,\r\n isConnecting,\r\n connect,\r\n disconnect,\r\n subscribeToOHLCV,\r\n unsubscribeFromOHLCV,\r\n subscribeToPrice,\r\n unsubscribeFromPrice,\r\n testConnection,\r\n };\r\n};\r\n\r\n","import { useState, useEffect, useCallback, useMemo } from 'react';\r\n\r\ninterface ComprehensiveAnalytics {\r\n // Performance metrics\r\n performance: {\r\n '24H': { gain: number; percentage: string; isPositive: boolean };\r\n '7D': { gain: number; percentage: string; isPositive: boolean };\r\n '1M': { gain: number; percentage: string; isPositive: boolean };\r\n 'All Time': { gain: number; percentage: string; isPositive: boolean };\r\n };\r\n \r\n // Market data\r\n market: {\r\n marketValue: string;\r\n price: string;\r\n marketCap: string;\r\n circulating: string;\r\n totalSupply: string;\r\n };\r\n \r\n // 24H statistics\r\n '24H': {\r\n high: string;\r\n low: string;\r\n volume: string;\r\n return: string;\r\n };\r\n \r\n // Volume data\r\n volume: {\r\n current: string;\r\n '24h': string;\r\n unit: string;\r\n };\r\n \r\n // Blockchain data\r\n blockchain: {\r\n currentRealSol: string;\r\n realSolReserves: number;\r\n virtualSolReserves: number;\r\n tokenReserves: number;\r\n };\r\n \r\n // Additional data\r\n additional: {\r\n solUsdPrice: string;\r\n timestamp: number;\r\n };\r\n}\r\n\r\ninterface EnhancedTokenAnalytics {\r\n // Real-time analytics from backend\r\n analytics: ComprehensiveAnalytics | null;\r\n \r\n // Current market data\r\n currentPrice: number;\r\n currentMarketCap: number;\r\n currentVolume: number;\r\n \r\n // Performance metrics (formatted for display)\r\n performance24h: { value: string; isPositive: boolean; raw: number };\r\n performance7d: { value: string; isPositive: boolean; raw: number };\r\n performance1m: { value: string; isPositive: boolean; raw: number };\r\n performanceAllTime: { value: string; isPositive: boolean; raw: number };\r\n \r\n // 24H statistics\r\n high24h: number;\r\n low24h: number;\r\n volume24h: number;\r\n return24h: number;\r\n \r\n // Loading and error states\r\n loading: boolean;\r\n error: string | null;\r\n \r\n // Connection status\r\n connected: boolean;\r\n \r\n // Last update timestamp\r\n lastUpdate: number | null;\r\n \r\n // Helper functions\r\n isRealVolume: (volume: number) => boolean;\r\n}\r\n\r\n/**\r\n * Simplified hook for token analytics\r\n * This is a stub version for the NPM package\r\n * Users should provide their own analytics data or implement their own hook\r\n */\r\nexport function useOptimizedTokenAnalytics(\r\n mint: string | undefined,\r\n analyticsData?: any\r\n): EnhancedTokenAnalytics {\r\n const [analytics, setAnalytics] = useState<ComprehensiveAnalytics | null>(null);\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n const [lastUpdate, setLastUpdate] = useState<number | null>(null);\r\n const [connected, setConnected] = useState(false);\r\n\r\n // Update analytics when provided\r\n useEffect(() => {\r\n if (analyticsData) {\r\n setAnalytics(analyticsData);\r\n setLastUpdate(Date.now());\r\n setConnected(true);\r\n setLoading(false);\r\n }\r\n }, [analyticsData]);\r\n\r\n // Calculate derived values from analytics data\r\n const derivedValues = useMemo(() => {\r\n if (!analytics || !analytics.market) {\r\n return {\r\n currentPrice: 0,\r\n currentMarketCap: 0,\r\n currentVolume: 0,\r\n performance24h: { value: '0.00%', isPositive: false, raw: 0 },\r\n performance7d: { value: '0.00%', isPositive: false, raw: 0 },\r\n performance1m: { value: '0.00%', isPositive: false, raw: 0 },\r\n performanceAllTime: { value: '0.00%', isPositive: false, raw: 0 },\r\n high24h: 0,\r\n low24h: 0,\r\n volume24h: 0,\r\n return24h: 0\r\n };\r\n }\r\n\r\n // Extract current values with safe access\r\n const currentPrice = parseFloat(analytics.market?.price || '0') || 0;\r\n const currentMarketCap = parseFloat(analytics.market?.marketCap || '0') || 0;\r\n \r\n // CRITICAL: Only use real volume, filter out fake 0.01 values\r\n let currentVolume = parseFloat(analytics.volume?.current || '0') || 0;\r\n if (currentVolume <= 0.01) {\r\n // Use current real SOL reserves instead of fake volume\r\n currentVolume = parseFloat(analytics.blockchain?.currentRealSol || '0') || 0;\r\n }\r\n\r\n // Extract performance metrics with safe access\r\n const performance24h = {\r\n value: analytics.performance?.['24H']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['24H']?.isPositive || false,\r\n raw: analytics.performance?.['24H']?.gain || 0\r\n };\r\n\r\n const performance7d = {\r\n value: analytics.performance?.['7D']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['7D']?.isPositive || false,\r\n raw: analytics.performance?.['7D']?.gain || 0\r\n };\r\n\r\n const performance1m = {\r\n value: analytics.performance?.['1M']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['1M']?.isPositive || false,\r\n raw: analytics.performance?.['1M']?.gain || 0\r\n };\r\n\r\n const performanceAllTime = {\r\n value: analytics.performance?.['All Time']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['All Time']?.isPositive || false,\r\n raw: analytics.performance?.['All Time']?.gain || 0\r\n };\r\n\r\n // Extract 24H statistics with safe access\r\n const high24h = parseFloat(analytics['24H']?.high || '0') || 0;\r\n const low24h = parseFloat(analytics['24H']?.low || '0') || 0;\r\n \r\n // CRITICAL: Only use real volume, filter out fake 0.01 values\r\n let volume24h = parseFloat(analytics.volume?.['24h'] || '0') || 0;\r\n if (volume24h <= 0.01) {\r\n // Use current real SOL reserves instead of fake volume\r\n volume24h = parseFloat(analytics.blockchain?.currentRealSol || '0') || 0;\r\n }\r\n \r\n const return24h = parseFloat(analytics['24H']?.return || '0') || 0;\r\n\r\n return {\r\n currentPrice,\r\n currentMarketCap,\r\n currentVolume,\r\n performance24h,\r\n performance7d,\r\n performance1m,\r\n performanceAllTime,\r\n high24h,\r\n low24h,\r\n volume24h,\r\n return24h\r\n };\r\n }, [analytics]);\r\n\r\n // Helper function to check if volume is real (not fake 0.01)\r\n const isRealVolume = useCallback((volume: number) => volume > 0.01, []);\r\n\r\n const result = {\r\n // Raw analytics data from backend\r\n analytics,\r\n \r\n // Derived values for easy consumption\r\n ...derivedValues,\r\n \r\n // Helper functions\r\n isRealVolume,\r\n \r\n // State management\r\n loading,\r\n error,\r\n connected,\r\n lastUpdate\r\n };\r\n \r\n return result;\r\n}\r\n\r\n","/**\r\n * Candle Aggregation Utility\r\n * \r\n * Client-side aggregation of 1-minute candles into larger timeframes\r\n * This provides real-time aggregation without waiting for server responses\r\n */\r\n\r\nexport interface CandleData {\r\n time: number;\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\nexport interface TimeFrame {\r\n label: string;\r\n value: string;\r\n seconds: number;\r\n}\r\n\r\nclass CandleAggregation {\r\n private timeframes: Record<string, number> = {\r\n '1m': 60,\r\n '5m': 300,\r\n '15m': 900,\r\n '30m': 1800,\r\n '1h': 3600,\r\n '4h': 14400,\r\n '1d': 86400\r\n };\r\n\r\n /**\r\n * Aggregate 1-minute candles into a larger timeframe\r\n */\r\n aggregateCandles(oneMinuteCandles: CandleData[], targetTimeframe: number): CandleData[] {\r\n try {\r\n // If requesting 1-minute data, return as-is\r\n if (targetTimeframe === 60) {\r\n return oneMinuteCandles;\r\n }\r\n\r\n // Validate input\r\n if (!Array.isArray(oneMinuteCandles) || oneMinuteCandles.length === 0) {\r\n console.warn('⚠️ [CandleAggregation] No candles to aggregate');\r\n return [];\r\n }\r\n\r\n // Sort candles by time ascending\r\n const sortedCandles = [...oneMinuteCandles].sort((a, b) => a.time - b.time);\r\n\r\n // Group candles by target timeframe\r\n const aggregatedCandles: CandleData[] = [];\r\n let currentGroup: CandleData[] = [];\r\n let groupStartTime: number | null = null;\r\n\r\n for (const candle of sortedCandles) {\r\n // Calculate which timeframe bucket this candle belongs to\r\n const bucketTime = Math.floor(candle.time / targetTimeframe) * targetTimeframe;\r\n\r\n if (groupStartTime === null) {\r\n groupStartTime = bucketTime;\r\n }\r\n\r\n if (bucketTime === groupStartTime) {\r\n // Add to current group\r\n currentGroup.push(candle);\r\n } else {\r\n // Process current group and start new one\r\n if (currentGroup.length > 0) {\r\n const aggregated = this.aggregateGroup(currentGroup, groupStartTime);\r\n aggregatedCandles.push(aggregated);\r\n }\r\n\r\n // Start new group\r\n currentGroup = [candle];\r\n groupStartTime = bucketTime;\r\n }\r\n }\r\n\r\n // Process last group\r\n if (currentGroup.length > 0 && groupStartTime !== null) {\r\n const aggregated = this.aggregateGroup(currentGroup, groupStartTime);\r\n aggregatedCandles.push(aggregated);\r\n }\r\n\r\n console.log(`📊 [CandleAggregation] Aggregated ${oneMinuteCandles.length} 1m candles into ${aggregatedCandles.length} ${this.getTimeframeLabel(targetTimeframe)} candles`);\r\n\r\n return aggregatedCandles;\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error aggregating candles:', error);\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Aggregate a group of candles into a single candle\r\n */\r\n private aggregateGroup(candles: CandleData[], time: number): CandleData {\r\n // Sort by time to ensure proper OHLC calculation\r\n const sorted = [...candles].sort((a, b) => a.time - b.time);\r\n\r\n // Calculate OHLC\r\n const open = sorted[0].open;\r\n const close = sorted[sorted.length - 1].close;\r\n const high = Math.max(...sorted.map(c => c.high));\r\n const low = Math.min(...sorted.map(c => c.low));\r\n const volume = sorted.reduce((sum, c) => sum + (c.volume || 0), 0);\r\n\r\n return {\r\n time,\r\n open,\r\n high,\r\n low,\r\n close,\r\n volume\r\n };\r\n }\r\n\r\n /**\r\n * Get human-readable timeframe label\r\n */\r\n getTimeframeLabel(seconds: number): string {\r\n for (const [label, value] of Object.entries(this.timeframes)) {\r\n if (value === seconds) {\r\n return label;\r\n }\r\n }\r\n return `${seconds}s`;\r\n }\r\n\r\n /**\r\n * Get timeframe in seconds from label\r\n */\r\n getTimeframeSeconds(label: string): number {\r\n return this.timeframes[label] || 60;\r\n }\r\n\r\n /**\r\n * Fill gaps in candles with flat candles (same OHLC)\r\n * This ensures continuous chart rendering\r\n */\r\n fillGaps(candles: CandleData[], timeframe: number): CandleData[] {\r\n try {\r\n if (!Array.isArray(candles) || candles.length < 2) {\r\n return candles;\r\n }\r\n\r\n const sorted = [...candles].sort((a, b) => a.time - b.time);\r\n const filled: CandleData[] = [];\r\n\r\n for (let i = 0; i < sorted.length - 1; i++) {\r\n const current = sorted[i];\r\n const next = sorted[i + 1];\r\n\r\n filled.push(current);\r\n\r\n // Check for gap\r\n const expectedNextTime = current.time + timeframe;\r\n let currentTime = expectedNextTime;\r\n\r\n while (currentTime < next.time) {\r\n // Fill gap with flat candle using last known price\r\n filled.push({\r\n time: currentTime,\r\n open: current.close,\r\n high: current.close,\r\n low: current.close,\r\n close: current.close,\r\n volume: 0\r\n });\r\n\r\n currentTime += timeframe;\r\n }\r\n }\r\n\r\n // Add last candle\r\n filled.push(sorted[sorted.length - 1]);\r\n\r\n if (filled.length > sorted.length) {\r\n console.log(`🔧 [CandleAggregation] Filled ${filled.length - sorted.length} gaps in ${this.getTimeframeLabel(timeframe)} candles`);\r\n }\r\n\r\n return filled;\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error filling gaps:', error);\r\n return candles;\r\n }\r\n }\r\n\r\n /**\r\n * Get the current incomplete candle for a timeframe\r\n * This is used for real-time updates\r\n */\r\n getCurrentCandle(oneMinuteCandles: CandleData[], targetTimeframe: number): CandleData | null {\r\n try {\r\n if (!Array.isArray(oneMinuteCandles) || oneMinuteCandles.length === 0) {\r\n return null;\r\n }\r\n\r\n const now = Math.floor(Date.now() / 1000);\r\n const currentBucket = Math.floor(now / targetTimeframe) * targetTimeframe;\r\n\r\n // Get all candles in the current bucket\r\n const currentGroup = oneMinuteCandles.filter(c => {\r\n const bucket = Math.floor(c.time / targetTimeframe) * targetTimeframe;\r\n return bucket === currentBucket;\r\n });\r\n\r\n if (currentGroup.length === 0) {\r\n return null;\r\n }\r\n\r\n return this.aggregateGroup(currentGroup, currentBucket);\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error getting current candle:', error);\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Update real-time candle with new 1-minute candle\r\n * Returns updated array of aggregated candles\r\n */\r\n updateRealtimeCandle(\r\n aggregatedCandles: CandleData[],\r\n newOneMinuteCandle: CandleData,\r\n targetTimeframe: number\r\n ): CandleData[] {\r\n try {\r\n if (!newOneMinuteCandle) {\r\n return aggregatedCandles;\r\n }\r\n\r\n // Calculate which bucket this 1m candle belongs to\r\n const bucketTime = Math.floor(newOneMinuteCandle.time / targetTimeframe) * targetTimeframe;\r\n\r\n // Find if we already have a candle for this bucket\r\n const existingIndex = aggregatedCandles.findIndex(c => c.time === bucketTime);\r\n\r\n if (existingIndex >= 0) {\r\n // Update existing candle\r\n const existing = aggregatedCandles[existingIndex];\r\n const updated: CandleData = {\r\n time: bucketTime,\r\n open: existing.open, // Keep original open\r\n high: Math.max(existing.high, newOneMinuteCandle.high),\r\n low: Math.min(existing.low, newOneMinuteCandle.low),\r\n close: newOneMinuteCandle.close, // Use latest close\r\n volume: existing.volume + (newOneMinuteCandle.volume || 0)\r\n };\r\n\r\n // Replace the candle\r\n const newCandles = [...aggregatedCandles];\r\n newCandles[existingIndex] = updated;\r\n return newCandles;\r\n } else {\r\n // Add new candle\r\n const newCandle: CandleData = {\r\n time: bucketTime,\r\n open: newOneMinuteCandle.open,\r\n high: newOneMinuteCandle.high,\r\n low: newOneMinuteCandle.low,\r\n close: newOneMinuteCandle.close,\r\n volume: newOneMinuteCandle.volume || 0\r\n };\r\n\r\n return [...aggregatedCandles, newCandle].sort((a, b) => a.time - b.time);\r\n }\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error updating realtime candle:', error);\r\n return aggregatedCandles;\r\n }\r\n }\r\n\r\n /**\r\n * Validate candle data structure\r\n */\r\n isValidCandle(candle: any): candle is CandleData {\r\n return (\r\n candle &&\r\n typeof candle.time === 'number' &&\r\n typeof candle.open === 'number' &&\r\n typeof candle.high === 'number' &&\r\n typeof candle.low === 'number' &&\r\n typeof candle.close === 'number' &&\r\n candle.high >= candle.low &&\r\n candle.high >= candle.open &&\r\n candle.high >= candle.close &&\r\n candle.low <= candle.open &&\r\n candle.low <= candle.close\r\n );\r\n }\r\n\r\n /**\r\n * Clean invalid candles from array\r\n */\r\n cleanCandles(candles: CandleData[]): CandleData[] {\r\n if (!Array.isArray(candles)) {\r\n return [];\r\n }\r\n\r\n const cleaned = candles.filter(c => this.isValidCandle(c));\r\n\r\n if (cleaned.length < candles.length) {\r\n console.warn(`⚠️ [CandleAggregation] Removed ${candles.length - cleaned.length} invalid candles`);\r\n }\r\n\r\n return cleaned;\r\n }\r\n\r\n /**\r\n * Get the minimum number of 1-minute candles needed for a timeframe\r\n */\r\n getRequiredOneMinuteCandles(targetTimeframe: number, targetCount: number = 200): number {\r\n const ratio = targetTimeframe / 60; // How many 1m candles per target candle\r\n return Math.ceil(targetCount * ratio);\r\n }\r\n}\r\n\r\n// Singleton instance\r\nexport const candleAggregation = new CandleAggregation();\r\n\r\n","\"use client\";\r\n\r\nimport React, { useEffect, useRef, useState, useCallback, useMemo } from 'react';\r\nimport { FunhiChartController, ControllerConfig, TimeFrame } from '../core';\r\nimport { useSocket } from '../hooks/useSocket';\r\nimport { useOptimizedTokenAnalytics } from '../hooks/useOptimizedTokenAnalytics';\r\n\r\n// Chart Props Interface\r\nexport interface ChartProps {\r\n mint: string;\r\n ticker?: string;\r\n tokenName?: string;\r\n socket?: any;\r\n isConnected?: boolean;\r\n currentMarketCap?: number;\r\n analyticsConnected?: boolean;\r\n analyticsLoading?: boolean;\r\n}\r\n\r\n/**\r\n * FunhiChart - OOP-based implementation using FunhiChartController\r\n * This version eliminates code duplication and uses clean OOP architecture\r\n */\r\nconst FunhiChart: React.FC<ChartProps> = ({\r\n mint,\r\n ticker,\r\n tokenName,\r\n socket: externalSocket,\r\n isConnected: externalIsConnected,\r\n currentMarketCap: externalMarketCap,\r\n analyticsConnected: externalAnalyticsConnected,\r\n analyticsLoading: externalAnalyticsLoading\r\n}) => {\r\n // Refs\r\n const chartContainerRef = useRef<HTMLDivElement>(null);\r\n const controllerRef = useRef<FunhiChartController | null>(null);\r\n\r\n // State\r\n const [loading, setLoading] = useState<boolean>(true);\r\n const [timeframeLoading, setTimeframeLoading] = useState<boolean>(false);\r\n const [loadingTimeframe, setLoadingTimeframe] = useState<string | null>(null);\r\n const [error, setError] = useState<string | null>(null);\r\n const [currentTimeframe, setCurrentTimeframe] = useState<TimeFrame | null>(null);\r\n\r\n // Socket\r\n const internalSocketData = useSocket();\r\n const socket = externalSocket || internalSocketData.socket;\r\n const isConnected = externalIsConnected !== undefined ? externalIsConnected : internalSocketData.isConnected;\r\n\r\n // Analytics\r\n const internalAnalytics = useOptimizedTokenAnalytics(mint);\r\n const realTimeMarketCap = externalMarketCap !== undefined ? externalMarketCap : internalAnalytics.currentMarketCap;\r\n const analyticsConnected = externalAnalyticsConnected !== undefined ? externalAnalyticsConnected : internalAnalytics.connected;\r\n const analyticsLoading = externalAnalyticsLoading !== undefined ? externalAnalyticsLoading : internalAnalytics.loading;\r\n\r\n // Timeframes\r\n const timeFrames: TimeFrame[] = useMemo(() => [\r\n { label: '1m', value: '1m', seconds: 60 },\r\n { label: '5m', value: '5m', seconds: 300 },\r\n { label: '15m', value: '15m', seconds: 900 },\r\n { label: '1h', value: '1h', seconds: 3600 },\r\n { label: '4h', value: '4h', seconds: 14400 },\r\n { label: '1d', value: '1d', seconds: 86400 }\r\n ], []);\r\n\r\n // Format market cap\r\n const formatMarketCap = useCallback((value: number): string => {\r\n if (value >= 1_000_000_000) {\r\n return `$${(value / 1_000_000_000).toFixed(value >= 10_000_000_000 ? 2 : 3)}B`;\r\n } else if (value >= 1_000_000) {\r\n return `$${(value / 1_000_000).toFixed(value >= 10_000_000 ? 2 : 3)}M`;\r\n } else if (value >= 10_000) {\r\n return `$${(value / 1_000).toFixed(value >= 100_000 ? 1 : 2)}K`;\r\n } else if (value >= 1_000) {\r\n return `$${(value / 1_000).toFixed(2)}K`;\r\n } else if (value >= 1) {\r\n return `$${value.toFixed(2)}`;\r\n }\r\n return `$${value.toFixed(4)}`;\r\n }, []);\r\n\r\n // Initialize controller\r\n useEffect(() => {\r\n if (!chartContainerRef.current || !mint) return;\r\n\r\n try {\r\n const config: ControllerConfig = {\r\n mint,\r\n ticker,\r\n tokenName,\r\n timeframes: timeFrames,\r\n container: chartContainerRef.current,\r\n formatPrice: formatMarketCap\r\n };\r\n\r\n const controller = new FunhiChartController(config);\r\n controllerRef.current = controller;\r\n\r\n // Initialize and load data\r\n controller.initialize().then(() => {\r\n setCurrentTimeframe(controller.getCurrentTimeframe());\r\n setLoading(false);\r\n }).catch((err) => {\r\n console.error('❌ [FunhiChart] Initialization error:', err);\r\n setError(err.message || 'Failed to initialize chart');\r\n setLoading(false);\r\n });\r\n\r\n // Cleanup\r\n return () => {\r\n controller.destroy();\r\n controllerRef.current = null;\r\n };\r\n } catch (err: any) {\r\n console.error('❌ [FunhiChart] Controller creation error:', err);\r\n setError(err.message || 'Failed to create chart controller');\r\n setLoading(false);\r\n }\r\n }, [mint, ticker, tokenName, timeFrames, formatMarketCap]);\r\n\r\n // Handle real-time price updates\r\n useEffect(() => {\r\n if (!controllerRef.current || realTimeMarketCap <= 0) return;\r\n\r\n if (!isFinite(realTimeMarketCap) || realTimeMarketCap <= 0) {\r\n console.warn(`⚠️ [FunhiChart] Invalid market cap data: ${realTimeMarketCap}`);\r\n return;\r\n }\r\n\r\n controllerRef.current.updatePrice(realTimeMarketCap);\r\n }, [realTimeMarketCap]);\r\n\r\n // Handle WebSocket updates\r\n useEffect(() => {\r\n if (!socket || !isConnected || !mint || !controllerRef.current) return;\r\n\r\n const handleMultiTimeframeCandles = (data: any) => {\r\n if (data.mint !== mint) return;\r\n controllerRef.current?.handleSocketUpdate(data);\r\n };\r\n\r\n socket.on('multiTimeframeCandleUpdate', handleMultiTimeframeCandles);\r\n\r\n return () => {\r\n socket.off('multiTimeframeCandleUpdate', handleMultiTimeframeCandles);\r\n };\r\n }, [socket, isConnected, mint]);\r\n\r\n // Handle timeframe switching\r\n const handleTimeFrameChange = useCallback(async (timeFrameValue: string) => {\r\n if (!controllerRef.current) return;\r\n\r\n const newTimeFrame = timeFrames.find(tf => tf.value === timeFrameValue);\r\n if (!newTimeFrame || newTimeFrame.value === currentTimeframe?.value) return;\r\n\r\n // Prevent multiple simultaneous switches\r\n if (timeframeLoading) {\r\n console.log(`⚠️ [FunhiChart] Timeframe switch already in progress`);\r\n return;\r\n }\r\n\r\n console.log(`🔄 [FunhiChart] Switching to ${newTimeFrame.label}`);\r\n setTimeframeLoading(true);\r\n setLoadingTimeframe(newTimeFrame.label);\r\n setLoading(true);\r\n\r\n try {\r\n await controllerRef.current.switchTimeframe(newTimeFrame.seconds);\r\n setCurrentTimeframe(newTimeFrame);\r\n setLoading(false);\r\n setTimeframeLoading(false);\r\n setLoadingTimeframe(null);\r\n console.log(`✅ [FunhiChart] Switched to ${newTimeFrame.label}`);\r\n } catch (error) {\r\n console.error(`❌ [FunhiChart] Switch error:`, error);\r\n setLoading(false);\r\n setTimeframeLoading(false);\r\n setLoadingTimeframe(null);\r\n }\r\n }, [timeFrames, currentTimeframe, timeframeLoading]);\r\n\r\n // Handle resize\r\n useEffect(() => {\r\n const handleResize = () => {\r\n controllerRef.current?.resize();\r\n };\r\n\r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, []);\r\n\r\n // Loading timeout\r\n useEffect(() => {\r\n if ((loading || analyticsLoading) && controllerRef.current) {\r\n const candles = controllerRef.current.getCurrentCandles();\r\n if (candles.length === 0) {\r\n const timeout = setTimeout(() => setLoading(false), 10000);\r\n return () => clearTimeout(timeout);\r\n }\r\n }\r\n }, [loading, analyticsLoading]);\r\n\r\n if (error) {\r\n return (\r\n <div className=\"p-4 bg-red-50 border border-red-200 rounded-lg\">\r\n <div className=\"text-red-800 font-medium\">Chart Error</div>\r\n <div className=\"text-red-600 text-sm\">{error}</div>\r\n <button\r\n onClick={() => setError(null)}\r\n className=\"mt-2 px-3 py-1 bg-red-100 text-red-700 rounded text-sm hover:bg-red-200\"\r\n >\r\n Dismiss\r\n </button>\r\n </div>\r\n );\r\n }\r\n\r\n const currentCandles = controllerRef.current?.getCurrentCandles() || [];\r\n const currentMarketCap = realTimeMarketCap || 0;\r\n\r\n return (\r\n <div className=\"w-full\">\r\n {/* Timeframe Selector */}\r\n <div className=\"mb-4 flex flex-wrap gap-2 items-center\">\r\n <div className=\"flex flex-wrap gap-2\">\r\n {timeFrames.map((tf) => {\r\n const isCurrentTimeframe = currentTimeframe?.value === tf.value;\r\n const isCurrentlyLoading = timeframeLoading && loadingTimeframe === tf.label;\r\n const isDisabled = timeframeLoading;\r\n\r\n return (\r\n <button\r\n key={tf.value}\r\n onClick={() => handleTimeFrameChange(tf.value)}\r\n disabled={isDisabled}\r\n className={`\r\n px-3 py-2 rounded-lg text-sm font-medium transition-all duration-200 relative\r\n ${isCurrentTimeframe\r\n ? 'bg-blue-600 text-white'\r\n : isDisabled\r\n ? 'bg-gray-100 text-gray-400 cursor-not-allowed'\r\n : 'bg-gray-100 text-gray-700 hover:bg-gray-200'\r\n }\r\n ${isCurrentlyLoading ? 'animate-pulse' : ''}\r\n `}\r\n >\r\n {isCurrentlyLoading && (\r\n <div className=\"absolute inset-0 flex items-center justify-center\">\r\n <div className=\"flex space-x-1\">\r\n <div className=\"w-1 h-1 bg-white rounded-full animate-pulse\"></div>\r\n <div className=\"w-1 h-1 bg-white rounded-full animate-pulse\" style={{animationDelay: '0.1s'}}></div>\r\n <div className=\"w-1 h-1 bg-white rounded-full animate-pulse\" style={{animationDelay: '0.2s'}}></div>\r\n </div>\r\n </div>\r\n )}\r\n <span className={isCurrentlyLoading ? 'opacity-0' : 'opacity-100'}>\r\n {tf.label}\r\n </span>\r\n </button>\r\n );\r\n })}\r\n </div>\r\n\r\n {/* Status */}\r\n <div className=\"ml-auto flex items-center gap-2 text-sm\">\r\n <div className={`w-2 h-2 rounded-full ${analyticsConnected ? 'bg-green-500' : 'bg-red-500'}`}></div>\r\n <span className={analyticsConnected ? 'text-green-600' : 'text-red-600'}>\r\n {analyticsConnected ? 'Connected' : 'Disconnected'}\r\n </span>\r\n {timeframeLoading && loadingTimeframe && (\r\n <span className=\"text-blue-600\">• Switching to {loadingTimeframe}...</span>\r\n )}\r\n {!timeframeLoading && loading && !analyticsLoading && (\r\n <span className=\"text-blue-600\">• Loading candles...</span>\r\n )}\r\n {analyticsLoading && (\r\n <span className=\"text-blue-600\">• Connecting to analytics...</span>\r\n )}\r\n {!timeframeLoading && !loading && !analyticsLoading && currentCandles.length > 0 && (\r\n <span className=\"text-green-600\">\r\n • {currentCandles.length} {currentTimeframe?.label} candles • {formatMarketCap(currentMarketCap)}\r\n </span>\r\n )}\r\n </div>\r\n </div>\r\n\r\n {/* Chart Container */}\r\n <div\r\n ref={chartContainerRef}\r\n className={`relative w-full h-96 transition-all duration-300 ${\r\n timeframeLoading\r\n ? 'opacity-75 scale-[0.98]'\r\n : 'opacity-100 scale-100'\r\n }`}\r\n >\r\n {/* Loading Overlay */}\r\n {(timeframeLoading || (loading && !analyticsLoading)) && (\r\n <div className=\"absolute inset-0 bg-gradient-to-br from-white via-blue-50 to-white bg-opacity-90 flex items-center justify-center rounded-lg z-10 backdrop-blur-sm\">\r\n <div className=\"text-center\">\r\n <div className=\"flex justify-center items-center mb-4\">\r\n <div className=\"relative\">\r\n <div className=\"w-12 h-12 border-4 border-blue-200 rounded-full\"></div>\r\n <div className=\"absolute top-0 left-0 w-12 h-12 border-4 border-blue-600 rounded-full border-t-transparent animate-spin\"></div>\r\n </div>\r\n </div>\r\n <div className=\"text-gray-700 font-medium text-lg\">\r\n {timeframeLoading && loadingTimeframe\r\n ? `Switching to ${loadingTimeframe} timeframe...`\r\n : 'Loading real-time data...'\r\n }\r\n </div>\r\n <div className=\"mt-3 flex justify-center space-x-1\">\r\n <div className=\"w-2 h-2 bg-blue-600 rounded-full animate-bounce\"></div>\r\n <div className=\"w-2 h-2 bg-blue-600 rounded-full animate-bounce\" style={{animationDelay: '0.1s'}}></div>\r\n <div className=\"w-2 h-2 bg-blue-600 rounded-full animate-bounce\" style={{animationDelay: '0.2s'}}></div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* No Data State */}\r\n {!timeframeLoading && !loading && !analyticsLoading && currentCandles.length === 0 && (\r\n <div className=\"absolute inset-0 bg-white bg-opacity-75 flex items-center justify-center rounded-lg z-10\">\r\n <div className=\"text-center\">\r\n <div className=\"text-gray-600 mb-2\">No {currentTimeframe?.label} market data available</div>\r\n <div className=\"text-sm text-gray-500\">Waiting for real-time data...</div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default FunhiChart;\r\n\r\n"],"names":["CandleValidator","validate","candle","time","open","high","low","close","isFinite","Math","max","min","ensureMinimumBodySize","minBodySize","effectiveMinBodySize","this","MIN_BODY_PERCENTAGE","MIN_BODY_ABSOLUTE","priceDiff","abs","direction","enforcedClose","validateOHLC","isCurrentBucket","timeframeSeconds","timestamp","currentTime","floor","currentBucket","validatePrice","price","calculateMinBodySize","CandleManager","constructor","candles","currentCandle","lastCandleTime","lastProcessedTimestamp","debounceMs","createOrUpdate","now","Date","console","warn","bucketStart","calculateBucketStart","createNewCandle","updateCurrentCandle","previousCandleClose","getPreviousCandleClose","previousCandleDirection","getPreviousCandleDirection","isValidCandle","finalizedCandle","addCandleToHistory","openPrice","toFixed","newCandle","buildNewCandle","log","isNewCandle","wasUpdated","recreatedCandle","volume","updateCandleInHistory","updatedCandle","updateCandlePrice","validatedCandle","currentBodySize","closePrice","currentPriceDirection","newPriceDirection","currentPrice","previousDirection","length","sortedCandles","sort","a","b","lastCandle","find","c","existingIndex","findIndex","push","getCandles","getCurrentCandle","getLastCandleTime","loadCandles","validatedCandles","map","forEach","validated","isCurrentCandleStale","lastLoadedCandle","reduce","newest","lastLoadedTime","staleCandleTime","currentIndex","updateFromExternal","finalCandle","reset","TimeframeManager","timeframes","managers","Map","tf","set","seconds","getManager","get","updateAll","manager","getTimeframes","size","_a","width","height","Error","equalSizes","first","second","Observable","win","_this","_resolutionListener","_onResolutionChanged","_resolutionMediaQueryList","_observers","_window","_installResolutionListener","prototype","dispose","_uninstallResolutionListener","Object","defineProperty","devicePixelRatio","enumerable","configurable","subscribe","next","observer","unsubscribe","filter","o","dppx","matchMedia","concat","addListener","removeListener","_reinstallResolutionListener","DevicePixelContentBoxBinding","canvasElement","transformBitmapSize","options","_canvasElement","_bitmapSizeChangedListeners","_suggestedBitmapSize","_suggestedBitmapSizeChangedListeners","_devicePixelRatioObservable","_canvasElementResizeObserver","_canvasElementClientSize","clientWidth","clientHeight","_transformBitmapSize","_allowResizeObserver","allowResizeObserver","_chooseAndInitObserver","_b","disconnect","resizeCanvasElement","clientSize","style","_invalidateBitmapSize","subscribeBitmapSizeChanged","listener","unsubscribeBitmapSizeChanged","l","subscribeSuggestedBitmapSizeChanged","unsubscribeSuggestedBitmapSizeChanged","applySuggestedBitmapSize","oldSuggestedSize","_resizeBitmap","_emitSuggestedBitmapSizeChanged","newSize","oldSize","bitmapSize","_emitBitmapSizeChanged","call","_suggestNewBitmapSize","finalNewSize","newSuggestedSize","Promise","resolve","ro","ResizeObserver","entries","every","entry","observe","document","body","box","catch","then","isSupported","_initResizeObserver","_initDevicePixelRatioObservable","canvasElementWindow","createDevicePixelRatioObservable","ratio","value","canvasRects","getClientRects","undefined","canvasRect","round","left","top","predictedBitmapSize","target","devicePixelContentBoxSize","entrySize","inlineSize","blockSize","ownerDocument","defaultView","CanvasRenderingTarget2D","context","mediaSize","TypeError","_mediaSize","_bitmapSize","_context","useMediaCoordinateSpace","f","save","setTransform","scale","_horizontalPixelRatio","_verticalPixelRatio","restore","useBitmapCoordinateSpace","horizontalPixelRatio","verticalPixelRatio","tryCreateCanvasRenderingTarget2D","binding","contextOptions","canvasElementClientSize","getContext","e","upColor","downColor","wickVisible","borderVisible","borderColor","borderUpColor","borderDownColor","wickColor","wickUpColor","wickDownColor","r","openVisible","thinBars","h","color","lineStyle","lineWidth","lineType","lineVisible","crosshairMarkerVisible","crosshairMarkerRadius","crosshairMarkerBorderColor","crosshairMarkerBorderWidth","crosshairMarkerBackgroundColor","lastPriceAnimation","pointMarkersVisible","topColor","bottomColor","invertFilledArea","lineColor","baseValue","type","topFillColor1","topFillColor2","topLineColor","bottomFillColor1","bottomFillColor2","bottomLineColor","base","_","u","title","visible","lastValueVisible","priceLineVisible","priceLineSource","priceLineWidth","priceLineColor","priceLineStyle","baseLineVisible","baseLineWidth","baseLineColor","baseLineStyle","priceFormat","precision","minMove","d","t","i","n","setLineDash","v","s","beginPath","moveTo","lineTo","stroke","p","m","w","Simple","WithSteps","Curved","Solid","Dotted","Dashed","LargeDashed","SparseDotted","g","khaki","azure","aliceblue","ghostwhite","gold","goldenrod","gainsboro","gray","green","honeydew","floralwhite","lightblue","lightcoral","lemonchiffon","hotpink","lightyellow","greenyellow","lightgoldenrodyellow","limegreen","linen","lightcyan","magenta","maroon","olive","orange","oldlace","mediumblue","transparent","lime","lightpink","mistyrose","moccasin","midnightblue","orchid","mediumorchid","mediumturquoise","orangered","royalblue","powderblue","red","coral","turquoise","white","whitesmoke","wheat","teal","steelblue","bisque","aquamarine","aqua","sienna","silver","springgreen","antiquewhite","burlywood","brown","beige","chocolate","chartreuse","cornflowerblue","cornsilk","crimson","cadetblue","tomato","fuchsia","blue","salmon","blanchedalmond","slateblue","slategray","thistle","tan","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","blueviolet","black","darkmagenta","darkslateblue","darkkhaki","darkorchid","darkorange","darkgreen","darkred","dodgerblue","darkslategray","dimgray","deepskyblue","firebrick","forestgreen","indigo","ivory","lavenderblush","feldspar","indianred","lightgreen","lightgrey","lightskyblue","lightslategray","lightslateblue","snow","lightseagreen","lightsalmon","darksalmon","darkviolet","mediumpurple","mediumaquamarine","skyblue","lavender","lightsteelblue","mediumvioletred","mintcream","navajowhite","navy","olivedrab","palevioletred","violetred","yellow","yellowgreen","lawngreen","pink","paleturquoise","palegoldenrod","darkolivegreen","darkseagreen","darkturquoise","peachpuff","deeppink","violet","palegreen","mediumseagreen","peru","saddlebrown","sandybrown","rosybrown","purple","seagreen","seashell","papayawhip","mediumslateblue","plum","mediumspringgreen","M","x","S","k","y","C","T","toLowerCase","exec","parseInt","parseFloat","P","R","D","splice","V","hasOwnProperty","includes","Array","isArray","O","B","A","I","z","L","E","N","F","W","NaN","j","H","$","U","layout","textColor","q","fontSize","fontFamily","Y","Z","X","K","super","arguments","G","J","tt","to","from","it","nt","st","arc","PI","fill","et","fillStyle","rt","ht","lt","ot","_t","ut","ct","dt","ft","vt","bt","wt","gt","Mt","mode","xt","St","kt","yt","Ct","Tt","Pt","Dt","Rt","Vt","Ot","Bt","At","It","zt","Lt","Et","lineCap","strokeStyle","Nt","Ft","Wt","jt","Ht","$t","crosshair","Ut","qt","horzLine","vertLine","Yt","Zt","fillRect","globalCompositeOperation","roundRect","arcTo","Q","closePath","createLinearGradient","addColorStop","Xt","Kt","font","Gt","Jt","Qt","ti","ii","ni","si","ei","ri","hi","li","ai","oi","_i","ui","ci","di","textAlign","textBaseline","fillText","fi","pi","mi","bi","wi","gi","Mi","ceil","xi","Si","ki","yi","Ci","Ti","Pi","Ri","Di","Vi","Oi","Bi","Ai","ticksVisible","Ii","zi","Li","Ei","labelVisible","Ni","labelBackgroundColor","Fi","Wi","ji","Hi","translate","$i","Ui","qi","Yi","Zi","Xi","Ki","Gi","Ji","Qi","at","Normal","Magnet","Hidden","tn","nn","sn","en","rn","hn","ln","an","_n","un","cn","dn","fn","vn","pn","mn","Number","bn","wn","gn","Mn","xn","Sn","kn","yn","Cn","Tn","Pn","Rn","clear","Dn","Vn","On","Bn","isNaN","In","An","zn","Ln","En","Nn","Fn","Wn","jn","Hn","$n","Un","qn","Yn","Zn","Xn","Kn","Gn","Jn","Qn","ts","ns","ss","es","toString","slice","rs","hs","format","ls","_s","pt","us","cs","pow","replace","String","mt","bezierCurveTo","ds","fs","vs","ps","lineJoin","bs","bind","ws","gs","Ms","xs","Ss","ks","ys","Cs","Ts","Ps","Rs","Ds","Vs","Os","Bs","As","Is","zs","Ls","Es","Ns","Fs","Ws","js","Hs","assign","Us","$s","qs","Ys","Zs","Xs","Ks","Gs","Js","Qs","te","ie","ne","se","ee","re","he","le","pointMarkersRadius","ae","oe","_e","ue","ce","de","fe","ve","pe","me","be","we","ge","Me","xe","Se","ke","ye","Ce","Te","Pe","Re","De","Ve","Oe","atan","Be","Ae","Ie","ze","Le","Ee","Ne","Fe","draw","renderer","We","priceValueBuilder","je","isWhitespace","He","$e","update","bars","barSpacing","visibleRange","originalData","barColor","Ue","qe","Ye","Ze","Xe","Ke","Ge","Je","Qe","tr","ir","nr","sr","actualBoundingBoxAscent","actualBoundingBoxDescent","has","er","delete","measureText","rr","hr","lr","ar","_r","ur","cr","dr","vr","pr","mr","br","wr","gr","Mr","Sr","kr","yr","Cr","Tr","Pr","Rr","Dr","Vr","Or","Br","Ar","Ir","zr","Lr","Er","Nr","Fr","performance","Wr","jr","Hr","$r","Ur","qr","Yr","Zr","Xr","Kr","Gr","vi","Jr","Qr","th","ih","nh","sqrt","position","sh","eh","rh","hh","ah","oh","_h","uh","dh","fh","above","aboveBar","inBar","below","belowBar","shape","id","text","ph","mh","bh","seriesLastValueMode","wh","gh","Mh","xh","Sh","trim","kh","yh","Ch","Th","Ph","Rh","Dh","Vh","Oh","Bh","minValue","maxValue","Ah","Ih","zh","Lh","Eh","priceRange","margins","Nh","Fh","axisLabelVisible","Wh","axisLabelColor","axisLabelTextColor","jh","Hh","$h","Uh","qh","Yh","Zh","Bar","Candlestick","Xh","Custom","Area","Baseline","Line","Histogram","Kh","Gh","Jh","Qh","NearestLeft","None","NearestRight","tl","il","nl","sl","el","rl","hl","ll","al","ol","_l","ul","cl","dl","fl","vl","pl","ml","bl","wl","gl","drawBackground","Ml","xl","Sl","zOrder","coordinate","fixedCoordinate","backColor","tickVisible","kl","yl","Cl","Tl","Pl","Rl","Dl","Vl","Ol","updateAllViews","paneViews","timeAxisViews","priceAxisViews","Bl","priceAxisPaneViews","Al","timeAxisPaneViews","Il","autoscaleInfo","hitTest","zl","Ll","El","Nl","Fl","Wl","jl","Hl","$l","Ul","ql","clearTimeout","Yl","Zl","priceScaleId","Xl","Kl","Gl","Jl","Ql","ta","ia","na","sa","ea","ra","indexOf","ha","la","aa","setTimeout","oa","unshift","ua","ca","da","fa","va","autoscaleInfoProvider","pa","ma","ba","wa","ga","Ma","xa","Sa","ka","ya","Ca","Ta","Pa","formatter","Ra","Da","Va","originalTime","Oa","Ba","Aa","Ia","za","La","Ea","Na","Fa","Wa","ja","grid","horzLines","vertLines","Ha","coord","$a","Ua","log10","on","qa","Ya","Za","Xa","Ka","Ga","Ja","Qa","io","entireTextOnly","no","so","eo","Logarithmic","Percentage","IndexedTo100","ho","lo","ao","oo","_o","uo","co","do","fo","vo","po","mo","bo","wo","Mo","xo","So","ko","yo","Co","To","Po","Ro","scaleMargins","bottom","Do","Vo","autoScale","Oo","Bo","invertScale","Ao","Io","zo","Lo","Eo","No","Fo","Wo","jo","Ho","$o","Uo","qo","Yo","Zo","Xo","Ko","Go","Jo","Qo","t_","i_","n_","s_","e_","r_","h_","l_","a_","priceFormatter","percentageFormatter","o_","__","u_","c_","d_","f_","v_","leftPriceScale","p_","rightPriceScale","m_","b_","localization","overlayPriceScales","values","w_","g_","M_","x_","S_","k_","C_","y_","T_","P_","R_","D_","V_","O_","B_","A_","I_","z_","L_","E_","N_","F_","W_","j_","H_","U_","q_","Y_","cacheKey","Z_","X_","K_","G_","J_","Q_","tu","iu","nu","timeWeight","index","weight","su","eu","ru","keys","hu","lu","au","ou","_u","uu","cu","du","fu","vu","pu","mu","bu","wu","gu","Mu","xu","rightOffset","Su","ku","uniformDistribution","yu","Cu","fixLeftEdge","Tu","fixRightEdge","Pu","minBarSpacing","key","Ru","Du","Vu","Ou","Bu","Au","Iu","lockVisibleTimeRangeOnResize","zu","Lu","Eu","Nu","Fu","Wu","ju","Hu","tickMarkMaxCharacterLength","$u","label","Uu","needAlignCoordinate","qu","Yu","Zu","rightBarStaysOnScroll","Xu","Ku","Gu","Ju","RangeError","Qu","tc","nc","sc","ec","rc","hc","lc","timeFormatter","formatHorzItem","handleScroll","handleScale","horzTouchDrag","mouseWheel","pressedMouseMove","vertTouchDrag","axisDoubleClickReset","axisPressedMouseMove","pinch","ac","oc","_c","uc","cc","dc","fc","formatTickmark","updateFormatter","vc","mc","bc","wc","gc","Mc","xc","Sc","kc","horzAlign","vertAlign","fontStyle","OnTouchEnd","OnNextTap","yc","Cc","Tc","Pc","Rc","Dc","Vc","Oc","timeScale","Bc","Ac","watermark","Ic","zc","Lc","Ec","Nc","Fc","Wc","jc","Hc","$c","Uc","qc","Yc","Zc","Xc","Kc","Gc","Jc","Qc","td","nd","sd","ed","rd","hd","ld","ad","od","_d","allowShiftVisibleRangeOnWhitespaceReplacement","shiftVisibleRangeOnNewBar","ud","dd","fd","vd","pd","md","bd","wd","background","Disabled","Continuous","OnDataUpdate","LastBar","LastVisible","VerticalGradient","Year","Month","DayOfMonth","Time","TimeWithSeconds","getUTCFullYear","gd","Md","getUTCMonth","toLocaleString","month","getUTCDate","xd","getUTCHours","getUTCMinutes","getUTCSeconds","Sd","kd","yd","Cd","Td","Pd","Rd","Dd","Vd","getTime","UTC","year","day","Od","Bd","is","setOptions","preprocessData","createConverterToInternalObj","convertHorzItemToInternal","dateFormat","timeVisible","Ad","secondsVisible","locale","tickMarkFormatter","hour12","hour","minute","getUTCMilliseconds","maxTickMarkWeight","fillWeightsForPoints","Id","window","navigator","userAgent","test","platform","zd","sign","as","Ld","Ed","Nd","Fd","Wd","jd","Hd","$d","Ud","qd","Yd","Zd","os","Xd","Kd","Gd","Jd","Qd","removeChild","nf","sf","ef","attributionLogo","rf","URL","location","href","hostname","pathname","if","createElement","innerText","innerHTML","toggleAttribute","appendChild","transform","clearRect","hf","lf","af","NEGATIVE_INFINITY","POSITIVE_INFINITY","_f","uf","cf","df","ff","vf","pf","mf","bf","wf","gf","Mf","xf","Sf","kf","yf","Cf","Tf","Pf","Rf","Df","Vf","Of","Bf","Af","If","zf","Lf","Ef","Nf","Ff","Wf","Hf","jf","$f","Uf","qf","Yf","Zf","Xf","Kf","Gf","Jf","removeEventListener","addEventListener","Qf","tv","iv","changedTouches","nv","sv","ev","rv","hv","lv","button","av","ov","touches","_v","uv","documentElement","cv","dv","fv","identifier","passive","vv","pv","mv","bv","wv","composed","contains","composedPath","gv","chrome","preventDefault","Mv","xv","Sv","kv","yv","ms","Cv","Tv","getBoundingClientRect","clientX","clientY","Pv","Rv","sourceCapabilities","firesTouchEvents","pageX","pageY","screenX","screenY","localX","localY","ctrlKey","altKey","shiftKey","metaKey","Dv","startsWith","Vv","Ov","Bv","view","Av","cancelable","timeStamp","Iv","zv","externalId","Lv","cursorStyle","Ev","Nv","Fv","Wv","jv","Hv","$v","Uv","qv","Yv","Zv","Xv","Kv","overflow","Gv","zIndex","Jv","Qv","tp","ip","np","sp","ep","rp","hp","lp","ap","op","_p","up","cp","dp","fp","vp","pp","mp","bp","wp","gp","Mp","xp","Sp","drawImage","kp","rect","alignLabels","yp","cursor","Cp","Tp","Pp","Rp","Dp","Vp","Op","Bp","Ap","Ip","zp","Lp","Ep","Np","Fp","Wp","padding","jp","Hp","$p","Up","qp","Yp","Zp","Xp","Kp","Gp","Jp","Qp","tm","im","nm","sm","rm","hm","lm","am","trackingMode","exitMode","om","isBackground","_m","um","dm","fm","vm","pm","bm","wm","gm","Mm","xm","Sm","km","activeElement","blur","getSelection","removeAllRanges","kineticScroll","ym","Cm","touch","mouse","Tm","Pm","Rm","Dm","Vm","Om","Bm","Am","Im","zm","Lm","Em","Nm","Fm","Wm","jm","Hm","$m","Um","qm","Ym","allowBoldLabels","Zm","userAgentData","brands","some","brand","Xm","Km","Gm","Jm","Qm","tb","ib","nb","classList","add","userSelect","webkitUserSelect","msUserSelect","MozUserSelect","webkitTapHighlightColor","sb","setAttribute","eb","rb","hb","lb","ab","autoSize","ob","ub","cb","fb","cancelAnimationFrame","parentElement","pb","mb","bb","wb","gb","Mb","xb","Sb","kb","yb","setProperty","removeProperty","Cb","Tb","Pb","minimumWidth","minimumHeight","Rb","deltaMode","DOM_DELTA_PAGE","DOM_DELTA_LINE","deltaX","deltaY","Db","Vb","Ob","requestAnimationFrame","pop","Bb","Ab","insertBefore","Ib","zb","Lb","Eb","Nb","Fb","Wb","display","contentRect","Boolean","getOwnPropertySymbols","propertyIsEnumerable","customValues","jb","Hb","$b","Ub","qb","Yb","Zb","Xb","Kb","pointData","Gb","Jb","Qb","tw","iw","nw","sw","ew","rw","hw","lw","language","aw","ow","applyOptions","_w","uw","cw","dw","fw","priceToCoordinate","coordinateToPrice","barsInLogicalRange","barsBefore","barsAfter","setData","pw","mw","bw","dataByIndex","seriesType","data","subscribeDataChanged","unsubscribeDataChanged","setMarkers","markers","priceScale","createPriceLine","removePriceLine","attachPrimitive","attached","chart","series","requestUpdate","detachPrimitive","detached","ww","gw","Mw","xw","scrollPosition","scrollToPosition","scrollToRealTime","getVisibleRange","setVisibleRange","getVisibleLogicalRange","setVisibleLogicalRange","resetTimeScale","fitContent","logicalToCoordinate","coordinateToLogical","timeToCoordinate","coordinateToTime","subscribeVisibleTimeRangeChange","unsubscribeVisibleTimeRangeChange","subscribeVisibleLogicalRangeChange","unsubscribeVisibleLogicalRangeChange","subscribeSizeChange","unsubscribeSizeChange","Sw","kw","yw","Cw","Tw","Pw","Rw","Dw","remove","resize","autoSizeActive","addCustomSeries","defaultOptions","Vw","addAreaSeries","addBaselineSeries","addBarSeries","addCandlestickSeries","addHistogramSeries","addLineSeries","removeSeries","Ow","subscribeClick","unsubscribeClick","subscribeCrosshairMove","unsubscribeCrosshairMove","subscribeDblClick","unsubscribeDblClick","takeScreenshot","chartElement","paneSize","setCrosshairPosition","clearCrosshairPosition","Bw","logical","point","hoveredSeries","hoveredObjectId","seriesData","sourceEvent","getElementById","ChartRenderer","container","lastFullUpdate","FULL_UPDATE_INTERVAL","initialize","createChart","CrosshairMode","formatPrice","ticker","mint","substring","handleResize","updateData","validCandles","error","setTimeframe","timeframe","forceFullUpdate","destroy","getChart","getSeries","thisArg","apply","getPrototypeOf","iterator","toStringTag","Symbol","kindOf","cache","create","thing","str","kindOfTest","typeOfTest","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isString","isNumber","isObject","isPlainObject","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","obj","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","globalThis","self","global","isContextDefined","isTypedArray","TypedArray","Uint8Array","isHTMLForm","prop","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","isAsyncFn","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","token","random","callbacks","source","shift","asap","queueMicrotask","process","nextTick","utils$1","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isEmptyObject","isStream","pipe","merge","caseless","skipUndefined","assignValue","targetKey","extend","stripBOM","content","charCodeAt","inherits","superConstructor","props","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","lastIndex","toArray","arr","forEachEntry","_iterator","done","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","writable","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","p1","p2","toUpperCase","noop","toFiniteNumber","defaultValue","isSpecCompliantForm","toJSONObject","stack","visit","reducedValue","isThenable","isIterable","AxiosError","message","code","config","request","response","captureStackTrace","status","utils","toJSON","description","number","fileName","lineNumber","columnNumber","customProps","axiosError","msg","errCode","cause","isVisitable","removeBrackets","renderKey","path","dots","join","predicates","toFormData","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","exposedHelpers","build","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","buildURL","url","_encode","serialize","serializeFn","serializedParams","hashmarkIndex","encoder","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","platform$1","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","parseReviver","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders$1","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","parseHeaders","dest","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","normalized","char","formatHeader","targets","asStrings","getSetCookie","computed","accessor","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","transformData","fns","AxiosHeaders","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","reject","ERR_BAD_REQUEST","mapped","headerValue","progressEventReducer","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","speedometer","lastArgs","timer","threshold","invoke","args","throttle","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","progressEventDecorator","throttled","asyncDecorator","isURLSameOrigin","isMSIE","protocol","host","port","cookies","write","expires","domain","secure","cookie","toGMTString","read","RegExp","decodeURIComponent","buildFullPath","baseURL","requestedURL","allowAbsoluteUrls","isRelativeUrl","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","resolveConfig","newConfig","auth","btoa","username","password","unescape","getHeaders","formHeaders","allowedHeaders","xsrfValue","xhrAdapter","XMLHttpRequest","_config","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","signal","onloadend","responseHeaders","getAllResponseHeaders","err","responseText","statusText","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","cancel","abort","aborted","parseProtocol","send","composeSignals","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","readStream","async","stream","asyncIterator","reader","getReader","trackStream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","loadedBytes","enqueue","return","highWaterMark","globalFetchAPI","Request","Response","TextEncoder","factory","fetch","envFetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","resolvers","res","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","_request","getBodyLength","fetchOptions","_fetch","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","flush","isCredentialsSupported","resolvedOptions","credentials","isStreamResponse","responseContentLength","responseData","seedCache","getFetch","seeds","seed","knownAdapters","http","xhr","fetchAdapter.getFetch","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","spelling","correctSpelling","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios$1","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","Axios","generateHTTPMethod","isForm","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","instance","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","API_CONFIG","BASE_URL","FUNHI_CHART_API_URL","NEXT_PUBLIC_BACKEND_URL","TIMEOUT","MAX_RETRIES","RETRY_DELAY","candleStorageService","savingQueue","BATCH_DELAY","BATCH_SIZE","saveCandles","timeFrame","post","success","saveCandle","queueKey","existingQueue","flushQueue","queue","limit","candleCount","warning","flushAll","flushPromises","timeFrameStr","CandleStorageAdapter","effectiveLimit","MAX_SAFE_INTEGER","uniqueCandles","acc","RealTimeUpdateHandler","timeframeManager","lastUpdate","handlePriceUpdate","debounce","handleSocketUpdate","timeframeKey","backendCandle","getTimeframeSeconds","candleData","FunhiChartController","currentTimeframe","storageAdapter","updateHandler","chartOptions","chartRenderer","loadTimeframeData","getCurrentCandles","updatePrice","switchTimeframe","updatedCandles","getCurrentTimeframe","useSocket","socketInstance","socket","useState","isConnected","setIsConnected","isConnecting","setIsConnecting","useEffect","handleConnect","handleDisconnect","handleConnectError","connected","off","connect","useCallback","subscribeToOHLCV","onInitialData","onUpdate","onNewCandle","emit","unsubscribeFromOHLCV","subscribeToPrice","onPriceUpdate","unsubscribeFromPrice","testConnection","once","useOptimizedTokenAnalytics","analyticsData","analytics","setAnalytics","loading","setLoading","setError","setLastUpdate","setConnected","derivedValues","useMemo","market","currentMarketCap","currentVolume","performance24h","isPositive","raw","performance7d","performance1m","performanceAllTime","high24h","low24h","volume24h","return24h","marketCap","current","blockchain","currentRealSol","percentage","gain","isRealVolume","candleAggregation","aggregateCandles","oneMinuteCandles","targetTimeframe","aggregatedCandles","currentGroup","groupStartTime","bucketTime","aggregated","aggregateGroup","getTimeframeLabel","sorted","sum","fillGaps","filled","updateRealtimeCandle","newOneMinuteCandle","existing","updated","newCandles","cleanCandles","cleaned","getRequiredOneMinuteCandles","targetCount","tokenName","externalSocket","externalIsConnected","externalMarketCap","analyticsConnected","externalAnalyticsConnected","analyticsLoading","externalAnalyticsLoading","chartContainerRef","useRef","controllerRef","timeframeLoading","setTimeframeLoading","loadingTimeframe","setLoadingTimeframe","setCurrentTimeframe","internalSocketData","internalAnalytics","realTimeMarketCap","timeFrames","formatMarketCap","handleMultiTimeframeCandles","handleTimeFrameChange","timeFrameValue","newTimeFrame","React","className","onClick","currentCandles","isCurrentTimeframe","isCurrentlyLoading","isDisabled","disabled","animationDelay","ref"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58]}
1
+ {"version":3,"file":"index.js","sources":["../src/validators/CandleValidator.ts","../src/core/CandleManager.ts","../src/core/TimeframeManager.ts","../node_modules/fancy-canvas/size.mjs","../node_modules/fancy-canvas/device-pixel-ratio.mjs","../node_modules/fancy-canvas/canvas-element-bitmap-size.mjs","../node_modules/fancy-canvas/canvas-rendering-target.mjs","../node_modules/lightweight-charts/dist/lightweight-charts.production.mjs","../src/core/ChartRenderer.ts","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/index.js","../src/config/environment.ts","../src/services/candleStorage.ts","../src/adapters/CandleStorageAdapter.ts","../src/handlers/RealTimeUpdateHandler.ts","../src/core/FunhiChartController.ts","../src/hooks/useSocket.ts","../src/hooks/useOptimizedTokenAnalytics.ts","../src/utils/candleAggregation.ts","../src/components/FunhiChart.tsx"],"sourcesContent":["/**\r\n * CandleValidator - Validates and enforces candle data integrity\r\n */\r\nimport { CandleData } from '../core/types';\r\n\r\nexport class CandleValidator {\r\n /**\r\n * Minimum body size as percentage of price (0.01%)\r\n */\r\n private static readonly MIN_BODY_PERCENTAGE = 0.0001;\r\n \r\n /**\r\n * Absolute minimum body size in price units\r\n */\r\n private static readonly MIN_BODY_ABSOLUTE = 0.01;\r\n\r\n /**\r\n * Validates if a candle has valid OHLC data\r\n */\r\n static validate(candle: CandleData): boolean {\r\n return (\r\n candle &&\r\n candle.time > 0 &&\r\n candle.open > 0 &&\r\n candle.high > 0 &&\r\n candle.low > 0 &&\r\n candle.close > 0 &&\r\n isFinite(candle.open) &&\r\n isFinite(candle.high) &&\r\n isFinite(candle.low) &&\r\n isFinite(candle.close) &&\r\n candle.high >= Math.max(candle.open, candle.close) &&\r\n candle.low <= Math.min(candle.open, candle.close)\r\n );\r\n }\r\n\r\n /**\r\n * Ensures candle has minimum body size for visibility\r\n */\r\n static ensureMinimumBodySize(candle: CandleData, minBodySize?: number): CandleData {\r\n const effectiveMinBodySize = minBodySize || \r\n Math.max(candle.open * this.MIN_BODY_PERCENTAGE, this.MIN_BODY_ABSOLUTE);\r\n \r\n const priceDiff = Math.abs(candle.open - candle.close);\r\n const currentBodySize = Math.abs(candle.close - candle.open);\r\n \r\n // If body is already visible, return as-is\r\n if (currentBodySize >= effectiveMinBodySize) {\r\n return candle;\r\n }\r\n\r\n // Determine direction\r\n let direction: number;\r\n if (priceDiff > 0.0001) {\r\n direction = candle.close >= candle.open ? 1 : -1;\r\n } else {\r\n // If no clear direction, default to upward\r\n direction = 1;\r\n }\r\n\r\n // Enforce minimum body size\r\n const enforcedClose = candle.open + (direction * effectiveMinBodySize);\r\n \r\n return {\r\n ...candle,\r\n close: enforcedClose,\r\n high: Math.max(candle.high, enforcedClose),\r\n low: Math.min(candle.low, enforcedClose)\r\n };\r\n }\r\n\r\n /**\r\n * Validates and corrects OHLC data integrity\r\n */\r\n static validateOHLC(candle: CandleData): CandleData {\r\n return {\r\n ...candle,\r\n high: Math.max(candle.open, candle.high, candle.close),\r\n low: Math.min(candle.open, candle.low, candle.close)\r\n };\r\n }\r\n\r\n /**\r\n * Checks if a candle belongs to the current time bucket\r\n */\r\n static isCurrentBucket(\r\n candle: CandleData, \r\n timeframeSeconds: number, \r\n timestamp: number\r\n ): boolean {\r\n const currentTime = Math.floor(timestamp / 1000);\r\n const currentBucket = Math.floor(currentTime / timeframeSeconds) * timeframeSeconds;\r\n return candle.time === currentBucket;\r\n }\r\n\r\n /**\r\n * Validates price data\r\n */\r\n static validatePrice(price: number): boolean {\r\n return price > 0 && isFinite(price);\r\n }\r\n\r\n /**\r\n * Calculates minimum body size for a given price\r\n */\r\n static calculateMinBodySize(price: number): number {\r\n return Math.max(price * this.MIN_BODY_PERCENTAGE, this.MIN_BODY_ABSOLUTE);\r\n }\r\n}\r\n\r\n","/**\n * CandleManager - Manages candle creation, updates, and validation for a single timeframe\n * This class eliminates code duplication by handling all timeframe logic generically\n */\nimport { CandleData, CandleUpdateResult } from './types';\nimport { CandleValidator } from '../validators/CandleValidator';\n\nexport class CandleManager {\n private timeframeSeconds: number;\n private candles: CandleData[] = [];\n private currentCandle: CandleData | null = null;\n private lastCandleTime: number = 0;\n private lastProcessedTimestamp: number = 0;\n private readonly debounceMs: number = 50;\n\n constructor(timeframeSeconds: number) {\n this.timeframeSeconds = timeframeSeconds;\n }\n\n /**\n * Main method: Creates a new candle or updates the current one\n */\n createOrUpdate(price: number, timestamp: number): CandleUpdateResult | null {\n // Debounce check\n const now = Date.now();\n if (this.lastProcessedTimestamp && (now - this.lastProcessedTimestamp) < this.debounceMs) {\n return null;\n }\n this.lastProcessedTimestamp = now;\n\n // Validate price\n if (!CandleValidator.validatePrice(price)) {\n console.warn(`⚠️ [CandleManager-${this.timeframeSeconds}s] Invalid price data: ${price}`);\n return null;\n }\n\n const currentTime = Math.floor(timestamp / 1000);\n const bucketStart = this.calculateBucketStart(currentTime);\n\n // Check if we need to create a new candle\n if (bucketStart !== this.lastCandleTime) {\n return this.createNewCandle(price, timestamp, bucketStart);\n }\n\n // Update existing candle\n if (this.currentCandle) {\n return this.updateCurrentCandle(price, timestamp, bucketStart);\n }\n\n return null;\n }\n\n /**\n * Creates a new candle at bucket boundary\n */\n private createNewCandle(\n price: number, \n timestamp: number, \n bucketStart: number\n ): CandleUpdateResult {\n // Get previous candle's close price\n const previousCandleClose = this.getPreviousCandleClose(bucketStart);\n const previousCandleDirection = this.getPreviousCandleDirection();\n\n // Finalize previous candle if it exists\n if (this.currentCandle && this.isValidCandle(this.currentCandle)) {\n const finalizedCandle = CandleValidator.validateOHLC(this.currentCandle);\n this.addCandleToHistory(finalizedCandle);\n }\n\n // Use previous close as open price, or fallback to current price\n const openPrice = previousCandleClose ?? price;\n \n if (previousCandleClose === null) {\n console.warn(\n `⚠️ [CandleManager-${this.timeframeSeconds}s] No previous candle close found, using current price: $${price.toFixed(2)}`\n );\n }\n\n // Create new candle with minimum body size enforcement\n const newCandle = this.buildNewCandle(\n bucketStart,\n openPrice,\n price,\n previousCandleDirection\n );\n\n // Update state\n this.currentCandle = newCandle;\n this.lastCandleTime = bucketStart;\n this.addCandleToHistory(newCandle);\n\n console.log(\n `🆕 [CandleManager-${this.timeframeSeconds}s] New candle: time=${bucketStart}, open=$${openPrice.toFixed(2)}, close=$${newCandle.close.toFixed(2)}`\n );\n\n return {\n candle: newCandle,\n isNewCandle: true,\n wasUpdated: false\n };\n }\n\n /**\n * Updates the current candle with new price data\n */\n private updateCurrentCandle(\n price: number,\n timestamp: number,\n currentBucket: number\n ): CandleUpdateResult | null {\n // Verify this is actually the current candle\n if (this.currentCandle!.time !== currentBucket) {\n console.warn(\n `⚠️ [CandleManager-${this.timeframeSeconds}s] Skipping update for historical candle (time: ${this.currentCandle!.time}, current: ${currentBucket})`\n );\n return null;\n }\n\n // Validate existing candle\n if (!this.isValidCandle(this.currentCandle!)) {\n console.warn(`⚠️ [CandleManager-${this.timeframeSeconds}s] Invalid existing candle, recreating`);\n const recreatedCandle: CandleData = {\n time: this.currentCandle!.time,\n open: price,\n high: price,\n low: price,\n close: price,\n volume: 0\n };\n this.currentCandle = recreatedCandle;\n this.updateCandleInHistory(recreatedCandle, currentBucket);\n return {\n candle: recreatedCandle,\n isNewCandle: false,\n wasUpdated: true\n };\n }\n\n // Update candle with price preservation logic\n const updatedCandle = this.updateCandlePrice(this.currentCandle!, price);\n \n // Final validation\n const validatedCandle = CandleValidator.validateOHLC(updatedCandle);\n \n // Only update if it's the current bucket\n if (validatedCandle.time !== currentBucket) {\n console.warn(\n `⚠️ [CandleManager-${this.timeframeSeconds}s] Prevented update of historical candle: time=${validatedCandle.time}, currentBucket=${currentBucket}`\n );\n return {\n candle: validatedCandle,\n isNewCandle: false,\n wasUpdated: false\n };\n }\n\n this.currentCandle = validatedCandle;\n this.updateCandleInHistory(validatedCandle, currentBucket);\n\n return {\n candle: validatedCandle,\n isNewCandle: false,\n wasUpdated: true\n };\n }\n\n /**\n * Updates candle price while preserving minimum body size\n */\n private updateCandlePrice(candle: CandleData, price: number): CandleData {\n const minBodySize = CandleValidator.calculateMinBodySize(candle.open);\n const priceDiff = Math.abs(candle.open - price);\n const currentBodySize = Math.abs(candle.close - candle.open);\n \n // Check if candle has minimum body size (within 10x range)\n const hasMinimumBody = currentBodySize > 0 && currentBodySize <= minBodySize * 10.0;\n \n let closePrice = price;\n\n // Preserve minimum body size if candle already has one\n if (hasMinimumBody && candle.open > 0) {\n if (priceDiff < minBodySize * 100) {\n // Preserve minimum body but use current price direction\n const currentPriceDirection = price >= candle.open ? 1 : -1;\n closePrice = candle.open + (currentPriceDirection * minBodySize);\n } else {\n // Price moved significantly - use actual price but ensure minimum\n closePrice = price;\n const finalBodySize = Math.abs(closePrice - candle.open);\n if (finalBodySize < minBodySize) {\n const newPriceDirection = price >= candle.open ? 1 : -1;\n closePrice = candle.open + (newPriceDirection * minBodySize);\n }\n }\n } else if (priceDiff < minBodySize && candle.open > 0) {\n // Candle doesn't have minimum body, but new price would make it invisible\n const newPriceDirection = price >= candle.open ? 1 : -1;\n closePrice = candle.open + (newPriceDirection * minBodySize);\n }\n\n // Final safety check: always ensure minimum body size\n const finalBodySize = Math.abs(closePrice - candle.open);\n if (finalBodySize < minBodySize && candle.open > 0) {\n let direction: number;\n if (price !== candle.open && Math.abs(price - candle.open) > 0.0001) {\n direction = price >= candle.open ? 1 : -1;\n } else if (candle.close !== candle.open && Math.abs(candle.close - candle.open) > 0.0001) {\n direction = candle.close >= candle.open ? 1 : -1;\n } else {\n direction = 1; // Default upward\n }\n closePrice = candle.open + (direction * minBodySize);\n }\n\n return {\n ...candle,\n high: Math.max(candle.high, price, closePrice),\n low: Math.min(candle.low, price, closePrice),\n close: closePrice\n };\n }\n\n /**\n * Builds a new candle with minimum body size enforcement\n */\n private buildNewCandle(\n bucketStart: number,\n openPrice: number,\n currentPrice: number,\n previousDirection: number\n ): CandleData {\n const minBodySize = CandleValidator.calculateMinBodySize(openPrice);\n const priceDiff = Math.abs(openPrice - currentPrice);\n let closePrice = currentPrice;\n\n // Enforce minimum body size for new candles\n if (priceDiff < minBodySize) {\n let newPriceDirection: number;\n if (priceDiff === 0 || Math.abs(currentPrice - openPrice) < 0.0001) {\n newPriceDirection = previousDirection ?? 1;\n } else {\n newPriceDirection = currentPrice >= openPrice ? 1 : -1;\n }\n closePrice = openPrice + (newPriceDirection * minBodySize);\n }\n\n // Additional safety check\n const finalBodySize = Math.abs(closePrice - openPrice);\n if (finalBodySize < minBodySize && openPrice > 0) {\n const direction = (currentPrice >= openPrice) || (previousDirection === 1) ? 1 : -1;\n closePrice = openPrice + (direction * minBodySize);\n }\n\n return {\n time: bucketStart,\n open: openPrice,\n high: Math.max(openPrice, closePrice, currentPrice),\n low: Math.min(openPrice, closePrice, currentPrice),\n close: closePrice,\n volume: 0\n };\n }\n\n /**\n * Gets the previous candle's close price\n */\n private getPreviousCandleClose(bucketStart: number): number | null {\n // Method 1: Get from current candle ref if it's from previous bucket\n if (this.currentCandle && \n this.currentCandle.close > 0 && \n isFinite(this.currentCandle.close) &&\n this.currentCandle.time < bucketStart) {\n return this.currentCandle.close;\n }\n\n // Method 2: Get from candles array\n if (this.candles.length > 0) {\n const sortedCandles = [...this.candles].sort((a, b) => b.time - a.time);\n const lastCandle = sortedCandles.find(\n c => c.time < bucketStart && c.close > 0 && isFinite(c.close)\n );\n if (lastCandle) {\n return lastCandle.close;\n }\n }\n\n // Method 3: Use current candle ref as fallback\n if (this.currentCandle && \n this.currentCandle.close > 0 && \n isFinite(this.currentCandle.close)) {\n return this.currentCandle.close;\n }\n\n return null;\n }\n\n /**\n * Gets the previous candle's direction (1 for bullish, -1 for bearish)\n */\n private getPreviousCandleDirection(): number {\n if (this.currentCandle && this.currentCandle.open > 0) {\n return this.currentCandle.close >= this.currentCandle.open ? 1 : -1;\n }\n return 1; // Default to bullish\n }\n\n /**\n * Calculates bucket start time for a given timestamp\n */\n private calculateBucketStart(timestamp: number): number {\n return Math.floor(timestamp / this.timeframeSeconds) * this.timeframeSeconds;\n }\n\n /**\n * Checks if a candle has valid data\n */\n private isValidCandle(candle: CandleData): boolean {\n return (\n candle.open > 0 &&\n candle.high > 0 &&\n candle.low > 0 &&\n candle.close > 0\n );\n }\n\n /**\n * Adds a candle to history\n */\n private addCandleToHistory(candle: CandleData): void {\n const existingIndex = this.candles.findIndex(c => c.time === candle.time);\n if (existingIndex >= 0) {\n this.candles[existingIndex] = candle;\n } else {\n this.candles.push(candle);\n this.candles.sort((a, b) => a.time - b.time);\n }\n }\n\n /**\n * Updates a candle in history (only if it matches current bucket)\n */\n private updateCandleInHistory(candle: CandleData, currentBucket: number): void {\n if (candle.time !== currentBucket) {\n return;\n }\n\n const existingIndex = this.candles.findIndex(c => c.time === currentBucket);\n if (existingIndex >= 0 && this.candles[existingIndex].time === currentBucket) {\n this.candles[existingIndex] = candle;\n } else if (candle.time === currentBucket) {\n this.candles.push(candle);\n this.candles.sort((a, b) => a.time - b.time);\n }\n }\n\n // Public getters\n getCandles(): CandleData[] {\n return [...this.candles];\n }\n\n getCurrentCandle(): CandleData | null {\n return this.currentCandle;\n }\n\n getLastCandleTime(): number {\n return this.lastCandleTime;\n }\n\n /**\n * Loads candles from storage\n * Merges with existing candles to preserve real-time data\n */\n loadCandles(candles: CandleData[]): void {\n if (candles.length === 0) return;\n\n // Start with existing candles to preserve real-time data\n const existingCandlesMap = new Map<number, CandleData>();\n this.candles.forEach(candle => {\n existingCandlesMap.set(candle.time, candle);\n });\n\n // Validate and merge new candles from database\n candles.forEach(candle => {\n // Ensure minimum body size\n const validatedCandle = CandleValidator.ensureMinimumBodySize(candle);\n const validated = CandleValidator.validateOHLC(validatedCandle);\n \n // Merge: database candles can update existing ones, but we preserve\n // real-time candles that are newer than what's in the database\n const existingCandle = existingCandlesMap.get(validated.time);\n \n if (existingCandle) {\n // If we have an existing candle, prefer the one with more recent data\n // Database candles might be slightly stale, so only update if the existing\n // candle is not the current one (which is being updated in real-time)\n if (this.currentCandle && this.currentCandle.time === validated.time) {\n // Preserve current real-time candle, but update if database has more complete data\n // Only update if the existing candle seems incomplete (e.g., volume is 0 and database has volume)\n if (existingCandle.volume === 0 && validated.volume > 0) {\n existingCandlesMap.set(validated.time, validated);\n }\n // Otherwise keep the real-time candle\n } else {\n // For historical candles, prefer database version (more authoritative)\n existingCandlesMap.set(validated.time, validated);\n }\n } else {\n // New candle from database, add it\n existingCandlesMap.set(validated.time, validated);\n }\n });\n\n // Convert back to array and sort\n this.candles = Array.from(existingCandlesMap.values()).sort((a, b) => a.time - b.time);\n\n // Update current candle and last candle time if needed\n if (this.candles.length > 0) {\n const lastCandle = this.candles[this.candles.length - 1];\n \n // Only update currentCandle if we don't have one, or if the loaded candle is newer\n if (!this.currentCandle || lastCandle.time > this.currentCandle.time) {\n this.currentCandle = lastCandle;\n this.lastCandleTime = lastCandle.time;\n } else if (this.currentCandle.time === lastCandle.time) {\n // Same time bucket, update the current candle reference\n this.currentCandle = lastCandle;\n }\n // If currentCandle is newer (real-time), keep it\n }\n }\n\n /**\n * Directly updates candle from external source (e.g., WebSocket)\n */\n updateFromExternal(candle: CandleData, currentBucket: number): void {\n if (candle.time !== currentBucket) {\n console.warn(\n `⚠️ [CandleManager-${this.timeframeSeconds}s] Skipping external update for historical candle`\n );\n return;\n }\n\n // Ensure minimum body size\n const validatedCandle = CandleValidator.ensureMinimumBodySize(candle);\n const finalCandle = CandleValidator.validateOHLC(validatedCandle);\n\n this.currentCandle = finalCandle;\n this.lastCandleTime = finalCandle.time;\n this.updateCandleInHistory(finalCandle, currentBucket);\n }\n\n /**\n * Resets the manager (useful for cleanup)\n */\n reset(): void {\n this.candles = [];\n this.currentCandle = null;\n this.lastCandleTime = 0;\n this.lastProcessedTimestamp = 0;\n }\n}\n\n","/**\r\n * TimeframeManager - Orchestrates multiple timeframes and coordinates updates\r\n */\r\nimport { CandleManager } from './CandleManager';\r\nimport { CandleData, TimeFrame } from './types';\r\n\r\nexport class TimeframeManager {\r\n private managers: Map<number, CandleManager>;\r\n private timeframes: TimeFrame[];\r\n\r\n constructor(timeframes: TimeFrame[]) {\r\n this.timeframes = timeframes;\r\n this.managers = new Map();\r\n \r\n // Initialize managers for each timeframe\r\n timeframes.forEach(tf => {\r\n this.managers.set(tf.seconds, new CandleManager(tf.seconds));\r\n });\r\n }\r\n\r\n /**\r\n * Gets the manager for a specific timeframe\r\n */\r\n getManager(seconds: number): CandleManager | undefined {\r\n return this.managers.get(seconds);\r\n }\r\n\r\n /**\r\n * Updates all timeframes with new price data\r\n */\r\n updateAll(price: number, timestamp: number): void {\r\n this.managers.forEach(manager => {\r\n manager.createOrUpdate(price, timestamp);\r\n });\r\n }\r\n\r\n /**\r\n * Gets candles for a specific timeframe\r\n */\r\n getCandles(seconds: number): CandleData[] {\r\n const manager = this.managers.get(seconds);\r\n return manager ? manager.getCandles() : [];\r\n }\r\n\r\n /**\r\n * Gets current candle for a specific timeframe\r\n */\r\n getCurrentCandle(seconds: number): CandleData | null {\r\n const manager = this.managers.get(seconds);\r\n return manager ? manager.getCurrentCandle() : null;\r\n }\r\n\r\n /**\r\n * Loads candles for a specific timeframe\r\n */\r\n loadCandles(seconds: number, candles: CandleData[]): void {\r\n const manager = this.managers.get(seconds);\r\n if (manager) {\r\n manager.loadCandles(candles);\r\n }\r\n }\r\n\r\n /**\r\n * Updates candle from external source (e.g., WebSocket)\r\n */\r\n updateFromExternal(seconds: number, candle: CandleData, currentBucket: number): void {\r\n const manager = this.managers.get(seconds);\r\n if (manager) {\r\n manager.updateFromExternal(candle, currentBucket);\r\n }\r\n }\r\n\r\n /**\r\n * Gets all available timeframes\r\n */\r\n getTimeframes(): TimeFrame[] {\r\n return [...this.timeframes];\r\n }\r\n\r\n /**\r\n * Resets all managers\r\n */\r\n reset(): void {\r\n this.managers.forEach(manager => manager.reset());\r\n }\r\n}\r\n\r\n","export function size(_a) {\n var width = _a.width, height = _a.height;\n if (width < 0) {\n throw new Error('Negative width is not allowed for Size');\n }\n if (height < 0) {\n throw new Error('Negative height is not allowed for Size');\n }\n return {\n width: width,\n height: height,\n };\n}\nexport function equalSizes(first, second) {\n return (first.width === second.width) &&\n (first.height === second.height);\n}\n","var Observable = /** @class */ (function () {\n function Observable(win) {\n var _this = this;\n this._resolutionListener = function () { return _this._onResolutionChanged(); };\n this._resolutionMediaQueryList = null;\n this._observers = [];\n this._window = win;\n this._installResolutionListener();\n }\n Observable.prototype.dispose = function () {\n this._uninstallResolutionListener();\n this._window = null;\n };\n Object.defineProperty(Observable.prototype, \"value\", {\n get: function () {\n return this._window.devicePixelRatio;\n },\n enumerable: false,\n configurable: true\n });\n Observable.prototype.subscribe = function (next) {\n var _this = this;\n var observer = { next: next };\n this._observers.push(observer);\n return {\n unsubscribe: function () {\n _this._observers = _this._observers.filter(function (o) { return o !== observer; });\n },\n };\n };\n Observable.prototype._installResolutionListener = function () {\n if (this._resolutionMediaQueryList !== null) {\n throw new Error('Resolution listener is already installed');\n }\n var dppx = this._window.devicePixelRatio;\n this._resolutionMediaQueryList = this._window.matchMedia(\"all and (resolution: \".concat(dppx, \"dppx)\"));\n // IE and some versions of Edge do not support addEventListener/removeEventListener, and we are going to use the deprecated addListener/removeListener\n this._resolutionMediaQueryList.addListener(this._resolutionListener);\n };\n Observable.prototype._uninstallResolutionListener = function () {\n if (this._resolutionMediaQueryList !== null) {\n // IE and some versions of Edge do not support addEventListener/removeEventListener, and we are going to use the deprecated addListener/removeListener\n this._resolutionMediaQueryList.removeListener(this._resolutionListener);\n this._resolutionMediaQueryList = null;\n }\n };\n Observable.prototype._reinstallResolutionListener = function () {\n this._uninstallResolutionListener();\n this._installResolutionListener();\n };\n Observable.prototype._onResolutionChanged = function () {\n var _this = this;\n this._observers.forEach(function (observer) { return observer.next(_this._window.devicePixelRatio); });\n this._reinstallResolutionListener();\n };\n return Observable;\n}());\nexport function createObservable(win) {\n return new Observable(win);\n}\n","import { equalSizes, size } from \"./size.mjs\";\nimport { createObservable as createDevicePixelRatioObservable } from \"./device-pixel-ratio.mjs\";\nvar DevicePixelContentBoxBinding = /** @class */ (function () {\n function DevicePixelContentBoxBinding(canvasElement, transformBitmapSize, options) {\n var _a;\n this._canvasElement = null;\n this._bitmapSizeChangedListeners = [];\n this._suggestedBitmapSize = null;\n this._suggestedBitmapSizeChangedListeners = [];\n // devicePixelRatio approach\n this._devicePixelRatioObservable = null;\n // ResizeObserver approach\n this._canvasElementResizeObserver = null;\n this._canvasElement = canvasElement;\n this._canvasElementClientSize = size({\n width: this._canvasElement.clientWidth,\n height: this._canvasElement.clientHeight,\n });\n this._transformBitmapSize = transformBitmapSize !== null && transformBitmapSize !== void 0 ? transformBitmapSize : (function (size) { return size; });\n this._allowResizeObserver = (_a = options === null || options === void 0 ? void 0 : options.allowResizeObserver) !== null && _a !== void 0 ? _a : true;\n this._chooseAndInitObserver();\n // we MAY leave the constuctor without any bitmap size observation mechanics initialized\n }\n DevicePixelContentBoxBinding.prototype.dispose = function () {\n var _a, _b;\n if (this._canvasElement === null) {\n throw new Error('Object is disposed');\n }\n (_a = this._canvasElementResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n this._canvasElementResizeObserver = null;\n (_b = this._devicePixelRatioObservable) === null || _b === void 0 ? void 0 : _b.dispose();\n this._devicePixelRatioObservable = null;\n this._suggestedBitmapSizeChangedListeners.length = 0;\n this._bitmapSizeChangedListeners.length = 0;\n this._canvasElement = null;\n };\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"canvasElement\", {\n get: function () {\n if (this._canvasElement === null) {\n throw new Error('Object is disposed');\n }\n return this._canvasElement;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"canvasElementClientSize\", {\n get: function () {\n return this._canvasElementClientSize;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"bitmapSize\", {\n get: function () {\n return size({\n width: this.canvasElement.width,\n height: this.canvasElement.height,\n });\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Use this function to change canvas element client size until binding is disposed\n * @param clientSize New client size for bound HTMLCanvasElement\n */\n DevicePixelContentBoxBinding.prototype.resizeCanvasElement = function (clientSize) {\n this._canvasElementClientSize = size(clientSize);\n this.canvasElement.style.width = \"\".concat(this._canvasElementClientSize.width, \"px\");\n this.canvasElement.style.height = \"\".concat(this._canvasElementClientSize.height, \"px\");\n this._invalidateBitmapSize();\n };\n DevicePixelContentBoxBinding.prototype.subscribeBitmapSizeChanged = function (listener) {\n this._bitmapSizeChangedListeners.push(listener);\n };\n DevicePixelContentBoxBinding.prototype.unsubscribeBitmapSizeChanged = function (listener) {\n this._bitmapSizeChangedListeners = this._bitmapSizeChangedListeners.filter(function (l) { return l !== listener; });\n };\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"suggestedBitmapSize\", {\n get: function () {\n return this._suggestedBitmapSize;\n },\n enumerable: false,\n configurable: true\n });\n DevicePixelContentBoxBinding.prototype.subscribeSuggestedBitmapSizeChanged = function (listener) {\n this._suggestedBitmapSizeChangedListeners.push(listener);\n };\n DevicePixelContentBoxBinding.prototype.unsubscribeSuggestedBitmapSizeChanged = function (listener) {\n this._suggestedBitmapSizeChangedListeners = this._suggestedBitmapSizeChangedListeners.filter(function (l) { return l !== listener; });\n };\n DevicePixelContentBoxBinding.prototype.applySuggestedBitmapSize = function () {\n if (this._suggestedBitmapSize === null) {\n // nothing to apply\n return;\n }\n var oldSuggestedSize = this._suggestedBitmapSize;\n this._suggestedBitmapSize = null;\n this._resizeBitmap(oldSuggestedSize);\n this._emitSuggestedBitmapSizeChanged(oldSuggestedSize, this._suggestedBitmapSize);\n };\n DevicePixelContentBoxBinding.prototype._resizeBitmap = function (newSize) {\n var oldSize = this.bitmapSize;\n if (equalSizes(oldSize, newSize)) {\n return;\n }\n this.canvasElement.width = newSize.width;\n this.canvasElement.height = newSize.height;\n this._emitBitmapSizeChanged(oldSize, newSize);\n };\n DevicePixelContentBoxBinding.prototype._emitBitmapSizeChanged = function (oldSize, newSize) {\n var _this = this;\n this._bitmapSizeChangedListeners.forEach(function (listener) { return listener.call(_this, oldSize, newSize); });\n };\n DevicePixelContentBoxBinding.prototype._suggestNewBitmapSize = function (newSize) {\n var oldSuggestedSize = this._suggestedBitmapSize;\n var finalNewSize = size(this._transformBitmapSize(newSize, this._canvasElementClientSize));\n var newSuggestedSize = equalSizes(this.bitmapSize, finalNewSize) ? null : finalNewSize;\n if (oldSuggestedSize === null && newSuggestedSize === null) {\n return;\n }\n if (oldSuggestedSize !== null && newSuggestedSize !== null\n && equalSizes(oldSuggestedSize, newSuggestedSize)) {\n return;\n }\n this._suggestedBitmapSize = newSuggestedSize;\n this._emitSuggestedBitmapSizeChanged(oldSuggestedSize, newSuggestedSize);\n };\n DevicePixelContentBoxBinding.prototype._emitSuggestedBitmapSizeChanged = function (oldSize, newSize) {\n var _this = this;\n this._suggestedBitmapSizeChangedListeners.forEach(function (listener) { return listener.call(_this, oldSize, newSize); });\n };\n DevicePixelContentBoxBinding.prototype._chooseAndInitObserver = function () {\n var _this = this;\n if (!this._allowResizeObserver) {\n this._initDevicePixelRatioObservable();\n return;\n }\n isDevicePixelContentBoxSupported()\n .then(function (isSupported) {\n return isSupported ?\n _this._initResizeObserver() :\n _this._initDevicePixelRatioObservable();\n });\n };\n // devicePixelRatio approach\n DevicePixelContentBoxBinding.prototype._initDevicePixelRatioObservable = function () {\n var _this = this;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n var win = canvasElementWindow(this._canvasElement);\n if (win === null) {\n throw new Error('No window is associated with the canvas');\n }\n this._devicePixelRatioObservable = createDevicePixelRatioObservable(win);\n this._devicePixelRatioObservable.subscribe(function () { return _this._invalidateBitmapSize(); });\n this._invalidateBitmapSize();\n };\n DevicePixelContentBoxBinding.prototype._invalidateBitmapSize = function () {\n var _a, _b;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n var win = canvasElementWindow(this._canvasElement);\n if (win === null) {\n return;\n }\n var ratio = (_b = (_a = this._devicePixelRatioObservable) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : win.devicePixelRatio;\n var canvasRects = this._canvasElement.getClientRects();\n var newSize = \n // eslint-disable-next-line no-negated-condition\n canvasRects[0] !== undefined ?\n predictedBitmapSize(canvasRects[0], ratio) :\n size({\n width: this._canvasElementClientSize.width * ratio,\n height: this._canvasElementClientSize.height * ratio,\n });\n this._suggestNewBitmapSize(newSize);\n };\n // ResizeObserver approach\n DevicePixelContentBoxBinding.prototype._initResizeObserver = function () {\n var _this = this;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n this._canvasElementResizeObserver = new ResizeObserver(function (entries) {\n var entry = entries.find(function (entry) { return entry.target === _this._canvasElement; });\n if (!entry || !entry.devicePixelContentBoxSize || !entry.devicePixelContentBoxSize[0]) {\n return;\n }\n var entrySize = entry.devicePixelContentBoxSize[0];\n var newSize = size({\n width: entrySize.inlineSize,\n height: entrySize.blockSize,\n });\n _this._suggestNewBitmapSize(newSize);\n });\n this._canvasElementResizeObserver.observe(this._canvasElement, { box: 'device-pixel-content-box' });\n };\n return DevicePixelContentBoxBinding;\n}());\nexport function bindTo(canvasElement, target) {\n if (target.type === 'device-pixel-content-box') {\n return new DevicePixelContentBoxBinding(canvasElement, target.transform, target.options);\n }\n throw new Error('Unsupported binding target');\n}\nfunction canvasElementWindow(canvasElement) {\n // According to DOM Level 2 Core specification, ownerDocument should never be null for HTMLCanvasElement\n // see https://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#node-ownerDoc\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return canvasElement.ownerDocument.defaultView;\n}\nfunction isDevicePixelContentBoxSupported() {\n return new Promise(function (resolve) {\n var ro = new ResizeObserver(function (entries) {\n resolve(entries.every(function (entry) { return 'devicePixelContentBoxSize' in entry; }));\n ro.disconnect();\n });\n ro.observe(document.body, { box: 'device-pixel-content-box' });\n })\n .catch(function () { return false; });\n}\nfunction predictedBitmapSize(canvasRect, ratio) {\n return size({\n width: Math.round(canvasRect.left * ratio + canvasRect.width * ratio) -\n Math.round(canvasRect.left * ratio),\n height: Math.round(canvasRect.top * ratio + canvasRect.height * ratio) -\n Math.round(canvasRect.top * ratio),\n });\n}\n","/**\n * @experimental\n */\nvar CanvasRenderingTarget2D = /** @class */ (function () {\n function CanvasRenderingTarget2D(context, mediaSize, bitmapSize) {\n if (mediaSize.width === 0 || mediaSize.height === 0) {\n throw new TypeError('Rendering target could only be created on a media with positive width and height');\n }\n this._mediaSize = mediaSize;\n // !Number.isInteger(bitmapSize.width) || !Number.isInteger(bitmapSize.height)\n if (bitmapSize.width === 0 || bitmapSize.height === 0) {\n throw new TypeError('Rendering target could only be created using a bitmap with positive integer width and height');\n }\n this._bitmapSize = bitmapSize;\n this._context = context;\n }\n CanvasRenderingTarget2D.prototype.useMediaCoordinateSpace = function (f) {\n try {\n this._context.save();\n // do not use resetTransform to support old versions of Edge\n this._context.setTransform(1, 0, 0, 1, 0, 0);\n this._context.scale(this._horizontalPixelRatio, this._verticalPixelRatio);\n return f({\n context: this._context,\n mediaSize: this._mediaSize,\n });\n }\n finally {\n this._context.restore();\n }\n };\n CanvasRenderingTarget2D.prototype.useBitmapCoordinateSpace = function (f) {\n try {\n this._context.save();\n // do not use resetTransform to support old versions of Edge\n this._context.setTransform(1, 0, 0, 1, 0, 0);\n return f({\n context: this._context,\n mediaSize: this._mediaSize,\n bitmapSize: this._bitmapSize,\n horizontalPixelRatio: this._horizontalPixelRatio,\n verticalPixelRatio: this._verticalPixelRatio,\n });\n }\n finally {\n this._context.restore();\n }\n };\n Object.defineProperty(CanvasRenderingTarget2D.prototype, \"_horizontalPixelRatio\", {\n get: function () {\n return this._bitmapSize.width / this._mediaSize.width;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CanvasRenderingTarget2D.prototype, \"_verticalPixelRatio\", {\n get: function () {\n return this._bitmapSize.height / this._mediaSize.height;\n },\n enumerable: false,\n configurable: true\n });\n return CanvasRenderingTarget2D;\n}());\nexport { CanvasRenderingTarget2D };\n/**\n * @experimental\n */\nexport function createCanvasRenderingTarget2D(binding, contextOptions) {\n var mediaSize = binding.canvasElementClientSize;\n var bitmapSize = binding.bitmapSize;\n var context = binding.canvasElement.getContext('2d', contextOptions);\n if (context === null) {\n throw new Error('Could not get 2d drawing context from bound canvas element. Has the canvas already been set to a different context mode?');\n }\n return new CanvasRenderingTarget2D(context, mediaSize, bitmapSize);\n}\n/**\n * @experimental\n */\nexport function tryCreateCanvasRenderingTarget2D(binding, contextOptions) {\n var mediaSize = binding.canvasElementClientSize;\n if (mediaSize.width === 0 || mediaSize.height === 0) {\n return null;\n }\n var bitmapSize = binding.bitmapSize;\n if (bitmapSize.width === 0 || bitmapSize.height === 0) {\n return null;\n }\n var context = binding.canvasElement.getContext('2d', contextOptions);\n if (context === null) {\n return null;\n }\n return new CanvasRenderingTarget2D(context, mediaSize, bitmapSize);\n}\n","/*!\n * @license\n * TradingView Lightweight Charts™ v4.2.3\n * Copyright (c) 2025 TradingView, Inc.\n * Licensed under Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0\n */\nimport{size as t,bindCanvasElementBitmapSizeTo as i,equalSizes as n,tryCreateCanvasRenderingTarget2D as s}from\"fancy-canvas\";const e={upColor:\"#26a69a\",downColor:\"#ef5350\",wickVisible:!0,borderVisible:!0,borderColor:\"#378658\",borderUpColor:\"#26a69a\",borderDownColor:\"#ef5350\",wickColor:\"#737375\",wickUpColor:\"#26a69a\",wickDownColor:\"#ef5350\"},r={upColor:\"#26a69a\",downColor:\"#ef5350\",openVisible:!0,thinBars:!0},h={color:\"#2196f3\",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},l={topColor:\"rgba( 46, 220, 135, 0.4)\",bottomColor:\"rgba( 40, 221, 100, 0)\",invertFilledArea:!1,lineColor:\"#33D778\",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},a={baseValue:{type:\"price\",price:0},topFillColor1:\"rgba(38, 166, 154, 0.28)\",topFillColor2:\"rgba(38, 166, 154, 0.05)\",topLineColor:\"rgba(38, 166, 154, 1)\",bottomFillColor1:\"rgba(239, 83, 80, 0.05)\",bottomFillColor2:\"rgba(239, 83, 80, 0.28)\",bottomLineColor:\"rgba(239, 83, 80, 1)\",lineWidth:3,lineStyle:0,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},o={color:\"#26a69a\",base:0},_={color:\"#2196f3\"},u={title:\"\",visible:!0,lastValueVisible:!0,priceLineVisible:!0,priceLineSource:0,priceLineWidth:1,priceLineColor:\"\",priceLineStyle:2,baseLineVisible:!0,baseLineWidth:1,baseLineColor:\"#B2B5BE\",baseLineStyle:0,priceFormat:{type:\"price\",precision:2,minMove:.01}};var c,d;function f(t,i){const n={0:[],1:[t.lineWidth,t.lineWidth],2:[2*t.lineWidth,2*t.lineWidth],3:[6*t.lineWidth,6*t.lineWidth],4:[t.lineWidth,4*t.lineWidth]}[i];t.setLineDash(n)}function v(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(n,i+e),t.lineTo(s,i+e),t.stroke()}function p(t,i){if(!t)throw new Error(\"Assertion failed\"+(i?\": \"+i:\"\"))}function m(t){if(void 0===t)throw new Error(\"Value is undefined\");return t}function b(t){if(null===t)throw new Error(\"Value is null\");return t}function w(t){return b(m(t))}!function(t){t[t.Simple=0]=\"Simple\",t[t.WithSteps=1]=\"WithSteps\",t[t.Curved=2]=\"Curved\"}(c||(c={})),function(t){t[t.Solid=0]=\"Solid\",t[t.Dotted=1]=\"Dotted\",t[t.Dashed=2]=\"Dashed\",t[t.LargeDashed=3]=\"LargeDashed\",t[t.SparseDotted=4]=\"SparseDotted\"}(d||(d={}));const g={khaki:\"#f0e68c\",azure:\"#f0ffff\",aliceblue:\"#f0f8ff\",ghostwhite:\"#f8f8ff\",gold:\"#ffd700\",goldenrod:\"#daa520\",gainsboro:\"#dcdcdc\",gray:\"#808080\",green:\"#008000\",honeydew:\"#f0fff0\",floralwhite:\"#fffaf0\",lightblue:\"#add8e6\",lightcoral:\"#f08080\",lemonchiffon:\"#fffacd\",hotpink:\"#ff69b4\",lightyellow:\"#ffffe0\",greenyellow:\"#adff2f\",lightgoldenrodyellow:\"#fafad2\",limegreen:\"#32cd32\",linen:\"#faf0e6\",lightcyan:\"#e0ffff\",magenta:\"#f0f\",maroon:\"#800000\",olive:\"#808000\",orange:\"#ffa500\",oldlace:\"#fdf5e6\",mediumblue:\"#0000cd\",transparent:\"#0000\",lime:\"#0f0\",lightpink:\"#ffb6c1\",mistyrose:\"#ffe4e1\",moccasin:\"#ffe4b5\",midnightblue:\"#191970\",orchid:\"#da70d6\",mediumorchid:\"#ba55d3\",mediumturquoise:\"#48d1cc\",orangered:\"#ff4500\",royalblue:\"#4169e1\",powderblue:\"#b0e0e6\",red:\"#f00\",coral:\"#ff7f50\",turquoise:\"#40e0d0\",white:\"#fff\",whitesmoke:\"#f5f5f5\",wheat:\"#f5deb3\",teal:\"#008080\",steelblue:\"#4682b4\",bisque:\"#ffe4c4\",aquamarine:\"#7fffd4\",aqua:\"#0ff\",sienna:\"#a0522d\",silver:\"#c0c0c0\",springgreen:\"#00ff7f\",antiquewhite:\"#faebd7\",burlywood:\"#deb887\",brown:\"#a52a2a\",beige:\"#f5f5dc\",chocolate:\"#d2691e\",chartreuse:\"#7fff00\",cornflowerblue:\"#6495ed\",cornsilk:\"#fff8dc\",crimson:\"#dc143c\",cadetblue:\"#5f9ea0\",tomato:\"#ff6347\",fuchsia:\"#f0f\",blue:\"#00f\",salmon:\"#fa8072\",blanchedalmond:\"#ffebcd\",slateblue:\"#6a5acd\",slategray:\"#708090\",thistle:\"#d8bfd8\",tan:\"#d2b48c\",cyan:\"#0ff\",darkblue:\"#00008b\",darkcyan:\"#008b8b\",darkgoldenrod:\"#b8860b\",darkgray:\"#a9a9a9\",blueviolet:\"#8a2be2\",black:\"#000\",darkmagenta:\"#8b008b\",darkslateblue:\"#483d8b\",darkkhaki:\"#bdb76b\",darkorchid:\"#9932cc\",darkorange:\"#ff8c00\",darkgreen:\"#006400\",darkred:\"#8b0000\",dodgerblue:\"#1e90ff\",darkslategray:\"#2f4f4f\",dimgray:\"#696969\",deepskyblue:\"#00bfff\",firebrick:\"#b22222\",forestgreen:\"#228b22\",indigo:\"#4b0082\",ivory:\"#fffff0\",lavenderblush:\"#fff0f5\",feldspar:\"#d19275\",indianred:\"#cd5c5c\",lightgreen:\"#90ee90\",lightgrey:\"#d3d3d3\",lightskyblue:\"#87cefa\",lightslategray:\"#789\",lightslateblue:\"#8470ff\",snow:\"#fffafa\",lightseagreen:\"#20b2aa\",lightsalmon:\"#ffa07a\",darksalmon:\"#e9967a\",darkviolet:\"#9400d3\",mediumpurple:\"#9370d8\",mediumaquamarine:\"#66cdaa\",skyblue:\"#87ceeb\",lavender:\"#e6e6fa\",lightsteelblue:\"#b0c4de\",mediumvioletred:\"#c71585\",mintcream:\"#f5fffa\",navajowhite:\"#ffdead\",navy:\"#000080\",olivedrab:\"#6b8e23\",palevioletred:\"#d87093\",violetred:\"#d02090\",yellow:\"#ff0\",yellowgreen:\"#9acd32\",lawngreen:\"#7cfc00\",pink:\"#ffc0cb\",paleturquoise:\"#afeeee\",palegoldenrod:\"#eee8aa\",darkolivegreen:\"#556b2f\",darkseagreen:\"#8fbc8f\",darkturquoise:\"#00ced1\",peachpuff:\"#ffdab9\",deeppink:\"#ff1493\",violet:\"#ee82ee\",palegreen:\"#98fb98\",mediumseagreen:\"#3cb371\",peru:\"#cd853f\",saddlebrown:\"#8b4513\",sandybrown:\"#f4a460\",rosybrown:\"#bc8f8f\",purple:\"#800080\",seagreen:\"#2e8b57\",seashell:\"#fff5ee\",papayawhip:\"#ffefd5\",mediumslateblue:\"#7b68ee\",plum:\"#dda0dd\",mediumspringgreen:\"#00fa9a\"};function M(t){return t<0?0:t>255?255:Math.round(t)||0}function x(t){return t<=0||t>1?Math.min(Math.max(t,0),1):Math.round(1e4*t)/1e4}const S=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,k=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,y=/^rgb\\(\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*\\)$/,C=/^rgba\\(\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d*\\.?\\d+)\\s*\\)$/;function T(t){(t=t.toLowerCase())in g&&(t=g[t]);{const i=C.exec(t)||y.exec(t);if(i)return[M(parseInt(i[1],10)),M(parseInt(i[2],10)),M(parseInt(i[3],10)),x(i.length<5?1:parseFloat(i[4]))]}{const i=k.exec(t);if(i)return[M(parseInt(i[1],16)),M(parseInt(i[2],16)),M(parseInt(i[3],16)),1]}{const i=S.exec(t);if(i)return[M(17*parseInt(i[1],16)),M(17*parseInt(i[2],16)),M(17*parseInt(i[3],16)),1]}throw new Error(`Cannot parse color: ${t}`)}function P(t){return.199*t[0]+.687*t[1]+.114*t[2]}function R(t){const i=T(t);return{t:`rgb(${i[0]}, ${i[1]}, ${i[2]})`,i:P(i)>160?\"black\":\"white\"}}class D{constructor(){this.h=[]}l(t,i,n){const s={o:t,_:i,u:!0===n};this.h.push(s)}v(t){const i=this.h.findIndex((i=>t===i.o));i>-1&&this.h.splice(i,1)}p(t){this.h=this.h.filter((i=>i._!==t))}m(t,i,n){const s=[...this.h];this.h=this.h.filter((t=>!t.u)),s.forEach((s=>s.o(t,i,n)))}M(){return this.h.length>0}S(){this.h=[]}}function V(t,...i){for(const n of i)for(const i in n)void 0!==n[i]&&Object.prototype.hasOwnProperty.call(n,i)&&![\"__proto__\",\"constructor\",\"prototype\"].includes(i)&&(\"object\"!=typeof n[i]||void 0===t[i]||Array.isArray(n[i])?t[i]=n[i]:V(t[i],n[i]));return t}function O(t){return\"number\"==typeof t&&isFinite(t)}function B(t){return\"number\"==typeof t&&t%1==0}function A(t){return\"string\"==typeof t}function I(t){return\"boolean\"==typeof t}function z(t){const i=t;if(!i||\"object\"!=typeof i)return i;let n,s,e;for(s in n=Array.isArray(i)?[]:{},i)i.hasOwnProperty(s)&&(e=i[s],n[s]=e&&\"object\"==typeof e?z(e):e);return n}function L(t){return null!==t}function E(t){return null===t?void 0:t}const N=\"-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif\";function F(t,i,n){return void 0===i&&(i=N),`${n=void 0!==n?`${n} `:\"\"}${t}px ${i}`}class W{constructor(t){this.k={C:1,T:5,P:NaN,R:\"\",D:\"\",V:\"\",O:\"\",B:0,A:0,I:0,L:0,N:0},this.F=t}W(){const t=this.k,i=this.j(),n=this.H();return t.P===i&&t.D===n||(t.P=i,t.D=n,t.R=F(i,n),t.L=2.5/12*i,t.B=t.L,t.A=i/12*t.T,t.I=i/12*t.T,t.N=0),t.V=this.$(),t.O=this.U(),this.k}$(){return this.F.W().layout.textColor}U(){return this.F.q()}j(){return this.F.W().layout.fontSize}H(){return this.F.W().layout.fontFamily}}class j{constructor(){this.Y=[]}Z(t){this.Y=t}X(t,i,n){this.Y.forEach((s=>{s.X(t,i,n)}))}}class H{X(t,i,n){t.useBitmapCoordinateSpace((t=>this.K(t,i,n)))}}class $ extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.G||null===this.G.tt)return;const s=this.G.tt,e=this.G,r=Math.max(1,Math.floor(i))%2/2,h=h=>{t.beginPath();for(let l=s.to-1;l>=s.from;--l){const s=e.it[l],a=Math.round(s.nt*i)+r,o=s.st*n,_=h*n+r;t.moveTo(a,o),t.arc(a,o,_,0,2*Math.PI)}t.fill()};e.et>0&&(t.fillStyle=e.rt,h(e.ht+e.et)),t.fillStyle=e.lt,h(e.ht)}}function U(){return{it:[{nt:0,st:0,ot:0,_t:0}],lt:\"\",rt:\"\",ht:0,et:0,tt:null}}const q={from:0,to:1};class Y{constructor(t,i){this.ut=new j,this.ct=[],this.dt=[],this.ft=!0,this.F=t,this.vt=i,this.ut.Z(this.ct)}bt(t){const i=this.F.wt();i.length!==this.ct.length&&(this.dt=i.map(U),this.ct=this.dt.map((t=>{const i=new $;return i.J(t),i})),this.ut.Z(this.ct)),this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.ut}Mt(){const t=2===this.vt.W().mode,i=this.F.wt(),n=this.vt.xt(),s=this.F.St();i.forEach(((i,e)=>{var r;const h=this.dt[e],l=i.kt(n);if(t||null===l||!i.yt())return void(h.tt=null);const a=b(i.Ct());h.lt=l.Tt,h.ht=l.ht,h.et=l.Pt,h.it[0]._t=l._t,h.it[0].st=i.Dt().Rt(l._t,a.Vt),h.rt=null!==(r=l.Ot)&&void 0!==r?r:this.F.Bt(h.it[0].st/i.Dt().At()),h.it[0].ot=n,h.it[0].nt=s.It(n),h.tt=q}))}}class Z extends H{constructor(t){super(),this.zt=t}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;const e=this.zt.Lt.yt,r=this.zt.Et.yt;if(!e&&!r)return;const h=Math.round(this.zt.nt*n),l=Math.round(this.zt.st*s);t.lineCap=\"butt\",e&&h>=0&&(t.lineWidth=Math.floor(this.zt.Lt.et*n),t.strokeStyle=this.zt.Lt.V,t.fillStyle=this.zt.Lt.V,f(t,this.zt.Lt.Nt),function(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(i+e,n),t.lineTo(i+e,s),t.stroke()}(t,h,0,i.height)),r&&l>=0&&(t.lineWidth=Math.floor(this.zt.Et.et*s),t.strokeStyle=this.zt.Et.V,t.fillStyle=this.zt.Et.V,f(t,this.zt.Et.Nt),v(t,l,0,i.width))}}class X{constructor(t){this.ft=!0,this.Ft={Lt:{et:1,Nt:0,V:\"\",yt:!1},Et:{et:1,Nt:0,V:\"\",yt:!1},nt:0,st:0},this.Wt=new Z(this.Ft),this.jt=t}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt}Mt(){const t=this.jt.yt(),i=b(this.jt.Ht()),n=i.$t().W().crosshair,s=this.Ft;if(2===n.mode)return s.Et.yt=!1,void(s.Lt.yt=!1);s.Et.yt=t&&this.jt.Ut(i),s.Lt.yt=t&&this.jt.qt(),s.Et.et=n.horzLine.width,s.Et.Nt=n.horzLine.style,s.Et.V=n.horzLine.color,s.Lt.et=n.vertLine.width,s.Lt.Nt=n.vertLine.style,s.Lt.V=n.vertLine.color,s.nt=this.jt.Yt(),s.st=this.jt.Zt()}}function K(t,i,n,s,e,r){t.fillRect(i+r,n,s-2*r,r),t.fillRect(i+r,n+e-r,s-2*r,r),t.fillRect(i,n,r,e),t.fillRect(i+s-r,n,r,e)}function G(t,i,n,s,e,r){t.save(),t.globalCompositeOperation=\"copy\",t.fillStyle=r,t.fillRect(i,n,s,e),t.restore()}function J(t,i,n,s,e,r){t.beginPath(),t.roundRect?t.roundRect(i,n,s,e,r):(t.lineTo(i+s-r[1],n),0!==r[1]&&t.arcTo(i+s,n,i+s,n+r[1],r[1]),t.lineTo(i+s,n+e-r[2]),0!==r[2]&&t.arcTo(i+s,n+e,i+s-r[2],n+e,r[2]),t.lineTo(i+r[3],n+e),0!==r[3]&&t.arcTo(i,n+e,i,n+e-r[3],r[3]),t.lineTo(i,n+r[0]),0!==r[0]&&t.arcTo(i,n,i+r[0],n,r[0]))}function Q(t,i,n,s,e,r,h=0,l=[0,0,0,0],a=\"\"){if(t.save(),!h||!a||a===r)return J(t,i,n,s,e,l),t.fillStyle=r,t.fill(),void t.restore();const o=h/2;var _;J(t,i+o,n+o,s-h,e-h,(_=-o,l.map((t=>0===t?t:t+_)))),\"transparent\"!==r&&(t.fillStyle=r,t.fill()),\"transparent\"!==a&&(t.lineWidth=h,t.strokeStyle=a,t.closePath(),t.stroke()),t.restore()}function tt(t,i,n,s,e,r,h){t.save(),t.globalCompositeOperation=\"copy\";const l=t.createLinearGradient(0,0,0,e);l.addColorStop(0,r),l.addColorStop(1,h),t.fillStyle=l,t.fillRect(i,n,s,e),t.restore()}class it{constructor(t,i){this.J(t,i)}J(t,i){this.zt=t,this.Xt=i}At(t,i){return this.zt.yt?t.P+t.L+t.B:0}X(t,i,n,s){if(!this.zt.yt||0===this.zt.Kt.length)return;const e=this.zt.V,r=this.Xt.t,h=t.useBitmapCoordinateSpace((t=>{const h=t.context;h.font=i.R;const l=this.Gt(t,i,n,s),a=l.Jt;return l.Qt?Q(h,a.ti,a.ii,a.ni,a.si,r,a.ei,[a.ht,0,0,a.ht],r):Q(h,a.ri,a.ii,a.ni,a.si,r,a.ei,[0,a.ht,a.ht,0],r),this.zt.hi&&(h.fillStyle=e,h.fillRect(a.ri,a.li,a.ai-a.ri,a.oi)),this.zt._i&&(h.fillStyle=i.O,h.fillRect(l.Qt?a.ui-a.ei:0,a.ii,a.ei,a.ci-a.ii)),l}));t.useMediaCoordinateSpace((({context:t})=>{const n=h.di;t.font=i.R,t.textAlign=h.Qt?\"right\":\"left\",t.textBaseline=\"middle\",t.fillStyle=e,t.fillText(this.zt.Kt,n.fi,(n.ii+n.ci)/2+n.pi)}))}Gt(t,i,n,s){var e;const{context:r,bitmapSize:h,mediaSize:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=this.zt.hi||!this.zt.mi?i.T:0,u=this.zt.bi?i.C:0,c=i.L+this.Xt.wi,d=i.B+this.Xt.gi,f=i.A,v=i.I,p=this.zt.Kt,m=i.P,b=n.Mi(r,p),w=Math.ceil(n.xi(r,p)),g=m+c+d,M=i.C+f+v+w+_,x=Math.max(1,Math.floor(o));let S=Math.round(g*o);S%2!=x%2&&(S+=1);const k=u>0?Math.max(1,Math.floor(u*a)):0,y=Math.round(M*a),C=Math.round(_*a),T=null!==(e=this.Xt.Si)&&void 0!==e?e:this.Xt.ki,P=Math.round(T*o)-Math.floor(.5*o),R=Math.floor(P+x/2-S/2),D=R+S,V=\"right\"===s,O=V?l.width-u:u,B=V?h.width-k:k;let A,I,z;return V?(A=B-y,I=B-C,z=O-_-f-u):(A=B+y,I=B+C,z=O+_+f),{Qt:V,Jt:{ii:R,li:P,ci:D,ni:y,si:S,ht:2*a,ei:k,ti:A,ri:B,ai:I,oi:x,ui:h.width},di:{ii:R/o,ci:D/o,fi:z,pi:b}}}}class nt{constructor(t){this.yi={ki:0,t:\"#000\",gi:0,wi:0},this.Ci={Kt:\"\",yt:!1,hi:!0,mi:!1,Ot:\"\",V:\"#FFF\",_i:!1,bi:!1},this.Ti={Kt:\"\",yt:!1,hi:!1,mi:!0,Ot:\"\",V:\"#FFF\",_i:!0,bi:!0},this.ft=!0,this.Pi=new(t||it)(this.Ci,this.yi),this.Ri=new(t||it)(this.Ti,this.yi)}Kt(){return this.Di(),this.Ci.Kt}ki(){return this.Di(),this.yi.ki}bt(){this.ft=!0}At(t,i=!1){return Math.max(this.Pi.At(t,i),this.Ri.At(t,i))}Vi(){return this.yi.Si||0}Oi(t){this.yi.Si=t}Bi(){return this.Di(),this.Ci.yt||this.Ti.yt}Ai(){return this.Di(),this.Ci.yt}gt(t){return this.Di(),this.Ci.hi=this.Ci.hi&&t.W().ticksVisible,this.Ti.hi=this.Ti.hi&&t.W().ticksVisible,this.Pi.J(this.Ci,this.yi),this.Ri.J(this.Ti,this.yi),this.Pi}Ii(){return this.Di(),this.Pi.J(this.Ci,this.yi),this.Ri.J(this.Ti,this.yi),this.Ri}Di(){this.ft&&(this.Ci.hi=!0,this.Ti.hi=!1,this.zi(this.Ci,this.Ti,this.yi))}}class st extends nt{constructor(t,i,n){super(),this.jt=t,this.Li=i,this.Ei=n}zi(t,i,n){if(t.yt=!1,2===this.jt.W().mode)return;const s=this.jt.W().horzLine;if(!s.labelVisible)return;const e=this.Li.Ct();if(!this.jt.yt()||this.Li.Ni()||null===e)return;const r=R(s.labelBackgroundColor);n.t=r.t,t.V=r.i;const h=2/12*this.Li.P();n.wi=h,n.gi=h;const l=this.Ei(this.Li);n.ki=l.ki,t.Kt=this.Li.Fi(l._t,e),t.yt=!0}}const et=/[1-9]/g;class rt{constructor(){this.zt=null}J(t){this.zt=t}X(t,i){if(null===this.zt||!1===this.zt.yt||0===this.zt.Kt.length)return;const n=t.useMediaCoordinateSpace((({context:t})=>(t.font=i.R,Math.round(i.Wi.xi(t,b(this.zt).Kt,et)))));if(n<=0)return;const s=i.ji,e=n+2*s,r=e/2,h=this.zt.Hi;let l=this.zt.ki,a=Math.floor(l-r)+.5;a<0?(l+=Math.abs(0-a),a=Math.floor(l-r)+.5):a+e>h&&(l-=Math.abs(h-(a+e)),a=Math.floor(l-r)+.5);const o=a+e,_=Math.ceil(0+i.C+i.T+i.L+i.P+i.B);t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:n,verticalPixelRatio:s})=>{const e=b(this.zt);t.fillStyle=e.t;const r=Math.round(a*n),h=Math.round(0*s),l=Math.round(o*n),u=Math.round(_*s),c=Math.round(2*n);if(t.beginPath(),t.moveTo(r,h),t.lineTo(r,u-c),t.arcTo(r,u,r+c,u,c),t.lineTo(l-c,u),t.arcTo(l,u,l,u-c,c),t.lineTo(l,h),t.fill(),e.hi){const r=Math.round(e.ki*n),l=h,a=Math.round((l+i.T)*s);t.fillStyle=e.V;const o=Math.max(1,Math.floor(n)),_=Math.floor(.5*n);t.fillRect(r-_,l,o,a-l)}})),t.useMediaCoordinateSpace((({context:t})=>{const n=b(this.zt),e=0+i.C+i.T+i.L+i.P/2;t.font=i.R,t.textAlign=\"left\",t.textBaseline=\"middle\",t.fillStyle=n.V;const r=i.Wi.Mi(t,\"Apr0\");t.translate(a+s,e+r),t.fillText(n.Kt,0,0)}))}}class ht{constructor(t,i,n){this.ft=!0,this.Wt=new rt,this.Ft={yt:!1,t:\"#4c525e\",V:\"white\",Kt:\"\",Hi:0,ki:NaN,hi:!0},this.vt=t,this.$i=i,this.Ei=n}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt.J(this.Ft),this.Wt}Mt(){const t=this.Ft;if(t.yt=!1,2===this.vt.W().mode)return;const i=this.vt.W().vertLine;if(!i.labelVisible)return;const n=this.$i.St();if(n.Ni())return;t.Hi=n.Hi();const s=this.Ei();if(null===s)return;t.ki=s.ki;const e=n.Ui(this.vt.xt());t.Kt=n.qi(b(e)),t.yt=!0;const r=R(i.labelBackgroundColor);t.t=r.t,t.V=r.i,t.hi=n.W().ticksVisible}}class lt{constructor(){this.Yi=null,this.Zi=0}Xi(){return this.Zi}Ki(t){this.Zi=t}Dt(){return this.Yi}Gi(t){this.Yi=t}Ji(t){return[]}Qi(){return[]}yt(){return!0}}var at;!function(t){t[t.Normal=0]=\"Normal\",t[t.Magnet=1]=\"Magnet\",t[t.Hidden=2]=\"Hidden\"}(at||(at={}));class ot extends lt{constructor(t,i){super(),this.tn=null,this.nn=NaN,this.sn=0,this.en=!0,this.rn=new Map,this.hn=!1,this.ln=NaN,this.an=NaN,this._n=NaN,this.un=NaN,this.$i=t,this.cn=i,this.dn=new Y(t,this);this.fn=((t,i)=>n=>{const s=i(),e=t();if(n===b(this.tn).vn())return{_t:e,ki:s};{const t=b(n.Ct());return{_t:n.pn(s,t),ki:s}}})((()=>this.nn),(()=>this.an));const n=((t,i)=>()=>{const n=this.$i.St().mn(t()),s=i();return n&&Number.isFinite(s)?{ot:n,ki:s}:null})((()=>this.sn),(()=>this.Yt()));this.bn=new ht(this,t,n),this.wn=new X(this)}W(){return this.cn}gn(t,i){this._n=t,this.un=i}Mn(){this._n=NaN,this.un=NaN}xn(){return this._n}Sn(){return this.un}kn(t,i,n){this.hn||(this.hn=!0),this.en=!0,this.yn(t,i,n)}xt(){return this.sn}Yt(){return this.ln}Zt(){return this.an}yt(){return this.en}Cn(){this.en=!1,this.Tn(),this.nn=NaN,this.ln=NaN,this.an=NaN,this.tn=null,this.Mn()}Pn(t){return null!==this.tn?[this.wn,this.dn]:[]}Ut(t){return t===this.tn&&this.cn.horzLine.visible}qt(){return this.cn.vertLine.visible}Rn(t,i){this.en&&this.tn===t||this.rn.clear();const n=[];return this.tn===t&&n.push(this.Dn(this.rn,i,this.fn)),n}Qi(){return this.en?[this.bn]:[]}Ht(){return this.tn}Vn(){this.wn.bt(),this.rn.forEach((t=>t.bt())),this.bn.bt(),this.dn.bt()}On(t){return t&&!t.vn().Ni()?t.vn():null}yn(t,i,n){this.Bn(t,i,n)&&this.Vn()}Bn(t,i,n){const s=this.ln,e=this.an,r=this.nn,h=this.sn,l=this.tn,a=this.On(n);this.sn=t,this.ln=isNaN(t)?NaN:this.$i.St().It(t),this.tn=n;const o=null!==a?a.Ct():null;return null!==a&&null!==o?(this.nn=i,this.an=a.Rt(i,o)):(this.nn=NaN,this.an=NaN),s!==this.ln||e!==this.an||h!==this.sn||r!==this.nn||l!==this.tn}Tn(){const t=this.$i.wt().map((t=>t.In().An())).filter(L),i=0===t.length?null:Math.max(...t);this.sn=null!==i?i:NaN}Dn(t,i,n){let s=t.get(i);return void 0===s&&(s=new st(this,i,n),t.set(i,s)),s}}function _t(t){return\"left\"===t||\"right\"===t}class ut{constructor(t){this.zn=new Map,this.Ln=[],this.En=t}Nn(t,i){const n=function(t,i){return void 0===t?i:{Fn:Math.max(t.Fn,i.Fn),Wn:t.Wn||i.Wn}}(this.zn.get(t),i);this.zn.set(t,n)}jn(){return this.En}Hn(t){const i=this.zn.get(t);return void 0===i?{Fn:this.En}:{Fn:Math.max(this.En,i.Fn),Wn:i.Wn}}$n(){this.Un(),this.Ln=[{qn:0}]}Yn(t){this.Un(),this.Ln=[{qn:1,Vt:t}]}Zn(t){this.Xn(),this.Ln.push({qn:5,Vt:t})}Un(){this.Xn(),this.Ln.push({qn:6})}Kn(){this.Un(),this.Ln=[{qn:4}]}Gn(t){this.Un(),this.Ln.push({qn:2,Vt:t})}Jn(t){this.Un(),this.Ln.push({qn:3,Vt:t})}Qn(){return this.Ln}ts(t){for(const i of t.Ln)this.ns(i);this.En=Math.max(this.En,t.En),t.zn.forEach(((t,i)=>{this.Nn(i,t)}))}static ss(){return new ut(2)}static es(){return new ut(3)}ns(t){switch(t.qn){case 0:this.$n();break;case 1:this.Yn(t.Vt);break;case 2:this.Gn(t.Vt);break;case 3:this.Jn(t.Vt);break;case 4:this.Kn();break;case 5:this.Zn(t.Vt);break;case 6:this.Xn()}}Xn(){const t=this.Ln.findIndex((t=>5===t.qn));-1!==t&&this.Ln.splice(t,1)}}const ct=\".\";function dt(t,i){if(!O(t))return\"n/a\";if(!B(i))throw new TypeError(\"invalid length\");if(i<0||i>16)throw new TypeError(\"invalid length\");if(0===i)return t.toString();return(\"0000000000000000\"+t.toString()).slice(-i)}class ft{constructor(t,i){if(i||(i=1),O(t)&&B(t)||(t=100),t<0)throw new TypeError(\"invalid base\");this.Li=t,this.rs=i,this.hs()}format(t){const i=t<0?\"−\":\"\";return t=Math.abs(t),i+this.ls(t)}hs(){if(this._s=0,this.Li>0&&this.rs>0){let t=this.Li;for(;t>1;)t/=10,this._s++}}ls(t){const i=this.Li/this.rs;let n=Math.floor(t),s=\"\";const e=void 0!==this._s?this._s:NaN;if(i>1){let r=+(Math.round(t*i)-n*i).toFixed(this._s);r>=i&&(r-=i,n+=1),s=ct+dt(+r.toFixed(this._s)*this.rs,e)}else n=Math.round(n*i)/i,e>0&&(s=ct+dt(0,e));return n.toFixed(0)+s}}class vt extends ft{constructor(t=100){super(t)}format(t){return`${super.format(t)}%`}}class pt{constructor(t){this.us=t}format(t){let i=\"\";return t<0&&(i=\"-\",t=-t),t<995?i+this.cs(t):t<999995?i+this.cs(t/1e3)+\"K\":t<999999995?(t=1e3*Math.round(t/1e3),i+this.cs(t/1e6)+\"M\"):(t=1e6*Math.round(t/1e6),i+this.cs(t/1e9)+\"B\")}cs(t){let i;const n=Math.pow(10,this.us);return i=(t=Math.round(t*n)/n)>=1e-15&&t<1?t.toFixed(this.us).replace(/\\.?0+$/,\"\"):String(t),i.replace(/(\\.[1-9]*)0+$/,((t,i)=>i))}}function mt(t,i,n,s,e,r,h){if(0===i.length||s.from>=i.length||s.to<=0)return;const{context:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=i[s.from];let u=r(t,_),c=_;if(s.to-s.from<2){const i=e/2;l.beginPath();const n={nt:_.nt-i,st:_.st},s={nt:_.nt+i,st:_.st};l.moveTo(n.nt*a,n.st*o),l.lineTo(s.nt*a,s.st*o),h(t,u,n,s)}else{const e=(i,n)=>{h(t,u,c,n),l.beginPath(),u=i,c=n};let d=c;l.beginPath(),l.moveTo(_.nt*a,_.st*o);for(let h=s.from+1;h<s.to;++h){d=i[h];const s=r(t,d);switch(n){case 0:l.lineTo(d.nt*a,d.st*o);break;case 1:l.lineTo(d.nt*a,i[h-1].st*o),s!==u&&(e(s,d),l.lineTo(d.nt*a,i[h-1].st*o)),l.lineTo(d.nt*a,d.st*o);break;case 2:{const[t,n]=Mt(i,h-1,h);l.bezierCurveTo(t.nt*a,t.st*o,n.nt*a,n.st*o,d.nt*a,d.st*o);break}}1!==n&&s!==u&&(e(s,d),l.moveTo(d.nt*a,d.st*o))}(c!==d||c===d&&1===n)&&h(t,u,c,d)}}const bt=6;function wt(t,i){return{nt:t.nt-i.nt,st:t.st-i.st}}function gt(t,i){return{nt:t.nt/i,st:t.st/i}}function Mt(t,i,n){const s=Math.max(0,i-1),e=Math.min(t.length-1,n+1);var r,h;return[(r=t[i],h=gt(wt(t[n],t[s]),bt),{nt:r.nt+h.nt,st:r.st+h.st}),wt(t[n],gt(wt(t[e],t[i]),bt))]}function xt(t,i,n,s,e){const{context:r,horizontalPixelRatio:h,verticalPixelRatio:l}=i;r.lineTo(e.nt*h,t*l),r.lineTo(s.nt*h,t*l),r.closePath(),r.fillStyle=n,r.fill()}class St extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K(t){var i;if(null===this.G)return;const{it:n,tt:s,ds:e,et:r,Nt:h,fs:l}=this.G,a=null!==(i=this.G.vs)&&void 0!==i?i:this.G.ps?0:t.mediaSize.height;if(null===s)return;const o=t.context;o.lineCap=\"butt\",o.lineJoin=\"round\",o.lineWidth=r,f(o,h),o.lineWidth=1,mt(t,n,l,s,e,this.bs.bind(this),xt.bind(null,a))}}function kt(t,i,n){return Math.min(Math.max(t,i),n)}function yt(t,i,n){return i-t<=n}function Ct(t){const i=Math.ceil(t);return i%2==0?i-1:i}class Tt{ws(t,i){const n=this.gs,{Ms:s,xs:e,Ss:r,ks:h,ys:l,vs:a}=i;if(void 0===this.Cs||void 0===n||n.Ms!==s||n.xs!==e||n.Ss!==r||n.ks!==h||n.vs!==a||n.ys!==l){const n=t.context.createLinearGradient(0,0,0,l);if(n.addColorStop(0,s),null!=a){const i=kt(a*t.verticalPixelRatio/l,0,1);n.addColorStop(i,e),n.addColorStop(i,r)}n.addColorStop(1,h),this.Cs=n,this.gs=i}return this.Cs}}class Pt extends St{constructor(){super(...arguments),this.Ts=new Tt}bs(t,i){return this.Ts.ws(t,{Ms:i.Ps,xs:\"\",Ss:\"\",ks:i.Rs,ys:t.bitmapSize.height})}}function Rt(t,i){const n=t.context;n.strokeStyle=i,n.stroke()}class Dt extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K(t){if(null===this.G)return;const{it:i,tt:n,ds:s,fs:e,et:r,Nt:h,Ds:l}=this.G;if(null===n)return;const a=t.context;a.lineCap=\"butt\",a.lineWidth=r*t.verticalPixelRatio,f(a,h),a.lineJoin=\"round\";const o=this.Vs.bind(this);void 0!==e&&mt(t,i,e,n,s,o,Rt),l&&function(t,i,n,s,e){const{horizontalPixelRatio:r,verticalPixelRatio:h,context:l}=t;let a=null;const o=Math.max(1,Math.floor(r))%2/2,_=n*h+o;for(let n=s.to-1;n>=s.from;--n){const s=i[n];if(s){const i=e(t,s);i!==a&&(l.beginPath(),null!==a&&l.fill(),l.fillStyle=i,a=i);const n=Math.round(s.nt*r)+o,u=s.st*h;l.moveTo(n,u),l.arc(n,u,_,0,2*Math.PI)}}l.fill()}(t,i,l,n,o)}}class Vt extends Dt{Vs(t,i){return i.lt}}function Ot(t,i,n,s,e=0,r=i.length){let h=r-e;for(;0<h;){const r=h>>1,l=e+r;s(i[l],n)===t?(e=l+1,h-=r+1):h=r}return e}const Bt=Ot.bind(null,!0),At=Ot.bind(null,!1);function It(t,i){return t.ot<i}function zt(t,i){return i<t.ot}function Lt(t,i,n){const s=i.Os(),e=i.ui(),r=Bt(t,s,It),h=At(t,e,zt);if(!n)return{from:r,to:h};let l=r,a=h;return r>0&&r<t.length&&t[r].ot>=s&&(l=r-1),h>0&&h<t.length&&t[h-1].ot<=e&&(a=h+1),{from:l,to:a}}class Et{constructor(t,i,n){this.Bs=!0,this.As=!0,this.Is=!0,this.zs=[],this.Ls=null,this.Es=t,this.Ns=i,this.Fs=n}bt(t){this.Bs=!0,\"data\"===t&&(this.As=!0),\"options\"===t&&(this.Is=!0)}gt(){return this.Es.yt()?(this.Ws(),null===this.Ls?null:this.js):null}Hs(){this.zs=this.zs.map((t=>Object.assign(Object.assign({},t),this.Es.Us().$s(t.ot))))}qs(){this.Ls=null}Ws(){this.As&&(this.Ys(),this.As=!1),this.Is&&(this.Hs(),this.Is=!1),this.Bs&&(this.Zs(),this.Bs=!1)}Zs(){const t=this.Es.Dt(),i=this.Ns.St();if(this.qs(),i.Ni()||t.Ni())return;const n=i.Xs();if(null===n)return;if(0===this.Es.In().Ks())return;const s=this.Es.Ct();null!==s&&(this.Ls=Lt(this.zs,n,this.Fs),this.Gs(t,i,s.Vt),this.Js())}}class Nt extends Et{constructor(t,i){super(t,i,!0)}Gs(t,i,n){i.Qs(this.zs,E(this.Ls)),t.te(this.zs,n,E(this.Ls))}ie(t,i){return{ot:t,_t:i,nt:NaN,st:NaN}}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>{const n=i.Vt[3];return this.se(i.ee,n,t)}))}}class Ft extends Nt{constructor(t,i){super(t,i),this.js=new j,this.re=new Pt,this.he=new Vt,this.js.Z([this.re,this.he])}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.W();this.re.J({fs:t.lineType,it:this.zs,Nt:t.lineStyle,et:t.lineWidth,vs:null,ps:t.invertFilledArea,tt:this.Ls,ds:this.Ns.St().le()}),this.he.J({fs:t.lineVisible?t.lineType:void 0,it:this.zs,Nt:t.lineStyle,et:t.lineWidth,tt:this.Ls,ds:this.Ns.St().le(),Ds:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0})}}class Wt extends H{constructor(){super(...arguments),this.zt=null,this.ae=0,this.oe=0}J(t){this.zt=t}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.zt||0===this.zt.In.length||null===this.zt.tt)return;if(this.ae=this._e(i),this.ae>=2){Math.max(1,Math.floor(i))%2!=this.ae%2&&this.ae--}this.oe=this.zt.ue?Math.min(this.ae,Math.floor(i)):this.ae;let s=null;const e=this.oe<=this.ae&&this.zt.le>=Math.floor(1.5*i);for(let r=this.zt.tt.from;r<this.zt.tt.to;++r){const h=this.zt.In[r];s!==h.ce&&(t.fillStyle=h.ce,s=h.ce);const l=Math.floor(.5*this.oe),a=Math.round(h.nt*i),o=a-l,_=this.oe,u=o+_-1,c=Math.min(h.de,h.fe),d=Math.max(h.de,h.fe),f=Math.round(c*n)-l,v=Math.round(d*n)+l,p=Math.max(v-f,this.oe);t.fillRect(o,f,_,p);const m=Math.ceil(1.5*this.ae);if(e){if(this.zt.ve){const i=a-m;let s=Math.max(f,Math.round(h.pe*n)-l),e=s+_-1;e>f+p-1&&(e=f+p-1,s=e-_+1),t.fillRect(i,s,o-i,e-s+1)}const i=a+m;let s=Math.max(f,Math.round(h.me*n)-l),e=s+_-1;e>f+p-1&&(e=f+p-1,s=e-_+1),t.fillRect(u+1,s,i-u,e-s+1)}}}_e(t){const i=Math.floor(t);return Math.max(i,Math.floor(function(t,i){return Math.floor(.3*t*i)}(b(this.zt).le,t)))}}class jt extends Et{constructor(t,i){super(t,i,!1)}Gs(t,i,n){i.Qs(this.zs,E(this.Ls)),t.be(this.zs,n,E(this.Ls))}we(t,i,n){return{ot:t,ge:i.Vt[0],Me:i.Vt[1],xe:i.Vt[2],Se:i.Vt[3],nt:NaN,pe:NaN,de:NaN,fe:NaN,me:NaN}}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>this.se(i.ee,i,t)))}}class Ht extends jt{constructor(){super(...arguments),this.js=new Wt}se(t,i,n){return Object.assign(Object.assign({},this.we(t,i,n)),n.$s(t))}Js(){const t=this.Es.W();this.js.J({In:this.zs,le:this.Ns.St().le(),ve:t.openVisible,ue:t.thinBars,tt:this.Ls})}}class $t extends St{constructor(){super(...arguments),this.Ts=new Tt}bs(t,i){const n=this.G;return this.Ts.ws(t,{Ms:i.ke,xs:i.ye,Ss:i.Ce,ks:i.Te,ys:t.bitmapSize.height,vs:n.vs})}}class Ut extends Dt{constructor(){super(...arguments),this.Pe=new Tt}Vs(t,i){const n=this.G;return this.Pe.ws(t,{Ms:i.Re,xs:i.Re,Ss:i.De,ks:i.De,ys:t.bitmapSize.height,vs:n.vs})}}class qt extends Nt{constructor(t,i){super(t,i),this.js=new j,this.Ve=new $t,this.Oe=new Ut,this.js.Z([this.Ve,this.Oe])}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.Ct();if(null===t)return;const i=this.Es.W(),n=this.Es.Dt().Rt(i.baseValue.price,t.Vt),s=this.Ns.St().le();this.Ve.J({it:this.zs,et:i.lineWidth,Nt:i.lineStyle,fs:i.lineType,vs:n,ps:!1,tt:this.Ls,ds:s}),this.Oe.J({it:this.zs,et:i.lineWidth,Nt:i.lineStyle,fs:i.lineVisible?i.lineType:void 0,Ds:i.pointMarkersVisible?i.pointMarkersRadius||i.lineWidth/2+2:void 0,vs:n,tt:this.Ls,ds:s})}}class Yt extends H{constructor(){super(...arguments),this.zt=null,this.ae=0}J(t){this.zt=t}K(t){if(null===this.zt||0===this.zt.In.length||null===this.zt.tt)return;const{horizontalPixelRatio:i}=t;if(this.ae=function(t,i){if(t>=2.5&&t<=4)return Math.floor(3*i);const n=1-.2*Math.atan(Math.max(4,t)-4)/(.5*Math.PI),s=Math.floor(t*n*i),e=Math.floor(t*i),r=Math.min(s,e);return Math.max(Math.floor(i),r)}(this.zt.le,i),this.ae>=2){Math.floor(i)%2!=this.ae%2&&this.ae--}const n=this.zt.In;this.zt.Be&&this.Ae(t,n,this.zt.tt),this.zt._i&&this.Ie(t,n,this.zt.tt);const s=this.ze(i);(!this.zt._i||this.ae>2*s)&&this.Le(t,n,this.zt.tt)}Ae(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\",l=Math.min(Math.floor(e),Math.floor(this.zt.le*e));l=Math.max(Math.floor(e),Math.min(l,this.ae));const a=Math.floor(.5*l);let o=null;for(let t=n.from;t<n.to;t++){const n=i[t];n.Ee!==h&&(s.fillStyle=n.Ee,h=n.Ee);const _=Math.round(Math.min(n.pe,n.me)*r),u=Math.round(Math.max(n.pe,n.me)*r),c=Math.round(n.de*r),d=Math.round(n.fe*r);let f=Math.round(e*n.nt)-a;const v=f+l-1;null!==o&&(f=Math.max(o+1,f),f=Math.min(f,v));const p=v-f+1;s.fillRect(f,c,p,_-c),s.fillRect(f,u+1,p,d-u),o=v}}ze(t){let i=Math.floor(1*t);this.ae<=2*i&&(i=Math.floor(.5*(this.ae-1)));const n=Math.max(Math.floor(t),i);return this.ae<=2*n?Math.max(Math.floor(t),Math.floor(1*t)):n}Ie(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\";const l=this.ze(e);let a=null;for(let t=n.from;t<n.to;t++){const n=i[t];n.Ne!==h&&(s.fillStyle=n.Ne,h=n.Ne);let o=Math.round(n.nt*e)-Math.floor(.5*this.ae);const _=o+this.ae-1,u=Math.round(Math.min(n.pe,n.me)*r),c=Math.round(Math.max(n.pe,n.me)*r);if(null!==a&&(o=Math.max(a+1,o),o=Math.min(o,_)),this.zt.le*e>2*l)K(s,o,u,_-o+1,c-u+1,l);else{const t=_-o+1;s.fillRect(o,u,t,c-u+1)}a=_}}Le(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\";const l=this.ze(e);for(let t=n.from;t<n.to;t++){const n=i[t];let a=Math.round(Math.min(n.pe,n.me)*r),o=Math.round(Math.max(n.pe,n.me)*r),_=Math.round(n.nt*e)-Math.floor(.5*this.ae),u=_+this.ae-1;if(n.ce!==h){const t=n.ce;s.fillStyle=t,h=t}this.zt._i&&(_+=l,a+=l,u-=l,o-=l),a>o||s.fillRect(_,a,u-_+1,o-a+1)}}}class Zt extends jt{constructor(){super(...arguments),this.js=new Yt}se(t,i,n){return Object.assign(Object.assign({},this.we(t,i,n)),n.$s(t))}Js(){const t=this.Es.W();this.js.J({In:this.zs,le:this.Ns.St().le(),Be:t.wickVisible,_i:t.borderVisible,tt:this.Ls})}}class Xt{constructor(t,i){this.Fe=t,this.Li=i}X(t,i,n){this.Fe.draw(t,this.Li,i,n)}}class Kt extends Et{constructor(t,i,n){super(t,i,!1),this.wn=n,this.js=new Xt(this.wn.renderer(),(i=>{const n=t.Ct();return null===n?null:t.Dt().Rt(i,n.Vt)}))}We(t){return this.wn.priceValueBuilder(t)}je(t){return this.wn.isWhitespace(t)}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>Object.assign(Object.assign({ot:i.ee,nt:NaN},t.$s(i.ee)),{He:i.$e})))}Gs(t,i){i.Qs(this.zs,E(this.Ls))}Js(){this.wn.update({bars:this.zs.map(Gt),barSpacing:this.Ns.St().le(),visibleRange:this.Ls},this.Es.W())}}function Gt(t){return{x:t.nt,time:t.ot,originalData:t.He,barColor:t.ce}}class Jt extends H{constructor(){super(...arguments),this.zt=null,this.Ue=[]}J(t){this.zt=t,this.Ue=[]}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.zt||0===this.zt.it.length||null===this.zt.tt)return;this.Ue.length||this.qe(i);const s=Math.max(1,Math.floor(n)),e=Math.round(this.zt.Ye*n)-Math.floor(s/2),r=e+s;for(let i=this.zt.tt.from;i<this.zt.tt.to;i++){const h=this.zt.it[i],l=this.Ue[i-this.zt.tt.from],a=Math.round(h.st*n);let o,_;t.fillStyle=h.ce,a<=e?(o=a,_=r):(o=e,_=a-Math.floor(s/2)+s),t.fillRect(l.Os,o,l.ui-l.Os+1,_-o)}}qe(t){if(null===this.zt||0===this.zt.it.length||null===this.zt.tt)return void(this.Ue=[]);const i=Math.ceil(this.zt.le*t)<=1?0:Math.max(1,Math.floor(t)),n=Math.round(this.zt.le*t)-i;this.Ue=new Array(this.zt.tt.to-this.zt.tt.from);for(let i=this.zt.tt.from;i<this.zt.tt.to;i++){const s=this.zt.it[i],e=Math.round(s.nt*t);let r,h;if(n%2){const t=(n-1)/2;r=e-t,h=e+t}else{const t=n/2;r=e-t,h=e+t-1}this.Ue[i-this.zt.tt.from]={Os:r,ui:h,Ze:e,Xe:s.nt*t,ot:s.ot}}for(let t=this.zt.tt.from+1;t<this.zt.tt.to;t++){const n=this.Ue[t-this.zt.tt.from],s=this.Ue[t-this.zt.tt.from-1];n.ot===s.ot+1&&(n.Os-s.ui!==i+1&&(s.Ze>s.Xe?s.ui=n.Os-i-1:n.Os=s.ui+i+1))}let s=Math.ceil(this.zt.le*t);for(let t=this.zt.tt.from;t<this.zt.tt.to;t++){const i=this.Ue[t-this.zt.tt.from];i.ui<i.Os&&(i.ui=i.Os);const n=i.ui-i.Os+1;s=Math.min(n,s)}if(i>0&&s<4)for(let t=this.zt.tt.from;t<this.zt.tt.to;t++){const i=this.Ue[t-this.zt.tt.from];i.ui-i.Os+1>s&&(i.Ze>i.Xe?i.ui-=1:i.Os+=1)}}}class Qt extends Nt{constructor(){super(...arguments),this.js=new Jt}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t={it:this.zs,le:this.Ns.St().le(),tt:this.Ls,Ye:this.Es.Dt().Rt(this.Es.W().base,b(this.Es.Ct()).Vt)};this.js.J(t)}}class ti extends Nt{constructor(){super(...arguments),this.js=new Vt}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.W(),i={it:this.zs,Nt:t.lineStyle,fs:t.lineVisible?t.lineType:void 0,et:t.lineWidth,Ds:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0,tt:this.Ls,ds:this.Ns.St().le()};this.js.J(i)}}const ii=/[2-9]/g;class ni{constructor(t=50){this.Ke=0,this.Ge=1,this.Je=1,this.Qe={},this.tr=new Map,this.ir=t}nr(){this.Ke=0,this.tr.clear(),this.Ge=1,this.Je=1,this.Qe={}}xi(t,i,n){return this.sr(t,i,n).width}Mi(t,i,n){const s=this.sr(t,i,n);return((s.actualBoundingBoxAscent||0)-(s.actualBoundingBoxDescent||0))/2}sr(t,i,n){const s=n||ii,e=String(i).replace(s,\"0\");if(this.tr.has(e))return m(this.tr.get(e)).er;if(this.Ke===this.ir){const t=this.Qe[this.Je];delete this.Qe[this.Je],this.tr.delete(t),this.Je++,this.Ke--}t.save(),t.textBaseline=\"middle\";const r=t.measureText(e);return t.restore(),0===r.width&&i.length||(this.tr.set(e,{er:r,rr:this.Ge}),this.Qe[this.Ge]=e,this.Ke++,this.Ge++),r}}class si{constructor(t){this.hr=null,this.k=null,this.lr=\"right\",this.ar=t}_r(t,i,n){this.hr=t,this.k=i,this.lr=n}X(t){null!==this.k&&null!==this.hr&&this.hr.X(t,this.k,this.ar,this.lr)}}class ei{constructor(t,i,n){this.ur=t,this.ar=new ni(50),this.cr=i,this.F=n,this.j=-1,this.Wt=new si(this.ar)}gt(){const t=this.F.dr(this.cr);if(null===t)return null;const i=t.vr(this.cr)?t.pr():this.cr.Dt();if(null===i)return null;const n=t.mr(i);if(\"overlay\"===n)return null;const s=this.F.br();return s.P!==this.j&&(this.j=s.P,this.ar.nr()),this.Wt._r(this.ur.Ii(),s,n),this.Wt}}class ri extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}wr(t,i){var n;if(!(null===(n=this.zt)||void 0===n?void 0:n.yt))return null;const{st:s,et:e,gr:r}=this.zt;return i>=s-e-7&&i<=s+e+7?{Mr:this.zt,gr:r}:null}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;if(!1===this.zt.yt)return;const e=Math.round(this.zt.st*s);e<0||e>i.height||(t.lineCap=\"butt\",t.strokeStyle=this.zt.V,t.lineWidth=Math.floor(this.zt.et*n),f(t,this.zt.Nt),v(t,e,0,i.width))}}class hi{constructor(t){this.Sr={st:0,V:\"rgba(0, 0, 0, 0)\",et:1,Nt:0,yt:!1},this.kr=new ri,this.ft=!0,this.Es=t,this.Ns=t.$t(),this.kr.J(this.Sr)}bt(){this.ft=!0}gt(){return this.Es.yt()?(this.ft&&(this.yr(),this.ft=!1),this.kr):null}}class li extends hi{constructor(t){super(t)}yr(){this.Sr.yt=!1;const t=this.Es.Dt(),i=t.Cr().Cr;if(2!==i&&3!==i)return;const n=this.Es.W();if(!n.baseLineVisible||!this.Es.yt())return;const s=this.Es.Ct();null!==s&&(this.Sr.yt=!0,this.Sr.st=t.Rt(s.Vt,s.Vt),this.Sr.V=n.baseLineColor,this.Sr.et=n.baseLineWidth,this.Sr.Nt=n.baseLineStyle)}}class ai extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}$e(){return this.zt}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){const s=this.zt;if(null===s)return;const e=Math.max(1,Math.floor(i)),r=e%2/2,h=Math.round(s.Xe.x*i)+r,l=s.Xe.y*n;t.fillStyle=s.Tr,t.beginPath();const a=Math.max(2,1.5*s.Pr)*i;t.arc(h,l,a,0,2*Math.PI,!1),t.fill(),t.fillStyle=s.Rr,t.beginPath(),t.arc(h,l,s.ht*i,0,2*Math.PI,!1),t.fill(),t.lineWidth=e,t.strokeStyle=s.Dr,t.beginPath(),t.arc(h,l,s.ht*i+e/2,0,2*Math.PI,!1),t.stroke()}}const oi=[{Vr:0,Or:.25,Br:4,Ar:10,Ir:.25,zr:0,Lr:.4,Er:.8},{Vr:.25,Or:.525,Br:10,Ar:14,Ir:0,zr:0,Lr:.8,Er:0},{Vr:.525,Or:1,Br:14,Ar:14,Ir:0,zr:0,Lr:0,Er:0}];function _i(t,i,n,s){return function(t,i){if(\"transparent\"===t)return t;const n=T(t),s=n[3];return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${i*s})`}(t,n+(s-n)*i)}function ui(t,i){const n=t%2600/2600;let s;for(const t of oi)if(n>=t.Vr&&n<=t.Or){s=t;break}p(void 0!==s,\"Last price animation internal logic error\");const e=(n-s.Vr)/(s.Or-s.Vr);return{Rr:_i(i,e,s.Ir,s.zr),Dr:_i(i,e,s.Lr,s.Er),ht:(r=e,h=s.Br,l=s.Ar,h+(l-h)*r)};var r,h,l}class ci{constructor(t){this.Wt=new ai,this.ft=!0,this.Nr=!0,this.Fr=performance.now(),this.Wr=this.Fr-1,this.jr=t}Hr(){this.Wr=this.Fr-1,this.bt()}$r(){if(this.bt(),2===this.jr.W().lastPriceAnimation){const t=performance.now(),i=this.Wr-t;if(i>0)return void(i<650&&(this.Wr+=2600));this.Fr=t,this.Wr=t+2600}}bt(){this.ft=!0}Ur(){this.Nr=!0}yt(){return 0!==this.jr.W().lastPriceAnimation}qr(){switch(this.jr.W().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.Wr}}gt(){return this.ft?(this.Mt(),this.ft=!1,this.Nr=!1):this.Nr&&(this.Yr(),this.Nr=!1),this.Wt}Mt(){this.Wt.J(null);const t=this.jr.$t().St(),i=t.Xs(),n=this.jr.Ct();if(null===i||null===n)return;const s=this.jr.Zr(!0);if(s.Xr||!i.Kr(s.ee))return;const e={x:t.It(s.ee),y:this.jr.Dt().Rt(s._t,n.Vt)},r=s.V,h=this.jr.W().lineWidth,l=ui(this.Gr(),r);this.Wt.J({Tr:r,Pr:h,Rr:l.Rr,Dr:l.Dr,ht:l.ht,Xe:e})}Yr(){const t=this.Wt.$e();if(null!==t){const i=ui(this.Gr(),t.Tr);t.Rr=i.Rr,t.Dr=i.Dr,t.ht=i.ht}}Gr(){return this.qr()?performance.now()-this.Fr:2599}}function di(t,i){return Ct(Math.min(Math.max(t,12),30)*i)}function fi(t,i){switch(t){case\"arrowDown\":case\"arrowUp\":return di(i,1);case\"circle\":return di(i,.8);case\"square\":return di(i,.7)}}function vi(t){return function(t){const i=Math.ceil(t);return i%2!=0?i-1:i}(di(t,1))}function pi(t){return Math.max(di(t,.1),3)}function mi(t,i,n){return i?t:n?Math.ceil(t/2):0}function bi(t,i,n,s,e){const r=fi(\"square\",n),h=(r-1)/2,l=t-h,a=i-h;return s>=l&&s<=l+r&&e>=a&&e<=a+r}function wi(t,i,n,s){const e=(fi(\"arrowUp\",s)-1)/2*n.Jr,r=(Ct(s/2)-1)/2*n.Jr;i.beginPath(),t?(i.moveTo(n.nt-e,n.st),i.lineTo(n.nt,n.st-e),i.lineTo(n.nt+e,n.st),i.lineTo(n.nt+r,n.st),i.lineTo(n.nt+r,n.st+e),i.lineTo(n.nt-r,n.st+e),i.lineTo(n.nt-r,n.st)):(i.moveTo(n.nt-e,n.st),i.lineTo(n.nt,n.st+e),i.lineTo(n.nt+e,n.st),i.lineTo(n.nt+r,n.st),i.lineTo(n.nt+r,n.st-e),i.lineTo(n.nt-r,n.st-e),i.lineTo(n.nt-r,n.st)),i.fill()}function gi(t,i,n,s,e,r){return bi(i,n,s,e,r)}class Mi extends H{constructor(){super(...arguments),this.zt=null,this.ar=new ni,this.j=-1,this.H=\"\",this.Qr=\"\"}J(t){this.zt=t}_r(t,i){this.j===t&&this.H===i||(this.j=t,this.H=i,this.Qr=F(t,i),this.ar.nr())}wr(t,i){if(null===this.zt||null===this.zt.tt)return null;for(let n=this.zt.tt.from;n<this.zt.tt.to;n++){const s=this.zt.it[n];if(Si(s,t,i))return{Mr:s.th,gr:s.gr}}return null}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n},s,e){if(null!==this.zt&&null!==this.zt.tt){t.textBaseline=\"middle\",t.font=this.Qr;for(let s=this.zt.tt.from;s<this.zt.tt.to;s++){const e=this.zt.it[s];void 0!==e.Kt&&(e.Kt.Hi=this.ar.xi(t,e.Kt.ih),e.Kt.At=this.j,e.Kt.nt=e.nt-e.Kt.Hi/2),xi(e,t,i,n)}}}}function xi(t,i,n,s){i.fillStyle=t.V,void 0!==t.Kt&&function(t,i,n,s,e,r){t.save(),t.scale(e,r),t.fillText(i,n,s),t.restore()}(i,t.Kt.ih,t.Kt.nt,t.Kt.st,n,s),function(t,i,n){if(0===t.Ks)return;switch(t.nh){case\"arrowDown\":return void wi(!1,i,n,t.Ks);case\"arrowUp\":return void wi(!0,i,n,t.Ks);case\"circle\":return void function(t,i,n){const s=(fi(\"circle\",n)-1)/2;t.beginPath(),t.arc(i.nt,i.st,s*i.Jr,0,2*Math.PI,!1),t.fill()}(i,n,t.Ks);case\"square\":return void function(t,i,n){const s=fi(\"square\",n),e=(s-1)*i.Jr/2,r=i.nt-e,h=i.st-e;t.fillRect(r,h,s*i.Jr,s*i.Jr)}(i,n,t.Ks)}t.nh}(t,i,function(t,i,n){const s=Math.max(1,Math.floor(i))%2/2;return{nt:Math.round(t.nt*i)+s,st:t.st*n,Jr:i}}(t,n,s))}function Si(t,i,n){return!(void 0===t.Kt||!function(t,i,n,s,e,r){const h=s/2;return e>=t&&e<=t+n&&r>=i-h&&r<=i+h}(t.Kt.nt,t.Kt.st,t.Kt.Hi,t.Kt.At,i,n))||function(t,i,n){if(0===t.Ks)return!1;switch(t.nh){case\"arrowDown\":case\"arrowUp\":return gi(0,t.nt,t.st,t.Ks,i,n);case\"circle\":return function(t,i,n,s,e){const r=2+fi(\"circle\",n)/2,h=t-s,l=i-e;return Math.sqrt(h*h+l*l)<=r}(t.nt,t.st,t.Ks,i,n);case\"square\":return bi(t.nt,t.st,t.Ks,i,n)}}(t,i,n)}function ki(t,i,n,s,e,r,h,l,a){const o=O(n)?n:n.Se,_=O(n)?n:n.Me,u=O(n)?n:n.xe,c=O(i.size)?Math.max(i.size,0):1,d=vi(l.le())*c,f=d/2;switch(t.Ks=d,i.position){case\"inBar\":return t.st=h.Rt(o,a),void(void 0!==t.Kt&&(t.Kt.st=t.st+f+r+.6*e));case\"aboveBar\":return t.st=h.Rt(_,a)-f-s.sh,void 0!==t.Kt&&(t.Kt.st=t.st-f-.6*e,s.sh+=1.2*e),void(s.sh+=d+r);case\"belowBar\":return t.st=h.Rt(u,a)+f+s.eh,void 0!==t.Kt&&(t.Kt.st=t.st+f+r+.6*e,s.eh+=1.2*e),void(s.eh+=d+r)}i.position}class yi{constructor(t,i){this.ft=!0,this.rh=!0,this.hh=!0,this.ah=null,this.oh=null,this.Wt=new Mi,this.jr=t,this.$i=i,this.zt={it:[],tt:null}}bt(t){this.ft=!0,this.hh=!0,\"data\"===t&&(this.rh=!0,this.oh=null)}gt(t){if(!this.jr.yt())return null;this.ft&&this._h();const i=this.$i.W().layout;return this.Wt._r(i.fontSize,i.fontFamily),this.Wt.J(this.zt),this.Wt}uh(){if(this.hh){if(this.jr.dh().length>0){const t=this.$i.St().le(),i=pi(t),n=1.5*vi(t)+2*i,s=this.fh();this.ah={above:mi(n,s.aboveBar,s.inBar),below:mi(n,s.belowBar,s.inBar)}}else this.ah=null;this.hh=!1}return this.ah}fh(){return null===this.oh&&(this.oh=this.jr.dh().reduce(((t,i)=>(t[i.position]||(t[i.position]=!0),t)),{inBar:!1,aboveBar:!1,belowBar:!1})),this.oh}_h(){const t=this.jr.Dt(),i=this.$i.St(),n=this.jr.dh();this.rh&&(this.zt.it=n.map((t=>({ot:t.time,nt:0,st:0,Ks:0,nh:t.shape,V:t.color,th:t.th,gr:t.id,Kt:void 0}))),this.rh=!1);const s=this.$i.W().layout;this.zt.tt=null;const e=i.Xs();if(null===e)return;const r=this.jr.Ct();if(null===r)return;if(0===this.zt.it.length)return;let h=NaN;const l=pi(i.le()),a={sh:l,eh:l};this.zt.tt=Lt(this.zt.it,e,!0);for(let e=this.zt.tt.from;e<this.zt.tt.to;e++){const o=n[e];o.time!==h&&(a.sh=l,a.eh=l,h=o.time);const _=this.zt.it[e];_.nt=i.It(o.time),void 0!==o.text&&o.text.length>0&&(_.Kt={ih:o.text,nt:0,st:0,Hi:0,At:0});const u=this.jr.ph(o.time);null!==u&&ki(_,o,u,a,s.fontSize,l,t,i,r.Vt)}this.ft=!1}}class Ci extends hi{constructor(t){super(t)}yr(){const t=this.Sr;t.yt=!1;const i=this.Es.W();if(!i.priceLineVisible||!this.Es.yt())return;const n=this.Es.Zr(0===i.priceLineSource);n.Xr||(t.yt=!0,t.st=n.ki,t.V=this.Es.mh(n.V),t.et=i.priceLineWidth,t.Nt=i.priceLineStyle)}}class Ti extends nt{constructor(t){super(),this.jt=t}zi(t,i,n){t.yt=!1,i.yt=!1;const s=this.jt;if(!s.yt())return;const e=s.W(),r=e.lastValueVisible,h=\"\"!==s.bh(),l=0===e.seriesLastValueMode,a=s.Zr(!1);if(a.Xr)return;r&&(t.Kt=this.wh(a,r,l),t.yt=0!==t.Kt.length),(h||l)&&(i.Kt=this.gh(a,r,h,l),i.yt=i.Kt.length>0);const o=s.mh(a.V),_=R(o);n.t=_.t,n.ki=a.ki,i.Ot=s.$t().Bt(a.ki/s.Dt().At()),t.Ot=o,t.V=_.i,i.V=_.i}gh(t,i,n,s){let e=\"\";const r=this.jt.bh();return n&&0!==r.length&&(e+=`${r} `),i&&s&&(e+=this.jt.Dt().Mh()?t.xh:t.Sh),e.trim()}wh(t,i,n){return i?n?this.jt.Dt().Mh()?t.Sh:t.xh:t.Kt:\"\"}}function Pi(t,i,n,s){const e=Number.isFinite(i),r=Number.isFinite(n);return e&&r?t(i,n):e||r?e?i:n:s}class Ri{constructor(t,i){this.kh=t,this.yh=i}Ch(t){return null!==t&&(this.kh===t.kh&&this.yh===t.yh)}Th(){return new Ri(this.kh,this.yh)}Ph(){return this.kh}Rh(){return this.yh}Dh(){return this.yh-this.kh}Ni(){return this.yh===this.kh||Number.isNaN(this.yh)||Number.isNaN(this.kh)}ts(t){return null===t?this:new Ri(Pi(Math.min,this.Ph(),t.Ph(),-1/0),Pi(Math.max,this.Rh(),t.Rh(),1/0))}Vh(t){if(!O(t))return;if(0===this.yh-this.kh)return;const i=.5*(this.yh+this.kh);let n=this.yh-i,s=this.kh-i;n*=t,s*=t,this.yh=i+n,this.kh=i+s}Oh(t){O(t)&&(this.yh+=t,this.kh+=t)}Bh(){return{minValue:this.kh,maxValue:this.yh}}static Ah(t){return null===t?null:new Ri(t.minValue,t.maxValue)}}class Di{constructor(t,i){this.Ih=t,this.zh=i||null}Lh(){return this.Ih}Eh(){return this.zh}Bh(){return null===this.Ih?null:{priceRange:this.Ih.Bh(),margins:this.zh||void 0}}static Ah(t){return null===t?null:new Di(Ri.Ah(t.priceRange),t.margins)}}class Vi extends hi{constructor(t,i){super(t),this.Nh=i}yr(){const t=this.Sr;t.yt=!1;const i=this.Nh.W();if(!this.Es.yt()||!i.lineVisible)return;const n=this.Nh.Fh();null!==n&&(t.yt=!0,t.st=n,t.V=i.color,t.et=i.lineWidth,t.Nt=i.lineStyle,t.gr=this.Nh.W().id)}}class Oi extends nt{constructor(t,i){super(),this.jr=t,this.Nh=i}zi(t,i,n){t.yt=!1,i.yt=!1;const s=this.Nh.W(),e=s.axisLabelVisible,r=\"\"!==s.title,h=this.jr;if(!e||!h.yt())return;const l=this.Nh.Fh();if(null===l)return;r&&(i.Kt=s.title,i.yt=!0),i.Ot=h.$t().Bt(l/h.Dt().At()),t.Kt=this.Wh(s.price),t.yt=!0;const a=R(s.axisLabelColor||s.color);n.t=a.t;const o=s.axisLabelTextColor||a.i;t.V=o,i.V=o,n.ki=l}Wh(t){const i=this.jr.Ct();return null===i?\"\":this.jr.Dt().Fi(t,i.Vt)}}class Bi{constructor(t,i){this.jr=t,this.cn=i,this.jh=new Vi(t,this),this.ur=new Oi(t,this),this.Hh=new ei(this.ur,t,t.$t())}$h(t){V(this.cn,t),this.bt(),this.jr.$t().Uh()}W(){return this.cn}qh(){return this.jh}Yh(){return this.Hh}Zh(){return this.ur}bt(){this.jh.bt(),this.ur.bt()}Fh(){const t=this.jr,i=t.Dt();if(t.$t().St().Ni()||i.Ni())return null;const n=t.Ct();return null===n?null:i.Rt(this.cn.price,n.Vt)}}class Ai extends lt{constructor(t){super(),this.$i=t}$t(){return this.$i}}const Ii={Bar:(t,i,n,s)=>{var e;const r=i.upColor,h=i.downColor,l=b(t(n,s)),a=w(l.Vt[0])<=w(l.Vt[3]);return{ce:null!==(e=l.V)&&void 0!==e?e:a?r:h}},Candlestick:(t,i,n,s)=>{var e,r,h;const l=i.upColor,a=i.downColor,o=i.borderUpColor,_=i.borderDownColor,u=i.wickUpColor,c=i.wickDownColor,d=b(t(n,s)),f=w(d.Vt[0])<=w(d.Vt[3]);return{ce:null!==(e=d.V)&&void 0!==e?e:f?l:a,Ne:null!==(r=d.Ot)&&void 0!==r?r:f?o:_,Ee:null!==(h=d.Xh)&&void 0!==h?h:f?u:c}},Custom:(t,i,n,s)=>{var e;return{ce:null!==(e=b(t(n,s)).V)&&void 0!==e?e:i.color}},Area:(t,i,n,s)=>{var e,r,h,l;const a=b(t(n,s));return{ce:null!==(e=a.lt)&&void 0!==e?e:i.lineColor,lt:null!==(r=a.lt)&&void 0!==r?r:i.lineColor,Ps:null!==(h=a.Ps)&&void 0!==h?h:i.topColor,Rs:null!==(l=a.Rs)&&void 0!==l?l:i.bottomColor}},Baseline:(t,i,n,s)=>{var e,r,h,l,a,o;const _=b(t(n,s));return{ce:_.Vt[3]>=i.baseValue.price?i.topLineColor:i.bottomLineColor,Re:null!==(e=_.Re)&&void 0!==e?e:i.topLineColor,De:null!==(r=_.De)&&void 0!==r?r:i.bottomLineColor,ke:null!==(h=_.ke)&&void 0!==h?h:i.topFillColor1,ye:null!==(l=_.ye)&&void 0!==l?l:i.topFillColor2,Ce:null!==(a=_.Ce)&&void 0!==a?a:i.bottomFillColor1,Te:null!==(o=_.Te)&&void 0!==o?o:i.bottomFillColor2}},Line:(t,i,n,s)=>{var e,r;const h=b(t(n,s));return{ce:null!==(e=h.V)&&void 0!==e?e:i.color,lt:null!==(r=h.V)&&void 0!==r?r:i.color}},Histogram:(t,i,n,s)=>{var e;return{ce:null!==(e=b(t(n,s)).V)&&void 0!==e?e:i.color}}};class zi{constructor(t){this.Kh=(t,i)=>void 0!==i?i.Vt:this.jr.In().Gh(t),this.jr=t,this.Jh=Ii[t.Qh()]}$s(t,i){return this.Jh(this.Kh,this.jr.W(),t,i)}}var Li;!function(t){t[t.NearestLeft=-1]=\"NearestLeft\",t[t.None=0]=\"None\",t[t.NearestRight=1]=\"NearestRight\"}(Li||(Li={}));const Ei=30;class Ni{constructor(){this.tl=[],this.il=new Map,this.nl=new Map}sl(){return this.Ks()>0?this.tl[this.tl.length-1]:null}el(){return this.Ks()>0?this.rl(0):null}An(){return this.Ks()>0?this.rl(this.tl.length-1):null}Ks(){return this.tl.length}Ni(){return 0===this.Ks()}Kr(t){return null!==this.hl(t,0)}Gh(t){return this.ll(t)}ll(t,i=0){const n=this.hl(t,i);return null===n?null:Object.assign(Object.assign({},this.al(n)),{ee:this.rl(n)})}ne(){return this.tl}ol(t,i,n){if(this.Ni())return null;let s=null;for(const e of n){s=Fi(s,this._l(t,i,e))}return s}J(t){this.nl.clear(),this.il.clear(),this.tl=t}rl(t){return this.tl[t].ee}al(t){return this.tl[t]}hl(t,i){const n=this.ul(t);if(null===n&&0!==i)switch(i){case-1:return this.cl(t);case 1:return this.dl(t);default:throw new TypeError(\"Unknown search mode\")}return n}cl(t){let i=this.fl(t);return i>0&&(i-=1),i!==this.tl.length&&this.rl(i)<t?i:null}dl(t){const i=this.vl(t);return i!==this.tl.length&&t<this.rl(i)?i:null}ul(t){const i=this.fl(t);return i===this.tl.length||t<this.tl[i].ee?null:i}fl(t){return Bt(this.tl,t,((t,i)=>t.ee<i))}vl(t){return At(this.tl,t,((t,i)=>t.ee>i))}pl(t,i,n){let s=null;for(let e=t;e<i;e++){const t=this.tl[e].Vt[n];Number.isNaN(t)||(null===s?s={ml:t,bl:t}:(t<s.ml&&(s.ml=t),t>s.bl&&(s.bl=t)))}return s}_l(t,i,n){if(this.Ni())return null;let s=null;const e=b(this.el()),r=b(this.An()),h=Math.max(t,e),l=Math.min(i,r),a=Math.ceil(h/Ei)*Ei,o=Math.max(a,Math.floor(l/Ei)*Ei);{const t=this.fl(h),e=this.vl(Math.min(l,a,i));s=Fi(s,this.pl(t,e,n))}let _=this.il.get(n);void 0===_&&(_=new Map,this.il.set(n,_));for(let t=Math.max(a+1,h);t<o;t+=Ei){const i=Math.floor(t/Ei);let e=_.get(i);if(void 0===e){const t=this.fl(i*Ei),s=this.vl((i+1)*Ei-1);e=this.pl(t,s,n),_.set(i,e)}s=Fi(s,e)}{const t=this.fl(o),i=this.vl(l);s=Fi(s,this.pl(t,i,n))}return s}}function Fi(t,i){if(null===t)return i;if(null===i)return t;return{ml:Math.min(t.ml,i.ml),bl:Math.max(t.bl,i.bl)}}class Wi{constructor(t){this.wl=t}X(t,i,n){this.wl.draw(t)}gl(t,i,n){var s,e;null===(e=(s=this.wl).drawBackground)||void 0===e||e.call(s,t)}}class ji{constructor(t){this.tr=null,this.wn=t}gt(){var t;const i=this.wn.renderer();if(null===i)return null;if((null===(t=this.tr)||void 0===t?void 0:t.Ml)===i)return this.tr.xl;const n=new Wi(i);return this.tr={Ml:i,xl:n},n}Sl(){var t,i,n;return null!==(n=null===(i=(t=this.wn).zOrder)||void 0===i?void 0:i.call(t))&&void 0!==n?n:\"normal\"}}function Hi(t){var i,n,s,e,r;return{Kt:t.text(),ki:t.coordinate(),Si:null===(i=t.fixedCoordinate)||void 0===i?void 0:i.call(t),V:t.textColor(),t:t.backColor(),yt:null===(s=null===(n=t.visible)||void 0===n?void 0:n.call(t))||void 0===s||s,hi:null===(r=null===(e=t.tickVisible)||void 0===e?void 0:e.call(t))||void 0===r||r}}class $i{constructor(t,i){this.Wt=new rt,this.kl=t,this.yl=i}gt(){return this.Wt.J(Object.assign({Hi:this.yl.Hi()},Hi(this.kl))),this.Wt}}class Ui extends nt{constructor(t,i){super(),this.kl=t,this.Li=i}zi(t,i,n){const s=Hi(this.kl);n.t=s.t,t.V=s.V;const e=2/12*this.Li.P();n.wi=e,n.gi=e,n.ki=s.ki,n.Si=s.Si,t.Kt=s.Kt,t.yt=s.yt,t.hi=s.hi}}class qi{constructor(t,i){this.Cl=null,this.Tl=null,this.Pl=null,this.Rl=null,this.Dl=null,this.Vl=t,this.jr=i}Ol(){return this.Vl}Vn(){var t,i;null===(i=(t=this.Vl).updateAllViews)||void 0===i||i.call(t)}Pn(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).paneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Cl)||void 0===s?void 0:s.Ml)===e)return this.Cl.xl;const r=e.map((t=>new ji(t)));return this.Cl={Ml:e,xl:r},r}Qi(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).timeAxisViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Tl)||void 0===s?void 0:s.Ml)===e)return this.Tl.xl;const r=this.jr.$t().St(),h=e.map((t=>new $i(t,r)));return this.Tl={Ml:e,xl:h},h}Rn(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).priceAxisViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Pl)||void 0===s?void 0:s.Ml)===e)return this.Pl.xl;const r=this.jr.Dt(),h=e.map((t=>new Ui(t,r)));return this.Pl={Ml:e,xl:h},h}Bl(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).priceAxisPaneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Rl)||void 0===s?void 0:s.Ml)===e)return this.Rl.xl;const r=e.map((t=>new ji(t)));return this.Rl={Ml:e,xl:r},r}Al(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).timeAxisPaneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Dl)||void 0===s?void 0:s.Ml)===e)return this.Dl.xl;const r=e.map((t=>new ji(t)));return this.Dl={Ml:e,xl:r},r}Il(t,i){var n,s,e;return null!==(e=null===(s=(n=this.Vl).autoscaleInfo)||void 0===s?void 0:s.call(n,t,i))&&void 0!==e?e:null}wr(t,i){var n,s,e;return null!==(e=null===(s=(n=this.Vl).hitTest)||void 0===s?void 0:s.call(n,t,i))&&void 0!==e?e:null}}function Yi(t,i,n,s){t.forEach((t=>{i(t).forEach((t=>{t.Sl()===n&&s.push(t)}))}))}function Zi(t){return t.Pn()}function Xi(t){return t.Bl()}function Ki(t){return t.Al()}class Gi extends Ai{constructor(t,i,n,s,e){super(t),this.zt=new Ni,this.jh=new Ci(this),this.zl=[],this.Ll=new li(this),this.El=null,this.Nl=null,this.Fl=[],this.Wl=[],this.jl=null,this.Hl=[],this.cn=i,this.$l=n;const r=new Ti(this);this.rn=[r],this.Hh=new ei(r,this,t),\"Area\"!==n&&\"Line\"!==n&&\"Baseline\"!==n||(this.El=new ci(this)),this.Ul(),this.ql(e)}S(){null!==this.jl&&clearTimeout(this.jl)}mh(t){return this.cn.priceLineColor||t}Zr(t){const i={Xr:!0},n=this.Dt();if(this.$t().St().Ni()||n.Ni()||this.zt.Ni())return i;const s=this.$t().St().Xs(),e=this.Ct();if(null===s||null===e)return i;let r,h;if(t){const t=this.zt.sl();if(null===t)return i;r=t,h=t.ee}else{const t=this.zt.ll(s.ui(),-1);if(null===t)return i;if(r=this.zt.Gh(t.ee),null===r)return i;h=t.ee}const l=r.Vt[3],a=this.Us().$s(h,{Vt:r}),o=n.Rt(l,e.Vt);return{Xr:!1,_t:l,Kt:n.Fi(l,e.Vt),xh:n.Yl(l),Sh:n.Zl(l,e.Vt),V:a.ce,ki:o,ee:h}}Us(){return null!==this.Nl||(this.Nl=new zi(this)),this.Nl}W(){return this.cn}$h(t){const i=t.priceScaleId;void 0!==i&&i!==this.cn.priceScaleId&&this.$t().Xl(this,i),V(this.cn,t),void 0!==t.priceFormat&&(this.Ul(),this.$t().Kl()),this.$t().Gl(this),this.$t().Jl(),this.wn.bt(\"options\")}J(t,i){this.zt.J(t),this.Ql(),this.wn.bt(\"data\"),this.dn.bt(\"data\"),null!==this.El&&(i&&i.ta?this.El.$r():0===t.length&&this.El.Hr());const n=this.$t().dr(this);this.$t().ia(n),this.$t().Gl(this),this.$t().Jl(),this.$t().Uh()}na(t){this.Fl=t,this.Ql();const i=this.$t().dr(this);this.dn.bt(\"data\"),this.$t().ia(i),this.$t().Gl(this),this.$t().Jl(),this.$t().Uh()}sa(){return this.Fl}dh(){return this.Wl}ea(t){const i=new Bi(this,t);return this.zl.push(i),this.$t().Gl(this),i}ra(t){const i=this.zl.indexOf(t);-1!==i&&this.zl.splice(i,1),this.$t().Gl(this)}Qh(){return this.$l}Ct(){const t=this.ha();return null===t?null:{Vt:t.Vt[3],la:t.ot}}ha(){const t=this.$t().St().Xs();if(null===t)return null;const i=t.Os();return this.zt.ll(i,1)}In(){return this.zt}ph(t){const i=this.zt.Gh(t);return null===i?null:\"Bar\"===this.$l||\"Candlestick\"===this.$l||\"Custom\"===this.$l?{ge:i.Vt[0],Me:i.Vt[1],xe:i.Vt[2],Se:i.Vt[3]}:i.Vt[3]}aa(t){const i=[];Yi(this.Hl,Zi,\"top\",i);const n=this.El;return null!==n&&n.yt()?(null===this.jl&&n.qr()&&(this.jl=setTimeout((()=>{this.jl=null,this.$t().oa()}),0)),n.Ur(),i.unshift(n),i):i}Pn(){const t=[];this._a()||t.push(this.Ll),t.push(this.wn,this.jh,this.dn);const i=this.zl.map((t=>t.qh()));return t.push(...i),Yi(this.Hl,Zi,\"normal\",t),t}ua(){return this.ca(Zi,\"bottom\")}da(t){return this.ca(Xi,t)}fa(t){return this.ca(Ki,t)}va(t,i){return this.Hl.map((n=>n.wr(t,i))).filter((t=>null!==t))}Ji(t){return[this.Hh,...this.zl.map((t=>t.Yh()))]}Rn(t,i){if(i!==this.Yi&&!this._a())return[];const n=[...this.rn];for(const t of this.zl)n.push(t.Zh());return this.Hl.forEach((t=>{n.push(...t.Rn())})),n}Qi(){const t=[];return this.Hl.forEach((i=>{t.push(...i.Qi())})),t}Il(t,i){if(void 0!==this.cn.autoscaleInfoProvider){const n=this.cn.autoscaleInfoProvider((()=>{const n=this.pa(t,i);return null===n?null:n.Bh()}));return Di.Ah(n)}return this.pa(t,i)}ma(){return this.cn.priceFormat.minMove}ba(){return this.wa}Vn(){var t;this.wn.bt(),this.dn.bt();for(const t of this.rn)t.bt();for(const t of this.zl)t.bt();this.jh.bt(),this.Ll.bt(),null===(t=this.El)||void 0===t||t.bt(),this.Hl.forEach((t=>t.Vn()))}Dt(){return b(super.Dt())}kt(t){if(!((\"Line\"===this.$l||\"Area\"===this.$l||\"Baseline\"===this.$l)&&this.cn.crosshairMarkerVisible))return null;const i=this.zt.Gh(t);if(null===i)return null;return{_t:i.Vt[3],ht:this.ga(),Ot:this.Ma(),Pt:this.xa(),Tt:this.Sa(t)}}bh(){return this.cn.title}yt(){return this.cn.visible}ka(t){this.Hl.push(new qi(t,this))}ya(t){this.Hl=this.Hl.filter((i=>i.Ol()!==t))}Ca(){if(this.wn instanceof Kt!=!1)return t=>this.wn.We(t)}Ta(){if(this.wn instanceof Kt!=!1)return t=>this.wn.je(t)}_a(){return!_t(this.Dt().Pa())}pa(t,i){if(!B(t)||!B(i)||this.zt.Ni())return null;const n=\"Line\"===this.$l||\"Area\"===this.$l||\"Baseline\"===this.$l||\"Histogram\"===this.$l?[3]:[2,1],s=this.zt.ol(t,i,n);let e=null!==s?new Ri(s.ml,s.bl):null;if(\"Histogram\"===this.Qh()){const t=this.cn.base,i=new Ri(t,t);e=null!==e?e.ts(i):i}let r=this.dn.uh();return this.Hl.forEach((n=>{const s=n.Il(t,i);if(null==s?void 0:s.priceRange){const t=new Ri(s.priceRange.minValue,s.priceRange.maxValue);e=null!==e?e.ts(t):t}var h,l,a,o;(null==s?void 0:s.margins)&&(h=r,l=s.margins,r={above:Math.max(null!==(a=null==h?void 0:h.above)&&void 0!==a?a:0,l.above),below:Math.max(null!==(o=null==h?void 0:h.below)&&void 0!==o?o:0,l.below)})})),new Di(e,r)}ga(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":return this.cn.crosshairMarkerRadius}return 0}Ma(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":{const t=this.cn.crosshairMarkerBorderColor;if(0!==t.length)return t}}return null}xa(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":return this.cn.crosshairMarkerBorderWidth}return 0}Sa(t){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":{const t=this.cn.crosshairMarkerBackgroundColor;if(0!==t.length)return t}}return this.Us().$s(t).ce}Ul(){switch(this.cn.priceFormat.type){case\"custom\":this.wa={format:this.cn.priceFormat.formatter};break;case\"volume\":this.wa=new pt(this.cn.priceFormat.precision);break;case\"percent\":this.wa=new vt(this.cn.priceFormat.precision);break;default:{const t=Math.pow(10,this.cn.priceFormat.precision);this.wa=new ft(t,this.cn.priceFormat.minMove*t)}}null!==this.Yi&&this.Yi.Ra()}Ql(){const t=this.$t().St();if(!t.Da()||this.zt.Ni())return void(this.Wl=[]);const i=b(this.zt.el());this.Wl=this.Fl.map(((n,s)=>{const e=b(t.Va(n.time,!0)),r=e<i?1:-1;return{time:b(this.zt.ll(e,r)).ee,position:n.position,shape:n.shape,color:n.color,id:n.id,th:s,text:n.text,size:n.size,originalTime:n.originalTime}}))}ql(t){switch(this.dn=new yi(this,this.$t()),this.$l){case\"Bar\":this.wn=new Ht(this,this.$t());break;case\"Candlestick\":this.wn=new Zt(this,this.$t());break;case\"Line\":this.wn=new ti(this,this.$t());break;case\"Custom\":this.wn=new Kt(this,this.$t(),m(t));break;case\"Area\":this.wn=new Ft(this,this.$t());break;case\"Baseline\":this.wn=new qt(this,this.$t());break;case\"Histogram\":this.wn=new Qt(this,this.$t());break;default:throw Error(\"Unknown chart style assigned: \"+this.$l)}}ca(t,i){const n=[];return Yi(this.Hl,t,i,n),n}}class Ji{constructor(t){this.cn=t}Oa(t,i,n){let s=t;if(0===this.cn.mode)return s;const e=n.vn(),r=e.Ct();if(null===r)return s;const h=e.Rt(t,r),l=n.Ba().filter((t=>t instanceof Gi)).reduce(((t,s)=>{if(n.vr(s)||!s.yt())return t;const e=s.Dt(),r=s.In();if(e.Ni()||!r.Kr(i))return t;const h=r.Gh(i);if(null===h)return t;const l=w(s.Ct());return t.concat([e.Rt(h.Vt[3],l.Vt)])}),[]);if(0===l.length)return s;l.sort(((t,i)=>Math.abs(t-h)-Math.abs(i-h)));const a=l[0];return s=e.pn(a,r),s}}class Qi extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;const e=Math.max(1,Math.floor(n));t.lineWidth=e,function(t,i){t.save(),t.lineWidth%2&&t.translate(.5,.5),i(),t.restore()}(t,(()=>{const r=b(this.zt);if(r.Aa){t.strokeStyle=r.Ia,f(t,r.za),t.beginPath();for(const s of r.La){const r=Math.round(s.Ea*n);t.moveTo(r,-e),t.lineTo(r,i.height+e)}t.stroke()}if(r.Na){t.strokeStyle=r.Fa,f(t,r.Wa),t.beginPath();for(const n of r.ja){const r=Math.round(n.Ea*s);t.moveTo(-e,r),t.lineTo(i.width+e,r)}t.stroke()}}))}}class tn{constructor(t){this.Wt=new Qi,this.ft=!0,this.tn=t}bt(){this.ft=!0}gt(){if(this.ft){const t=this.tn.$t().W().grid,i={Na:t.horzLines.visible,Aa:t.vertLines.visible,Fa:t.horzLines.color,Ia:t.vertLines.color,Wa:t.horzLines.style,za:t.vertLines.style,ja:this.tn.vn().Ha(),La:(this.tn.$t().St().Ha()||[]).map((t=>({Ea:t.coord})))};this.Wt.J(i),this.ft=!1}return this.Wt}}class nn{constructor(t){this.wn=new tn(t)}qh(){return this.wn}}const sn={$a:4,Ua:1e-4};function en(t,i){const n=100*(t-i)/i;return i<0?-n:n}function rn(t,i){const n=en(t.Ph(),i),s=en(t.Rh(),i);return new Ri(n,s)}function hn(t,i){const n=100*(t-i)/i+100;return i<0?-n:n}function ln(t,i){const n=hn(t.Ph(),i),s=hn(t.Rh(),i);return new Ri(n,s)}function an(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.log10(n+i.Ua)+i.$a;return t<0?-s:s}function on(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.pow(10,n-i.$a)-i.Ua;return t<0?-s:s}function _n(t,i){if(null===t)return null;const n=an(t.Ph(),i),s=an(t.Rh(),i);return new Ri(n,s)}function un(t,i){if(null===t)return null;const n=on(t.Ph(),i),s=on(t.Rh(),i);return new Ri(n,s)}function cn(t){if(null===t)return sn;const i=Math.abs(t.Rh()-t.Ph());if(i>=1||i<1e-15)return sn;const n=Math.ceil(Math.abs(Math.log10(i))),s=sn.$a+n;return{$a:s,Ua:1/Math.pow(10,s)}}class dn{constructor(t,i){if(this.qa=t,this.Ya=i,function(t){if(t<0)return!1;for(let i=t;i>1;i/=10)if(i%10!=0)return!1;return!0}(this.qa))this.Za=[2,2.5,2];else{this.Za=[];for(let t=this.qa;1!==t;){if(t%2==0)this.Za.push(2),t/=2;else{if(t%5!=0)throw new Error(\"unexpected base\");this.Za.push(2,2.5),t/=5}if(this.Za.length>100)throw new Error(\"something wrong with base\")}}}Xa(t,i,n){const s=0===this.qa?0:1/this.qa;let e=Math.pow(10,Math.max(0,Math.ceil(Math.log10(t-i)))),r=0,h=this.Ya[0];for(;;){const t=yt(e,s,1e-14)&&e>s+1e-14,i=yt(e,n*h,1e-14),l=yt(e,1,1e-14);if(!(t&&i&&l))break;e/=h,h=this.Ya[++r%this.Ya.length]}if(e<=s+1e-14&&(e=s),e=Math.max(1,e),this.Za.length>0&&(l=e,a=1,o=1e-14,Math.abs(l-a)<o))for(r=0,h=this.Za[0];yt(e,n*h,1e-14)&&e>s+1e-14;)e/=h,h=this.Za[++r%this.Za.length];var l,a,o;return e}}class fn{constructor(t,i,n,s){this.Ka=[],this.Li=t,this.qa=i,this.Ga=n,this.Ja=s}Xa(t,i){if(t<i)throw new Error(\"high < low\");const n=this.Li.At(),s=(t-i)*this.Qa()/n,e=new dn(this.qa,[2,2.5,2]),r=new dn(this.qa,[2,2,2.5]),h=new dn(this.qa,[2.5,2,2]),l=[];return l.push(e.Xa(t,i,s),r.Xa(t,i,s),h.Xa(t,i,s)),function(t){if(t.length<1)throw Error(\"array is empty\");let i=t[0];for(let n=1;n<t.length;++n)t[n]<i&&(i=t[n]);return i}(l)}io(){const t=this.Li,i=t.Ct();if(null===i)return void(this.Ka=[]);const n=t.At(),s=this.Ga(n-1,i),e=this.Ga(0,i),r=this.Li.W().entireTextOnly?this.no()/2:0,h=r,l=n-1-r,a=Math.max(s,e),o=Math.min(s,e);if(a===o)return void(this.Ka=[]);let _=this.Xa(a,o),u=a%_;u+=u<0?_:0;const c=a>=o?1:-1;let d=null,f=0;for(let n=a-u;n>o;n-=_){const s=this.Ja(n,i,!0);null!==d&&Math.abs(s-d)<this.Qa()||(s<h||s>l||(f<this.Ka.length?(this.Ka[f].Ea=s,this.Ka[f].so=t.eo(n)):this.Ka.push({Ea:s,so:t.eo(n)}),f++,d=s,t.ro()&&(_=this.Xa(n*c,o))))}this.Ka.length=f}Ha(){return this.Ka}no(){return this.Li.P()}Qa(){return Math.ceil(2.5*this.no())}}function vn(t){return t.slice().sort(((t,i)=>b(t.Xi())-b(i.Xi())))}var pn;!function(t){t[t.Normal=0]=\"Normal\",t[t.Logarithmic=1]=\"Logarithmic\",t[t.Percentage=2]=\"Percentage\",t[t.IndexedTo100=3]=\"IndexedTo100\"}(pn||(pn={}));const mn=new vt,bn=new ft(100,1);class wn{constructor(t,i,n,s){this.ho=0,this.lo=null,this.Ih=null,this.ao=null,this.oo={_o:!1,uo:null},this.co=0,this.do=0,this.fo=new D,this.vo=new D,this.po=[],this.mo=null,this.bo=null,this.wo=null,this.Mo=null,this.wa=bn,this.xo=cn(null),this.So=t,this.cn=i,this.ko=n,this.yo=s,this.Co=new fn(this,100,this.To.bind(this),this.Po.bind(this))}Pa(){return this.So}W(){return this.cn}$h(t){if(V(this.cn,t),this.Ra(),void 0!==t.mode&&this.Ro({Cr:t.mode}),void 0!==t.scaleMargins){const i=m(t.scaleMargins.top),n=m(t.scaleMargins.bottom);if(i<0||i>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${i}`);if(n<0||n>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${n}`);if(i+n>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${i+n}`);this.Do(),this.bo=null}}Vo(){return this.cn.autoScale}ro(){return 1===this.cn.mode}Mh(){return 2===this.cn.mode}Oo(){return 3===this.cn.mode}Cr(){return{Wn:this.cn.autoScale,Bo:this.cn.invertScale,Cr:this.cn.mode}}Ro(t){const i=this.Cr();let n=null;void 0!==t.Wn&&(this.cn.autoScale=t.Wn),void 0!==t.Cr&&(this.cn.mode=t.Cr,2!==t.Cr&&3!==t.Cr||(this.cn.autoScale=!0),this.oo._o=!1),1===i.Cr&&t.Cr!==i.Cr&&(!function(t,i){if(null===t)return!1;const n=on(t.Ph(),i),s=on(t.Rh(),i);return isFinite(n)&&isFinite(s)}(this.Ih,this.xo)?this.cn.autoScale=!0:(n=un(this.Ih,this.xo),null!==n&&this.Ao(n))),1===t.Cr&&t.Cr!==i.Cr&&(n=_n(this.Ih,this.xo),null!==n&&this.Ao(n));const s=i.Cr!==this.cn.mode;s&&(2===i.Cr||this.Mh())&&this.Ra(),s&&(3===i.Cr||this.Oo())&&this.Ra(),void 0!==t.Bo&&i.Bo!==t.Bo&&(this.cn.invertScale=t.Bo,this.Io()),this.vo.m(i,this.Cr())}zo(){return this.vo}P(){return this.ko.fontSize}At(){return this.ho}Lo(t){this.ho!==t&&(this.ho=t,this.Do(),this.bo=null)}Eo(){if(this.lo)return this.lo;const t=this.At()-this.No()-this.Fo();return this.lo=t,t}Lh(){return this.Wo(),this.Ih}Ao(t,i){const n=this.Ih;(i||null===n&&null!==t||null!==n&&!n.Ch(t))&&(this.bo=null,this.Ih=t)}Ni(){return this.Wo(),0===this.ho||!this.Ih||this.Ih.Ni()}jo(t){return this.Bo()?t:this.At()-1-t}Rt(t,i){return this.Mh()?t=en(t,i):this.Oo()&&(t=hn(t,i)),this.Po(t,i)}te(t,i,n){this.Wo();const s=this.Fo(),e=b(this.Lh()),r=e.Ph(),h=e.Rh(),l=this.Eo()-1,a=this.Bo(),o=l/(h-r),_=void 0===n?0:n.from,u=void 0===n?t.length:n.to,c=this.Ho();for(let n=_;n<u;n++){const e=t[n],h=e._t;if(isNaN(h))continue;let l=h;null!==c&&(l=c(e._t,i));const _=s+o*(l-r),u=a?_:this.ho-1-_;e.st=u}}be(t,i,n){this.Wo();const s=this.Fo(),e=b(this.Lh()),r=e.Ph(),h=e.Rh(),l=this.Eo()-1,a=this.Bo(),o=l/(h-r),_=void 0===n?0:n.from,u=void 0===n?t.length:n.to,c=this.Ho();for(let n=_;n<u;n++){const e=t[n];let h=e.ge,l=e.Me,_=e.xe,u=e.Se;null!==c&&(h=c(e.ge,i),l=c(e.Me,i),_=c(e.xe,i),u=c(e.Se,i));let d=s+o*(h-r),f=a?d:this.ho-1-d;e.pe=f,d=s+o*(l-r),f=a?d:this.ho-1-d,e.de=f,d=s+o*(_-r),f=a?d:this.ho-1-d,e.fe=f,d=s+o*(u-r),f=a?d:this.ho-1-d,e.me=f}}pn(t,i){const n=this.To(t,i);return this.$o(n,i)}$o(t,i){let n=t;return this.Mh()?n=function(t,i){return i<0&&(t=-t),t/100*i+i}(n,i):this.Oo()&&(n=function(t,i){return t-=100,i<0&&(t=-t),t/100*i+i}(n,i)),n}Ba(){return this.po}Uo(){if(this.mo)return this.mo;let t=[];for(let i=0;i<this.po.length;i++){const n=this.po[i];null===n.Xi()&&n.Ki(i+1),t.push(n)}return t=vn(t),this.mo=t,this.mo}qo(t){-1===this.po.indexOf(t)&&(this.po.push(t),this.Ra(),this.Yo())}Zo(t){const i=this.po.indexOf(t);if(-1===i)throw new Error(\"source is not attached to scale\");this.po.splice(i,1),0===this.po.length&&(this.Ro({Wn:!0}),this.Ao(null)),this.Ra(),this.Yo()}Ct(){let t=null;for(const i of this.po){const n=i.Ct();null!==n&&((null===t||n.la<t.la)&&(t=n))}return null===t?null:t.Vt}Bo(){return this.cn.invertScale}Ha(){const t=null===this.Ct();if(null!==this.bo&&(t||this.bo.Xo===t))return this.bo.Ha;this.Co.io();const i=this.Co.Ha();return this.bo={Ha:i,Xo:t},this.fo.m(),i}Ko(){return this.fo}Go(t){this.Mh()||this.Oo()||null===this.wo&&null===this.ao&&(this.Ni()||(this.wo=this.ho-t,this.ao=b(this.Lh()).Th()))}Jo(t){if(this.Mh()||this.Oo())return;if(null===this.wo)return;this.Ro({Wn:!1}),(t=this.ho-t)<0&&(t=0);let i=(this.wo+.2*(this.ho-1))/(t+.2*(this.ho-1));const n=b(this.ao).Th();i=Math.max(i,.1),n.Vh(i),this.Ao(n)}Qo(){this.Mh()||this.Oo()||(this.wo=null,this.ao=null)}t_(t){this.Vo()||null===this.Mo&&null===this.ao&&(this.Ni()||(this.Mo=t,this.ao=b(this.Lh()).Th()))}i_(t){if(this.Vo())return;if(null===this.Mo)return;const i=b(this.Lh()).Dh()/(this.Eo()-1);let n=t-this.Mo;this.Bo()&&(n*=-1);const s=n*i,e=b(this.ao).Th();e.Oh(s),this.Ao(e,!0),this.bo=null}n_(){this.Vo()||null!==this.Mo&&(this.Mo=null,this.ao=null)}ba(){return this.wa||this.Ra(),this.wa}Fi(t,i){switch(this.cn.mode){case 2:return this.s_(en(t,i));case 3:return this.ba().format(hn(t,i));default:return this.Wh(t)}}eo(t){switch(this.cn.mode){case 2:return this.s_(t);case 3:return this.ba().format(t);default:return this.Wh(t)}}Yl(t){return this.Wh(t,b(this.e_()).ba())}Zl(t,i){return t=en(t,i),this.s_(t,mn)}r_(){return this.po}h_(t){this.oo={uo:t,_o:!1}}Vn(){this.po.forEach((t=>t.Vn()))}Ra(){this.bo=null;const t=this.e_();let i=100;null!==t&&(i=Math.round(1/t.ma())),this.wa=bn,this.Mh()?(this.wa=mn,i=100):this.Oo()?(this.wa=new ft(100,1),i=100):null!==t&&(this.wa=t.ba()),this.Co=new fn(this,i,this.To.bind(this),this.Po.bind(this)),this.Co.io()}Yo(){this.mo=null}e_(){return this.po[0]||null}No(){return this.Bo()?this.cn.scaleMargins.bottom*this.At()+this.do:this.cn.scaleMargins.top*this.At()+this.co}Fo(){return this.Bo()?this.cn.scaleMargins.top*this.At()+this.co:this.cn.scaleMargins.bottom*this.At()+this.do}Wo(){this.oo._o||(this.oo._o=!0,this.l_())}Do(){this.lo=null}Po(t,i){if(this.Wo(),this.Ni())return 0;t=this.ro()&&t?an(t,this.xo):t;const n=b(this.Lh()),s=this.Fo()+(this.Eo()-1)*(t-n.Ph())/n.Dh();return this.jo(s)}To(t,i){if(this.Wo(),this.Ni())return 0;const n=this.jo(t),s=b(this.Lh()),e=s.Ph()+s.Dh()*((n-this.Fo())/(this.Eo()-1));return this.ro()?on(e,this.xo):e}Io(){this.bo=null,this.Co.io()}l_(){const t=this.oo.uo;if(null===t)return;let i=null;const n=this.r_();let s=0,e=0;for(const r of n){if(!r.yt())continue;const n=r.Ct();if(null===n)continue;const h=r.Il(t.Os(),t.ui());let l=h&&h.Lh();if(null!==l){switch(this.cn.mode){case 1:l=_n(l,this.xo);break;case 2:l=rn(l,n.Vt);break;case 3:l=ln(l,n.Vt)}if(i=null===i?l:i.ts(b(l)),null!==h){const t=h.Eh();null!==t&&(s=Math.max(s,t.above),e=Math.max(e,t.below))}}}if(s===this.co&&e===this.do||(this.co=s,this.do=e,this.bo=null,this.Do()),null!==i){if(i.Ph()===i.Rh()){const t=this.e_(),n=5*(null===t||this.Mh()||this.Oo()?1:t.ma());this.ro()&&(i=un(i,this.xo)),i=new Ri(i.Ph()-n,i.Rh()+n),this.ro()&&(i=_n(i,this.xo))}if(this.ro()){const t=un(i,this.xo),n=cn(t);if(r=n,h=this.xo,r.$a!==h.$a||r.Ua!==h.Ua){const s=null!==this.ao?un(this.ao,this.xo):null;this.xo=n,i=_n(t,n),null!==s&&(this.ao=_n(s,n))}}this.Ao(i)}else null===this.Ih&&(this.Ao(new Ri(-.5,.5)),this.xo=cn(null));var r,h;this.oo._o=!0}Ho(){return this.Mh()?en:this.Oo()?hn:this.ro()?t=>an(t,this.xo):null}a_(t,i,n){return void 0===i?(void 0===n&&(n=this.ba()),n.format(t)):i(t)}Wh(t,i){return this.a_(t,this.yo.priceFormatter,i)}s_(t,i){return this.a_(t,this.yo.percentageFormatter,i)}}class gn{constructor(t,i){this.po=[],this.o_=new Map,this.ho=0,this.__=0,this.u_=1e3,this.mo=null,this.c_=new D,this.yl=t,this.$i=i,this.d_=new nn(this);const n=i.W();this.f_=this.v_(\"left\",n.leftPriceScale),this.p_=this.v_(\"right\",n.rightPriceScale),this.f_.zo().l(this.m_.bind(this,this.f_),this),this.p_.zo().l(this.m_.bind(this,this.p_),this),this.b_(n)}b_(t){if(t.leftPriceScale&&this.f_.$h(t.leftPriceScale),t.rightPriceScale&&this.p_.$h(t.rightPriceScale),t.localization&&(this.f_.Ra(),this.p_.Ra()),t.overlayPriceScales){const i=Array.from(this.o_.values());for(const n of i){const i=b(n[0].Dt());i.$h(t.overlayPriceScales),t.localization&&i.Ra()}}}w_(t){switch(t){case\"left\":return this.f_;case\"right\":return this.p_}return this.o_.has(t)?m(this.o_.get(t))[0].Dt():null}S(){this.$t().g_().p(this),this.f_.zo().p(this),this.p_.zo().p(this),this.po.forEach((t=>{t.S&&t.S()})),this.c_.m()}M_(){return this.u_}x_(t){this.u_=t}$t(){return this.$i}Hi(){return this.__}At(){return this.ho}S_(t){this.__=t,this.k_()}Lo(t){this.ho=t,this.f_.Lo(t),this.p_.Lo(t),this.po.forEach((i=>{if(this.vr(i)){const n=i.Dt();null!==n&&n.Lo(t)}})),this.k_()}Ba(){return this.po}vr(t){const i=t.Dt();return null===i||this.f_!==i&&this.p_!==i}qo(t,i,n){const s=void 0!==n?n:this.C_().y_+1;this.T_(t,i,s)}Zo(t){const i=this.po.indexOf(t);p(-1!==i,\"removeDataSource: invalid data source\"),this.po.splice(i,1);const n=b(t.Dt()).Pa();if(this.o_.has(n)){const i=m(this.o_.get(n)),s=i.indexOf(t);-1!==s&&(i.splice(s,1),0===i.length&&this.o_.delete(n))}const s=t.Dt();s&&s.Ba().indexOf(t)>=0&&s.Zo(t),null!==s&&(s.Yo(),this.P_(s)),this.mo=null}mr(t){return t===this.f_?\"left\":t===this.p_?\"right\":\"overlay\"}R_(){return this.f_}D_(){return this.p_}V_(t,i){t.Go(i)}O_(t,i){t.Jo(i),this.k_()}B_(t){t.Qo()}A_(t,i){t.t_(i)}I_(t,i){t.i_(i),this.k_()}z_(t){t.n_()}k_(){this.po.forEach((t=>{t.Vn()}))}vn(){let t=null;return this.$i.W().rightPriceScale.visible&&0!==this.p_.Ba().length?t=this.p_:this.$i.W().leftPriceScale.visible&&0!==this.f_.Ba().length?t=this.f_:0!==this.po.length&&(t=this.po[0].Dt()),null===t&&(t=this.p_),t}pr(){let t=null;return this.$i.W().rightPriceScale.visible?t=this.p_:this.$i.W().leftPriceScale.visible&&(t=this.f_),t}P_(t){null!==t&&t.Vo()&&this.L_(t)}E_(t){const i=this.yl.Xs();t.Ro({Wn:!0}),null!==i&&t.h_(i),this.k_()}N_(){this.L_(this.f_),this.L_(this.p_)}F_(){this.P_(this.f_),this.P_(this.p_),this.po.forEach((t=>{this.vr(t)&&this.P_(t.Dt())})),this.k_(),this.$i.Uh()}Uo(){return null===this.mo&&(this.mo=vn(this.po)),this.mo}W_(){return this.c_}j_(){return this.d_}L_(t){const i=t.r_();if(i&&i.length>0&&!this.yl.Ni()){const i=this.yl.Xs();null!==i&&t.h_(i)}t.Vn()}C_(){const t=this.Uo();if(0===t.length)return{H_:0,y_:0};let i=0,n=0;for(let s=0;s<t.length;s++){const e=t[s].Xi();null!==e&&(e<i&&(i=e),e>n&&(n=e))}return{H_:i,y_:n}}T_(t,i,n){let s=this.w_(i);if(null===s&&(s=this.v_(i,this.$i.W().overlayPriceScales)),this.po.push(t),!_t(i)){const n=this.o_.get(i)||[];n.push(t),this.o_.set(i,n)}s.qo(t),t.Gi(s),t.Ki(n),this.P_(s),this.mo=null}m_(t,i,n){i.Cr!==n.Cr&&this.L_(t)}v_(t,i){const n=Object.assign({visible:!0,autoScale:!0},z(i)),s=new wn(t,n,this.$i.W().layout,this.$i.W().localization);return s.Lo(this.At()),s}}class Mn{constructor(t,i,n=50){this.Ke=0,this.Ge=1,this.Je=1,this.tr=new Map,this.Qe=new Map,this.U_=t,this.q_=i,this.ir=n}Y_(t){const i=t.time,n=this.q_.cacheKey(i),s=this.tr.get(n);if(void 0!==s)return s.Z_;if(this.Ke===this.ir){const t=this.Qe.get(this.Je);this.Qe.delete(this.Je),this.tr.delete(m(t)),this.Je++,this.Ke--}const e=this.U_(t);return this.tr.set(n,{Z_:e,rr:this.Ge}),this.Qe.set(this.Ge,n),this.Ke++,this.Ge++,e}}class xn{constructor(t,i){p(t<=i,\"right should be >= left\"),this.X_=t,this.K_=i}Os(){return this.X_}ui(){return this.K_}G_(){return this.K_-this.X_+1}Kr(t){return this.X_<=t&&t<=this.K_}Ch(t){return this.X_===t.Os()&&this.K_===t.ui()}}function Sn(t,i){return null===t||null===i?t===i:t.Ch(i)}class kn{constructor(){this.J_=new Map,this.tr=null,this.Q_=!1}tu(t){this.Q_=t,this.tr=null}iu(t,i){this.nu(i),this.tr=null;for(let n=i;n<t.length;++n){const i=t[n];let s=this.J_.get(i.timeWeight);void 0===s&&(s=[],this.J_.set(i.timeWeight,s)),s.push({index:n,time:i.time,weight:i.timeWeight,originalTime:i.originalTime})}}su(t,i){const n=Math.ceil(i/t);return null!==this.tr&&this.tr.eu===n||(this.tr={Ha:this.ru(n),eu:n}),this.tr.Ha}nu(t){if(0===t)return void this.J_.clear();const i=[];this.J_.forEach(((n,s)=>{t<=n[0].index?i.push(s):n.splice(Bt(n,t,(i=>i.index<t)),1/0)}));for(const t of i)this.J_.delete(t)}ru(t){let i=[];for(const n of Array.from(this.J_.keys()).sort(((t,i)=>i-t))){if(!this.J_.get(n))continue;const s=i;i=[];const e=s.length;let r=0;const h=m(this.J_.get(n)),l=h.length;let a=1/0,o=-1/0;for(let n=0;n<l;n++){const l=h[n],_=l.index;for(;r<e;){const t=s[r],n=t.index;if(!(n<_)){a=n;break}r++,i.push(t),o=n,a=1/0}if(a-_>=t&&_-o>=t)i.push(l),o=_;else if(this.Q_)return s}for(;r<e;r++)i.push(s[r])}return i}}class yn{constructor(t){this.hu=t}lu(){return null===this.hu?null:new xn(Math.floor(this.hu.Os()),Math.ceil(this.hu.ui()))}au(){return this.hu}static ou(){return new yn(null)}}function Cn(t,i){return t.weight>i.weight?t:i}class Tn{constructor(t,i,n,s){this.__=0,this._u=null,this.uu=[],this.Mo=null,this.wo=null,this.cu=new kn,this.du=new Map,this.fu=yn.ou(),this.vu=!0,this.pu=new D,this.mu=new D,this.bu=new D,this.wu=null,this.gu=null,this.Mu=[],this.cn=i,this.yo=n,this.xu=i.rightOffset,this.Su=i.barSpacing,this.$i=t,this.q_=s,this.ku(),this.cu.tu(i.uniformDistribution)}W(){return this.cn}yu(t){V(this.yo,t),this.Cu(),this.ku()}$h(t,i){var n;V(this.cn,t),this.cn.fixLeftEdge&&this.Tu(),this.cn.fixRightEdge&&this.Pu(),void 0!==t.barSpacing&&this.$i.Gn(t.barSpacing),void 0!==t.rightOffset&&this.$i.Jn(t.rightOffset),void 0!==t.minBarSpacing&&this.$i.Gn(null!==(n=t.barSpacing)&&void 0!==n?n:this.Su),this.Cu(),this.ku(),this.bu.m()}mn(t){var i,n;return null!==(n=null===(i=this.uu[t])||void 0===i?void 0:i.time)&&void 0!==n?n:null}Ui(t){var i;return null!==(i=this.uu[t])&&void 0!==i?i:null}Va(t,i){if(this.uu.length<1)return null;if(this.q_.key(t)>this.q_.key(this.uu[this.uu.length-1].time))return i?this.uu.length-1:null;const n=Bt(this.uu,this.q_.key(t),((t,i)=>this.q_.key(t.time)<i));return this.q_.key(t)<this.q_.key(this.uu[n].time)?i?n:null:n}Ni(){return 0===this.__||0===this.uu.length||null===this._u}Da(){return this.uu.length>0}Xs(){return this.Ru(),this.fu.lu()}Du(){return this.Ru(),this.fu.au()}Vu(){const t=this.Xs();if(null===t)return null;const i={from:t.Os(),to:t.ui()};return this.Ou(i)}Ou(t){const i=Math.round(t.from),n=Math.round(t.to),s=b(this.Bu()),e=b(this.Au());return{from:b(this.Ui(Math.max(s,i))),to:b(this.Ui(Math.min(e,n)))}}Iu(t){return{from:b(this.Va(t.from,!0)),to:b(this.Va(t.to,!0))}}Hi(){return this.__}S_(t){if(!isFinite(t)||t<=0)return;if(this.__===t)return;const i=this.Du(),n=this.__;if(this.__=t,this.vu=!0,this.cn.lockVisibleTimeRangeOnResize&&0!==n){const i=this.Su*t/n;this.Su=i}if(this.cn.fixLeftEdge&&null!==i&&i.Os()<=0){const i=n-t;this.xu-=Math.round(i/this.Su)+1,this.vu=!0}this.zu(),this.Lu()}It(t){if(this.Ni()||!B(t))return 0;const i=this.Eu()+this.xu-t;return this.__-(i+.5)*this.Su-1}Qs(t,i){const n=this.Eu(),s=void 0===i?0:i.from,e=void 0===i?t.length:i.to;for(let i=s;i<e;i++){const s=t[i].ot,e=n+this.xu-s,r=this.__-(e+.5)*this.Su-1;t[i].nt=r}}Nu(t){return Math.ceil(this.Fu(t))}Jn(t){this.vu=!0,this.xu=t,this.Lu(),this.$i.Wu(),this.$i.Uh()}le(){return this.Su}Gn(t){this.ju(t),this.Lu(),this.$i.Wu(),this.$i.Uh()}Hu(){return this.xu}Ha(){if(this.Ni())return null;if(null!==this.gu)return this.gu;const t=this.Su,i=5*(this.$i.W().layout.fontSize+4)/8*(this.cn.tickMarkMaxCharacterLength||8),n=Math.round(i/t),s=b(this.Xs()),e=Math.max(s.Os(),s.Os()-n),r=Math.max(s.ui(),s.ui()-n),h=this.cu.su(t,i),l=this.Bu()+n,a=this.Au()-n,o=this.$u(),_=this.cn.fixLeftEdge||o,u=this.cn.fixRightEdge||o;let c=0;for(const t of h){if(!(e<=t.index&&t.index<=r))continue;let n;c<this.Mu.length?(n=this.Mu[c],n.coord=this.It(t.index),n.label=this.Uu(t),n.weight=t.weight):(n={needAlignCoordinate:!1,coord:this.It(t.index),label:this.Uu(t),weight:t.weight},this.Mu.push(n)),this.Su>i/2&&!o?n.needAlignCoordinate=!1:n.needAlignCoordinate=_&&t.index<=l||u&&t.index>=a,c++}return this.Mu.length=c,this.gu=this.Mu,this.Mu}qu(){this.vu=!0,this.Gn(this.cn.barSpacing),this.Jn(this.cn.rightOffset)}Yu(t){this.vu=!0,this._u=t,this.Lu(),this.Tu()}Zu(t,i){const n=this.Fu(t),s=this.le(),e=s+i*(s/10);this.Gn(e),this.cn.rightBarStaysOnScroll||this.Jn(this.Hu()+(n-this.Fu(t)))}Go(t){this.Mo&&this.n_(),null===this.wo&&null===this.wu&&(this.Ni()||(this.wo=t,this.Xu()))}Jo(t){if(null===this.wu)return;const i=kt(this.__-t,0,this.__),n=kt(this.__-b(this.wo),0,this.__);0!==i&&0!==n&&this.Gn(this.wu.le*i/n)}Qo(){null!==this.wo&&(this.wo=null,this.Ku())}t_(t){null===this.Mo&&null===this.wu&&(this.Ni()||(this.Mo=t,this.Xu()))}i_(t){if(null===this.Mo)return;const i=(this.Mo-t)/this.le();this.xu=b(this.wu).Hu+i,this.vu=!0,this.Lu()}n_(){null!==this.Mo&&(this.Mo=null,this.Ku())}Gu(){this.Ju(this.cn.rightOffset)}Ju(t,i=400){if(!isFinite(t))throw new RangeError(\"offset is required and must be finite number\");if(!isFinite(i)||i<=0)throw new RangeError(\"animationDuration (optional) must be finite positive number\");const n=this.xu,s=performance.now();this.$i.Zn({Qu:t=>(t-s)/i>=1,tc:e=>{const r=(e-s)/i;return r>=1?t:n+(t-n)*r}})}bt(t,i){this.vu=!0,this.uu=t,this.cu.iu(t,i),this.Lu()}nc(){return this.pu}sc(){return this.mu}ec(){return this.bu}Eu(){return this._u||0}rc(t){const i=t.G_();this.ju(this.__/i),this.xu=t.ui()-this.Eu(),this.Lu(),this.vu=!0,this.$i.Wu(),this.$i.Uh()}hc(){const t=this.Bu(),i=this.Au();null!==t&&null!==i&&this.rc(new xn(t,i+this.cn.rightOffset))}lc(t){const i=new xn(t.from,t.to);this.rc(i)}qi(t){return void 0!==this.yo.timeFormatter?this.yo.timeFormatter(t.originalTime):this.q_.formatHorzItem(t.time)}$u(){const{handleScroll:t,handleScale:i}=this.$i.W();return!(t.horzTouchDrag||t.mouseWheel||t.pressedMouseMove||t.vertTouchDrag||i.axisDoubleClickReset.time||i.axisPressedMouseMove.time||i.mouseWheel||i.pinch)}Bu(){return 0===this.uu.length?null:0}Au(){return 0===this.uu.length?null:this.uu.length-1}ac(t){return(this.__-1-t)/this.Su}Fu(t){const i=this.ac(t),n=this.Eu()+this.xu-i;return Math.round(1e6*n)/1e6}ju(t){const i=this.Su;this.Su=t,this.zu(),i!==this.Su&&(this.vu=!0,this.oc())}Ru(){if(!this.vu)return;if(this.vu=!1,this.Ni())return void this._c(yn.ou());const t=this.Eu(),i=this.__/this.Su,n=this.xu+t,s=new xn(n-i+1,n);this._c(new yn(s))}zu(){const t=this.uc();if(this.Su<t&&(this.Su=t,this.vu=!0),0!==this.__){const t=.5*this.__;this.Su>t&&(this.Su=t,this.vu=!0)}}uc(){return this.cn.fixLeftEdge&&this.cn.fixRightEdge&&0!==this.uu.length?this.__/this.uu.length:this.cn.minBarSpacing}Lu(){const t=this.cc();null!==t&&this.xu<t&&(this.xu=t,this.vu=!0);const i=this.dc();this.xu>i&&(this.xu=i,this.vu=!0)}cc(){const t=this.Bu(),i=this._u;if(null===t||null===i)return null;return t-i-1+(this.cn.fixLeftEdge?this.__/this.Su:Math.min(2,this.uu.length))}dc(){return this.cn.fixRightEdge?0:this.__/this.Su-Math.min(2,this.uu.length)}Xu(){this.wu={le:this.le(),Hu:this.Hu()}}Ku(){this.wu=null}Uu(t){let i=this.du.get(t.weight);return void 0===i&&(i=new Mn((t=>this.fc(t)),this.q_),this.du.set(t.weight,i)),i.Y_(t)}fc(t){return this.q_.formatTickmark(t,this.yo)}_c(t){const i=this.fu;this.fu=t,Sn(i.lu(),this.fu.lu())||this.pu.m(),Sn(i.au(),this.fu.au())||this.mu.m(),this.oc()}oc(){this.gu=null}Cu(){this.oc(),this.du.clear()}ku(){this.q_.updateFormatter(this.yo)}Tu(){if(!this.cn.fixLeftEdge)return;const t=this.Bu();if(null===t)return;const i=this.Xs();if(null===i)return;const n=i.Os()-t;if(n<0){const t=this.xu-n-1;this.Jn(t)}this.zu()}Pu(){this.Lu(),this.zu()}}class Pn{X(t,i,n){t.useMediaCoordinateSpace((t=>this.K(t,i,n)))}gl(t,i,n){t.useMediaCoordinateSpace((t=>this.vc(t,i,n)))}vc(t,i,n){}}class Rn extends Pn{constructor(t){super(),this.mc=new Map,this.zt=t}K(t){}vc(t){if(!this.zt.yt)return;const{context:i,mediaSize:n}=t;let s=0;for(const t of this.zt.bc){if(0===t.Kt.length)continue;i.font=t.R;const e=this.wc(i,t.Kt);e>n.width?t.Zu=n.width/e:t.Zu=1,s+=t.gc*t.Zu}let e=0;switch(this.zt.Mc){case\"top\":e=0;break;case\"center\":e=Math.max((n.height-s)/2,0);break;case\"bottom\":e=Math.max(n.height-s,0)}i.fillStyle=this.zt.V;for(const t of this.zt.bc){i.save();let s=0;switch(this.zt.xc){case\"left\":i.textAlign=\"left\",s=t.gc/2;break;case\"center\":i.textAlign=\"center\",s=n.width/2;break;case\"right\":i.textAlign=\"right\",s=n.width-1-t.gc/2}i.translate(s,e),i.textBaseline=\"top\",i.font=t.R,i.scale(t.Zu,t.Zu),i.fillText(t.Kt,0,t.Sc),i.restore(),e+=t.gc*t.Zu}}wc(t,i){const n=this.kc(t.font);let s=n.get(i);return void 0===s&&(s=t.measureText(i).width,n.set(i,s)),s}kc(t){let i=this.mc.get(t);return void 0===i&&(i=new Map,this.mc.set(t,i)),i}}class Dn{constructor(t){this.ft=!0,this.Ft={yt:!1,V:\"\",bc:[],Mc:\"center\",xc:\"center\"},this.Wt=new Rn(this.Ft),this.jt=t}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt}Mt(){const t=this.jt.W(),i=this.Ft;i.yt=t.visible,i.yt&&(i.V=t.color,i.xc=t.horzAlign,i.Mc=t.vertAlign,i.bc=[{Kt:t.text,R:F(t.fontSize,t.fontFamily,t.fontStyle),gc:1.2*t.fontSize,Sc:0,Zu:0}])}}class Vn extends lt{constructor(t,i){super(),this.cn=i,this.wn=new Dn(this)}Rn(){return[]}Pn(){return[this.wn]}W(){return this.cn}Vn(){this.wn.bt()}}var On,Bn,An,In,zn;!function(t){t[t.OnTouchEnd=0]=\"OnTouchEnd\",t[t.OnNextTap=1]=\"OnNextTap\"}(On||(On={}));class Ln{constructor(t,i,n){this.yc=[],this.Cc=[],this.__=0,this.Tc=null,this.Pc=new D,this.Rc=new D,this.Dc=null,this.Vc=t,this.cn=i,this.q_=n,this.Oc=new W(this),this.yl=new Tn(this,i.timeScale,this.cn.localization,n),this.vt=new ot(this,i.crosshair),this.Bc=new Ji(i.crosshair),this.Ac=new Vn(this,i.watermark),this.Ic(),this.yc[0].x_(2e3),this.zc=this.Lc(0),this.Ec=this.Lc(1)}Kl(){this.Nc(ut.es())}Uh(){this.Nc(ut.ss())}oa(){this.Nc(new ut(1))}Gl(t){const i=this.Fc(t);this.Nc(i)}Wc(){return this.Tc}jc(t){const i=this.Tc;this.Tc=t,null!==i&&this.Gl(i.Hc),null!==t&&this.Gl(t.Hc)}W(){return this.cn}$h(t){V(this.cn,t),this.yc.forEach((i=>i.b_(t))),void 0!==t.timeScale&&this.yl.$h(t.timeScale),void 0!==t.localization&&this.yl.yu(t.localization),(t.leftPriceScale||t.rightPriceScale)&&this.Pc.m(),this.zc=this.Lc(0),this.Ec=this.Lc(1),this.Kl()}$c(t,i){if(\"left\"===t)return void this.$h({leftPriceScale:i});if(\"right\"===t)return void this.$h({rightPriceScale:i});const n=this.Uc(t);null!==n&&(n.Dt.$h(i),this.Pc.m())}Uc(t){for(const i of this.yc){const n=i.w_(t);if(null!==n)return{Ht:i,Dt:n}}return null}St(){return this.yl}qc(){return this.yc}Yc(){return this.Ac}Zc(){return this.vt}Xc(){return this.Rc}Kc(t,i){t.Lo(i),this.Wu()}S_(t){this.__=t,this.yl.S_(this.__),this.yc.forEach((i=>i.S_(t))),this.Wu()}Ic(t){const i=new gn(this.yl,this);void 0!==t?this.yc.splice(t,0,i):this.yc.push(i);const n=void 0===t?this.yc.length-1:t,s=ut.es();return s.Nn(n,{Fn:0,Wn:!0}),this.Nc(s),i}V_(t,i,n){t.V_(i,n)}O_(t,i,n){t.O_(i,n),this.Jl(),this.Nc(this.Gc(t,2))}B_(t,i){t.B_(i),this.Nc(this.Gc(t,2))}A_(t,i,n){i.Vo()||t.A_(i,n)}I_(t,i,n){i.Vo()||(t.I_(i,n),this.Jl(),this.Nc(this.Gc(t,2)))}z_(t,i){i.Vo()||(t.z_(i),this.Nc(this.Gc(t,2)))}E_(t,i){t.E_(i),this.Nc(this.Gc(t,2))}Jc(t){this.yl.Go(t)}Qc(t,i){const n=this.St();if(n.Ni()||0===i)return;const s=n.Hi();t=Math.max(1,Math.min(t,s)),n.Zu(t,i),this.Wu()}td(t){this.nd(0),this.sd(t),this.ed()}rd(t){this.yl.Jo(t),this.Wu()}hd(){this.yl.Qo(),this.Uh()}nd(t){this.yl.t_(t)}sd(t){this.yl.i_(t),this.Wu()}ed(){this.yl.n_(),this.Uh()}wt(){return this.Cc}ld(t,i,n,s,e){this.vt.gn(t,i);let r=NaN,h=this.yl.Nu(t);const l=this.yl.Xs();null!==l&&(h=Math.min(Math.max(l.Os(),h),l.ui()));const a=s.vn(),o=a.Ct();null!==o&&(r=a.pn(i,o)),r=this.Bc.Oa(r,h,s),this.vt.kn(h,r,s),this.oa(),e||this.Rc.m(this.vt.xt(),{x:t,y:i},n)}ad(t,i,n){const s=n.vn(),e=s.Ct(),r=s.Rt(t,b(e)),h=this.yl.Va(i,!0),l=this.yl.It(b(h));this.ld(l,r,null,n,!0)}od(t){this.Zc().Cn(),this.oa(),t||this.Rc.m(null,null,null)}Jl(){const t=this.vt.Ht();if(null!==t){const i=this.vt.xn(),n=this.vt.Sn();this.ld(i,n,null,t)}this.vt.Vn()}_d(t,i,n){const s=this.yl.mn(0);void 0!==i&&void 0!==n&&this.yl.bt(i,n);const e=this.yl.mn(0),r=this.yl.Eu(),h=this.yl.Xs();if(null!==h&&null!==s&&null!==e){const i=h.Kr(r),l=this.q_.key(s)>this.q_.key(e),a=null!==t&&t>r&&!l,o=this.yl.W().allowShiftVisibleRangeOnWhitespaceReplacement,_=i&&(!(void 0===n)||o)&&this.yl.W().shiftVisibleRangeOnNewBar;if(a&&!_){const i=t-r;this.yl.Jn(this.yl.Hu()-i)}}this.yl.Yu(t)}ia(t){null!==t&&t.F_()}dr(t){const i=this.yc.find((i=>i.Uo().includes(t)));return void 0===i?null:i}Wu(){this.Ac.Vn(),this.yc.forEach((t=>t.F_())),this.Jl()}S(){this.yc.forEach((t=>t.S())),this.yc.length=0,this.cn.localization.priceFormatter=void 0,this.cn.localization.percentageFormatter=void 0,this.cn.localization.timeFormatter=void 0}ud(){return this.Oc}br(){return this.Oc.W()}g_(){return this.Pc}dd(t,i,n){const s=this.yc[0],e=this.fd(i,t,s,n);return this.Cc.push(e),1===this.Cc.length?this.Kl():this.Uh(),e}vd(t){const i=this.dr(t),n=this.Cc.indexOf(t);p(-1!==n,\"Series not found\"),this.Cc.splice(n,1),b(i).Zo(t),t.S&&t.S()}Xl(t,i){const n=b(this.dr(t));n.Zo(t);const s=this.Uc(i);if(null===s){const s=t.Xi();n.qo(t,i,s)}else{const e=s.Ht===n?t.Xi():void 0;s.Ht.qo(t,i,e)}}hc(){const t=ut.ss();t.$n(),this.Nc(t)}pd(t){const i=ut.ss();i.Yn(t),this.Nc(i)}Kn(){const t=ut.ss();t.Kn(),this.Nc(t)}Gn(t){const i=ut.ss();i.Gn(t),this.Nc(i)}Jn(t){const i=ut.ss();i.Jn(t),this.Nc(i)}Zn(t){const i=ut.ss();i.Zn(t),this.Nc(i)}Un(){const t=ut.ss();t.Un(),this.Nc(t)}md(){return this.cn.rightPriceScale.visible?\"right\":\"left\"}bd(){return this.Ec}q(){return this.zc}Bt(t){const i=this.Ec,n=this.zc;if(i===n)return i;if(t=Math.max(0,Math.min(100,Math.round(100*t))),null===this.Dc||this.Dc.Ps!==n||this.Dc.Rs!==i)this.Dc={Ps:n,Rs:i,wd:new Map};else{const i=this.Dc.wd.get(t);if(void 0!==i)return i}const s=function(t,i,n){const[s,e,r,h]=T(t),[l,a,o,_]=T(i),u=[M(s+n*(l-s)),M(e+n*(a-e)),M(r+n*(o-r)),x(h+n*(_-h))];return`rgba(${u[0]}, ${u[1]}, ${u[2]}, ${u[3]})`}(n,i,t/100);return this.Dc.wd.set(t,s),s}Gc(t,i){const n=new ut(i);if(null!==t){const s=this.yc.indexOf(t);n.Nn(s,{Fn:i})}return n}Fc(t,i){return void 0===i&&(i=2),this.Gc(this.dr(t),i)}Nc(t){this.Vc&&this.Vc(t),this.yc.forEach((t=>t.j_().qh().bt()))}fd(t,i,n,s){const e=new Gi(this,t,i,n,s),r=void 0!==t.priceScaleId?t.priceScaleId:this.md();return n.qo(e,r),_t(r)||e.$h(t),e}Lc(t){const i=this.cn.layout;return\"gradient\"===i.background.type?0===t?i.background.topColor:i.background.bottomColor:i.background.color}}function En(t){return!O(t)&&!A(t)}function Nn(t){return O(t)}!function(t){t[t.Disabled=0]=\"Disabled\",t[t.Continuous=1]=\"Continuous\",t[t.OnDataUpdate=2]=\"OnDataUpdate\"}(Bn||(Bn={})),function(t){t[t.LastBar=0]=\"LastBar\",t[t.LastVisible=1]=\"LastVisible\"}(An||(An={})),function(t){t.Solid=\"solid\",t.VerticalGradient=\"gradient\"}(In||(In={})),function(t){t[t.Year=0]=\"Year\",t[t.Month=1]=\"Month\",t[t.DayOfMonth=2]=\"DayOfMonth\",t[t.Time=3]=\"Time\",t[t.TimeWithSeconds=4]=\"TimeWithSeconds\"}(zn||(zn={}));const Fn=t=>t.getUTCFullYear();function Wn(t,i,n){return i.replace(/yyyy/g,(t=>dt(Fn(t),4))(t)).replace(/yy/g,(t=>dt(Fn(t)%100,2))(t)).replace(/MMMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:\"long\"}))(t,n)).replace(/MMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:\"short\"}))(t,n)).replace(/MM/g,(t=>dt((t=>t.getUTCMonth()+1)(t),2))(t)).replace(/dd/g,(t=>dt((t=>t.getUTCDate())(t),2))(t))}class jn{constructor(t=\"yyyy-MM-dd\",i=\"default\"){this.gd=t,this.Md=i}Y_(t){return Wn(t,this.gd,this.Md)}}class Hn{constructor(t){this.xd=t||\"%h:%m:%s\"}Y_(t){return this.xd.replace(\"%h\",dt(t.getUTCHours(),2)).replace(\"%m\",dt(t.getUTCMinutes(),2)).replace(\"%s\",dt(t.getUTCSeconds(),2))}}const $n={Sd:\"yyyy-MM-dd\",kd:\"%h:%m:%s\",yd:\" \",Cd:\"default\"};class Un{constructor(t={}){const i=Object.assign(Object.assign({},$n),t);this.Td=new jn(i.Sd,i.Cd),this.Pd=new Hn(i.kd),this.Rd=i.yd}Y_(t){return`${this.Td.Y_(t)}${this.Rd}${this.Pd.Y_(t)}`}}function qn(t){return 60*t*60*1e3}function Yn(t){return 60*t*1e3}const Zn=[{Dd:(Xn=1,1e3*Xn),Vd:10},{Dd:Yn(1),Vd:20},{Dd:Yn(5),Vd:21},{Dd:Yn(30),Vd:22},{Dd:qn(1),Vd:30},{Dd:qn(3),Vd:31},{Dd:qn(6),Vd:32},{Dd:qn(12),Vd:33}];var Xn;function Kn(t,i){if(t.getUTCFullYear()!==i.getUTCFullYear())return 70;if(t.getUTCMonth()!==i.getUTCMonth())return 60;if(t.getUTCDate()!==i.getUTCDate())return 50;for(let n=Zn.length-1;n>=0;--n)if(Math.floor(i.getTime()/Zn[n].Dd)!==Math.floor(t.getTime()/Zn[n].Dd))return Zn[n].Vd;return 0}function Gn(t){let i=t;if(A(t)&&(i=Qn(t)),!En(i))throw new Error(\"time must be of type BusinessDay\");const n=new Date(Date.UTC(i.year,i.month-1,i.day,0,0,0,0));return{Od:Math.round(n.getTime()/1e3),Bd:i}}function Jn(t){if(!Nn(t))throw new Error(\"time must be of type isUTCTimestamp\");return{Od:t}}function Qn(t){const i=new Date(t);if(isNaN(i.getTime()))throw new Error(`Invalid date string=${t}, expected format=yyyy-mm-dd`);return{day:i.getUTCDate(),month:i.getUTCMonth()+1,year:i.getUTCFullYear()}}function ts(t){A(t.time)&&(t.time=Qn(t.time))}class is{options(){return this.cn}setOptions(t){this.cn=t,this.updateFormatter(t.localization)}preprocessData(t){Array.isArray(t)?function(t){t.forEach(ts)}(t):ts(t)}createConverterToInternalObj(t){return b(function(t){return 0===t.length?null:En(t[0].time)||A(t[0].time)?Gn:Jn}(t))}key(t){return\"object\"==typeof t&&\"Od\"in t?t.Od:this.key(this.convertHorzItemToInternal(t))}cacheKey(t){const i=t;return void 0===i.Bd?new Date(1e3*i.Od).getTime():new Date(Date.UTC(i.Bd.year,i.Bd.month-1,i.Bd.day)).getTime()}convertHorzItemToInternal(t){return Nn(i=t)?Jn(i):En(i)?Gn(i):Gn(Qn(i));var i}updateFormatter(t){if(!this.cn)return;const i=t.dateFormat;this.cn.timeScale.timeVisible?this.Ad=new Un({Sd:i,kd:this.cn.timeScale.secondsVisible?\"%h:%m:%s\":\"%h:%m\",yd:\" \",Cd:t.locale}):this.Ad=new jn(i,t.locale)}formatHorzItem(t){const i=t;return this.Ad.Y_(new Date(1e3*i.Od))}formatTickmark(t,i){const n=function(t,i,n){switch(t){case 0:case 10:return i?n?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return i?3:2;case 50:return 2;case 60:return 1;case 70:return 0}}(t.weight,this.cn.timeScale.timeVisible,this.cn.timeScale.secondsVisible),s=this.cn.timeScale;if(void 0!==s.tickMarkFormatter){const e=s.tickMarkFormatter(t.originalTime,n,i.locale);if(null!==e)return e}return function(t,i,n){const s={};switch(i){case 0:s.year=\"numeric\";break;case 1:s.month=\"short\";break;case 2:s.day=\"numeric\";break;case 3:s.hour12=!1,s.hour=\"2-digit\",s.minute=\"2-digit\";break;case 4:s.hour12=!1,s.hour=\"2-digit\",s.minute=\"2-digit\",s.second=\"2-digit\"}const e=void 0===t.Bd?new Date(1e3*t.Od):new Date(Date.UTC(t.Bd.year,t.Bd.month-1,t.Bd.day));return new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()).toLocaleString(n,s)}(t.time,n,i.locale)}maxTickMarkWeight(t){let i=t.reduce(Cn,t[0]).weight;return i>30&&i<50&&(i=30),i}fillWeightsForPoints(t,i){!function(t,i=0){if(0===t.length)return;let n=0===i?null:t[i-1].time.Od,s=null!==n?new Date(1e3*n):null,e=0;for(let r=i;r<t.length;++r){const i=t[r],h=new Date(1e3*i.time.Od);null!==s&&(i.timeWeight=Kn(h,s)),e+=i.time.Od-(n||i.time.Od),n=i.time.Od,s=h}if(0===i&&t.length>1){const i=Math.ceil(e/(t.length-1)),n=new Date(1e3*(t[0].time.Od-i));t[0].timeWeight=Kn(new Date(1e3*t[0].time.Od),n)}}(t,i)}static Id(t){return V({localization:{dateFormat:\"dd MMM 'yy\"}},null!=t?t:{})}}const ns=\"undefined\"!=typeof window;function ss(){return!!ns&&window.navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}function es(){return!!ns&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function rs(t){return t+t%2}function hs(t,i){return t.zd-i.zd}function ls(t,i,n){const s=(t.zd-i.zd)/(t.ot-i.ot);return Math.sign(s)*Math.min(Math.abs(s),n)}class as{constructor(t,i,n,s){this.Ld=null,this.Ed=null,this.Nd=null,this.Fd=null,this.Wd=null,this.jd=0,this.Hd=0,this.$d=t,this.Ud=i,this.qd=n,this.rs=s}Yd(t,i){if(null!==this.Ld){if(this.Ld.ot===i)return void(this.Ld.zd=t);if(Math.abs(this.Ld.zd-t)<this.rs)return}this.Fd=this.Nd,this.Nd=this.Ed,this.Ed=this.Ld,this.Ld={ot:i,zd:t}}Vr(t,i){if(null===this.Ld||null===this.Ed)return;if(i-this.Ld.ot>50)return;let n=0;const s=ls(this.Ld,this.Ed,this.Ud),e=hs(this.Ld,this.Ed),r=[s],h=[e];if(n+=e,null!==this.Nd){const t=ls(this.Ed,this.Nd,this.Ud);if(Math.sign(t)===Math.sign(s)){const i=hs(this.Ed,this.Nd);if(r.push(t),h.push(i),n+=i,null!==this.Fd){const t=ls(this.Nd,this.Fd,this.Ud);if(Math.sign(t)===Math.sign(s)){const i=hs(this.Nd,this.Fd);r.push(t),h.push(i),n+=i}}}}let l=0;for(let t=0;t<r.length;++t)l+=h[t]/n*r[t];Math.abs(l)<this.$d||(this.Wd={zd:t,ot:i},this.Hd=l,this.jd=function(t,i){const n=Math.log(i);return Math.log(1*n/-t)/n}(Math.abs(l),this.qd))}tc(t){const i=b(this.Wd),n=t-i.ot;return i.zd+this.Hd*(Math.pow(this.qd,n)-1)/Math.log(this.qd)}Qu(t){return null===this.Wd||this.Zd(t)===this.jd}Zd(t){const i=t-b(this.Wd).ot;return Math.min(i,this.jd)}}class os{constructor(t,i){this.Xd=void 0,this.Kd=void 0,this.Gd=void 0,this.en=!1,this.Jd=t,this.Qd=i,this.tf()}bt(){this.tf()}if(){this.Xd&&this.Jd.removeChild(this.Xd),this.Kd&&this.Jd.removeChild(this.Kd),this.Xd=void 0,this.Kd=void 0}nf(){return this.en!==this.sf()||this.Gd!==this.ef()}ef(){return P(T(this.Qd.W().layout.textColor))>160?\"dark\":\"light\"}sf(){return this.Qd.W().layout.attributionLogo}rf(){const t=new URL(location.href);return t.hostname?\"&utm_source=\"+t.hostname+t.pathname:\"\"}tf(){this.nf()&&(this.if(),this.en=this.sf(),this.en&&(this.Gd=this.ef(),this.Kd=document.createElement(\"style\"),this.Kd.innerText=\"a#tv-attr-logo{--fill:#131722;--stroke:#fff;position:absolute;left:10px;bottom:10px;height:19px;width:35px;margin:0;padding:0;border:0;z-index:3;}a#tv-attr-logo[data-dark]{--fill:#D1D4DC;--stroke:#131722;}\",this.Xd=document.createElement(\"a\"),this.Xd.href=`https://www.tradingview.com/?utm_medium=lwc-link&utm_campaign=lwc-chart${this.rf()}`,this.Xd.title=\"Charting by TradingView\",this.Xd.id=\"tv-attr-logo\",this.Xd.target=\"_blank\",this.Xd.innerHTML='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 35 19\" width=\"35\" height=\"19\" fill=\"none\"><g fill-rule=\"evenodd\" clip-path=\"url(#a)\" clip-rule=\"evenodd\"><path fill=\"var(--stroke)\" d=\"M2 0H0v10h6v9h21.4l.5-1.3 6-15 1-2.7H23.7l-.5 1.3-.2.6a5 5 0 0 0-7-.9V0H2Zm20 17h4l5.2-13 .8-2h-7l-1 2.5-.2.5-1.5 3.8-.3.7V17Zm-.8-10a3 3 0 0 0 .7-2.7A3 3 0 1 0 16.8 7h4.4ZM14 7V2H2v6h6v9h4V7h2Z\"/><path fill=\"var(--fill)\" d=\"M14 2H2v6h6v9h6V2Zm12 15h-7l6-15h7l-6 15Zm-7-9a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"/></g><defs><clipPath id=\"a\"><path fill=\"var(--stroke)\" d=\"M0 0h35v19H0z\"/></clipPath></defs></svg>',this.Xd.toggleAttribute(\"data-dark\",\"dark\"===this.Gd),this.Jd.appendChild(this.Kd),this.Jd.appendChild(this.Xd)))}}function _s(t,n){const s=b(t.ownerDocument).createElement(\"canvas\");t.appendChild(s);const e=i(s,{type:\"device-pixel-content-box\",options:{allowResizeObserver:!1},transform:(t,i)=>({width:Math.max(t.width,i.width),height:Math.max(t.height,i.height)})});return e.resizeCanvasElement(n),e}function us(t){var i;t.width=1,t.height=1,null===(i=t.getContext(\"2d\"))||void 0===i||i.clearRect(0,0,1,1)}function cs(t,i,n,s){t.gl&&t.gl(i,n,s)}function ds(t,i,n,s){t.X(i,n,s)}function fs(t,i,n,s){const e=t(n,s);for(const t of e){const n=t.gt();null!==n&&i(n)}}function vs(t){ns&&void 0!==window.chrome&&t.addEventListener(\"mousedown\",(t=>{if(1===t.button)return t.preventDefault(),!1}))}class ps{constructor(t,i,n){this.hf=0,this.lf=null,this.af={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY},this._f=0,this.uf=null,this.cf={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY},this.df=null,this.ff=!1,this.vf=null,this.pf=null,this.mf=!1,this.bf=!1,this.wf=!1,this.gf=null,this.Mf=null,this.xf=null,this.Sf=null,this.kf=null,this.yf=null,this.Cf=null,this.Tf=0,this.Pf=!1,this.Rf=!1,this.Df=!1,this.Vf=0,this.Of=null,this.Bf=!es(),this.Af=t=>{this.If(t)},this.zf=t=>{if(this.Lf(t)){const i=this.Ef(t);if(++this._f,this.uf&&this._f>1){const{Nf:n}=this.Ff(ws(t),this.cf);n<30&&!this.wf&&this.Wf(i,this.Hf.jf),this.$f()}}else{const i=this.Ef(t);if(++this.hf,this.lf&&this.hf>1){const{Nf:n}=this.Ff(ws(t),this.af);n<5&&!this.bf&&this.Uf(i,this.Hf.qf),this.Yf()}}},this.Zf=t,this.Hf=i,this.cn=n,this.Xf()}S(){null!==this.gf&&(this.gf(),this.gf=null),null!==this.Mf&&(this.Mf(),this.Mf=null),null!==this.Sf&&(this.Sf(),this.Sf=null),null!==this.kf&&(this.kf(),this.kf=null),null!==this.yf&&(this.yf(),this.yf=null),null!==this.xf&&(this.xf(),this.xf=null),this.Kf(),this.Yf()}Gf(t){this.Sf&&this.Sf();const i=this.Jf.bind(this);if(this.Sf=()=>{this.Zf.removeEventListener(\"mousemove\",i)},this.Zf.addEventListener(\"mousemove\",i),this.Lf(t))return;const n=this.Ef(t);this.Uf(n,this.Hf.Qf),this.Bf=!0}Yf(){null!==this.lf&&clearTimeout(this.lf),this.hf=0,this.lf=null,this.af={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY}}$f(){null!==this.uf&&clearTimeout(this.uf),this._f=0,this.uf=null,this.cf={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY}}Jf(t){if(this.Df||null!==this.pf)return;if(this.Lf(t))return;const i=this.Ef(t);this.Uf(i,this.Hf.tv),this.Bf=!0}iv(t){const i=Ms(t.changedTouches,b(this.Of));if(null===i)return;if(this.Vf=gs(t),null!==this.Cf)return;if(this.Rf)return;this.Pf=!0;const n=this.Ff(ws(i),b(this.pf)),{nv:s,sv:e,Nf:r}=n;if(this.mf||!(r<5)){if(!this.mf){const t=.5*s,i=e>=t&&!this.cn.ev(),n=t>e&&!this.cn.rv();i||n||(this.Rf=!0),this.mf=!0,this.wf=!0,this.Kf(),this.$f()}if(!this.Rf){const n=this.Ef(t,i);this.Wf(n,this.Hf.hv),bs(t)}}}lv(t){if(0!==t.button)return;const i=this.Ff(ws(t),b(this.vf)),{Nf:n}=i;if(n>=5&&(this.bf=!0,this.Yf()),this.bf){const i=this.Ef(t);this.Uf(i,this.Hf.av)}}Ff(t,i){const n=Math.abs(i.nt-t.nt),s=Math.abs(i.st-t.st);return{nv:n,sv:s,Nf:n+s}}ov(t){let i=Ms(t.changedTouches,b(this.Of));if(null===i&&0===t.touches.length&&(i=t.changedTouches[0]),null===i)return;this.Of=null,this.Vf=gs(t),this.Kf(),this.pf=null,this.yf&&(this.yf(),this.yf=null);const n=this.Ef(t,i);if(this.Wf(n,this.Hf._v),++this._f,this.uf&&this._f>1){const{Nf:t}=this.Ff(ws(i),this.cf);t<30&&!this.wf&&this.Wf(n,this.Hf.jf),this.$f()}else this.wf||(this.Wf(n,this.Hf.uv),this.Hf.uv&&bs(t));0===this._f&&bs(t),0===t.touches.length&&this.ff&&(this.ff=!1,bs(t))}If(t){if(0!==t.button)return;const i=this.Ef(t);if(this.vf=null,this.Df=!1,this.kf&&(this.kf(),this.kf=null),ss()){this.Zf.ownerDocument.documentElement.removeEventListener(\"mouseleave\",this.Af)}if(!this.Lf(t))if(this.Uf(i,this.Hf.cv),++this.hf,this.lf&&this.hf>1){const{Nf:n}=this.Ff(ws(t),this.af);n<5&&!this.bf&&this.Uf(i,this.Hf.qf),this.Yf()}else this.bf||this.Uf(i,this.Hf.dv)}Kf(){null!==this.df&&(clearTimeout(this.df),this.df=null)}fv(t){if(null!==this.Of)return;const i=t.changedTouches[0];this.Of=i.identifier,this.Vf=gs(t);const n=this.Zf.ownerDocument.documentElement;this.wf=!1,this.mf=!1,this.Rf=!1,this.pf=ws(i),this.yf&&(this.yf(),this.yf=null);{const i=this.iv.bind(this),s=this.ov.bind(this);this.yf=()=>{n.removeEventListener(\"touchmove\",i),n.removeEventListener(\"touchend\",s)},n.addEventListener(\"touchmove\",i,{passive:!1}),n.addEventListener(\"touchend\",s,{passive:!1}),this.Kf(),this.df=setTimeout(this.vv.bind(this,t),240)}const s=this.Ef(t,i);this.Wf(s,this.Hf.pv),this.uf||(this._f=0,this.uf=setTimeout(this.$f.bind(this),500),this.cf=ws(i))}mv(t){if(0!==t.button)return;const i=this.Zf.ownerDocument.documentElement;ss()&&i.addEventListener(\"mouseleave\",this.Af),this.bf=!1,this.vf=ws(t),this.kf&&(this.kf(),this.kf=null);{const t=this.lv.bind(this),n=this.If.bind(this);this.kf=()=>{i.removeEventListener(\"mousemove\",t),i.removeEventListener(\"mouseup\",n)},i.addEventListener(\"mousemove\",t),i.addEventListener(\"mouseup\",n)}if(this.Df=!0,this.Lf(t))return;const n=this.Ef(t);this.Uf(n,this.Hf.bv),this.lf||(this.hf=0,this.lf=setTimeout(this.Yf.bind(this),500),this.af=ws(t))}Xf(){this.Zf.addEventListener(\"mouseenter\",this.Gf.bind(this)),this.Zf.addEventListener(\"touchcancel\",this.Kf.bind(this));{const t=this.Zf.ownerDocument,i=t=>{this.Hf.wv&&(t.composed&&this.Zf.contains(t.composedPath()[0])||t.target&&this.Zf.contains(t.target)||this.Hf.wv())};this.Mf=()=>{t.removeEventListener(\"touchstart\",i)},this.gf=()=>{t.removeEventListener(\"mousedown\",i)},t.addEventListener(\"mousedown\",i),t.addEventListener(\"touchstart\",i,{passive:!0})}es()&&(this.xf=()=>{this.Zf.removeEventListener(\"dblclick\",this.zf)},this.Zf.addEventListener(\"dblclick\",this.zf)),this.Zf.addEventListener(\"mouseleave\",this.gv.bind(this)),this.Zf.addEventListener(\"touchstart\",this.fv.bind(this),{passive:!0}),vs(this.Zf),this.Zf.addEventListener(\"mousedown\",this.mv.bind(this)),this.Mv(),this.Zf.addEventListener(\"touchmove\",(()=>{}),{passive:!1})}Mv(){void 0===this.Hf.xv&&void 0===this.Hf.Sv&&void 0===this.Hf.kv||(this.Zf.addEventListener(\"touchstart\",(t=>this.yv(t.touches)),{passive:!0}),this.Zf.addEventListener(\"touchmove\",(t=>{if(2===t.touches.length&&null!==this.Cf&&void 0!==this.Hf.Sv){const i=ms(t.touches[0],t.touches[1])/this.Tf;this.Hf.Sv(this.Cf,i),bs(t)}}),{passive:!1}),this.Zf.addEventListener(\"touchend\",(t=>{this.yv(t.touches)})))}yv(t){1===t.length&&(this.Pf=!1),2!==t.length||this.Pf||this.ff?this.Cv():this.Tv(t)}Tv(t){const i=this.Zf.getBoundingClientRect()||{left:0,top:0};this.Cf={nt:(t[0].clientX-i.left+(t[1].clientX-i.left))/2,st:(t[0].clientY-i.top+(t[1].clientY-i.top))/2},this.Tf=ms(t[0],t[1]),void 0!==this.Hf.xv&&this.Hf.xv(),this.Kf()}Cv(){null!==this.Cf&&(this.Cf=null,void 0!==this.Hf.kv&&this.Hf.kv())}gv(t){if(this.Sf&&this.Sf(),this.Lf(t))return;if(!this.Bf)return;const i=this.Ef(t);this.Uf(i,this.Hf.Pv),this.Bf=!es()}vv(t){const i=Ms(t.touches,b(this.Of));if(null===i)return;const n=this.Ef(t,i);this.Wf(n,this.Hf.Rv),this.wf=!0,this.ff=!0}Lf(t){return t.sourceCapabilities&&void 0!==t.sourceCapabilities.firesTouchEvents?t.sourceCapabilities.firesTouchEvents:gs(t)<this.Vf+500}Wf(t,i){i&&i.call(this.Hf,t)}Uf(t,i){i&&i.call(this.Hf,t)}Ef(t,i){const n=i||t,s=this.Zf.getBoundingClientRect()||{left:0,top:0};return{clientX:n.clientX,clientY:n.clientY,pageX:n.pageX,pageY:n.pageY,screenX:n.screenX,screenY:n.screenY,localX:n.clientX-s.left,localY:n.clientY-s.top,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey,metaKey:t.metaKey,Dv:!t.type.startsWith(\"mouse\")&&\"contextmenu\"!==t.type&&\"click\"!==t.type,Vv:t.type,Ov:n.target,Bv:t.view,Av:()=>{\"touchstart\"!==t.type&&bs(t)}}}}function ms(t,i){const n=t.clientX-i.clientX,s=t.clientY-i.clientY;return Math.sqrt(n*n+s*s)}function bs(t){t.cancelable&&t.preventDefault()}function ws(t){return{nt:t.pageX,st:t.pageY}}function gs(t){return t.timeStamp||performance.now()}function Ms(t,i){for(let n=0;n<t.length;++n)if(t[n].identifier===i)return t[n];return null}function xs(t){return{Hc:t.Hc,Iv:{gr:t.zv.externalId},Lv:t.zv.cursorStyle}}function Ss(t,i,n){for(const s of t){const t=s.gt();if(null!==t&&t.wr){const e=t.wr(i,n);if(null!==e)return{Bv:s,Iv:e}}}return null}function ks(t,i){return n=>{var s,e,r,h;return(null!==(e=null===(s=n.Dt())||void 0===s?void 0:s.Pa())&&void 0!==e?e:\"\")!==i?[]:null!==(h=null===(r=n.da)||void 0===r?void 0:r.call(n,t))&&void 0!==h?h:[]}}function ys(t,i,n,s){if(!t.length)return;let e=0;const r=n/2,h=t[0].At(s,!0);let l=1===i?r-(t[0].Vi()-h/2):t[0].Vi()-h/2-r;l=Math.max(0,l);for(let r=1;r<t.length;r++){const h=t[r],a=t[r-1],o=a.At(s,!1),_=h.Vi(),u=a.Vi();if(1===i?_>u-o:_<u+o){const s=u-o*i;h.Oi(s);const r=s-i*o/2;if((1===i?r<0:r>n)&&l>0){const s=1===i?-1-r:r-n,h=Math.min(s,l);for(let n=e;n<t.length;n++)t[n].Oi(t[n].Vi()+i*h);l-=h}}else e=r,l=1===i?u-o-_:_-(u+o)}}class Cs{constructor(i,n,s,e){this.Li=null,this.Ev=null,this.Nv=!1,this.Fv=new ni(200),this.Qr=null,this.Wv=0,this.jv=!1,this.Hv=()=>{this.jv||this.tn.$v().$t().Uh()},this.Uv=()=>{this.jv||this.tn.$v().$t().Uh()},this.tn=i,this.cn=n,this.ko=n.layout,this.Oc=s,this.qv=\"left\"===e,this.Yv=ks(\"normal\",e),this.Zv=ks(\"top\",e),this.Xv=ks(\"bottom\",e),this.Kv=document.createElement(\"div\"),this.Kv.style.height=\"100%\",this.Kv.style.overflow=\"hidden\",this.Kv.style.width=\"25px\",this.Kv.style.left=\"0\",this.Kv.style.position=\"relative\",this.Gv=_s(this.Kv,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const r=this.Gv.canvasElement;r.style.position=\"absolute\",r.style.zIndex=\"1\",r.style.left=\"0\",r.style.top=\"0\",this.Jv=_s(this.Kv,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const h=this.Jv.canvasElement;h.style.position=\"absolute\",h.style.zIndex=\"2\",h.style.left=\"0\",h.style.top=\"0\";const l={bv:this.Qv.bind(this),pv:this.Qv.bind(this),av:this.tp.bind(this),hv:this.tp.bind(this),wv:this.ip.bind(this),cv:this.np.bind(this),_v:this.np.bind(this),qf:this.sp.bind(this),jf:this.sp.bind(this),Qf:this.ep.bind(this),Pv:this.rp.bind(this)};this.hp=new ps(this.Jv.canvasElement,l,{ev:()=>!this.cn.handleScroll.vertTouchDrag,rv:()=>!0})}S(){this.hp.S(),this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose(),null!==this.Li&&this.Li.Ko().p(this),this.Li=null}lp(){return this.Kv}P(){return this.ko.fontSize}ap(){const t=this.Oc.W();return this.Qr!==t.R&&(this.Fv.nr(),this.Qr=t.R),t}op(){if(null===this.Li)return 0;let t=0;const i=this.ap(),n=b(this.Gv.canvasElement.getContext(\"2d\"));n.save();const s=this.Li.Ha();n.font=this._p(),s.length>0&&(t=Math.max(this.Fv.xi(n,s[0].so),this.Fv.xi(n,s[s.length-1].so)));const e=this.up();for(let i=e.length;i--;){const s=this.Fv.xi(n,e[i].Kt());s>t&&(t=s)}const r=this.Li.Ct();if(null!==r&&null!==this.Ev&&(2!==(h=this.cn.crosshair).mode&&h.horzLine.visible&&h.horzLine.labelVisible)){const i=this.Li.pn(1,r),s=this.Li.pn(this.Ev.height-2,r);t=Math.max(t,this.Fv.xi(n,this.Li.Fi(Math.floor(Math.min(i,s))+.11111111111111,r)),this.Fv.xi(n,this.Li.Fi(Math.ceil(Math.max(i,s))-.11111111111111,r)))}var h;n.restore();const l=t||34;return rs(Math.ceil(i.C+i.T+i.A+i.I+5+l))}cp(t){null!==this.Ev&&n(this.Ev,t)||(this.Ev=t,this.jv=!0,this.Gv.resizeCanvasElement(t),this.Jv.resizeCanvasElement(t),this.jv=!1,this.Kv.style.width=`${t.width}px`,this.Kv.style.height=`${t.height}px`)}dp(){return b(this.Ev).width}Gi(t){this.Li!==t&&(null!==this.Li&&this.Li.Ko().p(this),this.Li=t,t.Ko().l(this.fo.bind(this),this))}Dt(){return this.Li}nr(){const t=this.tn.fp();this.tn.$v().$t().E_(t,b(this.Dt()))}vp(t){if(null===this.Ev)return;if(1!==t){this.pp(),this.Gv.applySuggestedBitmapSize();const t=s(this.Gv);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t)})),this.tn.bp(t,this.Xv),this.wp(t),this.tn.bp(t,this.Yv),this.gp(t))}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Mp(i),this.tn.bp(i,this.Zv))}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}bt(){var t;null===(t=this.Li)||void 0===t||t.Ha()}Qv(t){if(null===this.Li||this.Li.Ni()||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp();this.Nv=!0,i.V_(n,this.Li,t.localY)}tp(t){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp(),s=this.Li;i.O_(n,s,t.localY)}ip(){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const t=this.tn.$v().$t(),i=this.tn.fp(),n=this.Li;this.Nv&&(this.Nv=!1,t.B_(i,n))}np(t){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp();this.Nv=!1,i.B_(n,this.Li)}sp(t){this.cn.handleScale.axisDoubleClickReset.price&&this.nr()}ep(t){if(null===this.Li)return;!this.tn.$v().$t().W().handleScale.axisPressedMouseMove.price||this.Li.Mh()||this.Li.Oo()||this.kp(1)}rp(t){this.kp(0)}up(){const t=[],i=null===this.Li?void 0:this.Li;return(n=>{for(let s=0;s<n.length;++s){const e=n[s].Rn(this.tn.fp(),i);for(let i=0;i<e.length;i++)t.push(e[i])}})(this.tn.fp().Uo()),t}mp({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.tn.fp().$t(),r=e.q(),h=e.bd();r===h?G(t,0,0,n,s,r):tt(t,0,0,n,s,r,h)}Ie({context:t,bitmapSize:i,horizontalPixelRatio:n}){if(null===this.Ev||null===this.Li||!this.Li.W().borderVisible)return;t.fillStyle=this.Li.W().borderColor;const s=Math.max(1,Math.floor(this.ap().C*n));let e;e=this.qv?i.width-s:0,t.fillRect(e,0,s,i.height)}wp(t){if(null===this.Ev||null===this.Li)return;const i=this.Li.Ha(),n=this.Li.W(),s=this.ap(),e=this.qv?this.Ev.width-s.T:0;n.borderVisible&&n.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:r,verticalPixelRatio:h})=>{t.fillStyle=n.borderColor;const l=Math.max(1,Math.floor(h)),a=Math.floor(.5*h),o=Math.round(s.T*r);t.beginPath();for(const n of i)t.rect(Math.floor(e*r),Math.round(n.Ea*h)-a,o,l);t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{var r;t.font=this._p(),t.fillStyle=null!==(r=n.textColor)&&void 0!==r?r:this.ko.textColor,t.textAlign=this.qv?\"right\":\"left\",t.textBaseline=\"middle\";const h=this.qv?Math.round(e-s.A):Math.round(e+s.T+s.A),l=i.map((i=>this.Fv.Mi(t,i.so)));for(let n=i.length;n--;){const s=i[n];t.fillText(s.so,h,s.Ea+l[n])}}))}pp(){if(null===this.Ev||null===this.Li)return;const t=[],i=this.Li.Uo().slice(),n=this.tn.fp(),s=this.ap();this.Li===n.pr()&&this.tn.fp().Uo().forEach((t=>{n.vr(t)&&i.push(t)}));const e=this.Li;i.forEach((i=>{i.Rn(n,e).forEach((i=>{i.Oi(null),i.Bi()&&t.push(i)}))})),t.forEach((t=>t.Oi(t.ki())));this.Li.W().alignLabels&&this.yp(t,s)}yp(t,i){if(null===this.Ev)return;const n=this.Ev.height/2,s=t.filter((t=>t.ki()<=n)),e=t.filter((t=>t.ki()>n));s.sort(((t,i)=>i.ki()-t.ki())),e.sort(((t,i)=>t.ki()-i.ki()));for(const n of t){const t=Math.floor(n.At(i)/2),s=n.ki();s>-t&&s<t&&n.Oi(t),s>this.Ev.height-t&&s<this.Ev.height+t&&n.Oi(this.Ev.height-t)}ys(s,1,this.Ev.height,i),ys(e,-1,this.Ev.height,i)}gp(t){if(null===this.Ev)return;const i=this.up(),n=this.ap(),s=this.qv?\"right\":\"left\";i.forEach((i=>{if(i.Ai()){i.gt(b(this.Li)).X(t,n,this.Fv,s)}}))}Mp(t){if(null===this.Ev||null===this.Li)return;const i=this.tn.$v().$t(),n=[],s=this.tn.fp(),e=i.Zc().Rn(s,this.Li);e.length&&n.push(e);const r=this.ap(),h=this.qv?\"right\":\"left\";n.forEach((i=>{i.forEach((i=>{i.gt(b(this.Li)).X(t,r,this.Fv,h)}))}))}kp(t){this.Kv.style.cursor=1===t?\"ns-resize\":\"default\"}fo(){const t=this.op();this.Wv<t&&this.tn.$v().$t().Kl(),this.Wv=t}_p(){return F(this.ko.fontSize,this.ko.fontFamily)}}function Ts(t,i){var n,s;return null!==(s=null===(n=t.ua)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Ps(t,i){var n,s;return null!==(s=null===(n=t.Pn)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Rs(t,i){var n,s;return null!==(s=null===(n=t.Ji)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Ds(t,i){var n,s;return null!==(s=null===(n=t.aa)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}class Vs{constructor(i,n){this.Ev=t({width:0,height:0}),this.Cp=null,this.Tp=null,this.Pp=null,this.Rp=null,this.Dp=!1,this.Vp=new D,this.Op=new D,this.Bp=0,this.Ap=!1,this.Ip=null,this.zp=!1,this.Lp=null,this.Ep=null,this.jv=!1,this.Hv=()=>{this.jv||null===this.Np||this.$i().Uh()},this.Uv=()=>{this.jv||null===this.Np||this.$i().Uh()},this.Qd=i,this.Np=n,this.Np.W_().l(this.Fp.bind(this),this,!0),this.Wp=document.createElement(\"td\"),this.Wp.style.padding=\"0\",this.Wp.style.position=\"relative\";const s=document.createElement(\"div\");s.style.width=\"100%\",s.style.height=\"100%\",s.style.position=\"relative\",s.style.overflow=\"hidden\",this.jp=document.createElement(\"td\"),this.jp.style.padding=\"0\",this.Hp=document.createElement(\"td\"),this.Hp.style.padding=\"0\",this.Wp.appendChild(s),this.Gv=_s(s,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const e=this.Gv.canvasElement;e.style.position=\"absolute\",e.style.zIndex=\"1\",e.style.left=\"0\",e.style.top=\"0\",this.Jv=_s(s,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const r=this.Jv.canvasElement;r.style.position=\"absolute\",r.style.zIndex=\"2\",r.style.left=\"0\",r.style.top=\"0\",this.$p=document.createElement(\"tr\"),this.$p.appendChild(this.jp),this.$p.appendChild(this.Wp),this.$p.appendChild(this.Hp),this.Up(),this.hp=new ps(this.Jv.canvasElement,this,{ev:()=>null===this.Ip&&!this.Qd.W().handleScroll.vertTouchDrag,rv:()=>null===this.Ip&&!this.Qd.W().handleScroll.horzTouchDrag})}S(){null!==this.Cp&&this.Cp.S(),null!==this.Tp&&this.Tp.S(),this.Pp=null,this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose(),null!==this.Np&&this.Np.W_().p(this),this.hp.S()}fp(){return b(this.Np)}qp(t){var i,n;null!==this.Np&&this.Np.W_().p(this),this.Np=t,null!==this.Np&&this.Np.W_().l(Vs.prototype.Fp.bind(this),this,!0),this.Up(),this.Qd.Yp().indexOf(this)===this.Qd.Yp().length-1?(this.Pp=null!==(i=this.Pp)&&void 0!==i?i:new os(this.Wp,this.Qd),this.Pp.bt()):(null===(n=this.Pp)||void 0===n||n.if(),this.Pp=null)}$v(){return this.Qd}lp(){return this.$p}Up(){if(null!==this.Np&&(this.Zp(),0!==this.$i().wt().length)){if(null!==this.Cp){const t=this.Np.R_();this.Cp.Gi(b(t))}if(null!==this.Tp){const t=this.Np.D_();this.Tp.Gi(b(t))}}}Xp(){null!==this.Cp&&this.Cp.bt(),null!==this.Tp&&this.Tp.bt()}M_(){return null!==this.Np?this.Np.M_():0}x_(t){this.Np&&this.Np.x_(t)}Qf(t){if(!this.Np)return;this.Kp();const i=t.localX,n=t.localY;this.Gp(i,n,t)}bv(t){this.Kp(),this.Jp(),this.Gp(t.localX,t.localY,t)}tv(t){var i;if(!this.Np)return;this.Kp();const n=t.localX,s=t.localY;this.Gp(n,s,t);const e=this.wr(n,s);this.Qd.Qp(null!==(i=null==e?void 0:e.Lv)&&void 0!==i?i:null),this.$i().jc(e&&{Hc:e.Hc,Iv:e.Iv})}dv(t){null!==this.Np&&(this.Kp(),this.tm(t))}qf(t){null!==this.Np&&this.im(this.Op,t)}jf(t){this.qf(t)}av(t){this.Kp(),this.nm(t),this.Gp(t.localX,t.localY,t)}cv(t){null!==this.Np&&(this.Kp(),this.Ap=!1,this.sm(t))}uv(t){null!==this.Np&&this.tm(t)}Rv(t){if(this.Ap=!0,null===this.Ip){const i={x:t.localX,y:t.localY};this.rm(i,i,t)}}Pv(t){null!==this.Np&&(this.Kp(),this.Np.$t().jc(null),this.hm())}lm(){return this.Vp}am(){return this.Op}xv(){this.Bp=1,this.$i().Un()}Sv(t,i){if(!this.Qd.W().handleScale.pinch)return;const n=5*(i-this.Bp);this.Bp=i,this.$i().Qc(t.nt,n)}pv(t){this.Ap=!1,this.zp=null!==this.Ip,this.Jp();const i=this.$i().Zc();null!==this.Ip&&i.yt()&&(this.Lp={x:i.Yt(),y:i.Zt()},this.Ip={x:t.localX,y:t.localY})}hv(t){if(null===this.Np)return;const i=t.localX,n=t.localY;if(null===this.Ip)this.nm(t);else{this.zp=!1;const s=b(this.Lp),e=s.x+(i-this.Ip.x),r=s.y+(n-this.Ip.y);this.Gp(e,r,t)}}_v(t){0===this.$v().W().trackingMode.exitMode&&(this.zp=!0),this.om(),this.sm(t)}wr(t,i){const n=this.Np;return null===n?null:function(t,i,n){const s=t.Uo(),e=function(t,i,n){var s,e;let r,h;for(const o of t){const t=null!==(e=null===(s=o.va)||void 0===s?void 0:s.call(o,i,n))&&void 0!==e?e:[];for(const i of t)l=i.zOrder,(!(a=null==r?void 0:r.zOrder)||\"top\"===l&&\"top\"!==a||\"normal\"===l&&\"bottom\"===a)&&(r=i,h=o)}var l,a;return r&&h?{zv:r,Hc:h}:null}(s,i,n);if(\"top\"===(null==e?void 0:e.zv.zOrder))return xs(e);for(const r of s){if(e&&e.Hc===r&&\"bottom\"!==e.zv.zOrder&&!e.zv.isBackground)return xs(e);const s=Ss(r.Pn(t),i,n);if(null!==s)return{Hc:r,Bv:s.Bv,Iv:s.Iv};if(e&&e.Hc===r&&\"bottom\"!==e.zv.zOrder&&e.zv.isBackground)return xs(e)}return(null==e?void 0:e.zv)?xs(e):null}(n,t,i)}_m(i,n){b(\"left\"===n?this.Cp:this.Tp).cp(t({width:i,height:this.Ev.height}))}um(){return this.Ev}cp(t){n(this.Ev,t)||(this.Ev=t,this.jv=!0,this.Gv.resizeCanvasElement(t),this.Jv.resizeCanvasElement(t),this.jv=!1,this.Wp.style.width=t.width+\"px\",this.Wp.style.height=t.height+\"px\")}dm(){const t=b(this.Np);t.P_(t.R_()),t.P_(t.D_());for(const i of t.Ba())if(t.vr(i)){const n=i.Dt();null!==n&&t.P_(n),i.Vn()}}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}vp(t){if(0===t)return;if(null===this.Np)return;if(t>1&&this.dm(),null!==this.Cp&&this.Cp.vp(t),null!==this.Tp&&this.Tp.vp(t),1!==t){this.Gv.applySuggestedBitmapSize();const t=s(this.Gv);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.mp(t)})),this.Np&&(this.fm(t,Ts),this.vm(t),this.pm(t),this.fm(t,Ps),this.fm(t,Rs)))}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.bm(i),this.fm(i,Ds))}wm(){return this.Cp}gm(){return this.Tp}bp(t,i){this.fm(t,i)}Fp(){null!==this.Np&&this.Np.W_().p(this),this.Np=null}tm(t){this.im(this.Vp,t)}im(t,i){const n=i.localX,s=i.localY;t.M()&&t.m(this.$i().St().Nu(n),{x:n,y:s},i)}mp({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.$i(),r=e.q(),h=e.bd();r===h?G(t,0,0,n,s,h):tt(t,0,0,n,s,r,h)}vm(t){const i=b(this.Np).j_().qh().gt();null!==i&&i.X(t,!1)}pm(t){const i=this.$i().Yc();this.Mm(t,Ps,cs,i),this.Mm(t,Ps,ds,i)}bm(t){this.Mm(t,Ps,ds,this.$i().Zc())}fm(t,i){const n=b(this.Np).Uo();for(const s of n)this.Mm(t,i,cs,s);for(const s of n)this.Mm(t,i,ds,s)}Mm(t,i,n,s){const e=b(this.Np),r=e.$t().Wc(),h=null!==r&&r.Hc===s,l=null!==r&&h&&void 0!==r.Iv?r.Iv.Mr:void 0;fs(i,(i=>n(i,t,h,l)),s,e)}Zp(){if(null===this.Np)return;const t=this.Qd,i=this.Np.R_().W().visible,n=this.Np.D_().W().visible;i||null===this.Cp||(this.jp.removeChild(this.Cp.lp()),this.Cp.S(),this.Cp=null),n||null===this.Tp||(this.Hp.removeChild(this.Tp.lp()),this.Tp.S(),this.Tp=null);const s=t.$t().ud();i&&null===this.Cp&&(this.Cp=new Cs(this,t.W(),s,\"left\"),this.jp.appendChild(this.Cp.lp())),n&&null===this.Tp&&(this.Tp=new Cs(this,t.W(),s,\"right\"),this.Hp.appendChild(this.Tp.lp()))}xm(t){return t.Dv&&this.Ap||null!==this.Ip}Sm(t){return Math.max(0,Math.min(t,this.Ev.width-1))}km(t){return Math.max(0,Math.min(t,this.Ev.height-1))}Gp(t,i,n){this.$i().ld(this.Sm(t),this.km(i),n,b(this.Np))}hm(){this.$i().od()}om(){this.zp&&(this.Ip=null,this.hm())}rm(t,i,n){this.Ip=t,this.zp=!1,this.Gp(i.x,i.y,n);const s=this.$i().Zc();this.Lp={x:s.Yt(),y:s.Zt()}}$i(){return this.Qd.$t()}sm(t){if(!this.Dp)return;const i=this.$i(),n=this.fp();if(i.z_(n,n.vn()),this.Rp=null,this.Dp=!1,i.ed(),null!==this.Ep){const t=performance.now(),n=i.St();this.Ep.Vr(n.Hu(),t),this.Ep.Qu(t)||i.Zn(this.Ep)}}Kp(){this.Ip=null}Jp(){if(!this.Np)return;if(this.$i().Un(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)b(document.activeElement).blur();else{const t=document.getSelection();null!==t&&t.removeAllRanges()}!this.Np.vn().Ni()&&this.$i().St().Ni()}nm(t){if(null===this.Np)return;const i=this.$i(),n=i.St();if(n.Ni())return;const s=this.Qd.W(),e=s.handleScroll,r=s.kineticScroll;if((!e.pressedMouseMove||t.Dv)&&(!e.horzTouchDrag&&!e.vertTouchDrag||!t.Dv))return;const h=this.Np.vn(),l=performance.now();if(null!==this.Rp||this.xm(t)||(this.Rp={x:t.clientX,y:t.clientY,Od:l,ym:t.localX,Cm:t.localY}),null!==this.Rp&&!this.Dp&&(this.Rp.x!==t.clientX||this.Rp.y!==t.clientY)){if(t.Dv&&r.touch||!t.Dv&&r.mouse){const t=n.le();this.Ep=new as(.2/t,7/t,.997,15/t),this.Ep.Yd(n.Hu(),this.Rp.Od)}else this.Ep=null;h.Ni()||i.A_(this.Np,h,t.localY),i.nd(t.localX),this.Dp=!0}this.Dp&&(h.Ni()||i.I_(this.Np,h,t.localY),i.sd(t.localX),null!==this.Ep&&this.Ep.Yd(n.Hu(),l))}}class Os{constructor(i,n,s,e,r){this.ft=!0,this.Ev=t({width:0,height:0}),this.Hv=()=>this.vp(3),this.qv=\"left\"===i,this.Oc=s.ud,this.cn=n,this.Tm=e,this.Pm=r,this.Kv=document.createElement(\"div\"),this.Kv.style.width=\"25px\",this.Kv.style.height=\"100%\",this.Kv.style.overflow=\"hidden\",this.Gv=_s(this.Kv,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv)}S(){this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose()}lp(){return this.Kv}um(){return this.Ev}cp(t){n(this.Ev,t)||(this.Ev=t,this.Gv.resizeCanvasElement(t),this.Kv.style.width=`${t.width}px`,this.Kv.style.height=`${t.height}px`,this.ft=!0)}vp(t){if(t<3&&!this.ft)return;if(0===this.Ev.width||0===this.Ev.height)return;this.ft=!1,this.Gv.applySuggestedBitmapSize();const i=s(this.Gv);null!==i&&i.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t)}))}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}Ie({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(!this.Tm())return;t.fillStyle=this.cn.timeScale.borderColor;const e=Math.floor(this.Oc.W().C*n),r=Math.floor(this.Oc.W().C*s),h=this.qv?i.width-e:0;t.fillRect(h,0,e,r)}mp({context:t,bitmapSize:i}){G(t,0,0,i.width,i.height,this.Pm())}}function Bs(t){return i=>{var n,s;return null!==(s=null===(n=i.fa)||void 0===n?void 0:n.call(i,t))&&void 0!==s?s:[]}}const As=Bs(\"normal\"),Is=Bs(\"top\"),zs=Bs(\"bottom\");class Ls{constructor(i,n){this.Rm=null,this.Dm=null,this.k=null,this.Vm=!1,this.Ev=t({width:0,height:0}),this.Om=new D,this.Fv=new ni(5),this.jv=!1,this.Hv=()=>{this.jv||this.Qd.$t().Uh()},this.Uv=()=>{this.jv||this.Qd.$t().Uh()},this.Qd=i,this.q_=n,this.cn=i.W().layout,this.Xd=document.createElement(\"tr\"),this.Bm=document.createElement(\"td\"),this.Bm.style.padding=\"0\",this.Am=document.createElement(\"td\"),this.Am.style.padding=\"0\",this.Kv=document.createElement(\"td\"),this.Kv.style.height=\"25px\",this.Kv.style.padding=\"0\",this.Im=document.createElement(\"div\"),this.Im.style.width=\"100%\",this.Im.style.height=\"100%\",this.Im.style.position=\"relative\",this.Im.style.overflow=\"hidden\",this.Kv.appendChild(this.Im),this.Gv=_s(this.Im,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const s=this.Gv.canvasElement;s.style.position=\"absolute\",s.style.zIndex=\"1\",s.style.left=\"0\",s.style.top=\"0\",this.Jv=_s(this.Im,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const e=this.Jv.canvasElement;e.style.position=\"absolute\",e.style.zIndex=\"2\",e.style.left=\"0\",e.style.top=\"0\",this.Xd.appendChild(this.Bm),this.Xd.appendChild(this.Kv),this.Xd.appendChild(this.Am),this.zm(),this.Qd.$t().g_().l(this.zm.bind(this),this),this.hp=new ps(this.Jv.canvasElement,this,{ev:()=>!0,rv:()=>!this.Qd.W().handleScroll.horzTouchDrag})}S(){this.hp.S(),null!==this.Rm&&this.Rm.S(),null!==this.Dm&&this.Dm.S(),this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose()}lp(){return this.Xd}Lm(){return this.Rm}Em(){return this.Dm}bv(t){if(this.Vm)return;this.Vm=!0;const i=this.Qd.$t();!i.St().Ni()&&this.Qd.W().handleScale.axisPressedMouseMove.time&&i.Jc(t.localX)}pv(t){this.bv(t)}wv(){const t=this.Qd.$t();!t.St().Ni()&&this.Vm&&(this.Vm=!1,this.Qd.W().handleScale.axisPressedMouseMove.time&&t.hd())}av(t){const i=this.Qd.$t();!i.St().Ni()&&this.Qd.W().handleScale.axisPressedMouseMove.time&&i.rd(t.localX)}hv(t){this.av(t)}cv(){this.Vm=!1;const t=this.Qd.$t();t.St().Ni()&&!this.Qd.W().handleScale.axisPressedMouseMove.time||t.hd()}_v(){this.cv()}qf(){this.Qd.W().handleScale.axisDoubleClickReset.time&&this.Qd.$t().Kn()}jf(){this.qf()}Qf(){this.Qd.$t().W().handleScale.axisPressedMouseMove.time&&this.kp(1)}Pv(){this.kp(0)}um(){return this.Ev}Nm(){return this.Om}Fm(i,s,e){n(this.Ev,i)||(this.Ev=i,this.jv=!0,this.Gv.resizeCanvasElement(i),this.Jv.resizeCanvasElement(i),this.jv=!1,this.Kv.style.width=`${i.width}px`,this.Kv.style.height=`${i.height}px`,this.Om.m(i)),null!==this.Rm&&this.Rm.cp(t({width:s,height:i.height})),null!==this.Dm&&this.Dm.cp(t({width:e,height:i.height}))}Wm(){const t=this.jm();return Math.ceil(t.C+t.T+t.P+t.L+t.B+t.Hm)}bt(){this.Qd.$t().St().Ha()}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}vp(t){if(0===t)return;if(1!==t){this.Gv.applySuggestedBitmapSize();const i=s(this.Gv);null!==i&&(i.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t),this.$m(i,zs)})),this.wp(i),this.$m(i,As)),null!==this.Rm&&this.Rm.vp(t),null!==this.Dm&&this.Dm.vp(t)}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Um([...this.Qd.$t().wt(),this.Qd.$t().Zc()],i),this.$m(i,Is))}$m(t,i){const n=this.Qd.$t().wt();for(const s of n)fs(i,(i=>cs(i,t,!1,void 0)),s,void 0);for(const s of n)fs(i,(i=>ds(i,t,!1,void 0)),s,void 0)}mp({context:t,bitmapSize:i}){G(t,0,0,i.width,i.height,this.Qd.$t().bd())}Ie({context:t,bitmapSize:i,verticalPixelRatio:n}){if(this.Qd.W().timeScale.borderVisible){t.fillStyle=this.qm();const s=Math.max(1,Math.floor(this.jm().C*n));t.fillRect(0,0,i.width,s)}}wp(t){const i=this.Qd.$t().St(),n=i.Ha();if(!n||0===n.length)return;const s=this.q_.maxTickMarkWeight(n),e=this.jm(),r=i.W();r.borderVisible&&r.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:i,verticalPixelRatio:s})=>{t.strokeStyle=this.qm(),t.fillStyle=this.qm();const r=Math.max(1,Math.floor(i)),h=Math.floor(.5*i);t.beginPath();const l=Math.round(e.T*s);for(let s=n.length;s--;){const e=Math.round(n[s].coord*i);t.rect(e-h,0,r,l)}t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{const i=e.C+e.T+e.L+e.P/2;t.textAlign=\"center\",t.textBaseline=\"middle\",t.fillStyle=this.$(),t.font=this._p();for(const e of n)if(e.weight<s){const n=e.needAlignCoordinate?this.Ym(t,e.coord,e.label):e.coord;t.fillText(e.label,n,i)}this.Qd.W().timeScale.allowBoldLabels&&(t.font=this.Zm());for(const e of n)if(e.weight>=s){const n=e.needAlignCoordinate?this.Ym(t,e.coord,e.label):e.coord;t.fillText(e.label,n,i)}}))}Ym(t,i,n){const s=this.Fv.xi(t,n),e=s/2,r=Math.floor(i-e)+.5;return r<0?i+=Math.abs(0-r):r+s>this.Ev.width&&(i-=Math.abs(this.Ev.width-(r+s))),i}Um(t,i){const n=this.jm();for(const s of t)for(const t of s.Qi())t.gt().X(i,n)}qm(){return this.Qd.W().timeScale.borderColor}$(){return this.cn.textColor}j(){return this.cn.fontSize}_p(){return F(this.j(),this.cn.fontFamily)}Zm(){return F(this.j(),this.cn.fontFamily,\"bold\")}jm(){null===this.k&&(this.k={C:1,N:NaN,L:NaN,B:NaN,ji:NaN,T:5,P:NaN,R:\"\",Wi:new ni,Hm:0});const t=this.k,i=this._p();if(t.R!==i){const n=this.j();t.P=n,t.R=i,t.L=3*n/12,t.B=3*n/12,t.ji=9*n/12,t.N=0,t.Hm=4*n/12,t.Wi.nr()}return this.k}kp(t){this.Kv.style.cursor=1===t?\"ew-resize\":\"default\"}zm(){const t=this.Qd.$t(),i=t.W();i.leftPriceScale.visible||null===this.Rm||(this.Bm.removeChild(this.Rm.lp()),this.Rm.S(),this.Rm=null),i.rightPriceScale.visible||null===this.Dm||(this.Am.removeChild(this.Dm.lp()),this.Dm.S(),this.Dm=null);const n={ud:this.Qd.$t().ud()},s=()=>i.leftPriceScale.borderVisible&&t.St().W().borderVisible,e=()=>t.bd();i.leftPriceScale.visible&&null===this.Rm&&(this.Rm=new Os(\"left\",i,n,s,e),this.Bm.appendChild(this.Rm.lp())),i.rightPriceScale.visible&&null===this.Dm&&(this.Dm=new Os(\"right\",i,n,s,e),this.Am.appendChild(this.Dm.lp()))}}const Es=!!ns&&!!navigator.userAgentData&&navigator.userAgentData.brands.some((t=>t.brand.includes(\"Chromium\")))&&!!ns&&((null===(Ns=null===navigator||void 0===navigator?void 0:navigator.userAgentData)||void 0===Ns?void 0:Ns.platform)?\"Windows\"===navigator.userAgentData.platform:navigator.userAgent.toLowerCase().indexOf(\"win\")>=0);var Ns;class Fs{constructor(t,i,n){var s;this.Xm=[],this.Km=0,this.ho=0,this.__=0,this.Gm=0,this.Jm=0,this.Qm=null,this.tb=!1,this.Vp=new D,this.Op=new D,this.Rc=new D,this.ib=null,this.nb=null,this.Jd=t,this.cn=i,this.q_=n,this.Xd=document.createElement(\"div\"),this.Xd.classList.add(\"tv-lightweight-charts\"),this.Xd.style.overflow=\"hidden\",this.Xd.style.direction=\"ltr\",this.Xd.style.width=\"100%\",this.Xd.style.height=\"100%\",(s=this.Xd).style.userSelect=\"none\",s.style.webkitUserSelect=\"none\",s.style.msUserSelect=\"none\",s.style.MozUserSelect=\"none\",s.style.webkitTapHighlightColor=\"transparent\",this.sb=document.createElement(\"table\"),this.sb.setAttribute(\"cellspacing\",\"0\"),this.Xd.appendChild(this.sb),this.eb=this.rb.bind(this),Ws(this.cn)&&this.hb(!0),this.$i=new Ln(this.Vc.bind(this),this.cn,n),this.$t().Xc().l(this.lb.bind(this),this),this.ab=new Ls(this,this.q_),this.sb.appendChild(this.ab.lp());const e=i.autoSize&&this.ob();let r=this.cn.width,h=this.cn.height;if(e||0===r||0===h){const i=t.getBoundingClientRect();r=r||i.width,h=h||i.height}this._b(r,h),this.ub(),t.appendChild(this.Xd),this.cb(),this.$i.St().ec().l(this.$i.Kl.bind(this.$i),this),this.$i.g_().l(this.$i.Kl.bind(this.$i),this)}$t(){return this.$i}W(){return this.cn}Yp(){return this.Xm}fb(){return this.ab}S(){this.hb(!1),0!==this.Km&&window.cancelAnimationFrame(this.Km),this.$i.Xc().p(this),this.$i.St().ec().p(this),this.$i.g_().p(this),this.$i.S();for(const t of this.Xm)this.sb.removeChild(t.lp()),t.lm().p(this),t.am().p(this),t.S();this.Xm=[],b(this.ab).S(),null!==this.Xd.parentElement&&this.Xd.parentElement.removeChild(this.Xd),this.Rc.S(),this.Vp.S(),this.Op.S(),this.pb()}_b(i,n,s=!1){if(this.ho===n&&this.__===i)return;const e=function(i){const n=Math.floor(i.width),s=Math.floor(i.height);return t({width:n-n%2,height:s-s%2})}(t({width:i,height:n}));this.ho=e.height,this.__=e.width;const r=this.ho+\"px\",h=this.__+\"px\";b(this.Xd).style.height=r,b(this.Xd).style.width=h,this.sb.style.height=r,this.sb.style.width=h,s?this.mb(ut.es(),performance.now()):this.$i.Kl()}vp(t){void 0===t&&(t=ut.es());for(let i=0;i<this.Xm.length;i++)this.Xm[i].vp(t.Hn(i).Fn);this.cn.timeScale.visible&&this.ab.vp(t.jn())}$h(t){const i=Ws(this.cn);this.$i.$h(t);const n=Ws(this.cn);n!==i&&this.hb(n),this.cb(),this.bb(t)}lm(){return this.Vp}am(){return this.Op}Xc(){return this.Rc}wb(){null!==this.Qm&&(this.mb(this.Qm,performance.now()),this.Qm=null);const t=this.gb(null),i=document.createElement(\"canvas\");i.width=t.width,i.height=t.height;const n=b(i.getContext(\"2d\"));return this.gb(n),i}Mb(t){if(\"left\"===t&&!this.xb())return 0;if(\"right\"===t&&!this.Sb())return 0;if(0===this.Xm.length)return 0;return b(\"left\"===t?this.Xm[0].wm():this.Xm[0].gm()).dp()}kb(){return this.cn.autoSize&&null!==this.ib}yb(){return this.Xd}Qp(t){this.nb=t,this.nb?this.yb().style.setProperty(\"cursor\",t):this.yb().style.removeProperty(\"cursor\")}Cb(){return this.nb}Tb(){return m(this.Xm[0]).um()}bb(t){(void 0!==t.autoSize||!this.ib||void 0===t.width&&void 0===t.height)&&(t.autoSize&&!this.ib&&this.ob(),!1===t.autoSize&&null!==this.ib&&this.pb(),t.autoSize||void 0===t.width&&void 0===t.height||this._b(t.width||this.__,t.height||this.ho))}gb(i){let n=0,s=0;const e=this.Xm[0],r=(t,n)=>{let s=0;for(let e=0;e<this.Xm.length;e++){const r=this.Xm[e],h=b(\"left\"===t?r.wm():r.gm()),l=h.xp();null!==i&&h.Sp(i,n,s),s+=l.height}};if(this.xb()){r(\"left\",0);n+=b(e.wm()).xp().width}for(let t=0;t<this.Xm.length;t++){const e=this.Xm[t],r=e.xp();null!==i&&e.Sp(i,n,s),s+=r.height}if(n+=e.xp().width,this.Sb()){r(\"right\",n);n+=b(e.gm()).xp().width}const h=(t,n,s)=>{b(\"left\"===t?this.ab.Lm():this.ab.Em()).Sp(b(i),n,s)};if(this.cn.timeScale.visible){const t=this.ab.xp();if(null!==i){let n=0;this.xb()&&(h(\"left\",n,s),n=b(e.wm()).xp().width),this.ab.Sp(i,n,s),n+=t.width,this.Sb()&&h(\"right\",n,s)}s+=t.height}return t({width:n,height:s})}Pb(){let i=0,n=0,s=0;for(const t of this.Xm)this.xb()&&(n=Math.max(n,b(t.wm()).op(),this.cn.leftPriceScale.minimumWidth)),this.Sb()&&(s=Math.max(s,b(t.gm()).op(),this.cn.rightPriceScale.minimumWidth)),i+=t.M_();n=rs(n),s=rs(s);const e=this.__,r=this.ho,h=Math.max(e-n-s,0),l=this.cn.timeScale.visible;let a=l?Math.max(this.ab.Wm(),this.cn.timeScale.minimumHeight):0;var o;a=(o=a)+o%2;const _=0+a,u=r<_?0:r-_,c=u/i;let d=0;for(let i=0;i<this.Xm.length;++i){const e=this.Xm[i];e.qp(this.$i.qc()[i]);let r=0,l=0;l=i===this.Xm.length-1?u-d:Math.round(e.M_()*c),r=Math.max(l,2),d+=r,e.cp(t({width:h,height:r})),this.xb()&&e._m(n,\"left\"),this.Sb()&&e._m(s,\"right\"),e.fp()&&this.$i.Kc(e.fp(),r)}this.ab.Fm(t({width:l?h:0,height:a}),l?n:0,l?s:0),this.$i.S_(h),this.Gm!==n&&(this.Gm=n),this.Jm!==s&&(this.Jm=s)}hb(t){t?this.Xd.addEventListener(\"wheel\",this.eb,{passive:!1}):this.Xd.removeEventListener(\"wheel\",this.eb)}Rb(t){switch(t.deltaMode){case t.DOM_DELTA_PAGE:return 120;case t.DOM_DELTA_LINE:return 32}return Es?1/window.devicePixelRatio:1}rb(t){if(!(0!==t.deltaX&&this.cn.handleScroll.mouseWheel||0!==t.deltaY&&this.cn.handleScale.mouseWheel))return;const i=this.Rb(t),n=i*t.deltaX/100,s=-i*t.deltaY/100;if(t.cancelable&&t.preventDefault(),0!==s&&this.cn.handleScale.mouseWheel){const i=Math.sign(s)*Math.min(1,Math.abs(s)),n=t.clientX-this.Xd.getBoundingClientRect().left;this.$t().Qc(n,i)}0!==n&&this.cn.handleScroll.mouseWheel&&this.$t().td(-80*n)}mb(t,i){var n;const s=t.jn();3===s&&this.Db(),3!==s&&2!==s||(this.Vb(t),this.Ob(t,i),this.ab.bt(),this.Xm.forEach((t=>{t.Xp()})),3===(null===(n=this.Qm)||void 0===n?void 0:n.jn())&&(this.Qm.ts(t),this.Db(),this.Vb(this.Qm),this.Ob(this.Qm,i),t=this.Qm,this.Qm=null)),this.vp(t)}Ob(t,i){for(const n of t.Qn())this.ns(n,i)}Vb(t){const i=this.$i.qc();for(let n=0;n<i.length;n++)t.Hn(n).Wn&&i[n].N_()}ns(t,i){const n=this.$i.St();switch(t.qn){case 0:n.hc();break;case 1:n.lc(t.Vt);break;case 2:n.Gn(t.Vt);break;case 3:n.Jn(t.Vt);break;case 4:n.qu();break;case 5:t.Vt.Qu(i)||n.Jn(t.Vt.tc(i))}}Vc(t){null!==this.Qm?this.Qm.ts(t):this.Qm=t,this.tb||(this.tb=!0,this.Km=window.requestAnimationFrame((t=>{if(this.tb=!1,this.Km=0,null!==this.Qm){const i=this.Qm;this.Qm=null,this.mb(i,t);for(const n of i.Qn())if(5===n.qn&&!n.Vt.Qu(t)){this.$t().Zn(n.Vt);break}}})))}Db(){this.ub()}ub(){const t=this.$i.qc(),i=t.length,n=this.Xm.length;for(let t=i;t<n;t++){const t=m(this.Xm.pop());this.sb.removeChild(t.lp()),t.lm().p(this),t.am().p(this),t.S()}for(let s=n;s<i;s++){const i=new Vs(this,t[s]);i.lm().l(this.Bb.bind(this),this),i.am().l(this.Ab.bind(this),this),this.Xm.push(i),this.sb.insertBefore(i.lp(),this.ab.lp())}for(let n=0;n<i;n++){const i=t[n],s=this.Xm[n];s.fp()!==i?s.qp(i):s.Up()}this.cb(),this.Pb()}Ib(t,i,n){var s;const e=new Map;if(null!==t){this.$i.wt().forEach((i=>{const n=i.In().ll(t);null!==n&&e.set(i,n)}))}let r;if(null!==t){const i=null===(s=this.$i.St().Ui(t))||void 0===s?void 0:s.originalTime;void 0!==i&&(r=i)}const h=this.$t().Wc(),l=null!==h&&h.Hc instanceof Gi?h.Hc:void 0,a=null!==h&&void 0!==h.Iv?h.Iv.gr:void 0;return{zb:r,ee:null!=t?t:void 0,Lb:null!=i?i:void 0,Eb:l,Nb:e,Fb:a,Wb:null!=n?n:void 0}}Bb(t,i,n){this.Vp.m((()=>this.Ib(t,i,n)))}Ab(t,i,n){this.Op.m((()=>this.Ib(t,i,n)))}lb(t,i,n){this.Rc.m((()=>this.Ib(t,i,n)))}cb(){const t=this.cn.timeScale.visible?\"\":\"none\";this.ab.lp().style.display=t}xb(){return this.Xm[0].fp().R_().W().visible}Sb(){return this.Xm[0].fp().D_().W().visible}ob(){return\"ResizeObserver\"in window&&(this.ib=new ResizeObserver((t=>{const i=t.find((t=>t.target===this.Jd));i&&this._b(i.contentRect.width,i.contentRect.height)})),this.ib.observe(this.Jd,{box:\"border-box\"}),!0)}pb(){null!==this.ib&&this.ib.disconnect(),this.ib=null}}function Ws(t){return Boolean(t.handleScroll.mouseWheel||t.handleScale.mouseWheel)}function js(t){return function(t){return void 0!==t.open}(t)||function(t){return void 0!==t.value}(t)}function Hs(t,i){var n={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(n[s]=t[s]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols){var e=0;for(s=Object.getOwnPropertySymbols(t);e<s.length;e++)i.indexOf(s[e])<0&&Object.prototype.propertyIsEnumerable.call(t,s[e])&&(n[s[e]]=t[s[e]])}return n}function $s(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.color&&(r.V=n.color),r}function Us(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.lineColor&&(r.lt=n.lineColor),void 0!==n.topColor&&(r.Ps=n.topColor),void 0!==n.bottomColor&&(r.Rs=n.bottomColor),r}function qs(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.topLineColor&&(r.Re=n.topLineColor),void 0!==n.bottomLineColor&&(r.De=n.bottomLineColor),void 0!==n.topFillColor1&&(r.ke=n.topFillColor1),void 0!==n.topFillColor2&&(r.ye=n.topFillColor2),void 0!==n.bottomFillColor1&&(r.Ce=n.bottomFillColor1),void 0!==n.bottomFillColor2&&(r.Te=n.bottomFillColor2),r}function Ys(t,i,n,s){const e={ee:i,ot:t,Vt:[n.open,n.high,n.low,n.close],zb:s};return void 0!==n.color&&(e.V=n.color),e}function Zs(t,i,n,s){const e={ee:i,ot:t,Vt:[n.open,n.high,n.low,n.close],zb:s};return void 0!==n.color&&(e.V=n.color),void 0!==n.borderColor&&(e.Ot=n.borderColor),void 0!==n.wickColor&&(e.Xh=n.wickColor),e}function Xs(t,i,n,s,e){const r=m(e)(n),h=Math.max(...r),l=Math.min(...r),a=r[r.length-1],o=[a,h,l,a],_=n,{time:u,color:c}=_;return{ee:i,ot:t,Vt:o,zb:s,$e:Hs(_,[\"time\",\"color\"]),V:c}}function Ks(t){return void 0!==t.Vt}function Gs(t,i){return void 0!==i.customValues&&(t.jb=i.customValues),t}function Js(t){return(i,n,s,e,r,h)=>function(t,i){return i?i(t):void 0===(n=t).open&&void 0===n.value;var n}(s,h)?Gs({ot:i,ee:n,zb:e},s):Gs(t(i,n,s,e,r),s)}function Qs(t){return{Candlestick:Js(Zs),Bar:Js(Ys),Area:Js(Us),Baseline:Js(qs),Histogram:Js($s),Line:Js($s),Custom:Js(Xs)}[t]}function te(t){return{ee:0,Hb:new Map,la:t}}function ie(t,i){if(void 0!==t&&0!==t.length)return{$b:i.key(t[0].ot),Ub:i.key(t[t.length-1].ot)}}function ne(t){let i;return t.forEach((t=>{void 0===i&&(i=t.zb)})),m(i)}class se{constructor(t){this.qb=new Map,this.Yb=new Map,this.Zb=new Map,this.Xb=[],this.q_=t}S(){this.qb.clear(),this.Yb.clear(),this.Zb.clear(),this.Xb=[]}Kb(t,i){let n=0!==this.qb.size,s=!1;const e=this.Yb.get(t);if(void 0!==e)if(1===this.Yb.size)n=!1,s=!0,this.qb.clear();else for(const i of this.Xb)i.pointData.Hb.delete(t)&&(s=!0);let r=[];if(0!==i.length){const n=i.map((t=>t.time)),e=this.q_.createConverterToInternalObj(i),h=Qs(t.Qh()),l=t.Ca(),a=t.Ta();r=i.map(((i,r)=>{const o=e(i.time),_=this.q_.key(o);let u=this.qb.get(_);void 0===u&&(u=te(o),this.qb.set(_,u),s=!0);const c=h(o,u.ee,i,n[r],l,a);return u.Hb.set(t,c),c}))}n&&this.Gb(),this.Jb(t,r);let h=-1;if(s){const t=[];this.qb.forEach((i=>{t.push({timeWeight:0,time:i.la,pointData:i,originalTime:ne(i.Hb)})})),t.sort(((t,i)=>this.q_.key(t.time)-this.q_.key(i.time))),h=this.Qb(t)}return this.tw(t,h,function(t,i,n){const s=ie(t,n),e=ie(i,n);if(void 0!==s&&void 0!==e)return{ta:s.Ub>=e.Ub&&s.$b>=e.$b}}(this.Yb.get(t),e,this.q_))}vd(t){return this.Kb(t,[])}iw(t,i){const n=i;!function(t){void 0===t.zb&&(t.zb=t.time)}(n),this.q_.preprocessData(i);const s=this.q_.createConverterToInternalObj([i])(i.time),e=this.Zb.get(t);if(void 0!==e&&this.q_.key(s)<this.q_.key(e))throw new Error(`Cannot update oldest data, last time=${e}, new time=${s}`);let r=this.qb.get(this.q_.key(s));const h=void 0===r;void 0===r&&(r=te(s),this.qb.set(this.q_.key(s),r));const l=Qs(t.Qh()),a=t.Ca(),o=t.Ta(),_=l(s,r.ee,i,n.zb,a,o);r.Hb.set(t,_),this.nw(t,_);const u={ta:Ks(_)};if(!h)return this.tw(t,-1,u);const c={timeWeight:0,time:r.la,pointData:r,originalTime:ne(r.Hb)},d=Bt(this.Xb,this.q_.key(c.time),((t,i)=>this.q_.key(t.time)<i));this.Xb.splice(d,0,c);for(let t=d;t<this.Xb.length;++t)ee(this.Xb[t].pointData,t);return this.q_.fillWeightsForPoints(this.Xb,d),this.tw(t,d,u)}nw(t,i){let n=this.Yb.get(t);void 0===n&&(n=[],this.Yb.set(t,n));const s=0!==n.length?n[n.length-1]:null;null===s||this.q_.key(i.ot)>this.q_.key(s.ot)?Ks(i)&&n.push(i):Ks(i)?n[n.length-1]=i:n.splice(-1,1),this.Zb.set(t,i.ot)}Jb(t,i){0!==i.length?(this.Yb.set(t,i.filter(Ks)),this.Zb.set(t,i[i.length-1].ot)):(this.Yb.delete(t),this.Zb.delete(t))}Gb(){for(const t of this.Xb)0===t.pointData.Hb.size&&this.qb.delete(this.q_.key(t.time))}Qb(t){let i=-1;for(let n=0;n<this.Xb.length&&n<t.length;++n){const s=this.Xb[n],e=t[n];if(this.q_.key(s.time)!==this.q_.key(e.time)){i=n;break}e.timeWeight=s.timeWeight,ee(e.pointData,n)}if(-1===i&&this.Xb.length!==t.length&&(i=Math.min(this.Xb.length,t.length)),-1===i)return-1;for(let n=i;n<t.length;++n)ee(t[n].pointData,n);return this.q_.fillWeightsForPoints(t,i),this.Xb=t,i}sw(){if(0===this.Yb.size)return null;let t=0;return this.Yb.forEach((i=>{0!==i.length&&(t=Math.max(t,i[i.length-1].ee))})),t}tw(t,i,n){const s={ew:new Map,St:{Eu:this.sw()}};if(-1!==i)this.Yb.forEach(((i,e)=>{s.ew.set(e,{$e:i,rw:e===t?n:void 0})})),this.Yb.has(t)||s.ew.set(t,{$e:[],rw:n}),s.St.hw=this.Xb,s.St.lw=i;else{const i=this.Yb.get(t);s.ew.set(t,{$e:i||[],rw:n})}return s}}function ee(t,i){t.ee=i,t.Hb.forEach((t=>{t.ee=i}))}function re(t){const i={value:t.Vt[3],time:t.zb};return void 0!==t.jb&&(i.customValues=t.jb),i}function he(t){const i=re(t);return void 0!==t.V&&(i.color=t.V),i}function le(t){const i=re(t);return void 0!==t.lt&&(i.lineColor=t.lt),void 0!==t.Ps&&(i.topColor=t.Ps),void 0!==t.Rs&&(i.bottomColor=t.Rs),i}function ae(t){const i=re(t);return void 0!==t.Re&&(i.topLineColor=t.Re),void 0!==t.De&&(i.bottomLineColor=t.De),void 0!==t.ke&&(i.topFillColor1=t.ke),void 0!==t.ye&&(i.topFillColor2=t.ye),void 0!==t.Ce&&(i.bottomFillColor1=t.Ce),void 0!==t.Te&&(i.bottomFillColor2=t.Te),i}function oe(t){const i={open:t.Vt[0],high:t.Vt[1],low:t.Vt[2],close:t.Vt[3],time:t.zb};return void 0!==t.jb&&(i.customValues=t.jb),i}function _e(t){const i=oe(t);return void 0!==t.V&&(i.color=t.V),i}function ue(t){const i=oe(t),{V:n,Ot:s,Xh:e}=t;return void 0!==n&&(i.color=n),void 0!==s&&(i.borderColor=s),void 0!==e&&(i.wickColor=e),i}function ce(t){return{Area:le,Line:he,Baseline:ae,Histogram:he,Bar:_e,Candlestick:ue,Custom:de}[t]}function de(t){const i=t.zb;return Object.assign(Object.assign({},t.$e),{time:i})}const fe={vertLine:{color:\"#9598A1\",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:\"#131722\"},horzLine:{color:\"#9598A1\",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:\"#131722\"},mode:1},ve={vertLines:{color:\"#D6DCDE\",style:0,visible:!0},horzLines:{color:\"#D6DCDE\",style:0,visible:!0}},pe={background:{type:\"solid\",color:\"#FFFFFF\"},textColor:\"#191919\",fontSize:12,fontFamily:N,attributionLogo:!0},me={autoScale:!0,mode:0,invertScale:!1,alignLabels:!0,borderVisible:!0,borderColor:\"#2B2B43\",entireTextOnly:!1,visible:!1,ticksVisible:!1,scaleMargins:{bottom:.1,top:.2},minimumWidth:0},be={rightOffset:0,barSpacing:6,minBarSpacing:.5,fixLeftEdge:!1,fixRightEdge:!1,lockVisibleTimeRangeOnResize:!1,rightBarStaysOnScroll:!1,borderVisible:!0,borderColor:\"#2B2B43\",visible:!0,timeVisible:!1,secondsVisible:!0,shiftVisibleRangeOnNewBar:!0,allowShiftVisibleRangeOnWhitespaceReplacement:!1,ticksVisible:!1,uniformDistribution:!1,minimumHeight:0,allowBoldLabels:!0},we={color:\"rgba(0, 0, 0, 0)\",visible:!1,fontSize:48,fontFamily:N,fontStyle:\"\",text:\"\",horzAlign:\"center\",vertAlign:\"center\"};function ge(){return{width:0,height:0,autoSize:!1,layout:pe,crosshair:fe,grid:ve,overlayPriceScales:Object.assign({},me),leftPriceScale:Object.assign(Object.assign({},me),{visible:!1}),rightPriceScale:Object.assign(Object.assign({},me),{visible:!0}),timeScale:be,watermark:we,localization:{locale:ns?navigator.language:\"\",dateFormat:\"dd MMM 'yy\"},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0},handleScale:{axisPressedMouseMove:{time:!0,price:!0},axisDoubleClickReset:{time:!0,price:!0},mouseWheel:!0,pinch:!0},kineticScroll:{mouse:!1,touch:!0},trackingMode:{exitMode:1}}}class Me{constructor(t,i){this.aw=t,this.ow=i}applyOptions(t){this.aw.$t().$c(this.ow,t)}options(){return this.Li().W()}width(){return _t(this.ow)?this.aw.Mb(this.ow):0}Li(){return b(this.aw.$t().Uc(this.ow)).Dt}}function xe(t,i,n){const s=Hs(t,[\"time\",\"originalTime\"]),e=Object.assign({time:i},s);return void 0!==n&&(e.originalTime=n),e}const Se={color:\"#FF0000\",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:\"\",axisLabelColor:\"\",axisLabelTextColor:\"\"};class ke{constructor(t){this.Nh=t}applyOptions(t){this.Nh.$h(t)}options(){return this.Nh.W()}_w(){return this.Nh}}class ye{constructor(t,i,n,s,e){this.uw=new D,this.Es=t,this.cw=i,this.dw=n,this.q_=e,this.fw=s}S(){this.uw.S()}priceFormatter(){return this.Es.ba()}priceToCoordinate(t){const i=this.Es.Ct();return null===i?null:this.Es.Dt().Rt(t,i.Vt)}coordinateToPrice(t){const i=this.Es.Ct();return null===i?null:this.Es.Dt().pn(t,i.Vt)}barsInLogicalRange(t){if(null===t)return null;const i=new yn(new xn(t.from,t.to)).lu(),n=this.Es.In();if(n.Ni())return null;const s=n.ll(i.Os(),1),e=n.ll(i.ui(),-1),r=b(n.el()),h=b(n.An());if(null!==s&&null!==e&&s.ee>e.ee)return{barsBefore:t.from-r,barsAfter:h-t.to};const l={barsBefore:null===s||s.ee===r?t.from-r:s.ee-r,barsAfter:null===e||e.ee===h?h-t.to:h-e.ee};return null!==s&&null!==e&&(l.from=s.zb,l.to=e.zb),l}setData(t){this.q_,this.Es.Qh(),this.cw.pw(this.Es,t),this.mw(\"full\")}update(t){this.Es.Qh(),this.cw.bw(this.Es,t),this.mw(\"update\")}dataByIndex(t,i){const n=this.Es.In().ll(t,i);if(null===n)return null;return ce(this.seriesType())(n)}data(){const t=ce(this.seriesType());return this.Es.In().ne().map((i=>t(i)))}subscribeDataChanged(t){this.uw.l(t)}unsubscribeDataChanged(t){this.uw.v(t)}setMarkers(t){this.q_;const i=t.map((t=>xe(t,this.q_.convertHorzItemToInternal(t.time),t.time)));this.Es.na(i)}markers(){return this.Es.sa().map((t=>xe(t,t.originalTime,void 0)))}applyOptions(t){this.Es.$h(t)}options(){return z(this.Es.W())}priceScale(){return this.dw.priceScale(this.Es.Dt().Pa())}createPriceLine(t){const i=V(z(Se),t),n=this.Es.ea(i);return new ke(n)}removePriceLine(t){this.Es.ra(t._w())}seriesType(){return this.Es.Qh()}attachPrimitive(t){this.Es.ka(t),t.attached&&t.attached({chart:this.fw,series:this,requestUpdate:()=>this.Es.$t().Kl()})}detachPrimitive(t){this.Es.ya(t),t.detached&&t.detached()}mw(t){this.uw.M()&&this.uw.m(t)}}class Ce{constructor(t,i,n){this.ww=new D,this.mu=new D,this.Om=new D,this.$i=t,this.yl=t.St(),this.ab=i,this.yl.nc().l(this.gw.bind(this)),this.yl.sc().l(this.Mw.bind(this)),this.ab.Nm().l(this.xw.bind(this)),this.q_=n}S(){this.yl.nc().p(this),this.yl.sc().p(this),this.ab.Nm().p(this),this.ww.S(),this.mu.S(),this.Om.S()}scrollPosition(){return this.yl.Hu()}scrollToPosition(t,i){i?this.yl.Ju(t,1e3):this.$i.Jn(t)}scrollToRealTime(){this.yl.Gu()}getVisibleRange(){const t=this.yl.Vu();return null===t?null:{from:t.from.originalTime,to:t.to.originalTime}}setVisibleRange(t){const i={from:this.q_.convertHorzItemToInternal(t.from),to:this.q_.convertHorzItemToInternal(t.to)},n=this.yl.Iu(i);this.$i.pd(n)}getVisibleLogicalRange(){const t=this.yl.Du();return null===t?null:{from:t.Os(),to:t.ui()}}setVisibleLogicalRange(t){p(t.from<=t.to,\"The from index cannot be after the to index.\"),this.$i.pd(t)}resetTimeScale(){this.$i.Kn()}fitContent(){this.$i.hc()}logicalToCoordinate(t){const i=this.$i.St();return i.Ni()?null:i.It(t)}coordinateToLogical(t){return this.yl.Ni()?null:this.yl.Nu(t)}timeToCoordinate(t){const i=this.q_.convertHorzItemToInternal(t),n=this.yl.Va(i,!1);return null===n?null:this.yl.It(n)}coordinateToTime(t){const i=this.$i.St(),n=i.Nu(t),s=i.Ui(n);return null===s?null:s.originalTime}width(){return this.ab.um().width}height(){return this.ab.um().height}subscribeVisibleTimeRangeChange(t){this.ww.l(t)}unsubscribeVisibleTimeRangeChange(t){this.ww.v(t)}subscribeVisibleLogicalRangeChange(t){this.mu.l(t)}unsubscribeVisibleLogicalRangeChange(t){this.mu.v(t)}subscribeSizeChange(t){this.Om.l(t)}unsubscribeSizeChange(t){this.Om.v(t)}applyOptions(t){this.yl.$h(t)}options(){return Object.assign(Object.assign({},z(this.yl.W())),{barSpacing:this.yl.le()})}gw(){this.ww.M()&&this.ww.m(this.getVisibleRange())}Mw(){this.mu.M()&&this.mu.m(this.getVisibleLogicalRange())}xw(t){this.Om.m(t.width,t.height)}}function Te(t){if(void 0===t||\"custom\"===t.type)return;const i=t;void 0!==i.minMove&&void 0===i.precision&&(i.precision=function(t){if(t>=1)return 0;let i=0;for(;i<8;i++){const n=Math.round(t);if(Math.abs(n-t)<1e-8)return i;t*=10}return i}(i.minMove))}function Pe(t){return function(t){if(I(t.handleScale)){const i=t.handleScale;t.handleScale={axisDoubleClickReset:{time:i,price:i},axisPressedMouseMove:{time:i,price:i},mouseWheel:i,pinch:i}}else if(void 0!==t.handleScale){const{axisPressedMouseMove:i,axisDoubleClickReset:n}=t.handleScale;I(i)&&(t.handleScale.axisPressedMouseMove={time:i,price:i}),I(n)&&(t.handleScale.axisDoubleClickReset={time:n,price:n})}const i=t.handleScroll;I(i)&&(t.handleScroll={horzTouchDrag:i,vertTouchDrag:i,mouseWheel:i,pressedMouseMove:i})}(t),t}class Re{constructor(t,i,n){this.Sw=new Map,this.kw=new Map,this.yw=new D,this.Cw=new D,this.Tw=new D,this.Pw=new se(i);const s=void 0===n?z(ge()):V(z(ge()),Pe(n));this.q_=i,this.aw=new Fs(t,s,i),this.aw.lm().l((t=>{this.yw.M()&&this.yw.m(this.Rw(t()))}),this),this.aw.am().l((t=>{this.Cw.M()&&this.Cw.m(this.Rw(t()))}),this),this.aw.Xc().l((t=>{this.Tw.M()&&this.Tw.m(this.Rw(t()))}),this);const e=this.aw.$t();this.Dw=new Ce(e,this.aw.fb(),this.q_)}remove(){this.aw.lm().p(this),this.aw.am().p(this),this.aw.Xc().p(this),this.Dw.S(),this.aw.S(),this.Sw.clear(),this.kw.clear(),this.yw.S(),this.Cw.S(),this.Tw.S(),this.Pw.S()}resize(t,i,n){this.autoSizeActive()||this.aw._b(t,i,n)}addCustomSeries(t,i){const n=w(t),s=Object.assign(Object.assign({},_),n.defaultOptions());return this.Vw(\"Custom\",s,i,n)}addAreaSeries(t){return this.Vw(\"Area\",l,t)}addBaselineSeries(t){return this.Vw(\"Baseline\",a,t)}addBarSeries(t){return this.Vw(\"Bar\",r,t)}addCandlestickSeries(t={}){return function(t){void 0!==t.borderColor&&(t.borderUpColor=t.borderColor,t.borderDownColor=t.borderColor),void 0!==t.wickColor&&(t.wickUpColor=t.wickColor,t.wickDownColor=t.wickColor)}(t),this.Vw(\"Candlestick\",e,t)}addHistogramSeries(t){return this.Vw(\"Histogram\",o,t)}addLineSeries(t){return this.Vw(\"Line\",h,t)}removeSeries(t){const i=m(this.Sw.get(t)),n=this.Pw.vd(i);this.aw.$t().vd(i),this.Ow(n),this.Sw.delete(t),this.kw.delete(i)}pw(t,i){this.Ow(this.Pw.Kb(t,i))}bw(t,i){this.Ow(this.Pw.iw(t,i))}subscribeClick(t){this.yw.l(t)}unsubscribeClick(t){this.yw.v(t)}subscribeCrosshairMove(t){this.Tw.l(t)}unsubscribeCrosshairMove(t){this.Tw.v(t)}subscribeDblClick(t){this.Cw.l(t)}unsubscribeDblClick(t){this.Cw.v(t)}priceScale(t){return new Me(this.aw,t)}timeScale(){return this.Dw}applyOptions(t){this.aw.$h(Pe(t))}options(){return this.aw.W()}takeScreenshot(){return this.aw.wb()}autoSizeActive(){return this.aw.kb()}chartElement(){return this.aw.yb()}paneSize(){const t=this.aw.Tb();return{height:t.height,width:t.width}}setCrosshairPosition(t,i,n){const s=this.Sw.get(n);if(void 0===s)return;const e=this.aw.$t().dr(s);null!==e&&this.aw.$t().ad(t,i,e)}clearCrosshairPosition(){this.aw.$t().od(!0)}Vw(t,i,n={},s){Te(n.priceFormat);const e=V(z(u),z(i),n),r=this.aw.$t().dd(t,e,s),h=new ye(r,this,this,this,this.q_);return this.Sw.set(h,r),this.kw.set(r,h),h}Ow(t){const i=this.aw.$t();i._d(t.St.Eu,t.St.hw,t.St.lw),t.ew.forEach(((t,i)=>i.J(t.$e,t.rw))),i.Wu()}Bw(t){return m(this.kw.get(t))}Rw(t){const i=new Map;t.Nb.forEach(((t,n)=>{const s=n.Qh(),e=ce(s)(t);if(\"Custom\"!==s)p(js(e));else{const t=n.Ta();p(!t||!1===t(e))}i.set(this.Bw(n),e)}));const n=void 0!==t.Eb&&this.kw.has(t.Eb)?this.Bw(t.Eb):void 0;return{time:t.zb,logical:t.ee,point:t.Lb,hoveredSeries:n,hoveredObjectId:t.Fb,seriesData:i,sourceEvent:t.Wb}}}function De(t,i,n){let s;if(A(t)){const i=document.getElementById(t);p(null!==i,`Cannot find element in DOM with id=${t}`),s=i}else s=t;const e=new Re(s,i,n);return i.setOptions(e.options()),e}function Ve(t,i){return De(t,new is,is.Id(i))}function Oe(){return is}const Be=Object.assign(Object.assign({},u),_);function Ae(){return\"4.2.3\"}export{In as ColorType,at as CrosshairMode,Bn as LastPriceAnimationMode,d as LineStyle,c as LineType,Li as MismatchDirection,An as PriceLineSource,pn as PriceScaleMode,zn as TickMarkType,On as TrackingModeExitMode,Ve as createChart,De as createChartEx,Be as customSeriesDefaultOptions,Oe as defaultHorzScaleBehavior,En as isBusinessDay,Nn as isUTCTimestamp,Ae as version};\n","/**\r\n * ChartRenderer - Manages the lightweight-charts instance and rendering\r\n */\r\nimport { createChart, IChartApi, ISeriesApi, CrosshairMode, Time } from 'lightweight-charts';\r\nimport { CandleData, TimeFrame } from './types';\r\n\r\nexport interface ChartOptions {\r\n ticker?: string;\r\n mint: string;\r\n formatPrice: (value: number) => string;\r\n height?: number;\r\n}\r\n\r\nexport class ChartRenderer {\r\n private chart: IChartApi | null = null;\r\n private series: ISeriesApi<\"Candlestick\"> | null = null;\r\n private container: HTMLDivElement | null = null;\r\n private options: ChartOptions;\r\n\r\n constructor(container: HTMLDivElement, options: ChartOptions) {\r\n this.container = container;\r\n this.options = options;\r\n }\r\n\r\n /**\r\n * Initializes the chart\r\n */\r\n initialize(): void {\r\n if (!this.container) {\r\n throw new Error('Chart container is not set');\r\n }\r\n\r\n this.chart = createChart(this.container, {\r\n layout: {\r\n background: { color: '#ffffff' },\r\n textColor: '#333333',\r\n },\r\n grid: {\r\n vertLines: { color: '#f0f0f0' },\r\n horzLines: { color: '#f0f0f0' },\r\n },\r\n crosshair: {\r\n mode: CrosshairMode.Normal,\r\n },\r\n rightPriceScale: {\r\n borderColor: '#cccccc',\r\n },\r\n timeScale: {\r\n borderColor: '#cccccc',\r\n timeVisible: true,\r\n secondsVisible: false,\r\n rightOffset: 12,\r\n barSpacing: 8,\r\n minBarSpacing: 4,\r\n },\r\n height: this.options.height || 384,\r\n localization: {\r\n priceFormatter: this.options.formatPrice,\r\n },\r\n watermark: {\r\n visible: true,\r\n fontSize: 64,\r\n horzAlign: 'center',\r\n vertAlign: 'center',\r\n color: 'rgba(0, 0, 0, 0.03)',\r\n text: this.options.ticker \r\n ? `${this.options.ticker}/SOL` \r\n : `${this.options.mint.substring(0, 4)}...${this.options.mint.substring(this.options.mint.length - 4)}/SOL`,\r\n },\r\n });\r\n\r\n this.series = this.chart.addCandlestickSeries({\r\n upColor: '#26a69a',\r\n downColor: '#ef5350',\r\n borderVisible: true,\r\n borderUpColor: '#26a69a',\r\n borderDownColor: '#ef5350',\r\n wickUpColor: '#26a69a',\r\n wickDownColor: '#ef5350',\r\n });\r\n\r\n // Handle resize\r\n const handleResize = () => {\r\n if (this.container && this.chart) {\r\n this.chart.applyOptions({ width: this.container.clientWidth });\r\n }\r\n };\r\n\r\n window.addEventListener('resize', handleResize);\r\n handleResize();\r\n }\r\n\r\n /**\r\n * Updates chart data\r\n */\r\n updateData(candles: CandleData[]): void {\r\n if (!this.series) return;\r\n\r\n // Validate candles before displaying\r\n const validCandles = candles.filter(candle => \r\n candle && \r\n candle.open > 0 && \r\n candle.high > 0 && \r\n candle.low > 0 && \r\n candle.close > 0 &&\r\n isFinite(candle.open) &&\r\n isFinite(candle.high) &&\r\n isFinite(candle.low) &&\r\n isFinite(candle.close)\r\n );\r\n\r\n if (validCandles.length > 0) {\r\n this.series.setData(validCandles.map(c => ({ ...c, time: c.time as Time })));\r\n \r\n // Scroll to real-time\r\n requestAnimationFrame(() => {\r\n if (this.chart) {\r\n this.chart.timeScale().scrollToRealTime();\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Sets the current timeframe (for future use if needed)\r\n */\r\n setTimeframe(timeframe: TimeFrame): void {\r\n // Can be extended to update chart settings based on timeframe\r\n }\r\n\r\n /**\r\n * Resizes the chart\r\n */\r\n resize(): void {\r\n if (this.container && this.chart) {\r\n this.chart.applyOptions({ width: this.container.clientWidth });\r\n }\r\n }\r\n\r\n /**\r\n * Destroys the chart instance\r\n */\r\n destroy(): void {\r\n if (this.chart) {\r\n this.chart.remove();\r\n this.chart = null;\r\n this.series = null;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the chart instance (for advanced operations)\r\n */\r\n getChart(): IChartApi | null {\r\n return this.chart;\r\n }\r\n\r\n /**\r\n * Gets the series instance (for advanced operations)\r\n */\r\n getSeries(): ISeriesApi<\"Candlestick\"> | null {\r\n return this.series;\r\n }\r\n}\r\n\r\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n const msg = error && error.message ? error.message : 'Error';\n\n // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n const errCode = code == null && error ? error.code : code;\n AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n if (error && axiosError.cause == null) {\n Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n }\n\n axiosError.name = (error && error.name) || 'Error';\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n Request, Response\n}))(utils.global);\n\nconst {\n ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst factory = (env) => {\n env = utils.merge.call({\n skipUndefined: true\n }, globalFetchAPI, env);\n\n const {fetch: envFetch, Request, Response} = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n }\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n }\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = config ? config.env : {};\n const {fetch, Request, Response} = env;\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n }\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters, config) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.12.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","/**\r\n * Environment Configuration for Funhi Chart\r\n * \r\n * This file provides configuration for the chart component\r\n * Users can override these values by passing them as props\r\n */\r\n\r\nexport const API_CONFIG = {\r\n // Backend API base URL - users should provide this\r\n BASE_URL: typeof window !== 'undefined' && (window as any).FUNHI_CHART_API_URL \r\n ? (window as any).FUNHI_CHART_API_URL \r\n : process.env.NEXT_PUBLIC_BACKEND_URL || '',\r\n\r\n // API request timeout in milliseconds\r\n TIMEOUT: 10000,\r\n\r\n // Retry configuration\r\n MAX_RETRIES: 3,\r\n RETRY_DELAY: 1000,\r\n} as const;\r\n\r\n","/**\r\n * Candle Storage Service\r\n * Handles saving and retrieving candles from database via API\r\n * Replaces localStorage with database storage for persistent candle data\r\n */\r\n\r\nimport axios from 'axios';\r\nimport { API_CONFIG } from '../config/environment';\r\n\r\nexport interface CandleData {\r\n time: number; // Unix timestamp in seconds\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\nexport interface SaveCandlesRequest {\r\n mint: string;\r\n candles: CandleData[];\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n}\r\n\r\nexport interface GetCandlesRequest {\r\n mint: string;\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n limit?: number; // max number of candles to retrieve, defaults to 200\r\n}\r\n\r\nexport interface SaveCandleRequest {\r\n mint: string;\r\n candle: CandleData;\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n}\r\n\r\nclass CandleStorageService {\r\n private readonly baseURL = `${API_CONFIG.BASE_URL}/api/ohlcv`;\r\n private savingQueue: Map<string, { candles: CandleData[], timeout: ReturnType<typeof setTimeout> }> = new Map();\r\n private readonly BATCH_DELAY = 5000; // 5 seconds - batch candles before saving\r\n private readonly BATCH_SIZE = 50; // Save when we reach this many candles\r\n\r\n /**\r\n * Save multiple candles to database\r\n * Uses batching to reduce API calls\r\n */\r\n async saveCandles(request: SaveCandlesRequest): Promise<boolean> {\r\n try {\r\n const { mint, candles, timeFrame = 60 } = request;\r\n\r\n if (!mint || !candles || candles.length === 0) {\r\n console.warn('⚠️ [CandleStorage] Invalid save request:', request);\r\n return false;\r\n }\r\n\r\n const response = await axios.post(`${this.baseURL}/candles/save`, {\r\n mint,\r\n candles,\r\n timeFrame\r\n });\r\n\r\n if (response.data.success) {\r\n console.log(`💾 [CandleStorage] Saved ${candles.length} candles for ${mint}`);\r\n return true;\r\n }\r\n\r\n return false;\r\n } catch (error) {\r\n console.error('❌ [CandleStorage] Error saving candles:', error);\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Save a single candle to database\r\n * Batches candles to reduce API calls\r\n */\r\n async saveCandle(request: SaveCandleRequest): Promise<boolean> {\r\n try {\r\n const { mint, candle, timeFrame = 60 } = request;\r\n\r\n if (!mint || !candle) {\r\n console.warn('⚠️ [CandleStorage] Invalid save request:', request);\r\n return false;\r\n }\r\n\r\n // Add to batching queue\r\n const queueKey = `${mint}_${timeFrame}`;\r\n const existingQueue = this.savingQueue.get(queueKey);\r\n\r\n if (existingQueue) {\r\n // Clear existing timeout\r\n clearTimeout(existingQueue.timeout);\r\n \r\n // Add candle to queue\r\n existingQueue.candles.push(candle);\r\n\r\n // If we've reached batch size, save immediately\r\n if (existingQueue.candles.length >= this.BATCH_SIZE) {\r\n await this.flushQueue(queueKey, mint, timeFrame);\r\n } else {\r\n // Otherwise, set new timeout\r\n existingQueue.timeout = setTimeout(() => {\r\n this.flushQueue(queueKey, mint, timeFrame);\r\n }, this.BATCH_DELAY);\r\n }\r\n } else {\r\n // Create new queue entry\r\n const timeout = setTimeout(() => {\r\n this.flushQueue(queueKey, mint, timeFrame);\r\n }, this.BATCH_DELAY);\r\n\r\n this.savingQueue.set(queueKey, {\r\n candles: [candle],\r\n timeout\r\n });\r\n }\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('❌ [CandleStorage] Error queuing candle:', error);\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Flush the batching queue and save to database\r\n */\r\n private async flushQueue(queueKey: string, mint: string, timeFrame: number): Promise<void> {\r\n const queue = this.savingQueue.get(queueKey);\r\n \r\n if (!queue || queue.candles.length === 0) {\r\n return;\r\n }\r\n\r\n // Remove from queue\r\n this.savingQueue.delete(queueKey);\r\n\r\n // Save to database\r\n await this.saveCandles({\r\n mint,\r\n candles: queue.candles,\r\n timeFrame\r\n });\r\n }\r\n\r\n /**\r\n * Get candles from database\r\n */\r\n async getCandles(request: GetCandlesRequest): Promise<CandleData[]> {\r\n try {\r\n const { mint, timeFrame = 60, limit = 50000 } = request;\r\n\r\n if (!mint) {\r\n console.warn('⚠️ [CandleStorage] Invalid get request:', request);\r\n return [];\r\n }\r\n\r\n const response = await axios.get(`${this.baseURL}/candles/${mint}`, {\r\n params: {\r\n timeFrame,\r\n limit\r\n },\r\n // Add timeout to prevent hanging requests\r\n timeout: 8000, // 8 seconds\r\n // Validate response status\r\n validateStatus: (status) => status >= 200 && status < 500\r\n });\r\n\r\n if (response.data.success && response.data.data && response.data.data.candles) {\r\n const candleCount = response.data.data.candles.length;\r\n if (candleCount > 0) {\r\n console.log(`✅ [CandleStorage] Retrieved ${candleCount} candles for ${mint}`);\r\n } else {\r\n console.log(`ℹ️ [CandleStorage] No candles found for ${mint} in database`);\r\n }\r\n return response.data.data.candles;\r\n }\r\n\r\n // Handle warning from backend\r\n if (response.data.warning) {\r\n console.warn(`⚠️ [CandleStorage] ${response.data.warning}`);\r\n }\r\n\r\n return [];\r\n } catch (error: any) {\r\n // Log more detailed error information\r\n if (error.code === 'ECONNABORTED') {\r\n console.error('❌ [CandleStorage] Request timeout getting candles for', request.mint);\r\n } else if (error.response) {\r\n console.error('❌ [CandleStorage] Server error getting candles:', error.response.status, error.response.data);\r\n } else if (error.request) {\r\n console.error('❌ [CandleStorage] Network error getting candles - no response received');\r\n } else {\r\n console.error('❌ [CandleStorage] Error getting candles:', error.message);\r\n }\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Flush all pending queues before component unmount\r\n */\r\n async flushAll(): Promise<void> {\r\n const flushPromises: Promise<void>[] = [];\r\n\r\n for (const [queueKey, queue] of this.savingQueue.entries()) {\r\n clearTimeout(queue.timeout);\r\n const [mint, timeFrameStr] = queueKey.split('_');\r\n const timeFrame = parseInt(timeFrameStr);\r\n flushPromises.push(this.flushQueue(queueKey, mint, timeFrame));\r\n }\r\n\r\n await Promise.all(flushPromises);\r\n }\r\n}\r\n\r\n// Export singleton instance\r\nexport const candleStorageService = new CandleStorageService();\r\n\r\n","/**\r\n * CandleStorageAdapter - Handles loading/saving candles (wrapper around existing service)\r\n */\r\nimport { CandleData } from '../core/types';\r\nimport { candleStorageService } from '../services/candleStorage';\r\n\r\nexport class CandleStorageAdapter {\r\n /**\r\n * Loads candles from storage\r\n */\r\n async loadCandles(\r\n mint: string, \r\n timeframeSeconds: number, \r\n limit?: number\r\n ): Promise<CandleData[]> {\r\n try {\r\n const effectiveLimit = limit ?? Number.MAX_SAFE_INTEGER;\r\n \r\n const candles = await candleStorageService.getCandles({\r\n mint,\r\n timeFrame: timeframeSeconds,\r\n limit: effectiveLimit\r\n });\r\n\r\n // Remove duplicates and validate\r\n const uniqueCandles = candles.reduce((acc, candle) => {\r\n const existingIndex = acc.findIndex(c => c.time === candle.time);\r\n if (existingIndex >= 0) {\r\n acc[existingIndex] = candle;\r\n } else {\r\n acc.push(candle);\r\n }\r\n return acc;\r\n }, [] as CandleData[]);\r\n\r\n return uniqueCandles.sort((a, b) => a.time - b.time);\r\n } catch (error: any) {\r\n console.error(`❌ [CandleStorageAdapter] Error loading candles:`, error);\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Saves candles to storage (if needed in future)\r\n */\r\n async saveCandles(\r\n mint: string, \r\n timeframeSeconds: number, \r\n candles: CandleData[]\r\n ): Promise<void> {\r\n try {\r\n await candleStorageService.saveCandles({\r\n mint,\r\n timeFrame: timeframeSeconds,\r\n candles\r\n });\r\n } catch (error: any) {\r\n console.error(`❌ [CandleStorageAdapter] Error saving candles:`, error);\r\n }\r\n }\r\n}\r\n\r\n","/**\r\n * RealTimeUpdateHandler - Handles real-time price updates and WebSocket events\r\n */\r\nimport { TimeframeManager } from '../core/TimeframeManager';\r\nimport { CandleData } from '../core/types';\r\n\r\nexport class RealTimeUpdateHandler {\r\n private timeframeManager: TimeframeManager;\r\n private debounceMs: number = 50;\r\n private lastUpdate: number = 0;\r\n\r\n constructor(timeframeManager: TimeframeManager) {\r\n this.timeframeManager = timeframeManager;\r\n }\r\n\r\n /**\r\n * Handles price update from real-time data\r\n */\r\n handlePriceUpdate(price: number, timestamp: number): void {\r\n // Debounce check\r\n if (!this.debounce(timestamp)) {\r\n return;\r\n }\r\n\r\n // Update all timeframes\r\n this.timeframeManager.updateAll(price, timestamp);\r\n }\r\n\r\n /**\r\n * Handles WebSocket update with pre-calculated candles\r\n */\r\n handleSocketUpdate(data: { mint: string; candles: Record<string, any> }, mint: string): void {\r\n if (data.mint !== mint) return;\r\n\r\n if (data.candles) {\r\n // Update each timeframe from backend data\r\n Object.entries(data.candles).forEach(([timeframeKey, backendCandle]) => {\r\n const timeframeSeconds = this.getTimeframeSeconds(timeframeKey);\r\n if (timeframeSeconds) {\r\n const currentTime = Math.floor(Date.now() / 1000);\r\n const currentBucket = Math.floor(currentTime / timeframeSeconds) * timeframeSeconds;\r\n \r\n // Only update if it's the current bucket\r\n if (backendCandle.time === currentBucket) {\r\n const candleData: CandleData = {\r\n time: backendCandle.time,\r\n open: backendCandle.open,\r\n high: backendCandle.high || backendCandle.open,\r\n low: backendCandle.low || backendCandle.open,\r\n close: backendCandle.close,\r\n volume: backendCandle.volume || 0\r\n };\r\n\r\n this.timeframeManager.updateFromExternal(timeframeSeconds, candleData, currentBucket);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Debounce check\r\n */\r\n private debounce(timestamp: number): boolean {\r\n const now = Date.now();\r\n if (this.lastUpdate && (now - this.lastUpdate) < this.debounceMs) {\r\n return false;\r\n }\r\n this.lastUpdate = now;\r\n return true;\r\n }\r\n\r\n /**\r\n * Converts timeframe key to seconds\r\n */\r\n private getTimeframeSeconds(key: string): number | null {\r\n const map: Record<string, number> = {\r\n '1m': 60,\r\n '5m': 300,\r\n '15m': 900,\r\n '1h': 3600,\r\n '4h': 14400,\r\n '1d': 86400\r\n };\r\n return map[key] || null;\r\n }\r\n}\r\n\r\n","/**\r\n * FunhiChartController - Main orchestrator that coordinates all components\r\n */\r\nimport { ChartRenderer, ChartOptions } from './ChartRenderer';\r\nimport { TimeframeManager } from './TimeframeManager';\r\nimport { CandleStorageAdapter } from '../adapters/CandleStorageAdapter';\r\nimport { RealTimeUpdateHandler } from '../handlers/RealTimeUpdateHandler';\r\nimport { CandleData, TimeFrame } from './types';\r\n\r\nexport interface ControllerConfig {\r\n mint: string;\r\n ticker?: string;\r\n tokenName?: string;\r\n timeframes: TimeFrame[];\r\n container: HTMLDivElement;\r\n formatPrice: (value: number) => string;\r\n}\r\n\r\nexport class FunhiChartController {\r\n private chartRenderer: ChartRenderer;\r\n private timeframeManager: TimeframeManager;\r\n private storageAdapter: CandleStorageAdapter;\r\n private updateHandler: RealTimeUpdateHandler;\r\n private currentTimeframe: TimeFrame;\r\n private config: ControllerConfig;\r\n\r\n constructor(config: ControllerConfig) {\r\n this.config = config;\r\n this.currentTimeframe = config.timeframes[0];\r\n\r\n // Initialize components\r\n this.timeframeManager = new TimeframeManager(config.timeframes);\r\n this.storageAdapter = new CandleStorageAdapter();\r\n this.updateHandler = new RealTimeUpdateHandler(this.timeframeManager);\r\n\r\n // Initialize chart renderer\r\n const chartOptions: ChartOptions = {\r\n mint: config.mint,\r\n ticker: config.ticker,\r\n formatPrice: config.formatPrice\r\n };\r\n this.chartRenderer = new ChartRenderer(config.container, chartOptions);\r\n }\r\n\r\n /**\r\n * Initializes the chart and loads initial data\r\n */\r\n async initialize(): Promise<void> {\r\n // Initialize chart\r\n this.chartRenderer.initialize();\r\n\r\n // Load candles for current timeframe\r\n await this.loadTimeframeData(this.currentTimeframe.seconds);\r\n\r\n // Update chart with loaded data\r\n const candles = this.getCurrentCandles();\r\n if (candles.length > 0) {\r\n this.chartRenderer.updateData(candles);\r\n }\r\n }\r\n\r\n /**\r\n * Loads candles for a specific timeframe\r\n * Safeguard: Only loads if we don't have candles, or merges with existing ones\r\n */\r\n async loadTimeframeData(timeframeSeconds: number): Promise<void> {\r\n const existingCandles = this.timeframeManager.getCandles(timeframeSeconds);\r\n const existingCount = existingCandles.length;\r\n \r\n const candles = await this.storageAdapter.loadCandles(\r\n this.config.mint,\r\n timeframeSeconds\r\n );\r\n\r\n if (candles.length > 0) {\r\n // Always merge (CandleManager.loadCandles now handles merging)\r\n this.timeframeManager.loadCandles(timeframeSeconds, candles);\r\n \r\n const newCount = this.timeframeManager.getCandles(timeframeSeconds).length;\r\n if (existingCount > 0 && newCount < existingCount) {\r\n console.warn(\r\n `⚠️ [FunhiChartController] Candle count decreased after load: ${existingCount} -> ${newCount}. ` +\r\n `This might indicate data loss. Database returned ${candles.length} candles.`\r\n );\r\n } else if (newCount > existingCount) {\r\n console.log(\r\n `✅ [FunhiChartController] Loaded ${candles.length} candles from database. ` +\r\n `Total candles: ${existingCount} -> ${newCount} (merged)`\r\n );\r\n }\r\n } else if (existingCount === 0) {\r\n console.warn(\r\n `⚠️ [FunhiChartController] No candles loaded from database for timeframe ${timeframeSeconds}s`\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Updates price for all timeframes\r\n */\r\n updatePrice(price: number): void {\r\n const timestamp = Date.now();\r\n this.updateHandler.handlePriceUpdate(price, timestamp);\r\n\r\n // Update chart for current timeframe\r\n const candles = this.getCurrentCandles();\r\n if (candles.length > 0) {\r\n this.chartRenderer.updateData(candles);\r\n }\r\n }\r\n\r\n /**\r\n * Handles WebSocket update\r\n */\r\n handleSocketUpdate(data: { mint: string; candles: Record<string, any> }): void {\r\n this.updateHandler.handleSocketUpdate(data, this.config.mint);\r\n\r\n // Update chart for current timeframe\r\n const candles = this.getCurrentCandles();\r\n if (candles.length > 0) {\r\n this.chartRenderer.updateData(candles);\r\n }\r\n }\r\n\r\n /**\r\n * Switches to a different timeframe\r\n */\r\n async switchTimeframe(seconds: number): Promise<void> {\r\n const timeframe = this.config.timeframes.find(tf => tf.seconds === seconds);\r\n if (!timeframe) {\r\n console.warn(`⚠️ [FunhiChartController] Timeframe ${seconds}s not found`);\r\n return;\r\n }\r\n\r\n // Check if we need to load data\r\n const candles = this.timeframeManager.getCandles(seconds);\r\n if (candles.length === 0) {\r\n console.log(`🔄 [FunhiChartController] Loading candles for timeframe ${seconds}s`);\r\n await this.loadTimeframeData(seconds);\r\n } else {\r\n console.log(\r\n `✅ [FunhiChartController] Using existing ${candles.length} candles for timeframe ${seconds}s`\r\n );\r\n }\r\n\r\n // Update current timeframe\r\n this.currentTimeframe = timeframe;\r\n\r\n // Update chart\r\n const updatedCandles = this.getCurrentCandles();\r\n if (updatedCandles.length > 0) {\r\n this.chartRenderer.updateData(updatedCandles);\r\n console.log(\r\n `📊 [FunhiChartController] Updated chart with ${updatedCandles.length} candles for ${timeframe.label}`\r\n );\r\n } else {\r\n console.warn(\r\n `⚠️ [FunhiChartController] No candles available to display for timeframe ${timeframe.label}`\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Gets candles for current timeframe\r\n */\r\n getCurrentCandles(): CandleData[] {\r\n return this.timeframeManager.getCandles(this.currentTimeframe.seconds);\r\n }\r\n\r\n /**\r\n * Gets current timeframe\r\n */\r\n getCurrentTimeframe(): TimeFrame {\r\n return this.currentTimeframe;\r\n }\r\n\r\n /**\r\n * Gets current candle for a specific timeframe\r\n */\r\n getCurrentCandle(seconds: number): CandleData | null {\r\n return this.timeframeManager.getCurrentCandle(seconds);\r\n }\r\n\r\n /**\r\n * Resizes the chart\r\n */\r\n resize(): void {\r\n this.chartRenderer.resize();\r\n }\r\n\r\n /**\r\n * Destroys the controller and cleans up resources\r\n */\r\n destroy(): void {\r\n this.chartRenderer.destroy();\r\n this.timeframeManager.reset();\r\n }\r\n}\r\n\r\n","import { useCallback, useState, useEffect } from 'react';\r\nimport { Socket } from 'socket.io-client';\r\n\r\ninterface OHLCVCandle {\r\n time: number;\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\ninterface OHLCVInitialData {\r\n mint: string;\r\n timeFrame: number;\r\n data: OHLCVCandle[];\r\n timestamp: number;\r\n error?: string;\r\n}\r\n\r\ninterface OHLCVUpdateData {\r\n mint: string;\r\n timeFrame: number;\r\n candle: OHLCVCandle;\r\n timestamp: number;\r\n}\r\n\r\ninterface OHLCVNewCandleData {\r\n mint: string;\r\n timeFrame: number;\r\n candle: OHLCVCandle;\r\n timestamp: number;\r\n}\r\n\r\n/**\r\n * Hook to manage socket connection\r\n * This is a simplified version for the NPM package\r\n * Users should provide their own socket instance via props\r\n */\r\nexport const useSocket = (socketInstance?: Socket | null) => {\r\n const [socket] = useState<Socket | null>(socketInstance || null);\r\n const [isConnected, setIsConnected] = useState(false);\r\n const [isConnecting, setIsConnecting] = useState(false);\r\n\r\n // Track connection state\r\n useEffect(() => {\r\n if (!socket) {\r\n setIsConnected(false);\r\n setIsConnecting(false);\r\n return;\r\n }\r\n\r\n setIsConnecting(true);\r\n\r\n const handleConnect = () => {\r\n console.log('✅ [useSocket] Connected to Socket.IO server');\r\n setIsConnected(true);\r\n setIsConnecting(false);\r\n };\r\n\r\n const handleDisconnect = () => {\r\n console.log('🔌 [useSocket] Disconnected from Socket.IO server');\r\n setIsConnected(false);\r\n setIsConnecting(false);\r\n };\r\n\r\n const handleConnectError = (error: any) => {\r\n console.error('❌ [useSocket] Connection error:', error);\r\n setIsConnecting(false);\r\n };\r\n\r\n // Set initial state\r\n if (socket.connected) {\r\n setIsConnected(true);\r\n setIsConnecting(false);\r\n }\r\n\r\n // Add event listeners\r\n socket.on('connect', handleConnect);\r\n socket.on('disconnect', handleDisconnect);\r\n socket.on('connect_error', handleConnectError);\r\n\r\n return () => {\r\n socket.off('connect', handleConnect);\r\n socket.off('disconnect', handleDisconnect);\r\n socket.off('connect_error', handleConnectError);\r\n };\r\n }, [socket]);\r\n\r\n // Connect function (no-op since connection is managed by provider)\r\n const connect = useCallback(() => {\r\n console.log('🔍 [useSocket] Connect called - connection managed by provider');\r\n }, []);\r\n\r\n // Disconnect function (no-op since connection is managed by provider)\r\n const disconnect = useCallback(() => {\r\n console.log('🔍 [useSocket] Disconnect called - connection managed by provider');\r\n }, []);\r\n\r\n // Subscribe to OHLCV updates\r\n const subscribeToOHLCV = useCallback((\r\n mint: string, \r\n timeFrame: number = 60,\r\n onInitialData?: (data: OHLCVInitialData) => void,\r\n onUpdate?: (data: OHLCVUpdateData) => void,\r\n onNewCandle?: (data: OHLCVNewCandleData) => void\r\n ) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot subscribe');\r\n return false;\r\n }\r\n\r\n try {\r\n // Subscribe to OHLCV updates\r\n socket.emit('ohlcv:subscribe', { mint, timeFrame });\r\n\r\n // Listen for initial data\r\n if (onInitialData) {\r\n socket.on('ohlcv:initial', onInitialData);\r\n }\r\n\r\n // Listen for updates\r\n if (onUpdate) {\r\n socket.on('ohlcv:update', onUpdate);\r\n }\r\n\r\n // Listen for new candles\r\n if (onNewCandle) {\r\n socket.on('ohlcv:newCandle', onNewCandle);\r\n }\r\n\r\n console.log(`📊 [useSocket] Subscribed to OHLCV updates for ${mint} (${timeFrame}s)`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to subscribe to OHLCV:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Unsubscribe from OHLCV updates\r\n const unsubscribeFromOHLCV = useCallback((\r\n mint: string, \r\n timeFrame: number = 60,\r\n onInitialData?: (data: OHLCVInitialData) => void,\r\n onUpdate?: (data: OHLCVUpdateData) => void,\r\n onNewCandle?: (data: OHLCVNewCandleData) => void\r\n ) => {\r\n if (!socket?.connected) return false;\r\n\r\n try {\r\n // Unsubscribe from OHLCV updates\r\n socket.emit('ohlcv:unsubscribe', { mint, timeFrame });\r\n\r\n // Remove listeners\r\n if (onInitialData) {\r\n socket.off('ohlcv:initial', onInitialData);\r\n }\r\n if (onUpdate) {\r\n socket.off('ohlcv:update', onUpdate);\r\n }\r\n if (onNewCandle) {\r\n socket.off('ohlcv:newCandle', onNewCandle);\r\n }\r\n\r\n console.log(`📊 [useSocket] Unsubscribed from OHLCV updates for ${mint} (${timeFrame}s)`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to unsubscribe from OHLCV:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Subscribe to price updates\r\n const subscribeToPrice = useCallback((\r\n mint: string,\r\n onPriceUpdate?: (data: any) => void\r\n ) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot subscribe');\r\n return false;\r\n }\r\n\r\n try {\r\n // Subscribe to price updates\r\n socket.emit('price:subscribe', { mint });\r\n\r\n // Listen for price updates\r\n if (onPriceUpdate) {\r\n socket.on('price:update', onPriceUpdate);\r\n }\r\n\r\n console.log(`💰 [useSocket] Subscribed to price updates for ${mint}`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to subscribe to price:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Unsubscribe from price updates\r\n const unsubscribeFromPrice = useCallback((\r\n mint: string,\r\n onPriceUpdate?: (data: any) => void\r\n ) => {\r\n if (!socket?.connected) return false;\r\n\r\n try {\r\n // Unsubscribe from price updates\r\n socket.emit('price:unsubscribe', { mint });\r\n\r\n // Remove listener\r\n if (onPriceUpdate) {\r\n socket.off('price:update', onPriceUpdate);\r\n }\r\n\r\n console.log(`💰 [useSocket] Unsubscribed from price updates for ${mint}`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to unsubscribe from price:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Test socket connection\r\n const testConnection = useCallback((message: string) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot send test message');\r\n return false;\r\n }\r\n\r\n try {\r\n socket.emit('test-message', {\r\n message,\r\n timestamp: Date.now()\r\n });\r\n\r\n // Listen for test response\r\n socket.once('test-response', (response) => {\r\n console.log('🧪 [useSocket] Test response received:', response);\r\n });\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to send test message:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n return {\r\n socket,\r\n isConnected,\r\n isConnecting,\r\n connect,\r\n disconnect,\r\n subscribeToOHLCV,\r\n unsubscribeFromOHLCV,\r\n subscribeToPrice,\r\n unsubscribeFromPrice,\r\n testConnection,\r\n };\r\n};\r\n\r\n","import { useState, useEffect, useCallback, useMemo } from 'react';\r\n\r\ninterface ComprehensiveAnalytics {\r\n // Performance metrics\r\n performance: {\r\n '24H': { gain: number; percentage: string; isPositive: boolean };\r\n '7D': { gain: number; percentage: string; isPositive: boolean };\r\n '1M': { gain: number; percentage: string; isPositive: boolean };\r\n 'All Time': { gain: number; percentage: string; isPositive: boolean };\r\n };\r\n \r\n // Market data\r\n market: {\r\n marketValue: string;\r\n price: string;\r\n marketCap: string;\r\n circulating: string;\r\n totalSupply: string;\r\n };\r\n \r\n // 24H statistics\r\n '24H': {\r\n high: string;\r\n low: string;\r\n volume: string;\r\n return: string;\r\n };\r\n \r\n // Volume data\r\n volume: {\r\n current: string;\r\n '24h': string;\r\n unit: string;\r\n };\r\n \r\n // Blockchain data\r\n blockchain: {\r\n currentRealSol: string;\r\n realSolReserves: number;\r\n virtualSolReserves: number;\r\n tokenReserves: number;\r\n };\r\n \r\n // Additional data\r\n additional: {\r\n solUsdPrice: string;\r\n timestamp: number;\r\n };\r\n}\r\n\r\ninterface EnhancedTokenAnalytics {\r\n // Real-time analytics from backend\r\n analytics: ComprehensiveAnalytics | null;\r\n \r\n // Current market data\r\n currentPrice: number;\r\n currentMarketCap: number;\r\n currentVolume: number;\r\n \r\n // Performance metrics (formatted for display)\r\n performance24h: { value: string; isPositive: boolean; raw: number };\r\n performance7d: { value: string; isPositive: boolean; raw: number };\r\n performance1m: { value: string; isPositive: boolean; raw: number };\r\n performanceAllTime: { value: string; isPositive: boolean; raw: number };\r\n \r\n // 24H statistics\r\n high24h: number;\r\n low24h: number;\r\n volume24h: number;\r\n return24h: number;\r\n \r\n // Loading and error states\r\n loading: boolean;\r\n error: string | null;\r\n \r\n // Connection status\r\n connected: boolean;\r\n \r\n // Last update timestamp\r\n lastUpdate: number | null;\r\n \r\n // Helper functions\r\n isRealVolume: (volume: number) => boolean;\r\n}\r\n\r\n/**\r\n * Simplified hook for token analytics\r\n * This is a stub version for the NPM package\r\n * Users should provide their own analytics data or implement their own hook\r\n */\r\nexport function useOptimizedTokenAnalytics(\r\n mint: string | undefined,\r\n analyticsData?: any\r\n): EnhancedTokenAnalytics {\r\n const [analytics, setAnalytics] = useState<ComprehensiveAnalytics | null>(null);\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n const [lastUpdate, setLastUpdate] = useState<number | null>(null);\r\n const [connected, setConnected] = useState(false);\r\n\r\n // Update analytics when provided\r\n useEffect(() => {\r\n if (analyticsData) {\r\n setAnalytics(analyticsData);\r\n setLastUpdate(Date.now());\r\n setConnected(true);\r\n setLoading(false);\r\n }\r\n }, [analyticsData]);\r\n\r\n // Calculate derived values from analytics data\r\n const derivedValues = useMemo(() => {\r\n if (!analytics || !analytics.market) {\r\n return {\r\n currentPrice: 0,\r\n currentMarketCap: 0,\r\n currentVolume: 0,\r\n performance24h: { value: '0.00%', isPositive: false, raw: 0 },\r\n performance7d: { value: '0.00%', isPositive: false, raw: 0 },\r\n performance1m: { value: '0.00%', isPositive: false, raw: 0 },\r\n performanceAllTime: { value: '0.00%', isPositive: false, raw: 0 },\r\n high24h: 0,\r\n low24h: 0,\r\n volume24h: 0,\r\n return24h: 0\r\n };\r\n }\r\n\r\n // Extract current values with safe access\r\n const currentPrice = parseFloat(analytics.market?.price || '0') || 0;\r\n const currentMarketCap = parseFloat(analytics.market?.marketCap || '0') || 0;\r\n \r\n // CRITICAL: Only use real volume, filter out fake 0.01 values\r\n let currentVolume = parseFloat(analytics.volume?.current || '0') || 0;\r\n if (currentVolume <= 0.01) {\r\n // Use current real SOL reserves instead of fake volume\r\n currentVolume = parseFloat(analytics.blockchain?.currentRealSol || '0') || 0;\r\n }\r\n\r\n // Extract performance metrics with safe access\r\n const performance24h = {\r\n value: analytics.performance?.['24H']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['24H']?.isPositive || false,\r\n raw: analytics.performance?.['24H']?.gain || 0\r\n };\r\n\r\n const performance7d = {\r\n value: analytics.performance?.['7D']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['7D']?.isPositive || false,\r\n raw: analytics.performance?.['7D']?.gain || 0\r\n };\r\n\r\n const performance1m = {\r\n value: analytics.performance?.['1M']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['1M']?.isPositive || false,\r\n raw: analytics.performance?.['1M']?.gain || 0\r\n };\r\n\r\n const performanceAllTime = {\r\n value: analytics.performance?.['All Time']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['All Time']?.isPositive || false,\r\n raw: analytics.performance?.['All Time']?.gain || 0\r\n };\r\n\r\n // Extract 24H statistics with safe access\r\n const high24h = parseFloat(analytics['24H']?.high || '0') || 0;\r\n const low24h = parseFloat(analytics['24H']?.low || '0') || 0;\r\n \r\n // CRITICAL: Only use real volume, filter out fake 0.01 values\r\n let volume24h = parseFloat(analytics.volume?.['24h'] || '0') || 0;\r\n if (volume24h <= 0.01) {\r\n // Use current real SOL reserves instead of fake volume\r\n volume24h = parseFloat(analytics.blockchain?.currentRealSol || '0') || 0;\r\n }\r\n \r\n const return24h = parseFloat(analytics['24H']?.return || '0') || 0;\r\n\r\n return {\r\n currentPrice,\r\n currentMarketCap,\r\n currentVolume,\r\n performance24h,\r\n performance7d,\r\n performance1m,\r\n performanceAllTime,\r\n high24h,\r\n low24h,\r\n volume24h,\r\n return24h\r\n };\r\n }, [analytics]);\r\n\r\n // Helper function to check if volume is real (not fake 0.01)\r\n const isRealVolume = useCallback((volume: number) => volume > 0.01, []);\r\n\r\n const result = {\r\n // Raw analytics data from backend\r\n analytics,\r\n \r\n // Derived values for easy consumption\r\n ...derivedValues,\r\n \r\n // Helper functions\r\n isRealVolume,\r\n \r\n // State management\r\n loading,\r\n error,\r\n connected,\r\n lastUpdate\r\n };\r\n \r\n return result;\r\n}\r\n\r\n","/**\r\n * Candle Aggregation Utility\r\n * \r\n * Client-side aggregation of 1-minute candles into larger timeframes\r\n * This provides real-time aggregation without waiting for server responses\r\n */\r\n\r\nexport interface CandleData {\r\n time: number;\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\nexport interface TimeFrame {\r\n label: string;\r\n value: string;\r\n seconds: number;\r\n}\r\n\r\nclass CandleAggregation {\r\n private timeframes: Record<string, number> = {\r\n '1m': 60,\r\n '5m': 300,\r\n '15m': 900,\r\n '30m': 1800,\r\n '1h': 3600,\r\n '4h': 14400,\r\n '1d': 86400\r\n };\r\n\r\n /**\r\n * Aggregate 1-minute candles into a larger timeframe\r\n */\r\n aggregateCandles(oneMinuteCandles: CandleData[], targetTimeframe: number): CandleData[] {\r\n try {\r\n // If requesting 1-minute data, return as-is\r\n if (targetTimeframe === 60) {\r\n return oneMinuteCandles;\r\n }\r\n\r\n // Validate input\r\n if (!Array.isArray(oneMinuteCandles) || oneMinuteCandles.length === 0) {\r\n console.warn('⚠️ [CandleAggregation] No candles to aggregate');\r\n return [];\r\n }\r\n\r\n // Sort candles by time ascending\r\n const sortedCandles = [...oneMinuteCandles].sort((a, b) => a.time - b.time);\r\n\r\n // Group candles by target timeframe\r\n const aggregatedCandles: CandleData[] = [];\r\n let currentGroup: CandleData[] = [];\r\n let groupStartTime: number | null = null;\r\n\r\n for (const candle of sortedCandles) {\r\n // Calculate which timeframe bucket this candle belongs to\r\n const bucketTime = Math.floor(candle.time / targetTimeframe) * targetTimeframe;\r\n\r\n if (groupStartTime === null) {\r\n groupStartTime = bucketTime;\r\n }\r\n\r\n if (bucketTime === groupStartTime) {\r\n // Add to current group\r\n currentGroup.push(candle);\r\n } else {\r\n // Process current group and start new one\r\n if (currentGroup.length > 0) {\r\n const aggregated = this.aggregateGroup(currentGroup, groupStartTime);\r\n aggregatedCandles.push(aggregated);\r\n }\r\n\r\n // Start new group\r\n currentGroup = [candle];\r\n groupStartTime = bucketTime;\r\n }\r\n }\r\n\r\n // Process last group\r\n if (currentGroup.length > 0 && groupStartTime !== null) {\r\n const aggregated = this.aggregateGroup(currentGroup, groupStartTime);\r\n aggregatedCandles.push(aggregated);\r\n }\r\n\r\n console.log(`📊 [CandleAggregation] Aggregated ${oneMinuteCandles.length} 1m candles into ${aggregatedCandles.length} ${this.getTimeframeLabel(targetTimeframe)} candles`);\r\n\r\n return aggregatedCandles;\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error aggregating candles:', error);\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Aggregate a group of candles into a single candle\r\n */\r\n private aggregateGroup(candles: CandleData[], time: number): CandleData {\r\n // Sort by time to ensure proper OHLC calculation\r\n const sorted = [...candles].sort((a, b) => a.time - b.time);\r\n\r\n // Calculate OHLC\r\n const open = sorted[0].open;\r\n const close = sorted[sorted.length - 1].close;\r\n const high = Math.max(...sorted.map(c => c.high));\r\n const low = Math.min(...sorted.map(c => c.low));\r\n const volume = sorted.reduce((sum, c) => sum + (c.volume || 0), 0);\r\n\r\n return {\r\n time,\r\n open,\r\n high,\r\n low,\r\n close,\r\n volume\r\n };\r\n }\r\n\r\n /**\r\n * Get human-readable timeframe label\r\n */\r\n getTimeframeLabel(seconds: number): string {\r\n for (const [label, value] of Object.entries(this.timeframes)) {\r\n if (value === seconds) {\r\n return label;\r\n }\r\n }\r\n return `${seconds}s`;\r\n }\r\n\r\n /**\r\n * Get timeframe in seconds from label\r\n */\r\n getTimeframeSeconds(label: string): number {\r\n return this.timeframes[label] || 60;\r\n }\r\n\r\n /**\r\n * Fill gaps in candles with flat candles (same OHLC)\r\n * This ensures continuous chart rendering\r\n */\r\n fillGaps(candles: CandleData[], timeframe: number): CandleData[] {\r\n try {\r\n if (!Array.isArray(candles) || candles.length < 2) {\r\n return candles;\r\n }\r\n\r\n const sorted = [...candles].sort((a, b) => a.time - b.time);\r\n const filled: CandleData[] = [];\r\n\r\n for (let i = 0; i < sorted.length - 1; i++) {\r\n const current = sorted[i];\r\n const next = sorted[i + 1];\r\n\r\n filled.push(current);\r\n\r\n // Check for gap\r\n const expectedNextTime = current.time + timeframe;\r\n let currentTime = expectedNextTime;\r\n\r\n while (currentTime < next.time) {\r\n // Fill gap with flat candle using last known price\r\n filled.push({\r\n time: currentTime,\r\n open: current.close,\r\n high: current.close,\r\n low: current.close,\r\n close: current.close,\r\n volume: 0\r\n });\r\n\r\n currentTime += timeframe;\r\n }\r\n }\r\n\r\n // Add last candle\r\n filled.push(sorted[sorted.length - 1]);\r\n\r\n if (filled.length > sorted.length) {\r\n console.log(`🔧 [CandleAggregation] Filled ${filled.length - sorted.length} gaps in ${this.getTimeframeLabel(timeframe)} candles`);\r\n }\r\n\r\n return filled;\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error filling gaps:', error);\r\n return candles;\r\n }\r\n }\r\n\r\n /**\r\n * Get the current incomplete candle for a timeframe\r\n * This is used for real-time updates\r\n */\r\n getCurrentCandle(oneMinuteCandles: CandleData[], targetTimeframe: number): CandleData | null {\r\n try {\r\n if (!Array.isArray(oneMinuteCandles) || oneMinuteCandles.length === 0) {\r\n return null;\r\n }\r\n\r\n const now = Math.floor(Date.now() / 1000);\r\n const currentBucket = Math.floor(now / targetTimeframe) * targetTimeframe;\r\n\r\n // Get all candles in the current bucket\r\n const currentGroup = oneMinuteCandles.filter(c => {\r\n const bucket = Math.floor(c.time / targetTimeframe) * targetTimeframe;\r\n return bucket === currentBucket;\r\n });\r\n\r\n if (currentGroup.length === 0) {\r\n return null;\r\n }\r\n\r\n return this.aggregateGroup(currentGroup, currentBucket);\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error getting current candle:', error);\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Update real-time candle with new 1-minute candle\r\n * Returns updated array of aggregated candles\r\n */\r\n updateRealtimeCandle(\r\n aggregatedCandles: CandleData[],\r\n newOneMinuteCandle: CandleData,\r\n targetTimeframe: number\r\n ): CandleData[] {\r\n try {\r\n if (!newOneMinuteCandle) {\r\n return aggregatedCandles;\r\n }\r\n\r\n // Calculate which bucket this 1m candle belongs to\r\n const bucketTime = Math.floor(newOneMinuteCandle.time / targetTimeframe) * targetTimeframe;\r\n\r\n // Find if we already have a candle for this bucket\r\n const existingIndex = aggregatedCandles.findIndex(c => c.time === bucketTime);\r\n\r\n if (existingIndex >= 0) {\r\n // Update existing candle\r\n const existing = aggregatedCandles[existingIndex];\r\n const updated: CandleData = {\r\n time: bucketTime,\r\n open: existing.open, // Keep original open\r\n high: Math.max(existing.high, newOneMinuteCandle.high),\r\n low: Math.min(existing.low, newOneMinuteCandle.low),\r\n close: newOneMinuteCandle.close, // Use latest close\r\n volume: existing.volume + (newOneMinuteCandle.volume || 0)\r\n };\r\n\r\n // Replace the candle\r\n const newCandles = [...aggregatedCandles];\r\n newCandles[existingIndex] = updated;\r\n return newCandles;\r\n } else {\r\n // Add new candle\r\n const newCandle: CandleData = {\r\n time: bucketTime,\r\n open: newOneMinuteCandle.open,\r\n high: newOneMinuteCandle.high,\r\n low: newOneMinuteCandle.low,\r\n close: newOneMinuteCandle.close,\r\n volume: newOneMinuteCandle.volume || 0\r\n };\r\n\r\n return [...aggregatedCandles, newCandle].sort((a, b) => a.time - b.time);\r\n }\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error updating realtime candle:', error);\r\n return aggregatedCandles;\r\n }\r\n }\r\n\r\n /**\r\n * Validate candle data structure\r\n */\r\n isValidCandle(candle: any): candle is CandleData {\r\n return (\r\n candle &&\r\n typeof candle.time === 'number' &&\r\n typeof candle.open === 'number' &&\r\n typeof candle.high === 'number' &&\r\n typeof candle.low === 'number' &&\r\n typeof candle.close === 'number' &&\r\n candle.high >= candle.low &&\r\n candle.high >= candle.open &&\r\n candle.high >= candle.close &&\r\n candle.low <= candle.open &&\r\n candle.low <= candle.close\r\n );\r\n }\r\n\r\n /**\r\n * Clean invalid candles from array\r\n */\r\n cleanCandles(candles: CandleData[]): CandleData[] {\r\n if (!Array.isArray(candles)) {\r\n return [];\r\n }\r\n\r\n const cleaned = candles.filter(c => this.isValidCandle(c));\r\n\r\n if (cleaned.length < candles.length) {\r\n console.warn(`⚠️ [CandleAggregation] Removed ${candles.length - cleaned.length} invalid candles`);\r\n }\r\n\r\n return cleaned;\r\n }\r\n\r\n /**\r\n * Get the minimum number of 1-minute candles needed for a timeframe\r\n */\r\n getRequiredOneMinuteCandles(targetTimeframe: number, targetCount: number = 200): number {\r\n const ratio = targetTimeframe / 60; // How many 1m candles per target candle\r\n return Math.ceil(targetCount * ratio);\r\n }\r\n}\r\n\r\n// Singleton instance\r\nexport const candleAggregation = new CandleAggregation();\r\n\r\n","\"use client\";\r\n\r\nimport React, { useEffect, useRef, useState, useCallback, useMemo } from 'react';\r\nimport { FunhiChartController, ControllerConfig, TimeFrame } from '../core';\r\nimport { useSocket } from '../hooks/useSocket';\r\nimport { useOptimizedTokenAnalytics } from '../hooks/useOptimizedTokenAnalytics';\r\n\r\n// Chart Props Interface\r\nexport interface ChartProps {\r\n mint: string;\r\n ticker?: string;\r\n tokenName?: string;\r\n socket?: any;\r\n isConnected?: boolean;\r\n currentMarketCap?: number;\r\n analyticsConnected?: boolean;\r\n analyticsLoading?: boolean;\r\n}\r\n\r\n/**\r\n * FunhiChart - OOP-based implementation using FunhiChartController\r\n * This version eliminates code duplication and uses clean OOP architecture\r\n */\r\nconst FunhiChart: React.FC<ChartProps> = ({\r\n mint,\r\n ticker,\r\n tokenName,\r\n socket: externalSocket,\r\n isConnected: externalIsConnected,\r\n currentMarketCap: externalMarketCap,\r\n analyticsConnected: externalAnalyticsConnected,\r\n analyticsLoading: externalAnalyticsLoading\r\n}) => {\r\n // Refs\r\n const chartContainerRef = useRef<HTMLDivElement>(null);\r\n const controllerRef = useRef<FunhiChartController | null>(null);\r\n\r\n // State\r\n const [loading, setLoading] = useState<boolean>(true);\r\n const [timeframeLoading, setTimeframeLoading] = useState<boolean>(false);\r\n const [loadingTimeframe, setLoadingTimeframe] = useState<string | null>(null);\r\n const [error, setError] = useState<string | null>(null);\r\n const [currentTimeframe, setCurrentTimeframe] = useState<TimeFrame | null>(null);\r\n\r\n // Socket\r\n const internalSocketData = useSocket();\r\n const socket = externalSocket || internalSocketData.socket;\r\n const isConnected = externalIsConnected !== undefined ? externalIsConnected : internalSocketData.isConnected;\r\n\r\n // Analytics\r\n const internalAnalytics = useOptimizedTokenAnalytics(mint);\r\n const realTimeMarketCap = externalMarketCap !== undefined ? externalMarketCap : internalAnalytics.currentMarketCap;\r\n const analyticsConnected = externalAnalyticsConnected !== undefined ? externalAnalyticsConnected : internalAnalytics.connected;\r\n const analyticsLoading = externalAnalyticsLoading !== undefined ? externalAnalyticsLoading : internalAnalytics.loading;\r\n\r\n // Timeframes\r\n const timeFrames: TimeFrame[] = useMemo(() => [\r\n { label: '1m', value: '1m', seconds: 60 },\r\n { label: '5m', value: '5m', seconds: 300 },\r\n { label: '15m', value: '15m', seconds: 900 },\r\n { label: '1h', value: '1h', seconds: 3600 },\r\n { label: '4h', value: '4h', seconds: 14400 },\r\n { label: '1d', value: '1d', seconds: 86400 }\r\n ], []);\r\n\r\n // Format market cap\r\n const formatMarketCap = useCallback((value: number): string => {\r\n if (value >= 1_000_000_000) {\r\n return `$${(value / 1_000_000_000).toFixed(value >= 10_000_000_000 ? 2 : 3)}B`;\r\n } else if (value >= 1_000_000) {\r\n return `$${(value / 1_000_000).toFixed(value >= 10_000_000 ? 2 : 3)}M`;\r\n } else if (value >= 10_000) {\r\n return `$${(value / 1_000).toFixed(value >= 100_000 ? 1 : 2)}K`;\r\n } else if (value >= 1_000) {\r\n return `$${(value / 1_000).toFixed(2)}K`;\r\n } else if (value >= 1) {\r\n return `$${value.toFixed(2)}`;\r\n }\r\n return `$${value.toFixed(4)}`;\r\n }, []);\r\n\r\n // Initialize controller\r\n useEffect(() => {\r\n if (!chartContainerRef.current || !mint) return;\r\n\r\n try {\r\n const config: ControllerConfig = {\r\n mint,\r\n ticker,\r\n tokenName,\r\n timeframes: timeFrames,\r\n container: chartContainerRef.current,\r\n formatPrice: formatMarketCap\r\n };\r\n\r\n const controller = new FunhiChartController(config);\r\n controllerRef.current = controller;\r\n\r\n // Initialize and load data\r\n controller.initialize().then(() => {\r\n setCurrentTimeframe(controller.getCurrentTimeframe());\r\n setLoading(false);\r\n }).catch((err) => {\r\n console.error('❌ [FunhiChart] Initialization error:', err);\r\n setError(err.message || 'Failed to initialize chart');\r\n setLoading(false);\r\n });\r\n\r\n // Cleanup\r\n return () => {\r\n controller.destroy();\r\n controllerRef.current = null;\r\n };\r\n } catch (err: any) {\r\n console.error('❌ [FunhiChart] Controller creation error:', err);\r\n setError(err.message || 'Failed to create chart controller');\r\n setLoading(false);\r\n }\r\n }, [mint, ticker, tokenName, timeFrames, formatMarketCap]);\r\n\r\n // Handle real-time price updates\r\n useEffect(() => {\r\n if (!controllerRef.current || realTimeMarketCap <= 0) return;\r\n\r\n if (!isFinite(realTimeMarketCap) || realTimeMarketCap <= 0) {\r\n console.warn(`⚠️ [FunhiChart] Invalid market cap data: ${realTimeMarketCap}`);\r\n return;\r\n }\r\n\r\n controllerRef.current.updatePrice(realTimeMarketCap);\r\n }, [realTimeMarketCap]);\r\n\r\n // Handle WebSocket updates\r\n useEffect(() => {\r\n if (!socket || !isConnected || !mint || !controllerRef.current) return;\r\n\r\n const handleMultiTimeframeCandles = (data: any) => {\r\n if (data.mint !== mint) return;\r\n controllerRef.current?.handleSocketUpdate(data);\r\n };\r\n\r\n socket.on('multiTimeframeCandleUpdate', handleMultiTimeframeCandles);\r\n\r\n return () => {\r\n socket.off('multiTimeframeCandleUpdate', handleMultiTimeframeCandles);\r\n };\r\n }, [socket, isConnected, mint]);\r\n\r\n // Handle timeframe switching\r\n const handleTimeFrameChange = useCallback(async (timeFrameValue: string) => {\r\n if (!controllerRef.current) return;\r\n\r\n const newTimeFrame = timeFrames.find(tf => tf.value === timeFrameValue);\r\n if (!newTimeFrame || newTimeFrame.value === currentTimeframe?.value) return;\r\n\r\n // Prevent multiple simultaneous switches\r\n if (timeframeLoading) {\r\n console.log(`⚠️ [FunhiChart] Timeframe switch already in progress`);\r\n return;\r\n }\r\n\r\n console.log(`🔄 [FunhiChart] Switching to ${newTimeFrame.label}`);\r\n setTimeframeLoading(true);\r\n setLoadingTimeframe(newTimeFrame.label);\r\n setLoading(true);\r\n\r\n try {\r\n await controllerRef.current.switchTimeframe(newTimeFrame.seconds);\r\n setCurrentTimeframe(newTimeFrame);\r\n setLoading(false);\r\n setTimeframeLoading(false);\r\n setLoadingTimeframe(null);\r\n console.log(`✅ [FunhiChart] Switched to ${newTimeFrame.label}`);\r\n } catch (error) {\r\n console.error(`❌ [FunhiChart] Switch error:`, error);\r\n setLoading(false);\r\n setTimeframeLoading(false);\r\n setLoadingTimeframe(null);\r\n }\r\n }, [timeFrames, currentTimeframe, timeframeLoading]);\r\n\r\n // Handle resize\r\n useEffect(() => {\r\n const handleResize = () => {\r\n controllerRef.current?.resize();\r\n };\r\n\r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, []);\r\n\r\n // Loading timeout\r\n useEffect(() => {\r\n if ((loading || analyticsLoading) && controllerRef.current) {\r\n const candles = controllerRef.current.getCurrentCandles();\r\n if (candles.length === 0) {\r\n const timeout = setTimeout(() => setLoading(false), 10000);\r\n return () => clearTimeout(timeout);\r\n }\r\n }\r\n }, [loading, analyticsLoading]);\r\n\r\n if (error) {\r\n return (\r\n <div className=\"p-4 bg-red-50 border border-red-200 rounded-lg\">\r\n <div className=\"text-red-800 font-medium\">Chart Error</div>\r\n <div className=\"text-red-600 text-sm\">{error}</div>\r\n <button\r\n onClick={() => setError(null)}\r\n className=\"mt-2 px-3 py-1 bg-red-100 text-red-700 rounded text-sm hover:bg-red-200\"\r\n >\r\n Dismiss\r\n </button>\r\n </div>\r\n );\r\n }\r\n\r\n const currentCandles = controllerRef.current?.getCurrentCandles() || [];\r\n const currentMarketCap = realTimeMarketCap || 0;\r\n\r\n return (\r\n <div className=\"w-full\">\r\n {/* Timeframe Selector */}\r\n <div className=\"mb-4 flex flex-wrap gap-2 items-center\">\r\n <div className=\"flex flex-wrap gap-2\">\r\n {timeFrames.map((tf) => {\r\n const isCurrentTimeframe = currentTimeframe?.value === tf.value;\r\n const isCurrentlyLoading = timeframeLoading && loadingTimeframe === tf.label;\r\n const isDisabled = timeframeLoading;\r\n\r\n return (\r\n <button\r\n key={tf.value}\r\n onClick={() => handleTimeFrameChange(tf.value)}\r\n disabled={isDisabled}\r\n className={`\r\n px-3 py-2 rounded-lg text-sm font-medium transition-all duration-200 relative\r\n ${isCurrentTimeframe\r\n ? 'bg-blue-600 text-white'\r\n : isDisabled\r\n ? 'bg-gray-100 text-gray-400 cursor-not-allowed'\r\n : 'bg-gray-100 text-gray-700 hover:bg-gray-200'\r\n }\r\n ${isCurrentlyLoading ? 'animate-pulse' : ''}\r\n `}\r\n >\r\n {isCurrentlyLoading && (\r\n <div className=\"absolute inset-0 flex items-center justify-center\">\r\n <div className=\"flex space-x-1\">\r\n <div className=\"w-1 h-1 bg-white rounded-full animate-pulse\"></div>\r\n <div className=\"w-1 h-1 bg-white rounded-full animate-pulse\" style={{animationDelay: '0.1s'}}></div>\r\n <div className=\"w-1 h-1 bg-white rounded-full animate-pulse\" style={{animationDelay: '0.2s'}}></div>\r\n </div>\r\n </div>\r\n )}\r\n <span className={isCurrentlyLoading ? 'opacity-0' : 'opacity-100'}>\r\n {tf.label}\r\n </span>\r\n </button>\r\n );\r\n })}\r\n </div>\r\n\r\n {/* Status */}\r\n <div className=\"ml-auto flex items-center gap-2 text-sm\">\r\n <div className={`w-2 h-2 rounded-full ${analyticsConnected ? 'bg-green-500' : 'bg-red-500'}`}></div>\r\n <span className={analyticsConnected ? 'text-green-600' : 'text-red-600'}>\r\n {analyticsConnected ? 'Connected' : 'Disconnected'}\r\n </span>\r\n {timeframeLoading && loadingTimeframe && (\r\n <span className=\"text-blue-600\">• Switching to {loadingTimeframe}...</span>\r\n )}\r\n {!timeframeLoading && loading && !analyticsLoading && (\r\n <span className=\"text-blue-600\">• Loading candles...</span>\r\n )}\r\n {analyticsLoading && (\r\n <span className=\"text-blue-600\">• Connecting to analytics...</span>\r\n )}\r\n {!timeframeLoading && !loading && !analyticsLoading && currentCandles.length > 0 && (\r\n <span className=\"text-green-600\">\r\n • {currentCandles.length} {currentTimeframe?.label} candles • {formatMarketCap(currentMarketCap)}\r\n </span>\r\n )}\r\n </div>\r\n </div>\r\n\r\n {/* Chart Container */}\r\n <div\r\n ref={chartContainerRef}\r\n className={`relative w-full h-96 transition-all duration-300 ${\r\n timeframeLoading\r\n ? 'opacity-75 scale-[0.98]'\r\n : 'opacity-100 scale-100'\r\n }`}\r\n >\r\n {/* Loading Overlay */}\r\n {(timeframeLoading || (loading && !analyticsLoading)) && (\r\n <div className=\"absolute inset-0 bg-gradient-to-br from-white via-blue-50 to-white bg-opacity-90 flex items-center justify-center rounded-lg z-10 backdrop-blur-sm\">\r\n <div className=\"text-center\">\r\n <div className=\"flex justify-center items-center mb-4\">\r\n <div className=\"relative\">\r\n <div className=\"w-12 h-12 border-4 border-blue-200 rounded-full\"></div>\r\n <div className=\"absolute top-0 left-0 w-12 h-12 border-4 border-blue-600 rounded-full border-t-transparent animate-spin\"></div>\r\n </div>\r\n </div>\r\n <div className=\"text-gray-700 font-medium text-lg\">\r\n {timeframeLoading && loadingTimeframe\r\n ? `Switching to ${loadingTimeframe} timeframe...`\r\n : 'Loading real-time data...'\r\n }\r\n </div>\r\n <div className=\"mt-3 flex justify-center space-x-1\">\r\n <div className=\"w-2 h-2 bg-blue-600 rounded-full animate-bounce\"></div>\r\n <div className=\"w-2 h-2 bg-blue-600 rounded-full animate-bounce\" style={{animationDelay: '0.1s'}}></div>\r\n <div className=\"w-2 h-2 bg-blue-600 rounded-full animate-bounce\" style={{animationDelay: '0.2s'}}></div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* No Data State */}\r\n {!timeframeLoading && !loading && !analyticsLoading && currentCandles.length === 0 && (\r\n <div className=\"absolute inset-0 bg-white bg-opacity-75 flex items-center justify-center rounded-lg z-10\">\r\n <div className=\"text-center\">\r\n <div className=\"text-gray-600 mb-2\">No {currentTimeframe?.label} market data available</div>\r\n <div className=\"text-sm text-gray-500\">Waiting for real-time data...</div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default FunhiChart;\r\n\r\n"],"names":["CandleValidator","validate","candle","time","open","high","low","close","isFinite","Math","max","min","ensureMinimumBodySize","minBodySize","effectiveMinBodySize","this","MIN_BODY_PERCENTAGE","MIN_BODY_ABSOLUTE","priceDiff","abs","direction","enforcedClose","validateOHLC","isCurrentBucket","timeframeSeconds","timestamp","currentTime","floor","currentBucket","validatePrice","price","calculateMinBodySize","CandleManager","constructor","candles","currentCandle","lastCandleTime","lastProcessedTimestamp","debounceMs","createOrUpdate","now","Date","console","warn","bucketStart","calculateBucketStart","createNewCandle","updateCurrentCandle","previousCandleClose","getPreviousCandleClose","previousCandleDirection","getPreviousCandleDirection","isValidCandle","finalizedCandle","addCandleToHistory","openPrice","toFixed","newCandle","buildNewCandle","log","isNewCandle","wasUpdated","recreatedCandle","volume","updateCandleInHistory","updatedCandle","updateCandlePrice","validatedCandle","currentBodySize","closePrice","currentPriceDirection","newPriceDirection","currentPrice","previousDirection","length","sortedCandles","sort","a","b","lastCandle","find","c","existingIndex","findIndex","push","getCandles","getCurrentCandle","getLastCandleTime","loadCandles","existingCandlesMap","Map","forEach","set","validated","existingCandle","get","Array","from","values","updateFromExternal","finalCandle","reset","TimeframeManager","timeframes","managers","tf","seconds","getManager","updateAll","manager","getTimeframes","size","_a","width","height","Error","equalSizes","first","second","Observable","win","_this","_resolutionListener","_onResolutionChanged","_resolutionMediaQueryList","_observers","_window","_installResolutionListener","prototype","dispose","_uninstallResolutionListener","Object","defineProperty","devicePixelRatio","enumerable","configurable","subscribe","next","observer","unsubscribe","filter","o","dppx","matchMedia","concat","addListener","removeListener","_reinstallResolutionListener","DevicePixelContentBoxBinding","canvasElement","transformBitmapSize","options","_canvasElement","_bitmapSizeChangedListeners","_suggestedBitmapSize","_suggestedBitmapSizeChangedListeners","_devicePixelRatioObservable","_canvasElementResizeObserver","_canvasElementClientSize","clientWidth","clientHeight","_transformBitmapSize","_allowResizeObserver","allowResizeObserver","_chooseAndInitObserver","_b","disconnect","resizeCanvasElement","clientSize","style","_invalidateBitmapSize","subscribeBitmapSizeChanged","listener","unsubscribeBitmapSizeChanged","l","subscribeSuggestedBitmapSizeChanged","unsubscribeSuggestedBitmapSizeChanged","applySuggestedBitmapSize","oldSuggestedSize","_resizeBitmap","_emitSuggestedBitmapSizeChanged","newSize","oldSize","bitmapSize","_emitBitmapSizeChanged","call","_suggestNewBitmapSize","finalNewSize","newSuggestedSize","Promise","resolve","ro","ResizeObserver","entries","every","entry","observe","document","body","box","catch","then","isSupported","_initResizeObserver","_initDevicePixelRatioObservable","canvasElementWindow","createDevicePixelRatioObservable","ratio","value","canvasRects","getClientRects","undefined","canvasRect","round","left","top","predictedBitmapSize","target","devicePixelContentBoxSize","entrySize","inlineSize","blockSize","ownerDocument","defaultView","CanvasRenderingTarget2D","context","mediaSize","TypeError","_mediaSize","_bitmapSize","_context","useMediaCoordinateSpace","f","save","setTransform","scale","_horizontalPixelRatio","_verticalPixelRatio","restore","useBitmapCoordinateSpace","horizontalPixelRatio","verticalPixelRatio","tryCreateCanvasRenderingTarget2D","binding","contextOptions","canvasElementClientSize","getContext","e","upColor","downColor","wickVisible","borderVisible","borderColor","borderUpColor","borderDownColor","wickColor","wickUpColor","wickDownColor","r","openVisible","thinBars","h","color","lineStyle","lineWidth","lineType","lineVisible","crosshairMarkerVisible","crosshairMarkerRadius","crosshairMarkerBorderColor","crosshairMarkerBorderWidth","crosshairMarkerBackgroundColor","lastPriceAnimation","pointMarkersVisible","topColor","bottomColor","invertFilledArea","lineColor","baseValue","type","topFillColor1","topFillColor2","topLineColor","bottomFillColor1","bottomFillColor2","bottomLineColor","base","_","u","title","visible","lastValueVisible","priceLineVisible","priceLineSource","priceLineWidth","priceLineColor","priceLineStyle","baseLineVisible","baseLineWidth","baseLineColor","baseLineStyle","priceFormat","precision","minMove","d","t","i","n","setLineDash","v","s","beginPath","moveTo","lineTo","stroke","p","m","w","Simple","WithSteps","Curved","Solid","Dotted","Dashed","LargeDashed","SparseDotted","g","khaki","azure","aliceblue","ghostwhite","gold","goldenrod","gainsboro","gray","green","honeydew","floralwhite","lightblue","lightcoral","lemonchiffon","hotpink","lightyellow","greenyellow","lightgoldenrodyellow","limegreen","linen","lightcyan","magenta","maroon","olive","orange","oldlace","mediumblue","transparent","lime","lightpink","mistyrose","moccasin","midnightblue","orchid","mediumorchid","mediumturquoise","orangered","royalblue","powderblue","red","coral","turquoise","white","whitesmoke","wheat","teal","steelblue","bisque","aquamarine","aqua","sienna","silver","springgreen","antiquewhite","burlywood","brown","beige","chocolate","chartreuse","cornflowerblue","cornsilk","crimson","cadetblue","tomato","fuchsia","blue","salmon","blanchedalmond","slateblue","slategray","thistle","tan","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","blueviolet","black","darkmagenta","darkslateblue","darkkhaki","darkorchid","darkorange","darkgreen","darkred","dodgerblue","darkslategray","dimgray","deepskyblue","firebrick","forestgreen","indigo","ivory","lavenderblush","feldspar","indianred","lightgreen","lightgrey","lightskyblue","lightslategray","lightslateblue","snow","lightseagreen","lightsalmon","darksalmon","darkviolet","mediumpurple","mediumaquamarine","skyblue","lavender","lightsteelblue","mediumvioletred","mintcream","navajowhite","navy","olivedrab","palevioletred","violetred","yellow","yellowgreen","lawngreen","pink","paleturquoise","palegoldenrod","darkolivegreen","darkseagreen","darkturquoise","peachpuff","deeppink","violet","palegreen","mediumseagreen","peru","saddlebrown","sandybrown","rosybrown","purple","seagreen","seashell","papayawhip","mediumslateblue","plum","mediumspringgreen","M","x","S","k","y","C","T","toLowerCase","exec","parseInt","parseFloat","P","R","D","splice","V","hasOwnProperty","includes","isArray","O","B","A","I","z","L","E","N","F","W","NaN","j","H","$","U","layout","textColor","q","fontSize","fontFamily","Y","Z","X","K","super","arguments","G","J","tt","to","it","nt","st","arc","PI","fill","et","fillStyle","rt","ht","lt","ot","_t","ut","ct","dt","ft","vt","bt","wt","map","gt","Mt","mode","xt","St","kt","yt","Ct","Tt","Pt","Dt","Rt","Vt","Ot","Bt","At","It","zt","Lt","Et","lineCap","strokeStyle","Nt","Ft","Wt","jt","Ht","$t","crosshair","Ut","qt","horzLine","vertLine","Yt","Zt","fillRect","globalCompositeOperation","roundRect","arcTo","Q","closePath","createLinearGradient","addColorStop","Xt","Kt","font","Gt","Jt","Qt","ti","ii","ni","si","ei","ri","hi","li","ai","oi","_i","ui","ci","di","textAlign","textBaseline","fillText","fi","pi","mi","bi","wi","gi","Mi","ceil","xi","Si","ki","yi","Ci","Ti","Pi","Ri","Di","Vi","Oi","Bi","Ai","ticksVisible","Ii","zi","Li","Ei","labelVisible","Ni","labelBackgroundColor","Fi","Wi","ji","Hi","translate","$i","Ui","qi","Yi","Zi","Xi","Ki","Gi","Ji","Qi","at","Normal","Magnet","Hidden","tn","nn","sn","en","rn","hn","ln","an","_n","un","cn","dn","fn","vn","pn","mn","Number","bn","wn","gn","Mn","xn","Sn","kn","yn","Cn","Tn","Pn","Rn","clear","Dn","Vn","On","Bn","isNaN","In","An","zn","Ln","En","Nn","Fn","Wn","jn","Hn","$n","Un","qn","Yn","Zn","Xn","Kn","Gn","Jn","Qn","ts","ns","ss","es","toString","slice","rs","hs","format","ls","_s","pt","us","cs","pow","replace","String","mt","bezierCurveTo","ds","fs","vs","ps","lineJoin","bs","bind","ws","gs","Ms","xs","Ss","ks","ys","Cs","Ts","Ps","Rs","Ds","Vs","Os","Bs","As","Is","zs","Ls","Es","Ns","Fs","Ws","js","Hs","assign","Us","$s","qs","Ys","Zs","Xs","Ks","Gs","Js","Qs","te","ie","ne","se","ee","re","he","le","pointMarkersRadius","ae","oe","_e","ue","ce","de","fe","ve","pe","me","be","we","ge","Me","xe","Se","ke","ye","Ce","Te","Pe","Re","De","Ve","Oe","atan","Be","Ae","Ie","ze","Le","Ee","Ne","Fe","draw","renderer","We","priceValueBuilder","je","isWhitespace","He","$e","update","bars","barSpacing","visibleRange","originalData","barColor","Ue","qe","Ye","Ze","Xe","Ke","Ge","Je","Qe","tr","ir","nr","sr","actualBoundingBoxAscent","actualBoundingBoxDescent","has","er","delete","measureText","rr","hr","lr","ar","_r","ur","cr","dr","vr","pr","mr","br","wr","gr","Mr","Sr","kr","yr","Cr","Tr","Pr","Rr","Dr","Vr","Or","Br","Ar","Ir","zr","Lr","Er","Nr","Fr","performance","Wr","jr","Hr","$r","Ur","qr","Yr","Zr","Xr","Kr","Gr","vi","Jr","Qr","th","ih","nh","sqrt","position","sh","eh","rh","hh","ah","oh","_h","uh","dh","fh","above","aboveBar","inBar","below","belowBar","reduce","shape","id","text","ph","mh","bh","seriesLastValueMode","wh","gh","Mh","xh","Sh","trim","kh","yh","Ch","Th","Ph","Rh","Dh","Vh","Oh","Bh","minValue","maxValue","Ah","Ih","zh","Lh","Eh","priceRange","margins","Nh","Fh","axisLabelVisible","Wh","axisLabelColor","axisLabelTextColor","jh","Hh","$h","Uh","qh","Yh","Zh","Bar","Candlestick","Xh","Custom","Area","Baseline","Line","Histogram","Kh","Gh","Jh","Qh","NearestLeft","None","NearestRight","tl","il","nl","sl","el","rl","hl","ll","al","ol","_l","ul","cl","dl","fl","vl","pl","ml","bl","wl","gl","drawBackground","Ml","xl","Sl","zOrder","coordinate","fixedCoordinate","backColor","tickVisible","kl","yl","Cl","Tl","Pl","Rl","Dl","Vl","Ol","updateAllViews","paneViews","timeAxisViews","priceAxisViews","Bl","priceAxisPaneViews","Al","timeAxisPaneViews","Il","autoscaleInfo","hitTest","zl","Ll","El","Nl","Fl","Wl","jl","Hl","$l","Ul","ql","clearTimeout","Yl","Zl","priceScaleId","Xl","Kl","Gl","Jl","Ql","ta","ia","na","sa","ea","ra","indexOf","ha","la","aa","setTimeout","oa","unshift","ua","ca","da","fa","va","autoscaleInfoProvider","pa","ma","ba","wa","ga","Ma","xa","Sa","ka","ya","Ca","Ta","Pa","formatter","Ra","Da","Va","originalTime","Oa","Ba","Aa","Ia","za","La","Ea","Na","Fa","Wa","ja","grid","horzLines","vertLines","Ha","coord","$a","Ua","log10","on","qa","Ya","Za","Xa","Ka","Ga","Ja","Qa","io","entireTextOnly","no","so","eo","Logarithmic","Percentage","IndexedTo100","ho","lo","ao","oo","_o","uo","co","do","fo","vo","po","mo","bo","wo","Mo","xo","So","ko","yo","Co","To","Po","Ro","scaleMargins","bottom","Do","Vo","autoScale","Oo","Bo","invertScale","Ao","Io","zo","Lo","Eo","No","Fo","Wo","jo","Ho","$o","Uo","qo","Yo","Zo","Xo","Ko","Go","Jo","Qo","t_","i_","n_","s_","e_","r_","h_","l_","a_","priceFormatter","percentageFormatter","o_","__","u_","c_","d_","f_","v_","leftPriceScale","p_","rightPriceScale","m_","b_","localization","overlayPriceScales","w_","g_","M_","x_","S_","k_","C_","y_","T_","P_","R_","D_","V_","O_","B_","A_","I_","z_","L_","E_","N_","F_","W_","j_","H_","U_","q_","Y_","cacheKey","Z_","X_","K_","G_","J_","Q_","tu","iu","nu","timeWeight","index","weight","su","eu","ru","keys","hu","lu","au","ou","_u","uu","cu","du","fu","vu","pu","mu","bu","wu","gu","Mu","xu","rightOffset","Su","ku","uniformDistribution","yu","Cu","fixLeftEdge","Tu","fixRightEdge","Pu","minBarSpacing","key","Ru","Du","Vu","Ou","Bu","Au","Iu","lockVisibleTimeRangeOnResize","zu","Lu","Eu","Nu","Fu","Wu","ju","Hu","tickMarkMaxCharacterLength","$u","label","Uu","needAlignCoordinate","qu","Yu","Zu","rightBarStaysOnScroll","Xu","Ku","Gu","Ju","RangeError","Qu","tc","nc","sc","ec","rc","hc","lc","timeFormatter","formatHorzItem","handleScroll","handleScale","horzTouchDrag","mouseWheel","pressedMouseMove","vertTouchDrag","axisDoubleClickReset","axisPressedMouseMove","pinch","ac","oc","_c","uc","cc","dc","fc","formatTickmark","updateFormatter","vc","mc","bc","wc","gc","Mc","xc","Sc","kc","horzAlign","vertAlign","fontStyle","OnTouchEnd","OnNextTap","yc","Cc","Tc","Pc","Rc","Dc","Vc","Oc","timeScale","Bc","Ac","watermark","Ic","zc","Lc","Ec","Nc","Fc","Wc","jc","Hc","$c","Uc","qc","Yc","Zc","Xc","Kc","Gc","Jc","Qc","td","nd","sd","ed","rd","hd","ld","ad","od","_d","allowShiftVisibleRangeOnWhitespaceReplacement","shiftVisibleRangeOnNewBar","ud","dd","fd","vd","pd","md","bd","wd","background","Disabled","Continuous","OnDataUpdate","LastBar","LastVisible","VerticalGradient","Year","Month","DayOfMonth","Time","TimeWithSeconds","getUTCFullYear","gd","Md","getUTCMonth","toLocaleString","month","getUTCDate","xd","getUTCHours","getUTCMinutes","getUTCSeconds","Sd","kd","yd","Cd","Td","Pd","Rd","Dd","Vd","getTime","UTC","year","day","Od","Bd","is","setOptions","preprocessData","createConverterToInternalObj","convertHorzItemToInternal","dateFormat","timeVisible","Ad","secondsVisible","locale","tickMarkFormatter","hour12","hour","minute","getUTCMilliseconds","maxTickMarkWeight","fillWeightsForPoints","Id","window","navigator","userAgent","test","platform","zd","sign","as","Ld","Ed","Nd","Fd","Wd","jd","Hd","$d","Ud","qd","Yd","Zd","os","Xd","Kd","Gd","Jd","Qd","removeChild","nf","sf","ef","attributionLogo","rf","URL","location","href","hostname","pathname","if","createElement","innerText","innerHTML","toggleAttribute","appendChild","transform","clearRect","hf","lf","af","NEGATIVE_INFINITY","POSITIVE_INFINITY","_f","uf","cf","df","ff","vf","pf","mf","bf","wf","gf","Mf","xf","Sf","kf","yf","Cf","Tf","Pf","Rf","Df","Vf","Of","Bf","Af","If","zf","Lf","Ef","Nf","Ff","Wf","Hf","jf","$f","Uf","qf","Yf","Zf","Xf","Kf","Gf","Jf","removeEventListener","addEventListener","Qf","tv","iv","changedTouches","nv","sv","ev","rv","hv","lv","button","av","ov","touches","_v","uv","documentElement","cv","dv","fv","identifier","passive","vv","pv","mv","bv","wv","composed","contains","composedPath","gv","chrome","preventDefault","Mv","xv","Sv","kv","yv","ms","Cv","Tv","getBoundingClientRect","clientX","clientY","Pv","Rv","sourceCapabilities","firesTouchEvents","pageX","pageY","screenX","screenY","localX","localY","ctrlKey","altKey","shiftKey","metaKey","Dv","startsWith","Vv","Ov","Bv","view","Av","cancelable","timeStamp","Iv","zv","externalId","Lv","cursorStyle","Ev","Nv","Fv","Wv","jv","Hv","$v","Uv","qv","Yv","Zv","Xv","Kv","overflow","Gv","zIndex","Jv","Qv","tp","ip","np","sp","ep","rp","hp","lp","ap","op","_p","up","cp","dp","fp","vp","pp","mp","bp","wp","gp","Mp","xp","Sp","drawImage","kp","rect","alignLabels","yp","cursor","Cp","Tp","Pp","Rp","Dp","Vp","Op","Bp","Ap","Ip","zp","Lp","Ep","Np","Fp","Wp","padding","jp","Hp","$p","Up","qp","Yp","Zp","Xp","Kp","Gp","Jp","Qp","tm","im","nm","sm","rm","hm","lm","am","trackingMode","exitMode","om","isBackground","_m","um","dm","fm","vm","pm","bm","wm","gm","Mm","xm","Sm","km","activeElement","blur","getSelection","removeAllRanges","kineticScroll","ym","Cm","touch","mouse","Tm","Pm","Rm","Dm","Vm","Om","Bm","Am","Im","zm","Lm","Em","Nm","Fm","Wm","jm","Hm","$m","Um","qm","Ym","allowBoldLabels","Zm","userAgentData","brands","some","brand","Xm","Km","Gm","Jm","Qm","tb","ib","nb","classList","add","userSelect","webkitUserSelect","msUserSelect","MozUserSelect","webkitTapHighlightColor","sb","setAttribute","eb","rb","hb","lb","ab","autoSize","ob","ub","cb","fb","cancelAnimationFrame","parentElement","pb","mb","bb","wb","gb","Mb","xb","Sb","kb","yb","setProperty","removeProperty","Cb","Tb","Pb","minimumWidth","minimumHeight","Rb","deltaMode","DOM_DELTA_PAGE","DOM_DELTA_LINE","deltaX","deltaY","Db","Vb","Ob","requestAnimationFrame","pop","Bb","Ab","insertBefore","Ib","zb","Lb","Eb","Nb","Fb","Wb","display","contentRect","Boolean","getOwnPropertySymbols","propertyIsEnumerable","customValues","jb","Hb","$b","Ub","qb","Yb","Zb","Xb","Kb","pointData","Gb","Jb","Qb","tw","iw","nw","sw","ew","rw","hw","lw","language","aw","ow","applyOptions","_w","uw","cw","dw","fw","priceToCoordinate","coordinateToPrice","barsInLogicalRange","barsBefore","barsAfter","setData","pw","mw","bw","dataByIndex","seriesType","data","subscribeDataChanged","unsubscribeDataChanged","setMarkers","markers","priceScale","createPriceLine","removePriceLine","attachPrimitive","attached","chart","series","requestUpdate","detachPrimitive","detached","ww","gw","Mw","xw","scrollPosition","scrollToPosition","scrollToRealTime","getVisibleRange","setVisibleRange","getVisibleLogicalRange","setVisibleLogicalRange","resetTimeScale","fitContent","logicalToCoordinate","coordinateToLogical","timeToCoordinate","coordinateToTime","subscribeVisibleTimeRangeChange","unsubscribeVisibleTimeRangeChange","subscribeVisibleLogicalRangeChange","unsubscribeVisibleLogicalRangeChange","subscribeSizeChange","unsubscribeSizeChange","Sw","kw","yw","Cw","Tw","Pw","Rw","Dw","remove","resize","autoSizeActive","addCustomSeries","defaultOptions","Vw","addAreaSeries","addBaselineSeries","addBarSeries","addCandlestickSeries","addHistogramSeries","addLineSeries","removeSeries","Ow","subscribeClick","unsubscribeClick","subscribeCrosshairMove","unsubscribeCrosshairMove","subscribeDblClick","unsubscribeDblClick","takeScreenshot","chartElement","paneSize","setCrosshairPosition","clearCrosshairPosition","Bw","logical","point","hoveredSeries","hoveredObjectId","seriesData","sourceEvent","getElementById","ChartRenderer","container","initialize","createChart","CrosshairMode","formatPrice","ticker","mint","substring","handleResize","updateData","validCandles","setTimeframe","timeframe","destroy","getChart","getSeries","thisArg","apply","getPrototypeOf","iterator","toStringTag","Symbol","kindOf","cache","create","thing","str","kindOfTest","typeOfTest","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isString","isNumber","isObject","isPlainObject","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","obj","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","globalThis","self","global","isContextDefined","isTypedArray","TypedArray","Uint8Array","isHTMLForm","prop","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","isAsyncFn","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","token","random","callbacks","source","shift","asap","queueMicrotask","process","nextTick","utils$1","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isEmptyObject","isStream","pipe","merge","caseless","skipUndefined","assignValue","targetKey","extend","stripBOM","content","charCodeAt","inherits","superConstructor","props","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","lastIndex","toArray","arr","forEachEntry","_iterator","done","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","writable","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","p1","p2","toUpperCase","noop","toFiniteNumber","defaultValue","isSpecCompliantForm","toJSONObject","stack","visit","reducedValue","isThenable","isIterable","AxiosError","message","code","config","request","response","captureStackTrace","status","utils","toJSON","description","number","fileName","lineNumber","columnNumber","error","customProps","axiosError","msg","errCode","cause","isVisitable","removeBrackets","renderKey","path","dots","join","predicates","toFormData","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","exposedHelpers","build","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","buildURL","url","_encode","serialize","serializeFn","serializedParams","hashmarkIndex","encoder","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","platform$1","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","parseReviver","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders$1","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","parseHeaders","dest","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","normalized","char","formatHeader","targets","asStrings","getSetCookie","computed","accessor","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","transformData","fns","AxiosHeaders","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","reject","ERR_BAD_REQUEST","mapped","headerValue","progressEventReducer","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","speedometer","lastArgs","timer","threshold","invoke","args","throttle","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","progressEventDecorator","throttled","asyncDecorator","isURLSameOrigin","isMSIE","protocol","host","port","cookies","write","expires","domain","secure","cookie","toGMTString","read","RegExp","decodeURIComponent","buildFullPath","baseURL","requestedURL","allowAbsoluteUrls","isRelativeUrl","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","resolveConfig","newConfig","auth","btoa","username","password","unescape","getHeaders","formHeaders","allowedHeaders","xsrfValue","xhrAdapter","XMLHttpRequest","_config","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","signal","onloadend","responseHeaders","getAllResponseHeaders","err","responseText","statusText","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","cancel","abort","aborted","parseProtocol","send","composeSignals","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","readStream","async","stream","asyncIterator","reader","getReader","trackStream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","loadedBytes","enqueue","return","highWaterMark","globalFetchAPI","Request","Response","TextEncoder","factory","fetch","envFetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","resolvers","res","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","_request","getBodyLength","fetchOptions","_fetch","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","flush","isCredentialsSupported","resolvedOptions","credentials","isStreamResponse","responseContentLength","responseData","seedCache","getFetch","seeds","seed","knownAdapters","http","xhr","fetchAdapter.getFetch","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","spelling","correctSpelling","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios$1","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","Axios","generateHTTPMethod","isForm","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","instance","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","API_CONFIG","BASE_URL","FUNHI_CHART_API_URL","NEXT_PUBLIC_BACKEND_URL","TIMEOUT","MAX_RETRIES","RETRY_DELAY","candleStorageService","savingQueue","BATCH_DELAY","BATCH_SIZE","saveCandles","timeFrame","post","success","saveCandle","queueKey","existingQueue","flushQueue","queue","limit","candleCount","warning","flushAll","flushPromises","timeFrameStr","CandleStorageAdapter","effectiveLimit","MAX_SAFE_INTEGER","uniqueCandles","acc","RealTimeUpdateHandler","timeframeManager","lastUpdate","handlePriceUpdate","debounce","handleSocketUpdate","timeframeKey","backendCandle","getTimeframeSeconds","candleData","FunhiChartController","currentTimeframe","storageAdapter","updateHandler","chartOptions","chartRenderer","loadTimeframeData","getCurrentCandles","existingCount","newCount","updatePrice","switchTimeframe","updatedCandles","getCurrentTimeframe","useSocket","socketInstance","socket","useState","isConnected","setIsConnected","isConnecting","setIsConnecting","useEffect","handleConnect","handleDisconnect","handleConnectError","connected","off","connect","useCallback","subscribeToOHLCV","onInitialData","onUpdate","onNewCandle","emit","unsubscribeFromOHLCV","subscribeToPrice","onPriceUpdate","unsubscribeFromPrice","testConnection","once","useOptimizedTokenAnalytics","analyticsData","analytics","setAnalytics","loading","setLoading","setError","setLastUpdate","setConnected","derivedValues","useMemo","market","currentMarketCap","currentVolume","performance24h","isPositive","raw","performance7d","performance1m","performanceAllTime","high24h","low24h","volume24h","return24h","marketCap","current","blockchain","currentRealSol","percentage","gain","isRealVolume","candleAggregation","aggregateCandles","oneMinuteCandles","targetTimeframe","aggregatedCandles","currentGroup","groupStartTime","bucketTime","aggregated","aggregateGroup","getTimeframeLabel","sorted","sum","fillGaps","filled","updateRealtimeCandle","newOneMinuteCandle","existing","updated","newCandles","cleanCandles","cleaned","getRequiredOneMinuteCandles","targetCount","tokenName","externalSocket","externalIsConnected","externalMarketCap","analyticsConnected","externalAnalyticsConnected","analyticsLoading","externalAnalyticsLoading","chartContainerRef","useRef","controllerRef","timeframeLoading","setTimeframeLoading","loadingTimeframe","setLoadingTimeframe","setCurrentTimeframe","internalSocketData","internalAnalytics","realTimeMarketCap","timeFrames","formatMarketCap","handleMultiTimeframeCandles","handleTimeFrameChange","timeFrameValue","newTimeFrame","React","className","onClick","currentCandles","isCurrentTimeframe","isCurrentlyLoading","isDisabled","disabled","animationDelay","ref"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58]}