@amcharts/amcharts5 5.15.2 → 5.15.3

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 (162) hide show
  1. package/.internal/core/Registry.js +1 -1
  2. package/.internal/core/Registry.js.map +1 -1
  3. package/.internal/core/render/Series.js +1 -1
  4. package/.internal/core/render/Series.js.map +1 -1
  5. package/CHANGELOG.md +6 -0
  6. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  7. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  8. package/examples/javascript/flow-chord/package.json +1 -1
  9. package/examples/javascript/flow-chord-directed/package.json +1 -1
  10. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  11. package/examples/javascript/flow-sankey/package.json +1 -1
  12. package/examples/javascript/gantt/package.json +1 -1
  13. package/examples/javascript/gantt-multilevel/package.json +1 -1
  14. package/examples/javascript/gantt-simple/package.json +1 -1
  15. package/examples/javascript/gauge/package.json +1 -1
  16. package/examples/javascript/gauge-bands/package.json +1 -1
  17. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  18. package/examples/javascript/hierarchy-pack/package.json +1 -1
  19. package/examples/javascript/hierarchy-partition/package.json +1 -1
  20. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  21. package/examples/javascript/hierarchy-tree/package.json +1 -1
  22. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  23. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  24. package/examples/javascript/jest/package.json +1 -1
  25. package/examples/javascript/json-pie/package.json +1 -1
  26. package/examples/javascript/json-xy/package.json +1 -1
  27. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  28. package/examples/javascript/map-clustered-points/package.json +1 -1
  29. package/examples/javascript/map-day-and-night/package.json +1 -1
  30. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  31. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  32. package/examples/javascript/map-with-bubbles/package.json +1 -1
  33. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  34. package/examples/javascript/misc-40-charts/package.json +1 -1
  35. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  36. package/examples/javascript/pie-chart/package.json +1 -1
  37. package/examples/javascript/pie-donut-chart/package.json +1 -1
  38. package/examples/javascript/pie-variable-radius/package.json +1 -1
  39. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  40. package/examples/javascript/radar-heat-map/package.json +1 -1
  41. package/examples/javascript/radar-line/package.json +1 -1
  42. package/examples/javascript/radar-time-line/package.json +1 -1
  43. package/examples/javascript/sliced-funnel/package.json +1 -1
  44. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  45. package/examples/javascript/sliced-pyramid/package.json +1 -1
  46. package/examples/javascript/stock-chart/package.json +1 -1
  47. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  48. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  49. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  50. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  51. package/examples/javascript/stock-chart-live/package.json +1 -1
  52. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  53. package/examples/javascript/timeline-horizontal-serpentine-chart/package.json +1 -1
  54. package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
  55. package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
  56. package/examples/javascript/timeline-spiral-chart/package.json +1 -1
  57. package/examples/javascript/venn-diagram/package.json +1 -1
  58. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  59. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  60. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  61. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  62. package/examples/javascript/xy-bubble/package.json +1 -1
  63. package/examples/javascript/xy-candlestick/package.json +1 -1
  64. package/examples/javascript/xy-clustered-column/package.json +1 -1
  65. package/examples/javascript/xy-column/package.json +1 -1
  66. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  67. package/examples/javascript/xy-data-grouping/package.json +1 -1
  68. package/examples/javascript/xy-draggable-range/package.json +1 -1
  69. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  70. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  71. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  72. package/examples/javascript/xy-line/package.json +1 -1
  73. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  74. package/examples/javascript/xy-live-data/package.json +1 -1
  75. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  76. package/examples/javascript/xy-ohlc/package.json +1 -1
  77. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  78. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  79. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  80. package/examples/javascript/xy-stacked-column/package.json +1 -1
  81. package/examples/javascript/xy-stacked-step/package.json +1 -1
  82. package/examples/javascript/xy-stock/package.json +1 -1
  83. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  84. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  85. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  86. package/examples/typescript/flow-chord/package.json +1 -1
  87. package/examples/typescript/flow-chord-directed/package.json +1 -1
  88. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  89. package/examples/typescript/flow-sankey/package.json +1 -1
  90. package/examples/typescript/gantt/package.json +1 -1
  91. package/examples/typescript/gantt-multilevel/package.json +1 -1
  92. package/examples/typescript/gantt-simple/package.json +1 -1
  93. package/examples/typescript/gauge/package.json +1 -1
  94. package/examples/typescript/gauge-bands/package.json +1 -1
  95. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  96. package/examples/typescript/hierarchy-pack/package.json +1 -1
  97. package/examples/typescript/hierarchy-partition/package.json +1 -1
  98. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  99. package/examples/typescript/hierarchy-tree/package.json +1 -1
  100. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  101. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  102. package/examples/typescript/jest/package.json +1 -1
  103. package/examples/typescript/json-pie/package.json +1 -1
  104. package/examples/typescript/json-xy/package.json +1 -1
  105. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  106. package/examples/typescript/map-clustered-points/package.json +1 -1
  107. package/examples/typescript/map-day-and-night/package.json +1 -1
  108. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  109. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  110. package/examples/typescript/map-with-bubbles/package.json +1 -1
  111. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  112. package/examples/typescript/misc-40-charts/package.json +1 -1
  113. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  114. package/examples/typescript/pie-chart/package.json +1 -1
  115. package/examples/typescript/pie-donut-chart/package.json +1 -1
  116. package/examples/typescript/pie-variable-radius/package.json +1 -1
  117. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  118. package/examples/typescript/radar-heat-map/package.json +1 -1
  119. package/examples/typescript/radar-line/package.json +1 -1
  120. package/examples/typescript/radar-time-line/package.json +1 -1
  121. package/examples/typescript/sliced-funnel/package.json +1 -1
  122. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  123. package/examples/typescript/sliced-pyramid/package.json +1 -1
  124. package/examples/typescript/stock-chart/package.json +1 -1
  125. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  126. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  127. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  128. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  129. package/examples/typescript/stock-chart-live/package.json +1 -1
  130. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  131. package/examples/typescript/timeline-horizontal-serpentine-chart/package.json +1 -1
  132. package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
  133. package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
  134. package/examples/typescript/timeline-spiral-chart/package.json +1 -1
  135. package/examples/typescript/venn-diagram/package.json +1 -1
  136. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  137. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  138. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  139. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  140. package/examples/typescript/xy-bubble/package.json +1 -1
  141. package/examples/typescript/xy-candlestick/package.json +1 -1
  142. package/examples/typescript/xy-clustered-column/package.json +1 -1
  143. package/examples/typescript/xy-column/package.json +1 -1
  144. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  145. package/examples/typescript/xy-data-grouping/package.json +1 -1
  146. package/examples/typescript/xy-draggable-range/package.json +1 -1
  147. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  148. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  149. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  150. package/examples/typescript/xy-line/package.json +1 -1
  151. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  152. package/examples/typescript/xy-live-data/package.json +1 -1
  153. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  154. package/examples/typescript/xy-ohlc/package.json +1 -1
  155. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  156. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  157. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  158. package/examples/typescript/xy-stacked-column/package.json +1 -1
  159. package/examples/typescript/xy-stacked-step/package.json +1 -1
  160. package/examples/typescript/xy-stock/package.json +1 -1
  161. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  162. package/package.json +1 -1
@@ -10,7 +10,7 @@ export class Registry {
10
10
  enumerable: true,
11
11
  configurable: true,
12
12
  writable: true,
13
- value: "5.15.2"
13
+ value: "5.15.3"
14
14
  });
15
15
  /**
16
16
  * List of applied licenses.
@@ -1 +1 @@
1
- {"version":3,"file":"Registry.js","sourceRoot":"","sources":["../../../../src/.internal/core/Registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,QAAQ;IAArB;QACC;;WAEG;QACH;;;;mBAA2B,QAAQ;WAAC;QAEpC;;;WAGG;QACH;;;;mBAAqB,EAAE;WAAC;QAExB;;WAEG;QACH;;;;mBAAyC,EAAE;WAAC;QAE5C;;WAEG;QACH;;;;mBAAsB,EAAE;WAAC;QAEzB;;;;WAIG;QACH;;;;mBAAuB,KAAK;WAAC;IAC9B,CAAC;CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAEvC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACzC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACrC,IAAI,IAAI,CAAC;IACT,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;KACf;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,EAAU;IACrC,IAAI,KAAK,CAAC;IACV,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE;YACtB,KAAK,GAAG,IAAI,CAAC;SACb;IACF,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC","sourcesContent":["/**\n * @ignore\n */\nexport class Registry {\n\t/**\n\t * Currently running version of amCharts.\n\t */\n\treadonly version: string = \"5.15.2\";\n\n\t/**\n\t * List of applied licenses.\n\t * @ignore\n\t */\n\tlicenses: String[] = [];\n\n\t/**\n\t * Entities that have their `id` setting set.\n\t */\n\tentitiesById: { [index: string]: any } = {};\n\n\t/**\n\t * All created [[Root]] elements.\n\t */\n\trootElements: any[] = [];\n\n\t/**\n\t * Automatically dispose a [[Root]] element if it exists in the target container.\n\t *\n\t * @since 5.14.4\n\t */\n\tautoDispose: boolean = false;\n}\n\n/**\n * @ignore\n */\nexport const registry = new Registry();\n\n/**\n * Adds a license, e.g.:\n *\n * ```TypeScript\n * am5.addLicense(\"xxxxxxxx\");\n * ```\n * ```JavaScript\n * am5.addLicense(\"xxxxxxxx\");\n * ```\n *\n * Multiple licenses can be added to cover for multiple products.\n *\n * @param license License key\n */\nexport function addLicense(license: string): void {\n\tregistry.licenses.push(license);\n}\n\n/**\n * Disposes all [[Root]] elements.\n */\nexport function disposeAllRootElements(): void {\n\tlet root;\n\twhile ((root = registry.rootElements.pop())) {\n\t\troot.dispose();\n\t}\n}\n\n/**\n * Finds and returns a `Root` element assigned to a container with `id`.\n *\n * @param id Container ID\n * @return Root\n * @since 5.9.2\n */\nexport function getRootById(id: string): any {\n\tlet found;\n\tregistry.rootElements.forEach((item) => {\n\t\tif (item.dom.id == id) {\n\t\t\tfound = item;\n\t\t}\n\t});\n\treturn found;\n}\n"]}
1
+ {"version":3,"file":"Registry.js","sourceRoot":"","sources":["../../../../src/.internal/core/Registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,QAAQ;IAArB;QACC;;WAEG;QACH;;;;mBAA2B,QAAQ;WAAC;QAEpC;;;WAGG;QACH;;;;mBAAqB,EAAE;WAAC;QAExB;;WAEG;QACH;;;;mBAAyC,EAAE;WAAC;QAE5C;;WAEG;QACH;;;;mBAAsB,EAAE;WAAC;QAEzB;;;;WAIG;QACH;;;;mBAAuB,KAAK;WAAC;IAC9B,CAAC;CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAEvC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACzC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACrC,IAAI,IAAI,CAAC;IACT,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;KACf;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,EAAU;IACrC,IAAI,KAAK,CAAC;IACV,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE;YACtB,KAAK,GAAG,IAAI,CAAC;SACb;IACF,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC","sourcesContent":["/**\n * @ignore\n */\nexport class Registry {\n\t/**\n\t * Currently running version of amCharts.\n\t */\n\treadonly version: string = \"5.15.3\";\n\n\t/**\n\t * List of applied licenses.\n\t * @ignore\n\t */\n\tlicenses: String[] = [];\n\n\t/**\n\t * Entities that have their `id` setting set.\n\t */\n\tentitiesById: { [index: string]: any } = {};\n\n\t/**\n\t * All created [[Root]] elements.\n\t */\n\trootElements: any[] = [];\n\n\t/**\n\t * Automatically dispose a [[Root]] element if it exists in the target container.\n\t *\n\t * @since 5.14.4\n\t */\n\tautoDispose: boolean = false;\n}\n\n/**\n * @ignore\n */\nexport const registry = new Registry();\n\n/**\n * Adds a license, e.g.:\n *\n * ```TypeScript\n * am5.addLicense(\"xxxxxxxx\");\n * ```\n * ```JavaScript\n * am5.addLicense(\"xxxxxxxx\");\n * ```\n *\n * Multiple licenses can be added to cover for multiple products.\n *\n * @param license License key\n */\nexport function addLicense(license: string): void {\n\tregistry.licenses.push(license);\n}\n\n/**\n * Disposes all [[Root]] elements.\n */\nexport function disposeAllRootElements(): void {\n\tlet root;\n\twhile ((root = registry.rootElements.pop())) {\n\t\troot.dispose();\n\t}\n}\n\n/**\n * Finds and returns a `Root` element assigned to a container with `id`.\n *\n * @param id Container ID\n * @return Root\n * @since 5.9.2\n */\nexport function getRootById(id: string): any {\n\tlet found;\n\tregistry.rootElements.forEach((item) => {\n\t\tif (item.dom.id == id) {\n\t\t\tfound = item;\n\t\t}\n\t});\n\treturn found;\n}\n"]}
@@ -493,7 +493,7 @@ export class Series extends Component {
493
493
  });
