apexify.js 5.2.2 → 5.2.6

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 (237) hide show
  1. package/CHANGELOG.md +173 -4
  2. package/README.md +66 -0
  3. package/dist/cjs/Canvas/ApexPainter.d.ts +191 -4
  4. package/dist/cjs/Canvas/ApexPainter.d.ts.map +1 -1
  5. package/dist/cjs/Canvas/ApexPainter.js +201 -96
  6. package/dist/cjs/Canvas/ApexPainter.js.map +1 -1
  7. package/dist/cjs/Canvas/extended/CanvasCreator.d.ts.map +1 -1
  8. package/dist/cjs/Canvas/extended/CanvasCreator.js +3 -18
  9. package/dist/cjs/Canvas/extended/CanvasCreator.js.map +1 -1
  10. package/dist/cjs/Canvas/extended/GIFCreator.d.ts +15 -3
  11. package/dist/cjs/Canvas/extended/GIFCreator.d.ts.map +1 -1
  12. package/dist/cjs/Canvas/extended/GIFCreator.js +107 -9
  13. package/dist/cjs/Canvas/extended/GIFCreator.js.map +1 -1
  14. package/dist/cjs/Canvas/extended/HitDetectionCreator.d.ts +148 -0
  15. package/dist/cjs/Canvas/extended/HitDetectionCreator.d.ts.map +1 -0
  16. package/dist/cjs/Canvas/extended/HitDetectionCreator.js +294 -0
  17. package/dist/cjs/Canvas/extended/HitDetectionCreator.js.map +1 -0
  18. package/dist/cjs/Canvas/extended/ImageCreator.d.ts +3 -2
  19. package/dist/cjs/Canvas/extended/ImageCreator.d.ts.map +1 -1
  20. package/dist/cjs/Canvas/extended/ImageCreator.js +43 -4
  21. package/dist/cjs/Canvas/extended/ImageCreator.js.map +1 -1
  22. package/dist/cjs/Canvas/extended/Path2DCreator.d.ts +166 -0
  23. package/dist/cjs/Canvas/extended/Path2DCreator.d.ts.map +1 -0
  24. package/dist/cjs/Canvas/extended/Path2DCreator.js +246 -0
  25. package/dist/cjs/Canvas/extended/Path2DCreator.js.map +1 -0
  26. package/dist/cjs/Canvas/extended/PixelDataCreator.d.ts +69 -0
  27. package/dist/cjs/Canvas/extended/PixelDataCreator.d.ts.map +1 -0
  28. package/dist/cjs/Canvas/extended/PixelDataCreator.js +232 -0
  29. package/dist/cjs/Canvas/extended/PixelDataCreator.js.map +1 -0
  30. package/dist/cjs/Canvas/extended/TextCreator.d.ts.map +1 -1
  31. package/dist/cjs/Canvas/extended/TextCreator.js +0 -7
  32. package/dist/cjs/Canvas/extended/TextCreator.js.map +1 -1
  33. package/dist/cjs/Canvas/extended/TextMetricsCreator.d.ts +18 -0
  34. package/dist/cjs/Canvas/extended/TextMetricsCreator.d.ts.map +1 -0
  35. package/dist/cjs/Canvas/extended/TextMetricsCreator.js +194 -0
  36. package/dist/cjs/Canvas/extended/TextMetricsCreator.js.map +1 -0
  37. package/dist/cjs/Canvas/extended/VideoCreator.d.ts.map +1 -1
  38. package/dist/cjs/Canvas/extended/VideoCreator.js +1 -42
  39. package/dist/cjs/Canvas/extended/VideoCreator.js.map +1 -1
  40. package/dist/cjs/Canvas/utils/Background/bg.d.ts.map +1 -1
  41. package/dist/cjs/Canvas/utils/Background/bg.js +2 -15
  42. package/dist/cjs/Canvas/utils/Background/bg.js.map +1 -1
  43. package/dist/cjs/Canvas/utils/Charts/barchart.d.ts.map +1 -1
  44. package/dist/cjs/Canvas/utils/Charts/barchart.js +32 -277
  45. package/dist/cjs/Canvas/utils/Charts/barchart.js.map +1 -1
  46. package/dist/cjs/Canvas/utils/Charts/comparisonchart.d.ts.map +1 -1
  47. package/dist/cjs/Canvas/utils/Charts/comparisonchart.js +0 -41
  48. package/dist/cjs/Canvas/utils/Charts/comparisonchart.js.map +1 -1
  49. package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.d.ts.map +1 -1
  50. package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.js +42 -241
  51. package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.js.map +1 -1
  52. package/dist/cjs/Canvas/utils/Charts/linechart.d.ts.map +1 -1
  53. package/dist/cjs/Canvas/utils/Charts/linechart.js +16 -148
  54. package/dist/cjs/Canvas/utils/Charts/linechart.js.map +1 -1
  55. package/dist/cjs/Canvas/utils/Charts/piechart.d.ts.map +1 -1
  56. package/dist/cjs/Canvas/utils/Charts/piechart.js +21 -117
  57. package/dist/cjs/Canvas/utils/Charts/piechart.js.map +1 -1
  58. package/dist/cjs/Canvas/utils/Custom/advancedLines.d.ts.map +1 -1
  59. package/dist/cjs/Canvas/utils/Custom/advancedLines.js +3 -16
  60. package/dist/cjs/Canvas/utils/Custom/advancedLines.js.map +1 -1
  61. package/dist/cjs/Canvas/utils/Custom/customLines.d.ts.map +1 -1
  62. package/dist/cjs/Canvas/utils/Custom/customLines.js +0 -7
  63. package/dist/cjs/Canvas/utils/Custom/customLines.js.map +1 -1
  64. package/dist/cjs/Canvas/utils/General/batchOperations.d.ts.map +1 -1
  65. package/dist/cjs/Canvas/utils/General/batchOperations.js +0 -4
  66. package/dist/cjs/Canvas/utils/General/batchOperations.js.map +1 -1
  67. package/dist/cjs/Canvas/utils/General/conversion.d.ts.map +1 -1
  68. package/dist/cjs/Canvas/utils/General/conversion.js.map +1 -1
  69. package/dist/cjs/Canvas/utils/General/general functions.d.ts.map +1 -1
  70. package/dist/cjs/Canvas/utils/General/general functions.js +0 -19
  71. package/dist/cjs/Canvas/utils/General/general functions.js.map +1 -1
  72. package/dist/cjs/Canvas/utils/General/imageCompression.d.ts.map +1 -1
  73. package/dist/cjs/Canvas/utils/General/imageCompression.js +0 -18
  74. package/dist/cjs/Canvas/utils/General/imageCompression.js.map +1 -1
  75. package/dist/cjs/Canvas/utils/General/imageStitching.d.ts.map +1 -1
  76. package/dist/cjs/Canvas/utils/General/imageStitching.js +0 -14
  77. package/dist/cjs/Canvas/utils/General/imageStitching.js.map +1 -1
  78. package/dist/cjs/Canvas/utils/Image/imageEffects.d.ts.map +1 -1
  79. package/dist/cjs/Canvas/utils/Image/imageEffects.js +8 -16
  80. package/dist/cjs/Canvas/utils/Image/imageEffects.js.map +1 -1
  81. package/dist/cjs/Canvas/utils/Image/imageFilters.js +12 -30
  82. package/dist/cjs/Canvas/utils/Image/imageFilters.js.map +1 -1
  83. package/dist/cjs/Canvas/utils/Image/imageMasking.d.ts.map +1 -1
  84. package/dist/cjs/Canvas/utils/Image/imageMasking.js +0 -22
  85. package/dist/cjs/Canvas/utils/Image/imageMasking.js.map +1 -1
  86. package/dist/cjs/Canvas/utils/Image/imageProperties.d.ts.map +1 -1
  87. package/dist/cjs/Canvas/utils/Image/imageProperties.js +2 -37
  88. package/dist/cjs/Canvas/utils/Image/imageProperties.js.map +1 -1
  89. package/dist/cjs/Canvas/utils/Image/professionalImageFilters.d.ts.map +1 -1
  90. package/dist/cjs/Canvas/utils/Image/professionalImageFilters.js +6 -23
  91. package/dist/cjs/Canvas/utils/Image/professionalImageFilters.js.map +1 -1
  92. package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.d.ts.map +1 -1
  93. package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.js +7 -16
  94. package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.js.map +1 -1
  95. package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts.map +1 -1
  96. package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.js +1 -16
  97. package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.js.map +1 -1
  98. package/dist/cjs/Canvas/utils/Shapes/shapes.d.ts.map +1 -1
  99. package/dist/cjs/Canvas/utils/Shapes/shapes.js +120 -39
  100. package/dist/cjs/Canvas/utils/Shapes/shapes.js.map +1 -1
  101. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -1
  102. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js +5 -58
  103. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -1
  104. package/dist/cjs/Canvas/utils/Texts/textPathRenderer.d.ts.map +1 -1
  105. package/dist/cjs/Canvas/utils/Texts/textPathRenderer.js +1 -4
  106. package/dist/cjs/Canvas/utils/Texts/textPathRenderer.js.map +1 -1
  107. package/dist/cjs/Canvas/utils/Texts/textProperties.d.ts.map +1 -1
  108. package/dist/cjs/Canvas/utils/Texts/textProperties.js +0 -18
  109. package/dist/cjs/Canvas/utils/Texts/textProperties.js.map +1 -1
  110. package/dist/cjs/Canvas/utils/Video/videoHelpers.d.ts.map +1 -1
  111. package/dist/cjs/Canvas/utils/Video/videoHelpers.js +9 -110
  112. package/dist/cjs/Canvas/utils/Video/videoHelpers.js.map +1 -1
  113. package/dist/cjs/Canvas/utils/types.d.ts +136 -1
  114. package/dist/cjs/Canvas/utils/types.d.ts.map +1 -1
  115. package/dist/cjs/Canvas/utils/types.js.map +1 -1
  116. package/dist/cjs/Canvas/utils/utils.d.ts +4 -2
  117. package/dist/cjs/Canvas/utils/utils.d.ts.map +1 -1
  118. package/dist/cjs/Canvas/utils/utils.js.map +1 -1
  119. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  120. package/dist/esm/Canvas/ApexPainter.d.ts +191 -4
  121. package/dist/esm/Canvas/ApexPainter.d.ts.map +1 -1
  122. package/dist/esm/Canvas/ApexPainter.js +201 -96
  123. package/dist/esm/Canvas/ApexPainter.js.map +1 -1
  124. package/dist/esm/Canvas/extended/CanvasCreator.d.ts.map +1 -1
  125. package/dist/esm/Canvas/extended/CanvasCreator.js +3 -18
  126. package/dist/esm/Canvas/extended/CanvasCreator.js.map +1 -1
  127. package/dist/esm/Canvas/extended/GIFCreator.d.ts +15 -3
  128. package/dist/esm/Canvas/extended/GIFCreator.d.ts.map +1 -1
  129. package/dist/esm/Canvas/extended/GIFCreator.js +107 -9
  130. package/dist/esm/Canvas/extended/GIFCreator.js.map +1 -1
  131. package/dist/esm/Canvas/extended/HitDetectionCreator.d.ts +148 -0
  132. package/dist/esm/Canvas/extended/HitDetectionCreator.d.ts.map +1 -0
  133. package/dist/esm/Canvas/extended/HitDetectionCreator.js +294 -0
  134. package/dist/esm/Canvas/extended/HitDetectionCreator.js.map +1 -0
  135. package/dist/esm/Canvas/extended/ImageCreator.d.ts +3 -2
  136. package/dist/esm/Canvas/extended/ImageCreator.d.ts.map +1 -1
  137. package/dist/esm/Canvas/extended/ImageCreator.js +43 -4
  138. package/dist/esm/Canvas/extended/ImageCreator.js.map +1 -1
  139. package/dist/esm/Canvas/extended/Path2DCreator.d.ts +166 -0
  140. package/dist/esm/Canvas/extended/Path2DCreator.d.ts.map +1 -0
  141. package/dist/esm/Canvas/extended/Path2DCreator.js +246 -0
  142. package/dist/esm/Canvas/extended/Path2DCreator.js.map +1 -0
  143. package/dist/esm/Canvas/extended/PixelDataCreator.d.ts +69 -0
  144. package/dist/esm/Canvas/extended/PixelDataCreator.d.ts.map +1 -0
  145. package/dist/esm/Canvas/extended/PixelDataCreator.js +232 -0
  146. package/dist/esm/Canvas/extended/PixelDataCreator.js.map +1 -0
  147. package/dist/esm/Canvas/extended/TextCreator.d.ts.map +1 -1
  148. package/dist/esm/Canvas/extended/TextCreator.js +0 -7
  149. package/dist/esm/Canvas/extended/TextCreator.js.map +1 -1
  150. package/dist/esm/Canvas/extended/TextMetricsCreator.d.ts +18 -0
  151. package/dist/esm/Canvas/extended/TextMetricsCreator.d.ts.map +1 -0
  152. package/dist/esm/Canvas/extended/TextMetricsCreator.js +194 -0
  153. package/dist/esm/Canvas/extended/TextMetricsCreator.js.map +1 -0
  154. package/dist/esm/Canvas/extended/VideoCreator.d.ts.map +1 -1
  155. package/dist/esm/Canvas/extended/VideoCreator.js +1 -42
  156. package/dist/esm/Canvas/extended/VideoCreator.js.map +1 -1
  157. package/dist/esm/Canvas/utils/Background/bg.d.ts.map +1 -1
  158. package/dist/esm/Canvas/utils/Background/bg.js +2 -15
  159. package/dist/esm/Canvas/utils/Background/bg.js.map +1 -1
  160. package/dist/esm/Canvas/utils/Charts/barchart.d.ts.map +1 -1
  161. package/dist/esm/Canvas/utils/Charts/barchart.js +32 -277
  162. package/dist/esm/Canvas/utils/Charts/barchart.js.map +1 -1
  163. package/dist/esm/Canvas/utils/Charts/comparisonchart.d.ts.map +1 -1
  164. package/dist/esm/Canvas/utils/Charts/comparisonchart.js +0 -41
  165. package/dist/esm/Canvas/utils/Charts/comparisonchart.js.map +1 -1
  166. package/dist/esm/Canvas/utils/Charts/horizontalbarchart.d.ts.map +1 -1
  167. package/dist/esm/Canvas/utils/Charts/horizontalbarchart.js +42 -241
  168. package/dist/esm/Canvas/utils/Charts/horizontalbarchart.js.map +1 -1
  169. package/dist/esm/Canvas/utils/Charts/linechart.d.ts.map +1 -1
  170. package/dist/esm/Canvas/utils/Charts/linechart.js +16 -148
  171. package/dist/esm/Canvas/utils/Charts/linechart.js.map +1 -1
  172. package/dist/esm/Canvas/utils/Charts/piechart.d.ts.map +1 -1
  173. package/dist/esm/Canvas/utils/Charts/piechart.js +21 -117
  174. package/dist/esm/Canvas/utils/Charts/piechart.js.map +1 -1
  175. package/dist/esm/Canvas/utils/Custom/advancedLines.d.ts.map +1 -1
  176. package/dist/esm/Canvas/utils/Custom/advancedLines.js +3 -16
  177. package/dist/esm/Canvas/utils/Custom/advancedLines.js.map +1 -1
  178. package/dist/esm/Canvas/utils/Custom/customLines.d.ts.map +1 -1
  179. package/dist/esm/Canvas/utils/Custom/customLines.js +0 -7
  180. package/dist/esm/Canvas/utils/Custom/customLines.js.map +1 -1
  181. package/dist/esm/Canvas/utils/General/batchOperations.d.ts.map +1 -1
  182. package/dist/esm/Canvas/utils/General/batchOperations.js +0 -4
  183. package/dist/esm/Canvas/utils/General/batchOperations.js.map +1 -1
  184. package/dist/esm/Canvas/utils/General/conversion.d.ts.map +1 -1
  185. package/dist/esm/Canvas/utils/General/conversion.js.map +1 -1
  186. package/dist/esm/Canvas/utils/General/general functions.d.ts.map +1 -1
  187. package/dist/esm/Canvas/utils/General/general functions.js +0 -19
  188. package/dist/esm/Canvas/utils/General/general functions.js.map +1 -1
  189. package/dist/esm/Canvas/utils/General/imageCompression.d.ts.map +1 -1
  190. package/dist/esm/Canvas/utils/General/imageCompression.js +0 -18
  191. package/dist/esm/Canvas/utils/General/imageCompression.js.map +1 -1
  192. package/dist/esm/Canvas/utils/General/imageStitching.d.ts.map +1 -1
  193. package/dist/esm/Canvas/utils/General/imageStitching.js +0 -14
  194. package/dist/esm/Canvas/utils/General/imageStitching.js.map +1 -1
  195. package/dist/esm/Canvas/utils/Image/imageEffects.d.ts.map +1 -1
  196. package/dist/esm/Canvas/utils/Image/imageEffects.js +8 -16
  197. package/dist/esm/Canvas/utils/Image/imageEffects.js.map +1 -1
  198. package/dist/esm/Canvas/utils/Image/imageFilters.js +12 -30
  199. package/dist/esm/Canvas/utils/Image/imageFilters.js.map +1 -1
  200. package/dist/esm/Canvas/utils/Image/imageMasking.d.ts.map +1 -1
  201. package/dist/esm/Canvas/utils/Image/imageMasking.js +0 -22
  202. package/dist/esm/Canvas/utils/Image/imageMasking.js.map +1 -1
  203. package/dist/esm/Canvas/utils/Image/imageProperties.d.ts.map +1 -1
  204. package/dist/esm/Canvas/utils/Image/imageProperties.js +2 -37
  205. package/dist/esm/Canvas/utils/Image/imageProperties.js.map +1 -1
  206. package/dist/esm/Canvas/utils/Image/professionalImageFilters.d.ts.map +1 -1
  207. package/dist/esm/Canvas/utils/Image/professionalImageFilters.js +6 -23
  208. package/dist/esm/Canvas/utils/Image/professionalImageFilters.js.map +1 -1
  209. package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.d.ts.map +1 -1
  210. package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.js +7 -16
  211. package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.js.map +1 -1
  212. package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts.map +1 -1
  213. package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.js +1 -16
  214. package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.js.map +1 -1
  215. package/dist/esm/Canvas/utils/Shapes/shapes.d.ts.map +1 -1
  216. package/dist/esm/Canvas/utils/Shapes/shapes.js +120 -39
  217. package/dist/esm/Canvas/utils/Shapes/shapes.js.map +1 -1
  218. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -1
  219. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js +5 -58
  220. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -1
  221. package/dist/esm/Canvas/utils/Texts/textPathRenderer.d.ts.map +1 -1
  222. package/dist/esm/Canvas/utils/Texts/textPathRenderer.js +1 -4
  223. package/dist/esm/Canvas/utils/Texts/textPathRenderer.js.map +1 -1
  224. package/dist/esm/Canvas/utils/Texts/textProperties.d.ts.map +1 -1
  225. package/dist/esm/Canvas/utils/Texts/textProperties.js +0 -18
  226. package/dist/esm/Canvas/utils/Texts/textProperties.js.map +1 -1
  227. package/dist/esm/Canvas/utils/Video/videoHelpers.d.ts.map +1 -1
  228. package/dist/esm/Canvas/utils/Video/videoHelpers.js +9 -110
  229. package/dist/esm/Canvas/utils/Video/videoHelpers.js.map +1 -1
  230. package/dist/esm/Canvas/utils/types.d.ts +136 -1
  231. package/dist/esm/Canvas/utils/types.d.ts.map +1 -1
  232. package/dist/esm/Canvas/utils/types.js.map +1 -1
  233. package/dist/esm/Canvas/utils/utils.d.ts +4 -2
  234. package/dist/esm/Canvas/utils/utils.d.ts.map +1 -1
  235. package/dist/esm/Canvas/utils/utils.js.map +1 -1
  236. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  237. package/package.json +1 -3
