apexify.js 4.5.55 → 4.5.57

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 (238) hide show
  1. package/dist/cjs/ai/ApexAI.d.ts +1 -164
  2. package/dist/cjs/ai/ApexAI.d.ts.map +1 -1
  3. package/dist/cjs/ai/ApexAI.js +190 -373
  4. package/dist/cjs/ai/ApexAI.js.map +1 -1
  5. package/dist/cjs/ai/ApexModules.d.ts.map +1 -1
  6. package/dist/cjs/ai/ApexModules.js +6 -18
  7. package/dist/cjs/ai/ApexModules.js.map +1 -1
  8. package/dist/cjs/ai/functions/draw.d.ts.map +1 -1
  9. package/dist/cjs/ai/functions/draw.js +6 -6
  10. package/dist/cjs/ai/functions/draw.js.map +1 -1
  11. package/dist/cjs/ai/utils.d.ts +1 -4
  12. package/dist/cjs/ai/utils.d.ts.map +1 -1
  13. package/dist/cjs/ai/utils.js +1 -7
  14. package/dist/cjs/ai/utils.js.map +1 -1
  15. package/dist/cjs/canvas/ApexPainter.d.ts +24 -15
  16. package/dist/cjs/canvas/ApexPainter.d.ts.map +1 -1
  17. package/dist/cjs/canvas/ApexPainter.js +78 -56
  18. package/dist/cjs/canvas/ApexPainter.js.map +1 -1
  19. package/dist/cjs/canvas/utils/Background/bg.d.ts +24 -0
  20. package/dist/cjs/canvas/utils/Background/bg.d.ts.map +1 -0
  21. package/dist/{esm/canvas/utils → cjs/canvas/utils/Background}/bg.js +27 -52
  22. package/dist/cjs/canvas/utils/Background/bg.js.map +1 -0
  23. package/dist/cjs/canvas/utils/Background/circular.d.ts +3 -0
  24. package/dist/cjs/canvas/utils/Background/circular.d.ts.map +1 -0
  25. package/dist/{esm/canvas/utils → cjs/canvas/utils/Background}/circular.js +0 -8
  26. package/dist/cjs/canvas/utils/{circular.js.map → Background/circular.js.map} +1 -1
  27. package/dist/cjs/canvas/utils/Background/radius.d.ts +18 -0
  28. package/dist/cjs/canvas/utils/Background/radius.d.ts.map +1 -0
  29. package/dist/cjs/canvas/utils/Background/radius.js +104 -0
  30. package/dist/cjs/canvas/utils/Background/radius.js.map +1 -0
  31. package/dist/cjs/canvas/utils/{charts.d.ts → Charts/charts.d.ts} +1 -1
  32. package/dist/cjs/canvas/utils/Charts/charts.d.ts.map +1 -0
  33. package/dist/cjs/canvas/utils/Charts/charts.js.map +1 -0
  34. package/dist/cjs/canvas/utils/Custom/customLines.d.ts +3 -0
  35. package/dist/cjs/canvas/utils/Custom/customLines.d.ts.map +1 -0
  36. package/dist/cjs/canvas/utils/Custom/customLines.js.map +1 -0
  37. package/dist/cjs/canvas/utils/General/conversion.d.ts.map +1 -0
  38. package/dist/cjs/canvas/utils/General/conversion.js.map +1 -0
  39. package/dist/cjs/canvas/utils/{general functions.d.ts → General/general functions.d.ts } +18 -4
  40. package/dist/cjs/canvas/utils/General/general functions.d.ts.map +1 -0
  41. package/dist/{esm/canvas/utils → cjs/canvas/utils/General}/general functions.js +89 -58
  42. package/dist/cjs/canvas/utils/General/general functions.js.map +1 -0
  43. package/dist/cjs/canvas/utils/Image/imageProperties.d.ts +121 -0
  44. package/dist/cjs/canvas/utils/Image/imageProperties.d.ts.map +1 -0
  45. package/dist/cjs/canvas/utils/Image/imageProperties.js +623 -0
  46. package/dist/cjs/canvas/utils/Image/imageProperties.js.map +1 -0
  47. package/dist/{esm/canvas/utils → cjs/canvas/utils/Texts}/textProperties.d.ts +1 -1
  48. package/dist/cjs/canvas/utils/Texts/textProperties.d.ts.map +1 -0
  49. package/dist/cjs/canvas/utils/Texts/textProperties.js.map +1 -0
  50. package/dist/cjs/canvas/utils/types.d.ts +74 -3
  51. package/dist/cjs/canvas/utils/types.d.ts.map +1 -1
  52. package/dist/cjs/canvas/utils/types.js.map +1 -1
  53. package/dist/cjs/canvas/utils/utils.d.ts +11 -11
  54. package/dist/cjs/canvas/utils/utils.d.ts.map +1 -1
  55. package/dist/cjs/canvas/utils/utils.js +12 -10
  56. package/dist/cjs/canvas/utils/utils.js.map +1 -1
  57. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  58. package/dist/esm/ai/ApexAI.d.ts +1 -164
  59. package/dist/esm/ai/ApexAI.d.ts.map +1 -1
  60. package/dist/esm/ai/ApexAI.js +190 -373
  61. package/dist/esm/ai/ApexAI.js.map +1 -1
  62. package/dist/esm/ai/ApexModules.d.ts.map +1 -1
  63. package/dist/esm/ai/ApexModules.js +6 -18
  64. package/dist/esm/ai/ApexModules.js.map +1 -1
  65. package/dist/esm/ai/functions/draw.d.ts.map +1 -1
  66. package/dist/esm/ai/functions/draw.js +6 -6
  67. package/dist/esm/ai/functions/draw.js.map +1 -1
  68. package/dist/esm/ai/utils.d.ts +1 -4
  69. package/dist/esm/ai/utils.d.ts.map +1 -1
  70. package/dist/esm/ai/utils.js +1 -7
  71. package/dist/esm/ai/utils.js.map +1 -1
  72. package/dist/esm/canvas/ApexPainter.d.ts +24 -15
  73. package/dist/esm/canvas/ApexPainter.d.ts.map +1 -1
  74. package/dist/esm/canvas/ApexPainter.js +78 -56
  75. package/dist/esm/canvas/ApexPainter.js.map +1 -1
  76. package/dist/esm/canvas/utils/Background/bg.d.ts +24 -0
  77. package/dist/esm/canvas/utils/Background/bg.d.ts.map +1 -0
  78. package/dist/{cjs/canvas/utils → esm/canvas/utils/Background}/bg.js +27 -52
  79. package/dist/esm/canvas/utils/Background/bg.js.map +1 -0
  80. package/dist/esm/canvas/utils/Background/circular.d.ts +3 -0
  81. package/dist/esm/canvas/utils/Background/circular.d.ts.map +1 -0
  82. package/dist/{cjs/canvas/utils → esm/canvas/utils/Background}/circular.js +0 -8
  83. package/dist/esm/canvas/utils/{circular.js.map → Background/circular.js.map} +1 -1
  84. package/dist/esm/canvas/utils/Background/radius.d.ts +18 -0
  85. package/dist/esm/canvas/utils/Background/radius.d.ts.map +1 -0
  86. package/dist/esm/canvas/utils/Background/radius.js +104 -0
  87. package/dist/esm/canvas/utils/Background/radius.js.map +1 -0
  88. package/dist/esm/canvas/utils/{charts.d.ts → Charts/charts.d.ts} +1 -1
  89. package/dist/esm/canvas/utils/Charts/charts.d.ts.map +1 -0
  90. package/dist/esm/canvas/utils/Charts/charts.js.map +1 -0
  91. package/dist/esm/canvas/utils/Custom/customLines.d.ts +3 -0
  92. package/dist/esm/canvas/utils/Custom/customLines.d.ts.map +1 -0
  93. package/dist/esm/canvas/utils/Custom/customLines.js.map +1 -0
  94. package/dist/esm/canvas/utils/General/conversion.d.ts.map +1 -0
  95. package/dist/esm/canvas/utils/General/conversion.js.map +1 -0
  96. package/dist/esm/canvas/utils/{general functions.d.ts → General/general functions.d.ts } +18 -4
  97. package/dist/esm/canvas/utils/General/general functions.d.ts.map +1 -0
  98. package/dist/{cjs/canvas/utils → esm/canvas/utils/General}/general functions.js +89 -58
  99. package/dist/esm/canvas/utils/General/general functions.js.map +1 -0
  100. package/dist/esm/canvas/utils/Image/imageProperties.d.ts +121 -0
  101. package/dist/esm/canvas/utils/Image/imageProperties.d.ts.map +1 -0
  102. package/dist/esm/canvas/utils/Image/imageProperties.js +623 -0
  103. package/dist/esm/canvas/utils/Image/imageProperties.js.map +1 -0
  104. package/dist/{cjs/canvas/utils → esm/canvas/utils/Texts}/textProperties.d.ts +1 -1
  105. package/dist/esm/canvas/utils/Texts/textProperties.d.ts.map +1 -0
  106. package/dist/esm/canvas/utils/Texts/textProperties.js.map +1 -0
  107. package/dist/esm/canvas/utils/types.d.ts +74 -3
  108. package/dist/esm/canvas/utils/types.d.ts.map +1 -1
  109. package/dist/esm/canvas/utils/types.js.map +1 -1
  110. package/dist/esm/canvas/utils/utils.d.ts +11 -11
  111. package/dist/esm/canvas/utils/utils.d.ts.map +1 -1
  112. package/dist/esm/canvas/utils/utils.js +12 -10
  113. package/dist/esm/canvas/utils/utils.js.map +1 -1
  114. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  115. package/lib/ai/ApexAI.ts +195 -697
  116. package/lib/ai/ApexModules.ts +6 -16
  117. package/lib/ai/functions/draw.ts +6 -8
  118. package/lib/ai/utils.ts +0 -6
  119. package/lib/canvas/ApexPainter.ts +185 -111
  120. package/lib/canvas/utils/Background/bg.ts +97 -0
  121. package/lib/canvas/utils/Background/circular.ts +17 -0
  122. package/lib/canvas/utils/Background/radius.ts +102 -0
  123. package/lib/canvas/utils/{charts.ts → Charts/charts.ts} +1 -1
  124. package/lib/canvas/utils/{customLines.ts → Custom/customLines.ts} +1 -1
  125. package/lib/canvas/utils/{general functions.ts → General/general functions.ts } +143 -121
  126. package/lib/canvas/utils/Image/imageProperties.ts +779 -0
  127. package/lib/canvas/utils/{textProperties.ts → Texts/textProperties.ts} +1 -1
  128. package/lib/canvas/utils/types.ts +63 -4
  129. package/lib/canvas/utils/utils.ts +15 -11
  130. package/package.json +1 -5
  131. package/dist/cjs/ai/functions/generateVoiceResponse.d.ts +0 -10
  132. package/dist/cjs/ai/functions/generateVoiceResponse.d.ts.map +0 -1
  133. package/dist/cjs/ai/functions/generateVoiceResponse.js +0 -161
  134. package/dist/cjs/ai/functions/generateVoiceResponse.js.map +0 -1
  135. package/dist/cjs/ai/modals-chat/gemini/Gemini-flash.d.ts +0 -13
  136. package/dist/cjs/ai/modals-chat/gemini/Gemini-flash.d.ts.map +0 -1
  137. package/dist/cjs/ai/modals-chat/gemini/Gemini-flash.js +0 -185
  138. package/dist/cjs/ai/modals-chat/gemini/Gemini-flash.js.map +0 -1
  139. package/dist/cjs/ai/modals-chat/gemini/Gemini-pro.d.ts +0 -13
  140. package/dist/cjs/ai/modals-chat/gemini/Gemini-pro.d.ts.map +0 -1
  141. package/dist/cjs/ai/modals-chat/gemini/Gemini-pro.js +0 -185
  142. package/dist/cjs/ai/modals-chat/gemini/Gemini-pro.js.map +0 -1
  143. package/dist/cjs/ai/modals-chat/gemini/config.d.ts +0 -5
  144. package/dist/cjs/ai/modals-chat/gemini/config.d.ts.map +0 -1
  145. package/dist/cjs/ai/modals-chat/gemini/config.js +0 -13
  146. package/dist/cjs/ai/modals-chat/gemini/config.js.map +0 -1
  147. package/dist/cjs/ai/modals-chat/gemini/geminiFast.d.ts +0 -15
  148. package/dist/cjs/ai/modals-chat/gemini/geminiFast.d.ts.map +0 -1
  149. package/dist/cjs/ai/modals-chat/gemini/geminiFast.js +0 -146
  150. package/dist/cjs/ai/modals-chat/gemini/geminiFast.js.map +0 -1
  151. package/dist/cjs/canvas/utils/bg.d.ts +0 -23
  152. package/dist/cjs/canvas/utils/bg.d.ts.map +0 -1
  153. package/dist/cjs/canvas/utils/bg.js.map +0 -1
  154. package/dist/cjs/canvas/utils/charts.d.ts.map +0 -1
  155. package/dist/cjs/canvas/utils/charts.js.map +0 -1
  156. package/dist/cjs/canvas/utils/circular.d.ts +0 -10
  157. package/dist/cjs/canvas/utils/circular.d.ts.map +0 -1
  158. package/dist/cjs/canvas/utils/conversion.d.ts.map +0 -1
  159. package/dist/cjs/canvas/utils/conversion.js.map +0 -1
  160. package/dist/cjs/canvas/utils/customLines.d.ts +0 -3
  161. package/dist/cjs/canvas/utils/customLines.d.ts.map +0 -1
  162. package/dist/cjs/canvas/utils/customLines.js.map +0 -1
  163. package/dist/cjs/canvas/utils/general functions.d.ts.map +0 -1
  164. package/dist/cjs/canvas/utils/general functions.js.map +0 -1
  165. package/dist/cjs/canvas/utils/imageProperties.d.ts +0 -62
  166. package/dist/cjs/canvas/utils/imageProperties.d.ts.map +0 -1
  167. package/dist/cjs/canvas/utils/imageProperties.js +0 -341
  168. package/dist/cjs/canvas/utils/imageProperties.js.map +0 -1
  169. package/dist/cjs/canvas/utils/radius.d.ts +0 -10
  170. package/dist/cjs/canvas/utils/radius.d.ts.map +0 -1
  171. package/dist/cjs/canvas/utils/radius.js +0 -30
  172. package/dist/cjs/canvas/utils/radius.js.map +0 -1
  173. package/dist/cjs/canvas/utils/textProperties.d.ts.map +0 -1
  174. package/dist/cjs/canvas/utils/textProperties.js.map +0 -1
  175. package/dist/esm/ai/functions/generateVoiceResponse.d.ts +0 -10
  176. package/dist/esm/ai/functions/generateVoiceResponse.d.ts.map +0 -1
  177. package/dist/esm/ai/functions/generateVoiceResponse.js +0 -161
  178. package/dist/esm/ai/functions/generateVoiceResponse.js.map +0 -1
  179. package/dist/esm/ai/modals-chat/gemini/Gemini-flash.d.ts +0 -13
  180. package/dist/esm/ai/modals-chat/gemini/Gemini-flash.d.ts.map +0 -1
  181. package/dist/esm/ai/modals-chat/gemini/Gemini-flash.js +0 -185
  182. package/dist/esm/ai/modals-chat/gemini/Gemini-flash.js.map +0 -1
  183. package/dist/esm/ai/modals-chat/gemini/Gemini-pro.d.ts +0 -13
  184. package/dist/esm/ai/modals-chat/gemini/Gemini-pro.d.ts.map +0 -1
  185. package/dist/esm/ai/modals-chat/gemini/Gemini-pro.js +0 -185
  186. package/dist/esm/ai/modals-chat/gemini/Gemini-pro.js.map +0 -1
  187. package/dist/esm/ai/modals-chat/gemini/config.d.ts +0 -5
  188. package/dist/esm/ai/modals-chat/gemini/config.d.ts.map +0 -1
  189. package/dist/esm/ai/modals-chat/gemini/config.js +0 -13
  190. package/dist/esm/ai/modals-chat/gemini/config.js.map +0 -1
  191. package/dist/esm/ai/modals-chat/gemini/geminiFast.d.ts +0 -15
  192. package/dist/esm/ai/modals-chat/gemini/geminiFast.d.ts.map +0 -1
  193. package/dist/esm/ai/modals-chat/gemini/geminiFast.js +0 -146
  194. package/dist/esm/ai/modals-chat/gemini/geminiFast.js.map +0 -1
  195. package/dist/esm/canvas/utils/bg.d.ts +0 -23
  196. package/dist/esm/canvas/utils/bg.d.ts.map +0 -1
  197. package/dist/esm/canvas/utils/bg.js.map +0 -1
  198. package/dist/esm/canvas/utils/charts.d.ts.map +0 -1
  199. package/dist/esm/canvas/utils/charts.js.map +0 -1
  200. package/dist/esm/canvas/utils/circular.d.ts +0 -10
  201. package/dist/esm/canvas/utils/circular.d.ts.map +0 -1
  202. package/dist/esm/canvas/utils/conversion.d.ts.map +0 -1
  203. package/dist/esm/canvas/utils/conversion.js.map +0 -1
  204. package/dist/esm/canvas/utils/customLines.d.ts +0 -3
  205. package/dist/esm/canvas/utils/customLines.d.ts.map +0 -1
  206. package/dist/esm/canvas/utils/customLines.js.map +0 -1
  207. package/dist/esm/canvas/utils/general functions.d.ts.map +0 -1
  208. package/dist/esm/canvas/utils/general functions.js.map +0 -1
  209. package/dist/esm/canvas/utils/imageProperties.d.ts +0 -62
  210. package/dist/esm/canvas/utils/imageProperties.d.ts.map +0 -1
  211. package/dist/esm/canvas/utils/imageProperties.js +0 -341
  212. package/dist/esm/canvas/utils/imageProperties.js.map +0 -1
  213. package/dist/esm/canvas/utils/radius.d.ts +0 -10
  214. package/dist/esm/canvas/utils/radius.d.ts.map +0 -1
  215. package/dist/esm/canvas/utils/radius.js +0 -30
  216. package/dist/esm/canvas/utils/radius.js.map +0 -1
  217. package/dist/esm/canvas/utils/textProperties.d.ts.map +0 -1
  218. package/dist/esm/canvas/utils/textProperties.js.map +0 -1
  219. package/lib/ai/functions/generateVoiceResponse.ts +0 -186
  220. package/lib/ai/modals-chat/gemini/Gemini-flash.ts +0 -200
  221. package/lib/ai/modals-chat/gemini/Gemini-pro.ts +0 -203
  222. package/lib/ai/modals-chat/gemini/config.ts +0 -11
  223. package/lib/ai/modals-chat/gemini/geminiFast.ts +0 -169
  224. package/lib/canvas/utils/bg.ts +0 -120
  225. package/lib/canvas/utils/circular.ts +0 -17
  226. package/lib/canvas/utils/imageProperties.ts +0 -418
  227. package/lib/canvas/utils/radius.ts +0 -26
  228. /package/dist/cjs/canvas/utils/{charts.js → Charts/charts.js} +0 -0
  229. /package/dist/cjs/canvas/utils/{customLines.js → Custom/customLines.js} +0 -0
  230. /package/dist/cjs/canvas/utils/{conversion.d.ts → General/conversion.d.ts} +0 -0
  231. /package/dist/cjs/canvas/utils/{conversion.js → General/conversion.js} +0 -0
  232. /package/dist/cjs/canvas/utils/{textProperties.js → Texts/textProperties.js} +0 -0
  233. /package/dist/esm/canvas/utils/{charts.js → Charts/charts.js} +0 -0
  234. /package/dist/esm/canvas/utils/{customLines.js → Custom/customLines.js} +0 -0
  235. /package/dist/esm/canvas/utils/{conversion.d.ts → General/conversion.d.ts} +0 -0
  236. /package/dist/esm/canvas/utils/{conversion.js → General/conversion.js} +0 -0
  237. /package/dist/esm/canvas/utils/{textProperties.js → Texts/textProperties.js} +0 -0
  238. /package/lib/canvas/utils/{conversion.ts → General/conversion.ts} +0 -0
