oakscriptjs 0.10.0 → 0.11.0

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.
Files changed (201) hide show
  1. package/dist/cjs/box/index.d.ts.map +1 -1
  2. package/dist/cjs/box/index.js +7 -1
  3. package/dist/cjs/box/index.js.map +2 -2
  4. package/dist/cjs/callsite/index.d.ts +73 -32
  5. package/dist/cjs/callsite/index.d.ts.map +1 -1
  6. package/dist/cjs/callsite/index.js +69 -65
  7. package/dist/cjs/callsite/index.js.map +2 -2
  8. package/dist/cjs/drawing/registry.d.ts +75 -0
  9. package/dist/cjs/drawing/registry.d.ts.map +1 -1
  10. package/dist/cjs/drawing/registry.js +139 -6
  11. package/dist/cjs/drawing/registry.js.map +2 -2
  12. package/dist/cjs/index.d.ts +8 -2
  13. package/dist/cjs/index.d.ts.map +1 -1
  14. package/dist/cjs/index.js +30 -1
  15. package/dist/cjs/index.js.map +2 -2
  16. package/dist/cjs/label/index.d.ts.map +1 -1
  17. package/dist/cjs/label/index.js +3 -0
  18. package/dist/cjs/label/index.js.map +2 -2
  19. package/dist/cjs/line/index.d.ts.map +1 -1
  20. package/dist/cjs/line/index.js +7 -1
  21. package/dist/cjs/line/index.js.map +2 -2
  22. package/dist/cjs/math/index.d.ts.map +1 -1
  23. package/dist/cjs/math/index.js +2 -0
  24. package/dist/cjs/math/index.js.map +2 -2
  25. package/dist/cjs/polyline/index.d.ts.map +1 -1
  26. package/dist/cjs/polyline/index.js +3 -0
  27. package/dist/cjs/polyline/index.js.map +2 -2
  28. package/dist/cjs/runtime/index.d.ts +2 -1
  29. package/dist/cjs/runtime/index.d.ts.map +1 -1
  30. package/dist/cjs/runtime/index.js +2 -0
  31. package/dist/cjs/runtime/index.js.map +2 -2
  32. package/dist/cjs/runtime/input-active.d.ts +27 -0
  33. package/dist/cjs/runtime/input-active.d.ts.map +1 -0
  34. package/dist/cjs/runtime/input-active.js +44 -0
  35. package/dist/cjs/runtime/input-active.js.map +7 -0
  36. package/dist/cjs/runtime/types.d.ts +29 -2
  37. package/dist/cjs/runtime/types.d.ts.map +1 -1
  38. package/dist/cjs/runtime/types.js.map +1 -1
  39. package/dist/cjs/script/index.d.ts +53 -17
  40. package/dist/cjs/script/index.d.ts.map +1 -1
  41. package/dist/cjs/script/index.js +70 -11
  42. package/dist/cjs/script/index.js.map +3 -3
  43. package/dist/cjs/session/bars.d.ts +15 -1
  44. package/dist/cjs/session/bars.d.ts.map +1 -1
  45. package/dist/cjs/session/bars.js +41 -6
  46. package/dist/cjs/session/bars.js.map +3 -3
  47. package/dist/cjs/session/calendar.d.ts +9 -1
  48. package/dist/cjs/session/calendar.d.ts.map +1 -1
  49. package/dist/cjs/session/calendar.js +28 -2
  50. package/dist/cjs/session/calendar.js.map +2 -2
  51. package/dist/cjs/session/context.d.ts +75 -0
  52. package/dist/cjs/session/context.d.ts.map +1 -0
  53. package/dist/cjs/session/context.js +113 -0
  54. package/dist/cjs/session/context.js.map +7 -0
  55. package/dist/cjs/str/index.d.ts +12 -4
  56. package/dist/cjs/str/index.d.ts.map +1 -1
  57. package/dist/cjs/str/index.js +13 -7
  58. package/dist/cjs/str/index.js.map +2 -2
  59. package/dist/cjs/str/numberformat.d.ts +10 -2
  60. package/dist/cjs/str/numberformat.d.ts.map +1 -1
  61. package/dist/cjs/str/numberformat.js +10 -2
  62. package/dist/cjs/str/numberformat.js.map +2 -2
  63. package/dist/cjs/ta/index.d.ts +33 -17
  64. package/dist/cjs/ta/index.d.ts.map +1 -1
  65. package/dist/cjs/ta/index.js +70 -29
  66. package/dist/cjs/ta/index.js.map +2 -2
  67. package/dist/cjs/ta/limits.d.ts +24 -0
  68. package/dist/cjs/ta/limits.d.ts.map +1 -0
  69. package/dist/cjs/ta/limits.js +50 -0
  70. package/dist/cjs/ta/limits.js.map +7 -0
  71. package/dist/cjs/ta/running-sum.d.ts +0 -16
  72. package/dist/cjs/ta/running-sum.d.ts.map +1 -1
  73. package/dist/cjs/ta/running-sum.js +2 -0
  74. package/dist/cjs/ta/running-sum.js.map +2 -2
  75. package/dist/cjs/ta-series.d.ts +7 -7
  76. package/dist/cjs/ta-series.d.ts.map +1 -1
  77. package/dist/cjs/ta-series.js +9 -7
  78. package/dist/cjs/ta-series.js.map +2 -2
  79. package/dist/cjs/time/index.d.ts +5 -2
  80. package/dist/cjs/time/index.d.ts.map +1 -1
  81. package/dist/cjs/time/index.js +2 -2
  82. package/dist/cjs/time/index.js.map +2 -2
  83. package/dist/cjs/time/session.d.ts +17 -1
  84. package/dist/cjs/time/session.d.ts.map +1 -1
  85. package/dist/cjs/time/session.js +61 -7
  86. package/dist/cjs/time/session.js.map +2 -2
  87. package/dist/cjs/types/metadata.d.ts +27 -3
  88. package/dist/cjs/types/metadata.d.ts.map +1 -1
  89. package/dist/cjs/types/metadata.js.map +1 -1
  90. package/dist/esm/box/index.d.ts.map +1 -1
  91. package/dist/esm/box/index.js +8 -2
  92. package/dist/esm/box/index.js.map +1 -1
  93. package/dist/esm/callsite/index.d.ts +73 -32
  94. package/dist/esm/callsite/index.d.ts.map +1 -1
  95. package/dist/esm/callsite/index.js +143 -106
  96. package/dist/esm/callsite/index.js.map +1 -1
  97. package/dist/esm/drawing/registry.d.ts +75 -0
  98. package/dist/esm/drawing/registry.d.ts.map +1 -1
  99. package/dist/esm/drawing/registry.js +237 -6
  100. package/dist/esm/drawing/registry.js.map +1 -1
  101. package/dist/esm/index.d.ts +8 -2
  102. package/dist/esm/index.d.ts.map +1 -1
  103. package/dist/esm/index.js +11 -1
  104. package/dist/esm/index.js.map +1 -1
  105. package/dist/esm/label/index.d.ts.map +1 -1
  106. package/dist/esm/label/index.js +4 -1
  107. package/dist/esm/label/index.js.map +1 -1
  108. package/dist/esm/line/index.d.ts.map +1 -1
  109. package/dist/esm/line/index.js +8 -2
  110. package/dist/esm/line/index.js.map +1 -1
  111. package/dist/esm/math/index.d.ts.map +1 -1
  112. package/dist/esm/math/index.js +3 -0
  113. package/dist/esm/math/index.js.map +1 -1
  114. package/dist/esm/polyline/index.d.ts.map +1 -1
  115. package/dist/esm/polyline/index.js +5 -1
  116. package/dist/esm/polyline/index.js.map +1 -1
  117. package/dist/esm/runtime/index.d.ts +2 -1
  118. package/dist/esm/runtime/index.d.ts.map +1 -1
  119. package/dist/esm/runtime/index.js +1 -0
  120. package/dist/esm/runtime/index.js.map +1 -1
  121. package/dist/esm/runtime/input-active.d.ts +27 -0
  122. package/dist/esm/runtime/input-active.d.ts.map +1 -0
  123. package/dist/esm/runtime/input-active.js +54 -0
  124. package/dist/esm/runtime/input-active.js.map +1 -0
  125. package/dist/esm/runtime/types.d.ts +29 -2
  126. package/dist/esm/runtime/types.d.ts.map +1 -1
  127. package/dist/esm/script/index.d.ts +53 -17
  128. package/dist/esm/script/index.d.ts.map +1 -1
  129. package/dist/esm/script/index.js +80 -13
  130. package/dist/esm/script/index.js.map +1 -1
  131. package/dist/esm/session/bars.d.ts +15 -1
  132. package/dist/esm/session/bars.d.ts.map +1 -1
  133. package/dist/esm/session/bars.js +50 -6
  134. package/dist/esm/session/bars.js.map +1 -1
  135. package/dist/esm/session/calendar.d.ts +9 -1
  136. package/dist/esm/session/calendar.d.ts.map +1 -1
  137. package/dist/esm/session/calendar.js +35 -3
  138. package/dist/esm/session/calendar.js.map +1 -1
  139. package/dist/esm/session/context.d.ts +75 -0
  140. package/dist/esm/session/context.d.ts.map +1 -0
  141. package/dist/esm/session/context.js +122 -0
  142. package/dist/esm/session/context.js.map +1 -0
  143. package/dist/esm/str/index.d.ts +12 -4
  144. package/dist/esm/str/index.d.ts.map +1 -1
  145. package/dist/esm/str/index.js +33 -12
  146. package/dist/esm/str/index.js.map +1 -1
  147. package/dist/esm/str/numberformat.d.ts +10 -2
  148. package/dist/esm/str/numberformat.d.ts.map +1 -1
  149. package/dist/esm/str/numberformat.js +16 -2
  150. package/dist/esm/str/numberformat.js.map +1 -1
  151. package/dist/esm/ta/index.d.ts +33 -17
  152. package/dist/esm/ta/index.d.ts.map +1 -1
  153. package/dist/esm/ta/index.js +130 -56
  154. package/dist/esm/ta/index.js.map +1 -1
  155. package/dist/esm/ta/limits.d.ts +24 -0
  156. package/dist/esm/ta/limits.d.ts.map +1 -0
  157. package/dist/esm/ta/limits.js +42 -0
  158. package/dist/esm/ta/limits.js.map +1 -0
  159. package/dist/esm/ta/running-sum.d.ts +0 -16
  160. package/dist/esm/ta/running-sum.d.ts.map +1 -1
  161. package/dist/esm/ta/running-sum.js +2 -0
  162. package/dist/esm/ta/running-sum.js.map +1 -1
  163. package/dist/esm/ta-series.d.ts +7 -7
  164. package/dist/esm/ta-series.d.ts.map +1 -1
  165. package/dist/esm/ta-series.js +9 -7
  166. package/dist/esm/ta-series.js.map +1 -1
  167. package/dist/esm/time/index.d.ts +5 -2
  168. package/dist/esm/time/index.d.ts.map +1 -1
  169. package/dist/esm/time/index.js +6 -3
  170. package/dist/esm/time/index.js.map +1 -1
  171. package/dist/esm/time/session.d.ts +17 -1
  172. package/dist/esm/time/session.d.ts.map +1 -1
  173. package/dist/esm/time/session.js +97 -10
  174. package/dist/esm/time/session.js.map +1 -1
  175. package/dist/esm/types/metadata.d.ts +27 -3
  176. package/dist/esm/types/metadata.d.ts.map +1 -1
  177. package/package.json +1 -1
  178. package/src/box/index.ts +8 -2
  179. package/src/callsite/index.ts +150 -100
  180. package/src/drawing/registry.ts +255 -5
  181. package/src/index.ts +36 -1
  182. package/src/label/index.ts +4 -1
  183. package/src/line/index.ts +8 -2
  184. package/src/math/index.ts +2 -0
  185. package/src/polyline/index.ts +3 -1
  186. package/src/runtime/index.ts +3 -0
  187. package/src/runtime/input-active.ts +50 -0
  188. package/src/runtime/types.ts +25 -2
  189. package/src/script/index.ts +123 -23
  190. package/src/session/bars.ts +47 -6
  191. package/src/session/calendar.ts +37 -3
  192. package/src/session/context.ts +160 -0
  193. package/src/str/index.ts +30 -12
  194. package/src/str/numberformat.ts +18 -3
  195. package/src/ta/index.ts +148 -66
  196. package/src/ta/limits.ts +47 -0
  197. package/src/ta/running-sum.ts +2 -0
  198. package/src/ta-series.ts +16 -14
  199. package/src/time/index.ts +6 -3
  200. package/src/time/session.ts +89 -9
  201. package/src/types/metadata.ts +27 -3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/runtime/types.ts"],