@@ -0,0 +1,294 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HitDetectionCreator = void 0;
4
+ const canvas_1 = require("@napi-rs/canvas");
5
+ const errorUtils_1 = require("../utils/errorUtils");
6
+ /**
7
+ * Extended class for hit detection functionality
8
+ */
9
+ class HitDetectionCreator {
10
+ /**
11
+ * Checks if a point is inside a Path2D object
12
+ * @param path - Path2D object or commands array
13
+ * @param x - X coordinate to test
14
+ * @param y - Y coordinate to test
15
+ * @param options - Hit detection options
16
+ * @returns Hit detection result
17
+ */
18
+ isPointInPath(path, x, y, options) {
19
+ try {
20
+ const canvas = (0, canvas_1.createCanvas)(100, 100);
21
+ const ctx = (0, errorUtils_1.getCanvasContext)(canvas);
22
+ const path2D = Array.isArray(path)
23
+ ? this.commandsToPath(ctx, path)
24
+ : path;
25
+ const fillRule = options?.fillRule || 'nonzero';
26
+ const inFill = ctx.isPointInPath(path2D, x, y, fillRule);
27
+ let inStroke = false;
28
+ if (options?.includeStroke && options?.strokeWidth) {
29
+ inStroke = ctx.isPointInStroke(path2D, x, y);
30
+ }
31
+ const hit = inFill || inStroke;
32
+ const hitType = inFill ? 'fill' : (inStroke ? 'stroke' : 'outside');
33
+ return {
34
+ hit,
35
+ hitType,
36
+ distance: hit ? 0 : undefined
37
+ };
38
+ }
39
+ catch (error) {
40
+ throw new Error(`isPointInPath failed: ${(0, errorUtils_1.getErrorMessage)(error)}`);
41
+ }
42
+ }
43
+ /**
44
+ * Checks if a point is inside a custom region
45
+ * @param region - Region to test against
46
+ * @param x - X coordinate to test
47
+ * @param y - Y coordinate to test
48
+ * @param options - Hit detection options
49
+ * @returns Hit detection result
50
+ */
51
+ isPointInRegion(region, x, y, options) {
52
+ try {
53
+ let hit = false;
54
+ let hitType = 'outside';
55
+ let distance = 0;
56
+ switch (region.type) {
57
+ case 'rect':
58
+ hit = this.isPointInRect(x, y, region.x, region.y, region.width, region.height);
59
+ if (hit && options?.includeStroke && options?.strokeWidth) {
60
+ const tolerance = options.tolerance ?? 0;
61
+ const onStroke = this.isPointOnRectStroke(x, y, region.x, region.y, region.width, region.height, options.strokeWidth, tolerance);
62
+ hitType = onStroke ? 'stroke' : 'fill';
63
+ }
64
+ break;
65
+ case 'circle':
66
+ distance = Math.sqrt((x - region.x) ** 2 + (y - region.y) ** 2);
67
+ hit = distance <= region.radius;
68
+ if (hit && options?.includeStroke && options?.strokeWidth) {
69
+ const innerRadius = region.radius - options.strokeWidth;
70
+ const inStroke = distance > innerRadius && distance <= region.radius;
71
+ hitType = inStroke ? 'stroke' : 'fill';
72
+ }
73
+ break;
74
+ case 'ellipse':
75
+ hit = this.isPointInEllipse(x, y, region.x, region.y, region.radiusX, region.radiusY, region.rotation ?? 0);
76
+ break;
77
+ case 'polygon':
78
+ hit = this.isPointInPolygon(x, y, region.points);
79
+ break;
80
+ case 'path':
81
+ const pathOptions = { ...options };
82
+ return this.isPointInPath(region.path, x, y, pathOptions);
83
+ case 'custom':
84
+ hit = region.check(x, y);
85
+ break;
86
+ }
87
+ return {
88
+ hit,
89
+ hitType: hit ? hitType : 'outside',
90
+ distance: hit ? distance : undefined
91
+ };
92
+ }
93
+ catch (error) {
94
+ throw new Error(`isPointInRegion failed: ${(0, errorUtils_1.getErrorMessage)(error)}`);
95
+ }
96
+ }
97
+ /**
98
+ * Checks if a point is inside any of multiple regions
99
+ * @param regions - Array of regions to test
100
+ * @param x - X coordinate to test
101
+ * @param y - Y coordinate to test
102
+ * @param options - Hit detection options
103
+ * @returns Hit detection result with region index
104
+ */
105
+ isPointInAnyRegion(regions, x, y, options) {
106
+ try {
107
+ for (let i = 0; i < regions.length; i++) {
108
+ const result = this.isPointInRegion(regions[i], x, y, options);
109
+ if (result.hit) {
110
+ return {
111
+ ...result,
112
+ hitRegion: i
113
+ };
114
+ }
115
+ }
116
+ return {
117
+ hit: false,
118
+ hitType: 'outside'
119
+ };
120
+ }
121
+ catch (error) {
122
+ throw new Error(`isPointInAnyRegion failed: ${(0, errorUtils_1.getErrorMessage)(error)}`);
123
+ }
124
+ }
125
+ /**
126
+ * Gets the distance from a point to the nearest edge of a region
127
+ * @param region - Region to measure distance to
128
+ * @param x - X coordinate
129
+ * @param y - Y coordinate
130
+ * @returns Distance in pixels
131
+ */
132
+ getDistanceToRegion(region, x, y) {
133
+ switch (region.type) {
134
+ case 'rect':
135
+ return this.distanceToRect(x, y, region.x, region.y, region.width, region.height);
136
+ case 'circle':
137
+ const dist = Math.sqrt((x - region.x) ** 2 + (y - region.y) ** 2);
138
+ return Math.abs(dist - region.radius);
139
+ case 'ellipse':
140
+ return this.distanceToEllipse(x, y, region.x, region.y, region.radiusX, region.radiusY, region.rotation ?? 0);
141
+ case 'polygon':
142
+ return this.distanceToPolygon(x, y, region.points);
143
+ default:
144
+ return 0;
145
+ }
146
+ }
147
+ // Helper methods
148
+ commandsToPath(ctx, commands) {
149
+ const { Path2D } = require("@napi-rs/canvas");
150
+ const path = new Path2D();
151
+ for (const cmd of commands) {
152
+ switch (cmd.type) {
153
+ case 'moveTo':
154
+ path.moveTo(cmd.x, cmd.y);
155
+ break;
156
+ case 'lineTo':
157
+ path.lineTo(cmd.x, cmd.y);
158
+ break;
159
+ case 'arc':
160
+ path.arc(cmd.x, cmd.y, cmd.radius, cmd.startAngle, cmd.endAngle, cmd.counterclockwise ?? false);
161
+ break;
162
+ case 'arcTo':
163
+ path.arcTo(cmd.x1, cmd.y1, cmd.x2, cmd.y2, cmd.radius);
164
+ break;
165
+ case 'quadraticCurveTo':
166
+ path.quadraticCurveTo(cmd.cpx, cmd.cpy, cmd.x, cmd.y);
167
+ break;
168
+ case 'bezierCurveTo':
169
+ path.bezierCurveTo(cmd.cp1x, cmd.cp1y, cmd.cp2x, cmd.cp2y, cmd.x, cmd.y);
170
+ break;
171
+ case 'closePath':
172
+ path.closePath();
173
+ break;
174
+ case 'rect':
175
+ path.rect(cmd.x, cmd.y, cmd.width, cmd.height);
176
+ break;
177
+ case 'ellipse':
178
+ path.ellipse(cmd.x, cmd.y, cmd.radiusX, cmd.radiusY, cmd.rotation ?? 0, cmd.startAngle ?? 0, cmd.endAngle ?? Math.PI * 2, cmd.counterclockwise ?? false);
179
+ break;
180
+ case 'circle':
181
+ path.arc(cmd.x, cmd.y, cmd.radius, 0, Math.PI * 2);
182
+ break;
183
+ case 'polygon':
184
+ if (cmd.points.length > 0) {
185
+ path.moveTo(cmd.points[0].x, cmd.points[0].y);
186
+ for (let i = 1; i < cmd.points.length; i++) {
187
+ path.lineTo(cmd.points[i].x, cmd.points[i].y);
188
+ }
189
+ path.closePath();
190
+ }
191
+ break;
192
+ }
193
+ }
194
+ return path;
195
+ }
196
+ isPointInRect(x, y, rx, ry, width, height) {
197
+ return x >= rx && x <= rx + width && y >= ry && y <= ry + height;
198
+ }
199
+ isPointOnRectStroke(x, y, rx, ry, width, height, strokeWidth, tolerance) {
200
+ const halfStroke = strokeWidth / 2;
201
+ const left = rx - halfStroke - tolerance;
202
+ const right = rx + width + halfStroke + tolerance;
203
+ const top = ry - halfStroke - tolerance;
204
+ const bottom = ry + height + halfStroke + tolerance;
205
+ const innerLeft = rx + halfStroke - tolerance;
206
+ const innerRight = rx + width - halfStroke + tolerance;
207
+ const innerTop = ry + halfStroke - tolerance;
208
+ const innerBottom = ry + height - halfStroke + tolerance;
209
+ return ((x >= left && x <= right && y >= top && y <= bottom) &&
210
+ !(x >= innerLeft && x <= innerRight && y >= innerTop && y <= innerBottom));
211
+ }
212
+ isPointInEllipse(x, y, cx, cy, rx, ry, rotation) {
213
+ const cos = Math.cos(-rotation);
214
+ const sin = Math.sin(-rotation);
215
+ const dx = x - cx;
216
+ const dy = y - cy;
217
+ const tx = dx * cos - dy * sin;
218
+ const ty = dx * sin + dy * cos;
219
+ return (tx * tx) / (rx * rx) + (ty * ty) / (ry * ry) <= 1;
220
+ }
221
+ isPointInPolygon(x, y, points) {
222
+ if (points.length < 3)
223
+ return false;
224
+ let inside = false;
225
+ for (let i = 0, j = points.length - 1; i < points.length; j = i++) {
226
+ const xi = points[i].x, yi = points[i].y;
227
+ const xj = points[j].x, yj = points[j].y;
228
+ const intersect = ((yi > y) !== (yj > y)) &&
229
+ (x < (xj - xi) * (y - yi) / (yj - yi) + xi);
230
+ if (intersect)
231
+ inside = !inside;
232
+ }
233
+ return inside;
234
+ }
235
+ distanceToRect(x, y, rx, ry, width, height) {
236
+ const dx = Math.max(rx - x, 0, x - (rx + width));
237
+ const dy = Math.max(ry - y, 0, y - (ry + height));
238
+ return Math.sqrt(dx * dx + dy * dy);
239
+ }
240
+ distanceToEllipse(x, y, cx, cy, rx, ry, rotation) {
241
+ // Simplified distance calculation
242
+ const cos = Math.cos(-rotation);
243
+ const sin = Math.sin(-rotation);
244
+ const dx = x - cx;
245
+ const dy = y - cy;
246
+ const tx = dx * cos - dy * sin;
247
+ const ty = dx * sin + dy * cos;
248
+ const angle = Math.atan2(ty / ry, tx / rx);
249
+ const ex = cx + rx * Math.cos(angle) * cos - ry * Math.sin(angle) * sin;
250
+ const ey = cy + rx * Math.cos(angle) * sin + ry * Math.sin(angle) * cos;
251
+ return Math.sqrt((x - ex) ** 2 + (y - ey) ** 2);
252
+ }
253
+ distanceToPolygon(x, y, points) {
254
+ if (points.length < 2)
255
+ return 0;
256
+ let minDist = Infinity;
257
+ for (let i = 0; i < points.length; i++) {
258
+ const p1 = points[i];
259
+ const p2 = points[(i + 1) % points.length];
260
+ const dist = this.distanceToLineSegment(x, y, p1.x, p1.y, p2.x, p2.y);
261
+ minDist = Math.min(minDist, dist);
262
+ }
263
+ return minDist;
264
+ }
265
+ distanceToLineSegment(px, py, x1, y1, x2, y2) {
266
+ const A = px - x1;
267
+ const B = py - y1;
268
+ const C = x2 - x1;
269
+ const D = y2 - y1;
270
+ const dot = A * C + B * D;
271
+ const lenSq = C * C + D * D;
272
+ let param = -1;
273
+ if (lenSq !== 0)
274
+ param = dot / lenSq;
275
+ let xx, yy;
276
+ if (param < 0) {
277
+ xx = x1;
278
+ yy = y1;
279
+ }
280
+ else if (param > 1) {
281
+ xx = x2;
282
+ yy = y2;
283
+ }
284
+ else {
285
+ xx = x1 + param * C;
286
+ yy = y1 + param * D;
287
+ }
288
+ const dx = px - xx;
289
+ const dy = py - yy;
290
+ return Math.sqrt(dx * dx + dy * dy);
291
+ }
292
+ }
293
+ exports.HitDetectionCreator = HitDetectionCreator;
294
+ //# sourceMappingURL=HitDetectionCreator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HitDetectionCreator.js","sourceRoot":"","sources":["../../../../lib/Canvas/extended/HitDetectionCreator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ImageProperties } from "../utils/utils";
1
+ import type { ImageProperties, CreateImageOptions } from "../utils/utils";
2
2
  import type { CanvasResults } from "./CanvasCreator";