@@ -17,60 +17,77 @@ class ApexPainter {
17
17
  constructor({ type } = { type: 'buffer' }) {
18
18
  this.format = { type: type || 'buffer' };
19
19
  }
20
+ /**
21
+ * Creates a canvas with the given configuration.
22
+ * Applies rotation, shadow, border effects, background, and stroke.
23
+ *
24
+ * @param canvas - The configuration options for the canvas.
25
+ * @returns A promise that resolves to an object containing the image buffer and the canvas config.
26
+ * @throws If the 2D context cannot be retrieved.
27
+ */
20
28
  async createCanvas(canvas) {
21
- let canvasWidth = canvas.width || 500;
22
- let canvasHeight = canvas.height || 500;
23
- let borderRadius = canvas.borderRadius || 0;
24
- const canvasInstance = (0, canvas_1.createCanvas)(canvasWidth, canvasHeight);
29
+ const { width = 500, height = 500, x = 0, y = 0, rotation = 0, borderRadius = 0, customBg, gradientBg, stroke, shadow, borderPosition = 'all', opacity = 1, zoom } = canvas;
30
+ const canvasInstance = (0, canvas_1.createCanvas)(width, height);
25
31
  const ctx = canvasInstance.getContext('2d');
26
32
  if (!ctx) {
27
33
  throw new Error('Unable to get 2D rendering context from canvas');
28
34
  }
29
- (0, utils_1.applyRotation)(ctx, canvas.rotation || 0, canvas.x || 0, canvas.y || 0, canvasWidth, canvasHeight);
30
- (0, utils_1.applyShadow)(ctx, canvas.shadow, canvas.x || 0, canvas.y || 0, canvasWidth, canvasHeight);
35
+ ctx.globalAlpha = opacity;
36
+ (0, utils_1.applyRotation)(ctx, rotation, x, y, width, height);
37
+ (0, utils_1.applyShadow)(ctx, shadow, x, y, width, height);
38
+ ctx.save();
31
39
  if (typeof borderRadius === 'string') {
32
- (0, utils_1.circularBorder)(ctx, canvasWidth, canvasHeight);
40
+ (0, utils_1.circularBorder)(ctx, width, height);
33
41
  }
34
42
  else if (typeof borderRadius === 'number') {
35
- (0, utils_1.radiusBorder)(ctx, canvas.x || 0, canvas.y || 0, canvasWidth, canvasHeight, borderRadius);
43
+ (0, utils_1.radiusBorder)(ctx, x, y, width, height, borderRadius, borderPosition);
36
44
  }
37
- if (canvas.customBg) {
45
+ ctx.translate(x, y);
46
+ (0, utils_1.applyZoom)(ctx, zoom);
47
+ if (customBg) {
38
48
  await (0, utils_1.customBackground)(ctx, canvas);
39
49
  }
40
- else if (canvas.gradientBg) {
50
+ else if (gradientBg) {
41
51
  await (0, utils_1.drawBackgroundGradient)(ctx, canvas);
42
52
  }
43
53
  else {
44
54
  await (0, utils_1.drawBackgroundColor)(ctx, canvas);
45
55
  }
46
- (0, utils_1.applyStroke)(ctx, canvas.stroke, canvas.x || 0, canvas.y || 0, canvasWidth, canvasHeight);
56
+ ctx.restore();
57
+ (0, utils_1.applyStroke)(ctx, stroke, x, y, width, height);
47
58
  return { buffer: canvasInstance.toBuffer('image/png'), canvas };
48
59
  }
60
+ /**
61
+ * Draws one or more images (or shapes) on an existing canvas buffer.
62
+ * @param images - A single image properties object or an array of them.
63
+ * @param canvasBuffer - A Buffer or a CanvasResults object containing a buffer.
64
+ * @returns A promise that resolves to a Buffer representing the updated canvas.
65
+ */
49
66
  async createImage(images, canvasBuffer) {
50
67
  if (!Array.isArray(images)) {
51
68
  images = [images];
52
69
  }
53
- let existingCanvas;
70
+ let baseImage;
54
71
  if (Buffer.isBuffer(canvasBuffer)) {
55
- existingCanvas = await (0, canvas_1.loadImage)(canvasBuffer);
72
+ baseImage = await (0, canvas_1.loadImage)(canvasBuffer);
56
73
  }
57
- else if (canvasBuffer && canvasBuffer.buffer) {
58
- existingCanvas = await (0, canvas_1.loadImage)(canvasBuffer.buffer);
74
+ else if (canvasBuffer.buffer) {
75
+ baseImage = await (0, canvas_1.loadImage)(canvasBuffer.buffer);
59
76
  }
60
77
  else {
61
- throw new Error('Invalid canvasBuffer provided, should be Buffer or CanvasResults object with buffer');
78
+ throw new Error('Invalid canvasBuffer provided; expected Buffer or CanvasResults with a buffer');
62
79
  }
63
- if (!existingCanvas) {
64
- throw new Error('Unable to load image from buffer');
80
+ if (!baseImage) {
81
+ throw new Error('Unable to load base image from the provided buffer');
65
82
  }
66
- const canvas = (0, canvas_1.createCanvas)(existingCanvas.width, existingCanvas.height);
83
+ const canvas = (0, canvas_1.createCanvas)(baseImage.width, baseImage.height);
67
84
  const ctx = canvas.getContext('2d');
68
85
  if (!ctx) {
69
86
  throw new Error('Unable to get 2D rendering context from canvas');
70
87
  }
71
- ctx.drawImage(existingCanvas, 0, 0);
72
- for (const image of images) {
73
- await this.drawImage(ctx, image);
88
+ ctx.drawImage(baseImage, 0, 0);
89
+ for (const imageProps of images) {
90
+ await this.drawImage(ctx, imageProps);
74
91
  }
75
92
  return canvas.toBuffer('image/png');
76
93
  }
@@ -349,50 +366,55 @@ class ApexPainter {
349
366
  }
350
367
  }
351
368
  async drawImage(ctx, image) {
352
- const { source, x, y, width, height, rotation, borderRadius, stroke, shadow, isFilled, color, gradient, borderPosition, opacity } = image;
353
- if (!source || typeof x !== 'number' || typeof y !== 'number' || typeof width !== 'number' || typeof height !== 'number') {
354
- throw new Error('Invalid image properties');
369
+ const { source, x, y, width, height, rotation = 0, borderRadius = 0, stroke, shadow, isFilled, color, gradient, borderPosition = 'all', opacity, perspective } = image;
370
+ if (!source ||
371
+ typeof x !== 'number' ||
372
+ typeof y !== 'number' ||
373
+ typeof width !== 'number' ||
374
+ typeof height !== 'number') {
375
+ throw new Error('Invalid image properties: source, x, y, width, and height are required.');
376
+ }
377
+ const shapeNames = ['circle', 'square', 'triangle', 'pentagon', 'hexagon', 'heptagon', 'octagon', 'star', 'kite'];
378
+ const isShape = shapeNames.includes(source.toLowerCase());
379
+ if (opacity !== undefined) {
380
+ ctx.globalAlpha = opacity;
381
+ }
382
+ if (isShape) {
383
+ (0, utils_1.drawShape)(ctx, { source, x, y, width, height, rotation, borderRadius, stroke, shadow, isFilled, color, gradient, borderPosition });
384
+ ctx.globalAlpha = 1.0;
385
+ return;
355
386
  }
356
- let img = undefined;
387
+ let loadedImage;
357
388
  try {
358
- const shapeNames = ['circle', 'square', 'triangle', 'pentagon', 'hexagon', 'heptagon', 'octagon', 'star', 'kite'];
359
- const isShape = shapeNames.includes(source.toLowerCase());
360
- if (opacity) {
361
- ctx.globalAlpha = opacity;
362
- }
363
389
  if (source.startsWith('http')) {
364
- img = await (0, canvas_1.loadImage)(source);
365
- }
366
- else if (isShape) {
367
- (0, utils_1.drawShape)(ctx, { source, x, y, width, height, rotation, borderRadius, stroke, shadow, isFilled, color, gradient, borderPosition });
390
+ loadedImage = await (0, canvas_1.loadImage)(source);
368
391
  }
369
392
  else {
370
393
  const imagePath = path_1.default.join(process.cwd(), source);
371
- try {
372
- img = await (0, canvas_1.loadImage)(imagePath);
373
- }
374
- catch (e) {
375
- throw new Error(`Error loading image: ${e.message}`);
376
- }
377
- }
378
- if (img) {
379
- ctx.save();
380
- (0, utils_1.applyRotation)(ctx, rotation || 0, x, y, width, height);
381
- (0, utils_1.applyShadow)(ctx, shadow, x, y, width, height);
382
- (0, utils_1.imageRadius)(ctx, img, x, y, width, height, borderRadius || 0, borderPosition);
383
- (0, utils_1.applyStroke)(ctx, stroke, x, y, width, height);
384
- ctx.restore();
385
- }
386
- else if (!isShape) {
387
- throw new Error('Invalid image source or shape name');
394
+ loadedImage = await (0, canvas_1.loadImage)(imagePath);
388
395
  }
389
396
  }
390
- catch (error) {
391
- throw new Error(error.message);
397
+ catch (e) {
398
+ throw new Error(`Error loading image: ${e.message}`);
392
399
  }
393
- finally {
394
- ctx.globalAlpha = 1.0;
400
+ if (!loadedImage) {
401
+ throw new Error('Invalid image source or failed to load image');
395
402
  }
403
+ ctx.save();
404
+ (0, utils_1.applyRotation)(ctx, rotation, x, y, width, height);
405
+ (0, utils_1.applyShadow)(ctx, shadow, x, y, width, height);
406
+ if (perspective) {
407
+ throw new Error('Under construction');
408
+ // const offscreen = createCanvas(width, height);
409
+ // const offCtx = offscreen.getContext('2d') as SKRSContext2D;
410
+ // offCtx.clearRect(0, 0, width, height);
411
+ // await applyPerspective(offCtx, loadedImage, 0, 0, width, height, perspective, 10, 10);
412
+ // imageRadius(ctx, offscreen, x, y, width, height, borderRadius, borderPosition);
413
+ }
414
+ (0, utils_1.imageRadius)(ctx, loadedImage, x, y, width, height, borderRadius, borderPosition);
415
+ (0, utils_1.applyStroke)(ctx, stroke, x, y, width, height);
416
+ ctx.restore();
417
+ ctx.globalAlpha = 1.0;
396
418
  }
397
419
  async extractFrames(videoSource, options) {
398
420
  const frames = [];
@@ -1 +1 @@
1
- {"version":3,"file":"ApexPainter.js","sourceRoot":"","sources":["../../../lib/canvas/ApexPainter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApexPainter.js","sourceRoot":"","sources":["../../../lib/canvas/ApexPainter.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA8F;AAC9F,4DAAoC;AACpC,kEAAmC;AACnC,mCAAoC;AACpC,kDAA0B;AAC1B,4CAAoB;AACpB,gDAAwB;AACxB,yCAQ2B;AAO3B,MAAa,WAAW;IACd,MAAM,CAAgB;IAE9B,YAAY,EAAE,IAAI,KAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE;QACrD,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,YAAY,CAAC,MAAoB;QACrC,MAAM,EACJ,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,GAAG,EACZ,CAAC,GAAG,CAAC,EACL,CAAC,GAAG,CAAC,EACL,QAAQ,GAAG,CAAC,EACZ,YAAY,GAAG,CAAC,EAChB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,cAAc,GAAG,KAAK,EACtB,OAAO,GAAG,CAAC,EACX,IAAI,EACL,GAAG,MAAM,CAAC;QAEX,MAAM,cAAc,GAAG,IAAA,qBAAY,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAyB,CAAC;QACpE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;QAE1B,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,IAAA,mBAAW,EAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAE9C,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAA,sBAAc,EAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC5C,IAAA,oBAAY,EAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QACvE,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpB,IAAA,iBAAS,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAErB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAA,wBAAgB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,MAAM,IAAA,8BAAsB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,MAAM,IAAA,2BAAmB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,GAAG,CAAC,OAAO,EAAE,CAAC;QAEd,IAAA,mBAAW,EAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAE9C,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CACf,MAA2C,EAC3C,YAAoC;QAGpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,SAAgB,CAAC;QAErB,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,SAAS,GAAG,MAAM,IAAA,kBAAS,EAAC,YAAY,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAK,YAA8B,CAAC,MAAM,EAAE,CAAC;YAClD,SAAS,GAAG,MAAM,IAAA,kBAAS,EAAE,YAA8B,CAAC,MAAM,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;QACnG,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAyB,CAAC;QAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/B,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,gBAA8B,EAAE,MAA8B;QAC7E,IAAI,CAAC;YAEH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACrC,gBAAgB,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACxC,CAAC;YAEC,IAAI,aAAkB,CAAC;YAEvB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,aAAa,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnC,aAAa,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;YAChH,CAAC;YAED,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YACvE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEpC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEnC,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE,CAAC;gBACzC,MAAM,iBAAiB,GAAG,WAAW,CAAC;gBAEtC,IAAI,iBAAiB,CAAC,QAAQ,EAAE,CAAC;oBAE7B,oBAAW,CAAC,gBAAgB,CAC1B,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAClD,iBAAiB,CAAC,QAAQ,CAC7B,CAAC;gBACN,CAAC;gBAED,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC1E,IAAA,gBAAQ,EAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC;YAED,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAID,KAAK,CAAC,YAAY,CAAC,OAAwB,EAAE,MAA8B;QACzE,IAAI,CAAC;YAEH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;YAED,IAAI,aAAkB,CAAC;YAEvB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,aAAa,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnC,aAAa,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;YAChH,CAAC;YAED,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YACvE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEpC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEnC,IAAA,mBAAW,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAE1B,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAqD,EAAE,OAAmB;QACxF,KAAK,UAAU,WAAW,CAAC,KAAU,EAAE,WAAmB,EAAE,YAAoB;YAC5E,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YACtD,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,SAAS,kBAAkB,CAAC,UAAkB;YAC1C,OAAO,YAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,SAAS,kBAAkB;YACvB,MAAM,YAAY,GAAG,IAAI,oBAAW,EAAE,CAAC;YACvC,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,OAAO;gBACH,GAAG,YAAY;gBACf,SAAS,EAAE;oBACP,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjC,CAAC;aACG,CAAC;QACb,CAAC;QAED,SAAS,eAAe,CAAC,OAAmB;YACxC,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC7F,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC;gBACxH,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC/E,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACtB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;gBACxC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5D,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBAC3E,CAAC;gBACD,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;oBAC/G,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;gBACtF,CAAC;gBACD,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,WAAW,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;oBACnF,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBAC7E,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACD,eAAe,CAAC,OAAO,CAAC,CAAC;YAEzB,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;YAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;YAE5C,MAAM,OAAO,GAAG,IAAI,oBAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;YAExG,OAAO,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE9C,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAE1C,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACvD,MAAM,GAAG,GAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAExC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAS,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAChD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;gBAEzE,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjD,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAElC,IAAI,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;oBAC5B,MAAM,SAAS,GAAG,MAAM,IAAA,kBAAS,EAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACzD,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;gBACvE,CAAC;gBAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACtB,GAAG,CAAC,IAAI,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,UAAU,CAAC;oBAC3D,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,IAAI,OAAO,CAAC;oBACzD,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrG,CAAC;gBAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YAED,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,YAAY,CAAC,GAAG,EAAE,CAAC;YAEnB,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;gBAClC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YACvE,CAAC;iBAAM,IAAI,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;gBAC3C,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;oBAC9B,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACvD,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7C,OAAO,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvD,CAAC;iBAAM,IAAI,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;gBAC3C,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;oBAC9B,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC;gBACpC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;YAClH,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACzB,MAAM,CAAC,CAAC;QACZ,CAAC;IACH,CAAC;IAEC,KAAK,CAAC,MAAM,CAAC,aAA4B;QACvC,OAAO,IAAA,mBAAW,EAAC,aAAa,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,YAAoB;QACxD,OAAO,IAAA,iBAAS,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,OAAc;QAClD,OAAO,IAAA,kBAAU,EAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,WAAgB,EAAE,OAAgB;QACtE,OAAO,IAAA,yBAAiB,EAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,OAAO,IAAA,oBAAY,EAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,aAA2D;QAChG,OAAO,IAAA,mBAAW,EAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,MAAc;QACrD,OAAO,IAAA,iBAAS,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,KAAK,CACT,MAWG,EACH,eAAuB;QAEvB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAA,kBAAS,EAAC,eAAe,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEpC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAE/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,MAAM,IAAA,kBAAS,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChD,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAEpE,GAAG,CAAC,wBAAwB,GAAG,KAAK,CAAC,SAAS,CAAC;gBAC/C,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5E,CAAC;YAED,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;YACtB,GAAG,CAAC,wBAAwB,GAAG,aAAa,CAAC;YAE7C,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAS,EAAE,IAA+C;QAE1E,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAExC,QAAQ,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9B,KAAK,KAAK;gBACN,QAAQ,WAAW,EAAE,CAAC;oBAClB,KAAK,CAAC;wBACF,OAAO,MAAM,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC;oBACxC,KAAK,CAAC;wBACF,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBAC1D;wBACI,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBACtE,CAAC;YACL,KAAK,MAAM;gBACP,QAAQ,WAAW,EAAE,CAAC;oBAClB,KAAK,CAAC;wBACF,OAAO,MAAM,IAAA,iBAAS,EAAC,IAAI,CAAC,CAAC;oBACjC,KAAK,CAAC;wBACF,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBAC1D;wBACI,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACvE,CAAC;YACL,KAAK,KAAK;gBACN,QAAQ,WAAW,EAAE,CAAC;oBAClB,KAAK,CAAC;wBACF,OAAO,MAAM,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;oBAChC,KAAK,CAAC;wBACF,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBAC1D;wBACI,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBACtE,CAAC;YACL;gBACI,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,IAAI,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAGD,KAAK,CAAE,SAAS,CAAC,OAAoB;QACnC,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YAC/H,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YAEjK,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3B,OAAO,MAAM,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClC,OAAO,MAAM,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,GAAkB,EAClB,KAAsB;QAEtB,MAAM,EACJ,MAAM,EACN,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,CAAC,EACZ,YAAY,GAAG,CAAC,EAChB,MAAM,EACN,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,cAAc,GAAG,KAAK,EACtB,OAAO,EACP,WAAW,EACZ,GAAG,KAAK,CAAC;QAEV,IACE,CAAC,MAAM;YACP,OAAO,CAAC,KAAK,QAAQ;YACrB,OAAO,CAAC,KAAK,QAAQ;YACrB,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,MAAM,KAAK,QAAQ,EAC1B,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAClH,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAE1D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;QAC5B,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,IAAA,iBAAS,EAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;YACnI,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,WAA8B,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,WAAW,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;gBACnD,WAAW,GAAG,MAAM,IAAA,kBAAS,EAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,IAAA,mBAAW,EAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAE9C,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;YACnC,iDAAiD;YACjD,8DAA8D;YAC9D,yCAAyC;YAEzC,yFAAyF;YAEzF,kFAAkF;QACtF,CAAC;QAED,IAAA,mBAAW,EAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QAEjF,IAAA,mBAAW,EAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,GAAG,CAAC,OAAO,EAAE,CAAC;QAEd,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,CAAC;IAGH,KAAK,CAAC,aAAa,CAAC,WAA4B,EAAE,OAA6B;QAC7E,MAAM,MAAM,GAAS,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEhD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,YAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAExG,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,YAAE,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,MAAM,IAAA,eAAK,EAAC;gBACR,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,WAAW;gBAChB,YAAY,EAAE,aAAa;aAC9B,CAAC;iBACD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACf,YAAE,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE;gBACT,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QAED,SAAS,sBAAsB,CAAC,SAAiB,EAAE,MAAa,EAAE,OAA6B,EAAE,OAAY,EAAE,MAAW;YACtH,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;YACnD,MAAM,kBAAkB,GAAG,cAAc,YAAY,EAAE,CAAC;YAExD,IAAA,uBAAM,EAAC,SAAS,CAAC;iBACZ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACZ,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBAC9C,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACjB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvD,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC;iBACD,aAAa,CAAC,CAAC,aAAa,OAAO,CAAC,QAAQ,GAAG,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;iBACjE,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAEzD,uBAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBACxC,IAAI,GAAG,EAAE,CAAC;oBACN,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;gBACD,MAAM,QAAQ,GAAG,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;gBAC5C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzB,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;gBACtE,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;oBACnC,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7H,SAAS;oBACb,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC;wBACR,MAAM,EAAE,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC;wBAClF,QAAQ,EAAE,KAAK;qBAClB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAID;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAa,EAAE,OAAuB;QAE7D,MAAM,GAAG,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,GAAG,GAAkB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEzB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;QAE5C,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9B,GAAG,CAAC,IAAI,EAAE,CAAC;QAEX,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;aAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YACjC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC;YACxC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QAED,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM;gBACP,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9D,MAAM;YACV,KAAK,SAAS;gBACV,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjE,MAAM;YACV,KAAK,MAAM;gBACP,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9D,MAAM;YACV,KAAK,cAAc;gBACf,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtE,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChE,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC3D,CAAC;QAED,GAAG,CAAC,OAAO,EAAE,CAAC;QAEd,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAGC;;;;;;;;OAQG;IACH,KAAK,CAAC,gBAAgB,CACpB,GAAkB,EAClB,KAAa,EACb,MAAc,EACd,QAAwB,EACxB,IAAY,CAAC,EACb,IAAY,CAAC;QAEb,IAAI,IAAoB,CAAC;QAEzB,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,GAAG,GAAG,CAAC,oBAAoB,CAC7B,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAC1B,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAC1B,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,EAC5B,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAC9B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,GAAG,CAAC,oBAAoB,CAC7B,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAClC,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EACnC,QAAQ,CAAC,WAAW,IAAI,CAAC,EACzB,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAChC,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EACjC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAC9C,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;QACrB,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAE,eAAe,CACpB,GAAkB,EAClB,KAAa,EACb,MAAc,EACd,OAAuB,EACvB,IAAY,CAAC,EACb,IAAY,CAAC;QAEb,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAEtC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;QAEtB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE,IAAI,IAAI,OAAO,EAAE,CAAC;YACtD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,IAAI,OAAO,EAAE,CAAC;gBACrD,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC5C,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,kBAAkB,CACtB,GAAkB,EAClB,KAAa,EACb,MAAc,EACd,OAAuB,EACvB,IAAY,CAAC,EACb,IAAY,CAAC;QAEb,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;QACvC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;QAEjC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;QAEtB,GAAG,CAAC,IAAI,EAAE,CAAC;QAEX,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACpC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEvC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,WAAW,GAAG,OAAO,EAAE,CAAC;YAC/D,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IACC;;;;;;;;KAQC;IACH,KAAK,CAAC,eAAe,CACnB,GAAkB,EAClB,KAAa,EACb,MAAc,EACd,OAAuB,EACvB,IAAY,CAAC,EACb,IAAY,CAAC;QAEb,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QAEhC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QACxB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YACnD,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACpB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;YAC7B,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;QAED,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YACpD,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACpB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5B,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,uBAAuB,CAC3B,GAAkB,EAClB,KAAa,EACb,MAAc,EACd,OAAuB,EACvB,IAAY,CAAC,EACb,IAAY,CAAC;QAEb,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QAEhC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YACnD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;gBAClD,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;gBAChG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CACrB,GAAkB,EAClB,KAAa,EACb,MAAc,EACd,OAAuB,EACvB,IAAY,CAAC,EACb,IAAY,CAAC;QAEb,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAA,kBAAS,EAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC1D,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;QACxB,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAClC,GAAG,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAGH,KAAK,CAAC,OAAO,CACX,MAAe,EACf,eAAuB,EACvB,eAAuB,GAAG,EAC1B,gBAAwB,GAAG,EAC3B,OAMC;QAED,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;QAE3G,IAAI,OAAO,EAAE,OAAO;YAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QAExC,IAAI,OAAO,GAAsB,IAAI,CAAC;QACtC,IAAI,SAAS,GAA0B,IAAI,CAAC;QAE5C,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,GAAG,IAAI,oBAAU,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YACtD,SAAS,GAAG,YAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACrB,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAExB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,YAAY,CAAC;YAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,aAAa,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAkB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEnD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;gBACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAyB,CAAC,CAAC;YACzD,CAAC;YAED,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAEnC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC;gBACrG,GAAG,CAAC,IAAI,EAAE,CAAC;gBACX,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;gBACrC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9B,CAAC;YAED,IAAI,SAAS,GAAmD,IAAI,CAAC;YAErE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACjB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAC5F,IAAI,QAAQ,GAA0B,IAAI,CAAC;gBAE3C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpB,QAAQ,GAAG,GAAG,CAAC,oBAAoB,CAAC,MAAM,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC;gBACjG,CAAC;qBAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,QAAQ,GAAG,GAAG,CAAC,oBAAoB,CAC/B,MAAM,IAAI,KAAK,GAAG,CAAC,EACnB,MAAM,IAAI,MAAM,GAAG,CAAC,EACpB,WAAW,IAAI,CAAC,EAChB,IAAI,IAAI,KAAK,GAAG,CAAC,EACjB,IAAI,IAAI,MAAM,GAAG,CAAC,EAClB,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CACvC,CAAC;gBACN,CAAC;gBAED,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBACvB,IAAI,QAAQ;wBAAE,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gBACzE,CAAC,CAAC,CAAC;gBAEH,SAAS,GAAG,QAAQ,CAAC;YACzB,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,MAAM,IAAA,kBAAS,EAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC9D,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;gBAClF,SAAS,GAAG,OAAO,CAAC;YACxB,CAAC;YAED,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;gBACtC,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC;YACtC,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACZ,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC1B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAS,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC/C,GAAG,CAAC,wBAAwB,GAAG,KAAK,CAAC,SAAS,IAAI,aAAa,CAAC;gBAChE,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACrB,KAAK,CAAC,YAAY,CAAC,GAA0C,EAAE,MAAM,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,GAAG,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErB,IAAI,OAAO,EAAE,CAAC;gBAEV,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,IAAI,eAAe,CAAC;gBACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAChC,OAAO,CAAC,QAAQ,CAAC,GAA0C,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,OAAO,EAAE,OAAO;gBAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEzC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,eAAe,CAAC,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,OAAO,EAAE,KAAK;YAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAEpC,OAAO,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5C,CAAC;IAEM,QAAQ,CAAC,QAAgB;QAC5B,MAAM,UAAU,GAAG,mBAAmB,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAY;QAE9B,MAAM,UAAU,GAAW,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,QAAQ,CAAC;QACzD,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,OAAO,CAAC;YACjB,KAAK,KAAK;gBACR,OAAO,MAAM,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC;YAC5B,KAAK,SAAS;gBACZ,OAAO,IAAA,eAAO,EAAC,OAAO,CAAC,CAAC;YAC1B,KAAK,MAAM;gBACT,OAAO,IAAA,YAAI,EAAC,OAAO,CAAC,CAAC;YACvB,KAAK,QAAQ;gBACX,OAAO,IAAA,cAAM,EAAC,OAAO,CAAC,CAAC;YACzB,KAAK,aAAa;gBAChB,OAAO,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;YAC9B;gBACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF;AA5gCD,kCA4gCC"}
@@ -0,0 +1,24 @@
1
+ import { SKRSContext2D } from "@napi-rs/canvas";
2
+ import { CanvasConfig } from '../types';
3
+ /**
4
+ * Draws a gradient background on the canvas.
5
+ * No zoom logic is applied.
6
+ * @param ctx The canvas rendering context.
7
+ * @param canvas The canvas configuration object.
8
+ */
9
+ export declare function drawBackgroundGradient(ctx: SKRSContext2D, canvas: CanvasConfig): Promise<void>;
10
+ /**
11
+ * Draws a solid background color on the canvas.
12
+ * No zoom logic is applied.
13
+ * @param ctx The canvas rendering context.
14
+ * @param canvas The canvas configuration object.
15
+ */
16
+ export declare function drawBackgroundColor(ctx: SKRSContext2D, canvas: CanvasConfig): Promise<void>;
17
+ /**
18
+ * Draws a custom background image on the canvas.
19
+ * No zoom logic is applied.
20
+ * @param ctx The canvas rendering context.
21
+ * @param canvas The canvas configuration object.
22
+ */
23
+ export declare function customBackground(ctx: SKRSContext2D, canvas: CanvasConfig): Promise<void>;
24
+ //# sourceMappingURL=bg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bg.d.ts","sourceRoot":"","sources":["../../../../../lib/canvas/utils/Background/bg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxC;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCpG;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CASjG;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB9F"}
@@ -3,35 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.drawBackgroundColor = drawBackgroundColor;
7
6
  exports.drawBackgroundGradient = drawBackgroundGradient;
7
+ exports.drawBackgroundColor = drawBackgroundColor;
8
8
  exports.customBackground = customBackground;
9
9
  const canvas_1 = require("@napi-rs/canvas");
10
10
  const path_1 = __importDefault(require("path"));
11
- /**
12
- * Draws a solid background color on the canvas.
13
- * Applies zoom scaling and positioning adjustments.
14
- * @param ctx The canvas rendering context.
15
- * @param canvas The canvas configuration object.
16
- */
17
- async function drawBackgroundColor(ctx, canvas) {
18
- const zoomScale = canvas.zoom?.scale || 1;
19
- const zoomX = canvas.zoom?.x || 0;
20
- const zoomY = canvas.zoom?.y || 0;
21
- const canvasWidth = canvas.width || 500;
22
- const canvasHeight = canvas.height || 500;
23
- const newWidth = canvasWidth * zoomScale;
24
- const newHeight = canvasHeight * zoomScale;
25
- const drawX = (canvasWidth - newWidth) / 2 - zoomX;
26
- const drawY = (canvasHeight - newHeight) / 2 - zoomY;
27
- if (canvas.colorBg !== 'transparent') {
28
- ctx.fillStyle = canvas.colorBg;
29
- ctx.fillRect(drawX, drawY, newWidth, newHeight);
30
- }
31
- }
32
11
  /**
33
12
  * Draws a gradient background on the canvas.
34
- * Applies zoom scaling and positioning adjustments.
13
+ * No zoom logic is applied.
35
14
  * @param ctx The canvas rendering context.
36
15
  * @param canvas The canvas configuration object.
37
16
  */
@@ -42,20 +21,11 @@ async function drawBackgroundGradient(ctx, canvas) {
42
21
  throw new Error('You need to provide colors for the gradient.');
43
22
  }
44
23
  let gradient;
45
- const zoomScale = canvas.zoom?.scale || 1;
46
- const zoomX = canvas.zoom?.x || 0;
47
- const zoomY = canvas.zoom?.y || 0;
48
- const newStartX = startX * zoomScale - zoomX;
49
- const newStartY = startY * zoomScale - zoomY;
50
- const newEndX = endX * zoomScale - zoomX;
51
- const newEndY = endY * zoomScale - zoomY;
52
24
  if (type === 'linear' || type === undefined) {
53
- gradient = ctx.createLinearGradient(newStartX, newStartY, newEndX, newEndY);
25
+ gradient = ctx.createLinearGradient(startX, startY, endX, endY);
54
26
  }
55
27
  else if (type === 'radial') {
56
- const newStartRadius = startRadius * zoomScale;
57
- const newEndRadius = endRadius * zoomScale;
58
- gradient = ctx.createRadialGradient(newStartX, newStartY, newStartRadius, newEndX, newEndY, newEndRadius);
28
+ gradient = ctx.createRadialGradient(startX, startY, startRadius, endX, endY, endRadius);
59
29
  }
60
30
  else {
61
31
  throw new Error('Unsupported gradient type.');
@@ -63,17 +33,30 @@ async function drawBackgroundGradient(ctx, canvas) {
63
33
  for (const { stop, color } of colors) {
64
34
  gradient.addColorStop(stop, color);
65
35
  }
66
- const newWidth = (canvas.width || 500) * zoomScale;
67
- const newHeight = (canvas.height || 500) * zoomScale;
68
- const drawX = ((canvas.width || 500) - newWidth) / 2 - zoomX;
69
- const drawY = ((canvas.height || 500) - newHeight) / 2 - zoomY;
36
+ const canvasWidth = canvas.width || 500;
37
+ const canvasHeight = canvas.height || 500;
70
38
  ctx.fillStyle = gradient;
71
- ctx.fillRect(drawX, drawY, newWidth, newHeight);
39
+ ctx.fillRect(0, 0, canvasWidth, canvasHeight);
40
+ }
41
+ }
42
+ /**
43
+ * Draws a solid background color on the canvas.
44
+ * No zoom logic is applied.
45
+ * @param ctx The canvas rendering context.
46
+ * @param canvas The canvas configuration object.
47
+ */
48
+ async function drawBackgroundColor(ctx, canvas) {
49
+ const canvasWidth = canvas.width || 500;
50
+ const canvasHeight = canvas.height || 500;
51
+ // Fill the entire area starting at (0,0) (assuming translation is handled elsewhere)
52
+ if (canvas.colorBg !== 'transparent') {
53
+ ctx.fillStyle = canvas.colorBg;
54
+ ctx.fillRect(0, 0, canvasWidth, canvasHeight);
72
55
  }
73
56
  }
74
57
  /**
75
58
  * Draws a custom background image on the canvas.
76
- * Zoom logic is applied to scale and position the image.
59
+ * No zoom logic is applied.
77
60
  * @param ctx The canvas rendering context.
78
61
  * @param canvas The canvas configuration object.
79
62
  */
@@ -88,20 +71,12 @@ async function customBackground(ctx, canvas) {
88
71
  imageBuffer = path_1.default.join(process.cwd(), canvas.customBg);
89
72
  }
90
73
  const image = await (0, canvas_1.loadImage)(imageBuffer);
91
- const zoomScale = canvas.zoom?.scale || 1;
92
- if (zoomScale < 0)
93
- throw new Error("Invalid scale. Scale can't be a negative integer.");
94
- const zoomX = canvas.zoom?.x || 0;
95
- const zoomY = canvas.zoom?.y || 0;
96
- const moveX = canvas.x || 0;
97
- const moveY = canvas.y || 0;
74
+ // Use canvas dimensions without additional x/y translation,
75
+ // because createCanvas already translated the context.
98
76
  const canvasWidth = canvas.width || image.width;
99
77
  const canvasHeight = canvas.height || image.height;
100
- const newWidth = image.width * zoomScale;
101
- const newHeight = image.height * zoomScale;
102
- const drawX = moveX + (canvasWidth - newWidth) / 2 - zoomX;
103
- const drawY = moveY + (canvasHeight - newHeight) / 2 - zoomY;
104
- ctx.drawImage(image, drawX, drawY, newWidth, newHeight);
78
+ // Draw the image so that it fills the canvas area relative to (0,0)
79
+ ctx.drawImage(image, 0, 0, canvasWidth, canvasHeight);
105
80
  }
106
81
  catch (error) {
107
82
  console.error('Error loading custom background image:', error.message);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bg.js","sourceRoot":"","sources":["../../../../../lib/canvas/utils/Background/bg.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { SKRSContext2D } from "@napi-rs/canvas";
2
+ export declare function circularBorder(ctx: SKRSContext2D, width: number, height: number, radius?: number): void;
3
+ //# sourceMappingURL=circular.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circular.d.ts","sourceRoot":"","sources":["../../../../../lib/canvas/utils/Background/circular.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,wBAAgB,cAAc,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAU,GACjB,IAAI,CAQN"}
@@ -1,14 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.circularBorder = circularBorder;
4
- /**
5
- * Applies a circular border to the canvas context.
6
- * @param ctx The canvas rendering context.
7
- * @param width The width of the canvas.
8
- * @param height The height of the canvas.
9
- * @param radius The radius of the circular border.
10
- * @returns A void.
11
- */
12
4
  function circularBorder(ctx, width, height, radius = 0) {
13
5
  const minDimension = Math.min(width, height);
14
6
  const clipRadius = minDimension / 2 + radius;
@@ -1 +1 @@
1
- {"version":3,"file":"circular.js","sourceRoot":"","sources":["../../../../lib/canvas/utils/circular.ts"],"names":[],"mappings":";;AAQA,wCAQC;AAhBD;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,GAAQ,EAAE,KAAa,EAAE,MAAc,EAAE,SAAiB,CAAC;IACtF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC;IAC7C,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,IAAI,EAAE,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"circular.js","sourceRoot":"","sources":["../../../../../lib/canvas/utils/Background/circular.ts"],"names":[],"mappings":";;AAEA,wCAaG;AAbH,SAAgB,cAAc,CAC1B,GAAkB,EAClB,KAAa,EACb,MAAc,EACd,SAAiB,CAAC;IAElB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC;IAC7C,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,IAAI,EAAE,CAAC;AACb,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { SKRSContext2D } from "@napi-rs/canvas";
2
+ /**
3
+ * Applies a radius border (clipping path) to the canvas context with support for selective corner rounding.
4
+ *
5
+ * @param ctx The canvas rendering context.
6
+ * @param x The x-coordinate of the rectangle.
7
+ * @param y The y-coordinate of the rectangle.
8
+ * @param width The width of the rectangle.
9
+ * @param height The height of the rectangle.
10
+ * @param radius The radius for rounding the corners.
11
+ * @param borderPosition Which corners to round. Valid values include:
12
+ * - "all" (default)
13
+ * - "top", "bottom", "left", "right"
14
+ * - "top-left", "top-right", "bottom-left", "bottom-right"
15
+ * - A comma-separated list, e.g. "top, left, bottom" (for three sides) or "top-left, bottom-right"
16
+ */
17
+ export declare function radiusBorder(ctx: SKRSContext2D, x: number | undefined, y: number | undefined, width: number, height: number, radius?: number, borderPosition?: string): void;
18
+ //# sourceMappingURL=radius.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radius.d.ts","sourceRoot":"","sources":["../../../../../lib/canvas/utils/Background/radius.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,CAAC,EAAE,MAAM,YAAI,EACb,CAAC,EAAE,MAAM,YAAI,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAU,EAClB,cAAc,GAAE,MAAc,GAC7B,IAAI,CA4EN"}