apexify.js 4.8.2 → 4.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ai/ApexAI.d.ts +1 -0
- package/dist/cjs/ai/ApexAI.d.ts.map +1 -0
- package/dist/cjs/ai/ApexAI.js +64 -56
- package/dist/cjs/ai/ApexAI.js.map +1 -0
- package/dist/cjs/ai/ApexModules.d.ts +1 -0
- package/dist/cjs/ai/ApexModules.d.ts.map +1 -0
- package/dist/cjs/ai/ApexModules.js +33 -25
- package/dist/cjs/ai/ApexModules.js.map +1 -0
- package/dist/cjs/ai/functions/readFiles.d.ts +1 -0
- package/dist/cjs/ai/functions/readFiles.d.ts.map +1 -0
- package/dist/cjs/ai/functions/readFiles.js +51 -11
- package/dist/cjs/ai/functions/readFiles.js.map +1 -0
- package/dist/cjs/ai/functions/tokenizer.d.ts +1 -0
- package/dist/cjs/ai/functions/tokenizer.d.ts.map +1 -0
- package/dist/cjs/ai/functions/tokenizer.js +5 -1
- package/dist/cjs/ai/functions/tokenizer.js.map +1 -0
- package/dist/cjs/ai/functions/validOptions.d.ts +1 -0
- package/dist/cjs/ai/functions/validOptions.d.ts.map +1 -0
- package/dist/cjs/ai/functions/validOptions.js +23 -13
- package/dist/cjs/ai/functions/validOptions.js.map +1 -0
- package/dist/cjs/ai/modals/electronHub/chatmodels.d.ts +1 -0
- package/dist/cjs/ai/modals/electronHub/chatmodels.d.ts.map +1 -0
- package/dist/cjs/ai/modals/electronHub/chatmodels.js +12 -5
- package/dist/cjs/ai/modals/electronHub/chatmodels.js.map +1 -0
- package/dist/cjs/ai/modals/electronHub/imageModels.d.ts +1 -0
- package/dist/cjs/ai/modals/electronHub/imageModels.d.ts.map +1 -0
- package/dist/cjs/ai/modals/electronHub/imageModels.js +17 -10
- package/dist/cjs/ai/modals/electronHub/imageModels.js.map +1 -0
- package/dist/cjs/ai/modals/electronHub/speechModels.d.ts +1 -0
- package/dist/cjs/ai/modals/electronHub/speechModels.d.ts.map +1 -0
- package/dist/cjs/ai/modals/electronHub/speechModels.js +14 -7
- package/dist/cjs/ai/modals/electronHub/speechModels.js.map +1 -0
- package/dist/cjs/ai/modals/electronHub/videoModels.d.ts +1 -0
- package/dist/cjs/ai/modals/electronHub/videoModels.d.ts.map +1 -0
- package/dist/cjs/ai/modals/electronHub/videoModels.js +12 -5
- package/dist/cjs/ai/modals/electronHub/videoModels.js.map +1 -0
- package/dist/cjs/ai/modals/groq/chatgroq.d.ts +1 -0
- package/dist/cjs/ai/modals/groq/chatgroq.d.ts.map +1 -0
- package/dist/cjs/ai/modals/groq/chatgroq.js +11 -4
- package/dist/cjs/ai/modals/groq/chatgroq.js.map +1 -0
- package/dist/cjs/ai/modals/groq/imageAnalyzer.d.ts +1 -0
- package/dist/cjs/ai/modals/groq/imageAnalyzer.d.ts.map +1 -0
- package/dist/cjs/ai/modals/groq/imageAnalyzer.js +16 -9
- package/dist/cjs/ai/modals/groq/imageAnalyzer.js.map +1 -0
- package/dist/cjs/ai/modals/groq/whisper.d.ts +1 -0
- package/dist/cjs/ai/modals/groq/whisper.d.ts.map +1 -0
- package/dist/cjs/ai/modals/groq/whisper.js +27 -20
- package/dist/cjs/ai/modals/groq/whisper.js.map +1 -0
- package/dist/cjs/ai/modals/hercai/chatModels.d.ts +1 -0
- package/dist/cjs/ai/modals/hercai/chatModels.d.ts.map +1 -0
- package/dist/cjs/ai/modals/hercai/chatModels.js +7 -3
- package/dist/cjs/ai/modals/hercai/chatModels.js.map +1 -0
- package/dist/cjs/ai/utils.d.ts +4 -3
- package/dist/cjs/ai/utils.d.ts.map +1 -0
- package/dist/cjs/ai/utils.js +15 -4
- package/dist/cjs/ai/utils.js.map +1 -0
- package/dist/cjs/canvas/ApexPainter.d.ts +2 -1
- package/dist/cjs/canvas/ApexPainter.d.ts.map +1 -0
- package/dist/cjs/canvas/ApexPainter.js +99 -91
- package/dist/cjs/canvas/ApexPainter.js.map +1 -0
- package/dist/cjs/canvas/utils/Background/bg.d.ts +2 -1
- package/dist/cjs/canvas/utils/Background/bg.d.ts.map +1 -0
- package/dist/cjs/canvas/utils/Background/bg.js +18 -8
- package/dist/cjs/canvas/utils/Background/bg.js.map +1 -0
- package/dist/cjs/canvas/utils/Charts/charts.d.ts +2 -1
- package/dist/cjs/canvas/utils/Charts/charts.d.ts.map +1 -0
- package/dist/cjs/canvas/utils/Charts/charts.js +23 -14
- package/dist/cjs/canvas/utils/Charts/charts.js.map +1 -0
- package/dist/cjs/canvas/utils/Custom/customLines.d.ts +2 -1
- package/dist/cjs/canvas/utils/Custom/customLines.d.ts.map +1 -0
- package/dist/cjs/canvas/utils/Custom/customLines.js +8 -4
- package/dist/cjs/canvas/utils/Custom/customLines.js.map +1 -0
- package/dist/cjs/canvas/utils/General/conversion.d.ts +1 -0
- package/dist/cjs/canvas/utils/General/conversion.d.ts.map +1 -0
- package/dist/cjs/canvas/utils/General/conversion.js +15 -7
- package/dist/cjs/canvas/utils/General/conversion.js.map +1 -0
- package/dist/cjs/canvas/utils/General/general functions.d.ts +2 -1
- package/dist/cjs/canvas/utils/General/general functions.d.ts.map +1 -0
- package/dist/cjs/canvas/utils/General/general functions.js +64 -48
- package/dist/cjs/canvas/utils/General/general functions.js.map +1 -0
- package/dist/cjs/canvas/utils/Image/imageProperties.d.ts +2 -1
- package/dist/cjs/canvas/utils/Image/imageProperties.d.ts.map +1 -0
- package/dist/cjs/canvas/utils/Image/imageProperties.js +21 -9
- package/dist/cjs/canvas/utils/Image/imageProperties.js.map +1 -0
- package/dist/cjs/canvas/utils/Texts/textProperties.d.ts +2 -1
- package/dist/cjs/canvas/utils/Texts/textProperties.d.ts.map +1 -0
- package/dist/cjs/canvas/utils/Texts/textProperties.js +9 -3
- package/dist/cjs/canvas/utils/Texts/textProperties.js.map +1 -0
- package/dist/cjs/canvas/utils/types.d.ts +1 -0
- package/dist/cjs/canvas/utils/types.d.ts.map +1 -0
- package/dist/cjs/canvas/utils/types.js +3 -1
- package/dist/cjs/canvas/utils/types.js.map +1 -0
- package/dist/cjs/canvas/utils/utils.d.ts +9 -8
- package/dist/cjs/canvas/utils/utils.d.ts.map +1 -0
- package/dist/cjs/canvas/utils/utils.js +44 -8
- package/dist/cjs/canvas/utils/utils.js.map +1 -0
- package/dist/cjs/index.d.ts +6 -5
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +65 -15
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/cjs/utils.d.ts +4 -3
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/cjs/utils.js +16 -4
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/ai/ApexAI.d.ts +1 -0
- package/dist/esm/ai/ApexAI.d.ts.map +1 -0
- package/dist/esm/ai/ApexAI.js +64 -56
- package/dist/esm/ai/ApexAI.js.map +1 -0
- package/dist/esm/ai/ApexModules.d.ts +1 -0
- package/dist/esm/ai/ApexModules.d.ts.map +1 -0
- package/dist/esm/ai/ApexModules.js +33 -25
- package/dist/esm/ai/ApexModules.js.map +1 -0
- package/dist/esm/ai/functions/readFiles.d.ts +1 -0
- package/dist/esm/ai/functions/readFiles.d.ts.map +1 -0
- package/dist/esm/ai/functions/readFiles.js +51 -11
- package/dist/esm/ai/functions/readFiles.js.map +1 -0
- package/dist/esm/ai/functions/tokenizer.d.ts +1 -0
- package/dist/esm/ai/functions/tokenizer.d.ts.map +1 -0
- package/dist/esm/ai/functions/tokenizer.js +5 -1
- package/dist/esm/ai/functions/tokenizer.js.map +1 -0
- package/dist/esm/ai/functions/validOptions.d.ts +1 -0
- package/dist/esm/ai/functions/validOptions.d.ts.map +1 -0
- package/dist/esm/ai/functions/validOptions.js +23 -13
- package/dist/esm/ai/functions/validOptions.js.map +1 -0
- package/dist/esm/ai/modals/electronHub/chatmodels.d.ts +1 -0
- package/dist/esm/ai/modals/electronHub/chatmodels.d.ts.map +1 -0
- package/dist/esm/ai/modals/electronHub/chatmodels.js +12 -5
- package/dist/esm/ai/modals/electronHub/chatmodels.js.map +1 -0
- package/dist/esm/ai/modals/electronHub/imageModels.d.ts +1 -0
- package/dist/esm/ai/modals/electronHub/imageModels.d.ts.map +1 -0
- package/dist/esm/ai/modals/electronHub/imageModels.js +17 -10
- package/dist/esm/ai/modals/electronHub/imageModels.js.map +1 -0
- package/dist/esm/ai/modals/electronHub/speechModels.d.ts +1 -0
- package/dist/esm/ai/modals/electronHub/speechModels.d.ts.map +1 -0
- package/dist/esm/ai/modals/electronHub/speechModels.js +14 -7
- package/dist/esm/ai/modals/electronHub/speechModels.js.map +1 -0
- package/dist/esm/ai/modals/electronHub/videoModels.d.ts +1 -0
- package/dist/esm/ai/modals/electronHub/videoModels.d.ts.map +1 -0
- package/dist/esm/ai/modals/electronHub/videoModels.js +12 -5
- package/dist/esm/ai/modals/electronHub/videoModels.js.map +1 -0
- package/dist/esm/ai/modals/groq/chatgroq.d.ts +1 -0
- package/dist/esm/ai/modals/groq/chatgroq.d.ts.map +1 -0
- package/dist/esm/ai/modals/groq/chatgroq.js +11 -4
- package/dist/esm/ai/modals/groq/chatgroq.js.map +1 -0
- package/dist/esm/ai/modals/groq/imageAnalyzer.d.ts +1 -0
- package/dist/esm/ai/modals/groq/imageAnalyzer.d.ts.map +1 -0
- package/dist/esm/ai/modals/groq/imageAnalyzer.js +16 -9
- package/dist/esm/ai/modals/groq/imageAnalyzer.js.map +1 -0
- package/dist/esm/ai/modals/groq/whisper.d.ts +1 -0
- package/dist/esm/ai/modals/groq/whisper.d.ts.map +1 -0
- package/dist/esm/ai/modals/groq/whisper.js +27 -20
- package/dist/esm/ai/modals/groq/whisper.js.map +1 -0
- package/dist/esm/ai/modals/hercai/chatModels.d.ts +1 -0
- package/dist/esm/ai/modals/hercai/chatModels.d.ts.map +1 -0
- package/dist/esm/ai/modals/hercai/chatModels.js +7 -3
- package/dist/esm/ai/modals/hercai/chatModels.js.map +1 -0
- package/dist/esm/ai/utils.d.ts +4 -3
- package/dist/esm/ai/utils.d.ts.map +1 -0
- package/dist/esm/ai/utils.js +15 -4
- package/dist/esm/ai/utils.js.map +1 -0
- package/dist/esm/canvas/ApexPainter.d.ts +2 -1
- package/dist/esm/canvas/ApexPainter.d.ts.map +1 -0
- package/dist/esm/canvas/ApexPainter.js +99 -91
- package/dist/esm/canvas/ApexPainter.js.map +1 -0
- package/dist/esm/canvas/utils/Background/bg.d.ts +2 -1
- package/dist/esm/canvas/utils/Background/bg.d.ts.map +1 -0
- package/dist/esm/canvas/utils/Background/bg.js +18 -8
- package/dist/esm/canvas/utils/Background/bg.js.map +1 -0
- package/dist/esm/canvas/utils/Charts/charts.d.ts +2 -1
- package/dist/esm/canvas/utils/Charts/charts.d.ts.map +1 -0
- package/dist/esm/canvas/utils/Charts/charts.js +23 -14
- package/dist/esm/canvas/utils/Charts/charts.js.map +1 -0
- package/dist/esm/canvas/utils/Custom/customLines.d.ts +2 -1
- package/dist/esm/canvas/utils/Custom/customLines.d.ts.map +1 -0
- package/dist/esm/canvas/utils/Custom/customLines.js +8 -4
- package/dist/esm/canvas/utils/Custom/customLines.js.map +1 -0
- package/dist/esm/canvas/utils/General/conversion.d.ts +1 -0
- package/dist/esm/canvas/utils/General/conversion.d.ts.map +1 -0
- package/dist/esm/canvas/utils/General/conversion.js +15 -7
- package/dist/esm/canvas/utils/General/conversion.js.map +1 -0
- package/dist/esm/canvas/utils/General/general functions.d.ts +2 -1
- package/dist/esm/canvas/utils/General/general functions.d.ts.map +1 -0
- package/dist/esm/canvas/utils/General/general functions.js +64 -48
- package/dist/esm/canvas/utils/General/general functions.js.map +1 -0
- package/dist/esm/canvas/utils/Image/imageProperties.d.ts +2 -1
- package/dist/esm/canvas/utils/Image/imageProperties.d.ts.map +1 -0
- package/dist/esm/canvas/utils/Image/imageProperties.js +21 -9
- package/dist/esm/canvas/utils/Image/imageProperties.js.map +1 -0
- package/dist/esm/canvas/utils/Texts/textProperties.d.ts +2 -1
- package/dist/esm/canvas/utils/Texts/textProperties.d.ts.map +1 -0
- package/dist/esm/canvas/utils/Texts/textProperties.js +9 -3
- package/dist/esm/canvas/utils/Texts/textProperties.js.map +1 -0
- package/dist/esm/canvas/utils/types.d.ts +1 -0
- package/dist/esm/canvas/utils/types.d.ts.map +1 -0
- package/dist/esm/canvas/utils/types.js +3 -1
- package/dist/esm/canvas/utils/types.js.map +1 -0
- package/dist/esm/canvas/utils/utils.d.ts +9 -8
- package/dist/esm/canvas/utils/utils.d.ts.map +1 -0
- package/dist/esm/canvas/utils/utils.js +44 -8
- package/dist/esm/canvas/utils/utils.js.map +1 -0
- package/dist/esm/index.d.ts +6 -5
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +65 -15
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/esm/utils.d.ts +4 -3
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +16 -4
- package/dist/esm/utils.js.map +1 -0
- package/lib/ai/ApexAI.ts +4 -4
- package/lib/ai/ApexModules.ts +8 -8
- package/lib/ai/modals/electronHub/chatmodels.ts +1 -1
- package/lib/ai/modals/electronHub/imageModels.ts +2 -2
- package/lib/ai/modals/electronHub/speechModels.ts +1 -1
- package/lib/ai/utils.ts +3 -3
- package/lib/canvas/ApexPainter.ts +1 -1
- package/lib/canvas/utils/Background/bg.ts +1 -1
- package/lib/canvas/utils/Charts/charts.ts +1 -1
- package/lib/canvas/utils/Custom/customLines.ts +2 -2
- package/lib/canvas/utils/General/general functions.ts +1 -1
- package/lib/canvas/utils/Image/imageProperties.ts +1 -1
- package/lib/canvas/utils/Texts/textProperties.ts +1 -1
- package/lib/canvas/utils/utils.ts +8 -8
- package/lib/index.ts +5 -5
- package/lib/utils.ts +3 -3
- package/package.json +5 -7
- package/dist/cjs/ai/modals/electronHub/songModels.d.ts +0 -1
- package/dist/cjs/ai/modals/electronHub/songModels.js +0 -1
- package/dist/esm/ai/modals/electronHub/songModels.d.ts +0 -1
- package/dist/esm/ai/modals/electronHub/songModels.js +0 -1
- package/dist/tsconfig.cjs.tsbuildinfo +0 -1
- package/dist/tsconfig.esm.tsbuildinfo +0 -1
- package/lib/ai/modals/electronHub/songModels.ts +0 -0
|
@@ -1,9 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.loadImages = loadImages;
|
|
7
|
+
exports.resizingImg = resizingImg;
|
|
8
|
+
exports.converter = converter;
|
|
9
|
+
exports.applyColorFilters = applyColorFilters;
|
|
10
|
+
exports.imgEffects = imgEffects;
|
|
11
|
+
exports.cropInner = cropInner;
|
|
12
|
+
exports.cropOuter = cropOuter;
|
|
13
|
+
exports.detectColors = detectColors;
|
|
14
|
+
exports.removeColor = removeColor;
|
|
15
|
+
exports.bgRemoval = bgRemoval;
|
|
16
|
+
const path_1 = __importDefault(require("path"));
|
|
17
|
+
const sharp_1 = __importDefault(require("sharp"));
|
|
18
|
+
const canvas_1 = require("@napi-rs/canvas");
|
|
19
|
+
const fs_1 = __importDefault(require("fs"));
|
|
20
|
+
const axios_1 = __importDefault(require("axios"));
|
|
21
|
+
async function loadImages(imagePath) {
|
|
7
22
|
try {
|
|
8
23
|
if (!imagePath) {
|
|
9
24
|
throw new Error("Image path is required.");
|
|
@@ -14,11 +29,11 @@ export async function loadImages(imagePath) {
|
|
|
14
29
|
throw new Error("Failed to fetch image.");
|
|
15
30
|
}
|
|
16
31
|
const buffer = await response.arrayBuffer();
|
|
17
|
-
return
|
|
32
|
+
return (0, sharp_1.default)(buffer);
|
|
18
33
|
}
|
|
19
34
|
else {
|
|
20
|
-
const absolutePath =
|
|
21
|
-
return
|
|
35
|
+
const absolutePath = path_1.default.join(process.cwd(), imagePath);
|
|
36
|
+
return (0, sharp_1.default)(absolutePath);
|
|
22
37
|
}
|
|
23
38
|
}
|
|
24
39
|
catch (error) {
|
|
@@ -31,7 +46,7 @@ export async function loadImages(imagePath) {
|
|
|
31
46
|
* @param resizeOptions - The options for resizing.
|
|
32
47
|
* @returns A Promise that resolves with the resized image as a Buffer.
|
|
33
48
|
*/
|
|
34
|
-
|
|
49
|
+
async function resizingImg(resizeOptions) {
|
|
35
50
|
try {
|
|
36
51
|
if (!resizeOptions.imagePath) {
|
|
37
52
|
throw new Error("Image path is required for resizing.");
|
|
@@ -41,8 +56,8 @@ export async function resizingImg(resizeOptions) {
|
|
|
41
56
|
const resizeOptionsForSharp = {
|
|
42
57
|
width: resizeOptions.size?.width || 500,
|
|
43
58
|
height: resizeOptions.size?.height || 500,
|
|
44
|
-
fit: resizeOptions.maintainAspectRatio ?
|
|
45
|
-
kernel:
|
|
59
|
+
fit: resizeOptions.maintainAspectRatio ? sharp_1.default.fit.inside : sharp_1.default.fit.fill,
|
|
60
|
+
kernel: sharp_1.default.kernel.lanczos3,
|
|
46
61
|
withoutEnlargement: true,
|
|
47
62
|
};
|
|
48
63
|
const quality = resizeOptions.quality ?? 90;
|
|
@@ -57,7 +72,7 @@ export async function resizingImg(resizeOptions) {
|
|
|
57
72
|
throw new Error("Failed to resize image");
|
|
58
73
|
}
|
|
59
74
|
}
|
|
60
|
-
|
|
75
|
+
async function converter(imagePath, newExtension) {
|
|
61
76
|
try {
|
|
62
77
|
const validExtensions = ['jpeg', 'png', 'webp', 'tiff', 'gif', 'avif', 'heif', 'raw', 'pdf', 'svg'];
|
|
63
78
|
const newExt = newExtension.toLowerCase();
|
|
@@ -71,14 +86,14 @@ export async function converter(imagePath, newExtension) {
|
|
|
71
86
|
throw new Error("Failed to fetch image.");
|
|
72
87
|
}
|
|
73
88
|
const buffer = await response.arrayBuffer();
|
|
74
|
-
image =
|
|
89
|
+
image = (0, sharp_1.default)(Buffer.from(buffer));
|
|
75
90
|
}
|
|
76
91
|
else {
|
|
77
92
|
if (!imagePath) {
|
|
78
93
|
throw new Error("Image path is required.");
|
|
79
94
|
}
|
|
80
|
-
const absolutePath =
|
|
81
|
-
image =
|
|
95
|
+
const absolutePath = path_1.default.join(process.cwd(), imagePath);
|
|
96
|
+
image = (0, sharp_1.default)(absolutePath);
|
|
82
97
|
}
|
|
83
98
|
const convertedBuffer = await image.toFormat(newExt).toBuffer();
|
|
84
99
|
return convertedBuffer;
|
|
@@ -88,16 +103,16 @@ export async function converter(imagePath, newExtension) {
|
|
|
88
103
|
throw new Error("Failed to change image extension");
|
|
89
104
|
}
|
|
90
105
|
}
|
|
91
|
-
|
|
106
|
+
async function applyColorFilters(imagePath, gradientOptions, opacity = 1) {
|
|
92
107
|
try {
|
|
93
108
|
let image;
|
|
94
109
|
if (imagePath.startsWith("http")) {
|
|
95
110
|
const pngBuffer = await converter(imagePath, "png");
|
|
96
|
-
image =
|
|
111
|
+
image = (0, sharp_1.default)(pngBuffer);
|
|
97
112
|
}
|
|
98
113
|
else {
|
|
99
|
-
const imagePathResolved =
|
|
100
|
-
image = await
|
|
114
|
+
const imagePathResolved = path_1.default.join(process.cwd(), imagePath);
|
|
115
|
+
image = await (0, sharp_1.default)(imagePathResolved);
|
|
101
116
|
}
|
|
102
117
|
const metadata = await image.metadata();
|
|
103
118
|
let gradientImage;
|
|
@@ -118,7 +133,7 @@ export async function applyColorFilters(imagePath, gradientOptions, opacity = 1)
|
|
|
118
133
|
}
|
|
119
134
|
}
|
|
120
135
|
function createSolidColorImage(width, height, color, opacity) {
|
|
121
|
-
const solidColorCanvas = createCanvas(width, height);
|
|
136
|
+
const solidColorCanvas = (0, canvas_1.createCanvas)(width, height);
|
|
122
137
|
const ctx = solidColorCanvas.getContext('2d');
|
|
123
138
|
ctx.globalAlpha = opacity;
|
|
124
139
|
ctx.fillStyle = color;
|
|
@@ -127,7 +142,7 @@ function createSolidColorImage(width, height, color, opacity) {
|
|
|
127
142
|
}
|
|
128
143
|
function createGradientImage(width, height, options, opacity) {
|
|
129
144
|
const { type, colors } = options;
|
|
130
|
-
const gradientCanvas = createCanvas(width, height);
|
|
145
|
+
const gradientCanvas = (0, canvas_1.createCanvas)(width, height);
|
|
131
146
|
const ctx = gradientCanvas.getContext('2d');
|
|
132
147
|
if (type === 'linear') {
|
|
133
148
|
const gradient = ctx.createLinearGradient(options.startX || 0, options.startY || 0, options.endX || width, options.endY || height);
|
|
@@ -147,18 +162,18 @@ function createGradientImage(width, height, options, opacity) {
|
|
|
147
162
|
ctx.fillRect(0, 0, width, height);
|
|
148
163
|
return gradientCanvas.toBuffer('image/png');
|
|
149
164
|
}
|
|
150
|
-
|
|
165
|
+
async function imgEffects(imagePath, filters) {
|
|
151
166
|
try {
|
|
152
167
|
let image;
|
|
153
168
|
if (imagePath.startsWith("http")) {
|
|
154
|
-
const response = await
|
|
155
|
-
image = await loadImage(response.data);
|
|
169
|
+
const response = await axios_1.default.get(imagePath, { responseType: "arraybuffer" });
|
|
170
|
+
image = await (0, canvas_1.loadImage)(response.data);
|
|
156
171
|
}
|
|
157
172
|
else {
|
|
158
|
-
const imagePathResolved =
|
|
159
|
-
image = await loadImage(
|
|
173
|
+
const imagePathResolved = path_1.default.resolve(process.cwd(), imagePath);
|
|
174
|
+
image = await (0, canvas_1.loadImage)(fs_1.default.readFileSync(imagePathResolved));
|
|
160
175
|
}
|
|
161
|
-
const canvas = createCanvas(image.width, image.height);
|
|
176
|
+
const canvas = (0, canvas_1.createCanvas)(image.width, image.height);
|
|
162
177
|
const ctx = canvas.getContext("2d");
|
|
163
178
|
ctx.drawImage(image, 0, 0);
|
|
164
179
|
for (const filter of filters) {
|
|
@@ -208,15 +223,15 @@ export async function imgEffects(imagePath, filters) {
|
|
|
208
223
|
* Crops the inner portion of the image based on the bounding box of the provided coordinates.
|
|
209
224
|
* Optionally applies a clipping mask with a specified radius.
|
|
210
225
|
*/
|
|
211
|
-
|
|
226
|
+
async function cropInner(options) {
|
|
212
227
|
try {
|
|
213
228
|
// Load the image (from HTTP or local path)
|
|
214
229
|
let image;
|
|
215
230
|
if (options.imageSource.startsWith("http")) {
|
|
216
|
-
image = await loadImage(options.imageSource);
|
|
231
|
+
image = await (0, canvas_1.loadImage)(options.imageSource);
|
|
217
232
|
}
|
|
218
233
|
else {
|
|
219
|
-
image = await loadImage(
|
|
234
|
+
image = await (0, canvas_1.loadImage)(path_1.default.join(process.cwd(), options.imageSource));
|
|
220
235
|
}
|
|
221
236
|
// Compute the bounding box from all coordinate points.
|
|
222
237
|
const xs = [];
|
|
@@ -232,7 +247,7 @@ export async function cropInner(options) {
|
|
|
232
247
|
const cropWidth = maxX - minX;
|
|
233
248
|
const cropHeight = maxY - minY;
|
|
234
249
|
// Create a canvas with the crop dimensions.
|
|
235
|
-
const canvas = createCanvas(cropWidth, cropHeight);
|
|
250
|
+
const canvas = (0, canvas_1.createCanvas)(cropWidth, cropHeight);
|
|
236
251
|
const ctx = canvas.getContext('2d');
|
|
237
252
|
if (!ctx)
|
|
238
253
|
throw new Error("Unable to get 2D context");
|
|
@@ -277,17 +292,17 @@ export async function cropInner(options) {
|
|
|
277
292
|
* Crops the outer portion of the image by removing the area defined by the provided polygon.
|
|
278
293
|
* The polygon is defined by the coordinates (with optional bezier smoothing using tension).
|
|
279
294
|
*/
|
|
280
|
-
|
|
295
|
+
async function cropOuter(options) {
|
|
281
296
|
try {
|
|
282
297
|
let image;
|
|
283
298
|
if (options.imageSource.startsWith("http")) {
|
|
284
|
-
image = await loadImage(options.imageSource);
|
|
299
|
+
image = await (0, canvas_1.loadImage)(options.imageSource);
|
|
285
300
|
}
|
|
286
301
|
else {
|
|
287
|
-
image = await loadImage(
|
|
302
|
+
image = await (0, canvas_1.loadImage)(path_1.default.join(process.cwd(), options.imageSource));
|
|
288
303
|
}
|
|
289
304
|
// Create a canvas matching the full image dimensions.
|
|
290
|
-
const canvas = createCanvas(image.width, image.height);
|
|
305
|
+
const canvas = (0, canvas_1.createCanvas)(image.width, image.height);
|
|
291
306
|
const ctx = canvas.getContext('2d');
|
|
292
307
|
if (!ctx)
|
|
293
308
|
throw new Error("Unable to get 2D context");
|
|
@@ -325,7 +340,7 @@ export async function cropOuter(options) {
|
|
|
325
340
|
* @param imagePath - Local path or URL of the image.
|
|
326
341
|
* @returns A sorted array of dominant colors with their frequency.
|
|
327
342
|
*/
|
|
328
|
-
|
|
343
|
+
async function detectColors(imagePath) {
|
|
329
344
|
try {
|
|
330
345
|
let image;
|
|
331
346
|
if (imagePath.startsWith('http')) {
|
|
@@ -333,13 +348,13 @@ export async function detectColors(imagePath) {
|
|
|
333
348
|
if (!response.ok)
|
|
334
349
|
throw new Error(`Failed to fetch image: ${response.statusText}`);
|
|
335
350
|
const buffer = await response.arrayBuffer();
|
|
336
|
-
image = await loadImage(Buffer.from(buffer));
|
|
351
|
+
image = await (0, canvas_1.loadImage)(Buffer.from(buffer));
|
|
337
352
|
}
|
|
338
353
|
else {
|
|
339
|
-
const localImagePath =
|
|
340
|
-
image = await loadImage(localImagePath);
|
|
354
|
+
const localImagePath = path_1.default.resolve(imagePath);
|
|
355
|
+
image = await (0, canvas_1.loadImage)(localImagePath);
|
|
341
356
|
}
|
|
342
|
-
const canvas = createCanvas(image.width, image.height);
|
|
357
|
+
const canvas = (0, canvas_1.createCanvas)(image.width, image.height);
|
|
343
358
|
const ctx = canvas.getContext('2d');
|
|
344
359
|
ctx.drawImage(image, 0, 0, image.width, image.height);
|
|
345
360
|
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
|
|
@@ -367,7 +382,7 @@ export async function detectColors(imagePath) {
|
|
|
367
382
|
return [];
|
|
368
383
|
}
|
|
369
384
|
}
|
|
370
|
-
|
|
385
|
+
async function removeColor(inputImagePath, colorToRemove) {
|
|
371
386
|
try {
|
|
372
387
|
let image;
|
|
373
388
|
if (inputImagePath.startsWith('http')) {
|
|
@@ -376,13 +391,13 @@ export async function removeColor(inputImagePath, colorToRemove) {
|
|
|
376
391
|
throw new Error("Failed to fetch image.");
|
|
377
392
|
}
|
|
378
393
|
const buffer = await response.arrayBuffer();
|
|
379
|
-
image = await loadImage(Buffer.from(buffer));
|
|
394
|
+
image = await (0, canvas_1.loadImage)(Buffer.from(buffer));
|
|
380
395
|
}
|
|
381
396
|
else {
|
|
382
|
-
const localImagePath =
|
|
383
|
-
image = await loadImage(localImagePath);
|
|
397
|
+
const localImagePath = path_1.default.join(process.cwd(), inputImagePath);
|
|
398
|
+
image = await (0, canvas_1.loadImage)(localImagePath);
|
|
384
399
|
}
|
|
385
|
-
const canvas = createCanvas(image.width, image.height);
|
|
400
|
+
const canvas = (0, canvas_1.createCanvas)(image.width, image.height);
|
|
386
401
|
const ctx = canvas.getContext('2d');
|
|
387
402
|
ctx.drawImage(image, 0, 0, image.width, image.height);
|
|
388
403
|
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
|
|
@@ -403,7 +418,7 @@ export async function removeColor(inputImagePath, colorToRemove) {
|
|
|
403
418
|
return undefined;
|
|
404
419
|
}
|
|
405
420
|
}
|
|
406
|
-
|
|
421
|
+
async function bgRemoval(imgURL, API_KEY) {
|
|
407
422
|
try {
|
|
408
423
|
if (!API_KEY) {
|
|
409
424
|
throw new Error("API_KEY is required. Please visit remove.bg, create an account, and obtain your API key at: https://accounts.kaleido.ai/users/sign_in#api-key");
|
|
@@ -450,7 +465,7 @@ function flipCanvas(ctx, width, height, horizontal = false, vertical = false) {
|
|
|
450
465
|
}
|
|
451
466
|
function rotateCanvas(ctx, canvas, degrees) {
|
|
452
467
|
const radians = (degrees * Math.PI) / 180;
|
|
453
|
-
const newCanvas = createCanvas(canvas.width, canvas.height);
|
|
468
|
+
const newCanvas = (0, canvas_1.createCanvas)(canvas.width, canvas.height);
|
|
454
469
|
const newCtx = newCanvas.getContext("2d");
|
|
455
470
|
newCtx.translate(canvas.width / 2, canvas.height / 2);
|
|
456
471
|
newCtx.rotate(radians);
|
|
@@ -588,3 +603,4 @@ function pixelate(ctx, size, startX = 0, startY = 0, width = ctx.canvas.width, h
|
|
|
588
603
|
}
|
|
589
604
|
ctx.putImageData(imageData, startX, startY);
|
|
590
605
|
}
|
|
606
|
+
//# sourceMappingURL=general%20functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"general functions.js","sourceRoot":"","sources":["../../../../../lib/canvas/utils/General/general functions.ts"],"names":[],"mappings":";;;;;AAOA,gCAqBC;AAQD,kCA6BC;AAED,8BAiCC;AAED,8CA8BC;AA2DD,gCA2DC;AAOD,8BAgEC;AAMD,8BA4CC;AASD,oCA6CC;AAED,kCAwCC;AAED,8BA4BC;AAjfD,gDAAuB;AACvB,kDAA0B;AAE1B,4CAAyE;AACzE,4CAAoB;AACpB,kDAA0B;AAEnB,KAAK,UAAU,UAAU,CAAC,SAAiB;IAChD,IAAI,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,IAAA,eAAK,EAAC,MAAM,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACJ,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;YACzD,OAAO,IAAA,eAAK,EAAC,YAAY,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAGD;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAAC,aAA4B;IAC5D,IAAI,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,8DAA8D;QAC9D,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAExD,MAAM,qBAAqB,GAAwB;YACjD,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,IAAI,GAAG;YACvC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG;YACzC,GAAG,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI;YAC1E,MAAM,EAAE,eAAK,CAAC,MAAM,CAAC,QAAQ;YAC7B,kBAAkB,EAAE,IAAI;SACzB,CAAC;QAEF,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC;QAE5C,MAAM,aAAa,GAAW,MAAM,KAAK;aACtC,MAAM,CAAC,qBAAqB,CAAC;aAC7B,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;aAChB,QAAQ,EAAE,CAAC;QAEd,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,SAAiB,EAAE,YAAoB;IACrE,IAAI,CAAC;QACD,MAAM,eAAe,GAA+B,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAEhI,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAgC,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,KAAkB,CAAC;QAEvB,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,KAAK,GAAG,IAAA,eAAK,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;YACzD,KAAK,GAAG,IAAA,eAAK,EAAC,YAAY,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAgC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1F,OAAO,eAAe,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,SAAiB,EAAE,eAAqB,EAAE,UAAkB,CAAC;IACnG,IAAI,CAAC;QACH,IAAI,KAAU,CAAC;QAEf,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACpD,KAAK,GAAG,IAAA,eAAK,EAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;YAC9D,KAAK,GAAG,MAAM,IAAA,eAAK,EAAC,iBAAiB,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,aAAqB,CAAC;QAE1B,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACxC,aAAa,GAAG,qBAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QACnG,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QACjG,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,KAAK;aAC7B,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;aACpD,QAAQ,EAAE,CAAC;QAEd,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,OAAe;IAC1F,MAAM,gBAAgB,GAAG,IAAA,qBAAY,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAE9C,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;IAE1B,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;IACtB,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAElC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,MAAc,EAAE,OAAY,EAAE,OAAe;IACvF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEjC,MAAM,cAAc,GAAG,IAAA,qBAAY,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAE5C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,oBAAoB,CACvC,OAAO,CAAC,MAAM,IAAI,CAAC,EACnB,OAAO,CAAC,MAAM,IAAI,CAAC,EACnB,OAAO,CAAC,IAAI,IAAI,KAAK,EACrB,OAAO,CAAC,IAAI,IAAI,MAAM,CACvB,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAO,EAAE,EAAE;YACtC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC3B,CAAC;SAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,oBAAoB,CACvC,OAAO,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAC3B,OAAO,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,EAC5B,OAAO,CAAC,WAAW,IAAI,CAAC,EACxB,OAAO,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,EACzB,OAAO,CAAC,IAAI,IAAI,MAAM,GAAG,CAAC,EAC1B,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAC7C,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAO,EAAE,EAAE;YACtC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;IAE1B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAElC,OAAO,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC9C,CAAC;AAIM,KAAK,UAAU,UAAU,CAAC,SAAiB,EAAE,OAAc;IAChE,IAAI,CAAC;QACH,IAAI,KAAK,CAAC;QAEV,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;YAC7E,KAAK,GAAG,MAAM,IAAA,kBAAS,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,iBAAiB,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;YACjE,KAAK,GAAG,MAAM,IAAA,kBAAS,EAAC,YAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEpC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,MAAM;oBACT,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC/E,MAAM;gBACR,KAAK,QAAQ;oBACX,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;oBACtC,MAAM;gBACR,KAAK,YAAY;oBACf,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;oBACpC,MAAM;gBACR,KAAK,UAAU;oBACb,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;oBAClC,MAAM;gBACR,KAAK,QAAQ;oBACX,YAAY,CAAC,GAAG,CAAC,CAAC;oBAClB,MAAM;gBACR,KAAK,WAAW;oBACd,SAAS,CAAC,GAAG,CAAC,CAAC;oBACf,MAAM;gBACR,KAAK,OAAO;oBACV,UAAU,CAAC,GAAG,CAAC,CAAC;oBAChB,MAAM;gBACR,KAAK,MAAM;oBACT,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,WAAW;oBACd,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,UAAU;oBACb,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;oBACnE,MAAM;gBACR;oBACE,OAAO,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAGD;;;GAGG;AACI,KAAK,UAAU,SAAS,CAAC,OAAoB;IAClD,IAAI,CAAC;QACH,2CAA2C;QAC3C,IAAI,KAAK,CAAC;QACV,IAAI,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,KAAK,GAAG,MAAM,IAAA,kBAAS,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,MAAM,IAAA,kBAAS,EAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QACzE,CAAC;QAED,uDAAuD;QACvD,MAAM,EAAE,GAAa,EAAE,CAAC;QACxB,MAAM,EAAE,GAAa,EAAE,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAClC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;QAE/B,4CAA4C;QAC5C,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAkB,CAAC;QACrD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAEtD,6DAA6D;QAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;gBACnD,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC/D,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,CAAC;iBAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACrE,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC9B,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC1C,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9D,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnD,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACpF,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACvC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;gBACpE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9B,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC9C,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,qEAAqE;QACrE,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAErF,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,SAAS,CAAC,OAAoB;IAClD,IAAI,CAAC;QACH,IAAI,KAAK,CAAC;QACV,IAAI,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,KAAK,GAAG,MAAM,IAAA,kBAAS,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,MAAM,IAAA,kBAAS,EAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QACzE,CAAC;QAED,sDAAsD;QACtD,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAkB,CAAC;QACrD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAEtD,uBAAuB;QACvB,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3B,wDAAwD;QACxD,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,gDAAgD;QAChD,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACxE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACxE,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YAClE,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YAClE,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,GAAG,CAAC,SAAS,EAAE,CAAC;QAEhB,0CAA0C;QAC1C,GAAG,CAAC,IAAI,EAAE,CAAC;QAEX,uDAAuD;QACvD,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAEjD,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAGD;;;;;GAKG;AACI,KAAK,UAAU,YAAY,CAAC,SAAiB;IAClD,IAAI,CAAC;QACD,IAAI,KAAU,CAAC;QAEf,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACnF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,KAAK,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,MAAM,cAAc,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC/C,KAAK,GAAG,MAAM,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtD,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAE5B,MAAM,cAAc,GAAgC,EAAE,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,GAAG,EAAE;gBAAE,SAAS;YAErB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAEjD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;aAChD,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,KAAK;YACL,SAAS,EAAE,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAC1D,CAAC,CAAC;aACF,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;aACzD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAEvE,OAAO,cAAc,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,cAAsB,EAAE,aAA2D;IACnH,IAAI,CAAC;QACD,IAAI,KAAU,CAAC;QACf,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,KAAK,GAAG,MAAM,IAAA,kBAAS,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;YAChE,KAAK,GAAG,MAAM,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAQ,CAAC;QAE3C,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtD,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEpC,IAAI,GAAG,KAAK,aAAa,CAAC,GAAG,IAAI,KAAK,KAAK,aAAa,CAAC,KAAK,IAAI,IAAI,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;gBAC5F,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QAED,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAElC,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC/B,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,OAAe;IAC7D,IAAI,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,+IAA+I,CAAC,CAAC;QACrK,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,qCAAqC,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,WAAW,EAAE,OAAO;gBACpB,cAAc,EAAE,kBAAkB;aACrC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjB,SAAS,EAAE,MAAM;gBACjB,IAAI,EAAE,MAAM;aACf,CAAC;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC/B,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAGD,SAAS,UAAU,CAAC,GAAQ,EAAE,KAAa,EAAE,MAAc,EAAE,UAAU,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK;IAC/F,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;IAE9B,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAE9C,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,YAAY,CAAC,GAAQ,EAAE,MAAW,EAAE,OAAe;IAC1D,MAAM,OAAO,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAE1C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChE,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACjD,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAQ,EAAE,KAAa;IAC/C,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC;QACzB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC;QAC7B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC;IAC/B,CAAC;IACD,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,cAAc,CAAC,GAAQ,EAAE,KAAa;IAC7C,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC7C,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QACrD,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACvD,CAAC;IACD,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,YAAY,CAAC,GAAQ;IAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,SAAS,CAAC,GAAQ;IACzB,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IAClD,CAAC;IACD,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,GAAQ;IAC1B,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAExB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC;QAC9C,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC;QAClD,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC;IACpD,CAAC;IACD,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AAGD,SAAS,SAAS,CAAC,GAAQ,EAAE,MAAc;IACzC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO;IACxB,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;IAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;IAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;IAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,KAAK,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;YAEnC,KAAK,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC9C,KAAK,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;oBAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;oBAChD,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnB,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;oBACvB,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;oBACvB,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC1B,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC9B,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAChC,CAAC;IACH,CAAC;IAED,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,SAAS,CAAC,GAAQ,EAAE,MAAc;IACzC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,GAAG;QAAE,OAAO;IACvC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;QACpD,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;QAC5D,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;IAC9D,CAAC;IAED,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,QAAQ,CAAC,GAAQ,EAAE,IAAY,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM;IACpH,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO;IACrB,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;YAEnC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;gBACjC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;oBACjC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;wBACtC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;wBAChD,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;wBACnB,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;wBACvB,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;wBACvB,KAAK,EAAE,CAAC;oBACV,CAAC;gBACH,CAAC;YACH,CAAC;YAED,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YAC1B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YAC1B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YAE1B,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;gBACjC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;oBACjC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;wBACtC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;wBAChD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAClB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;wBACtB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Image, SKRSContext2D } from "@napi-rs/canvas";
|
|
2
|
-
import { ImageProperties } from "../utils
|
|
2
|
+
import { ImageProperties } from "../utils";
|
|
3
3
|
/**
|
|
4
4
|
* Applies shadow to the canvas context.
|
|
5
5
|
* @param ctx The canvas rendering context.
|
|
@@ -112,3 +112,4 @@ export declare function applyPerspective(ctx: SKRSContext2D, image: Image, x: nu
|
|
|
112
112
|
y: number;
|
|
113
113
|
};
|
|
114
114
|
}, gridCols?: number, gridRows?: number): Promise<void>;
|
|
115
|
+
//# sourceMappingURL=imageProperties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageProperties.d.ts","sourceRoot":"","sources":["../../../../../lib/canvas/utils/Image/imageProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACvB,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,EACjC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAgCN;AAEH;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,IAAI,CASN;AAGD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,EACjC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAwGN;AAID,wBAAgB,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,GAAG,IAAI,CAyKtE;AA4FD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,GAAG,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,OA8Fb;AAGD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CACzB,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAMN;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,GAAG,EACV,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAAG,UAAU,EACjC,cAAc,GAAE,MAAc,GAC7B,IAAI,CA0CN;AAIH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,MAAM,GAAG,UAAgB,EACvC,cAAc,GAAE,MAAc,GAC7B,IAAI,CAwDN;AA0BD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,KAAK,EACZ,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,WAAW,EAAE;IAAE,OAAO,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,UAAU,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAAE,EACpK,QAAQ,GAAE,MAAW,EACrB,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,IAAI,CAAC,CA2Cf"}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyShadow = applyShadow;
|
|
4
|
+
exports.applyZoom = applyZoom;
|
|
5
|
+
exports.applyStroke = applyStroke;
|
|
6
|
+
exports.drawShape = drawShape;
|
|
7
|
+
exports.createGradient = createGradient;
|
|
8
|
+
exports.applyRotation = applyRotation;
|
|
9
|
+
exports.imageRadius = imageRadius;
|
|
10
|
+
exports.objectRadius = objectRadius;
|
|
11
|
+
exports.applyPerspective = applyPerspective;
|
|
1
12
|
/**
|
|
2
13
|
* Applies shadow to the canvas context.
|
|
3
14
|
* @param ctx The canvas rendering context.
|
|
@@ -7,7 +18,7 @@
|
|
|
7
18
|
* @param width The width of the shape.
|
|
8
19
|
* @param height The height of the shape.
|
|
9
20
|
*/
|
|
10
|
-
|
|
21
|
+
function applyShadow(ctx, shadow, x, y, width, height) {
|
|
11
22
|
ctx.save();
|
|
12
23
|
if (shadow) {
|
|
13
24
|
ctx.globalAlpha = shadow.opacity ?? 1;
|
|
@@ -29,7 +40,7 @@ export function applyShadow(ctx, shadow, x, y, width, height) {
|
|
|
29
40
|
* @param ctx The canvas rendering context.
|
|
30
41
|
* @param zoom An object with scale (zoom factor) and the x/y coordinates that act as the zoom origin.
|
|
31
42
|
*/
|
|
32
|
-
|
|
43
|
+
function applyZoom(ctx, zoom) {
|
|
33
44
|
if (!zoom)
|
|
34
45
|
return;
|
|
35
46
|
const scale = zoom.scale ?? 1;
|
|
@@ -51,7 +62,7 @@ export function applyZoom(ctx, zoom) {
|
|
|
51
62
|
* @param height The height of the shape.
|
|
52
63
|
* @param blur Optional blur effect on the stroke.
|
|
53
64
|
*/
|
|
54
|
-
|
|
65
|
+
function applyStroke(ctx, stroke, x, y, width, height, shapeName) {
|
|
55
66
|
if (!stroke)
|
|
56
67
|
return;
|
|
57
68
|
ctx.save();
|
|
@@ -135,7 +146,7 @@ export function applyStroke(ctx, stroke, x, y, width, height, shapeName) {
|
|
|
135
146
|
ctx.filter = "none";
|
|
136
147
|
ctx.restore();
|
|
137
148
|
}
|
|
138
|
-
|
|
149
|
+
function drawShape(ctx, shapeSettings) {
|
|
139
150
|
const { source, x, y, width, height, opacity, rotation = 0, borderRadius = 0, borderPosition = 'all', stroke, shadow, isFilled = false, color = "transparent", gradient, filling, } = shapeSettings;
|
|
140
151
|
const shapeName = source.toLowerCase();
|
|
141
152
|
ctx.save();
|
|
@@ -323,7 +334,7 @@ function drawStar(ctx, x, y, width, height) {
|
|
|
323
334
|
}
|
|
324
335
|
ctx.closePath();
|
|
325
336
|
}
|
|
326
|
-
|
|
337
|
+
function createGradient(ctx, gradientOptions, startX, startY, endX, endY) {
|
|
327
338
|
if (!gradientOptions || !gradientOptions.type || !gradientOptions.colors) {
|
|
328
339
|
throw new Error("Invalid gradient options. Provide a valid object with type and colors properties.");
|
|
329
340
|
}
|
|
@@ -391,7 +402,7 @@ export function createGradient(ctx, gradientOptions, startX, startY, endX, endY)
|
|
|
391
402
|
* @param width The width of the shape.
|
|
392
403
|
* @param height The height of the shape.
|
|
393
404
|
*/
|
|
394
|
-
|
|
405
|
+
function applyRotation(ctx, rotation, x, y, width, height) {
|
|
395
406
|
const rotationX = x + width / 2;
|
|
396
407
|
const rotationY = y + height / 2;
|
|
397
408
|
ctx.translate(rotationX, rotationY);
|
|
@@ -415,7 +426,7 @@ export function applyRotation(ctx, rotation, x, y, width, height) {
|
|
|
415
426
|
* - "top-left", "top-right", "bottom-left", "bottom-right"
|
|
416
427
|
* - Or a comma‑separated list (e.g., "top, left, bottom")
|
|
417
428
|
*/
|
|
418
|
-
|
|
429
|
+
function imageRadius(ctx, image, x, y, width, height, borderRadius, borderPosition = "all") {
|
|
419
430
|
ctx.save();
|
|
420
431
|
ctx.beginPath();
|
|
421
432
|
if (borderRadius === "circular") {
|
|
@@ -472,7 +483,7 @@ export function imageRadius(ctx, image, x, y, width, height, borderRadius, borde
|
|
|
472
483
|
* - "top-left", "top-right", "bottom-left", "bottom-right"
|
|
473
484
|
* - Or a comma-separated list, e.g. "top-left, bottom-right" or "top, left, bottom"
|
|
474
485
|
*/
|
|
475
|
-
|
|
486
|
+
function objectRadius(ctx, x, y, width, height, borderRadius = 0.1, borderPosition = "all") {
|
|
476
487
|
ctx.beginPath();
|
|
477
488
|
if (borderRadius === "circular") {
|
|
478
489
|
// Draw a circular shape
|
|
@@ -561,7 +572,7 @@ function bilinearInterpolate(corners, t, u) {
|
|
|
561
572
|
* @param gridCols Number of columns to subdivide (default: 10).
|
|
562
573
|
* @param gridRows Number of rows to subdivide (default: 10).
|
|
563
574
|
*/
|
|
564
|
-
|
|
575
|
+
async function applyPerspective(ctx, image, x, y, width, height, perspective, gridCols = 10, gridRows = 10) {
|
|
565
576
|
const cellWidth = width / gridCols;
|
|
566
577
|
const cellHeight = height / gridRows;
|
|
567
578
|
for (let row = 0; row < gridRows; row++) {
|
|
@@ -588,3 +599,4 @@ export async function applyPerspective(ctx, image, x, y, width, height, perspect
|
|
|
588
599
|
}
|
|
589
600
|
}
|
|
590
601
|
}
|
|
602
|
+
//# sourceMappingURL=imageProperties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageProperties.js","sourceRoot":"","sources":["../../../../../lib/canvas/utils/Image/imageProperties.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SKRSContext2D } from '@napi-rs/canvas';
|
|
2
|
-
import { TextObject } from '../types
|
|
2
|
+
import { TextObject } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* The main function that draws text with optional wrapping.
|
|
5
5
|
* @param ctx CanvasRenderingContext2D
|
|
@@ -14,3 +14,4 @@ export declare function WrappedText(ctx: SKRSContext2D, text: string, startX: nu
|
|
|
14
14
|
* Creates a linear or radial gradient for fill/stroke.
|
|
15
15
|
*/
|
|
16
16
|
export declare function createGradient(ctx: SKRSContext2D, gradientOptions: any, startX: number, startY: number, endX: number, endY: number): CanvasGradient;
|
|
17
|
+
//# sourceMappingURL=textProperties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textProperties.d.ts","sourceRoot":"","sources":["../../../../../lib/canvas/utils/Texts/textProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,QAqDnE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACvB,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,UAAU,QAyCpB;AAiFH;;GAEG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,eAAe,EAAE,GAAG,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,kBA2Bb"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.drawText = drawText;
|
|
4
|
+
exports.WrappedText = WrappedText;
|
|
5
|
+
exports.createGradient = createGradient;
|
|
1
6
|
/**
|
|
2
7
|
* The main function that draws text with optional wrapping.
|
|
3
8
|
* @param ctx CanvasRenderingContext2D
|
|
4
9
|
* @param textOptions TextObject
|
|
5
10
|
*/
|
|
6
|
-
|
|
11
|
+
function drawText(ctx, textOptions) {
|
|
7
12
|
ctx.save();
|
|
8
13
|
// 1) Apply rotation if any
|
|
9
14
|
if (textOptions.rotation && textOptions.rotation !== 0) {
|
|
@@ -47,7 +52,7 @@ export function drawText(ctx, textOptions) {
|
|
|
47
52
|
/**
|
|
48
53
|
* Handles word-based wrapping. Then draws each line with stroke, fill, gradient, etc.
|
|
49
54
|
*/
|
|
50
|
-
|
|
55
|
+
function WrappedText(ctx, text, startX, startY, maxWidth, options) {
|
|
51
56
|
const fontSize = options.fontSize || 16;
|
|
52
57
|
const lineHeight = options.lineHeight || fontSize * 1.4;
|
|
53
58
|
const maxHeight = options.maxHeight;
|
|
@@ -133,7 +138,7 @@ function drawStrokeAndFill(ctx, text, x, y, options) {
|
|
|
133
138
|
/**
|
|
134
139
|
* Creates a linear or radial gradient for fill/stroke.
|
|
135
140
|
*/
|
|
136
|
-
|
|
141
|
+
function createGradient(ctx, gradientOptions, startX, startY, endX, endY) {
|
|
137
142
|
if (!gradientOptions || !gradientOptions.type || !gradientOptions.colors) {
|
|
138
143
|
throw new Error("Invalid gradient options. Provide a valid object with type and colors properties.");
|
|
139
144
|
}
|
|
@@ -152,3 +157,4 @@ export function createGradient(ctx, gradientOptions, startX, startY, endX, endY)
|
|
|
152
157
|
}
|
|
153
158
|
return gradient;
|
|
154
159
|
}
|
|
160
|
+
//# sourceMappingURL=textProperties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textProperties.js","sourceRoot":"","sources":["../../../../../lib/canvas/utils/Texts/textProperties.ts"],"names":[],"mappings":"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"}
|