494
494
  });
495
495
  }
496
- if (this.get("visible") && this.bullets.length > 0) {
496
+ if (this.get("visible")) {
497
497
  const dataItems = this.dataItems;
498
498
  let count = dataItems.length;
499
499
  let startIndex = this.startIndex();
@@ -1 +1 @@
1
- {"version":3,"file":"Series.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Series.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Root } from \"../../core/Root\";\nimport type { Chart } from \"./Chart\";\nimport type { Bullet } from \"./Bullet\";\nimport type { Graphics } from \"../../core/render/Graphics\";\nimport type { ILegendDataItem } from \"./Legend\";\nimport type { Template } from \"../../core/util/Template\";\nimport type { Sprite } from \"../../core/render/Sprite\";\nimport type { Pattern } from \"./patterns/Pattern\";\n\nimport { Component, IComponentSettings, IComponentPrivate, DataItem, IComponentEvents, IComponentDataItem } from \"../../core/render/Component\";\nimport { List } from \"../../core/util/List\";\nimport { Color } from \"../../core/util/Color\";\nimport { percentInterpolate } from \"../../core/util/Animation\";\nimport { Percent } from \"../../core/util/Percent\";\nimport { p100 } from \"../../core/util/Percent\";\nimport { Container } from \"../../core/render/Container\";\nimport { Label } from \"../../core/render/Label\";\n//import { Animations } from \"../../core/util/Animation\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $time from \"../../core/util/Time\";\n\n/**\n * Defines interface for a heat rule.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/settings/heat-rules/} for more info\n */\nexport interface IHeatRule {\n\n\t/**\n\t * Target template.\n\t */\n\ttarget: Template<any>;\n\n\t/**\n\t * The setting value to use for items if the lowest value.\n\t */\n\tmin?: any;\n\n\t/**\n\t * The setting value to use for items if the highest value.\n\t */\n\tmax?: any;\n\n\t/**\n\t * The setting value to use for items which do not have value at all.\n\t */\n\tneutral?: any;\n\n\t/**\n\t * Which data field to use when determining item's value.\n\t */\n\tdataField: string;\n\n\t/**\n\t * A setting key to set.\n\t */\n\tkey?: string;\n\n\t/**\n\t * Custom lowest value.\n\t */\n\tminValue?: number;\n\n\t/**\n\t * Custom highest value.\n\t */\n\tmaxValue?: number;\n\n\t/**\n\t * Use logarithmic scale when calculating intermediate setting values.\n\t *\n\t * @default false\n\t */\n\tlogarithmic?: boolean;\n\n\t/**\n\t * A custom function that will set target element's settings.\n\t *\n\t * Can be used to do custom manipulation on complex objects requiring more\n\t * than modifying a setting.\n\t */\n\tcustomFunction?: (target: Sprite, minValue: number, maxValue: number, value?: any) => void;\n\n}\n\n\nexport interface ISeriesDataItem extends IComponentDataItem {\n\tid?: string;\n\tvalue?: number;\n\tvalueWorking?:number;\n\tvalueChange?: number;\n\tvalueChangePercent?: number;\n\tvalueChangeSelection?: number;\n\tvalueChangeSelectionPercent?: number;\n\tvalueChangePrevious?: number;\n\tvalueChangePreviousPercent?: number;\n\tvalueWorkingOpen?: number;\n\tvalueWorkingClose?: number;\n\n\tcustomValue?: number;\n\tcustomValueWorking?:number;\n\tcustomValueChange?: number;\n\tcustomValueChangePercent?: number;\n\tcustomValueChangeSelection?: number;\n\tcustomValueChangeSelectionPercent?: number;\n\tcustomValueChangePrevious?: number;\n\tcustomValueChangePreviousPercent?: number;\n}\n\nexport interface ISeriesSettings extends IComponentSettings {\n\n\t/**\n\t * Name of the series.\n\t */\n\tname?: string;\n\n\t/**\n\t * A key to look up in data for an id of the data item.\n\t */\n\tidField?: string;\n\n\t/**\n\t * A key to look up in data for a numeric value of the data item.\n\t *\n\t * Some series use it to display its elements. It can also be used in heat\n\t * rules.\n\t */\n\tvalueField?: string;\n\n\t/**\n\t * A key to look up in data for a numeric customValue of the data item.\n\t *\n\t * Usually used for storing additional numeric information and heat rules.\n\t */\n\tcustomValueField?: string;\n\n\t/**\n\t * A text template to be used for label in legend.\n\t */\n\tlegendLabelText?: string;\n\n\t/**\n\t * A text template to be used for value label in legend.\n\t */\n\tlegendValueText?: string;\n\n\t/**\n\t * If set to `true` the series initial animation will be played item by item\n\t * rather than all at once.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Animation_of_series} for more info\n\t */\n\tsequencedInterpolation?:boolean;\n\n\t/**\n\t * A delay in milliseconds to wait before starting animation of next data\n\t * item.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Animation_of_series} for more info\n\t */\n\tsequencedDelay?:number;\n\n\t/**\n\t * A list of heat rules to apply on series elements.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/settings/heat-rules/} for more info\n\t */\n\theatRules?:IHeatRule[];\n\n\t/**\n\t * If set to `true`, series will calculate aggregate values, e.g. change\n\t * percent, high, low, etc.\n\t *\n\t * Do not enable unless you are using such aggregate values in tooltips,\n\t * display data fields, heat rules, or similar.\n\t */\n\tcalculateAggregates?: boolean;\n\n\t/**\n\t * Series stroke color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Series_colors} for more info\n\t */\n\tstroke?: Color;\n\n\t/**\n\t * Series fill color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Series_colors} for more info\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Series fill pattern.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info\n\t * @since 5.10.0\n\t */\n\tfillPattern?: Pattern;\n\n\t/**\n\t * A data item representing series in a [[Legend]].\n\t *\n\t * @readonly\n\t */\n\tlegendDataItem?: DataItem<ILegendDataItem>;\n\n\t/**\n\t * A list of field names to exclude from automatic aggregation\n\t * when `calculateAggregates` is enabled. Use it to optimize\n\t * performance by disabling automatic aggregation for data\n\t * fields where aggregate values are not needed.\n\t *\n\t * @since 5.14.4\n\t */\n\texcludeFromAggregate?: Array<string>;\n}\n\nexport interface ISeriesPrivate extends IComponentPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tchart?: Chart;\n\tstartIndex?: number;\n\tendIndex?: number;\n\tadjustedStartIndex?:number;\n\n\tvalueAverage?: number;\n\tvalueCount?: number;\n\tvalueSum?: number;\n\tvalueAbsoluteSum?: number;\n\tvalueLow?: number;\n\tvalueHigh?: number;\n\tvalueOpen?: number;\n\tvalueClose?: number;\n\n\tcustomValueAverage?: number;\n\tcustomValueCount?: number;\n\tcustomValueSum?: number;\n\tcustomValueAbsoluteSum?: number;\n\tcustomValueLow?: number;\n\tcustomValueHigh?: number;\n\tcustomValueOpen?: number;\n\tcustomValueClose?: number;\n\n\tbaseValueSeries?: Series;\n}\n\nexport interface ISeriesEvents extends IComponentEvents {\n\n}\n\n/**\n * A base class for all series.\n */\nexport abstract class Series extends Component {\n\tpublic static className: string = \"Series\";\n\tpublic static classNames: Array<string> = Component.classNames.concat([Series.className]);\n\n\tdeclare public _settings: ISeriesSettings;\n\tdeclare public _privateSettings: ISeriesPrivate;\n\tdeclare public _dataItemSettings: ISeriesDataItem;\n\tdeclare public _events: ISeriesEvents;\n\n\tprotected _aggregatesCalculated: boolean = false;\n\tprotected _selectionAggregatesCalculated: boolean = false;\n\tprotected _dataProcessed: boolean = false;\n\n\tprotected _psi: number | undefined;\n\tprotected _pei: number | undefined;\n\n\tprotected _baseSeriesDirty: boolean = false;\n\n\t/**\n\t * A chart series belongs to.\n\t */\n\tpublic chart:Chart | undefined;\n\n\t/**\n\t * List of bullets to use for the series.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/bullets/} for more info\n\t */\n\tpublic bullets: List<<D extends DataItem<this[\"_dataItemSettings\"]>>(root: Root, series:Series, dataItem: D) => Bullet | undefined> = new List();\n\n\t/**\n\t * A [[Container]] series' bullets are stored in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly bulletsContainer: Container = Container.new(this._root, {width:p100, height:p100, position:\"absolute\"});\n\n\tprotected _afterNew() {\n\t\tthis.valueFields.push(\"value\", \"customValue\");\n\n\t\tsuper._afterNew();\n\n\t\tthis.setPrivate(\"customData\", {});\n\n\t\tthis._disposers.push(this.bullets.events.onAll(() => {\n\t\t\tthis._handleBullets(this.dataItems);\n\t\t}));\n\t}\n\n\tprotected _dispose(){\n\t\tthis.bulletsContainer.dispose(); // can be in a different parent\n\t\tsuper._dispose();\n\t}\n\n\tpublic startIndex():number {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.min(this.getPrivate(\"startIndex\", 0), len);\n\t}\n\n\tpublic endIndex():number {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.max(0, Math.min(this.getPrivate(\"endIndex\", len), len));\n\t}\n\n\tprotected _handleBullets(dataItems:Array<DataItem<this[\"_dataItemSettings\"]>>){\n\t\t$array.each(dataItems, (dataItem)=>{\n\t\t\tconst bullets = dataItem.bullets;\n\t\t\tif(bullets){\n\t\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\t\tbullet.dispose();\n\t\t\t\t})\n\n\t\t\t\tdataItem.bullets = undefined;\n\t\t\t}\n\t\t})\n\n\t\tthis.markDirtyValues();\n\t}\n\n\n\tprotected _makeBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif(this._shouldMakeBullet(dataItem)){\n\t\t\tdataItem.bullets = [];\n\n\t\t\tthis.bullets.each((bulletFunction) => {\n\t\t\t\tthis._makeBullet(dataItem, bulletFunction);\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _shouldMakeBullet(_dataItem: DataItem<this[\"_dataItemSettings\"]>):boolean{\n\t\treturn true;\n\t}\n\n\tprotected _makeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>, bulletFunction:(root: Root, series:Series, dataItem: DataItem<this[\"_dataItemSettings\"]>) => Bullet | undefined, index?:number):Bullet | undefined{\n\t\tconst bullet = bulletFunction(this._root, this, dataItem);\n\t\tif(bullet){\n\t\t\tbullet._index = index;\n\t\t\tthis._makeBulletReal(dataItem, bullet);\n\t\t}\n\t\treturn bullet;\n\t}\n\n\tprotected _makeBulletReal(dataItem: DataItem<this[\"_dataItemSettings\"]>, bullet:Bullet){\n\t\tlet sprite = bullet.get(\"sprite\");\n\n\t\tif (sprite) {\n\t\t\tsprite._setDataItem(dataItem);\n\t\t\tsprite.setRaw(\"position\", \"absolute\");\n\t\t\tthis.bulletsContainer.children.push(sprite);\n\t\t}\n\t\tbullet.series = this;\n\t\tdataItem.bullets!.push(bullet);\n\t}\n\n\t/**\n\t * Adds bullet directly to a data item.\n\t *\n\t * Please note: method accepts [[Bullet]] instance as a paramter, not a\n\t * reference to a function.\n\t *\n\t * You should add Bullet instance, not a method like you do it on series.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/bullets/#Adding_directly_to_data_item} for more info\n\t * @since 5.6.0\n\t *\n\t * @param dataItem Target data item\n\t * @param bullet Bullet instance\n\t */\n\tpublic addBullet(dataItem:DataItem<this[\"_dataItemSettings\"]>, bullet:Bullet){\n\t\tif(!dataItem.bullets){\n\t\t\tdataItem.bullets = [];\n\t\t}\n\t\tif(bullet){\n\t\t\tthis._makeBulletReal(dataItem, bullet);\n\t\t}\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._aggregatesCalculated = false;\n\t\tthis._baseSeriesDirty = false;\n\t\tthis._selectionAggregatesCalculated = false;\n\t}\n\n\tpublic _prepareChildren(){\n\t\tsuper._prepareChildren();\n\n\t\tconst dataItems = this.dataItems;\n\t\tconst count = dataItems.length;\n\n\t\tlet startIndex = this.startIndex();\n\t\tlet endIndex = this.endIndex();\n\n\t\tif(this.isDirty(\"name\")){\n\t\t\tthis.updateLegendValue();\n\t\t}\n\n\t\tif(this.isDirty(\"heatRules\")){\n\t\t\tthis._valuesDirty = true;\n\t\t}\n\n\t\tif(this.isPrivateDirty(\"baseValueSeries\")){\n\t\t\tconst baseValueSeries = this.getPrivate(\"baseValueSeries\");\n\t\t\tif(baseValueSeries){\n\t\t\t\tthis._disposers.push(baseValueSeries.onPrivate(\"startIndex\", ()=>{\n\t\t\t\t\tthis._baseSeriesDirty = true;\n\t\t\t\t\tthis.markDirtyValues();\n\t\t\t\t}))\n\t\t\t}\n\t\t}\n\n\t\tconst calculateAggregates = this.get(\"calculateAggregates\");\n\t\tif(calculateAggregates){\n\t\t\tif (this._valuesDirty && !this._dataProcessed) {\n\t\t\t\tif (!this._aggregatesCalculated) {\n\t\t\t\t\tthis._calculateAggregates(0, count);\t\t\t\t\t\n\t\t\t\t\tthis._aggregatesCalculated = true;\n\t\t\t\t\tif(startIndex != 0){\n\t\t\t\t\t\tthis._psi = undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ((this._psi != startIndex || this._pei != endIndex || this.isPrivateDirty(\"adjustedStartIndex\")) && !this._selectionAggregatesCalculated) {\n\t\t\t\tif (startIndex === 0 && endIndex === count && this._aggregatesCalculated) {\n\t\t\t\t\t// void\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis._calculateAggregates(startIndex, endIndex);\n\t\t\t\t}\n\t\t\t\tthis._selectionAggregatesCalculated = true;\n\t\t\t}\n\t\t}\n\n\t\tif(this.isDirty(\"tooltip\")){\n\t\t\tlet tooltip = this.get(\"tooltip\");\n\t\t\tif(tooltip){\n\t\t\t\ttooltip.hide(0);\n\t\t\t\ttooltip.set(\"tooltipTarget\", this);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"fill\") || this.isDirty(\"stroke\")) {\n\n\t\t\tlet markerRectangle: Graphics | undefined;\n\t\t\tconst legendDataItem = this.get(\"legendDataItem\");\n\t\t\tif (legendDataItem) {\n\t\t\t\tmarkerRectangle = legendDataItem.get(\"markerRectangle\");\n\n\t\t\t\tif (markerRectangle) {\n\t\t\t\t\tif(this.isVisible()){\n\t\t\t\t\t\tif (this.isDirty(\"stroke\")) {\n\t\t\t\t\t\t\tlet stroke = this.get(\"stroke\");\n\t\t\t\t\t\t\tmarkerRectangle.set(\"stroke\", stroke);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (this.isDirty(\"fill\")) {\n\t\t\t\t\t\t\tlet fill = this.get(\"fill\");\n\t\t\t\t\t\t\tmarkerRectangle.set(\"fill\", fill);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateLegendMarker(undefined);\n\t\t}\n\n\n\t\tif (this.bullets.length > 0) {\n\t\t\tlet startIndex = this.startIndex();\n\t\t\tlet endIndex = this.endIndex();\n\n\t\t\tif(endIndex < count){\n\t\t\t\tendIndex++;\n\t\t\t}\n\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tlet dataItem = dataItems[i];\n\t\t\t\tif (!dataItem.bullets) {\n\t\t\t\t\tthis._makeBullets(dataItem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t}\n\n\tpublic _handleRemoved(){\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _adjustStartIndex(index:number):number{\n\t\treturn index;\n\t}\n\n\tprotected _calculateAggregates(startIndex: number, endIndex: number) {\n\n\t\tlet fields = this._valueFields;\n\t\tif (!fields) {\n\t\t\tthrow new Error(\"No value fields are set for the series.\");\n\t\t}\n\n\t\tconst excludeFromAggregate = this.get(\"excludeFromAggregate\");\n\t\tif(excludeFromAggregate){\n\t\t\tfields = fields.filter((field)=>{\n\t\t\t\treturn excludeFromAggregate.indexOf(field) == -1;\n\t\t\t});\n\t\t}\n\n\t\tconst sum: { [index: string]: number } = {};\n\t\tconst absSum: { [index: string]: number } = {};\n\t\tconst count: { [index: string]: number } = {};\n\t\tconst low: { [index: string]: number } = {};\n\t\tconst high: { [index: string]: number } = {};\n\t\tconst open: { [index: string]: number } = {};\n\t\tconst close: { [index: string]: number } = {};\n\t\tconst average: { [index: string]: number } = {};\n\t\tconst previous: { [index: string]: number } = {};\n\n\t\tfor(let f = 0, flen = fields.length; f < flen; f++){\n\t\t\tlet key = fields[f];\n\t\t\tsum[key] = 0;\n\t\t\tabsSum[key] = 0;\n\t\t\tcount[key] = 0;\n\t\t}\n\n\t\tconst dataItems = this.dataItems;\n\t\tconst len = dataItems.length;\n\n\t\tfor(let f = 0, flen = fields.length; f < flen; f++){\n\t\t\tlet key = fields[f];\n\t\t\tlet change = key + \"Change\";\n\t\t\tlet changePercent = key + \"ChangePercent\";\n\t\t\tlet changePrevious = key + \"ChangePrevious\";\n\t\t\tlet changePreviousPercent = key + \"ChangePreviousPercent\";\n\t\t\tlet changeSelection = key + \"ChangeSelection\";\n\t\t\tlet changeSelectionPercent = key + \"ChangeSelectionPercent\";\n\n\t\t\tlet openKey = \"valueY\";\n\n\t\t\tif (key === \"valueX\" || key.endsWith(\"ValueX\")) {\n\t\t\t\topenKey = \"valueX\";\n\t\t\t}\n\n\t\t\tconst baseValueSeries = this.getPrivate(\"baseValueSeries\");\n\t\t\tconst adjustedStartIndex = this.getPrivate(\"adjustedStartIndex\", startIndex);\n\n\t\t\tconst calculateChangesForItem = (dataItem: any, value:number, key: string) => {\n\t\t\t\tif (startIndex === 0) {\n\t\t\t\t\tconst openValue = open[openKey];\n\t\t\t\t\tconst changeValue = value - openValue;\n\t\t\t\t\tdataItem.setRaw(<any>(change), changeValue);\n\t\t\t\t\tdataItem.setRaw(<any>(changePercent), changeValue / openValue * 100);\n\t\t\t\t}\n\n\t\t\t\tconst changePreviousValue = value - previous[openKey];\n\t\t\t\tconst changeSelectionValue = value - open[openKey];\n\t\t\t\tdataItem.setRaw(<any>(changePrevious), changePreviousValue);\n\t\t\t\tdataItem.setRaw(<any>(changePreviousPercent), changePreviousValue / previous[openKey] * 100);\n\t\t\t\tdataItem.setRaw(<any>(changeSelection), changeSelectionValue);\n\t\t\t\tdataItem.setRaw(<any>(changeSelectionPercent), changeSelectionValue / open[openKey] * 100);\n\t\t\t\tprevious[key] = value;\n\t\t\t};\n\n\t\t\t// find first non-null value to initialize open, low, high instead of checking in loop\n\t\t\tfor (let i = adjustedStartIndex; i < endIndex; i++) {\n\t\t\t\tconst dataItem = dataItems[i];\n\t\t\t\tif(dataItem){\n\t\t\t\t\tlet value = dataItem.get(<any>key)\n\t\t\t\t\tif(value != null){\n\t\t\t\t\t\tif(low[key] == null){\n\t\t\t\t\t\t\tlow[key] = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(high[key] == null){\n\t\t\t\t\t\t\thigh[key] = value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (open[key] == null) {\n\t\t\t\t\t\t\topen[key] = value;\n\t\t\t\t\t\t\tprevious[key] = value;\n\n\t\t\t\t\t\t\tif(baseValueSeries){\n\t\t\t\t\t\t\t\topen[openKey] = baseValueSeries._getBase(openKey);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// stop cycle\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tfor (let i = adjustedStartIndex; i < endIndex; i++) {\n\t\t\t\tconst dataItem = dataItems[i];\n\t\t\t\tif(dataItem){\n\t\t\t\t\tlet value = (dataItem._settings as any)[key];\n\n\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\tcount[key]++;\n\t\t\t\t\t\tsum[key] += value;\n\n\t\t\t\t\t\tabsSum[key] += Math.abs(value);\n\n\t\t\t\t\t\tif (low[key] > value) {\n\t\t\t\t\t\t\tlow[key] = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (high[key] < value) {\n\t\t\t\t\t\t\thigh[key] = value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tclose[key] = value;\n\t\t\t\t\t\tcalculateChangesForItem(dataItem, value, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\taverage[key] = sum[key] / count[key];\n\n\t\t\tif (endIndex < len) {\n\t\t\t\tconst dataItem = dataItems[endIndex];\n\t\t\t\tif(dataItem){\n\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\tif(value != null){\n\t\t\t\t\t\tcalculateChangesForItem(dataItem, value, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (endIndex + 1 < len) {\n\t\t\t\tconst dataItem = dataItems[endIndex + 1];\n\t\t\t\tif(dataItem){\n\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\tif(value != null){\n\t\t\t\t\t\tcalculateChangesForItem(dataItem, value, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (startIndex > 0) {\n\t\t\t\tstartIndex--;\n\t\t\t}\n\n\t\t\tdelete previous[key];\n\n\t\t\tfor (let i = startIndex; i < adjustedStartIndex; i++) {\n\t\t\t\tconst dataItem = dataItems[i];\n\t\t\t\tif(dataItem) {\n\t\t\t\t\tlet value = dataItem.get(<any>key);\n\n\t\t\t\t\tif (previous[key] == null) {\n\t\t\t\t\t\tprevious[key] = value;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\tcalculateChangesForItem(dataItem, value, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor(let f = 0, flen = fields.length; f < flen; f++){\n\t\t\tlet key = fields[f];\n\t\t\tthis.setPrivate(<any>(key + \"AverageSelection\"), average[key]);\n\t\t\tthis.setPrivate(<any>(key + \"CountSelection\"), count[key]);\n\t\t\tthis.setPrivate(<any>(key + \"SumSelection\"), sum[key]);\n\t\t\tthis.setPrivate(<any>(key + \"AbsoluteSumSelection\"), absSum[key]);\n\t\t\tthis.setPrivate(<any>(key + \"LowSelection\"), low[key]);\n\t\t\tthis.setPrivate(<any>(key + \"HighSelection\"), high[key]);\n\t\t\tthis.setPrivate(<any>(key + \"OpenSelection\"), open[key]);\n\t\t\tthis.setPrivate(<any>(key + \"CloseSelection\"), close[key]);\n\t\t}\n\n\t\tif (startIndex === 0 && endIndex === len) {\n\t\t\tfor(let f = 0, flen = fields.length; f < flen; f++){\n\t\t\t\tlet key = fields[f];\n\t\t\t\tthis.setPrivate(<any>(key + \"Average\"), average[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Count\"), count[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Sum\"), sum[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"AbsoluteSum\"), absSum[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Low\"), low[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"High\"), high[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Open\"), open[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Close\"), close[key]);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tthis._psi = this.startIndex();\n\t\tthis._pei = this.endIndex();\n\n\t\tif(this.isDirty(\"visible\")){\n\t\t\tthis.bulletsContainer.set(\"visible\", this.get(\"visible\"));\n\t\t}\n\n\n\t\t// Apply heat rules\n\t\tconst rules = this.get(\"heatRules\");\n\n\t\tif (this._valuesDirty && rules && rules.length > 0) {\n\t\t\t$array.each(rules, (rule) => {\n\t\t\t\tconst minValue = rule.minValue || this.getPrivate(<any>(rule.dataField + \"Low\")) || 0;\n\t\t\t\tconst maxValue = rule.maxValue || this.getPrivate(<any>(rule.dataField + \"High\")) || 0;\n\n\t\t\t\t$array.each(rule.target._entities, (target) => {\n\n\t\t\t\t\tconst value = target.dataItem.get(rule.dataField);\n\n\t\t\t\t\tif (!$type.isNumber(value)) {\n\t\t\t\t\t\tif(rule.neutral){\n\t\t\t\t\t\t\ttarget.set(rule.key, rule.neutral);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst states = target.states;\n\t\t\t\t\t\tif(states){\n\t\t\t\t\t\t\tconst defaultState = states.lookup(\"default\");\n\t\t\t\t\t\t\tif(defaultState && rule.neutral){\n\t\t\t\t\t\t\t\tdefaultState.set(rule.key, rule.neutral);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(!rule.customFunction){\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (rule.customFunction) {\n\t\t\t\t\t\trule.customFunction.call(this, target, minValue, maxValue, value);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet percent: number;\n\t\t\t\t\t\tif (rule.logarithmic) {\n\t\t\t\t\t\t\tpercent = (Math.log(value) * Math.LOG10E - Math.log(minValue) * Math.LOG10E) / ((Math.log(maxValue) * Math.LOG10E - Math.log(minValue) * Math.LOG10E));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tpercent = (value - minValue) / (maxValue - minValue);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ($type.isNumber(value) && (!$type.isNumber(percent) || Math.abs(percent) == Infinity)) {\n\t\t\t\t\t\t\tpercent = 0.5;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// fixes problems if all values are the same\n\t\t\t\t\t\tlet propertyValue;\n\t\t\t\t\t\tif ($type.isNumber(rule.min)) {\n\t\t\t\t\t\t\tpropertyValue = rule.min + (rule.max - rule.min) * percent;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (rule.min instanceof Color) {\n\t\t\t\t\t\t\tpropertyValue = Color.interpolate(percent, rule.min, rule.max);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (rule.min instanceof Percent) {\n\t\t\t\t\t\t\tpropertyValue = percentInterpolate(percent, rule.min, rule.max);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget.set(rule.key, propertyValue);\n\t\t\t\t\t\tconst states = target.states;\n\t\t\t\t\t\tif(states){\n\t\t\t\t\t\t\tconst defaultState = states.lookup(\"default\");\n\t\t\t\t\t\t\tif(defaultState){\n\t\t\t\t\t\t\t\tdefaultState.set(rule.key, propertyValue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tif(this.get(\"visible\") && this.bullets.length > 0){\n\t\t\tconst dataItems = this.dataItems;\n\t\t\tlet count = dataItems.length;\n\t\t\tlet startIndex = this.startIndex();\n\t\t\tlet endIndex = this.endIndex();\n\n\t\t\tif(endIndex < count){\n\t\t\t\tendIndex++;\n\t\t\t}\n\t\t\tif(startIndex > 0){\n\t\t\t\tstartIndex--;\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < startIndex; i++) {\n\t\t\t\tthis._hideBullets(dataItems[i]);\n\t\t\t}\n\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tthis._positionBullets(dataItems[i]);\n\t\t\t}\n\n\t\t\tfor (let i = endIndex; i < count; i++) {\n\t\t\t\tthis._hideBullets(dataItems[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _positionBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>){\n\t\tif(dataItem.bullets){\n\t\t\t$array.each(dataItem.bullets, (bullet) => {\n\t\t\t\tthis._positionBullet(bullet);\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\n\t\t\t\tif(bullet.get(\"dynamic\")){\n\n\t\t\t\t\tif(sprite){\n\t\t\t\t\t\tsprite._markDirtyKey(\"fill\" as any);\n\t\t\t\t\t\tsprite.markDirtySize();\n\t\t\t\t\t}\n\t\t\t\t\tif(sprite instanceof Container){\n\t\t\t\t\t\tsprite.walkChildren((child)=>{\n\t\t\t\t\t\t\tchild._markDirtyKey(\"fill\" as any);\n\t\t\t\t\t\t\tchild.markDirtySize();\n\n\t\t\t\t\t\t\tif(child instanceof Label){\n\t\t\t\t\t\t\t\tchild.text.markDirtyText();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(sprite instanceof Label && sprite.get(\"populateText\" as any)){\n\t\t\t\t\tsprite.text.markDirtyText();\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _hideBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif (dataItem.bullets) {\n\t\t\t$array.each(dataItem.bullets, (bullet) => {\n\t\t\t\tlet sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic _positionBullet(_bullet: Bullet) {\n\t}\n\n\tpublic _placeBulletsContainer(chart:Chart){\n\t\tchart.bulletsContainer.children.moveValue(this.bulletsContainer);\n\t}\n\n\tpublic _removeBulletsContainer(){\n\t\tconst bulletsContainer = this.bulletsContainer;\n\t\tif(bulletsContainer.parent){\n\t\t\tbulletsContainer.parent.children.removeValue(bulletsContainer)\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\t//super.disposeDataItem(dataItem); // does nothing\n\n\t\tconst bullets = dataItem.bullets;\n\n\t\tif(bullets){\n\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\tbullet.dispose();\n\t\t\t})\n\t\t\tdataItem.bullets = undefined;\n\t\t}\n\t}\n\n\tprotected _getItemReaderLabel(): string {\n\t\treturn \"\";\n\t}\n\n\t/**\n\t * Shows series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\t\tconst bullets = dataItem.bullets;\n\t\tif(bullets){\n\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif(sprite){\n\t\t\t\t\tpromises.push(sprite.show(duration));\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hides series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\t\tconst bullets = dataItem.bullets;\n\t\tif(bullets){\n\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif(sprite){\n\t\t\t\t\tpromises.push(sprite.hide(duration));\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tawait Promise.all(promises);\n\t}\n\n\n\tprotected async _sequencedShowHide(show: boolean, duration?: number): Promise<void> {\n\t\tif (this.get(\"sequencedInterpolation\")) {\n\n\t\t\tif (!$type.isNumber(duration)) {\n\t\t\t\tduration = this.get(\"interpolationDuration\", 0);\n\t\t\t}\n\n\t\t\tif (duration > 0) {\n\t\t\t\tconst startIndex = this.startIndex();\n\t\t\t\tconst endIndex = this.endIndex();\n\n\t\t\t\tawait Promise.all($array.map(this.dataItems, async (dataItem, i) => {\n\t\t\t\t\tlet realDuration = duration || 0;\n\n\t\t\t\t\tif (i < startIndex - 10 || i > endIndex + 10) {\n\t\t\t\t\t\trealDuration = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t//let delay = this.get(\"sequencedDelay\", 0) * i + realDuration * (i - startIndex) / (endIndex - startIndex);\n\t\t\t\t\tlet delay = this.get(\"sequencedDelay\", 0) + realDuration / (endIndex - startIndex);\n\n\t\t\t\t\tawait $time.sleep(delay * (i - startIndex));\n\n\t\t\t\t\tif (show) {\n\t\t\t\t\t\tawait this.showDataItem(dataItem, realDuration);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tawait this.hideDataItem(dataItem, realDuration);\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tawait Promise.all($array.map(this.dataItems, (dataItem) => {\n\t\t\t\t\tif (show) {\n\t\t\t\t\t\treturn this.showDataItem(dataItem, 0);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\treturn this.hideDataItem(dataItem, 0);\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendValue(dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif(dataItem){\n\t\t\tconst legendDataItem = dataItem.get(\"legendDataItem\" as any) as DataItem<ILegendDataItem>;\n\n\t\t\tif (legendDataItem) {\n\t\t\t\tconst valueLabel = legendDataItem.get(\"valueLabel\");\n\t\t\t\tif (valueLabel) {\n\t\t\t\t\tconst text = valueLabel.text;\n\t\t\t\t\tlet txt = \"\";\n\t\t\t\t\tvalueLabel._setDataItem(dataItem);\n\t\t\t\t\ttxt = this.get(\"legendValueText\", text.get(\"text\", \"\"));\n\n\t\t\t\t\tvalueLabel.set(\"text\", txt);\n\t\t\t\t\ttext.markDirtyText();\n\t\t\t\t}\n\n\t\t\t\tconst label = legendDataItem.get(\"label\");\n\t\t\t\tif (label) {\n\t\t\t\t\tconst text = label.text;\n\t\t\t\t\tlet txt = \"\";\n\t\t\t\t\tlabel._setDataItem(dataItem);\n\t\t\t\t\ttxt = this.get(\"legendLabelText\", text.get(\"text\", \"\"));\n\n\t\t\t\t\tlabel.set(\"text\", txt);\n\t\t\t\t\ttext.markDirtyText();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendMarker(_dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\t}\n\n\tprotected _onHide(){\n\t\tsuper._onHide();\n\n\t\tconst tooltip = this.getTooltip();\n\t\tif(tooltip){\n\t\t\ttooltip.hide();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic hoverDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic unhoverDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _getBase(key: any): number {\n\t\tconst dataItem = this.dataItems[this.startIndex()];\n\t\tif (dataItem) {\n\t\t\treturn dataItem.get(key);\n\t\t}\n\t\treturn 0;\n\t}\n}\n"]}
1
+ {"version":3,"file":"Series.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Series.ts"],"names":[],"mappings":";AASA,OAAO,EAAE,SAAS,EAAyF,MAAM,6BAA6B,CAAC;AAC/I,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,yDAAyD;AAEzD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AA0O9C;;GAEG;AACH,MAAM,OAAgB,MAAO,SAAQ,SAAS;IAA9C;;QASC;;;;mBAA2C,KAAK;WAAC;QACjD;;;;mBAAoD,KAAK;WAAC;QAC1D;;;;mBAAoC,KAAK;WAAC;QAE1C;;;;;WAAmC;QACnC;;;;;WAAmC;QAEnC;;;;mBAAsC,KAAK;WAAC;QAE5C;;WAEG;QACH;;;;;WAA+B;QAE/B;;;;WAIG;QACH;;;;mBAAsI,IAAI,IAAI,EAAE;WAAC;QAEjJ;;;;WAIG;QACH;;;;mBAA8C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAC,KAAK,EAAC,IAAI,EAAE,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,UAAU,EAAC,CAAC;WAAC;IAgvBzH,CAAC;IA9uBU,SAAS;QAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAE9C,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAElC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;YACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC,CAAC;IACL,CAAC;IAES,QAAQ;QACjB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,+BAA+B;QAChE,KAAK,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEM,UAAU;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IAEM,QAAQ;QACd,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAES,cAAc,CAAC,SAAoD;QAC5E,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAC,EAAE;YAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YACjC,IAAG,OAAO,EAAC;gBACV,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAC,EAAE;oBAC9B,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,CAAC,CAAC,CAAA;gBAEF,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;aAC7B;QACF,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC;IAGS,YAAY,CAAC,QAA6C;QACnE,IAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAC;YACnC,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;YAEtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;gBACpC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAA;SACF;IACF,CAAC;IAES,iBAAiB,CAAC,SAA8C;QACzE,OAAO,IAAI,CAAC;IACb,CAAC;IAES,WAAW,CAAC,QAA6C,EAAE,cAA+G,EAAE,KAAa;QAClM,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAG,MAAM,EAAC;YACT,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SACvC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAES,eAAe,CAAC,QAA6C,EAAE,MAAa;QACrF,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAElC,IAAI,MAAM,EAAE;YACX,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACtC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC5C;QACD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,QAAQ,CAAC,OAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,SAAS,CAAC,QAA4C,EAAE,MAAa;QAC3E,IAAG,CAAC,QAAQ,CAAC,OAAO,EAAC;YACpB,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;SACtB;QACD,IAAG,MAAM,EAAC;YACT,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SACvC;IACF,CAAC;IAEM,WAAW;QACjB,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;IAC7C,CAAC;IAEM,gBAAgB;QACtB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;QAE/B,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE/B,IAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAC;YACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SACzB;QAED,IAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SACzB;QAED,IAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAC;YACzC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAC3D,IAAG,eAAe,EAAC;gBAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,EAAE,GAAE,EAAE;oBAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;gBACxB,CAAC,CAAC,CAAC,CAAA;aACH;SACD;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC5D,IAAG,mBAAmB,EAAC;YACtB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC9C,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;oBAChC,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBACpC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;oBAClC,IAAG,UAAU,IAAI,CAAC,EAAC;wBAClB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;qBACtB;iBACD;aACD;YAED,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE;gBAC5I,IAAI,UAAU,KAAK,CAAC,IAAI,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,qBAAqB,EAAE;oBACzE,OAAO;iBACP;qBACI;oBACJ,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;iBAChD;gBACD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;aAC3C;SACD;QAED,IAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAC;YAC1B,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClC,IAAG,OAAO,EAAC;gBACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;aACnC;SACD;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAEnD,IAAI,eAAqC,CAAC;YAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAClD,IAAI,cAAc,EAAE;gBACnB,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAExD,IAAI,eAAe,EAAE;oBACpB,IAAG,IAAI,CAAC,SAAS,EAAE,EAAC;wBACnB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;4BAC3B,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAChC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;yBACtC;wBACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;4BACzB,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;4BAC5B,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;yBAClC;qBACD;iBACD;aACD;YACD,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;SACnC;QAGD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAE/B,IAAG,QAAQ,GAAG,KAAK,EAAC;gBACnB,QAAQ,EAAE,CAAC;aACX;YAED,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAI,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;oBACtB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBAC5B;aACD;SACD;IAEF,CAAC;IAEM,cAAc;IAErB,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,KAAY;QACpC,OAAO,KAAK,CAAC;IACd,CAAC;IAES,oBAAoB,CAAC,UAAkB,EAAE,QAAgB;QAElE,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/B,IAAI,CAAC,MAAM,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC3D;QAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC9D,IAAG,oBAAoB,EAAC;YACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAC,EAAE;gBAC/B,OAAO,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;SACH;QAED,MAAM,GAAG,GAAgC,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAgC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAgC,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAgC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAgC,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAgC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAgC,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAgC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAgC,EAAE,CAAC;QAEjD,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAC;YAClD,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACf;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;QAE7B,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAC;YAClD,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC;YAC5B,IAAI,aAAa,GAAG,GAAG,GAAG,eAAe,CAAC;YAC1C,IAAI,cAAc,GAAG,GAAG,GAAG,gBAAgB,CAAC;YAC5C,IAAI,qBAAqB,GAAG,GAAG,GAAG,uBAAuB,CAAC;YAC1D,IAAI,eAAe,GAAG,GAAG,GAAG,iBAAiB,CAAC;YAC9C,IAAI,sBAAsB,GAAG,GAAG,GAAG,wBAAwB,CAAC;YAE5D,IAAI,OAAO,GAAG,QAAQ,CAAC;YAEvB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC/C,OAAO,GAAG,QAAQ,CAAC;aACnB;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;YAE7E,MAAM,uBAAuB,GAAG,CAAC,QAAa,EAAE,KAAY,EAAE,GAAW,EAAE,EAAE;gBAC5E,IAAI,UAAU,KAAK,CAAC,EAAE;oBACrB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;oBAChC,MAAM,WAAW,GAAG,KAAK,GAAG,SAAS,CAAC;oBACtC,QAAQ,CAAC,MAAM,CAAM,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;oBAC5C,QAAQ,CAAC,MAAM,CAAM,CAAC,aAAa,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC;iBACrE;gBAED,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACtD,MAAM,oBAAoB,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnD,QAAQ,CAAC,MAAM,CAAM,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC;gBAC5D,QAAQ,CAAC,MAAM,CAAM,CAAC,qBAAqB,CAAC,EAAE,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC7F,QAAQ,CAAC,MAAM,CAAM,CAAC,eAAe,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBAC9D,QAAQ,CAAC,MAAM,CAAM,CAAC,sBAAsB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC3F,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC;YAEF,sFAAsF;YACtF,KAAK,IAAI,CAAC,GAAG,kBAAkB,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;gBACnD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAG,QAAQ,EAAC;oBACX,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAM,GAAG,CAAC,CAAA;oBAClC,IAAG,KAAK,IAAI,IAAI,EAAC;wBAChB,IAAG,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAC;4BACnB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;yBACjB;wBACD,IAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAC;4BACpB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;yBAClB;wBAED,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;4BACtB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BAClB,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BAEtB,IAAG,eAAe,EAAC;gCAClB,IAAI,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;6BAClD;yBACD;wBAED,aAAa;wBACb,MAAM;qBACN;iBACD;aACD;YAGD,KAAK,IAAI,CAAC,GAAG,kBAAkB,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;gBACnD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAG,QAAQ,EAAC;oBACX,IAAI,KAAK,GAAI,QAAQ,CAAC,SAAiB,CAAC,GAAG,CAAC,CAAC;oBAE7C,IAAI,KAAK,IAAI,IAAI,EAAE;wBAClB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;wBACb,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC;wBAElB,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAE/B,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE;4BACrB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;yBACjB;wBACD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE;4BACtB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;yBAClB;wBAED,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;wBACnB,uBAAuB,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;qBAC9C;iBACD;aACD;YAED,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,QAAQ,GAAG,GAAG,EAAE;gBACnB,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACrC,IAAG,QAAQ,EAAC;oBACX,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAM,GAAG,CAAC,CAAC;oBACnC,IAAG,KAAK,IAAI,IAAI,EAAC;wBAChB,uBAAuB,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;qBAC9C;iBACD;aACD;YAED,IAAI,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE;gBACvB,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;gBACzC,IAAG,QAAQ,EAAC;oBACX,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAM,GAAG,CAAC,CAAC;oBACnC,IAAG,KAAK,IAAI,IAAI,EAAC;wBAChB,uBAAuB,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;qBAC9C;iBACD;aACD;YAED,IAAI,UAAU,GAAG,CAAC,EAAE;gBACnB,UAAU,EAAE,CAAC;aACb;YAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;gBACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAG,QAAQ,EAAE;oBACZ,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAM,GAAG,CAAC,CAAC;oBAEnC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;wBAC1B,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;qBACtB;oBAED,IAAI,KAAK,IAAI,IAAI,EAAE;wBAClB,uBAAuB,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;qBAC9C;iBACD;aACD;SACD;QAED,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAC;YAClD,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,kBAAkB,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,gBAAgB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,cAAc,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,sBAAsB,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,cAAc,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,eAAe,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,eAAe,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,gBAAgB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3D;QAED,IAAI,UAAU,KAAK,CAAC,IAAI,QAAQ,KAAK,GAAG,EAAE;YACzC,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAC;gBAClD,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClD,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,aAAa,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,UAAU,CAAM,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;aAClD;SACD;IACF,CAAC;IAEM,eAAe;QACrB,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE5B,IAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;SAC1D;QAGD,mBAAmB;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,YAAY,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAM,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;gBAEvF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;oBAE7C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAElD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;wBAC3B,IAAG,IAAI,CAAC,OAAO,EAAC;4BACf,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;yBACnC;wBAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;wBAC7B,IAAG,MAAM,EAAC;4BACT,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;4BAC9C,IAAG,YAAY,IAAI,IAAI,CAAC,OAAO,EAAC;gCAC/B,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;6BACzC;yBACD;wBACD,IAAG,CAAC,IAAI,CAAC,cAAc,EAAC;4BACvB,OAAO;yBACP;qBACD;oBAED,IAAI,IAAI,CAAC,cAAc,EAAE;wBACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;qBAClE;yBACI;wBACJ,IAAI,OAAe,CAAC;wBACpB,IAAI,IAAI,CAAC,WAAW,EAAE;4BACrB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;yBACvJ;6BACI;4BACJ,OAAO,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;yBACrD;wBAED,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,EAAE;4BACzF,OAAO,GAAG,GAAG,CAAC;yBACd;wBAED,4CAA4C;wBAC5C,IAAI,aAAa,CAAC;wBAClB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;4BAC7B,aAAa,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;yBAC3D;6BACI,IAAI,IAAI,CAAC,GAAG,YAAY,KAAK,EAAE;4BACnC,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;yBAC/D;6BACI,IAAI,IAAI,CAAC,GAAG,YAAY,OAAO,EAAE;4BACrC,aAAa,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;yBAChE;wBAED,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;wBACpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;wBAC7B,IAAG,MAAM,EAAC;4BACT,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;4BAC9C,IAAG,YAAY,EAAC;gCACf,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;6BAC1C;yBACD;qBACD;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;SACH;QAED,IAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;YAC7B,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAE/B,IAAG,QAAQ,GAAG,KAAK,EAAC;gBACnB,QAAQ,EAAE,CAAC;aACX;YACD,IAAG,UAAU,GAAG,CAAC,EAAC;gBACjB,UAAU,EAAE,CAAC;aACb;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;gBACpC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAChC;YAED,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aACpC;YAED,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;gBACtC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAChC;SACD;IACF,CAAC;IAEM,gBAAgB,CAAC,QAA6C;QACpE,IAAG,QAAQ,CAAC,OAAO,EAAC;YACnB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;gBACxC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAEpC,IAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC;oBAExB,IAAG,MAAM,EAAC;wBACT,MAAM,CAAC,aAAa,CAAC,MAAa,CAAC,CAAC;wBACpC,MAAM,CAAC,aAAa,EAAE,CAAC;qBACvB;oBACD,IAAG,MAAM,YAAY,SAAS,EAAC;wBAC9B,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,EAAC,EAAE;4BAC5B,KAAK,CAAC,aAAa,CAAC,MAAa,CAAC,CAAC;4BACnC,KAAK,CAAC,aAAa,EAAE,CAAC;4BAEtB,IAAG,KAAK,YAAY,KAAK,EAAC;gCACzB,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;6BAC3B;wBACF,CAAC,CAAC,CAAA;qBACF;iBACD;gBACD,IAAG,MAAM,YAAY,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,cAAqB,CAAC,EAAC;oBAC/D,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;iBAC5B;YACF,CAAC,CAAC,CAAA;SACF;IACF,CAAC;IAES,YAAY,CAAC,QAA6C;QACnE,IAAI,QAAQ,CAAC,OAAO,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;gBACxC,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,MAAM,EAAE;oBACX,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;iBACpC;YACF,CAAC,CAAC,CAAA;SACF;IACF,CAAC;IAEM,eAAe,CAAC,OAAe;IACtC,CAAC;IAEM,sBAAsB,CAAC,KAAW;QACxC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClE,CAAC;IAEM,uBAAuB;QAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC/C,IAAG,gBAAgB,CAAC,MAAM,EAAC;YAC1B,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;SAC9D;IACF,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,QAA6C;QACnE,kDAAkD;QAElD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEjC,IAAG,OAAO,EAAC;YACV,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAC,EAAE;gBAC9B,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC,CAAC,CAAA;YACF,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;SAC7B;IACF,CAAC;IAES,mBAAmB;QAC5B,OAAO,EAAE,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACU,YAAY,CAAC,QAA6C,EAAE,QAAiB;;;;;YACzF,MAAM,QAAQ,GAAG,CAAC,OAAM,YAAY,YAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YACjC,IAAG,OAAO,EAAC;gBACV,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAC,EAAE;oBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACpC,IAAG,MAAM,EAAC;wBACT,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;qBACrC;gBACF,CAAC,CAAC,CAAA;aACF;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;KAAA;IAED;;;;;;OAMG;IACU,YAAY,CAAC,QAA6C,EAAE,QAAiB;;;;;YACzF,MAAM,QAAQ,GAAG,CAAC,OAAM,YAAY,YAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YACjC,IAAG,OAAO,EAAC;gBACV,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAC,EAAE;oBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACpC,IAAG,MAAM,EAAC;wBACT,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;qBACrC;gBACF,CAAC,CAAC,CAAA;aACF;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;KAAA;IAGe,kBAAkB,CAAC,IAAa,EAAE,QAAiB;;YAClE,IAAI,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE;gBAEvC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;oBAC9B,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;iBAChD;gBAED,IAAI,QAAQ,GAAG,CAAC,EAAE;oBACjB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAEjC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAO,QAAQ,EAAE,CAAC,EAAE,EAAE;wBAClE,IAAI,YAAY,GAAG,QAAQ,IAAI,CAAC,CAAC;wBAEjC,IAAI,CAAC,GAAG,UAAU,GAAG,EAAE,IAAI,CAAC,GAAG,QAAQ,GAAG,EAAE,EAAE;4BAC7C,YAAY,GAAG,CAAC,CAAC;yBACjB;wBAED,4GAA4G;wBAC5G,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;wBAEnF,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;wBAE5C,IAAI,IAAI,EAAE;4BACT,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;yBAChD;6BACI;4BACJ,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;yBAChD;oBACF,CAAC,CAAA,CAAC,CAAC,CAAC;iBACJ;qBACI;oBACJ,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;wBACzD,IAAI,IAAI,EAAE;4BACT,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;yBACtC;6BACI;4BACJ,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;yBACtC;oBACF,CAAC,CAAC,CAAC,CAAC;iBACJ;aACD;QACF,CAAC;KAAA;IAED;;OAEG;IACI,iBAAiB,CAAC,QAA8C;QACtE,IAAG,QAAQ,EAAC;YACX,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAuB,CAA8B,CAAC;YAE1F,IAAI,cAAc,EAAE;gBACnB,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACpD,IAAI,UAAU,EAAE;oBACf,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;oBAC7B,IAAI,GAAG,GAAG,EAAE,CAAC;oBACb,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAClC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;oBAExD,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;iBACrB;gBAED,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1C,IAAI,KAAK,EAAE;oBACV,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;oBACxB,IAAI,GAAG,GAAG,EAAE,CAAC;oBACb,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAC7B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;oBAExD,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBACvB,IAAI,CAAC,aAAa,EAAE,CAAC;iBACrB;aACD;SACD;IACF,CAAC;IAED;;OAEG;IACI,kBAAkB,CAAC,SAA+C;IACzE,CAAC;IAES,OAAO;QAChB,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAG,OAAO,EAAC;YACV,OAAO,CAAC,IAAI,EAAE,CAAC;SACf;IACF,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,SAA8C,IAAG,CAAC;IAEvE;;OAEG;IACI,eAAe,CAAC,SAA8C,IAAG,CAAC;IAEzE;;OAEG;IACI,QAAQ,CAAC,GAAQ;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACnD,IAAI,QAAQ,EAAE;YACb,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACzB;QACD,OAAO,CAAC,CAAC;IACV,CAAC;;AAjxBD;;;;WAAkC,QAAQ;GAAC;AAC3C;;;;WAA0C,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;GAAC","sourcesContent":["import type { Root } from \"../../core/Root\";\nimport type { Chart } from \"./Chart\";\nimport type { Bullet } from \"./Bullet\";\nimport type { Graphics } from \"../../core/render/Graphics\";\nimport type { ILegendDataItem } from \"./Legend\";\nimport type { Template } from \"../../core/util/Template\";\nimport type { Sprite } from \"../../core/render/Sprite\";\nimport type { Pattern } from \"./patterns/Pattern\";\n\nimport { Component, IComponentSettings, IComponentPrivate, DataItem, IComponentEvents, IComponentDataItem } from \"../../core/render/Component\";\nimport { List } from \"../../core/util/List\";\nimport { Color } from \"../../core/util/Color\";\nimport { percentInterpolate } from \"../../core/util/Animation\";\nimport { Percent } from \"../../core/util/Percent\";\nimport { p100 } from \"../../core/util/Percent\";\nimport { Container } from \"../../core/render/Container\";\nimport { Label } from \"../../core/render/Label\";\n//import { Animations } from \"../../core/util/Animation\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $time from \"../../core/util/Time\";\n\n/**\n * Defines interface for a heat rule.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/settings/heat-rules/} for more info\n */\nexport interface IHeatRule {\n\n\t/**\n\t * Target template.\n\t */\n\ttarget: Template<any>;\n\n\t/**\n\t * The setting value to use for items if the lowest value.\n\t */\n\tmin?: any;\n\n\t/**\n\t * The setting value to use for items if the highest value.\n\t */\n\tmax?: any;\n\n\t/**\n\t * The setting value to use for items which do not have value at all.\n\t */\n\tneutral?: any;\n\n\t/**\n\t * Which data field to use when determining item's value.\n\t */\n\tdataField: string;\n\n\t/**\n\t * A setting key to set.\n\t */\n\tkey?: string;\n\n\t/**\n\t * Custom lowest value.\n\t */\n\tminValue?: number;\n\n\t/**\n\t * Custom highest value.\n\t */\n\tmaxValue?: number;\n\n\t/**\n\t * Use logarithmic scale when calculating intermediate setting values.\n\t *\n\t * @default false\n\t */\n\tlogarithmic?: boolean;\n\n\t/**\n\t * A custom function that will set target element's settings.\n\t *\n\t * Can be used to do custom manipulation on complex objects requiring more\n\t * than modifying a setting.\n\t */\n\tcustomFunction?: (target: Sprite, minValue: number, maxValue: number, value?: any) => void;\n\n}\n\n\nexport interface ISeriesDataItem extends IComponentDataItem {\n\tid?: string;\n\tvalue?: number;\n\tvalueWorking?:number;\n\tvalueChange?: number;\n\tvalueChangePercent?: number;\n\tvalueChangeSelection?: number;\n\tvalueChangeSelectionPercent?: number;\n\tvalueChangePrevious?: number;\n\tvalueChangePreviousPercent?: number;\n\tvalueWorkingOpen?: number;\n\tvalueWorkingClose?: number;\n\n\tcustomValue?: number;\n\tcustomValueWorking?:number;\n\tcustomValueChange?: number;\n\tcustomValueChangePercent?: number;\n\tcustomValueChangeSelection?: number;\n\tcustomValueChangeSelectionPercent?: number;\n\tcustomValueChangePrevious?: number;\n\tcustomValueChangePreviousPercent?: number;\n}\n\nexport interface ISeriesSettings extends IComponentSettings {\n\n\t/**\n\t * Name of the series.\n\t */\n\tname?: string;\n\n\t/**\n\t * A key to look up in data for an id of the data item.\n\t */\n\tidField?: string;\n\n\t/**\n\t * A key to look up in data for a numeric value of the data item.\n\t *\n\t * Some series use it to display its elements. It can also be used in heat\n\t * rules.\n\t */\n\tvalueField?: string;\n\n\t/**\n\t * A key to look up in data for a numeric customValue of the data item.\n\t *\n\t * Usually used for storing additional numeric information and heat rules.\n\t */\n\tcustomValueField?: string;\n\n\t/**\n\t * A text template to be used for label in legend.\n\t */\n\tlegendLabelText?: string;\n\n\t/**\n\t * A text template to be used for value label in legend.\n\t */\n\tlegendValueText?: string;\n\n\t/**\n\t * If set to `true` the series initial animation will be played item by item\n\t * rather than all at once.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Animation_of_series} for more info\n\t */\n\tsequencedInterpolation?:boolean;\n\n\t/**\n\t * A delay in milliseconds to wait before starting animation of next data\n\t * item.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Animation_of_series} for more info\n\t */\n\tsequencedDelay?:number;\n\n\t/**\n\t * A list of heat rules to apply on series elements.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/settings/heat-rules/} for more info\n\t */\n\theatRules?:IHeatRule[];\n\n\t/**\n\t * If set to `true`, series will calculate aggregate values, e.g. change\n\t * percent, high, low, etc.\n\t *\n\t * Do not enable unless you are using such aggregate values in tooltips,\n\t * display data fields, heat rules, or similar.\n\t */\n\tcalculateAggregates?: boolean;\n\n\t/**\n\t * Series stroke color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Series_colors} for more info\n\t */\n\tstroke?: Color;\n\n\t/**\n\t * Series fill color.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/#Series_colors} for more info\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Series fill pattern.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info\n\t * @since 5.10.0\n\t */\n\tfillPattern?: Pattern;\n\n\t/**\n\t * A data item representing series in a [[Legend]].\n\t *\n\t * @readonly\n\t */\n\tlegendDataItem?: DataItem<ILegendDataItem>;\n\n\t/**\n\t * A list of field names to exclude from automatic aggregation\n\t * when `calculateAggregates` is enabled. Use it to optimize\n\t * performance by disabling automatic aggregation for data\n\t * fields where aggregate values are not needed.\n\t *\n\t * @since 5.14.4\n\t */\n\texcludeFromAggregate?: Array<string>;\n}\n\nexport interface ISeriesPrivate extends IComponentPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tchart?: Chart;\n\tstartIndex?: number;\n\tendIndex?: number;\n\tadjustedStartIndex?:number;\n\n\tvalueAverage?: number;\n\tvalueCount?: number;\n\tvalueSum?: number;\n\tvalueAbsoluteSum?: number;\n\tvalueLow?: number;\n\tvalueHigh?: number;\n\tvalueOpen?: number;\n\tvalueClose?: number;\n\n\tcustomValueAverage?: number;\n\tcustomValueCount?: number;\n\tcustomValueSum?: number;\n\tcustomValueAbsoluteSum?: number;\n\tcustomValueLow?: number;\n\tcustomValueHigh?: number;\n\tcustomValueOpen?: number;\n\tcustomValueClose?: number;\n\n\tbaseValueSeries?: Series;\n}\n\nexport interface ISeriesEvents extends IComponentEvents {\n\n}\n\n/**\n * A base class for all series.\n */\nexport abstract class Series extends Component {\n\tpublic static className: string = \"Series\";\n\tpublic static classNames: Array<string> = Component.classNames.concat([Series.className]);\n\n\tdeclare public _settings: ISeriesSettings;\n\tdeclare public _privateSettings: ISeriesPrivate;\n\tdeclare public _dataItemSettings: ISeriesDataItem;\n\tdeclare public _events: ISeriesEvents;\n\n\tprotected _aggregatesCalculated: boolean = false;\n\tprotected _selectionAggregatesCalculated: boolean = false;\n\tprotected _dataProcessed: boolean = false;\n\n\tprotected _psi: number | undefined;\n\tprotected _pei: number | undefined;\n\n\tprotected _baseSeriesDirty: boolean = false;\n\n\t/**\n\t * A chart series belongs to.\n\t */\n\tpublic chart:Chart | undefined;\n\n\t/**\n\t * List of bullets to use for the series.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/bullets/} for more info\n\t */\n\tpublic bullets: List<<D extends DataItem<this[\"_dataItemSettings\"]>>(root: Root, series:Series, dataItem: D) => Bullet | undefined> = new List();\n\n\t/**\n\t * A [[Container]] series' bullets are stored in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly bulletsContainer: Container = Container.new(this._root, {width:p100, height:p100, position:\"absolute\"});\n\n\tprotected _afterNew() {\n\t\tthis.valueFields.push(\"value\", \"customValue\");\n\n\t\tsuper._afterNew();\n\n\t\tthis.setPrivate(\"customData\", {});\n\n\t\tthis._disposers.push(this.bullets.events.onAll(() => {\n\t\t\tthis._handleBullets(this.dataItems);\n\t\t}));\n\t}\n\n\tprotected _dispose(){\n\t\tthis.bulletsContainer.dispose(); // can be in a different parent\n\t\tsuper._dispose();\n\t}\n\n\tpublic startIndex():number {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.min(this.getPrivate(\"startIndex\", 0), len);\n\t}\n\n\tpublic endIndex():number {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.max(0, Math.min(this.getPrivate(\"endIndex\", len), len));\n\t}\n\n\tprotected _handleBullets(dataItems:Array<DataItem<this[\"_dataItemSettings\"]>>){\n\t\t$array.each(dataItems, (dataItem)=>{\n\t\t\tconst bullets = dataItem.bullets;\n\t\t\tif(bullets){\n\t\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\t\tbullet.dispose();\n\t\t\t\t})\n\n\t\t\t\tdataItem.bullets = undefined;\n\t\t\t}\n\t\t})\n\n\t\tthis.markDirtyValues();\n\t}\n\n\n\tprotected _makeBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif(this._shouldMakeBullet(dataItem)){\n\t\t\tdataItem.bullets = [];\n\n\t\t\tthis.bullets.each((bulletFunction) => {\n\t\t\t\tthis._makeBullet(dataItem, bulletFunction);\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _shouldMakeBullet(_dataItem: DataItem<this[\"_dataItemSettings\"]>):boolean{\n\t\treturn true;\n\t}\n\n\tprotected _makeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>, bulletFunction:(root: Root, series:Series, dataItem: DataItem<this[\"_dataItemSettings\"]>) => Bullet | undefined, index?:number):Bullet | undefined{\n\t\tconst bullet = bulletFunction(this._root, this, dataItem);\n\t\tif(bullet){\n\t\t\tbullet._index = index;\n\t\t\tthis._makeBulletReal(dataItem, bullet);\n\t\t}\n\t\treturn bullet;\n\t}\n\n\tprotected _makeBulletReal(dataItem: DataItem<this[\"_dataItemSettings\"]>, bullet:Bullet){\n\t\tlet sprite = bullet.get(\"sprite\");\n\n\t\tif (sprite) {\n\t\t\tsprite._setDataItem(dataItem);\n\t\t\tsprite.setRaw(\"position\", \"absolute\");\n\t\t\tthis.bulletsContainer.children.push(sprite);\n\t\t}\n\t\tbullet.series = this;\n\t\tdataItem.bullets!.push(bullet);\n\t}\n\n\t/**\n\t * Adds bullet directly to a data item.\n\t *\n\t * Please note: method accepts [[Bullet]] instance as a paramter, not a\n\t * reference to a function.\n\t *\n\t * You should add Bullet instance, not a method like you do it on series.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/bullets/#Adding_directly_to_data_item} for more info\n\t * @since 5.6.0\n\t *\n\t * @param dataItem Target data item\n\t * @param bullet Bullet instance\n\t */\n\tpublic addBullet(dataItem:DataItem<this[\"_dataItemSettings\"]>, bullet:Bullet){\n\t\tif(!dataItem.bullets){\n\t\t\tdataItem.bullets = [];\n\t\t}\n\t\tif(bullet){\n\t\t\tthis._makeBulletReal(dataItem, bullet);\n\t\t}\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._aggregatesCalculated = false;\n\t\tthis._baseSeriesDirty = false;\n\t\tthis._selectionAggregatesCalculated = false;\n\t}\n\n\tpublic _prepareChildren(){\n\t\tsuper._prepareChildren();\n\n\t\tconst dataItems = this.dataItems;\n\t\tconst count = dataItems.length;\n\n\t\tlet startIndex = this.startIndex();\n\t\tlet endIndex = this.endIndex();\n\n\t\tif(this.isDirty(\"name\")){\n\t\t\tthis.updateLegendValue();\n\t\t}\n\n\t\tif(this.isDirty(\"heatRules\")){\n\t\t\tthis._valuesDirty = true;\n\t\t}\n\n\t\tif(this.isPrivateDirty(\"baseValueSeries\")){\n\t\t\tconst baseValueSeries = this.getPrivate(\"baseValueSeries\");\n\t\t\tif(baseValueSeries){\n\t\t\t\tthis._disposers.push(baseValueSeries.onPrivate(\"startIndex\", ()=>{\n\t\t\t\t\tthis._baseSeriesDirty = true;\n\t\t\t\t\tthis.markDirtyValues();\n\t\t\t\t}))\n\t\t\t}\n\t\t}\n\n\t\tconst calculateAggregates = this.get(\"calculateAggregates\");\n\t\tif(calculateAggregates){\n\t\t\tif (this._valuesDirty && !this._dataProcessed) {\n\t\t\t\tif (!this._aggregatesCalculated) {\n\t\t\t\t\tthis._calculateAggregates(0, count);\t\t\t\t\t\n\t\t\t\t\tthis._aggregatesCalculated = true;\n\t\t\t\t\tif(startIndex != 0){\n\t\t\t\t\t\tthis._psi = undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ((this._psi != startIndex || this._pei != endIndex || this.isPrivateDirty(\"adjustedStartIndex\")) && !this._selectionAggregatesCalculated) {\n\t\t\t\tif (startIndex === 0 && endIndex === count && this._aggregatesCalculated) {\n\t\t\t\t\t// void\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis._calculateAggregates(startIndex, endIndex);\n\t\t\t\t}\n\t\t\t\tthis._selectionAggregatesCalculated = true;\n\t\t\t}\n\t\t}\n\n\t\tif(this.isDirty(\"tooltip\")){\n\t\t\tlet tooltip = this.get(\"tooltip\");\n\t\t\tif(tooltip){\n\t\t\t\ttooltip.hide(0);\n\t\t\t\ttooltip.set(\"tooltipTarget\", this);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"fill\") || this.isDirty(\"stroke\")) {\n\n\t\t\tlet markerRectangle: Graphics | undefined;\n\t\t\tconst legendDataItem = this.get(\"legendDataItem\");\n\t\t\tif (legendDataItem) {\n\t\t\t\tmarkerRectangle = legendDataItem.get(\"markerRectangle\");\n\n\t\t\t\tif (markerRectangle) {\n\t\t\t\t\tif(this.isVisible()){\n\t\t\t\t\t\tif (this.isDirty(\"stroke\")) {\n\t\t\t\t\t\t\tlet stroke = this.get(\"stroke\");\n\t\t\t\t\t\t\tmarkerRectangle.set(\"stroke\", stroke);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (this.isDirty(\"fill\")) {\n\t\t\t\t\t\t\tlet fill = this.get(\"fill\");\n\t\t\t\t\t\t\tmarkerRectangle.set(\"fill\", fill);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateLegendMarker(undefined);\n\t\t}\n\n\n\t\tif (this.bullets.length > 0) {\n\t\t\tlet startIndex = this.startIndex();\n\t\t\tlet endIndex = this.endIndex();\n\n\t\t\tif(endIndex < count){\n\t\t\t\tendIndex++;\n\t\t\t}\n\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tlet dataItem = dataItems[i];\n\t\t\t\tif (!dataItem.bullets) {\n\t\t\t\t\tthis._makeBullets(dataItem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t}\n\n\tpublic _handleRemoved(){\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _adjustStartIndex(index:number):number{\n\t\treturn index;\n\t}\n\n\tprotected _calculateAggregates(startIndex: number, endIndex: number) {\n\n\t\tlet fields = this._valueFields;\n\t\tif (!fields) {\n\t\t\tthrow new Error(\"No value fields are set for the series.\");\n\t\t}\n\n\t\tconst excludeFromAggregate = this.get(\"excludeFromAggregate\");\n\t\tif(excludeFromAggregate){\n\t\t\tfields = fields.filter((field)=>{\n\t\t\t\treturn excludeFromAggregate.indexOf(field) == -1;\n\t\t\t});\n\t\t}\n\n\t\tconst sum: { [index: string]: number } = {};\n\t\tconst absSum: { [index: string]: number } = {};\n\t\tconst count: { [index: string]: number } = {};\n\t\tconst low: { [index: string]: number } = {};\n\t\tconst high: { [index: string]: number } = {};\n\t\tconst open: { [index: string]: number } = {};\n\t\tconst close: { [index: string]: number } = {};\n\t\tconst average: { [index: string]: number } = {};\n\t\tconst previous: { [index: string]: number } = {};\n\n\t\tfor(let f = 0, flen = fields.length; f < flen; f++){\n\t\t\tlet key = fields[f];\n\t\t\tsum[key] = 0;\n\t\t\tabsSum[key] = 0;\n\t\t\tcount[key] = 0;\n\t\t}\n\n\t\tconst dataItems = this.dataItems;\n\t\tconst len = dataItems.length;\n\n\t\tfor(let f = 0, flen = fields.length; f < flen; f++){\n\t\t\tlet key = fields[f];\n\t\t\tlet change = key + \"Change\";\n\t\t\tlet changePercent = key + \"ChangePercent\";\n\t\t\tlet changePrevious = key + \"ChangePrevious\";\n\t\t\tlet changePreviousPercent = key + \"ChangePreviousPercent\";\n\t\t\tlet changeSelection = key + \"ChangeSelection\";\n\t\t\tlet changeSelectionPercent = key + \"ChangeSelectionPercent\";\n\n\t\t\tlet openKey = \"valueY\";\n\n\t\t\tif (key === \"valueX\" || key.endsWith(\"ValueX\")) {\n\t\t\t\topenKey = \"valueX\";\n\t\t\t}\n\n\t\t\tconst baseValueSeries = this.getPrivate(\"baseValueSeries\");\n\t\t\tconst adjustedStartIndex = this.getPrivate(\"adjustedStartIndex\", startIndex);\n\n\t\t\tconst calculateChangesForItem = (dataItem: any, value:number, key: string) => {\n\t\t\t\tif (startIndex === 0) {\n\t\t\t\t\tconst openValue = open[openKey];\n\t\t\t\t\tconst changeValue = value - openValue;\n\t\t\t\t\tdataItem.setRaw(<any>(change), changeValue);\n\t\t\t\t\tdataItem.setRaw(<any>(changePercent), changeValue / openValue * 100);\n\t\t\t\t}\n\n\t\t\t\tconst changePreviousValue = value - previous[openKey];\n\t\t\t\tconst changeSelectionValue = value - open[openKey];\n\t\t\t\tdataItem.setRaw(<any>(changePrevious), changePreviousValue);\n\t\t\t\tdataItem.setRaw(<any>(changePreviousPercent), changePreviousValue / previous[openKey] * 100);\n\t\t\t\tdataItem.setRaw(<any>(changeSelection), changeSelectionValue);\n\t\t\t\tdataItem.setRaw(<any>(changeSelectionPercent), changeSelectionValue / open[openKey] * 100);\n\t\t\t\tprevious[key] = value;\n\t\t\t};\n\n\t\t\t// find first non-null value to initialize open, low, high instead of checking in loop\n\t\t\tfor (let i = adjustedStartIndex; i < endIndex; i++) {\n\t\t\t\tconst dataItem = dataItems[i];\n\t\t\t\tif(dataItem){\n\t\t\t\t\tlet value = dataItem.get(<any>key)\n\t\t\t\t\tif(value != null){\n\t\t\t\t\t\tif(low[key] == null){\n\t\t\t\t\t\t\tlow[key] = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(high[key] == null){\n\t\t\t\t\t\t\thigh[key] = value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (open[key] == null) {\n\t\t\t\t\t\t\topen[key] = value;\n\t\t\t\t\t\t\tprevious[key] = value;\n\n\t\t\t\t\t\t\tif(baseValueSeries){\n\t\t\t\t\t\t\t\topen[openKey] = baseValueSeries._getBase(openKey);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// stop cycle\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tfor (let i = adjustedStartIndex; i < endIndex; i++) {\n\t\t\t\tconst dataItem = dataItems[i];\n\t\t\t\tif(dataItem){\n\t\t\t\t\tlet value = (dataItem._settings as any)[key];\n\n\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\tcount[key]++;\n\t\t\t\t\t\tsum[key] += value;\n\n\t\t\t\t\t\tabsSum[key] += Math.abs(value);\n\n\t\t\t\t\t\tif (low[key] > value) {\n\t\t\t\t\t\t\tlow[key] = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (high[key] < value) {\n\t\t\t\t\t\t\thigh[key] = value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tclose[key] = value;\n\t\t\t\t\t\tcalculateChangesForItem(dataItem, value, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\taverage[key] = sum[key] / count[key];\n\n\t\t\tif (endIndex < len) {\n\t\t\t\tconst dataItem = dataItems[endIndex];\n\t\t\t\tif(dataItem){\n\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\tif(value != null){\n\t\t\t\t\t\tcalculateChangesForItem(dataItem, value, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (endIndex + 1 < len) {\n\t\t\t\tconst dataItem = dataItems[endIndex + 1];\n\t\t\t\tif(dataItem){\n\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\tif(value != null){\n\t\t\t\t\t\tcalculateChangesForItem(dataItem, value, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (startIndex > 0) {\n\t\t\t\tstartIndex--;\n\t\t\t}\n\n\t\t\tdelete previous[key];\n\n\t\t\tfor (let i = startIndex; i < adjustedStartIndex; i++) {\n\t\t\t\tconst dataItem = dataItems[i];\n\t\t\t\tif(dataItem) {\n\t\t\t\t\tlet value = dataItem.get(<any>key);\n\n\t\t\t\t\tif (previous[key] == null) {\n\t\t\t\t\t\tprevious[key] = value;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\tcalculateChangesForItem(dataItem, value, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor(let f = 0, flen = fields.length; f < flen; f++){\n\t\t\tlet key = fields[f];\n\t\t\tthis.setPrivate(<any>(key + \"AverageSelection\"), average[key]);\n\t\t\tthis.setPrivate(<any>(key + \"CountSelection\"), count[key]);\n\t\t\tthis.setPrivate(<any>(key + \"SumSelection\"), sum[key]);\n\t\t\tthis.setPrivate(<any>(key + \"AbsoluteSumSelection\"), absSum[key]);\n\t\t\tthis.setPrivate(<any>(key + \"LowSelection\"), low[key]);\n\t\t\tthis.setPrivate(<any>(key + \"HighSelection\"), high[key]);\n\t\t\tthis.setPrivate(<any>(key + \"OpenSelection\"), open[key]);\n\t\t\tthis.setPrivate(<any>(key + \"CloseSelection\"), close[key]);\n\t\t}\n\n\t\tif (startIndex === 0 && endIndex === len) {\n\t\t\tfor(let f = 0, flen = fields.length; f < flen; f++){\n\t\t\t\tlet key = fields[f];\n\t\t\t\tthis.setPrivate(<any>(key + \"Average\"), average[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Count\"), count[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Sum\"), sum[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"AbsoluteSum\"), absSum[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Low\"), low[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"High\"), high[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Open\"), open[key]);\n\t\t\t\tthis.setPrivate(<any>(key + \"Close\"), close[key]);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tthis._psi = this.startIndex();\n\t\tthis._pei = this.endIndex();\n\n\t\tif(this.isDirty(\"visible\")){\n\t\t\tthis.bulletsContainer.set(\"visible\", this.get(\"visible\"));\n\t\t}\n\n\n\t\t// Apply heat rules\n\t\tconst rules = this.get(\"heatRules\");\n\n\t\tif (this._valuesDirty && rules && rules.length > 0) {\n\t\t\t$array.each(rules, (rule) => {\n\t\t\t\tconst minValue = rule.minValue || this.getPrivate(<any>(rule.dataField + \"Low\")) || 0;\n\t\t\t\tconst maxValue = rule.maxValue || this.getPrivate(<any>(rule.dataField + \"High\")) || 0;\n\n\t\t\t\t$array.each(rule.target._entities, (target) => {\n\n\t\t\t\t\tconst value = target.dataItem.get(rule.dataField);\n\n\t\t\t\t\tif (!$type.isNumber(value)) {\n\t\t\t\t\t\tif(rule.neutral){\n\t\t\t\t\t\t\ttarget.set(rule.key, rule.neutral);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst states = target.states;\n\t\t\t\t\t\tif(states){\n\t\t\t\t\t\t\tconst defaultState = states.lookup(\"default\");\n\t\t\t\t\t\t\tif(defaultState && rule.neutral){\n\t\t\t\t\t\t\t\tdefaultState.set(rule.key, rule.neutral);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(!rule.customFunction){\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (rule.customFunction) {\n\t\t\t\t\t\trule.customFunction.call(this, target, minValue, maxValue, value);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet percent: number;\n\t\t\t\t\t\tif (rule.logarithmic) {\n\t\t\t\t\t\t\tpercent = (Math.log(value) * Math.LOG10E - Math.log(minValue) * Math.LOG10E) / ((Math.log(maxValue) * Math.LOG10E - Math.log(minValue) * Math.LOG10E));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tpercent = (value - minValue) / (maxValue - minValue);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ($type.isNumber(value) && (!$type.isNumber(percent) || Math.abs(percent) == Infinity)) {\n\t\t\t\t\t\t\tpercent = 0.5;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// fixes problems if all values are the same\n\t\t\t\t\t\tlet propertyValue;\n\t\t\t\t\t\tif ($type.isNumber(rule.min)) {\n\t\t\t\t\t\t\tpropertyValue = rule.min + (rule.max - rule.min) * percent;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (rule.min instanceof Color) {\n\t\t\t\t\t\t\tpropertyValue = Color.interpolate(percent, rule.min, rule.max);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (rule.min instanceof Percent) {\n\t\t\t\t\t\t\tpropertyValue = percentInterpolate(percent, rule.min, rule.max);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttarget.set(rule.key, propertyValue);\n\t\t\t\t\t\tconst states = target.states;\n\t\t\t\t\t\tif(states){\n\t\t\t\t\t\t\tconst defaultState = states.lookup(\"default\");\n\t\t\t\t\t\t\tif(defaultState){\n\t\t\t\t\t\t\t\tdefaultState.set(rule.key, propertyValue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tif(this.get(\"visible\")){\n\t\t\tconst dataItems = this.dataItems;\n\t\t\tlet count = dataItems.length;\n\t\t\tlet startIndex = this.startIndex();\n\t\t\tlet endIndex = this.endIndex();\n\n\t\t\tif(endIndex < count){\n\t\t\t\tendIndex++;\n\t\t\t}\n\t\t\tif(startIndex > 0){\n\t\t\t\tstartIndex--;\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < startIndex; i++) {\n\t\t\t\tthis._hideBullets(dataItems[i]);\n\t\t\t}\n\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tthis._positionBullets(dataItems[i]);\n\t\t\t}\n\n\t\t\tfor (let i = endIndex; i < count; i++) {\n\t\t\t\tthis._hideBullets(dataItems[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _positionBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>){\n\t\tif(dataItem.bullets){\n\t\t\t$array.each(dataItem.bullets, (bullet) => {\n\t\t\t\tthis._positionBullet(bullet);\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\n\t\t\t\tif(bullet.get(\"dynamic\")){\n\n\t\t\t\t\tif(sprite){\n\t\t\t\t\t\tsprite._markDirtyKey(\"fill\" as any);\n\t\t\t\t\t\tsprite.markDirtySize();\n\t\t\t\t\t}\n\t\t\t\t\tif(sprite instanceof Container){\n\t\t\t\t\t\tsprite.walkChildren((child)=>{\n\t\t\t\t\t\t\tchild._markDirtyKey(\"fill\" as any);\n\t\t\t\t\t\t\tchild.markDirtySize();\n\n\t\t\t\t\t\t\tif(child instanceof Label){\n\t\t\t\t\t\t\t\tchild.text.markDirtyText();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(sprite instanceof Label && sprite.get(\"populateText\" as any)){\n\t\t\t\t\tsprite.text.markDirtyText();\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _hideBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif (dataItem.bullets) {\n\t\t\t$array.each(dataItem.bullets, (bullet) => {\n\t\t\t\tlet sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic _positionBullet(_bullet: Bullet) {\n\t}\n\n\tpublic _placeBulletsContainer(chart:Chart){\n\t\tchart.bulletsContainer.children.moveValue(this.bulletsContainer);\n\t}\n\n\tpublic _removeBulletsContainer(){\n\t\tconst bulletsContainer = this.bulletsContainer;\n\t\tif(bulletsContainer.parent){\n\t\t\tbulletsContainer.parent.children.removeValue(bulletsContainer)\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\t//super.disposeDataItem(dataItem); // does nothing\n\n\t\tconst bullets = dataItem.bullets;\n\n\t\tif(bullets){\n\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\tbullet.dispose();\n\t\t\t})\n\t\t\tdataItem.bullets = undefined;\n\t\t}\n\t}\n\n\tprotected _getItemReaderLabel(): string {\n\t\treturn \"\";\n\t}\n\n\t/**\n\t * Shows series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\t\tconst bullets = dataItem.bullets;\n\t\tif(bullets){\n\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif(sprite){\n\t\t\t\t\tpromises.push(sprite.show(duration));\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hides series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\t\tconst bullets = dataItem.bullets;\n\t\tif(bullets){\n\t\t\t$array.each(bullets, (bullet)=>{\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif(sprite){\n\t\t\t\t\tpromises.push(sprite.hide(duration));\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tawait Promise.all(promises);\n\t}\n\n\n\tprotected async _sequencedShowHide(show: boolean, duration?: number): Promise<void> {\n\t\tif (this.get(\"sequencedInterpolation\")) {\n\n\t\t\tif (!$type.isNumber(duration)) {\n\t\t\t\tduration = this.get(\"interpolationDuration\", 0);\n\t\t\t}\n\n\t\t\tif (duration > 0) {\n\t\t\t\tconst startIndex = this.startIndex();\n\t\t\t\tconst endIndex = this.endIndex();\n\n\t\t\t\tawait Promise.all($array.map(this.dataItems, async (dataItem, i) => {\n\t\t\t\t\tlet realDuration = duration || 0;\n\n\t\t\t\t\tif (i < startIndex - 10 || i > endIndex + 10) {\n\t\t\t\t\t\trealDuration = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t//let delay = this.get(\"sequencedDelay\", 0) * i + realDuration * (i - startIndex) / (endIndex - startIndex);\n\t\t\t\t\tlet delay = this.get(\"sequencedDelay\", 0) + realDuration / (endIndex - startIndex);\n\n\t\t\t\t\tawait $time.sleep(delay * (i - startIndex));\n\n\t\t\t\t\tif (show) {\n\t\t\t\t\t\tawait this.showDataItem(dataItem, realDuration);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tawait this.hideDataItem(dataItem, realDuration);\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tawait Promise.all($array.map(this.dataItems, (dataItem) => {\n\t\t\t\t\tif (show) {\n\t\t\t\t\t\treturn this.showDataItem(dataItem, 0);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\treturn this.hideDataItem(dataItem, 0);\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendValue(dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif(dataItem){\n\t\t\tconst legendDataItem = dataItem.get(\"legendDataItem\" as any) as DataItem<ILegendDataItem>;\n\n\t\t\tif (legendDataItem) {\n\t\t\t\tconst valueLabel = legendDataItem.get(\"valueLabel\");\n\t\t\t\tif (valueLabel) {\n\t\t\t\t\tconst text = valueLabel.text;\n\t\t\t\t\tlet txt = \"\";\n\t\t\t\t\tvalueLabel._setDataItem(dataItem);\n\t\t\t\t\ttxt = this.get(\"legendValueText\", text.get(\"text\", \"\"));\n\n\t\t\t\t\tvalueLabel.set(\"text\", txt);\n\t\t\t\t\ttext.markDirtyText();\n\t\t\t\t}\n\n\t\t\t\tconst label = legendDataItem.get(\"label\");\n\t\t\t\tif (label) {\n\t\t\t\t\tconst text = label.text;\n\t\t\t\t\tlet txt = \"\";\n\t\t\t\t\tlabel._setDataItem(dataItem);\n\t\t\t\t\ttxt = this.get(\"legendLabelText\", text.get(\"text\", \"\"));\n\n\t\t\t\t\tlabel.set(\"text\", txt);\n\t\t\t\t\ttext.markDirtyText();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendMarker(_dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\t}\n\n\tprotected _onHide(){\n\t\tsuper._onHide();\n\n\t\tconst tooltip = this.getTooltip();\n\t\tif(tooltip){\n\t\t\ttooltip.hide();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic hoverDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic unhoverDataItem(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _getBase(key: any): number {\n\t\tconst dataItem = this.dataItems[this.startIndex()];\n\t\tif (dataItem) {\n\t\t\treturn dataItem.get(key);\n\t\t}\n\t\treturn 0;\n\t}\n}\n"]}
package/CHANGELOG.md CHANGED
@@ -5,6 +5,12 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
5
5
  Please note, that this project, while following numbering syntax, it DOES NOT
