From 90190df672aa505ed72d0f9ddda9a3a70072661a Mon Sep 17 00:00:00 2001 From: Shreyash Raj Date: Thu, 11 Aug 2022 19:34:09 +0530 Subject: [PATCH 01/13] Updated skia-canvas verson to 1.0.0 --- package-lock.json | 766 +++++++++++++++++----------------------------- package.json | 4 +- 2 files changed, 287 insertions(+), 483 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5477bcf..38ebd37 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "captcha-canvas", - "version": "3.1.0", + "version": "3.1.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "captcha-canvas", - "version": "3.1.0", + "version": "3.1.1", "license": "Apache-2.0", "dependencies": { - "skia-canvas": "^0.9.25" + "skia-canvas": "^1.0.0" }, "devDependencies": { "@types/node": "^14.11.8", @@ -551,19 +551,19 @@ } }, "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz", - "integrity": "sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz", + "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", "dependencies": { - "detect-libc": "^1.0.3", + "detect-libc": "^2.0.0", "https-proxy-agent": "^5.0.0", "make-dir": "^3.1.0", - "node-fetch": "^2.6.1", + "node-fetch": "^2.6.7", "nopt": "^5.0.0", - "npmlog": "^4.1.2", + "npmlog": "^5.0.1", "rimraf": "^3.0.2", - "semver": "^7.3.4", - "tar": "^6.1.0" + "semver": "^7.3.5", + "tar": "^6.1.11" }, "bin": { "node-pre-gyp": "bin/node-pre-gyp" @@ -706,7 +706,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -727,17 +726,20 @@ } }, "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" }, "node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", "dependencies": { "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/argparse": { @@ -1022,6 +1024,14 @@ "simple-concat": "^1.0.0" } }, + "node_modules/cargo-cp-artifact": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/cargo-cp-artifact/-/cargo-cp-artifact-0.1.6.tgz", + "integrity": "sha512-CQw0doK/aaF7j041666XzuilHxqMxaKkn+I5vmBsd8SAwS0cO5CqVEVp0xJwOKstyqWZ6WK4Ww3O6p26x/Goyg==", + "bin": { + "cargo-cp-artifact": "bin/cargo-cp-artifact.js" + } + }, "node_modules/catharsis": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", @@ -1112,37 +1122,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1161,6 +1140,14 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -1175,7 +1162,7 @@ "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, "node_modules/constantinople": { "version": "3.1.2", @@ -1206,11 +1193,6 @@ "dev": true, "hasInstallScript": true }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1279,17 +1261,14 @@ "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" }, "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "bin": { - "detect-libc": "bin/detect-libc.js" - }, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", "engines": { - "node": ">=0.10" + "node": ">=8" } }, "node_modules/diff-match-patch": { @@ -1325,8 +1304,7 @@ "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/enquirer": { "version": "2.3.6", @@ -1687,37 +1665,22 @@ "dev": true }, "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", "dependencies": { - "aproba": "^1.0.3", + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, "node_modules/gensync": { @@ -1855,7 +1818,7 @@ "node_modules/has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, "node_modules/hash-sum": { "version": "1.0.2", @@ -1988,14 +1951,11 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dependencies": { - "number-is-nan": "^1.0.0" - }, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/is-glob": { @@ -2032,11 +1992,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -2551,22 +2506,14 @@ } }, "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "engines": { - "node": ">=0.10.0" + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" } }, "node_modules/object-assign": { @@ -2645,9 +2592,9 @@ } }, "node_modules/parenthesis": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.7.tgz", - "integrity": "sha512-iMtu+HCbLXVrpf6Ys/4YKhcFxbux3xK4ZVB9r+a2kMSqeeQWQoDNYlXIsOjwlT2ldYXZ3k5PVeBnYn7fbAo/Bg==" + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz", + "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==" }, "node_modules/path-browserify": { "version": "1.0.1", @@ -2704,11 +2651,6 @@ "node": ">= 0.6" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -2970,17 +2912,16 @@ "dev": true }, "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, "node_modules/recast": { @@ -3121,7 +3062,8 @@ "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "node_modules/scheduler": { "version": "0.19.1", @@ -3151,7 +3093,7 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, "node_modules/shebang-command": { "version": "2.0.0", @@ -3223,18 +3165,56 @@ } }, "node_modules/skia-canvas": { - "version": "0.9.25", - "resolved": "https://registry.npmjs.org/skia-canvas/-/skia-canvas-0.9.25.tgz", - "integrity": "sha512-Txgo8F1MW5BiqLr2QO4r4SP5bJ2agF0ehx5B53DaMqtq9pVh/OhP94uGZhKn9ps1A5xCEb+ocQ0TWmkzOSWCAA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/skia-canvas/-/skia-canvas-1.0.0.tgz", + "integrity": "sha512-Ec7R7hNdJb1nES/oVryIuQ9rgcpjA1Zjjr7JG718BC7AQBJWaKHRiypOJb7g1V0Msk4YKoPIdvGYY0cnkOoDow==", "hasInstallScript": true, "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.5", - "glob": "^7.1.7", + "@mapbox/node-pre-gyp": "^1.0.9", + "cargo-cp-artifact": "^0.1", + "glob": "^8.0.3", "path-browserify": "^1.0.1", - "simple-get": "^4.0.0", + "simple-get": "^4.0.1", "string-split-by": "^1.0.0" } }, + "node_modules/skia-canvas/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/skia-canvas/node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/skia-canvas/node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -3252,15 +3232,6 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -3277,13 +3248,32 @@ "dev": true }, "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/string-split-by": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/string-split-by/-/string-split-by-1.0.0.tgz", @@ -3293,42 +3283,22 @@ } }, "node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "ansi-regex": "^2.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -3405,35 +3375,12 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/table/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "node_modules/table/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/taffydb": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", @@ -3618,7 +3565,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/v8-compile-cache": { "version": "2.3.0", @@ -3763,11 +3710,11 @@ } }, "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "dependencies": { - "string-width": "^1.0.2 || 2" + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "node_modules/window-size": { @@ -3836,29 +3783,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -3911,29 +3835,6 @@ "node": ">=10" } }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -4366,19 +4267,19 @@ "dev": true }, "@mapbox/node-pre-gyp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz", - "integrity": "sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz", + "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", "requires": { - "detect-libc": "^1.0.3", + "detect-libc": "^2.0.0", "https-proxy-agent": "^5.0.0", "make-dir": "^3.1.0", - "node-fetch": "^2.6.1", + "node-fetch": "^2.6.7", "nopt": "^5.0.0", - "npmlog": "^4.1.2", + "npmlog": "^5.0.1", "rimraf": "^3.0.2", - "semver": "^7.3.4", - "tar": "^6.1.0" + "semver": "^7.3.5", + "tar": "^6.1.11" } }, "@types/babel-types": { @@ -4492,8 +4393,7 @@ "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "4.3.0", @@ -4505,17 +4405,17 @@ } }, "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" }, "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", "requires": { "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "readable-stream": "^3.6.0" } }, "argparse": { @@ -4742,6 +4642,11 @@ } } }, + "cargo-cp-artifact": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/cargo-cp-artifact/-/cargo-cp-artifact-0.1.6.tgz", + "integrity": "sha512-CQw0doK/aaF7j041666XzuilHxqMxaKkn+I5vmBsd8SAwS0cO5CqVEVp0xJwOKstyqWZ6WK4Ww3O6p26x/Goyg==" + }, "catharsis": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", @@ -4811,32 +4716,8 @@ "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -4852,6 +4733,11 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -4866,7 +4752,7 @@ "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, "constantinople": { "version": "3.1.2", @@ -4895,11 +4781,6 @@ "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "dev": true }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -4948,12 +4829,12 @@ "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" }, "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==" }, "diff-match-patch": { "version": "1.0.5", @@ -4985,8 +4866,7 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "enquirer": { "version": "2.3.6", @@ -5267,33 +5147,19 @@ "dev": true }, "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", "requires": { - "aproba": "^1.0.3", + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - } + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" } }, "gensync": { @@ -5389,7 +5255,7 @@ "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, "hash-sum": { "version": "1.0.2", @@ -5494,12 +5360,9 @@ "dev": true }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-glob": { "version": "4.0.3", @@ -5526,11 +5389,6 @@ "has-tostringtag": "^1.0.0" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -5928,21 +5786,16 @@ } }, "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -5998,9 +5851,9 @@ } }, "parenthesis": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.7.tgz", - "integrity": "sha512-iMtu+HCbLXVrpf6Ys/4YKhcFxbux3xK4ZVB9r+a2kMSqeeQWQoDNYlXIsOjwlT2ldYXZ3k5PVeBnYn7fbAo/Bg==" + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz", + "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==" }, "path-browserify": { "version": "1.0.1", @@ -6042,11 +5895,6 @@ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", "dev": true }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -6282,17 +6130,13 @@ "dev": true }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, "recast": { @@ -6396,7 +6240,8 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "scheduler": { "version": "0.19.1", @@ -6420,7 +6265,7 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, "shebang-command": { "version": "2.0.0", @@ -6458,15 +6303,46 @@ } }, "skia-canvas": { - "version": "0.9.25", - "resolved": "https://registry.npmjs.org/skia-canvas/-/skia-canvas-0.9.25.tgz", - "integrity": "sha512-Txgo8F1MW5BiqLr2QO4r4SP5bJ2agF0ehx5B53DaMqtq9pVh/OhP94uGZhKn9ps1A5xCEb+ocQ0TWmkzOSWCAA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/skia-canvas/-/skia-canvas-1.0.0.tgz", + "integrity": "sha512-Ec7R7hNdJb1nES/oVryIuQ9rgcpjA1Zjjr7JG718BC7AQBJWaKHRiypOJb7g1V0Msk4YKoPIdvGYY0cnkOoDow==", "requires": { - "@mapbox/node-pre-gyp": "^1.0.5", - "glob": "^7.1.7", + "@mapbox/node-pre-gyp": "^1.0.9", + "cargo-cp-artifact": "^0.1", + "glob": "^8.0.3", "path-browserify": "^1.0.1", - "simple-get": "^4.0.0", + "simple-get": "^4.0.1", "string-split-by": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "slice-ansi": { @@ -6478,14 +6354,6 @@ "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - } } }, "source-map": { @@ -6501,11 +6369,18 @@ "dev": true }, "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } } }, "string-split-by": { @@ -6517,35 +6392,19 @@ } }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -6600,28 +6459,11 @@ "uri-js": "^4.2.2" } }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } } } }, @@ -6778,7 +6620,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "v8-compile-cache": { "version": "2.3.0", @@ -6902,11 +6744,11 @@ } }, "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "window-size": { @@ -6954,25 +6796,6 @@ "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } } }, "wrappy": { @@ -7010,25 +6833,6 @@ "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } } }, "yargs-parser": { diff --git a/package.json b/package.json index 1f191ce..a7b87a0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "captcha-canvas", - "version": "3.1.1", + "version": "3.2.0", "description": "A captcha generator by using skia-canvas module.", "main": "./js-script/index.js", "files": [ @@ -43,6 +43,6 @@ "example": "examples" }, "dependencies": { - "skia-canvas": "^0.9.25" + "skia-canvas": "^1.0.0" } } From c7328412bd922615076a6b7186c253fc92122edb Mon Sep 17 00:00:00 2001 From: Shreyash Raj Date: Thu, 11 Aug 2022 19:34:43 +0530 Subject: [PATCH 02/13] Updated code to support new skia-canvas version --- ts-script/captcha.ts | 16 ++++++++-------- ts-script/util.ts | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/ts-script/captcha.ts b/ts-script/captcha.ts index cef9d94..a55cc9e 100644 --- a/ts-script/captcha.ts +++ b/ts-script/captcha.ts @@ -21,7 +21,7 @@ export class Captcha { protected _canvas: Canvas; protected _ctx: CanvasRenderingContext2D; protected _coordinates: number[][]; - public async: Boolean; + public async: boolean; /** * Start captcha image creation. * @param {number} [width] Width of captcha image. @@ -44,6 +44,7 @@ export class Captcha { this._ctx = ctx; this.async = true; this._coordinates = []; + this._canvas.gpu = false; } /** * Get Captcha text. @@ -57,8 +58,11 @@ export class Captcha { * @returns {Buffer | Promise} Get png image of captcha created. */ get png(): Buffer | Promise { - this._canvas.async = this.async; - return this._canvas.png; + if(this.async) { + return this._canvas.toBuffer('png') + } else { + return this._canvas.toBufferSync('png') + } } /** * Draw image on your captcha. @@ -138,12 +142,8 @@ export class Captcha { if (option.colors && option.colors?.length > 2) {this._ctx.fillStyle = option.colors[getRandom(option.colors.length - 1)];} this._ctx.fillText(option.text[n], 0, 0); this._ctx.restore(); - }; + } return this; } - - toBuffer() { - this._canvas.toBuffer('png'); - } } diff --git a/ts-script/util.ts b/ts-script/util.ts index 8ceeda2..c446785 100644 --- a/ts-script/util.ts +++ b/ts-script/util.ts @@ -2,11 +2,11 @@ import { randomBytes } from "crypto"; export function getRandom(start: number = 0, end: number = 0): number { return Math.round(Math.random() * Math.abs(end - start)) + Math.min(start, end); -}; +} export function randomText(characters: number): string { return randomBytes(characters).toString('hex').toUpperCase().substr(0, characters); -}; +} export function getRandomCoordinate(height: number, width: number, size: number): number[][] { let coordinates = []; @@ -21,4 +21,4 @@ export function getRandomCoordinate(height: number, width: number, size: number) }; coordinates = coordinates.sort((a, b) => a[0] - b[0]); return coordinates; -}; +} From f66514b38a35522aed64931ed6120548b99fed34 Mon Sep 17 00:00:00 2001 From: Shreyash Raj Date: Thu, 11 Aug 2022 19:34:57 +0530 Subject: [PATCH 03/13] All test passed --- examples/all.png | Bin 13638 -> 12487 bytes examples/captcha.png | Bin 13145 -> 13910 bytes examples/default.png | Bin 6576 -> 7057 bytes examples/dimension.png | Bin 9102 -> 11515 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/all.png b/examples/all.png index 1f2267001573bf27d0664c1100f13c3212e70f53..11474154fc1b20b727ed1dfa8bd9194eb619f7aa 100644 GIT binary patch literal 12487 zcmc(`WmFtZ7cGoC!JXjl?(Xh^2M87*Sa2O2GPnhI8{7i~cS!Ky?lQRR;M~dkeZTMD zJ8RaotnR8lr>l0Iv(KI=Ee%CXG*UDe7#K`tB{>}!7}$R3ei{lA^jF;_5*xaKb=Ogp zfvKG!KY|`0xXUQ(p+G_j{>IFVv?3kLc-}I*#3NkeEpwgUllrS`M99k6z zHEE7GE#)vDTU0Jy!z8xl)AN_Sn<3|Wo|g6H+>>*Oi$zw>jEffz&4%aafbPwM=g+-d z7z6*0zsE2YO|X9&?B^?skdg1i4!{Tnj&laj;?9?hn=ku<`4w^2;TFV$dZmR6NcaQS zd+GTH05;sjfxI%#s%wnkNIubnE))JKBL_0f0j}5z<@Gw0bk3faPAMruK;E0%{b`ya zX!PEb=Dk)Kh6HBO69!7XMl_J2pXq_KZ;kn(M-jcKKH0 z_|KuGoSq-~(Kb|R&Vfe8+85RT)$jNu_L|{81&*ctHLK0zhuWkY({766n+J(SX-xa~ z#73(;{FkOGB_4|R`9{Xp#NpbLa{)51qp4N;utOy}V*UrY+1?8)dA?S*@);^e@uC-< zyNpfELtGe^EZPUP+8O*+kF^6432f*H4-e40Cho;dwdQHLbiS~sCUr5u{BxsKxgWLK z0k%{3X~UR?`$X=3j;M_-b=9badA^dpnR;9`Z?#mL1@T>QLtyjI=9UGoSjBbpZS14; zmag8RKC~3FaBV@Lar3eHsnL;L-HHDtGc9oNA#%7uDi}|PdHo>g6ekg@Sm!CLEe>;_ z9Fr$M*lA&5snVBlpgo?HKYGaQ%I>5$7=ri7Nwefuu_EQ%Wx}s*q4^WK_3Nq8syVR& zAq_QLyP+%@(ZWiK%u=*V)(;f`qY$IG`$6-|S!~VU6@e2xmU^t2i<)%VkIr)|R+0&>mzV>oL+0zer`JsCt%el zH?v!t^G*=ve5gGONI`;RbybiZue=C&^zthl*=h-)JVWp4W$fqVme9X z%7}Xi+Q9XH2jEzhRXyFD&&uU{rkILE^DFoR85*`eyU%=U0my%!&|Kh$xqA;%M2(|6 ze~Vyx)zub6;SB;^zPiEw>{(Dq$$gEWr22!ThbOi2k(P{)yvyXf3FG3D$Uw%7ZTWK% zY5W@urWjTOE-{WoVVu@QG>CJ5P3K=TM0Ihf+k7(ov^HFvW9fAw#`9h4H%OEf;p+2p z|E;nVifQuyf4dbB|zi$V`&U^sKJ#hyE&Z!)t3J0Oa}l8Nu0!P`(=Gcu+|V+ z(&>^?zIWmKWr?d3^WO&b)i0{Y+uOXczVZogzS-fR_ZXLVXPh=X@SN*}Q0%c}e|S-N zL}&jNvZLb$y|rDBq`FP{PcrE}lz5bIw_ zJKwAaLYZ)BdP)1)jZcJgR=Mm$CORCu!`pi_ERP9*bugA1wb}uQdqz5chm=9IJYNY& zQi)*cD3(J$mg|Jc0xz#lf+7q_g$Ox$`8EgRfv46<_bDZe&^TtLudT`ouqw#rN zw`Y@lQf>$Ra$uY!-n{tH^rO-M1LmMp?H;@>bS{J!#qiC&V)6O*D1cSA%3U=8XdcW_ z;0}76Ho*8?l$g?&I}V)&7E8%Z&Ca@!Mq2=IHnJaa^o|clSeO4UMmFL}0%3euh4<*C z$`B+w-%Vb>qi%b6Acj<3)nn&uh}X{Zfxxzv;v3BjV-<)hWXzm*2oDR&lu zy(4dbUCb{mvB0&HBu@P#4lgpR@v1GXK`FzTw!IxrW6u`!+t>=&x)T}_o;b=E;A_>a z@I}QDHb)$lzHf16oc89P2wn)Kq?0B`sl&_=4_a(6+yX=Engg&p1 z(F#!k?Iz2|6gc=od?J)IpEq(+3n`Df%FF#yqS`MMZBquJu;RqDFEl^5>A2qBzEK230YBKhB+f{~({`d!pRBJ4DH_h_NrPkK(4 zT$i4J8+Sa7mYL=yT)0?-!Qv$<=+He7PrGYGZSe?UBc{0ZNT#DTX7t@0F|VDr(MenbXg~_b^OX3DeAIVsQf-Dty=H>$# zY7ruaduZkuwKXnH`0RAPnZIu%pZ+lx%ckaE@N@`8d<-CTX<@51DM3IgGc@=N3p{NBi450ZH?XxMgEj5O$RVzz3CsW{k zE;Ya`Quds2)l7OFZ4t)3Sgzf22!$)#GzZ|TN)n6I%O zG1OwtWUv0K_gGcmkt_uds!$JMUir3gZQkqOw zD?e4m-;3%0nkGFD3#95XUe(Jng>)y`0UNXU6V#qnSA7|DeUdgh1 zMGPvlR#P)tTPEM>BQ^TOpW+#>b*UTa0eA4hPj*mDnNt4FA*u6tTVXpl6Y z)|{*f8x0ZO@q0z7(_`!HXA>*EYCpvdRRXv4Qqm3h3~YU}`3P)7k(cFJUUOgcLbqpa z;FAGWHBzAS3*IlvhYzE^%3d#(GxvyazG8=}tOm7Wgsm`Z9kBX7lVUv{i>o~k5p~^; zXP550INYZvZ#pH8g48+NVDJ-$V-|mK_^Z~P4!oSlL}|tgb_m{m`_Y)#w@JeMMGv%7;oFN& zC5p2?Vs6eTJ|u?x{IQUB6{k&T((pn7UbKn*iLpWQTFwsX0i#1Ty9;mBRowE+KUl|< z$0IqPb{Uh|IW5oqv?p)eF-g@+q{Sg$Tpy_$h`A>7Ws9Tm#--$JOqMM8c$k9v(i!Sa zf7msfAmR668Hx)s)X>aeVtrD)eiHS8p=eQ!eO`QSVV1r%Z`W`Qh0exT6b)grCrvoi z2Va9U>kSD#@6c7$7q|njQL=o=l!I1$RE}wv+q&R2Dw1tma><3M8df^j`Sm?6wGW=1 zebiq+2P>@q*rnJT(4wH8TUfek@)2fb0TvO#n!${$Dl=e-N_9jkQsB$6+M05oQg$h# z{IniRThy=p{Fvl^4&T4x$3r7?A_raZZFn>!Qh3wi!@*ODEhzkXKqLtXaw?i9S0iwb zy}Jh%X!|zWb>h;#&STvV{g&CBG4E7PSJe9bcvAxmhnw)?jH%#FyB7CDIEIk4FF;jx z8lp_Ib0J#(wU#BeLN;uzX!L2B?@~O-L5iYaa@Eidk~6~}qcvbgRXG)rm>>MJX0gr@wg`d;}%*;d>bsyPNTd_iJLG&&irXnZohfqPH&%=^R zIt4BELcW})MoJ{?)fL~%DSBt&$$bv8`%8*A#LyOf)Xp>5kO-gqRYwTI`IZ83X%?l9 zc_aAXkBfo&^n&F{HlNyJL%E-9m6CU{TW_2_v+VdN--p7_XF^LcpX&g@-LTZ*1@B z#n_MDTLq{Vd&*_-Yf-~NHBIb$@|(o;<<4*s3IT!Wsp!}eT5BarG}j_qb+OQuC+|71 zrieAh;@=97jsWH>P){AGeCj`4W>3I(Nr&5lP^MrGz+3+MR*Ap>oW-r!PG`3Q z8p~gQW`^6NB?^t6MBW~V58gB@C z=IJGtv7>Fy5$dWsQalfewJ6|d*%*0(yM z&#CZCoK#On3rpI)Vm~%j7iZYY(0e4b&X55gw=sWQnN(MzDyfgn1d{Muf5Ic5E}2&< z7o;YS_)=M7fY&p*)EySd21iJpqbjWLUr9x-uxBWDL9U|5Nv!oFz*oo%=jX(`R#)bl z)g@W#bpndwfuz(0eP4cR2h)|Bys;%Eb-||eLvBCv(OuHvgGygrL`)I7&kKg@iG>Tt zp_q%ibRD8F4j&AHR6g>f;8a_$*n7gbe1;$o!)`NTCDW)bN)45`RmAT~2CYD(;9c+< zigV>kUzZWni4C58o3~ZZPZ47R2HD^{!(KKEgTE|?#XTWIkDR578iff2_-?VvWwa)EmIxniqKgZ$wE*{2U zAaSJTO-hRIHz|0dj@-D7FI&PzQc5^i+vsZ-I^Kv`xlk1E?;O?hwXRCTl_N<#2Rm*} z$lS`l5r1%nm9)`_C#A3a1F(1*Rf23Q6T#Y9+FoY>rjma@^UyHzFM0Ctv5y_~ZUa^; zr~A6Hz>kLdYXep?LLX=Y9oD}Kx>)i*O+D6XT+mVlfjdO(m|sDsNECbShS41TAGM8_wYShAzqK@GAWy!zD&t6$cUT?^4GI-B zj3kY9L^g@X9v2VZ)xOB*Cx1=xEam*rBd=wPc^HQhcD-w=_!vtkLcw~TbrN&(?cCFO zY^CZA1CP0F|7tt-qY~pA3%?osfmmC(TLCXBT}*fWZmzK9sJNx$ALv3~8{4b^Gr>M@ zE;y@-@q7`=@SaPDOS9xJtjux`$qpo&Ol9aLg=U0#r$?jWu$Y4r(^|Kj{P+PGm)(M{ z*OMq_@~y!mt>OgofDiQ1$MhITGD(p+EK%{1bhMjfx(HW(;fXY}HDIfHXiBcRlvWWD zF|68K1?VA&R{-eAw!8s6|7Q8xt`2(RpuOR5mxe0uRANm@UcxHNMdM1F>y@Nm5x-dM z+ZYx=lc^YCT|-Gx8&ATERm7tM+UykYZB35QV|yLei~m}q?+PR-=~Lj88tFk=X$wOs zV$$ha+|ckvq`Ru8hPPAUcODBFA(Fx4l-xg&mw#$!wIH~` zA@Pj~^qtY7Q36?%*yCG`?}UOXZK>I$4<*-2PT35&rPUsSBE0ntBxQ zT57e`CVkQN%z2~Qb;o-z(rMvYw9ULS$*s%hPn!67v4&HhUEHCoEtfC54C{pa-D$|` zx6|jRTUEYB_C}N@C_&>POiqAyTz_S_%pxSlN42-eV1DB4o|DBpiv^sFYR1n+- zs{~2O@QoOm8{q?g_*f|_up0(_dN@;&yIPI@DTh|~aO?asN|OBfs&Ept5;ywCN8J(k zLP#C=qk%H$^_c)iI-JzJ)U89Bb&=rYOV)MdEvP~gF;I8wIR^CxI1%^vA)Wv_VWf0- zZzBC^-eEBcuH|t@uncN`Zv;b%Vkc<|uR2NJSXjo?g@@e@6|Dt4^MVb^L3Gc}HtkBn zJ$ao%P}+*=YeLH<;tVsL?620B5?s~aK$jhq2+qL%T3GEcwN=woS9s28&-4_8`ja3L zLftuV;V2lzffqV$C7>`+6+ME6WKFHEWX}`JayJheI1#q2 zJzB@BXPsQfO7rSY_}NUfmsh<#nXFav*~AmmprcH*7YZPKimE1v z{4MGv)%BkFzH~&XU3ue_t!cX{344OgjBgGJA|}uI&q$75c_bhcJ}ZcF7LY$7!m-Fc zI`sx1%%czmz>nm>D|ziTC;EHjiwryDDGZh&>R>M|n>CRHkH6AG z5HC&lQV6lE4CKZFDhmbL4Lc!-OvhA33^x{tYORNiCeSat7JM6AjNIm!DROuZ>7k}P zH5Ko|^-c@fP0&a%ohc@XzLBb~6^WCn|*% z+^h<{vg+H)5{8c?&6Wa4akl>lts4!|SO19v!jB61;~15RkW{OpTS-N)zahO_tHG!( zMoD@1T_iYZTqzp-5UMuCIjzYG}N|B#eIjbwp0WhZgULrc7Q{q0u?7%e>4L!t-_o59 z|8d;{y4zMIQPW)-FS=J3(L^!8JY8V({;I;LNN=D%M(b6SDkwT~Q{d1SHwtq;7A2QU zBM62^1*I{p@Jcq5@sQ#u3g0wtua)P<1DL^-w~?S(!e`=-khhFjE7M=!N3|-GKclgy z0`OjQ6Z5M4QdT9^THlSOoXRj0y+a`An2M6zsc1Nd+%13mZrW#?4A9Ac-}v}eoL(?# z%Gn~0C=V;_+q5b+7RkHc6EqIrbb$J5lU1`&L;}%Bs#GWd>G@kIl-n-ZKAZ)bk^MgE!JWFG z`HXzc_%>Gh%{zc#4@b`#j*zy|n4ZFr>Pm?*lE(@ioK0jFkHm_e$~0~|%QH05f6VCB z<45a0B+EIYdb$$(*SSw65_t^RTbFO)@L6q*|@rLg-9q3)kwS3ZObwxoa*#Y&STA25Y>0%Mp9XdBXkeLL^gr&b z?=XtwoP6jJN`~u9)RNEBi5K-K3{1;2EvnO@$lxY&+HpOR_phVG2_p+FSN9$IDL0$Z zz7<#2YB@R6&Al5GEK(ure!owgQMC>l(yX%oEPM&pCZ`onkUgKy!S)Yu`&_5MbH}q? zU5^{%jPBs~se@9+>Nn!y2qkY~Es5;nvE62NSEgqeIs8O*uAZD9jXeUBW!r4bXTfH4>if8(yhoVp?^S~08B~f)xbq!GV@Gom$ z*yG$WtM03itQ6se*1;Iw`<}z}e}fCC5;zwM2FIgpn>BT25+fX}JhZy*_>B zT*HfhpU%5P&e9EO`HG43;cs!~Hwp0HVbvAivCvSQl3}TeZ0K%ofcg_2t~^B83C$_h?%Q-cxO-W)VU8bbD5fe%AKn;NpW(<72r?F|gg3(hx^ zVZuFsaYRPx>*0?;BZW7oJ>N7IYzsr>a0HxIZD^72+3zP0a$OH-`bZwVFx*+Vsdx+) z1_s;upBCT)<{G%}+En!KyESoYr0K+~*q$VIo;-kbdc7EIxV(9__Q0s&`cjD=RIoB{ zXvjTX@`k0x@IONzFSlvOLyeD8-`W47jal+cWEKw|pZ!c3wtlQK@s+A+^Dw zp*W`RLT6!9y4BiZBgrOg!rHOUcRG~ubyvdxejv9b^BxFHG)Z0cgEXDUM9=oman zy<=sO;I7rJ6fWcllqZ%vR_}k^tF7>1qV=KQ%liY+)QqTPOIDx*@~xLR)?*T&OI+O^ zv{IY-Uwv6xUG)xecgu-{#MKzLbRzxaUutS^G3?&lENHaBw6Ak_3luiR(ESMI-!j8H z%n%+o0o}QAmkFeuca2G%_Nr~?6;Kc^yxK`5detIsN3z}bk#mD^MriH>w!SEPbZT+< zu}F&u`wam#$2D|`)!Xp`w85$^nO6K6-{>~p3Xm)*NnE=|{X^Mv>DuZuZeH_)?#=b( zDihN|vy4F24VlawG97{+5>tzpoqw6~zfxUN?3~@uO}obbrmdoz#!1e*AF}y{5)aK6 z9b@+P%Tq%KC&A(W3&`QQ;qW?BzR4Da#Wwj;GK?8O?SEt zS9l6lEhM)dx?p#2+tz1?=rpjV_QK?X`K|BgS(7$DRuQ5-aHq7`+X&hdKkiT-N0gFD zjJYyCe#fcC?d}iGFi;LN+Q@*}1QYT3|FTUYPp590EtbiYzs+{zzpqi`hrBf_KY)C( zeK4&#FX49b;Jm*3Ark!;e2m(;{Jb(3xixM-EUf-7DnHyxrR7yHlxqAoCR#-u9STp`=NWouh-umOyf7k{%C zU}Xuu1jY@qjxT%PTAfRNg2qVux6HRaB!WhK-~Bn3-Q?mwm_#>qVT?9q{`Fd)*=ZL5 zpUfNNeIT06jY2IHtaNBRhPfnEfdfkh6G`XGukl7c^9N#1kSUL(E7waj!nGM2jiVKF zXk|9P0hFsZPHm_wxrwaQOkwd9U+ z)bWm;1=&KEVaZg`50Qf{(G_f~7;qr0Kv|)dl&{MI6@jk0sEj@1Bx6T%k^+yj-v?LR zbA@JRyVFyuNAYD1)mp6`3MIb3RdQ<{OLzA)CJxAjU3L@%4Ho3ZyI~IBM0R4F!VAMp zc*6oV1a<;g=}4AYpry{SxBIg|`jBY?u^HAMBDMrP3n+J>_-M@#Q{)V zX}llwXSUK;4p=l9#QZXp|8Tb|5f8d~B6~HgUhMf+TB;oz=H_SFM_M8gaS4Sdua`~k zI^MEpVyI4o7JdbI>GU$=6y}pNP@!7ledoY++p+EwFrgyDFRh}lz8K7i>G(Oa-Mz0% zHt7s6-euys`W`@}56S>G1Pb(}O>_c0cek&Wtlk276Gs+F+2=xklO0lA=tZ?iW^5T*gn*L$v{tRcNXAzuTxCxKyd|QQ6KwJn`I(_Db9-^mg(*R1zYM)9A$_W z;hLgMEW$0EPE>#pO(XgBZ1w6X-TEaj2KXaf{q8|+f!wnVPtTEMqeL7PsU3}5` z#&jM~>`;0V-Hn^l@(e7K%pcwk)R;Pat$4zhP06?RC#(};?I)$Vx<^*NHOXo7X1WRS z{M8x(Evge?4!t4%w@7(u1e2vx>-;cfb-Z_MBz8wE2}-GYjhv}ndzC25m$|b7E_B*d z`Z5V7+Zt)983E};y={E$!h0$vZ5qiUNPFe-rZ7?mT2kbj>mm@UcQHcn(}o}?MSf=eoY=9$W~CaR{`Dan)01*eU;R4m zzv_+uJp|NDdWyEthwYn}gT^3|fQ>NR1h)FF$0%L^^*H1Un}udo?H?}DYx`*Y26iGS zKgT|D?-1y<*4^U|*x2rhAk%UGAXvPAEAU}LbS?)?nBH?v%3QBo=iMZ%?yD6qlwy!% zb@^Svhb2}49b~u?*K9QD1f3bj>*aYYBlkghDeSVQS=EOsaP0tC#qTyzscQpn?K8za z=qmd%sZ+(fr+!R`I!$B7yw^S(Zgp%ewx05O!Rt7y@fC)?SX0hm3p^Uz#{(R#ydKz_xz3ro1WYT4+GJy=KP2?$PEVL?7xKHMyJUy|WFRQKeb9X&UIQo$;l zZk1ws`)SOaxCzy)#M)UQzU42Ha;9_z%U!doEwuH%1{#Juj0W+a!ktUGQ=+9`E&+s8 z0-nqk30#xmuHB%zWGN`e3WCptVRF2~_Ss%!At#VNvT`*+`NhpnA_>yND!OI`dgM9a zdH6xRbl3A~9SA1|xp)4nnl1RAyxtS}~(E$`p zu-YK8deP18$fSUcSRU*^2?nGtGa^X- z$L3czl`L7i^omgwok9l;G?FbHvtp1-DJeR7`RSI34TWW%&rNQe+?Fee7t6BX{^<3D zrmk{{6z)TzAcp-}(%FO=yklKAvwf-E2$k-A{NBkD6~<*z!*5PBMaMobT)T}*wh#t}es8#pyrsf`^`iKMPq(GQ z{NXkeH%@A1qq+`yNbj112MQ2H>$Y?Jf1?7*ywgV&F8=5VEVhVMO)U~mEpr>p>cV63 zk{l?9v&NCxwC1t@N;;*Py4$WB*7=3_)YQa-&rZr6@8+h<1%o!*UeUe1FKCivwzq5szQZQaYUV49jVvFxhYdKqZz^vCGX&g zSm~ih0>3vM%({d6odANibPK(xYgCI)XM_FmUxf{R1fIh#oGppn(df2Ye*ZY+R*`RR z4ma_TqZFoA$2nLMd5W3V!4p>3s?J>Vum1&USUzbBP>*M3inMqzIDxRdJt@~4Mn+PB zM(6X*OG$+Upot?1h40fR?na!j1)4^J$VLCTMT7eLH0#33ps8EW8arpNT@vrFY=hQiD94=4ZRW=peABR_Yn0vGA`CFPb*r3AS zYMG2$^rtv&`1A=dvK-XQDq?Pk%mQEpK76@+Hk$!6OQgiplTp`1{i=MMFtk821%9TB z=pWlEceGUn&4&3*5b;vdhMoXXMGrd#$pQaz2I7>SiX_89K1-oGes>Rv?X=oVF>3zU zs~;+#^`J@GZr1s=q-`i|``mq}zlR2d`&Vn@)x+@RTY){?e1sB3ThV#DBeCuW$pkF{ zt2hbe&br3A&AM0{KYUzg$;OluQU&&kNNhM;u68&^1Gp`~>I^JhIP_hrL|F{Fi=*Mm zShDDPEgo`>be|186HKt@+5y7CwN+<~@f{izi13qFjZmy#zX4UoT?P-&o?V>dd>9xl~J>K!xH6o|E7=g;RaV@RWoS+t-hk3!9Qx-$DrPtxX^ql+<6 z4)fNyw3OJgGWo5YtbgwMO&#o#jpA>iUW?#SF&GaO$jYZH#l!X(4m3}OS!JOZ7c^Ga`KJQU zn)8qsk{cYIqO7<5-wBqvFl-qL?q4(N&?XcJ%E_pK{$FgPI{qD5SFln83&lze1!L!g ze(7lZJGWOZN=;5v1@|`@H{r9kaST*U9($yuUZgN210_XCDpik1vibQ3|4GxE=W4Lw rlsaFfp?u#0?CSqj$X_J)Cb=o*8r}yQE{6UY0Y+I~L#|fFJoNtnFK0%` literal 13638 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 diff --git a/examples/captcha.png b/examples/captcha.png index 305bdcaf935aa15dc7bae41d9b3deadbeceba1d5..e42c3532e21f21c9736ece78b4564c39bedb721f 100644 GIT binary patch literal 13910 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 HW*qW=;#8t~ literal 13145 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 LU&YEr4E_EOzygbp diff --git a/examples/default.png b/examples/default.png index a658be7f4a6ad20eb17cb6f8361e3cdcbd28ec13..06ec5fb0b325cc7814589c9bda42d03a6255b907 100644 GIT binary patch literal 7057 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 literal 6576 zcmcIpRZ|>FuqL;pSr8Mzv=n9J3>uGju4+39}NwSP(fZs0}bs3$FppXi~W3lctP0q zd|^6&RM5nIUOu?y;b>@7RthpwnjRU4i{6O_kj$NvBYW+OAQmZL-fPy5J5;92v~YZJ z`FkD*IZaa??Me_vUeKFGTpn$b`fvq^cIhkQH?a$49r@CH`~Ahey^v2_Eq}v>M9dgn zOGS1`pg`bzvVfOwG7*!HixPXN$;>?$S9gd+?_>F-O{PfEUWVb~Wb2%j1cHXP$MOGn z7m1iR61>Z#ZdyOvzdL*j@d#t}qvqR+uS~wa+~rDHS9;4$G0)hat$7IcbzS8YOiiaVpIEk<%mtRZu9 z5;HM=(}bk}=HqQoVZBZ)?_o3JEm&$R=AwBQ*F4O=4c{~!i!#>DAQw<)gn#c!tZdOh zYt`u4H>vo3^-Nt%OD0z8BJrddnhRK!2$Ww7{hV@GO{jwd@g__UOzt#EKrAiw=3CSH?>H9vq_7gp|8bqbQQRN~`G~hp(5zGBjze)H>$3$_3xsnSJ z%g||usfAW-DSl)}Ot)>!gg$$Net{PLAtk!pPelZ%Ne*v)w^Ve;#nnD*PZP7 zG*fo^Ioa?v`X`TDi0E5Y9k3T2k z-CH~sN$veC{w^DTkv{OQ^$uHph(wb|N+SOeC-9ll31X00R2j4+O+$h|vJ=D6ti1< zh4Rd;8PPq+J=FT(e|J_R$o#1bTE?$pD4b!!q+n8dvesCC2=aUxRr74YC@zXa{OLKkK8^j28UL~~o2ze- zqKwiYvFUrXTh8zobho~^Ip4?G9g!eCeSIul76%`dIIWs2)}g#KLR0HkK)Gm+AVyb7%-2BN;v8RW3936@Yrw}8{Q2tK zO2Ms`pNF&KEpys8%QBT5ro+Wk4N-=^7n9DnIM{!&g zFkZ~s+XpbCy{=2apkUZuk50K^z3B$UZ56LH?)SNSl{cEssnOD;`<5TSp~}9Rf{Eaz*KW7B zptzySj_5bxBWuiy&|jYPtC_3>YD@Fakv%F@gQ$Sr?<*FSPqYVoTT%>an>{#^=LRJp zMds3$vTdgcsH+HhkXX5p11%v_T$uM^TeB7M{SD{H`TfWd%ir5Or{R)O{RKkNaMyCK4)cwF0OG&(B;G0 zTC!sUMv?NEVN9*PweyPNcg-ftjkzaJ%iBvV)p%+=6u-U6G8*>t@%xNDv6o}Zd36sw z9rGxnH9j;87uL>MQkCUa6zDp_KqTFcl#?t-%DE>UeNdexw!ruO+v3}Xh|aA>LzXwFdoAe?CXcn z&lS8{qCX3qd5gJM8-wIBR!&@|Ff6BP;W&PQ7O*8xa<`wDa=oil1wV)#NkKIIsP5{3_bo{Gun$*8Mvp;?5Sgd6}yGohbAo^Qs0*PvK>v zfY!gcKKZ|Zq&epH`gR=CXKlo%cPc*OP``=&R7x{l^BjfOKz8wVb!KjsQ?3<5pwnwf zc`ON6N=y{m&aa&-e)VQ?M0=&DG|S*6jE3JI z_?hpvkZIot9g0rRw#0z9Mv79Z#a9mW$QcT3HshJ@UrOjV2yT$Q!`BaiGfQBb&baq5 zh`%f6*?FNITi^NZvHu@@Z|oC7+zG(E`7rt}Pu$^-#(A*u{*k{hIb1!obr|vh%J*GOa4idb0OJxEU89P~wfLd|PcJIto+QxlL{(A_5 z@XVyPCYA5g7<^1>Sp-8rVEu@^;@rD!Z$38msQIT>zM_S0L;fd28#e1bt?s{zXneTM zb<`HLF>NSZIRHJKi$Q2C?!=W<%SM4|Ce?d)m%7d;v>f*B4Ws82fP?eqj+=2hkY>$+ z70PqF%*=$c9dUiXSWc}+cYR{GE?$Di$(h zagwkA{TL&So*UHGgdy1UXeVq1da0=2{8mLVsk42+rly9{3&|0#V%V2?z9@KsV(QD3 z{jxH$U)>oJC6=$N!_Ukwb;mC*R`>C3(=7+G==B#KgLWg`xod zq!;qMe*MsDdJ(#@=Blc4e=p5T%xb5ffxdp{Z^5%DAMO;SVm#Ip;xJG(80X8oWNdY6O&+<(&{$TY zNF6%-uk70|{IL8zZ>Oy<s0I>PDxyf4HrD{-_r`& z$7o##d=q^-UnFW5!q7VLA5afU?v4S>5Xk%+6Kxopcs)gD1uvZuY(b@BE{Scu8W?>h zg@3VXIMEd~H)%iZUVsW=*<^jODkMU+WSiePd8p`#LK=$QjaSHW-o^3G+pt=Jyi_YW zVaq#K!o7{MhA7!pDLcsx`=8(($wc8c+7JXpcyq#PO)kdPsxSNli58M%#erdsV+dQMRrW?r(7Hv`Go|29~ZZWqM1;%DzO2dzqhL}vxYSpp0r9NK&5G#yoq zcupsXyQx+AEG8at-z)lCy6eaD!|)kajrjAQETat?V32tqP@{hNV9l|*l>5~5gpW6H zdVXr5hVXj6`|q`K-NPj{hF}7*ff|TJ0%o-3B@u3?QRn{5^#R7$fZD=?~TXMhh# zCUT86J2%mW2?K*)A5V*IVAaIoag@`HmZ7DH7aFsM#HpuN9c%w1g*sw#`Xv>s-Lao{ z-~8*>7Kq9IRgaAv*vI`DTy*)VaXC&e`{(2DZ81{`3_#yo&k|~m%67ChpgmQQEe=Fw zuZgV0J}cL~Gt1X-h^thS45uwz?HRh3nrdc1>Gc#Re9&jsyVtMc3ZE z|EmDAQC*F6YT54ZgeEqE`Cf=;WB&WV5$e?TqPn^ZgltQJ)}{U2gr_=xB~^P10|mi> z)J*3sEF=V~T5)V;H&YOn!H)Ek2vx_vtS0I^9X*vOy%kk&2^D54Mf{mT-g1&?!e?8kFk1*BbZezeCa*d2AsbO zi?F}aI3%{>je;c_a9t(*Y$z+Lbf6GO)h~>p5fn$3))C@48ZZy=4IZNoaZibYr3lzC zoYlnGjJ^SM0(*Z;CnMVs0b=%ZuZgIM@4hr8h;@=~#eFZl%;C>XACLEN-F6TCsN8kN zjLods$onI*zkin=Z_1}rG4n<)5l8k|uA3e55R#`)nx$#JWQ(umDP;~91&-u;MFKjB z;>YFUG8#3Mp=Rzrh=SqCsVO&F|I*~ab3MF#PNXFx#{FC1y!r#vjwEU|KVY4c&+KBX z+vQxWVEDbhY~W1KL!vMKrd{w_>vk(4wXgk(yMe)lF;))GK`kF0|11w67x##4V`lZv z1?{}=(P1mN?MUc%mB7C*O;Xwtq@OxQ43PY%4F;59>dPG-MH@=L7gnYeY~XOQ#nL6B z#@folt*|7aZFvN{h;3s$ejNH0$abWt?*%sLY)G%b%9XW=1o|hL*s|LDCO~J)5pzC6 z@h9P;&u_xB*O|@YXs)?r*Gn`n6d>N}V~WkKWd-YkVM4MN6vWk8q1f)Myv7C19{3hT zd6B1P6o{B!fsmBbx)M6&lSL$dAzT2b;y=-PE2>MXtUh#&S(}>^ItPUiE2%0Jg-TT# zOwL_)mQMY8OMa6KbdKqb`35&&P`0yHkoq*Z^&_QT?3gSC2fD@$fq#^xAHL88&AL_E zg;)i&f5nlKSpkxIPN;VOx-HqUh|0DG*=QV@Yr-s;{r1yp?-?(pgB~E_QC$A)O&oL7 z9-;tcIs4*7c~jxZe&`m+><0udGvoXf!$*buo!*H$`_LSU>wN|gk)G?rWj0dNHYf#V z6cud8hNzUha!GQA?W|KGd-AS|H?z^oPq{(!b6n+P7x=sBipo8B&ow?)eBEK6ys4*s zg>GS}GQPf~AI^vTUZM~QV$p(?{8MHABac7Crey$EUz0)RnYZla)E63uHg9ilL*}(w z2MA2l-&^9SUDJUMYLC0bdRiP|{rmOqjUqK(HXF{R0xuS-^5RtFs8|wNzFY(I1>W<_ z3A*)cPZQ6mBw`g%vSkuBZ|oI>N5sDD@4}90@F~2K-%Rdh|Dmny74aTtajVBf_dF|} zz_%P`b4S+i`RUr4`Rw<9WuNTFr>}k=mPVA_JTFF_)Q7R!XDt?l9&?0UKF8%f>GPd$ zZmeC`Cb3KS13Leb>*Vd&6eH>u^hWb4xd+SoCVWVfY(hgF%>m-1^<_nf9J6iR-zw~) zed%4nlp2saRSNpx!4syqxbiQX=nLg!&ko)%BlOkCb&*U9yr1M%w`5Gm7fxwKIw@V> zuf~Oq^(8VLPfJW`n+a^pHDb&DL;I2tYMiSK3ELXNBLtpO@uwC&JO@?+xz!w*m~DV> zCHd78$g)*5cO)?ZUyB&&*+*&~6gm`M{$>>12ujK;J%)E>#GjK*HyZPse|%9^#noJJ zEXkHyS1V-wS|h%M4-Ee=sje_{Y1c)V1SoDaEK%Pq@KM6&{sCv+eCukMH}Mcjb=tIK zBWGC;<@5Q{uW0-7KK2ttJWs9n2ivTpFu-)^>FisL%bRfM(hOY{r|Xgv;T>?~uMo5C zp(XcZi<^#pMR!a}B=o&~mG7s-`CuPQ0=07hEA-iB=1#_lU@hKI!&EE#)E9wtFGb2JOI z$X(u4f%5n=o9*e>nz=|l&&6724IGthrMzB~Y~_wZ4PDvhjiDaX_URl0*U_(Z1%TD` zpl(D%nZ+WQ$;g}anNEFaS*-m%#Zk8ZyJlg`oG>zrahBFnIz_|x1rsWV*^#0BfG+-n zEQ^aGZpSt$9>)pz@G4F~9)(pl`*~QPH|d5!%Dp6MMBAA((iU#*qzezbFt(@_qJ490 zzxYZXAQ|(4fBskn~CU%&r zHZC~V8=Pxt9Nm?AbD|6=@8?~m{@*5FL+wGo_NKRuQaXVeZ`6N{zy2_F%0zI77cXn& zZsJ}aSC?wl4T)AIhA^un+gyc1Pm8d3t7kEmBU1BDPaUb2i+v7JUoy%dm;3{4etGa| zmistpfefxf#bVIG4qaA>moy>h54?RbuiLlFIJ|+y8PSvw-+8+5Pg+ONcOw8irQ9MW z(N^~=|HrgrKVYY zmR%g!yX4H@(&d}m6?-bv2KB`M=rx7t$PDf{vmUrdUvKQnO zof+o$tC$akJNbD|P6Cb=D1-&W&QIwA=1VYYKyx!=R;b=fM2X$lQ_9vE;pXc&AO5UL z30#r|lb~oq8*s%1L|@WEE+hK3@{cO`2Nt$lomiGau^3N3BE}Ufp=rxR&7G5#$^)qi z>=b;@?u`3}Sd$Lw&MN6IT(c#`=VrQfhs}haQfqSQhkoNP@rPtMszp<2(YZ+tc=GPU zbgwj5-fFR7ye)<`vC~nFJ3H}=o$!-}@;F)oc3s)cHEdXkKeJLy-SFsF|N|(=SLAXt!0wsWf z&k~aeKS%v4Uc@&d9jP~tLG8)Xn=ye0D_u)zqxH!;?isV6lO)K0p{AWgRY~z4I(n6U zsob#8RT~!vEGkwCo6{sU#kmvF0Hqb-RGuU#(bE7>cAuNTRz$iT1)k1VLcLVA>)%Nt z+3SNaf!ez2ij0J4mxXC8oi2y~}izIJS0&QwF=bjbHXMrI548z^Uabdh)uaf}@=m z=YibA(J22zmZzgMvb^xe40V=lo*8v6MBu9L^p6+o_?3wkMU- jpb-22JhI4;zI!5iYXPSfk1~56!JsL~s>oD+G!Fb9v1Yr7 diff --git a/examples/dimension.png b/examples/dimension.png index 0bd4dcf03e6171f4a9a983c32a3909c738d38966..d6549c0ed311c2b1e8fb8e3f0b615490b853c33e 100644 GIT binary patch literal 11515 zcmch7WmHse`0b&)MFDAPkS@sqMnqC1RbuE4>1OBkPgYAySazo zf8B5Qe!Q2p7+^7H&U@Y`-u>*oqh6`MAi}4?2LOQRr4sZt0HDQ#zxUx{gRec5^~>N7 zG}qTJM05AeCp>o<@nLBg7nY0!uV*3l;rM{MMOv2!B zMn2~HG*!z+E;LG6O!ASiRq|KpJRN$Sg^#IzQa*g}vhj->dr9P1-t+-Cd1oxNu3&?& z`skeN#*}PyyOSRPofcOySg6z(B|@&rm!S)=D?7ozV4no@R~(Ug_4@`2sRVL7}GN{ zdW$3^_4qY0gy|zX14&J2gVxg5jumLF23(DLIYLRz)O2Qpc=So}L--@wQ+rnqQe9CQ z>GG3Fol?)m+lq=-pYoYKkUt)DVHOh@5eFF8{E~86;^N_za<3fI^uBf;xbdNc z3=?$ER&w++^VMKTqzCaos@}JUQ<2!L%K2RLLEYd+QJ&K<+p~pv06?)J zeZ>8qs)Kt9AXv~BXTnf|M+&1!h;zKSPICF<5T&flDgUOY)V_J29iUtPI++>;r%M}ko z@%4AMxS-~T*9n-+p;U?C6Z=-V2dG)W5aZ3`qCre|ofz2uZ=#A1A5nV-GoPoM#tIMn z!{LpM$+xzf1rLi@?iXe~Hr+W!sHPF}H7+Y{VY@`YvUO_zMjB6OqBG_<0Lguuqg#gK zGWcE5mm4F)Wq?qXE@AO`zY;o`JYjU*PnnMOQEc=cG$3SQ!W_v%8;qi{l}Vf1UM}x3 zKTizG%z#fGD?f$VPv4_D44cttsBq$3|=Isf*Y$C^zow`X*3(>{_26w zK`Mc$G=K6DLjB)5qe0p`%Qe=Ilvi(zdygZ}jnNu0V_pLDfHN~dx`YcjVN5O5@wKdx z|D2}TsZfY|lbrKF>p}jnF!{U!;g$DnvyF{K7IV%+R&1S~WFunux<4r_g@rR+MQf)| zu#Y!~{pf;ZvJ7wNDHhaJo5qx-Iim_L`{*J`b$EaKWuxb@^gp3CQZ~3W{rVqIETXWcyKA(*h^s-5?bOy5Zti}K-#ki4M>JL`^xn- zkY&pUj&Zd<7S9r@FwSizX>Q$_VSZTVsMkFi4m9q*r!>A=GH2ZeXY!hc=2TUrIv?ed zsDxjJ=)!Ft*)__A=n0yIV^`o}hp?Y`5_40xqGR=kbZD@n^BEd!{X+wy;Fo0Wl7cG2 zt!z6@Wq&3~SDEmjkz6m@M=)uLI^%RJY@;fST3lAZbI%~CifQo`n*?nBc^;es(WNR2 zW~@}b=dAB~&_ts@t!NC~;djghmfae5=5wo$eRbWDU~P4Cw6_l~dom(k=v|{zee;zZ zRE4(YQjt)KhAKb48uB^mZjw+GH0q7Mpk{q)6?wt`kw7qWE-ks?1G`C+>AtrT9e?#-C`W!1@pPHX{V56SrZkL;-14C^x(r(|CX3=aYOf{Su4epQ7vz{p<5rhD5=}KauI+-AfGqWkye4bPVxmK zqeNe=W6?rFjj!s>SR#i(4kwG!=kn-!I6LML5+eIZ zHo^=5D^7)y>QjO%ID5XdpEl%l=7ac;Sb$-hEnSO0J4oT7eh(N$LEo0wb& zO{Vg%J40V^)0McN;<{ zZz=tSndoivi!Wg`ZiS(*-{a3xEGpsK+qd) zxNf4PkZ5gi_&`WD(>S4rrrIziuuAb;=?zYPq@(GuS69R*td3#Ju84=|dvEJXS=Zd{ z^QF>*I|jgxttNXY@ku$}2KRZrTg8&Gq~)>Q{BvQctblrIBm+7SS&Ws~xJABXt(U?# zlJURcv9(nD8A`aN{J~(~C&wwxm9vH941aFL&mbl|Ddexx_HQrCN+C2xD>nZ3iTb*h z!fSJz47I7rHri7CRmVc(7)%usYT?$2y$rp04)P9|GhIjk;wcyVk(?Aih&^j~i`ww> zuS+;A190&9JkI|->3TZ#2tVxOC{orOMsC+=amjK{9cLJ74c0-UQ1>d;vj}0N@mQXPqhb2)Tlr2FVC8Km7db!+HBRF$xWPp z#bQ46LoT%@;sB)1whqd&$vYj=u)J3r97J#BVytw3u1qQ)0_79?n~c|uWzkRXmO>7C zwq01_%7Qy`Eu{uS-$1AGI=Dr=SnXzCEE+cCofZvioymjY*3eMQD7}toZ&&BYT$r7u z<-1lOC&bn;9p;4U?^*bnX@aeaq#|zUsn9TS*p*9MMY;JozNJJgTnn!RW2_!I(dYG9 zpwW+UeUgR%GQ}OjB1rSrfuJ%V8dn5pUz|)4wQTjtzv)mizAAJ}1e z+j#v~pP4FsE&gK;;DOkSUrhOiW~&yL$D+Q1 zpXb&gZd3sLqN3I$b9%!1&bzQG%Nr-GS5CjJv}kqaiGPdyCkkS;T5^DDc8O~x)Wy$g zq^Z;|w9ZmZCAdA6!bIr7pk8hng8u{6kkVlZA)U;Lk_HOw+Gen`huG6-aN%@hcPHW| zD-K?OC;m35a(A<>+t27rn*uAo_$hlG$`Q#*f<2G*SZLrRLfei9fYapgz5R%y5a;j! zqk({WpxEhq9Di+-K&n)`wI^kc&aPuHCT&)k>{{48e&%)?KOWUT?VsF{s9L5*u>?hq znur-wBM|B+&%peNYpd0(&OS_?8+EUrGTPjpPl7&T0NAfnCP+&&C9Zqq`31Y$@hC_F zHBxWhr}xEUGAsAgd~!7J#AXySsK3i=OlELYZvRI{RH^L0{2N6g;a1g@9Vr7&iyj?6 zhHLWMPPo{f{~Zjc=LDZ;?Qx-Ro*1}-L>Kgt$JA5!0Mbn@C$2axj^`ar$NF+D{;sdS zR~9RO6KIEdQ1W_~ZzRn>|H;SSbu`cYke2MJLG5K zAECgceM@G@SobT{kA1NgPVr^BGhtj=(IiSPqw%*)bFsn@`!cLpkql6z=|+iEfB)9w zC{RhF{eF zT2B6P|53FTAu6ORp?jR3&{}yPvP)tAtEVqElSiQG!Hm~c%R7X(lJFf&iK4i%ZLDhc zs|7znliaLGz5m7odao3G@g)Y1R{`N-A$rd&kypLXrLFP927jwAZeLmrwc}vUcf6f5 zu2k;VMdg3X)0y;T3bA6LF@5*z{Z0*tcf?7DM9L?UhD_At&K1Gy% zO0a8wVc0eh*}KbHzNrZGz9zXFGKFARW9&bKFt9oo<1&s&uvec?B;34C8FJ~Y2Wo}e zf)8Mw(aM{LXw{j0T>vjSz~7cuZAvt+C@c!jgWe~6yiz?2HkfjLltCYP=Lg%H7+W7r z>u>6xo@Ni4NF*$fnb5+!5Z<(q2u+d@5vpNWK*odDNL!NjyOp$&HL~-!I!ue9k2qf4 zCXj^Ojp0$PhuH5}7>wuN{(L86G-lIGoF4+fsTbVJHw=w>MW$b(Q=_I%5g)S^An|y{ z+ZS=tPB6yoQUUtu|7PpPP8T-S+CkP!ga)dCFq>d_vn7)O*fHBD_(HRCxFniYDjM6r z&l-IIFu5-D#KbD^$=D6Vd{VD6D`WdPM{qV-6z97+w&2@4maF*eC8OD&TG1=5aFmf+ zE;rt}{(%SfU06^~Q+UncPwcBW3~475bhLxEhph|N)^)PQwY~yqu4w6hRRm4o0UC>S z$et?Nfq9Y8Dm@V&Tilb$Cudo=>t?&x!z;t3Bs0I18)safU{GJH^v3)?k|-ZhCGVpW zw8${jN*Z;=qh%SU{yFn4E+qhCn5$PiE_mDMg~mw_NMj77+U~8)^&I~`C97OA8Z{PV zDqg2U|q>pV=v6vR%$^Tkj06-ldP zT-*oK@S3{Y)04($e8NU0LL_g%?;Bn`lkRSa z>adHYIVpRp_2{l`se7~To_p})t-x7=G0u?w5>cNM?7GdEtkIDiz^g*r__e*vK!N6d z_$q)f>K2S!5!fh6CS=aOZtu?w(N`;2R`y6>FZaWJzH0N?Re(nzzdyGtUajY!k`FkC z>IJ#YO>xw9nDbbRG4wCsXs{kjW+N4mtsq+!wtM!%k5^g+Qv6itD8r^p+@W^P#M|PK zq4jDcWcsGcvguKNBAdxa(L{(Mb=gy?tg#0y%L8azU&O8%M5>j!>l!OYZc$3zFo~tR z3{NXpP(8wk8_@)*Ieka(Ezzs}X?5vTku~yjq|u%#oF!;7 zF^*wY(4pV1=v<~K(E+y(5BdTPq)^y%4*otRI#r>M5amKd^$|c3opDI7(VG0b4R_Uo z-)U-$7d|pHXK1xygfb*Ce_>LMwmK?E)Hycu;?!r(A9DPLiN2qVA`y20Os90>hZWdS z=UjR`Aavyczf#;#uOcxhl=6buDEO!K58he^@Z0cuTX-#4FXFdJMjBxpt<^5C6UOGO z`}n|XWF1PzW@sFS(uHC@!1@t!HW`hP*>X21=ucB+M358e8yFBe%5k_!QhlRbx>nvP zqj%np;}|_c)WG4KINR-0L!otqAK8CT-FcCkW^Y12xtIM=sjckN82GRd1x{8P{0uqFH?&=o7^$KGsk!fMO3DgK!=rn7Mcez z50^sD4H+sueM{l|ZSsBWL$fPl=onEL)iW%-Fz%*G|b54d`aPBVh!7&9PCQxKazCp$B$qIDxS~e5pi{*~B?VP>{ zb+C}QWQZiiT)C#d+oz-yjlfY3fUa_-=7mm7%MqdlI@o?%7 z4N9ffS3%m*aZgN-$zb%j5(z!K;6%?#c~{gS_xfK%j}-b=VY2^)zPh-|(EIwGUp&$ii(1VYTAB}ye0#ZN$mtJT0B;CtjXYTwA8Z-e50sf&&haJuhWf9?W zU$nC>Gb)SDsGB3AjI>pG^^Ma}4zH{k!wAcsgFxO1l0#e^)!^RU%vbRz>B*e7ZF_&{ z0T-^F$iegk1WEnpIh8qU7YT-&NyoGk3vy!!zCB<#Q6D7mGEvD}xRzI9aD9}R^a2fz zcQ=Cv4P0_J7ityC6m5K=KEhmsjnLAHFfF*(joF0zAEGm z|Gt9rqZR+Uy>%Ums6vnQ)eD;2>9bMx^XU_YyVL$gKF1u}z3kR!|0cIqjQc;S<>(mf zMG4(qz#)75OVaG5Su(SGoZ*(2YkRcC{vyUfJqFAYP4zcv7epLBeXK?^6I8zQs-aJy zwLk14ZXe52P7tebyB8gYF}w+zBcMi_FD5I~!(VR_m%t@-+wXqCRLUW&$Z*xM z_P;tI!?~+C+B-qXoM-Z7$sk=iJ#AN30-5r!wyJC40pY z#ahg%TdeImT^mWjF=tNk5XSR*pRh2(-;QB~3z*d-Zp;JWw>wZyhkL>qtsJfTzb)!% zo#wN$YR?(p5zwoY!aF3&gUyiF=#Q8Up9o_iC<{sTh=hIMW-Alt(=WaFwxfL zu46ZtG>2)e7m^VTioc)#^=30hvQzZ921>i^ZG-fokT=TI+Ec~p+tvp=I4g1^=Br z*53**p+cCy_GLo*mOOJX^tb6DfVC$cX=Jucq;BTsy;Sp4q@5)wIc^nd1g-QWI%)$$ zV@DsM?cQULPF>k!J|&!1iE(6+tBQ!0Z@syk8w^R#D%CklX^PJ)p>1dyn-#>^0R)Q- z(&Dytxe1$l1bhhcM!q$I~R4XbF5G-Dn>jCj1>L zOM8|fU8U+(w^BWR@aZpoCA)HvZF-!_?e;&!|t59Ie2p@ey$* zOFY_^(0kwtaY4u7gOl4^ZsFv>+_RiF$WB%;h87jNAp%l5P^Yt#Y-mj8@@^RN+ORj; ze*yKQG>j!az?@!(34hpoPL$unuG5z7B&|b2Hu#C&0Ox{JVTpM&sji?OmXM(WgpNYg z?R=b0kYG*{jh$Q@5j_YTMR2ysc%y2IoP20?b>cBcKN#(ar!AN+UitR6)gO*i>}>%6 zw>K)J!8oM>Gm$$r@g?&VUMx|$7ehQEL_S($6e7R-s;5|$lj7zEN#L<u2Cz59QnCXazIR*Zg+jT~;Xyrl*uHK)6e-3Y# z)Gxat80h~{!@l6Ak{J0py6KVprYl$_#A#AojY*h^BFWteT2sO=6-OgGwrIAvUv{hf z*Y{#63gI>jJ@%YQnfI}!NVpSDBcDseIeLe@9%6_I+!F_x^>gD(bdv>qeGpafxYPAQE2vGoG4lC1^UC)iwh-bRpTfl-Wr{p(BkaA= z(!e4$03;ayH^!$pAX(yfqY84NXU-HaKB;VF&sw3Y^$kKEnkAb(^^Sozs*=BPlMB3Z z0&j_J@(3V(m4hnd{l!<|Mv*3o28WM!72)%3C-R3(ge7<$SzGa$cG z#PQwFZM-|G`Xm@oGyhWmO^xsBF=2m42Ly8LSf9k5_=|NKii{^S5&e|?ECPA9jY3Ix~=U147pjr#Obsu|pg=(DH zI2R^KI7*bJe#Uei$%-GME{q8%V)nyVq4e0!WB|X}H?!v&o9pocMOzd~tgIh*-&4*- z0f=Sq=@t$0{wWI((}b<@QCQ16UGLE%8BTGUX^KxyDD9+J@)?6sLsDo}7@m^|#uumN`V@jkA6h3e8Ok z+!MUtpZME?U^S_ky9{E_&AsV}vtbTteDtt19rJZ;RDnKQ!lF>JL&4uipbnxLW~G>vIS@sKWsXl*Kk+P7agGw8$0M_%*hb77djGIWNmGg3H~oF%Fmpu{fxtA;m?Tg+ zlm#ULD=xMmaB{^~T2O?XEqzE74<)56toCJszaY0f9>~W2$23F{$wJHo6-n3)Gn7(c zynn~IGWg`@%I_2JrR2ISzo%$Phzo1x>HbAA!`EjICO>W})4sjGCzm@|o$hp(h5;86K`ptMEmx|%%lKUu(O^%KIHj!e3LI`(A0q?97s!)`yR zAF{o*WT1yD;CwF}F(R2j{nzVyb@uXqR0R#PK_?p&_<%rxB* ztP8q9_b^h7-q1IU<$S92z^iwt4;Ya23n?e&$8^z+kJQU|+)_`gXYi!yRAPis67C-m z`r@uEX0)7L%8a06B%0WyCu&#|xzUHEdHoD~TGk;WYM}&M*!VbmDPj)q^VI z@AiLXfLCyx+Y-gN9j%=Qgv6_#Uap{i1}+fWQz=%h-q8!P1;xyi3Pce;3(~JRwGugc z^S68CB)B;)d!>9#7DMpPjOMKv3AYPq@8RU~dBmyAC7G~K2KG~vA3kdJbT0kqh+f^O z_GJ}{pr5J5DUFFi6_|f?%*d(T&~2;@-M+3uClpW%+>86y*lTAHKf}&wH7<49XCTq| z1mhjpPqkKgp^<`&)u zfs(YLI_Z%d0g(v-0#^?f{9D)DaQ0sKp4qp?WSFuc0*-3ActjN*{&jI-5A#PYUcmgDoDD4llzap!WS2Dc3liBH zrvVLjt?*&7KMN2Sz-7Yb1C3CaJ#E!J{(@1}euqyqQv|B&{Uxqz zGlM+Pw`?UF^4F0>Wi)(bJD5kg6u`H6x#WIBObN^Ti!Vk0&sM3r>R)}J5FngXU-@Ls z^(niHR%gs@wO0<9)pNxZHW<#fMQ!Z#y67frB(8O@lt%LWcV|)0j+busSVO6}+8CT{ z){-c#iGk`)b?gOW)Y(E#hAM~RCq&GwT#S&AN;9`_#QQG@{n{=tFdpq_P^S=T%ybxQ zm!8{WKW(}2Ns`bFBK}DXK!M0BKhf^|c4JJ!6@NI?vEial2zaT&6Zg?H`H&K%k0SP}L#+;r@yhHl^gODU?>d8me1g8yd zyFY&Q!u)y)bYM|dS{08qo_?9_z3ytncwf#M_ePxs9e|!gZRE-2BS$_2sljd@5V{Ks zWFh?H{Jw04wqfS$@)NTyYFDk$Mw-;u{+@XM1;=bO+2OR?_NfX_DCv{DeM5neGjYrE zYT`u~(7F+fsAL+(bnYmq`nmXFIF<_ z?}8%|mUI<=$n+t28>e%wkg$(1al15QsrY&6~$FFf)PMBb5bhmsaN2ntBLnw^ZZ?|s{t5DAXGdXxRK zoEmNldg+p+Km+n+E}nZD+L{fz^1YBDFDb2|TzfJbnR%dliYjwc);EVI+ zrIwUpbG&XasX{ybLCdFXL?&m`FHuAUv4{JrH z-*sGifaXuv-xEqztJ8)hcZ2?we@+)z14DJn!6Ep}#-BLS@}Hid)9#m;8t@iabMz_zN>4x9akLr$mWn-uwbvmg}9 z=AP)7&D zb<5ZfJU2yU1QB-l5m`q702ok)D`%~W(r@m=j-0;m5hQa^O z2mMcV$C+IMX8lAN3MiZIHV}bUDa_=xqA_zFomb-;k0gE{fqJ@H2LR)rQeI$aX^E)m z!_fQ8E*5aew6jv=_gs(_h$A;wt0s>8j_hPZ*7;+^ahYSv)X3+f`? zVeGtXJRe!`Q(i#(qiG_T-b;pqGx(ki4K)-!mKMVY8MVc=Vo ztTv~=oq|$^U%JXqQszJBLS?=Ve6#tk`fH3~Q9I`kO03< z7l9>y%kfV4v@ZvMhbH{mvfA+V{#B1is9sFXpZhMbieap!NLq?8q6z5j;5o7Id#Umh z($m@o#tRYFhY3;fudS4bt*dt>qyLkCzk4U*`t$^Ijmwcn)3G(&A4hURIt+*ehLPM} z*=ji2;@LB^PAS2d$5mRSBtGZlIPxDEqlIvRFln3IomHCNk7ik%@gyQEc%s+OVQ^Y| zm5W~%4!0)`ltJ{MVq5I5z7n>P%6WNvw1mGR`7qj^$+CtTmKPxg9VW8P<7I$#;=DaG z1W^MMurEHaQ|~Ym@D)yz`{7-{`qaGB#kCu4i{q^TL1Nu~9xCds&~0S^=oTB4g5*NQ ztu9r{8ADjhQ$dw^K5P`R6H%)EqepF_WmPvGG0;@)P#h-u5h7box)_ihqT(1?-1~vl zS`?S!mO^@0lm#cYH`84VA?J(;+#_txzELJ>)Z^AtcxdpZu}H+OzN1SI_f$L%vEuuS zZI;8zuLzmz z^?WqF-C@c_Ymd$lr6|#hG1RjU5nbZV5M~c4 zUIL>$GGmO5HU3ocvJ<1pCzl=`q1si!*MvdRT3?D_B@tt6u9X(Sum#c%U;H2nXfyaw z0FJAN7xbep~k7jzC4A(x0k|YT0j4wRVy2r%apKc05T5z)9teKV7D0BC8-) zd%eXU)*64M#1z?3L-2bVqeB=aZdQ3?6DIaOm%3fCH_;K(teV?uL z)B1P3OOB&O+#1)FQtp;ODTnT5ZVj$XUL)`}P6V;_zIAC?yPP&T2MyZZg1k|8pvm*; zekAJX!?zw%T796$PYAVp-@oZ8cltY!bjil(^FOwY>tWQMdB+rPX<=zP$wMBw((Hh> zbao6RHKZCS6W%1{Gt;qUhiB5*WF2yRke6aTHFN~QUvp~H!HWGbJ=tG^q!Es5Or0X8r>zt_kX3kghh6R{zQ-%?+HG7 zulPe_Pc;@2tM72(rSVKvI^iQu{Z4Ok?H^C=pfH)2T|3HcswKtLiRTK=V<%-_6G%pY z5zzfg`!=30-y?xQ_)|av0bmNhAik6`}%gQ11ksV>%dzHrgHA12*HqB;Jw>GdDCDT*(P=judM=cV+ z6NWQR^rh_OF~e~&kL_R1=MmIVNT1byDKNcRwJuGU7sR)gP$QX-ttHL`Nxr?a6#8JF zw*JM|Jl@sKXs96WU2fwVP*t<=&C#LfwrB%Y{h@?8>^2+V3R7c<}k`5oX2|0W|qQ^F3`Ku-O zq>7-J8$hq*SyP$ccm^&xy95S_I7l8XL8?teY!&^Wp3ZA`jF5YD%>e>C^v}5Nj67x? zH(0b&F_qJIFXhJw=58wtLr|SmE&$A9Q}dhX7yRhbsBCs7|JsZl2tM)~Z#z!dwJ;uO zcIsLT$j~S~HpHO*Fi*GlCp?UfRI*hQ%-9pW>*|(J(JC$bHm8m?<&m=|$IDrkkt-GJ zIE)&9}Y3)>+QOy+uSu z=o)oZ*#IgZ{kxy)-1|YDjcQkn8|L#CKjf2;G<<3xYJUQf2uMiBok8ac=%yHk2PtD% z!Vy+`OJT*zx;9ny0TY*ev`E5S61?mOi)Gzm!DkEK+|w<@+GFzz;rO?R zlHNB4lPT5Ok15v!L;DAji{Z_tL|6zBB|LNI)u8DiZt&@_Y&v-v5zOS~bQ3QWwEY;~ zrLl<@;UW|sdo9XQuK5|7`Gapa0NiuU&IWvR?Do{yIh>#2z1(+B&^g#|xY~Itd7vMb z*;X`Mrd~BTUoP8End}s^N`hMmY@~<%-!PJV?l8CCa*Zskul+%GOO4JENYOB z^0@WQG0S=#$K4WO`a|oI1zoJ&qi;i-{E3WwHtJVSnq8TIXt#F5Ea_}nXyyhTCjmxo zpjSO`iy$(6n=tQ9_Ii3yvy=Og){+ao13RXIhrn#(zH(jOPK0JEiN?@fP20ppS)m!^ zD&}UX=UKn`z>|ki{n(mtfk}<1i?@7Msi+Wj%NWPeCq|nd*Q#!=qrxo6JK7&^*+~5OxrG_hW7Mij4f(0ouDT@8!eOI1%=CA53hs{i=?8%VdA1!9tH zvQ3F^vQeqfrdDzMOvO>@MK}|3%kk@}9DfuZ2+&&m`SJG#`D$Nix0sH_t4$BHM;(s} z`^o+wIUZuX$mzO?+~utM*TbqxOGRk^#(TI`k$l?%$1 zs1_dtYkK$o9MU^|7u+8f!P&miQhp=McqM5D;Z!^Ilc*J(%c+h$*H{^CY?jj$G_@9^ zF7sV6wz9mEZ&JQ8u2_E!kh(dPg!7G%T(d!%ayIc-Ln-+8Qyb+LqSQ~wg>KC z$f*{SWCo|vd^Ii!uLgLWVe$kP`8LNN8I|}6d~S|?k}rpnWx5O% z{8zs2Hk4nUmp6>N=FxWl_h+()Y*yU2HL3R`QO-UX0HXUq_=7qoS=VBWAj*|-ox(L0cHXO^-Q1QYFF~DwZ#c)q5kJ&^Dw&PVKYz%bJr9; z17?ardS-ldPP(&}Rfj>>kb%f?YkRxzW?^Q=r%tievZNTV9Z#_{=l7e0>AP2!4cCHd zdWI9QuFB);qO9FAw*?GpHk=Zbu{5<=U{>kxLHx8xrQozWYdvhwyo9~nA98dNDtT># z-geSE*b0_$d%NjToaJ-GYu=z8E+y4ER-tu@6%ztS%#q7R9XA6|E4+`N9Gs3sBwt*U zg$NUC@x=S^I(mklwGo+a=q&h2_zTXi)JzEc1!pI#a5>>V>>^*jG$(1`*pfNdN0LL? z;@F+&we(`&7NRS^q)o2x|0xusPlUNDmaTMsL-=aZ{%01!LJ2@zD;Q@C0?Y0sM;)?c zjm5uS%NJJEs?#$@T6EmIYHua$nH1P<|k>9!$kRC}dvpX;Q+RTUh!RB{@st%*hAE8U6#%4DgZ zm5ih}@{BP;iM*Ep+`fBC-cK?*;3Dxu@GRzn!Uea%)*pEd(PP2yhzz=B8x}UM2^8>n z3tua?!ZI{>EO>`ydL|{C_z8lu@PJ^J4FmsSY%U?18x&5I>2h^DqD`I{3S8TaQ#{pa zZ_JBYCNV(EWkV#nT4LFgc>6g8sz_AnogT)wg)PN_E*|2g*E-B!e$jdU98n7W79l6p zz(X=O_zUv;IL8OOX>z=d_ss^9zP2AT zT!!VOZN}tGdOMB?Y8+|RbknUgJ`!mr`PJ6~`P-t{meIh7m%ef+MY;uFL0{v2OvI+v zrtgLnp@i*9Stg3IS+3p6o$x8C)z=ssVZ`sae#7dPZ4wEgIta|eBkL*lgMXcnW)U~OoAuZrcv+Aw+81IohkAD5CFjf zCF--~(hY~rh+Pc(XPGX}96pZ=lUEzpB``Umb{d${M5kUj-QRC0H~*1Se*3#%&dz(O z;jRrfnP@dVJ!~X(GX(x;!@ID;O-mf+ND~2jxQO;!B&AIcHF!>#FC%{+OHme0Ugc@N z;6iew1ojYPG@q{W+jTco6inaw6Dt-I5x6EWT@k?6WyCMXPfHFtNN-eb2R^_NVZ?X< zco<+!PyfUm_!_a#uq6Jmkm1TK#cP(o>1wDbP45{=Bsc9Jag?e!Y9UcQB~Rn`9Y17} zP-G*$S#w>B;NZ5jrbe%%RUvp1lpC~LH{1m50(5Cfm0uh=p^4jSV8g;GJ$c)$`LVZz zd!G1}bO6}veD3Bnhxu=j;?SbrGF8FeD$n&rnUA!QFvkp7itmwXVzM-Xl6RGPi|MA0 zRsG9j6-GPmczN;mEX)!wPHffi^Uk!Ng0rZO;EII#cuh{|w0C zJ!j3^bMqn%y2*SKNXTT|@04wBd`I2iJ3mNlMgD2R9qV;NBbCe?)W28t2K>RFu<&>h z6)aOgjLM>9r;|2S9~=FA)I#$?LV)2?1e+TMWPa-gnaKJi%j3T@-0U75yba5lJfut< z$?A(7;oR>o9J`f=e-KfbleS-j70XDs z2}k$=3+V9`wn}aMkhA$z>sr?0Za3av62VEdAC6t-dQpJb{NIQO5}TKFzj;P7-rmJ) z`>BIZ8(v}R{j(Q}hic=p#3WPeU(z`Z$$x9-)VjJk{HXlkKRA1MwjQ|b@hV zf0m(uK*?fZT~wsB{4vYSoL9|xiAIoJ_``%xx z!WD4t)(YK()H|_@wvRoBh*M+2xIRdpHg>g~s5Pu`R;>_B%k^=W1Q{n@ZGhPuPIL=pzP1VpQuP@g(c&u*}X76>YE+`4~*}%vfj({_gQcLQ`AGQ zT=&WgiNLA?)E4+aevIKPmXix?GlL;e(1UnoR2cK3;G3a8{MME0suxXP&TPu_G`0hdY zpm72fE;*{p-o z?9l7l3t4fSn$)n9CGRnaBwUwn8<)9&B0+G3odG;6*HrbUqkS);$VxUlD=J!6JIFk8 zx%@FpsWD?)KXhNe!_Y13{_gz%*!y3Gk?7_AzSpQQDj(KaS9#z64hF{mH59t|QBk2Q zCENN;_Q*eDEuripp*{q_>OKbt1jD5U4g*h-b}Cxb+gzj&udbIEm-XLVdzO@-XW7YF zr5+q>{u473NB8~U@bDje#Ub&;r0Xk%^Ng&!XUL4Ckg%t4cf5zebU})gwT7N*E7n>1 zO^Xz)%@J(+Q|O2YR1|SO6`t>hz?X&(rwhjSs(x@%QA^jhYg1Fx(<8z7R2|ovmP2Y%vCUOgUthm)g#$_-3nR%cm|jdp>Xu?YWq!xpz4GzO z;|*ppjh;duAeBZKy>dDoBccHZDB_(gze7qVIp7w zFQv+MnQx4GaO$Lvh)IEwaM8H!90+$A>NUPVr{GEH(os6jH=f$TJfk*Kzs5$Q5!nCa zW2YugP!lmdjo-5`JnCFIT*;9#)(ap5NS**44Gsl%8X5@hgey)<;=Y8O`M=QC?6< zLP^0=`uP8k0xGsRK4Ftzz{baB&1_@iK6K2Z=yw=nmuvw8do4!O)~NBTk}=k9NF9*y?mZhPaU%hUc4-xgS9ZR}#6GYpDW=1{mq!~b zfLQB>_&6G!vH*`9%TrkWo5!?_eK*v~#EoleY6h6^sR;L(`>2O?G7)K~_68ix6GmNi zr%U8Tn*OiYtEO)++O|guuY=w%FA=>*_mkz1z9D(IC}pwtisTV+~uhx zpEbvyJU)t8SVZ58{M569*Q*~9X&(fQYj<@M9^=mj;C^Xo7$7Cn_1d{8ie`J|#XXNSq3S@%jfMdKJQL z@lpIHh8(!tT9x=*M4nG`T74lgIfaGS> z*4BE5hHm{rI41$e^qabyxOMIx9*Hs%GN1o7{v(3k9^GSVRDPCb;UZ7g$`|4dk{cR^mv2q-ddS z#3B1xpJg;;B7S+u~UKiKYoFYgY zhye>1=ZmjP0>S(E2S)>@rpccrR3K2XSeR{BBUbs49FBTcZb~NfFg^<0I1Cde0MNUF zE)j499!s#+Z|qXEJywX`qdxo+j>ItQTWV`p*Vbm*yZsWb!YvvK0RmmzA`9!rmD1e>rSlUftpNy=EuGgUnzL*Z|5{B2%hp5%T{5 DVgV#( From 0037d1f34fff7188a0633e7c13754b79b896f9ac Mon Sep 17 00:00:00 2001 From: Shreyash Raj Date: Sat, 13 Aug 2022 16:25:59 +0530 Subject: [PATCH 04/13] updated captcha text align --- ts-script/captcha.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ts-script/captcha.ts b/ts-script/captcha.ts index a55cc9e..9382205 100644 --- a/ts-script/captcha.ts +++ b/ts-script/captcha.ts @@ -40,11 +40,12 @@ export class Captcha { const ctx = canvas.getContext('2d'); ctx.lineJoin = 'miter'; ctx.textBaseline = 'middle'; + ctx.textAlign = 'center'; this._canvas = canvas; this._ctx = ctx; this.async = true; this._coordinates = []; - this._canvas.gpu = false; + this._canvas.gpu = false; } /** * Get Captcha text. From e4c6fa5042704672c72cf6bc600973f48a202a34 Mon Sep 17 00:00:00 2001 From: Shreyash Raj Date: Sat, 13 Aug 2022 16:26:43 +0530 Subject: [PATCH 05/13] Re check --- examples/all.png | Bin 12487 -> 12595 bytes examples/captcha.png | Bin 13910 -> 13076 bytes examples/default.png | Bin 7057 -> 6647 bytes examples/dimension.png | Bin 11515 -> 9952 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/all.png b/examples/all.png index 11474154fc1b20b727ed1dfa8bd9194eb619f7aa..c77a80c05944a336ce9f5790597169f81207ede9 100644 GIT binary patch literal 12595 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 literal 12487 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 diff --git a/examples/captcha.png b/examples/captcha.png index e42c3532e21f21c9736ece78b4564c39bedb721f..13bf5cbbf75c7b0af5f9582f5716911901eaa8c6 100644 GIT binary patch literal 13076 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 Lb=ewei?II(22(_d literal 13910 zcmc&*gLjA~+X5HsL z=i=f!`opRi(uMwbMk$;4jdw zVlwJL@WT&i9t8l90c0dZ)xC1h^1S`j4?0EzXMCv<(I7wltZ}5R(6UX=+NtTO!LHQB z#d6YPq>I6Um&KHXu92N*EwY87RM>-zGV~F>(#4ID)6z|lp;$Y7W)WJlN=xgd~*ZB`#=?L0iV*8_kB>DYQpHW4|- z1be7UmTW$**fd)3{ggoZtA+7uU>415Necz%6dkjk+HaE~sDNAiVhL`s!5sQ)oLSNQ zsAv;$Oqou>kw#Q=les}(2^O>{S{OvJQVa{$NHY4b2?6Zv>Bs@BSoXg=MP1ffV>DOo z1^)sz6x&WaAi`5_OOYhBpi4d=qd+w?`jY=IlCxT-s$np92Uc`bZS7|liZFr}_a2TC z;T3lTwjCxqq~_TFuF;O!LeadEVI-4H3iS4AFU{^eWeew1q`yyZS5soCiDa;6a>Wc@0A)^v89?jStQi+z{r1c?bsBK@Hf;Ar2) zWD9PkaPfK0}1Zu^4(iQU1XRl;F9a8R`%GAVJM{{#R9UjO{*Gi=X6z^{j~Nv=ewb? z)k{R71K0FfEKvyAC*kmO$rR%AM&y_&Pw_M|DCSV-+6hA!fuM7FH^{fgkuJRnx8GHK z@sYAdQ@or_u%d3eWJN|WcOF_#u@XF}0KD0f+tu2TVM0_lVt}*Z)YqVxP8b`ytVL2C z@I0jWZ9`wZBCHbkM8*?>68wO9;C?zAWG-^4pA;;P)pXP(>mmse1Ox z_tNjO`lVul#~BopPTDL3Wsyq|ZWI98c)>ibylw6J$L~-E6TB@Cu-NNz^KoP)0+LSK zd@=F2yhwCZJHHA;C#R4EpuK)D#sb7SsMdVkG|jaU-?yBFe~DpaFo6ZQf#k1V5XEdwJvUvD zQnOLZ3hqD6KkYt4%$Y!zVO;&flWY!%Cf^(?LL z6VFG0qhL~FNNqGZx0TuIdoX3zita_o(Fd<-6vEdA0PwtF;rX$O?1$o@$10<#qI6ZA zt^+pZcVeLk93P($zi4$J;Pe3?M?3FB{tkbvdHH~#KkhA*P}h5Rg1_C^SdH;b8+g$D zYHy|KW@8z@%(jam9*-zp3x!D(Y#qR!X$k*B?x@fP9$|05=EZjJ>9NT=u7JRG>{0EZ z!=gH$pkX60ge9n6ZFMuB6q2JLs+ZU=u1mzLaiYIR@0z~t_JoU<)8d9+*U9gI|D{V% zdQyAGLwy6+d76Q?bE^%T+d^Ak->-eS9Vg5NVCVjfGHL~l~YIB{jv>y`iC2$5lZA>s%A9)W$_U-_92Vtm{oF@?dWL}`_%Aw4@2(V z(3LCAlEtlB&O~kOmP8r-1VziBMzTNGDKqWw(&G{tAZJ0hVZ`iaj!cY2EZ6TfHhs2zfw^4ZocC@)h)ozcov;dTRVZ}tg0W753%=e zTq2O^DTo8j4-m$F2?JaTq`j^+K_>WlmXyIGko`xRYY*!>ydMNj6F}niPySLc*ysuiw{zm@0dw2fPACj?sljGlmPA)ciw=`xs5de6T67Ay}+8t#t z8--HD-9g#1+; zENJpwmS1!AN064CS@PLP0J3Y+8UMv+3ho{H*22yKL3b|aGR7mKrI0Dh z0eYAO`}^BGlC=L5k+lD+@K0N)pXJaHL386_F9Hz+AP;pzE-zU$k;s6FkC|Jhy*sS~ zq478^h#-K4wSeIf(}m66_Ph$rB^TPkz(^bFeUs!Dg*`{~XBU3DK(jh#dWteafUyz| zF8}-OlKcv9WN*yQy}jhGiR!&Fs!&z9Kc4PE4MLQg9v`8oLhV+C7oUM+F`Mq|+GI7U zYtDi|@8CHMSRv}mI)1h|>8-3I`Cr@cXB{SR|8u(OI zSIBP_($N8uFJL3uX=~ft+Z)8TMgbC%dYem@(u(dHQ}vn5MSEzi(j}d#QKWjO6{3#h z5VS8ER3vz=(q~Y~!r$+BcYwAz-WNi?C*0t@OhdZndE(lW34p9=`H2A)7VnzY0YE_E zk6J+fl=zAj2&Q3g-n+65)sqLZfg5EuiF%_ySTgy37ee8 zj7xVGWM2ohTZJgrIi<;pb|O8#WxC@^(LLHvkKv1jAyd@#YCqhLPaq7GO*7-dza>if z@xxO>*xr|=F#So7x7@=_Nlt2gH6BJTBR+7Om#Ryl4^~VF;+W<5;R)G7jR28uTTE`0 z?~kP+La}~DGaEp>S5YVUP@licOL0dC*^tR)5Q@DJybA2c`mD+;ok=p+A%aBA*!ib$ zZLAhRER{UJ*wn%BV@Z*iRwt7MerF2G3I5tLa6=_D19RWOQl4TYZ)G~ar>wpG@iMrl zkL*_Y*26^?yqs(!tEyEX0-<-|-p!CsP4;XfgtpEq9$k6_J5r5N^QyW&Di@Kae~@%J zgfz8GEc0glynq4#2ay#5$DN${z|b(nx$OaxV8+ZgvYP_Q|J?fW>%Fo;aj7f}>@vme zoU(RD%dA0w&J2=xW zr#0g`O;$=YvyfBW=I0w7E75kEM~DJt9()z96Tv<=`SXuAtTvX<`j)A*JN1Rv!aMAc zKh_%;uN^RRYoHii1L2zx7F=M0EcC7~R=vR+*8>~h6gQ9~A&4Qz#!&#gQMrvXZw`5L zt^){Ap%8hho@b!0^kr~9*)?AvwM!nAZy7e^%*?#P)3^hhp1lx_K5HgK2-eI8S#KrSAhPoXyXw=)0+*xmZ` z&`Ea!zwj>Qc-K|>^pX&aQ>p#n^T3yCv3|Wq3%Y$@<9n_HY61&(8#R^hH=h8go<=E- zylC2JuuABVLF+0i({UM{PSbuy;Njvw`V$$dsGiBD4B;rrvDD9fBJe&b+!Gbq21q>@_dRPr`XKYTppm!bs z014RO0If?OIoM`HOh3!#$;a(HZg$GuvxulmE|GGSd;iih+bEIz^4A7;C4%dGp}wBy z*Noit=v#Vd`5UER2s6@tR39YHpJx@hhaNme3Kbhyg{5W&o`#}Prd4hH!mxzfW|t`a zIf(!^a2m-?0QulVopoFvji=F*>U5Z@HhQF??+q5x4~&GA`U=L(K;1a@zZ_aFJeQ&- z{`KRRX#A|{Sn%F2F@u@(wy@e{HR`&lJ$H(Dj>_eoRfUpJ5?qALIkW!y*etlhoWHW{ z@xE5(wB@e0-p-7=5PUv!2H2jnI1!k)sC!*a_X9=3V{zAd*~L#uZt|<^>g*uqSN-Zx zz#n>8rxkAIr-DuH$h^$T zUhJ6{A35Ad1DI@fyZh5nC35R$ZX|}C?ris5Eq30yJzzu1_KrZ~tbw7s(Q)sy6|;50 zM(*J8yP0&L?P*sj^~wGU)1+(XX_}`4cqg!;upp)lxk0cN_{tXgo_=zjcj1GSe;T+7 zJEx*0)O_>jEHbnAPk-9ApN0C%1n^EenT@d|9F~F0P zB4c*dcnEUZch3*im|Cti1?$O$ilmUhk-5q?KIcM~hi3Ca)Vwk%Dw2xJuOIAKk zrrFDcTu#(8wb%UhO=KyaA5n0?X)N?GQ&m^PnszwNNXLp!Xo8R)rk6+FYPvIU1-?t# z7N+#WH%SsFIWtT*4B&jNY2{;CzA8A#;wn7((LoL>z!Yjeg9F&o$#{L0YnCuWH}rLI z!3Qp2?G9kmYub~_Kk-!gFtAmYy)g1&)vOd^+C_e?(V$blZFOze^uY;sf}Xny9>sek zm_%(xy%D%P58T)!@?iw2D?pcOxO>{0I!4G0i!VK2bv}+gKpG1cZOtir@Yy|MLL38} zH)vXWsvL>#EbnRZ79xHOGYm;>Fo=N*>Rc^;&SmI~e>I`PJZ|#6Wr(|Ze|v-JL)a#z z0;ORi6_hJzdg_{96xmSdw=CKv7fV^${P9-wR&VOHNNRSl{2c~pagyLix&)hV+LmJ2UlFQb{e78U>Fb6r73(TGCZ*62MgG$%y(ixQ1j?41n zTuobah(JJT+W5yle5Co@J?2T!` zfPeKuy5D?Dl@%WTl{^`LV|W;Jw$ zI9sTxJko4O)G?xLw7$tdw3`!^VGE+Y9VV_I45i;<$AV%5L|6SN&S3X!YOMjle!ADz zl@kxow?YNftY|A#FuP?av2zGdjK9S3KC|yH1m-Ssn5>6ozlAc?CYcXup&v5wV`I%S zO?7z^aBQ(A4Vj@ zuToveq8Hr=cRY2}@=S~kC>TTm;An1F^wY4I#jmS8wUHhBs6`o0TuB~Xcl}!>Tj?ui?6D7oV!&gYf!8bk(l~!`xYv^>H95koyBJVP{uPL z5N#MMIjMaV$XjP=FodU$mCC%~e~Sn@z3|x291^}#D#S6R>HGPlFu0hA4#RHtaOC_~Hhggokca$;%#|Gq6(ZlZZU4M| z$j004j8#<4kV9C4u~ghc$S8@exjuxq+;UkBw{6=+$!5JFXob!EGWLAHlNnObf?C3w zd>1K*qB<|8@Ml*;5w^31!$kCj;-xtRAoPJfZsG6Q^t0EP7mM?sa&Bb)lFwC;@;4&i za;n(9*h7~I%5?R($5x?Lq13ebs z&aQerGs{Pc7maDrOOUd1AY8wFz)XMm>E7)7dq2z^UkO3H=2p!pGT;5Wi4Fd#KwngL3!ku;!%86f!Wkb$5y1K7n4>_NOReQzL)`0yVU|ug}_K#{zcQ zw&kJ?jQ1YyYtg&~`JPP1Sk8#MCcN3c83J~)XU&iTU?w#jNB6don~8GO)Ru4Beyz_g zvf5RQAVSm~z)7yaovy+ve89Q{e@L1i#0f?U3Ak>5gUG0HU!}K1YOD~$VA(mq6qNmj zSaj69wOJ;3RT1*s7#%TUiH3Yr8`{@}xa6tYpmS;b4V+Jg%BBc{n2(s7{H!yCL48F)c?6kpRPEMco5%|M0k{?$7>7M+YuBHaGfclx4NYjw|uQz zS8-X|`9k{%5x$c0lxgemR;^pr%~7=c>_quwAVYq3lO-c~$*VRFr2tm-mk(ga7veW?7Th@19DbTNB^uhsrx8CBL#h~iH4PX>kv%h7? z6j*3+;!EQNnYJwpru)3mhA@-E!f+Q!fstLO8Guca`l=y|Ixn(47&v^%`0142-$|i% zo0G(uGtH-MXkQONaQb0+<8wz@lVzQ`{lX~fWuoP*t>`9a?p2X}oW4_0vA&Jytbg_u zdtBy)ohFF4zG)8h>qDZz^Zj~-z)Jr%>ecL+>}nJuaT|kyL*G1IO%!u^v}Pvq$c6Nd z(Qol{+aTcARe2p^bj7Egm{Ks$kdzxs7nX7xg9ZSzW4O`IB!HmR#W422XK8gb+SOrf z;0iMCo5S}!=nW!m-;sVRBm-S1qgQ>Wm4{Zx`z;mRdd&<>X9!@HCJ5PSl%KtTi1m6e zBckO`3oR;uhBHlIdz6%hYRpO7tyrNd=V$x;-ovdH+7Epg?3v(xcytzMr%cn|^rHMZ zYco8*8J<`sw9P16QaARTGwJ}df>{yxX^zs8-W29ouo#`}WiwP#Yc}*7!AwZ(g}gltm%P6i>+0;z$l# zN`(_p5A4dQhgF*i;}OA~4`X_Hkrp1u6WaUNh1o-7yk5*fcgDK=tsgguWBM5f@oMYS zuyfu$RBDf_1-0CH_hJh;!-LUy#l6nFUlxU%Lm zuQeSEweqsd&kPWP@%Vq7GlU@qlps;$cr2q**uYbP2syT_UX%GjoBB0(!jSj2>lb@P zeXl(Z!~=%4Ja`$Ai*;0qy!o)46cD*jUr9TRD&*Nb9&1Hf%dJ$l@p9yIARDf0D?cq8 zk9m;&LuNFt0nHYI{L(oi*`zI`*QeeuUp*7Wq-J#|3zCYBJWDFmF67?n#$-R`2e|rT3`XlJrYbDWC!1g@qFo zu+$WJ;k-(JA)6}!C8wVZrY=7QOPKmxhi*V_aZiI;FYNc_H`Wub{xV!7rCQuL4DZ(U z7H8>{%@eZBe$Lf2`wbKKB+sA=k3)|#*C@HnZ8mrfWS9$~yh%+bvK4)`Q)Mm&gVz^K zVZmxaO0Pef2v&)(ciiVYl5?*_KR2!X!l-?(s3LmaOSaLE`~b!*n7edZCI{JGA4uZx zU~V8YM#lAXIS`_Mm(B>}X~2>xbM*vfjr)|E^{<99keYxJZI7d)06?fPO|hz$$#7G2 zDl^A!;X>g{@7+sXHrC@;mN&F8`-zjFzR(6Ko4c^Sl&QjBgryj-o4jWi|I)wAg~BBf zDaMD{;2>e=e4NqJdY%(fd%sIDxHxyNabW~50E~|jX*d)A%A>v$mpG3&DO1~j!Oe<7QUynI?T+=uat0u37tk&|07sF zIM_cSuU)m&3xZ`Ei}+6~h%SL%XP+E(>UDj%1aphHp&_J6NT(22-)B3=&mJvgr*3mN zs~)LU+e3miAp>0|r+32<4fz!PPl2Jp^r!D;i}>;O!V@LoMc$9>U!w zNuw_XFCgu0i%FN(>6b^ZM)BC7Gmb8~f|d&_-ETI*V6T)C%OwJu%ez~cMZa?+7rA%P;yN7;C|aLPRHV{-hiu)QUWBJmR{3ZF@# z;s>+35=yv7z&lQ)5$c6szuA$Q>wRe;MhOr~7EU$q3$wtczm)GW6V$!_c8(lppUF>P z4)1IHd7Oz99FowehVql{2NkJq*pdxwvA5vtoqVG=nW`?B8ranEz(%jRce1^g!&6;O!0TUZ8xoqk3NG1qi?xrzQx#~U@PoQg~;(L)^zCi1q zs62D~D>TCU@$?=XP3roO^@?xN{Ut*F`*hBp`SVtw|Dl68txm#_@#(4+>xKwYQ5a?j z^A)vZ6W_qwcR|o>5Nj9hglPeE%&pQMsbur|gqK5e=1%d9dNEZ$V|JNpJ|3e8Tl|ca zY#*aAPA>+i?;0neC_Z^zuVfjVB?K+Du|9G^x|biY?;`@Z+ljH29=>`H)O*BU``CW2 zIX%fvfCbsuXKMu=&DY~t2zmy@W-X5-n-6NU4Y+C_RuN7+lD_?Ez8BvX-a=}5zh^b! zw9&xk$zWZID(h%2r64L6H01>=l(aQ;*{3^>#gn;=KI>WK$T!H43V?1_bG1r#0>s?f zfGDK??cd~6gn#D@_-9Q6a$^bsDBF6c4E z-b+DkE8mK8>Vh9EB34<){&=NZ$z4w!6&>RndW?bRG>`&?{v*&EhM2VPjrs#ykv-h3J4aH5!PDWW18^|Ngb ztYSJ_EoXXt{M#u*-?{hMi6UAPy_dVyA#9fw2iITV`pR5EH;OwKOj7h~Z&bPemMfP3 zbWNBmy(WKy{BaWzjAK!8v3S709WT=hWsVe%*bM++-~RIga6IH5DZEE(OiQ5S)FC?y zO6R%~SUgRLu$W_!1AZG=z(Bv&_(qWLYqWjei<6ju0VF&(;?KGX1HCu-@rlV&yH2s? zFlcob!Lp-yPN;bF3~WS0mg+ssG#^|u-Q^Vx_T6*zAjPu3$AJ!U(H54v0b z&D_S7`}2>5v>~~vBjelfCH0${-L7e44iL6oHBGR&28*ua=Fv5h6sI~StRM5fD7A=9 zXuh8V@o6K#X*vj8N5~#wYHLdndfOOBo}wFuloOzq%mbawVS?&WvJ>DRbckL%HP}_OK@IQf`AD$002m|D@%GM6U3z3W)&_Y%a-R zBTBtn0G}_I{L(;&-Mdgi0I)pDak$%`&p>hivww~`*?bEOdt862ShwQ`i@ojx1(blK6t zt_}vw*2B2k%z)NC?L1h3zAopbL*sgfLv4{OUMLB0R$u7E$jl?i0Vzkf5d-`md}t4Q z8`;9pLVoX>i&^d~@in7)%q z`rL+nVx_qCSAb#b;YzXhp6(}@McTh#_ars=`Y??dno4$qgC{WNP?wpLEXz{mQ*BYi z)}&GOBWzaL3uN>r%R&*8C}n7=;U)vpBDmt4g4&(? zJY3;w=_GWW$u9gW{$)D|z=5UNDHy?r8RriWDTMdwyBhx-FHE{{5j zg?vJf!b&rt=6kLW>VE{37nq%R`xYod*2HR^6K^Pv57>#PybkHVU`oy2z3W6K5?`i( z?tFW2hYox|^XNKFOW3N5LH;1zRKq==@ZZVqk#3DQ&-uul5`T_lHg|mMxM_t7fJn}Y z(usz5izSJQs@*upY{!=uydlIUb;w#K{t|;-pw~(Q^_)ueSt9a#(W#rYPm3?y_iwlF z7m~IMxFm8=#V&9WZLx&f+%|LT)4OMbNqNiR_TpKT3JR-3zo^By*b_fVwT>>g2-Fje zQ7GcMo90=_i~-)?kZmM^fP@H1P-7Wx*9116QYR6%%fwf|2jQya_aAOEixEyfA*y$X z?`i&8U zH-ZD-VB(n;NE(LQl{3Y@;vIL-PQjUuYA1tZ5gJoJA3IAv;TP>P-?cAo?QdGWr)p;Ex&xSSd&{^_QupXagqR7x z9kE(at;~$5360`8Jue7hL-AHcWqd+|RkuB`dA5<>SH;W%8mRiT=?5=We;OyLv0J3f!^yO6lTX|2O;YWIp!}Yoqsk>n&J*(uxeGPRs)R*UIm~Y7z zAzPWK%~DPa2&!&wDq#%6d|pSj=I;V(-^3n@W3km|Hk3zlkOBxVyRd9NMK!_yB5Ba_ zA2b`he8VpiFHC`!g2QY>|DG1T)^ANEmg6*}MHr-+xCbXbAr&&pR;0u{yPW5_m!se_ zOFLjD{MGXCbUtTS%W$$w5O&?n=Fo4it1XUbF5d+;v=)(w#_iTh>gB9&`uWe|b6ohM z`n6wJK(0$*EWUL$HTPozk{7yvV00t}w2xZE*av@<#E|+ORIkJm&)$Y!ge^kPz7{n*F7F_3ts&cH<6y^$+%$DKSCfZtS zc+XoU?Pqa=2B+(9asd1J_YRMk(OjzX-*2$>&nG}LUHWT8QCZK*hIhYVzBulGnR)V2 zL0NAYh(~f+kHQw|o|H8wlV^00b>UW46dt6B<|jK@HJLg4BWkVI$1n43aU?Fb>4DDG zoY3tsz@Gm!ZzYiEq9fnGRM=&p(0!mA|4I&x&luoFI|tU#stez77mzHsky!cW$|7r^ zoJ~sXy2lsv6$@{m9!MKDAEob#Rq!61)&nj`Y7yU^1(~6a1!IzEalHqpB`}}2bA9TS zdDg%7l?fv^eqt5(b^QG^tK~|^4s3PY59Az5|!7)*F zXu|x%4U5ltJ8AOm2=pu934fODl}ll37O$z=i7e68!nKB!Q?B5dRl`4O-t6yYdtN6l zmCH$VWMY(|)rH%y1JRYR_pKa+mM@#295=FEG<(BtF)wi%{dN)IkzT!@t1GQk5fPJ= z!b{9}^dR>nS_*`4>dD&F5Xu0e`aI04|6|R-EETaR%{5iT<{Rlv;S|5`I5Pk?5N4zs zS?fTbC|BnTAtZD8KS8{%jOmY@Ak-IR$zM84W;N_I-h^j#3g~vhCt{m{xoVsZN)0`E zXM{=I3=-(`UL*#-@^pGii)?}PW@8M0%qLMClkNFQf@lYL(BHIMsBS`YoYm057Pap% z-}Y^(8;!$GJu` zz>tW@Ym_6H;P)(N<|mklAv#alkkJ0C6@p}G$)IHkimq)Mv4>Z~AYQZO0b%~k;n-TS z=6V{N9o0Qw@$z&@Bt8^qji)I&*d{yZs7V@;2Xa+XmiN(B=;8}~6)_=2di z!>?hR8ut#q{;PE+^Xp`P1NvESgk|tQ4#3C^#2D8C(}l#zrTf%fS?Q+sJ5&;`OFIQ8 z&}>gxtV{9}yJn+p>w~wTrMdpI zyM*zsP!Ehe+~%6c;i!k%TWw`~857xpP1n#dFwXcjmW#&qo8$J3DY^)(qVu*x`|dem=ntdXW5-+HGP* zEs~r{aUcZ3iU7M@A1rwIi;jF~<*#(TaaesM7mSUA9}f6JFcx2x=luf^ehO;zxC{u1 zGv2iMln+08Dl>tn;DdWlD7YLJF$-R>pgY%;NAj!rsnvd(Cj2}3;+5qTGJfZ0efG-3 zed*0ex*zh_H(L4QL_1>^_^%l@vRSLqn_y=w+F`yW(^<-}xUEcGj;gg>!v?PV}dEt=3a3nQfv{8eG&U5O5;mvZ0_U}I#aYf*5(Zixh`0Qw6Bu| zYqjzWXYZ)pH7l+Hk1CC=g13jt(Bs>EJmfn~2%)CoB1UH6aGr52fQ+8Keqw31rM7|l zyF;8i(SN(uG3QBWYK1C0xGe{|76Z8@Hi$Ky#)KQ&kp0gwWmlPN58uy92DI5A!{iuI ze%T8bIhoH(oIouj&*95)g}L)mFa?#tsqQ(c-Q*}koNv94!1oA1Ko5~1_u`36Zhjl0 zh=WJTA1lAhKJvdZmnk1NhdeJ>?UIjZH6GQ@t>8Re^u+4){vbis1A@ zTKCatZX<*slPv*3OP;0%(pVr_o=ZewiPM|he1LZ(0oZYa$>Ba3qs?)y zWN@Kqk{EOtncRz`{>AaWD)Gg~CWsA5RzwtxyTLVtSWTOkn`QB|v0Mr*wDu3oSU6nTu_H+-jf2VCv4FTt`EY_Fi@Lo)HN}IH3 zPcl{G=ZK`&Fe_DxGMpf=e!g3z7rOb@yHzqKTXBaIIW3>gT*6AHJw^}@%QYQuYpjt7 zv-{R33&#d=fdyR~TDCd+j95|skeHfpn)KsQe|-V0Sh8^_CLTfFeQ!WN(q~LBMB|qC zVX6odvx}8__*P^*#Z%;x&JAwN|r9Oa!iyP7;X^?Qar`HbK0Nnk0D{pIEB*gvapIGZWa03*(BaJ}tl zskdO}7TgsuNHJ{hdyO>C-E5X+LbJ_MgRny4K!7%_m_BR+0%ihp;Rn1q^fwkD8qT?e z!TLgCCT#|IEJt5eH|85qytAx4g(IWBep5t*kf=d|g&G*>iOV)VLAEJ}h^ot=8j<>g zK`B5+l)of%c=69-Yx~(il98$nEUvrR(q%!T20(A}Vg_MSr~4S#=(o{qvLgV#t}O`N zBq=(zW$Elb6j4l9#wZ)p0|%6c*B8kvn*VlcV;Xi_K$GiC_QHN#C9&2Xp_P_j7QiQe z5`iYC=-q8LiFcq(Q}|~c`sb>%rSsmZqLp(jDx2r!R`3U{uE~%J8{c>_1-=i}ZT;q{ ztz>2JMG&Fm*vEl30bI@+2+A;X^fJRUo5WW@d^%vKvd_iGb}>9#e6LyUQ&BGl`VRiM zk&A0ui;0azg)4i$DyY5jTT%qAOF*eIn$6$VDPtKs&Id%){?jFzmc+c*&wQ zNc0u~aC-4K+m@H&%kjr~PCfXr0$VTNeh~FWGl!*x_0kJZGya#5E8W^W_Q7hc@XyM} zRbUIhp*(U2wh?wK^Wra_S&W8UKNgc!Rb;TnsMk;}URXKw7#rw29D}_M5s(p7c{Cr0 z($&8n$4@220Uv^9^jw8hv)=Rs_ePES57GS7(55PZHiBTE9eDBcl$V`~_=|&Qd!xlF zrkXgz^_OMqPgn)mh6V%crZUpKhuNlZ5ZlIOFCm%``82a3dlRj3I#+J*&-JMDC&_6c z4x&6j@K`A1YBd20OM3<7!2Lzmy{|i6=-&(&nSsSHS{))PXzXM9^$517)+_99WLvWI zK}+7v8f<}>D|ff@i_Pbt@PY=a8h(-En0%_1IuEl1J17VHVS*i1gz;@`W}t$W-5`Fw z_AK?JbSfm10ih7U=Hig^+|{!^HCxzgHZ9^=FZ5QbA?2yf0dOgmhumH|h!tVI1F5?WJ_&GVF$jUN%L?)C=ev{s?yVzr+`S zVr>RuK${%xA`Wj1c(Osqdk zuGs9-tt(0=G!1Z!p=chU)5Ai~?ve`1WHy@xRcY3=Z~twdG0m0g$3OZ*^{WI;@`#va zHBv<>gbazbqVkXTNOB(;jhRQ19LpC`3FpgUJZ3p+znQ+NTn#~-tiO6&ur#|Zo4tnL z{Z&JP+NBt;I`RIUml+u-859wKDEu~eUz;Q7dk>G~19lZlse&CyXD!1PWb$fZh#A7J zG3=*M2@OX1;INVY3meCsKW*>GJS37(S3BeZHs?VGd}!i-aTv<^^72CqQ7>IY-CYNKHVhymsVGq^ HW*qW=;#8t~ diff --git a/examples/default.png b/examples/default.png index 06ec5fb0b325cc7814589c9bda42d03a6255b907..d83b6088c75c15e66e1249001de12a5e89381ec2 100644 GIT binary patch literal 6647 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 literal 7057 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 diff --git a/examples/dimension.png b/examples/dimension.png index d6549c0ed311c2b1e8fb8e3f0b615490b853c33e..d3fe12b4e627b49f4cb1522edc6c0f5d3b6ecff8 100644 GIT binary patch literal 9952 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 m2qupjG2|fs!~PGauE~Y~ literal 11515 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 Date: Sat, 13 Aug 2022 17:58:31 +0530 Subject: [PATCH 06/13] updated example.js with more examples --- examples/example.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/examples/example.js b/examples/example.js index 498f5d3..1630e0a 100644 --- a/examples/example.js +++ b/examples/example.js @@ -1,5 +1,5 @@ const fs = require('fs'); -const { CaptchaGenerator } = require('../js-script'); +const { CaptchaGenerator, Captcha } = require('../js-script'); (async () => { const captcha = new CaptchaGenerator(); @@ -25,5 +25,16 @@ const { CaptchaGenerator } = require('../js-script'); fs.writeFileSync('./examples/all.png', await captcha.generate()); // console text of captcha console.log(captcha.text); + // example captcha + const exmCaptcha = new Captcha(600, 200, 8); + exmCaptcha.addDecoy({ total: 20, size: 40 }); + exmCaptcha.drawCaptcha({ size: 40 }); + exmCaptcha.addDecoy(); + exmCaptcha.drawTrace(); + + exmCaptcha.async = false; + console.log('Example captcha text: ' + exmCaptcha.text); + + fs.writeFileSync('./examples/example.png', exmCaptcha.png); })(); From c13398cd4935bfb310f2fa96a2295eeb56e5a741 Mon Sep 17 00:00:00 2001 From: Shreyash Raj Date: Sat, 13 Aug 2022 18:00:03 +0530 Subject: [PATCH 07/13] Solved drawCaptcha undefined errror --- ts-script/captcha.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ts-script/captcha.ts b/ts-script/captcha.ts index 9382205..4b37ca6 100644 --- a/ts-script/captcha.ts +++ b/ts-script/captcha.ts @@ -126,6 +126,13 @@ export class Captcha { const option = { ...this._captcha, ...captchaOption }; if(captchaOption.text) option.text = captchaOption.text.slice(0, option.characters); if(!option.text) option.text = randomText(option.characters || 6); + if(option.text.length != option.characters) { + if(captchaOption.text) { + throw new Error("Size of text and no. of characters is not matching."); + } else { + option.text = randomText(option.characters); + } + } this._captcha = option; if(!this._coordinates[0]) this._coordinates = getRandomCoordinate(this._height, this._width, option.characters || 6); From 59673ab0602e10c73ce6f1c3f4b7350b6914ae3a Mon Sep 17 00:00:00 2001 From: Shreyash Raj Date: Sat, 13 Aug 2022 18:00:23 +0530 Subject: [PATCH 08/13] All test passed --- examples/all.png | Bin 12595 -> 12877 bytes examples/captcha.png | Bin 13076 -> 11914 bytes examples/default.png | Bin 6647 -> 6701 bytes examples/dimension.png | Bin 9952 -> 10581 bytes examples/example.png | Bin 0 -> 27737 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 examples/example.png diff --git a/examples/all.png b/examples/all.png index c77a80c05944a336ce9f5790597169f81207ede9..4eb282d613bcd39b902ed040b402536254213d2e 100644 GIT binary patch literal 12877 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 Gg8x4k0P}?a literal 12595 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 diff --git a/examples/captcha.png b/examples/captcha.png index 13bf5cbbf75c7b0af5f9582f5716911901eaa8c6..929ac85c6e9048d2e3399e46d7d36fe929ee4cbe 100644 GIT binary patch literal 11914 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 literal 13076 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 Lb=ewei?II(22(_d diff --git a/examples/default.png b/examples/default.png index d83b6088c75c15e66e1249001de12a5e89381ec2..0a2447025dadadc437a434e478881e82db7fecb9 100644 GIT binary patch literal 6701 zcmbtZ^;=Zm*PR)L8oH!JhHfbV>7h%yLqbxJkd|%`6c7-kyCofw4pFI(Gz>AqNF&|D zQ19^m3*Y<0J?B2px#ymH&f0tJz4lu@9W@dN0|Wp7kZ7nY8vp=6er(@?01tbY0h07$ z8=#MYnj)Zn^x-!40qmowVMKtvLI@lZ004S~hO&ZDVBTJSaE8%L{y|SqXiYlV z5bqKllv~lE`xoks|ANxg>Gvm;Ca1Yhrju&4@3bG61cQdrRta}69Wzyab}yKH=vms( zQy*s$J5Ih6vr%IU3i5wO625MVt6~)790|v}L3uY_;dwRx{*^G#%*+_i{J#A>Q#)Gy zWlXNe@cEf^@ZI?Vkd7EHy3bbVe{1L{tKk5=ezV@>dJD)%4(&yCq5p3p<~q0xEw8E_ zJu$AWnyDa_J_{gXPyy7S)DaAXK04eZ{gIA%+DEd;$Ge6bp>Kw#1e}{N)>8Q_&s;L^ zqc44|Yz}UR>3@9CYfDFTKaR!Qt5F;*Z~pkrW21N9Md%>x3!UfUlc5o;@&~$a2pu#z z*4k5r3>Bm8V!-yr?ocNXO!qw|LwGplkyDJL&^tQGta-=}Ln1z&p}+xde(bPR8S9ty zkE!n`Q%xLfTGIA&=TM}7i z@1Zbc#FmaFvh|h@Hw)ygIhg%1lPjr~Ov#8T)xVXU5sMb+(i-npj3PKld99I_IXkF3 z$DZ~5YE_>e*tFB{E@mW5`cezr!g?0Z@sbL26)YPpD;sviICQ%QtkNT=ovoiS2qyX;Y6Gc@mf8R3^{n@?jlZaE7qcf!FpKma}!yfAyL|HC0to&-*?87d$trb4bjumuRF{CD`+xI=SiLU zH_ExM;83N$+%%#8O2xsypd`q&*Eu5>J!)$x=30;eU!p*@M=tn1iCxA$yx5lKpF4R^ zHoyfo%k=(bA=q&cOW` zb;h?X_EWlhPkqn3MoJ}y((}F;<$xN4BX#^vUWB$nHy?n)$aER9s zY7?qbygJ`E$EjxrGyuTb$*Aq4YYvFV2-uO#PR%u>h({*8Sa*;?vq*RYQ|2`KUfa$y z>&mx60h8m~{5f$fUyQDEnZn#XZn?86tbCy+qNJFx2NzHLPN|pq08U95;gCY014K8) zojv=Hv_}%DwMl=dRhbbVsc#n7oOV@;H!S+Kv9wq|;&2BfSpS%4+hC2^;6YDY!|OlY zAFR0$u|;`?6@TlML4Zglz=DkQC)XVp;sC|ozR{sVYtjvbm<3&FNAat))@6EOkA<$>k&Xwn(6xxBN4-h0T-y}>K9Rr_8YuN6T%HnR zO|k8k!5OA>Sd9gd=g{YZ_Yl?r5eWUT1)zx6;G0WbKtffnLZ>e3N7Hs?=2-`&#-}Lx8u;-;tjY5Uq?e=vG}(!Y^;>_L?t~9+z=VTA|K?c$89%rK;^6%I4Nc zhRe5@Q7`>$;6^}9!+G0&Kd4Rmj&2CS-OTdf-F0BuF|A^Kx|3hug{UPc+k0!+vrrl= zLv}z07~hSdRWisTnKw+fp+();jBG0}c>dCtZgJYX1g6fGVoiOrS=}*$>G@Y*nb4)L z8W$V?iAO%-YPFNb?ZJiGThrW<$jj4%tg zlACz!yOwrznySv|BI=71F-1K;eT9QaBHHGfdxY^FC;a+$%M=*Gxmo~&rC&Rn()sTC zNl5k$3TlQBDNRmLFEKYXb*tO<5U=l=J2e-IHWPvD)8rtvSR%q<4WHHRAU%ln8G)v= zXk%D}A7^BKGsyb0zbjkhA9yfC-61=D!0pyo@E~01LHmfmV*dCX9(3nUNr==|YuLai zAJs1J>S?|CZb6$GhUh%hA4o#=j?mR45+IEuMDs2Q2-kAML z7vm!hWL=%$P32krJ0O}#N2XcZB#TUSdja+HpO@Ls(gt^i=;ajtmTkZ;k!LH$#8qrn zn|zt7=uuaG2yDgD_TO+7)601TU6}ppL7CU^Uf~n!wx8B&Mv3o2O%+Dm5u*%$qMK%= zVR;hYa4)j}FxwsgiQcRT;1}9jwUhhJjy@JWE0+n0eNonF9fg+YA~$Pv)n1GgfdBMS zLT%PhobEqjgco5nhzpok(^|V8g_`oAuWs+cw3wh(x$6FR^kgCpANATu^w$YgK+iYF zkxU93erH^tM$|3~OK!8AdsNBP5_J;UVL`++rXb{70L0pB_cTk(j`j(Icl`N`PK7JM zka>2V9J!?Wp@8W$881brIWaxs$|qwBhLbOgtoSEn9h&Z^FT2QDfw*VB&|+u8vI^aY zct=t+g?jta^2p$u4F|~|kK8|{buA1WoCiFE7J`J@W)JQ(cDOVfAoz~n}Hx00#O z3W`oKk5gS}&4-E_W8K*981Pw4c>a~rz6<1Fj2IYdai<^|`;gS!@uQpQQQ9{1sjBJV z#@K_EiiNTzt7ZB}B7yM9r`jL1jple^bt#yMCa7qtPDh$OEzK6rJ(Gc@8LVB^ESVvy zmKSCYxd2fgW11oNGE5bf)wiej7I#$f8BfU#sg3fgRyFOtJj0JaxgnG){;1A%G}6s; z9K!MFRIaGdYNj`=lDX7wR=~!=mvur51|14MDS(bi`meo3iYsuzMQ-3#xWZq=hn&a9 zHuc=^m!!b;gz$&^OO-`~-=+N>`>urDU%qV)aBa-$Ooef~D}-#eUW(}4vM84>&jlYp zRats1;5IYIppqGPy7kY5U^c_m_an(^e zDd!pAV0#gj1^sWsS2OC<$uf4*#kDbJX74rcy+O73M+<^Fk6oF{@MV&!Y@@E)2@k;S zwGTlaXQPVp5)H~HYJw!O-U1#I6Q^!PtSZtaVoSzuC!OtJ>UWk#ytt-H9loL}B7&10# zBbQM)UIvCKwH@)j@LvN~zS*;r zWzC>tH8X7Y(ZRuXT|y6F`X>lPov@MK=dwc!og`^or13TUydQ|#jkK}8KvyRswf9}A z$AzZ{`x)!tVFpk`aFsUSUtx;1y}1upuejh%d2DsK!QDqJ7*G-nN$`RKSAyV_qlmb` z{5>GXneYwST9`$kbwB1JtTKdkjE(8#2U0|J4r@WFcH(tLR8dAtt<{Ryzv5Ti@5`Mc zS7gbXRgA9`kMjWeWgR0;wf2q{7^67tO5LydO4&P`UHhzi$Q_w|6xTnn`vv$P~OXq)G%o=rvm`V#6em9&Oc4@*$tM-Wjv< z%HM5T+QYql#mhtV5DdjHY8;EjMn70<6=={Y;<7H4Gu1X+nsB&G%q%2q+MIWmXsCtr z&uIF`tY2Eav49^;<&LrQUqT`T02`^DCdzm=56(0Lb#WXhQVRlHNi1MO3{r35B2%e2 znqH|EOyF_ZG>qGl_8Q&dm$)B&8a!u7IX)g*zv%-wZ+KrH_jhZjFZT`D&)! z$iwg+s;u8OU|EJPLOQ8!)~`WU=By+pylJ*o0hmPZLkkiS9?%dP`&&et){ua5G(D`D z49cQH9=ZX{TJ6umtEivvaa}P+m79{$D%uy51-0$L3t)=O&_Gtve|6ehf}pCP#T9k) z?&}dP+&qa&e}ko%!-`rwesthRA1QyvhDr(PrpG3DA6>7d#A{= zO@N46M9LZ${!TRN1wa87m0e{_A&BU~et}|GA?gpcFCPj@-SN}e@1V}+YSt^WWfi!* zuecz98U3)DU)bgA>RNJev&Merf3aE7P33O=jmdcBx6RsUk#`WU4pl5U(%4Xt&JE`SZLt^siAk$#bpxQ{Z9#)D%}&{--B9>xS_>KFY*W_3UzE$AI8n zhxpKMMSghx_^(&bSejB`vVB9zUHjW|Tt_FfQ8$P%_Vp4S?gC1-4L}}SYVC1t#u{tt zTkAXs!x4#-on{)T_u~u!h`d?mysJhj zQb0^iJK#X^qe)Ou@S_4x3s>Q)2a#6bfv)avzSFknTm_&bUa)krgEO+ydOwdg%(G~= z4UEkNq0b*`U9A&G(B4!U+)4U{LkwR(cs8{3oNQFaAlKKEv&=lg4da95J(ZLTa2j>U zGjMR6#~VA*GFesxg{a{ImjwMy<1ik@WMlXYO{Uv#iWkWaYEF4LAEbbZM8oU`;3aC5 z2tg27UGKE3B;?N~f9HglU>@DpbcZQ?SMso0Yf0`*`fC;roxXP41Si6p#yvSNi9z1e-ab56U{_;Nr|x8~`ckk>+f zeoj#`hubArY>4je);~wRSrBmVGl+35YygMP_eD65tr75QH|ikGEcOP3=l8chPm2l^_VifiZL zMesb|tj|7oT5*f_$U_@=mmECcD;7LIbCI<_$UZL^`uDLvi7WV*O_MvFH*FMpREi*ejqEeyHzu9QOy|BtR9&JY%5L;Bj_Ys zq2b<#I+~WKb{P!YuGsR!wO8`e_02kH8}0_Zt_DK}01?w4LOl15z8`01TE>{|RE(#Q zB7})yeU9DUL_7v|deBf&w5r zp%5W-qC-GK=mx^cq8^cUys*|8zEq2dC-B58OD@vYGpiw|3@&QLNtGRUZJ;6!ct0EJ zY=U9$O9EB?nJ4$%L!(Q3q>*8}=i^-^O%GwlDIp~5_GW&Bds{W-*`HWJ9k^x$M)j}! z;(ndubMeZ)tf#!uWd}h)C8zoZ&p}=$3R*|21X1y#s;?6l-Z-rUH#{)#=rRhdPF$;{ zk6o9~#~jdlhF(wg?+pa2|GP`~!+YH9+GKYv^tnAo$E)98y8Yh=Uv(|(H04qMEdI#;b94?oQ^V)xl&l~=mL*_~;$xDZibj0&Bi__-9_So(O ztr!yu&#sV3*CkY8Y{VZE9?lVsfTMNsL0fdtTLO2SRG6#fVAlQ%ZQ{ zoiiT%!1w^ji;5YdiV3?v@;GSp#mBoIT&%il!+1iTG*m7%tFx*|eyMnWz$VhW*fgFl z9Q>!K$+Cs2T{9xi)e57_m^wE0LYjDzUgOI~Jdqgp0&2q3)|KU6`K)df`(i`WH@>84 z8|1T91J9N43}Zyq>Y?FlArJ1)aU?~aQf<&gC;B_J9r9W3b$hpb~j6TmMyW+x=^J+N8`tXp= zQ+S8z=Q;4oD!GgpgZ@dZBFc}&v#GQe-zs)5hgJ^qVY6!?ti9yJX=!Yh%%oPG)iV;M zezcu3ga`nGmw#hWLm~){!aBR&9ud)>xz9JRo5p*7LWd$0kpVio4VS(7AX|~IGL3#G z8-*z~y-FzKjK72ln4s{Vf>$j{DdZ9)vmX3P`54m38*tF%$CBUNJ0OQ2kR;y#;8MD0 z;|EyVpb-@wfCZwt9)cMr%;MrQj}Ll$*5&UMcUL*)G4HJ=_QTf?t3u4w)Ec$A^lKF?@k)X(mX?#PkP;M;@a@&!dU*X)R&?%e@~^#U z8kVn%N*7N3@(~4c{*AnSFB4ytpm09S?1H*$8_p19o=qUQd8@?2)z^2e9-(t zx;Sexxopf>Nf=+yHg{|-Q;2PxjWr$^F`c!MS;+h5*Qh=#7y3blQpC@NHJwSO+ zea1vwgf6lCiJ@W&DImgjh4#(28acaM8;h8 z|EH*SFNI+9O8=Qgzzd;_oXPi%-mE)(OvL%R_i|lH_em%FYgT-okm3cIA4DvihY>RzI-ClenhAJN)6Gn@_v(Fn?^x2cV&%qg=0O8})x^=c^q6 literal 6647 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 diff --git a/examples/dimension.png b/examples/dimension.png index d3fe12b4e627b49f4cb1522edc6c0f5d3b6ecff8..e699efe5ae4fbe4bf5326b3462e8d4c55ab3de94 100644 GIT binary patch literal 10581 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 m2qupjG2|fs!~PGauE~Y~ diff --git a/examples/example.png b/examples/example.png new file mode 100644 index 0000000000000000000000000000000000000000..e5841ba1bdea3682a2f625645935664c45413054 GIT binary patch literal 27737 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 Date: Sat, 13 Aug 2022 18:02:33 +0530 Subject: [PATCH 09/13] Updated readme with captcha image from same folder --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3131108..68c34f9 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ This is an npm package [captcha-canvas](https://npmjs.com/package/captcha-canvas #### Captcha Image: -![captcha](https://github.com/Shashank3736/captcha-canvas/raw/master/assets/captcha/default.png) +![captcha](examples/example.png) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FShashank3736%2Fcaptcha-canvas.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FShashank3736%2Fcaptcha-canvas?ref=badge_shield) ### Features From cfd7090a889e90110766cc20f5b32b778197b358 Mon Sep 17 00:00:00 2001 From: Shreyash Raj Date: Sat, 13 Aug 2022 18:13:47 +0530 Subject: [PATCH 10/13] CodeFactor issues solved --- ts-script/captcha.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ts-script/captcha.ts b/ts-script/captcha.ts index 4b37ca6..9dad1e4 100644 --- a/ts-script/captcha.ts +++ b/ts-script/captcha.ts @@ -60,9 +60,10 @@ export class Captcha { */ get png(): Buffer | Promise { if(this.async) { - return this._canvas.toBuffer('png') - } else { - return this._canvas.toBufferSync('png') + return this._canvas.toBuffer('png'); + } + else { + return this._canvas.toBufferSync('png'); } } /** @@ -129,7 +130,8 @@ export class Captcha { if(option.text.length != option.characters) { if(captchaOption.text) { throw new Error("Size of text and no. of characters is not matching."); - } else { + } + else { option.text = randomText(option.characters); } } From b4e28f67cd595f63e0df47fe7368c9b2a9bf48af Mon Sep 17 00:00:00 2001 From: Shreyash Raj Date: Sat, 13 Aug 2022 18:15:23 +0530 Subject: [PATCH 11/13] CodeFactor issues-2 --- ts-script/captcha.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ts-script/captcha.ts b/ts-script/captcha.ts index 9dad1e4..8b0a59a 100644 --- a/ts-script/captcha.ts +++ b/ts-script/captcha.ts @@ -61,7 +61,7 @@ export class Captcha { get png(): Buffer | Promise { if(this.async) { return this._canvas.toBuffer('png'); - } + } else { return this._canvas.toBufferSync('png'); } @@ -130,7 +130,7 @@ export class Captcha { if(option.text.length != option.characters) { if(captchaOption.text) { throw new Error("Size of text and no. of characters is not matching."); - } + } else { option.text = randomText(option.characters); } From 12f2c6ee66ea48edbc8c36240bbc7ab22a1d3a97 Mon Sep 17 00:00:00 2001 From: Shreyash Raj Date: Sat, 13 Aug 2022 18:26:08 +0530 Subject: [PATCH 12/13] Updated readme --- .github/SECURITY.md | 10 ++++++++++ README.md | 3 --- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/SECURITY.md b/.github/SECURITY.md index af70a04..a76730c 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -11,6 +11,16 @@ This package versioning work like MAJOR.MINOR.PATCH structure. All the versions before v2.0.2 works very well but have some very small bugs. +### Versions +#### v1 +v1 is created for simple captcha creations. It is only capable of supporting simple customisation. + +#### v2 +v2 is released with more customisation method and a complete new background coding. It may not be wrong to say that I totally changed the code from v1. + +#### v3 +v3 is released and I shifted to skia-canvas, also more deeper level customisation is introduced. The whole thing is recoded in Typescript. + ## Reporting a Vulnerability To report a bug or typos. Create an issue with all the details you have regarding that bug with steps to reproduce it. If you know the way to solve it then you can make a pull request with the solution. diff --git a/README.md b/README.md index 68c34f9..f417daf 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,3 @@ -# IMPORTANT NOTE -I am not actively working on the project anymore. `v3` have almost all the features I need to make captcha and that's why I decided to stop working on this project from here on. I started this project so that I can create captchas for my discord bots easily. `v3` is still active and working perfectly. - # captcha-canvas [![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-) From 0702da150a8d34b590df5818a64c63a74157e3eb Mon Sep 17 00:00:00 2001 From: Shreyash Raj Date: Sat, 13 Aug 2022 19:06:16 +0530 Subject: [PATCH 13/13] Small changes --- ts-script/captcha.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ts-script/captcha.ts b/ts-script/captcha.ts index 8b0a59a..e339c15 100644 --- a/ts-script/captcha.ts +++ b/ts-script/captcha.ts @@ -125,8 +125,8 @@ export class Captcha { */ drawCaptcha(captchaOption: DrawCaptchaOption = {}): Captcha { const option = { ...this._captcha, ...captchaOption }; - if(captchaOption.text) option.text = captchaOption.text.slice(0, option.characters); - if(!option.text) option.text = randomText(option.characters || 6); + if(captchaOption.text) option.text = captchaOption.text; + if(!option.text) option.text = randomText(option.characters); if(option.text.length != option.characters) { if(captchaOption.text) { throw new Error("Size of text and no. of characters is not matching.");