3
3
  /**
4
4
  * Extended class for image creation functionality
@@ -76,8 +76,9 @@ export declare class ImageCreator {
76
76
  *
77
77
  * @param images - Single ImageProperties object or array of ImageProperties
78
78
  * @param canvasBuffer - Existing canvas buffer (Buffer) or CanvasResults object
79
+ * @param options - Optional options for grouped drawing
79
80
  * @returns Promise<Buffer> - Updated canvas buffer in PNG format
80
81
  */
81
- createImage(images: ImageProperties | ImageProperties[], canvasBuffer: CanvasResults | Buffer): Promise<Buffer>;
82
+ createImage(images: ImageProperties | ImageProperties[], canvasBuffer: CanvasResults | Buffer, options?: CreateImageOptions): Promise<Buffer>;
82
83
  }
83
84
  //# sourceMappingURL=ImageCreator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageCreator.d.ts","sourceRoot":"","sources":["../../../../lib/Canvas/extended/ImageCreator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA0BrD;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAYnB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAYpB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAoC7B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAmE/B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAsCxB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA4CxB;;;OAGG;YACW,SAAS;IA+FvB;;;;;OAKG;YACW,eAAe;IAoL7B;;;;;;OAMG;IACG,WAAW,CACf,MAAM,EAAE,eAAe,GAAG,eAAe,EAAE,EAC3C,YAAY,EAAE,aAAa,GAAG,MAAM,GACnC,OAAO,CAAC,MAAM,CAAC;CA2BnB"}