6
6
  adhere to [Semantic Versioning](http://semver.org/spec/v2.0.0.html) rules.
7
7
 
8
+ ## [5.15.3] - 2026-01-14
9
+
10
+ ### Fixed
11
+ - Bullets added to individual data items were not updating their position (since `5.15.0`).
12
+
13
+
8
14
  ## [5.15.2] - 2026-01-12
9
15
 
10
16
  ### Changed
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-arc-horizontal",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-arc-vertical",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-chord",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-chord-directed",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-chord-non-ribbon",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-sankey",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-gantt",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-gantt-multilevel",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-gantt-simple",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-gauge",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-gauge-bands",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-hierarchy-force-directed",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-hierarchy-pack",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-hierarchy-partition",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-hierarchy-sunburst",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-hierarchy-tree",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-hierarchy-treemap",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-hierarchy-voronoi-treemap",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-jest",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-json-pie",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-json-xy",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-map-animating-along-lines",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "@amcharts/amcharts5-geodata": "^5.1.5",
8
8
  "source-map-loader": "^4.0.1",
9
9
  "webpack": "^5.1.3",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-map-clustered-points",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "@amcharts/amcharts5-geodata": "^5.1.5",
8
8
  "source-map-loader": "^4.0.1",
9
9
  "webpack": "^5.1.3",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-map-day-and-night",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "@amcharts/amcharts5-geodata": "^5.1.5",
8
8
  "source-map-loader": "^4.0.1",
9
9
  "webpack": "^5.1.3",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-map-globe-rotate-to-country",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "@amcharts/amcharts5-geodata": "^5.1.5",
8
8
  "source-map-loader": "^4.0.1",
9
9
  "webpack": "^5.1.3",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-map-globe-with-projected-circles",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "@amcharts/amcharts5-geodata": "^5.1.5",
8
8
  "source-map-loader": "^4.0.1",
9
9
  "webpack": "^5.1.3",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-map-with-bubbles",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "@amcharts/amcharts5-geodata": "^5.1.5",
8
8
  "source-map-loader": "^4.0.1",
9
9
  "webpack": "^5.1.3",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-map-zoom-to-country",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "@amcharts/amcharts5-geodata": "^5.1.5",
8
8
  "source-map-loader": "^4.0.1",
9
9
  "webpack": "^5.1.3",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-misc-40-charts",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.15.2",
6
+ "@amcharts/amcharts5": "^5.15.3",
7
7
  "source-map-loader": "^4.0.1",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^5.1.1",