4
- "sourcesContent": ["/**\n * @fileoverview Type definitions for OakScriptJS runtime\n * These types define the adapter interfaces and context structure for the runtime system\n * @module runtime/types\n */\n\nimport type { FillGradient } from '../types/metadata.js';\n\n/**\n * Handle returned by ChartAdapter.addSeries\n * Represents a series on the chart with ability to update data\n */\nexport interface SeriesHandle {\n /** Set the data for this series */\n setData(data: Array<{ time: number; value: number; color?: string }>): void;\n}\n\n/**\n * Options for creating a series on the chart\n */\nexport interface SeriesOptions {\n /** Series color */\n color?: string;\n /** Line width */\n lineWidth?: number;\n /** Line style (0 = solid, 1 = dotted, 2 = dashed, etc.) */\n lineStyle?: number;\n /** Price scale ID */\n priceScaleId?: string;\n /** Pane index */\n pane?: number;\n}\n\n/**\n * Chart adapter interface\n * Implementations translate library calls into chart library operations\n */\nexport interface ChartAdapter {\n /** Add a new series to the chart */\n addSeries(type: string, options?: SeriesOptions): SeriesHandle;\n /** Remove a series from the chart */\n removeSeries(series: SeriesHandle): void;\n /** Get the main price series (optional, may return undefined) */\n getMainSeries?(): SeriesHandle | undefined;\n /** Create a new pane and return its index (optional) */\n createPane?(): number;\n}\n\n/**\n * Configuration for registering an input\n */\nexport interface InputConfig {\n /** Unique identifier for the input */\n id: string;\n /**\n * Type of input. `timeframe` and `session` values are strings (\"60\", \"1D\", \"0930-1600:23456\";\n * an empty timeframe means the chart timeframe), `time` values are UNIX times in milliseconds.\n */\n type: 'int' | 'float' | 'bool' | 'string' | 'source' | 'color' | 'timeframe' | 'session' | 'time';\n /** Default value */\n defval: unknown;\n /** Display title */\n title?: string;\n /** Minimum value (for numeric inputs) */\n min?: number;\n /** Maximum value (for numeric inputs) */\n max?: number;\n /** Step size (for numeric inputs) */\n step?: number;\n /** Options for dropdown selection (for string, timeframe and session inputs) */\n options?: string[];\n /** Settings group header (PineScript `group`) */\n group?: string;\n /** Inputs with the same `inline` id are shown on one line (PineScript `inline`) */\n inline?: string;\n /** Info tooltip of the input (PineScript `tooltip`) */\n tooltip?: string;\n /** Ask for the value when the script is added to a chart (PineScript `confirm`) */\n confirm?: boolean;\n /**\n * Where the input value is shown (PineScript `display`); not set means the PineScript default: 'all', except\n * color inputs: 'none'\n */\n display?: 'all' | 'none' | 'data_window' | 'status_line';\n}\n\n/**\n * Configuration for plot outputs in generated indicators\n */\nexport interface PlotConfig {\n /** Unique identifier for the plot */\n id: string;\n /** Display title */\n title: string;\n /** Plot color */\n color: string;\n /** Line width in pixels */\n lineWidth?: number;\n /** Plot style */\n style?: 'line' | 'stepline' | 'histogram' | 'area' | 'circles' | 'columns' | 'cross' | 'areabr' | 'steplinebr' | 'linebr' | 'stepline_diamond';\n /** Whether the plot is visible (can be boolean or expression string for dynamic visibility) */\n visible?: boolean | string;\n /** Display mode: 'all', 'none', 'data_window', 'status_line', 'pane' */\n display?: 'all' | 'none' | 'data_window' | 'status_line' | 'pane';\n /** Offset in bars (positive = future, negative = past) */\n offset?: number;\n /** Histogram base value */\n histbase?: number;\n /** Line style (PineScript `linestyle`); default solid. A constant or an input value, not per bar */\n linestyle?: 'solid' | 'dashed' | 'dotted';\n /** Drawn on the main chart pane even when the script is not an overlay (PineScript `force_overlay`); default false */\n forceOverlay?: boolean;\n}\n\n/**\n * Configuration of a PineScript `plotarrow()` declaration: an up arrow (below the bar) for a positive value, a down\n * arrow (above the bar) for a negative value, nothing for 0 / na. The arrow height scales with the absolute value\n * between `minheight` and `maxheight` pixels (drawn by the renderer).\n */\nexport interface ArrowConfig {\n /** Unique identifier (key of the arrow data in the result) */\n id: string;\n /** Display title */\n title?: string;\n /** Color of the up arrows (PineScript default #00FF00) */\n colorup: string;\n /** Color of the down arrows (PineScript default #FF0000) */\n colordown: string;\n /** Minimal arrow height in pixels (PineScript default 5) */\n minheight: number;\n /** Maximal arrow height in pixels (PineScript default 100) */\n maxheight: number;\n /** Offset in bars (applied to the emitted arrow times) */\n offset?: number;\n /** Display mode */\n display?: 'all' | 'none' | 'data_window' | 'status_line' | 'pane';\n /** Drawn on the main chart pane even when the script is not an overlay (PineScript `force_overlay`); default false */\n forceOverlay?: boolean;\n}\n\n/**\n * Configuration of a PineScript `plotcandle()` (kind 'candle') or `plotbar()` (kind 'bar') declaration. The candles\n * are in `result.plotCandles[id]`, the bars in `result.plotBars[id]`.\n */\nexport interface CandleConfig {\n /** Unique identifier (key of the data in the result) */\n id: string;\n /** 'candle' for plotcandle, 'bar' for plotbar */\n kind: 'candle' | 'bar';\n /** Display title */\n title?: string;\n /** Static body colour (plotcandle) or bar colour (plotbar) */\n color?: string;\n /** Static wick colour (plotcandle only) */\n wickColor?: string;\n /** Static border colour (plotcandle only) */\n borderColor?: string;\n /** Display mode */\n display?: 'all' | 'none' | 'data_window' | 'status_line' | 'pane';\n /** Drawn on the main chart pane even when the script is not an overlay (PineScript `force_overlay`); default false */\n forceOverlay?: boolean;\n}\n\n/**\n * Configuration for horizontal line outputs in generated indicators\n * Matches PineScript hline() function parameters\n */\nexport interface HLineConfig {\n /** Unique identifier for the hline */\n id: string;\n /** Price level for the horizontal line */\n price: number;\n /** Display title */\n title?: string;\n /** Line color */\n color?: string;\n /** Line style: solid, dashed, or dotted (PineScript default: dashed) */\n linestyle?: 'solid' | 'dashed' | 'dotted';\n /** Line width in pixels */\n linewidth?: number;\n /** Display mode */\n display?: 'all' | 'none' | 'data_window' | 'status_line' | 'pane';\n}\n\n/**\n * Configuration for fill between plots or hlines in generated indicators\n * Matches PineScript fill() function parameters\n */\nexport interface FillConfig {\n /** Unique identifier for the fill */\n id: string;\n /** ID of the first plot or hline */\n plot1: string;\n /** ID of the second plot or hline */\n plot2: string;\n /** Fill color */\n color?: string;\n /** Per-bar fill colors (overrides static color) */\n colors?: string[];\n /** Gradient fill (PineScript `fill(hline1, hline2, top_value, bottom_value, top_color, bottom_color)`) */\n gradient?: FillGradient;\n /** Display title */\n title?: string;\n /** Whether the fill is visible (can be boolean or expression string for dynamic visibility) */\n visible?: boolean | string;\n}\n\n/**\n * Configuration for plotshape/plotchar outputs in generated indicators\n * Matches PineScript plotshape()/plotchar() declarative parameters\n */\nexport interface ShapeConfig {\n /** Unique identifier for the shape declaration */\n id: string;\n /** 'shape' for plotshape, 'char' for plotchar */\n kind: 'shape' | 'char';\n /** Display title */\n title?: string;\n /** Shape style (plotshape only) */\n style?: 'xcross' | 'cross' | 'triangleup' | 'triangledown' | 'flag' | 'circle' | 'arrowup' | 'arrowdown' | 'labelup' | 'labeldown' | 'square' | 'diamond';\n /** Character (plotchar only) */\n char?: string;\n /** Marker location relative to the bar */\n location: 'abovebar' | 'belowbar' | 'top' | 'bottom' | 'absolute';\n /** Marker color */\n color?: string;\n /** Text shown near the marker */\n text?: string;\n /** Text color */\n textcolor?: string;\n /** Marker size */\n size?: 'auto' | 'tiny' | 'small' | 'normal' | 'large' | 'huge';\n /** Offset in bars (applied to the emitted marker times) */\n offset?: number;\n /** Drawn on the main chart pane even when the script is not an overlay (PineScript `force_overlay`); default false */\n forceOverlay?: boolean;\n}\n\n/**\n * Configuration for bgcolor/barcolor outputs in generated indicators\n */\nexport interface BarColorConfig {\n /** Unique identifier */\n id: string;\n /** 'bgcolor' or 'barcolor' */\n kind: 'bgcolor' | 'barcolor';\n /** Display title */\n title?: string;\n /** Offset in bars (bgcolor only, already baked into emitted data) */\n offset?: number;\n /** bgcolor only: drawn on the main chart pane even when the script is not an overlay (PineScript\n * `force_overlay`); default false */\n forceOverlay?: boolean;\n}\n\n/**\n * Options for numeric inputs\n */\nexport interface InputOptions {\n /** Minimum value */\n min?: number;\n /** Maximum value */\n max?: number;\n /** Step size */\n step?: number;\n}\n\n/**\n * Input adapter interface\n * Implementations handle input registration and value management\n */\nexport interface InputAdapter {\n /** Register an input, returns current value (possibly user-updated) */\n registerInput(config: InputConfig): unknown;\n /** Get current value of an input */\n getValue(id: string): unknown;\n /** Set value of an input */\n setValue(id: string, value: unknown): void;\n /** Register callback for input changes */\n onInputChange(callback: (id: string, value: unknown) => void): void;\n}\n\n/**\n * OHLCV data structure\n * Provides access to price and volume time series\n */\nexport interface OhlcvData {\n /** Timestamps for each bar */\n time: number[];\n /** Open prices */\n open: number[];\n /** High prices */\n high: number[];\n /** Low prices */\n low: number[];\n /** Close prices */\n close: number[];\n /** Volume data */\n volume: number[];\n}\n\n/**\n * Global context object for OakScriptJS runtime\n * Must be set by host application before calling any indicator calculate function\n */\nexport interface OakScriptContext {\n /** Chart adapter for plot operations */\n chart: ChartAdapter;\n /** Input adapter for managing indicator inputs */\n inputs: InputAdapter;\n /** OHLCV data for the current symbol/timeframe */\n ohlcv: OhlcvData;\n /** Current bar index (typically the last bar) */\n bar_index: number;\n}\n"],
4
+ "sourcesContent": ["/**\n * @fileoverview Type definitions for OakScriptJS runtime\n * These types define the adapter interfaces and context structure for the runtime system\n * @module runtime/types\n */\n\nimport type { FillGradient } from '../types/metadata.js';\n\n/**\n * Handle returned by ChartAdapter.addSeries\n * Represents a series on the chart with ability to update data\n */\nexport interface SeriesHandle {\n /** Set the data for this series */\n setData(data: Array<{ time: number; value: number; color?: string }>): void;\n}\n\n/**\n * Options for creating a series on the chart\n */\nexport interface SeriesOptions {\n /** Series color */\n color?: string;\n /** Line width */\n lineWidth?: number;\n /** Line style (0 = solid, 1 = dotted, 2 = dashed, etc.) */\n lineStyle?: number;\n /** Price scale ID */\n priceScaleId?: string;\n /** Pane index */\n pane?: number;\n}\n\n/**\n * Chart adapter interface\n * Implementations translate library calls into chart library operations\n */\nexport interface ChartAdapter {\n /** Add a new series to the chart */\n addSeries(type: string, options?: SeriesOptions): SeriesHandle;\n /** Remove a series from the chart */\n removeSeries(series: SeriesHandle): void;\n /** Get the main price series (optional, may return undefined) */\n getMainSeries?(): SeriesHandle | undefined;\n /** Create a new pane and return its index (optional) */\n createPane?(): number;\n}\n\n/**\n * Condition on other inputs, as plain data (PineScript `active = <expression>`):\n * - `'showMa'`: the bool input `showMa` is true\n * - `{ input: 'maType', eq: 'SMA' }` / `{ input: 'maType', ne: 'None' }`: the value of an input is / is not a value\n * (strict equality; without `eq` and `ne`: the input is true)\n * - `{ not: c }`, `{ any: [c1, c2] }` (or), `{ all: [c1, c2] }` (and)\n *\n * Evaluated by `isInputActive()`.\n */\nexport type InputCondition =\n | string\n | { input: string; eq?: unknown; ne?: unknown }\n | { not: InputCondition }\n | { any: InputCondition[] }\n | { all: InputCondition[] };\n\n/**\n * Configuration for registering an input\n */\nexport interface InputConfig {\n /** Unique identifier for the input */\n id: string;\n /**\n * Type of input. `timeframe` and `session` values are strings (\"60\", \"1D\", \"0930-1600:23456\";\n * an empty timeframe means the chart timeframe), `time` values are UNIX times in milliseconds.\n */\n type: 'int' | 'float' | 'bool' | 'string' | 'source' | 'color' | 'timeframe' | 'session' | 'time';\n /** Default value */\n defval: unknown;\n /** Display title */\n title?: string;\n /** Minimum value (for numeric inputs) */\n min?: number;\n /** Maximum value (for numeric inputs) */\n max?: number;\n /** Step size (for numeric inputs) */\n step?: number;\n /** Options for dropdown selection (for string, timeframe and session inputs) */\n options?: string[];\n /** Settings group header (PineScript `group`) */\n group?: string;\n /** Inputs with the same `inline` id are shown on one line (PineScript `inline`) */\n inline?: string;\n /** Info tooltip of the input (PineScript `tooltip`) */\n tooltip?: string;\n /** Ask for the value when the script is added to a chart (PineScript `confirm`) */\n confirm?: boolean;\n /**\n * Where the input value is shown (PineScript `display`); not set means the PineScript default: 'none' for\n * bool, color and time inputs, 'all' for the others\n */\n display?: 'all' | 'none' | 'data_window' | 'status_line';\n /**\n * Whether the input can be edited (PineScript `active`): an inactive input is shown greyed out in the settings.\n * UI only: an inactive input still gives its value to the script. Not set means always active. A boolean is the\n * value for the current inputs; an `InputCondition` names the inputs it depends on, so a host can apply it\n * without running the script (see `isInputActive()`)\n */\n active?: boolean | InputCondition;\n}\n\n/**\n * Configuration for plot outputs in generated indicators\n */\nexport interface PlotConfig {\n /** Unique identifier for the plot */\n id: string;\n /** Display title */\n title: string;\n /** Plot color */\n color: string;\n /** Line width in pixels */\n lineWidth?: number;\n /** Plot style */\n style?: 'line' | 'stepline' | 'histogram' | 'area' | 'circles' | 'columns' | 'cross' | 'areabr' | 'steplinebr' | 'linebr' | 'stepline_diamond';\n /** Whether the plot is visible (can be boolean or expression string for dynamic visibility) */\n visible?: boolean | string;\n /** Display mode: 'all', 'none', 'data_window', 'status_line', 'pane' */\n display?: 'all' | 'none' | 'data_window' | 'status_line' | 'pane';\n /** Offset in bars (positive = future, negative = past) */\n offset?: number;\n /** Histogram base value */\n histbase?: number;\n /** Line style (PineScript `linestyle`); default solid. A constant or an input value, not per bar */\n linestyle?: 'solid' | 'dashed' | 'dotted';\n /** Drawn on the main chart pane even when the script is not an overlay (PineScript `force_overlay`); default false */\n forceOverlay?: boolean;\n}\n\n/**\n * Configuration of a PineScript `plotarrow()` declaration: an up arrow (below the bar) for a positive value, a down\n * arrow (above the bar) for a negative value, nothing for 0 / na. The arrow height scales with the absolute value\n * between `minheight` and `maxheight` pixels (drawn by the renderer).\n */\nexport interface ArrowConfig {\n /** Unique identifier (key of the arrow data in the result) */\n id: string;\n /** Display title */\n title?: string;\n /** Color of the up arrows (PineScript default #00FF00) */\n colorup: string;\n /** Color of the down arrows (PineScript default #FF0000) */\n colordown: string;\n /** Minimal arrow height in pixels (PineScript default 5) */\n minheight: number;\n /** Maximal arrow height in pixels (PineScript default 100) */\n maxheight: number;\n /** Offset in bars (applied to the emitted arrow times) */\n offset?: number;\n /** Display mode */\n display?: 'all' | 'none' | 'data_window' | 'status_line' | 'pane';\n /** Drawn on the main chart pane even when the script is not an overlay (PineScript `force_overlay`); default false */\n forceOverlay?: boolean;\n}\n\n/**\n * Configuration of a PineScript `plotcandle()` (kind 'candle') or `plotbar()` (kind 'bar') declaration. The candles\n * are in `result.plotCandles[id]`, the bars in `result.plotBars[id]`.\n */\nexport interface CandleConfig {\n /** Unique identifier (key of the data in the result) */\n id: string;\n /** 'candle' for plotcandle, 'bar' for plotbar */\n kind: 'candle' | 'bar';\n /** Display title */\n title?: string;\n /** Static body colour (plotcandle) or bar colour (plotbar) */\n color?: string;\n /** Static wick colour (plotcandle only) */\n wickColor?: string;\n /** Static border colour (plotcandle only) */\n borderColor?: string;\n /** Display mode */\n display?: 'all' | 'none' | 'data_window' | 'status_line' | 'pane';\n /** Drawn on the main chart pane even when the script is not an overlay (PineScript `force_overlay`); default false */\n forceOverlay?: boolean;\n}\n\n/**\n * Configuration for horizontal line outputs in generated indicators\n * Matches PineScript hline() function parameters\n */\nexport interface HLineConfig {\n /** Unique identifier for the hline */\n id: string;\n /** Price level for the horizontal line */\n price: number;\n /** Display title */\n title?: string;\n /** Line color */\n color?: string;\n /** Line style: solid, dashed, or dotted (PineScript default: dashed) */\n linestyle?: 'solid' | 'dashed' | 'dotted';\n /** Line width in pixels */\n linewidth?: number;\n /** Display mode */\n display?: 'all' | 'none' | 'data_window' | 'status_line' | 'pane';\n}\n\n/**\n * Configuration for fill between plots or hlines in generated indicators\n * Matches PineScript fill() function parameters\n */\nexport interface FillConfig {\n /** Unique identifier for the fill */\n id: string;\n /** ID of the first plot or hline */\n plot1: string;\n /** ID of the second plot or hline */\n plot2: string;\n /** Fill color */\n color?: string;\n /** Per-bar fill colors (overrides static color) */\n colors?: string[];\n /** Gradient fill (PineScript `fill(hline1, hline2, top_value, bottom_value, top_color, bottom_color)`) */\n gradient?: FillGradient;\n /** Display title */\n title?: string;\n /** Whether the fill is visible (can be boolean or expression string for dynamic visibility) */\n visible?: boolean | string;\n}\n\n/**\n * Configuration for plotshape/plotchar outputs in generated indicators\n * Matches PineScript plotshape()/plotchar() declarative parameters\n */\nexport interface ShapeConfig {\n /** Unique identifier for the shape declaration */\n id: string;\n /** 'shape' for plotshape, 'char' for plotchar */\n kind: 'shape' | 'char';\n /** Display title */\n title?: string;\n /** Shape style (plotshape only) */\n style?: 'xcross' | 'cross' | 'triangleup' | 'triangledown' | 'flag' | 'circle' | 'arrowup' | 'arrowdown' | 'labelup' | 'labeldown' | 'square' | 'diamond';\n /** Character (plotchar only) */\n char?: string;\n /** Marker location relative to the bar */\n location: 'abovebar' | 'belowbar' | 'top' | 'bottom' | 'absolute';\n /** Marker color */\n color?: string;\n /** Text shown near the marker */\n text?: string;\n /** Text color */\n textcolor?: string;\n /** Marker size */\n size?: 'auto' | 'tiny' | 'small' | 'normal' | 'large' | 'huge';\n /** Offset in bars (applied to the emitted marker times) */\n offset?: number;\n /** Drawn on the main chart pane even when the script is not an overlay (PineScript `force_overlay`); default false */\n forceOverlay?: boolean;\n}\n\n/**\n * Configuration for bgcolor/barcolor outputs in generated indicators\n */\nexport interface BarColorConfig {\n /** Unique identifier */\n id: string;\n /** 'bgcolor' or 'barcolor' */\n kind: 'bgcolor' | 'barcolor';\n /** Display title */\n title?: string;\n /** Offset in bars (bgcolor only, already baked into emitted data) */\n offset?: number;\n /** bgcolor only: drawn on the main chart pane even when the script is not an overlay (PineScript\n * `force_overlay`); default false */\n forceOverlay?: boolean;\n}\n\n/**\n * Options for numeric inputs\n */\nexport interface InputOptions {\n /** Minimum value */\n min?: number;\n /** Maximum value */\n max?: number;\n /** Step size */\n step?: number;\n}\n\n/**\n * Input adapter interface\n * Implementations handle input registration and value management\n */\nexport interface InputAdapter {\n /** Register an input, returns current value (possibly user-updated) */\n registerInput(config: InputConfig): unknown;\n /** Get current value of an input */\n getValue(id: string): unknown;\n /** Set value of an input */\n setValue(id: string, value: unknown): void;\n /** Register callback for input changes */\n onInputChange(callback: (id: string, value: unknown) => void): void;\n}\n\n/**\n * OHLCV data structure\n * Provides access to price and volume time series\n */\nexport interface OhlcvData {\n /** Timestamps for each bar */\n time: number[];\n /** Open prices */\n open: number[];\n /** High prices */\n high: number[];\n /** Low prices */\n low: number[];\n /** Close prices */\n close: number[];\n /** Volume data */\n volume: number[];\n}\n\n/**\n * Global context object for OakScriptJS runtime\n * Must be set by host application before calling any indicator calculate function\n */\nexport interface OakScriptContext {\n /** Chart adapter for plot operations */\n chart: ChartAdapter;\n /** Input adapter for managing indicator inputs */\n inputs: InputAdapter;\n /** OHLCV data for the current symbol/timeframe */\n ohlcv: OhlcvData;\n /** Current bar index (typically the last bar) */\n bar_index: number;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -34,7 +34,7 @@
34
34
  */
35
35
  import type { Bar } from '../types/index.js';
36
36
  import type { ArrowData, BarColorData, BgColorData, BoxData, IndicatorResult, LabelData, LabelStyle, LineDrawingData, LinefillData, MarkerData, MarkerLocation, MarkerPosition, MarkerShape, MarkerSize, PineSize, PlotBarData, PlotCandleData, PolylineData, ShapeStyle, TableCellData, TableData, TableMergeData, TablePosition, TimeValue } from '../types/metadata.js';
37
- import type { ArrowConfig, BarColorConfig, CandleConfig, FillConfig, HLineConfig, InputConfig, PlotConfig, ShapeConfig } from '../runtime/types.js';
37
+ import type { ArrowConfig, BarColorConfig, CandleConfig, FillConfig, HLineConfig, InputConfig, InputCondition, PlotConfig, ShapeConfig } from '../runtime/types.js';
38
38
  import { BarData, Series } from '../runtime/series.js';
39
39
  import * as taSeries from '../ta-series.js';
40
40
  import * as colorCore from '../color/index.js';
@@ -47,6 +47,7 @@ import * as polylineCore from '../polyline/index.js';
47
47
  import * as tableCore from '../table/index.js';
48
48
  import * as chartPointCore from '../chartpoint/index.js';
49
49
  import * as mathCore from '../math/index.js';
50
+ export { holdDrawing, releaseDrawing, varDrawing, type DrawingVariable } from '../drawing/registry.js';
50
51
  import * as timeframeCore from '../timeframe/index.js';
51
52
  import * as strCore from '../str/index.js';
52
53
  import { type SessionSpec } from '../session/calendar.js';
@@ -135,13 +136,19 @@ export interface IndicatorOptions {
135
136
  }
136
137
  /** PineScript `indicator()` — declares the script's metadata. */
137
138
  export declare function indicator(title: string, options?: IndicatorOptions): void;
138
- /** Options of every `input.*` kind (PineScript `group`, `inline`, `tooltip`, `confirm`, `display`). */
139
+ /** Options of every `input.*` kind (PineScript `group`, `inline`, `tooltip`, `confirm`, `display`, `active`). */
139
140
  export interface InputOptions {
140
141
  group?: string;
141
142
  inline?: string;
142
143
  tooltip?: string;
143
144
  confirm?: boolean;
144
145
  display?: InputConfig['display'];
146
+ /**
147
+ * PineScript `active`: false greys the input out in the settings (it keeps its value). A boolean as in
148
+ * PineScript (`active: showMa`), or a condition on input ids that a host can apply without running the script
149
+ * (`active: 'ma_1'`, `active: { input: 'type', ne: 'None' }`)
150
+ */
151
+ active?: boolean | InputCondition;
145
152
  }
146
153
  export interface NumericInputOptions extends InputOptions {
147
154
  minval?: number;
@@ -193,15 +200,16 @@ export declare const ta: {
193
200
  kcw: (source: Series, length?: number, mult?: number, useTrueRange?: boolean) => Series;
194
201
  ichimoku: (conversionPeriods: number, basePeriods: number, laggingSpan2Periods: number, displacement: number) => [Series, Series, Series, Series, Series];
195
202
  /** `ta.highest(source, length)` or `ta.highest(length)` (source = high). */
196
- highest: (sourceOrLength: Series | number, length?: number) => Series;
203
+ highest: (sourceOrLength: Series | number, length?: number | Series) => Series;
197
204
  /** `ta.lowest(source, length)` or `ta.lowest(length)` (source = low). */
198
- lowest: (sourceOrLength: Series | number, length?: number) => Series;
205
+ lowest: (sourceOrLength: Series | number, length?: number | Series) => Series;
199
206
  /** `ta.highestbars(source, length)` or `ta.highestbars(length)` (source = high); offsets are 0 or negative. */
200
- highestbars: (sourceOrLength: Series | number, length?: number) => Series;
207
+ highestbars: (sourceOrLength: Series | number, length?: number | Series) => Series;
201
208
  /** `ta.lowestbars(source, length)` or `ta.lowestbars(length)` (source = low); offsets are 0 or negative. */
202
- lowestbars: (sourceOrLength: Series | number, length?: number) => Series;
209
+ lowestbars: (sourceOrLength: Series | number, length?: number | Series) => Series;
203
210
  /** `ta.vwap(source, anchor?, stdev_mult?)` with the chart volume; the default anchor is a new trading
204
- * day (`timeframe.change("1D")`), which needs the chart context (timeframe, time zone, session). */
211
+ * day (`timeframe.change("1D")`), which needs the chart context (timeframe, time zone, session), and the
212
+ * first bar: as in PineScript, the first loaded bars (a day in progress) have a value. */
205
213
  vwap: {
206
214
  (source: Series, anchor?: Series): Series;
207
215
  (source: Series, anchor: Series | undefined, stdev_mult: number): [Series, Series, Series];
@@ -210,9 +218,9 @@ export declare const ta: {
210
218
  mfi: (source: Series, length: number) => Series;
211
219
  /** `ta.pivothigh(source, leftbars, rightbars)` or `ta.pivothigh(leftbars, rightbars)` (source = high).
212
220
  * The value appears `rightbars` bars after the pivot bar, as in PineScript. */
213
- pivothigh: (sourceOrLeft: Series | number, leftOrRight: number, rightbars?: number) => Series;
221
+ pivothigh: (sourceOrLeft: Series | number, leftOrRight: number | Series, rightbars?: number | Series) => Series;
214
222
  /** `ta.pivotlow(source, leftbars, rightbars)` or `ta.pivotlow(leftbars, rightbars)` (source = low). */
215
- pivotlow: (sourceOrLeft: Series | number, leftOrRight: number, rightbars?: number) => Series;
223
+ pivotlow: (sourceOrLeft: Series | number, leftOrRight: number | Series, rightbars?: number | Series) => Series;
216
224
  obv: Series;
217
225
  pvt: Series;
218
226
  accdist: Series;
@@ -223,7 +231,7 @@ export declare const ta: {
223
231
  wvad: Series;
224
232
  sma(source: Series, length: number | Series): Series;
225
233
  ema(source: Series, length: number): Series;
226
- wma(source: Series, length: number): Series;
234
+ wma(source: Series, length: number | Series): Series;
227
235
  rma(source: Series, length: number): Series;
228
236
  rsi(source: Series, length: number): Series;
229
237
  macd(source: Series, fastLength: number, slowLength: number, signalLength: number): [Series, Series, Series];
@@ -631,12 +639,32 @@ export interface ChartContext {
631
639
  tickerid?: string;
632
640
  /** Unit of `Bar.time`: 's' (default, as lightweight-charts) or 'ms'. PineScript times are in ms. */
633
641
  timeUnit?: 's' | 'ms';
634
- /** Minimum price move of the symbol (PineScript `syminfo.mintick`), e.g. 0.01; used by `math.round_to_mintick` */
642
+ /**
643
+ * Minimum price move of the symbol (PineScript `syminfo.mintick`), e.g. 0.01; used by `math.round_to_mintick` and
644
+ * `format.mintick`. Default: `minmove / pricescale` when both are given
645
+ */
635
646
  mintick?: number;
647
+ /**
648
+ * PineScript `syminfo.minmove` and `syminfo.pricescale` (mintick = minmove / pricescale). Default: from `mintick`,
649
+ * with pricescale 10^(its decimals) (0.25 is 25 / 100). Pass them for a symbol priced in fractions (1 / 32):
650
+ * `format.mintick` shows floor(log10(pricescale)) decimals
651
+ */
652
+ minmove?: number;
653
+ pricescale?: number;
636
654
  /** Currency value of one point of price move for one contract (PineScript `syminfo.pointvalue`); 1 for stocks */
637
655
  pointvalue?: number;
638
656
  /** Smallest tradable quantity (PineScript `syminfo.mincontract`); 1 for whole shares */
639
657
  mincontract?: number;
658
+ /** Symbol type (PineScript `syminfo.type`): "stock", "crypto", "forex", "futures", "index", "fund"... */
659
+ symbolType?: string;
660
+ /** Currency of the symbol (PineScript `syminfo.currency`), e.g. "USD" */
661
+ currency?: string;
662
+ /** Chart foreground colour (PineScript `chart.fg_color`), e.g. "#DBDBDB" on a dark chart */
663
+ foregroundColor?: string;
664
+ /** Chart background colour (PineScript `chart.bg_color`), e.g. "#0F0F0F" on a dark chart */
665
+ backgroundColor?: string;
666
+ /** Current time in ms (PineScript `timenow`); default: the clock of the computer at the start of the run */
667
+ now?: number;
640
668
  /**
641
669
  * The last bar is closed (`barstate.isconfirmed` on the last bar). Default false: PineScript treats the last bar
642
670
  * of the data as not confirmed until the data feed closes it.
@@ -672,15 +700,20 @@ export declare const timeframe: {
672
700
  };
673
701
  /**
674
702
  * PineScript `syminfo.timezone`, `syminfo.tickerid`, `syminfo.session` (session type), `syminfo.mintick`,
675
- * `syminfo.pointvalue` and `syminfo.mincontract`, from the chart context.
703
+ * `syminfo.minmove`, `syminfo.pricescale`, `syminfo.pointvalue`, `syminfo.mincontract`, `syminfo.type` and
704
+ * `syminfo.currency`, from the chart context.
676
705
  */
677
706
  export declare const syminfo: {
678
707
  readonly mintick: number;
708
+ readonly minmove: number;
709
+ readonly pricescale: number;
679
710
  readonly pointvalue: number;
680
711
  readonly mincontract: number;
681
712
  readonly timezone: string;
682
713
  readonly tickerid: string;
683
714
  readonly session: string;
715
+ readonly type: string;
716
+ readonly currency: string;
684
717
  };
685
718
  /** A calendar function: `(time, timezone?)` on a UNIX time or on a Series of times. */
686
719
  interface CalendarFunction {
@@ -739,10 +772,8 @@ export declare const str: {
739
772
  };
740
773
  declare function timeFunction(tf?: string, session?: string, timezone?: string): Series;
741
774
  declare function timeCloseFunction(tf?: string, session?: string, timezone?: string): Series;
742
- /**
743
- * PineScript `time`: the bar open time in ms (a Series), and `time(timeframe?, session?, timezone?)`:
744
- * the open time of the `timeframe` period that contains the bar, `na` outside `session`.
745
- */
775
+ /** PineScript `timenow`: the current time in ms, the same on every bar of a run (`ChartContext.now`). */
776
+ export declare const timenow: Series;
746
777
  export declare const time: Series & typeof timeFunction;
747
778
  /**
748
779
  * PineScript `time_close`: the bar close time in ms (a Series), and `time_close(timeframe?, session?, timezone?)`.
@@ -975,6 +1006,10 @@ export declare const text: {
975
1006
  * (index, time, and `price`, default the close), so it runs inside eachBar().
976
1007
  */
977
1008
  export declare const chart: {
1009
+ /** Chart foreground colour (PineScript `chart.fg_color`), from the chart context. */
1010
+ readonly fg_color: string;
1011
+ /** Chart background colour (PineScript `chart.bg_color`), from the chart context. */
1012
+ readonly bg_color: string;
978
1013
  point: {
979
1014
  now(price?: number): ChartPoint;
980
1015
  new_point(time: number | null, index: number | null, price: number): ChartPoint;
@@ -1048,5 +1083,6 @@ export declare const math: {
1048
1083
  rphi: 0.6180339887498948;
1049
1084
  };
1050
1085
  export * as compare from '../compare/index.js';
1051
- export type { Bar, IndicatorResult, TimeValue, InputConfig, PlotConfig, HLineConfig, FillConfig, ShapeConfig, ArrowConfig, BarColorConfig, CandleConfig, MarkerData, MarkerPosition, MarkerShape, ArrowData, BarColorData, BgColorData, PlotCandleData, PlotBarData, LabelData, LabelStyle, LineDrawingData, BoxData, LinefillData, PolylineData, TableData, TableCellData, TableMergeData, TablePosition, MarkerLocation, MarkerSize, PineSize, ShapeStyle, };
1086
+ export { isInputActive } from '../runtime/input-active.js';
1087
+ export type { Bar, IndicatorResult, TimeValue, InputConfig, InputCondition, PlotConfig, HLineConfig, FillConfig, ShapeConfig, ArrowConfig, BarColorConfig, CandleConfig, MarkerData, MarkerPosition, MarkerShape, ArrowData, BarColorData, BgColorData, PlotCandleData, PlotBarData, LabelData, LabelStyle, LineDrawingData, BoxData, LinefillData, PolylineData, TableData, TableCellData, TableMergeData, TablePosition, MarkerLocation, MarkerSize, PineSize, ShapeStyle, };
1052
1088
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/script/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/script/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,OAAO,EAGP,eAAe,EACf,SAAS,EACT,UAAU,EACV,eAAe,EACf,YAAY,EACZ,UAAU,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,EACb,SAAS,EACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,EAA+B,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAA0B,IAAI,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,YAAY,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEvG,OAAO,KAAK,aAAa,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG3E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,kBAAkB,EAIlB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAE1B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAEnB,MAAM,sBAAsB,CAAC;AAG9B,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxG,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,4CAA4C;IAC5C,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,+GAA+G;IAC/G,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC;;;;OAIG;IACH,MAAM,EAAE,eAAe,GAAG;QAAE,MAAM,CAAC,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;CACrD;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAsGD,+FAA+F;AAC/F,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,IAAI,EAAE,SAAS,GAAG,EAAE,CAAC;IACrB,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,cAAc,CAAC;CAC3D;AAID;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,IAAI,EAChB,SAAS,EAAE,GAAG,EAAE,EAChB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACpC,KAAK,GAAE,YAAiB,EACxB,OAAO,GAAE,aAAkB,GAC1B,eAAe,CA+CjB;AAID,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,iEAAiE;AACjE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,IAAI,CAc7E;AASD,iHAAiH;AACjH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;CACnC;AAED,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAiCD,8EAA8E;AAC9E,eAAO,MAAM,KAAK;gBACJ,MAAM,UAAU,MAAM,SAAQ,mBAAmB,GAAQ,MAAM;kBAG7D,MAAM,UAAU,MAAM,SAAQ,mBAAmB,GAAQ,MAAM;iBAGhE,OAAO,UAAU,MAAM,SAAQ,YAAY,GAAQ,OAAO;mBAGxD,MAAM,UAAU,MAAM,SAAQ,kBAAkB,GAAQ,MAAM;IAG7E;;;OAGG;kBACW,MAAM,UAAU,MAAM,SAAQ,YAAY,GAAQ,MAAM;IAGtE,0DAA0D;oBAC3C,MAAM,UAAoB,MAAM,SAAQ,YAAY,GAAQ,MAAM;IAIjF,0FAA0F;sBACxE,MAAM,UAAU,MAAM,SAAQ,kBAAkB,GAAQ,MAAM;IAMhF,uDAAuD;oBACvC,MAAM,UAAU,MAAM,SAAQ,kBAAkB,GAAQ,MAAM;IAM9E,yGAAyG;iBAC5F,MAAM,UAAU,MAAM,SAAQ,YAAY,GAAQ,MAAM;CAItE,CAAC;AAIF,eAAO,MAAM,IAAI,QAAmC,CAAC;AACrD,eAAO,MAAM,IAAI,QAAmC,CAAC;AACrD,eAAO,MAAM,GAAG,QAAkC,CAAC;AACnD,eAAO,MAAM,KAAK,QAAoC,CAAC;AACvD,eAAO,MAAM,MAAM,QAAqC,CAAC;AACzD,eAAO,MAAM,GAAG,QAAmD,CAAC;AACpE,eAAO,MAAM,IAAI,QAA6D,CAAC;AAC/E,eAAO,MAAM,KAAK,QAAsE,CAAC;AACzF,eAAO,MAAM,KAAK,QAAuE,CAAC;AA4B1F;yEACyE;AACzE,eAAO,MAAM,EAAE;oBAEE,OAAO,KAAW,MAAM;kBACzB,MAAM,KAAG,MAAM;kBACf,MAAM,QAAQ,MAAM,QAAQ,MAAM,KAAG,MAAM;mBAC1C,MAAM,KAAG,MAAM;yBACT,MAAM,aAAa,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC;oBAEjD,MAAM,gBAAgB,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;iBAE1D,MAAM,UAAU,MAAM,QAAQ,MAAM,iBAAiB,OAAO,KAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;kBAEtF,MAAM,WAAW,MAAM,SAAS,MAAM,iBAAiB,OAAO,KAAG,MAAM;kCAGhE,MAAM,eACZ,MAAM,uBACE,MAAM,gBACb,MAAM,KACnB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAE3C,4EAA4E;8BAClD,MAAM,GAAG,MAAM,WAAW,MAAM,GAAG,MAAM,KAAG,MAAM;IAE5E,yEAAyE;6BAChD,MAAM,GAAG,MAAM,WAAW,MAAM,GAAG,MAAM,KAAG,MAAM;IAE3E,+GAA+G;kCACjF,MAAM,GAAG,MAAM,WAAW,MAAM,GAAG,MAAM,KAAG,MAAM;IAIhF,4GAA4G;iCAC/E,MAAM,GAAG,MAAM,WAAW,MAAM,GAAG,MAAM,KAAG,MAAM;IAI/E;;+FAE2F;UAKrF;QACJ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC1C,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;KAC5F;IACD,qFAAqF;kBACvE,MAAM,UAAU,MAAM,KAAG,MAAM;IAC7C;oFACgF;8BACtD,MAAM,GAAG,MAAM,eAAe,MAAM,GAAG,MAAM,cAAc,MAAM,GAAG,MAAM,KAAG,MAAM;IAI7G,uGAAuG;6BAC9E,MAAM,GAAG,MAAM,eAAe,MAAM,GAAG,MAAM,cAAc,MAAM,GAAG,MAAM,KAAG,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAa7G,CAAC;AAEF;mGACmG;AACnG,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;AAC/C,wBAAgB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAOrF;;uCAEuC;AACvC,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;AAClF,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAKpG,+FAA+F;AAC/F,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjB,CAAC;AAIF,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,qGAAqG;IACrG,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sHAAsH;IACtH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,iFAAiF;AACjF,iBAAS,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,UAAU,CA0B7F;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;CAeN,CAAC;AAEZ,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,SAAS,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iGAAiG;AACjG,iBAAS,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,UAAU,CAY9F;AAED,uHAAuH;AACvH,eAAO,MAAM,KAAK;;;;CAIP,CAAC;AAEZ,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qGAAqG;AACrG,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAE3F,uDAAuD;AACvD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAW9C;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;AACtF,wBAAgB,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;AACrH,wBAAgB,IAAI,CAClB,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,EACb,SAAS,EAAE,eAAe,EAC1B,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,eAAe,EAC1B,YAAY,EAAE,eAAe,EAC7B,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,IAAI,CAAC;AAiDR,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sHAAsH;IACtH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA6FD,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,IAAI,CAEjG;AAED,0FAA0F;AAC1F,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI,CAE/F;AAED,MAAM,WAAW,gBAAgB;IAC/B,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7C,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/C,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,sHAAsH;IACtH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,IAAI,CA8B9F;AA0BD;;;GAGG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAC1C,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GACzE,IAAI,CAEN;AAED,+DAA+D;AAC/D,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAC1C,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,IAAI,CAEN;AAED,qHAAqH;AACrH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IAChC,kGAAkG;IAClG,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,iDAAiD;IACjD,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,sHAAsH;IACtH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,gGAAgG;IAChG,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,sHAAsH;IACtH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAgCD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,GAC9B,IAAI,CAyBN;AAED;;;GAGG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,GAAE,cAAmB,GAC3B,IAAI,CAmBN;AAID;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sFAAsF;IACtF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1C,iFAAiF;IACjF,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AAuCD,wBAAgB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CA6E9E;AA+FD;;;;;GAKG;AACH,iBAAS,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAe/E;AAED,oGAAoG;AACpG,MAAM,MAAM,uBAAuB,GAAG;IAAE,QAAQ,EAAE,CAAC,IAAI,sBAAsB,GAAG,MAAM;CAAE,CAAC;AACzF,yDAAyD;AACzD,MAAM,MAAM,qBAAqB,GAAG;IAAE,QAAQ,EAAE,CAAC,IAAI,oBAAoB,GAAG,MAAM;CAAE,CAAC;AAErF,0FAA0F;AAC1F,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC,GAC5E,OAAO,kBAAkB,GACzB,uBAAuB,GACvB,qBAAqB,GAAG;IACtB,OAAO,EAAE,OAAO,eAAe,CAAC;IAChC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtF,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtF,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtD,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACxD,SAAS,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,IAAI,IAAI,CAAC;IACnB,oHAAoH;IACpH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IACpD,wHAAwH;IACxH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IACtD,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9C,IAAI,EAAE;QACJ,cAAc,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAC;QACvD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAChE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvF,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5F,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5C,CAAC;CACH,CAAC;AAwDJ;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,QAAQ,EAGhB,WAAW,CAAC;AAIjB;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,WAAW,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC/B,uHAAuH;IACvH,cAAc,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IACtC,8HAA8H;IAC9H,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oGAAoG;IACpG,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iHAAiH;IACjH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yGAAyG;IACzG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4FAA4F;IAC5F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4FAA4F;IAC5F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4GAA4G;IAC5G,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4GAA4G;IAC5G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wGAAwG;IACxG,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAoBD;;;GAGG;AACH,eAAO,MAAM,SAAS;YAEN,MAAM;iBAGD,MAAM;gBAGP,MAAM;gBAGN,OAAO;aAGV,OAAO;cAGN,OAAO;eAGN,OAAO;eAGP,OAAO;eAGP,OAAO;aAGT,OAAO;WAGT,OAAO;IAGpB,qGAAqG;eAC1F,MAAM,GAAG,MAAM;IAG1B,6FAA6F;oBAC7E,MAAM,GAAG,MAAM;;;CAGhC,CAAC;AAkCF;;;;GAIG;AACH,eAAO,MAAM,OAAO;sBACH,MAAM;sBAGN,MAAM;yBAGH,MAAM;yBAGN,MAAM;0BAGL,MAAM;uBAGT,MAAM;uBAGN,MAAM;sBAOP,MAAM;mBAIT,MAAM;uBAGF,MAAM;CAGvB,CAAC;AAEF,uFAAuF;AACvF,UAAU,gBAAgB;IACxB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1C,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3C;AASD,2FAA2F;AAC3F,eAAO,MAAM,IAAI,kBAA0B,CAAC;AAC5C,4FAA4F;AAC5F,eAAO,MAAM,KAAK,kBAA2B,CAAC;AAC9C,iGAAiG;AACjG,eAAO,MAAM,UAAU,kBAAgC,CAAC;AACxD,iGAAiG;AACjG,eAAO,MAAM,UAAU,kBAAgC,CAAC;AACxD,gGAAgG;AAChG,eAAO,MAAM,SAAS,kBAA+B,CAAC;AACtD,2FAA2F;AAC3F,eAAO,MAAM,IAAI,kBAA0B,CAAC;AAC5C,6FAA6F;AAC7F,eAAO,MAAM,MAAM,kBAA4B,CAAC;AAChD,6FAA6F;AAC7F,eAAO,MAAM,MAAM,kBAA4B,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;AACtD,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAAC;AACV,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;AAW7H,wHAAwH;AACxH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAEnF;AAED,yGAAyG;AACzG,eAAO,MAAM,GAAG;cAM0D,OAAO,OAAO,CAAC,QAAQ;sBAC7E,MAAM,WAAU,MAAM,aAAwC,MAAM,GAAG,MAAM;oBAG/E,MAAM,WAAW,OAAO,EAAE,GAAG,MAAM;;;;;;;;;;;;;;;;;;;;CAGpD,CAAC;AA0EF,iBAAS,YAAY,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9E;AAED,iBAAS,iBAAiB,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAKnF;AASD,yGAAyG;AACzG,eAAO,MAAM,OAAO,QAAoC,CAAC;AAEzD,eAAO,MAAM,IAAI,8BAAuE,CAAC;AAEzF;;;GAGG;AACH,eAAO,MAAM,UAAU,mCAGtB,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,eAAe,QAA4E,CAAC;AAuBzG;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ;sBACJ,MAAM;qBACP,MAAM;0BACD,MAAM;yBACP,MAAM;wBACP,MAAM;oBACV,MAAM;qCACW,MAAM;CAMrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO;;;yBAGA,MAAM;wBACP,MAAM;uBACP,MAAM;0BACH,MAAM;2BACL,MAAM;iCACA,MAAM;gCACP,MAAM;CAChC,CAAC;AAIF,+DAA+D;AAC/D,eAAO,MAAM,QAAQ;;;;;CAKX,CAAC;AAIX,+FAA+F;AAC/F,eAAO,MAAM,MAAM;uBACE,MAAM,GAAG,MAAM;qBAGjB,MAAM,GAAG,MAAM;CAGjC,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAazF;;;;;;;;;GASG;AACH,iBAAS,QAAQ,CAAC,CAAC,SAAS,aAAa,EACvC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,CAAC,EACnB,IAAI,GAAE,MAA0B,EAChC,SAAS,GAAE,MAA+B,GACzC,CAAC,SAAS,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CA2DzC;AAED,4EAA4E;AAC5E,eAAO,MAAM,OAAO;;CAAe,CAAC;AAMpC,8EAA8E;AAC9E,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CAKhB,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;CAKjB,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKf,CAAC;AAEF,0FAA0F;AAC1F,eAAO,MAAM,QAAQ;;;;;;;;;CAKpB,CAAC;AAEF,0FAA0F;AAC1F,eAAO,MAAM,QAAQ;;;;;;;;;CAKpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;CAKjB,CAAC;AAEF,2DAA2D;AAC3D,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,8EAA8E;AAC9E,eAAO,MAAM,IAAI;;;;;;;;;;;CAAkB,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,KAAK;IAChB,qFAAqF;uBACrE,MAAM;IAGtB,qFAAqF;uBACrE,MAAM;;oBAKR,MAAM,GAAG,UAAU;;;;;;;CASlC,CAAC;AAEF;mDACmD;AACnD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAGjD;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAMvF;AAID,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,mGAAmG;AACnG,eAAO,MAAM,IAAI;sBAKT,OAAO,QAAQ,CAAC,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAz0CrB,CAAC,kCACX,CAAC;;;;;;;;;CAy0CT,CAAC;AACF,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EACV,GAAG,EACH,eAAe,EACf,SAAS,EACT,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,SAAS,EACT,UAAU,EACV,eAAe,EACf,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,UAAU,EACV,QAAQ,EACR,UAAU,GACX,CAAC"}
@@ -52,10 +52,12 @@ __export(script_exports, {
52
52
  hlc3: () => hlc3,
53
53
  hlcc4: () => hlcc4,
54
54
  hline: () => hline,
55
+ holdDrawing: () => import_registry2.holdDrawing,
55
56
  hour: () => hour,
56
57
  inSession: () => inSession,
57
58
  indicator: () => indicator,
58
59
  input: () => input,
60
+ isInputActive: () => import_input_active.isInputActive,
59
61
  label: () => label,
60
62
  line: () => line,
61
63
  linefill: () => linefill,
@@ -75,6 +77,7 @@ __export(script_exports, {
75
77
  plotshape: () => plotshape,
76
78
  polyline: () => polyline,
77
79
  position: () => import_types.position,
80
+ releaseDrawing: () => import_registry2.releaseDrawing,
78
81
  request: () => request,
79
82
  second: () => second,
80
83
  seriesOf: () => seriesOf,
@@ -90,7 +93,9 @@ __export(script_exports, {
90
93
  time_close: () => time_close,
91
94
  time_tradingday: () => time_tradingday,
92
95
  timeframe: () => timeframe,
96
+ timenow: () => timenow,
93
97
  timestamp: () => timestamp,
98
+ varDrawing: () => import_registry2.varDrawing,
94
99
  volume: () => volume,
95
100
  weekofyear: () => weekofyear,
96
101
  year: () => year
@@ -111,11 +116,13 @@ var chartPointCore = __toESM(require("../chartpoint/index.js"), 1);
111
116
  var textCore = __toESM(require("../text/index.js"), 1);
112
117
  var mathCore = __toESM(require("../math/index.js"), 1);
113
118
  var import_registry = require("../drawing/registry.js");
119
+ var import_registry2 = require("../drawing/registry.js");
114
120
  var import_output = require("../drawing/output.js");
115
121
  var timeframeCore = __toESM(require("../timeframe/index.js"), 1);
116
122
  var timeCore = __toESM(require("../time/index.js"), 1);
117
123
  var strCore = __toESM(require("../str/index.js"), 1);
118
124
  var import_messageformat = require("../str/messageformat.js");
125
+ var import_numberformat = require("../str/numberformat.js");
119
126
  var import_calendar = require("../session/calendar.js");
120
127
  var import_bars = require("../session/bars.js");
121
128
  var import_resample = require("../security/resample.js");
@@ -124,6 +131,7 @@ var import_strategy = require("../strategy/index.js");
124
131
  var import_session = require("../time/session.js");
125
132
  var import_strategy2 = require("../strategy/index.js");
126
133
  var compare = __toESM(require("../compare/index.js"), 1);
134
+ var import_input_active = require("../runtime/input-active.js");
127
135
  const ctxBars = new import_series.BarData([]);
128
136
  let ctx = null;
129
137
  function collector() {
@@ -172,6 +180,7 @@ let scriptOptions = {};
172
180
  function executeScript(body, barsInput, inputs = {}, chart2 = {}, options = {}) {
173
181
  ctxBars.setAll(barsInput);
174
182
  chartCtx = { ...chart2 };
183
+ runNow = chart2.now ?? Date.now();
175
184
  scriptOptions = options;
176
185
  ctx = freshCollector(inputs);
177
186
  (0, import_registry.resetDrawings)();
@@ -244,6 +253,7 @@ function common(opts) {
244
253
  if (opts.tooltip !== void 0) out.tooltip = opts.tooltip;
245
254
  if (opts.confirm !== void 0) out.confirm = opts.confirm;
246
255
  if (opts.display !== void 0) out.display = opts.display;
256
+ if (opts.active !== void 0) out.active = opts.active;
247
257
  return out;
248
258
  }
249
259
  function registerInput(config, fallbackId) {
@@ -352,9 +362,10 @@ const ta = {
352
362
  /** `ta.lowestbars(source, length)` or `ta.lowestbars(length)` (source = low); offsets are 0 or negative. */
353
363
  lowestbars: (sourceOrLength, length) => typeof sourceOrLength === "number" ? taSeries.lowestbars(low, sourceOrLength) : taSeries.lowestbars(sourceOrLength, length),
354
364
  /** `ta.vwap(source, anchor?, stdev_mult?)` with the chart volume; the default anchor is a new trading
355
- * day (`timeframe.change("1D")`), which needs the chart context (timeframe, time zone, session). */
365
+ * day (`timeframe.change("1D")`), which needs the chart context (timeframe, time zone, session), and the
366
+ * first bar: as in PineScript, the first loaded bars (a day in progress) have a value. */
356
367
  vwap: ((source, anchor, stdev_mult) => {
357
- const a = anchor ?? changeOf("1D");
368
+ const a = anchor ?? changeOf("1D", true);
358
369
  return stdev_mult === void 0 ? taSeries.vwap(source, volume, a) : taSeries.vwapBands(source, volume, a, stdev_mult);
359
370
  }),
360
371
  /** `ta.mfi(source, length)` with the chart volume (PineScript takes 2 arguments). */
@@ -754,6 +765,7 @@ function eachBar(fn) {
754
765
  for (idx = 0; idx < b.length; idx++) {
755
766
  if (pendingError && pendingError.bar === idx) throw new Error((0, import_series.historyError)(idx, pendingError.barsBack));
756
767
  currentBar = idx;
768
+ (0, import_registry.setDrawingBar)(idx, idx === b.length - 1);
757
769
  const r = fn(ctx2);
758
770
  out[idx] = typeof r === "number" ? r : typeof r === "boolean" ? r ? 1 : 0 : NaN;
759
771
  for (const buffer of buffers.values()) {
@@ -769,6 +781,7 @@ function eachBar(fn) {
769
781
  }
770
782
  } finally {
771
783
  currentBar = -1;
784
+ (0, import_registry.setDrawingBar)(null);
772
785
  }
773
786
  return import_series.Series.fromArray(ctxBars, out);
774
787
  }
@@ -977,14 +990,38 @@ function symbolProperty(key) {
977
990
  collector();
978
991
  const value = chartCtx[key];
979
992
  if (value === void 0) {
993
+ if (key === "mintick" && chartCtx.minmove !== void 0 && chartCtx.pricescale !== void 0) {
994
+ return chartCtx.minmove / chartCtx.pricescale;
995
+ }
980
996
  throw new Error(`syminfo.${key} is not known: pass it as executeScript(body, bars, inputs, { ${key} }).`);
981
997
  }
982
998
  return value;
983
999
  }
1000
+ function chartText(key, name) {
1001
+ collector();
1002
+ const value = chartCtx[key];
1003
+ if (value === void 0) {
1004
+ throw new Error(`${name} is not known: pass it as executeScript(body, bars, inputs, { ${key} }).`);
1005
+ }
1006
+ return value;
1007
+ }
1008
+ function symbolScale() {
1009
+ collector();
1010
+ const { minmove, pricescale } = chartCtx;
1011
+ if (minmove !== void 0 && pricescale !== void 0) return [minmove, pricescale];
1012
+ const [move, scale] = (0, import_numberformat.tickScale)(symbolProperty("mintick"), pricescale);
1013
+ return [minmove ?? move, scale];
1014
+ }
984
1015
  const syminfo = {
985
1016
  get mintick() {
986
1017
  return symbolProperty("mintick");
987
1018
  },
1019
+ get minmove() {
1020
+ return symbolScale()[0];
1021
+ },
1022
+ get pricescale() {
1023
+ return symbolScale()[1];
1024
+ },
988
1025
  get pointvalue() {
989
1026
  return symbolProperty("pointvalue");
990
1027
  },
@@ -1004,6 +1041,12 @@ const syminfo = {
1004
1041
  get session() {
1005
1042
  collector();
1006
1043
  return chartCtx.sessionType ?? "regular";
1044
+ },
1045
+ get type() {
1046
+ return chartText("symbolType", "syminfo.type");
1047
+ },
1048
+ get currency() {
1049
+ return chartText("currency", "syminfo.currency");
1007
1050
  }
1008
1051
  };
1009
1052
  function calendar(fn) {
@@ -1034,8 +1077,8 @@ function inSession(time2, session2, timezone) {
1034
1077
  }
1035
1078
  const str = {
1036
1079
  ...strCore,
1037
- // format.mintick rounds to the chart symbol's tick (syminfo.mintick)
1038
- tostring: ((value, format, mintick) => strCore.tostring(value, format, format === "mintick" ? mintick ?? syminfo.mintick : mintick)),
1080
+ // format.mintick uses the chart symbol's tick and price scale (syminfo.mintick, syminfo.pricescale)
1081
+ tostring: ((value, format, mintick, pricescale) => format === "mintick" && mintick === void 0 ? strCore.tostring(value, format, syminfo.mintick, pricescale ?? syminfo.pricescale) : strCore.tostring(value, format, mintick, pricescale)),
1039
1082
  format_time(time2, format = "yyyy-MM-dd'T'HH:mm:ssZ", timezone) {
1040
1083
  return strCore.format_time(time2, format, timezone ?? exchangeTimezone());
1041
1084
  },
@@ -1075,7 +1118,12 @@ function calendarFor(session2, timezone) {
1075
1118
  return { bars: new import_bars.SessionBars(new import_calendar.TradingCalendar(tz, { session: toSpec(symbol).session }, "symbol"), bars2.chart.period), test: true };
1076
1119
  }
1077
1120
  const spec = session2 ? { session: session2 } : { session: toSpec(chartCtx.session).session };
1078
- return { bars: new import_bars.SessionBars(new import_calendar.TradingCalendar(tz, spec, session2 ? "pine" : "symbol"), bars2.chart.period), test: true };
1121
+ return {
1122
+ bars: new import_bars.SessionBars(new import_calendar.TradingCalendar(tz, spec, session2 ? "pine" : "symbol"), bars2.chart.period),
1123
+ test: true,
1124
+ // a PineScript session string: the rules of time.inSession (runs ending at 0000, days around a clock change)
1125
+ inside: session2 ? (time2) => timeCore.inSession(time2, session2, tz, timeframeCore.in_seconds(bars2.chart.period) * 1e3) : void 0
1126
+ };
1079
1127
  }
1080
1128
  function perBar(fn) {
1081
1129
  const times = ctxBars.bars.map(barTime);
@@ -1088,25 +1136,28 @@ function callableSeries(series, fn) {
1088
1136
  }
1089
1137
  function timeFunction(tf, session2, timezone) {
1090
1138
  collector();
1091
- const { bars: bars2, test } = calendarFor(session2, timezone);
1139
+ const { bars: bars2, test, inside } = calendarFor(session2, timezone);
1092
1140
  const timeframeString = tf || chartTimeframe().period;
1093
- return perBar((t) => test && !bars2.inside(t) ? NaN : bars2.timeOf(t, timeframeString));
1141
+ return perBar((t) => test && !(inside ? inside(t) : bars2.inside(t)) ? NaN : bars2.timeOf(t, timeframeString));
1094
1142
  }
1095
1143
  function timeCloseFunction(tf, session2, timezone) {
1096
1144
  collector();
1097
- const { bars: bars2, test } = calendarFor(session2, timezone);
1145
+ const { bars: bars2, test, inside } = calendarFor(session2, timezone);
1098
1146
  const timeframeString = tf || chartTimeframe().period;
1099
- return perBar((t) => test && !bars2.inside(t) ? NaN : bars2.closeOf(t, timeframeString));
1147
+ return perBar((t) => test && !(inside ? inside(t) : bars2.inside(t)) ? NaN : bars2.closeOf(t, timeframeString));
1100
1148
  }
1149
+ let runNow = NaN;
1150
+ const timenow = new import_series.Series(ctxBars, () => runNow);
1101
1151
  const time = callableSeries(new import_series.Series(ctxBars, (b) => barTime(b)), timeFunction);
1102
1152
  const time_close = callableSeries(
1103
1153
  new import_series.Series(ctxBars, (_b, i) => sessionBars().bars.closeOf(barTime(ctxBars.bars[i]), chartTimeframe().period)),
1104
1154
  timeCloseFunction
1105
1155
  );
1106
1156
  const time_tradingday = new import_series.Series(ctxBars, (b) => sessionBars().bars.tradingDayTime(barTime(b)));
1107
- function changeOf(tf) {
1157
+ function changeOf(tf, firstBar = false) {
1108
1158
  const { bars: bars2 } = sessionBars();
1109
- return perBar((t, i, times) => i > 0 && bars2.timeOf(t, tf) !== bars2.timeOf(times[i - 1], tf) ? 1 : 0);
1159
+ const changed = (a, b) => !Number.isNaN(a) && !Number.isNaN(b) && a !== b;
1160
+ return perBar((t, i, times) => (i > 0 ? changed(bars2.timeOf(t, tf), bars2.timeOf(times[i - 1], tf)) : firstBar) ? 1 : 0);
1110
1161
  }
1111
1162
  function flag(key) {
1112
1163
  const { bars: bars2, regular } = sessionBars();
@@ -1288,6 +1339,14 @@ const table = {
1288
1339
  };
1289
1340
  const text = { ...textCore };
1290
1341
  const chart = {
1342
+ /** Chart foreground colour (PineScript `chart.fg_color`), from the chart context. */
1343
+ get fg_color() {
1344
+ return chartText("foregroundColor", "chart.fg_color");
1345
+ },
1346
+ /** Chart background colour (PineScript `chart.bg_color`), from the chart context. */
1347
+ get bg_color() {
1348
+ return chartText("backgroundColor", "chart.bg_color");
1349
+ },
1291
1350
  point: {
1292
1351
  ...chartPointCore,
1293
1352
  now(price) {