1
+ {"version":3,"file":"ImageCreator.d.ts","sourceRoot":"","sources":["../../../../lib/Canvas/extended/ImageCreator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAa,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA0BrD;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAYnB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAYpB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAoC7B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAmE/B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAsCxB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA4CxB;;;OAGG;YACW,SAAS;IA0GvB;;;;;OAKG;YACW,eAAe;IAoL7B;;;;;;;OAOG;IACG,WAAW,CACf,MAAM,EAAE,eAAe,GAAG,eAAe,EAAE,EAC3C,YAAY,EAAE,aAAa,GAAG,MAAM,EACpC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC;CAsEnB"}
@@ -272,6 +272,7 @@ class ImageCreator {
272
272
  if (options.filters && options.filters.length > 0) {
273
273
  await (0, utils_1.applySimpleProfessionalFilters)(ctx, options.filters, width, height);
274
274
  }
275
+ // Pass ALL shape properties including points, angles, centers
275
276
  (0, utils_1.drawShape)(ctx, shapeType, x, y, width, height, {
276
277
  fill: options.fill,
277
278
  color: options.color,
@@ -279,7 +280,12 @@ class ImageCreator {
279
280
  radius: options.radius,
280
281
  sides: options.sides,
281
282
  innerRadius: options.innerRadius,
282
- outerRadius: options.outerRadius
283
+ outerRadius: options.outerRadius,
284
+ points: options.points,
285
+ startAngle: options.startAngle,
286
+ endAngle: options.endAngle,
287
+ centerX: options.centerX,
288
+ centerY: options.centerY
283
289
  });
284
290
  ctx.restore();
285
291
  if (options.stroke && this.isComplexShape(shapeType)) {
@@ -450,9 +456,10 @@ class ImageCreator {
450
456
  *
451
457
  * @param images - Single ImageProperties object or array of ImageProperties
452
458
  * @param canvasBuffer - Existing canvas buffer (Buffer) or CanvasResults object
459
+ * @param options - Optional options for grouped drawing
453
460
  * @returns Promise<Buffer> - Updated canvas buffer in PNG format
454
461
  */
455
- async createImage(images, canvasBuffer) {
462
+ async createImage(images, canvasBuffer, options) {
456
463
  try {
457
464
  if (!canvasBuffer) {
458
465
  throw new Error("createImage: canvasBuffer is required.");
@@ -465,8 +472,40 @@ class ImageCreator {
465
472
  const cv = (0, canvas_1.createCanvas)(base.width, base.height);
466
473
  const ctx = (0, errorUtils_1.getCanvasContext)(cv);
467
474
  ctx.drawImage(base, 0, 0);
468
- for (const ip of list) {
469
- await this.drawImageBitmap(ctx, ip);
475
+ const isGrouped = options?.isGrouped && list.length > 1;
476
+ const groupTransform = options?.groupTransform;
477
+ if (isGrouped && groupTransform) {
478
+ // GROUPED MODE: Apply transformations to all elements together
479
+ const pivotX = groupTransform.pivotX ?? base.width / 2;
480
+ const pivotY = groupTransform.pivotY ?? base.height / 2;
481
+ // Save context state
482
+ ctx.save();
483
+ // 1. Translate to pivot
484
+ ctx.translate(pivotX, pivotY);
485
+ // 2. Apply rotation (if specified)
486
+ if (groupTransform.rotation !== undefined && groupTransform.rotation !== 0) {
487
+ ctx.rotate((groupTransform.rotation * Math.PI) / 180);
488
+ }
489
+ // 3. Apply scale (if specified)
490
+ if (groupTransform.scaleX !== undefined || groupTransform.scaleY !== undefined) {
491
+ ctx.scale(groupTransform.scaleX ?? 1, groupTransform.scaleY ?? 1);
492
+ }
493
+ // 4. Apply translation (relative to pivot, after rotation/scale)
494
+ if (groupTransform.translateX !== undefined || groupTransform.translateY !== undefined) {
495
+ ctx.translate(groupTransform.translateX ?? 0, groupTransform.translateY ?? 0);
496
+ }
497
+ // 5. Translate back to origin
498
+ ctx.translate(-pivotX, -pivotY);
499
+ for (const ip of list) {
500
+ const ipWithoutRotation = { ...ip, rotation: 0 };
501
+ await this.drawImageBitmap(ctx, ipWithoutRotation);
502
+ }
503
+ ctx.restore();
504
+ }
505
+ else {
506
+ for (const ip of list) {
507
+ await this.drawImageBitmap(ctx, ip);
508
+ }
470
509
  }
471
510
  return cv.toBuffer("image/png");
472
511
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ImageCreator.js","sourceRoot":"","sources":["../../../../lib/Canvas/extended/ImageCreator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageCreator.js","sourceRoot":"","sources":["../../../../lib/Canvas/extended/ImageCreator.ts"],"names":[],"mappings":";;;AAAA,4CAAgF;AAGhF,oDAAwE;AACxE,0CAsBwB;AAExB;;GAEG;AACH,MAAa,YAAY;IACvB;;;;OAIG;IACK,uBAAuB,CAAC,EAAmB;QACjD,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,kBAAkB,CAAC,MAA2C;QACpE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAC,SAAoB;QACzC,OAAO,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,MAAM,CAAC;IACvD,CAAC;IAED;;;;;;OAMG;IACK,WAAW,CAAC,KAAa,EAAE,MAAc;QAC/C,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACxE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACK,YAAY,CAAC,KAAa,EAAE,MAAc;QAChD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YAChF,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACpG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YAC1F,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACxE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAC3B,GAAkB,EAClB,KAAoE,EACpE,KAAa;QAEb,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,OAAO;gBACV,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpB,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;gBACrB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACvB,MAAM;YACR,KAAK,QAAQ;gBACX,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;gBACrB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACvB,MAAM;YACR,KAAK,QAAQ;gBACX,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBAChC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;gBACtB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACvB,MAAM;YACR,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO,CAAC;YACb,KAAK,QAAQ;gBACX,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpB,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;gBACrB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACvB,MAAM;YACR;gBACE,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpB,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;gBACrB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACvB,MAAM;QACV,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,uBAAuB,CAC7B,GAAkB,EAClB,KAAoC,EACpC,KAAa,EACb,KAAa,EACb,QAAa;QAEb,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;QAE5B,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,QAAQ;gBACX,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC1B,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClF,GAAG,CAAC,WAAW,GAAG,OAAc,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACjD,CAAC;gBACD,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC1B,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClF,GAAG,CAAC,WAAW,GAAG,OAAc,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAClD,CAAC;gBACD,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM;YACR,KAAK,OAAO;gBACV,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC1B,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClF,GAAG,CAAC,WAAW,GAAG,OAAc,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAClD,CAAC;gBACD,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC1B,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClF,GAAG,CAAC,WAAW,GAAG,OAAc,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACjD,CAAC;gBACD,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM;YACR,KAAK,QAAQ;gBACX,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC1B,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClF,GAAG,CAAC,WAAW,GAAG,OAAc,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;gBAC1B,CAAC;gBACD,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC1B,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClF,GAAG,CAAC,WAAW,GAAG,OAAc,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;gBAC1B,CAAC;gBACD,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM;QACV,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,gBAAgB,CACtB,GAAkB,EAClB,SAAoB,EACpB,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,MAAW,EACX,UAAe;QAEf,MAAM,EACJ,KAAK,GAAG,eAAe,EACvB,QAAQ,EACR,OAAO,GAAG,GAAG,EACb,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,CAAC,EACX,IAAI,GAAG,EAAE,EACV,GAAG,MAAM,CAAC;QAEX,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;QAC1B,IAAI,IAAI,GAAG,CAAC;YAAE,GAAG,CAAC,MAAM,GAAG,QAAQ,IAAI,KAAK,CAAC;QAE7C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,IAAA,0BAAkB,EAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACzG,GAAG,CAAC,SAAS,GAAG,KAAY,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;QACxB,CAAC;QAED,IAAA,uBAAe,EAAC,GAAG,EAAE,SAAS,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACrF,GAAG,CAAC,IAAI,EAAE,CAAC;QAEX,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC;QACpB,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,gBAAgB,CACtB,GAAkB,EAClB,SAAoB,EACpB,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,MAAW,EACX,UAAe;QAEf,MAAM,EACJ,KAAK,GAAG,MAAM,EACd,QAAQ,EACR,KAAK,EAAE,WAAW,GAAG,CAAC,EACtB,KAAK,GAAG,OAAO,EAChB,GAAG,MAAM,CAAC;QAEX,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC;YAAE,GAAG,CAAC,MAAM,GAAG,QAAQ,MAAM,CAAC,IAAI,KAAK,CAAC;QAE1E,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACjF,GAAG,CAAC,WAAW,GAAG,OAAc,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC1B,CAAC;QAED,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;QAC5B,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAEpD,IAAA,uBAAe,EAAC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAEjE,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClE,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;QAED,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC;QACpB,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,SAAS,CACrB,GAAkB,EAClB,SAAoB,EACpB,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,OAsBC;QAED,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QAE1C,GAAG,CAAC,IAAI,EAAE,CAAC;QAEX,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,MAAM,GAAG,QAAQ,OAAO,CAAC,IAAI,KAAK,CAAC;QACzC,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;gBACzE,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,IAAA,mBAAW,EAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAA,yBAAiB,EAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACnG,CAAC;QAED,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,IAAA,iBAAS,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACzF,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,IAAA,sCAA8B,EAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5E,CAAC;QAED,8DAA8D;QAC9D,IAAA,iBAAS,EAAC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;YAC7C,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YACtC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SACnB,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,EAAE,CAAC;QAEd,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;gBACzE,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,IAAA,mBAAW,EAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC;QACpB,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,eAAe,CAAC,GAAkB,EAAE,EAAmB;QACnE,MAAM,EACJ,MAAM,EAAE,CAAC,EAAE,CAAC,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EACP,GAAG,GAAG,MAAM,EACZ,KAAK,GAAG,QAAQ,EAChB,QAAQ,GAAG,CAAC,EACZ,OAAO,GAAG,CAAC,EACX,IAAI,GAAG,CAAC,EACR,YAAY,GAAG,CAAC,EAChB,cAAc,GAAG,KAAK,EACtB,MAAM,EACN,MAAM,EACN,aAAa,EACb,KAAK,EACL,OAAO,EACP,eAAe,GAAG,CAAC,EACnB,WAAW,GAAG,MAAM,EACpB,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,OAAO,EACR,GAAG,EAAE,CAAC;QAEP,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAEjC,IAAI,IAAA,qBAAa,EAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE;gBACnE,GAAG,KAAK;gBACR,QAAQ;gBACR,OAAO;gBACP,IAAI;gBACJ,YAAY;gBACZ,cAAc;gBACd,MAAM;gBACN,MAAM;gBACN,aAAa;gBACb,OAAO;aACR,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAA,uBAAe,EAAC,MAAM,CAAC,CAAC;QAE1C,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAEvC,GAAG,CAAC,IAAI,EAAE,CAAC;QAEX,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,IAAA,mBAAW,EAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAA,yBAAiB,EAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QAEzE,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACrC,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,IAAA,iBAAS,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;YACzE,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;QAED,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GACtC,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAEzE,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC;QAClC,GAAG,CAAC,WAAW,GAAG,OAAO,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,MAAM,GAAG,QAAQ,IAAI,KAAK,CAAC;QAEpD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YAC3D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxC,GAAG,CAAC;gBACJ,SAAS,EAAE,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,eAAe;gBAC3G,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;gBAClE,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;aACvE,CAAC,CAAC,CAAC;YACJ,MAAM,IAAA,sCAA8B,EAAC,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7F,IAAA,kCAA0B,EAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACxE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;gBACpB,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC5B,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACtE,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC5B,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzF,IAAA,4BAAoB,EAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpF,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;gBACpB,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC5B,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YACvC,IAAA,qBAAa,EAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5G,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;YACpB,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;YAC5B,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAA,sBAAc,EAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;QAC5B,GAAG,CAAC,OAAO,EAAE,CAAC;QAEd,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC5D,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAG,IAAA,qBAAY,EAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAkB,CAAC;YAC7D,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACxC,GAAG,CAAC;oBACJ,SAAS,EAAE,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,eAAe;oBAC3G,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;oBAClE,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;iBACvE,CAAC,CAAC,CAAC;gBACJ,MAAM,IAAA,sCAA8B,EAAC,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7E,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1C,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;YACD,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,UAAU,GAAG,GAAG,CAAC;YACvB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,IAAA,qBAAa,EAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,IAAA,sBAAc,EAAC,UAAU,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAClI,CAAC;YACD,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/D,MAAM,UAAU,GAAG,IAAA,qBAAY,EAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAkB,CAAC;gBAC7D,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtC,IAAA,gCAAwB,EAAC,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;oBACvF,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC1C,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/D,MAAM,UAAU,GAAG,IAAA,qBAAY,EAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAkB,CAAC;gBAC7D,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtC,IAAA,sBAAc,EAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC1C,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;QAED,IAAA,mBAAW,EAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9B,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CACf,MAA2C,EAC3C,YAAoC,EACpC,OAA4B;QAE5B,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAEhC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAEvD,MAAM,IAAI,GAAU,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC/C,CAAC,CAAC,MAAM,IAAA,kBAAS,EAAC,YAAY,CAAC;gBAC/B,CAAC,CAAC,MAAM,IAAA,kBAAS,EAAE,YAA8B,CAAC,MAAM,CAAC,CAAC;YAE5D,MAAM,EAAE,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,GAAG,GAAG,IAAA,6BAAgB,EAAC,EAAE,CAAC,CAAC;YAEjC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAE1B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YACxD,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,CAAC;YAE/C,IAAI,SAAS,IAAI,cAAc,EAAE,CAAC;gBAChC,+DAA+D;gBAC/D,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACvD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAExD,qBAAqB;gBACrB,GAAG,CAAC,IAAI,EAAE,CAAC;gBAGX,wBAAwB;gBACxB,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAE9B,mCAAmC;gBACnC,IAAI,cAAc,CAAC,QAAQ,KAAK,SAAS,IAAI,cAAc,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC3E,GAAG,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;gBACxD,CAAC;gBAED,gCAAgC;gBAChC,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC/E,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;gBACpE,CAAC;gBAED,iEAAiE;gBACjE,IAAI,cAAc,CAAC,UAAU,KAAK,SAAS,IAAI,cAAc,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACvF,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,IAAI,CAAC,EAAE,cAAc,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;gBAChF,CAAC;gBAED,8BAA8B;gBAC9B,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;gBAEhC,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;oBAEtB,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBACjD,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;gBACrD,CAAC;gBAED,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBAEN,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,OAAO,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAA,4BAAe,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;CACF;AA9oBD,oCA8oBC"}