groove-dev 0.26.39 → 0.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (915) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/CLAUDE.md +31 -19
  3. package/node_modules/@groove-dev/cli/package.json +1 -1
  4. package/node_modules/@groove-dev/daemon/integrations-registry.json +548 -0
  5. package/node_modules/@groove-dev/daemon/package.json +1 -1
  6. package/node_modules/@groove-dev/daemon/src/api.js +172 -4
  7. package/node_modules/@groove-dev/daemon/src/classifier.js +20 -1
  8. package/node_modules/@groove-dev/daemon/src/firstrun.js +14 -1
  9. package/node_modules/@groove-dev/daemon/src/gateways/manager.js +2 -2
  10. package/node_modules/@groove-dev/daemon/src/index.js +3 -1
  11. package/node_modules/@groove-dev/daemon/src/introducer.js +56 -5
  12. package/node_modules/@groove-dev/daemon/src/journalist.js +72 -10
  13. package/node_modules/@groove-dev/daemon/src/lockmanager.js +60 -0
  14. package/node_modules/@groove-dev/daemon/src/mcp-manager.js +2 -1
  15. package/node_modules/@groove-dev/daemon/src/memory.js +370 -0
  16. package/node_modules/@groove-dev/daemon/src/pm.js +1 -1
  17. package/node_modules/@groove-dev/daemon/src/process.js +20 -1
  18. package/node_modules/@groove-dev/daemon/src/rotator.js +184 -5
  19. package/node_modules/@groove-dev/daemon/src/router.js +43 -0
  20. package/node_modules/@groove-dev/daemon/src/tokentracker.js +62 -8
  21. package/node_modules/@groove-dev/daemon/src/validate.js +0 -13
  22. package/node_modules/@groove-dev/daemon/test/journalist.test.js +5 -2
  23. package/node_modules/@groove-dev/daemon/test/lockmanager.test.js +64 -0
  24. package/node_modules/@groove-dev/daemon/test/memory.test.js +252 -0
  25. package/node_modules/@groove-dev/daemon/test/rotator.test.js +156 -0
  26. package/node_modules/@groove-dev/daemon/test/router.test.js +64 -0
  27. package/node_modules/@groove-dev/daemon/test/tokentracker.test.js +78 -0
  28. package/node_modules/@groove-dev/gui/dist/assets/index-Bl1_J0sN.js +652 -0
  29. package/node_modules/@groove-dev/gui/dist/assets/index-DjORRpF0.css +1 -0
  30. package/node_modules/@groove-dev/gui/dist/index.html +2 -2
  31. package/node_modules/@groove-dev/gui/package.json +1 -4
  32. package/node_modules/@groove-dev/gui/src/components/agents/spawn-wizard.jsx +18 -0
  33. package/node_modules/@groove-dev/gui/src/components/dashboard/cache-ring.jsx +6 -2
  34. package/node_modules/@groove-dev/gui/src/components/dashboard/intel-panel.jsx +251 -8
  35. package/node_modules/@groove-dev/gui/src/components/dashboard/team-burn-panel.jsx +55 -0
  36. package/node_modules/@groove-dev/gui/src/components/marketplace/marketplace-card.jsx +22 -4
  37. package/node_modules/@groove-dev/gui/src/lib/format.js +0 -6
  38. package/node_modules/@groove-dev/gui/src/lib/hooks/use-dashboard.js +18 -1
  39. package/node_modules/@groove-dev/gui/src/stores/groove.js +41 -16
  40. package/node_modules/@groove-dev/gui/src/views/dashboard.jsx +9 -2
  41. package/node_modules/@groove-dev/gui/src/views/marketplace.jsx +103 -77
  42. package/package.json +2 -8
  43. package/packages/cli/package.json +1 -1
  44. package/packages/daemon/integrations-registry.json +548 -0
  45. package/packages/daemon/package.json +1 -1
  46. package/packages/daemon/src/api.js +172 -4
  47. package/packages/daemon/src/classifier.js +20 -1
  48. package/packages/daemon/src/firstrun.js +14 -1
  49. package/packages/daemon/src/gateways/manager.js +2 -2
  50. package/packages/daemon/src/index.js +3 -1
  51. package/packages/daemon/src/introducer.js +56 -5
  52. package/packages/daemon/src/journalist.js +72 -10
  53. package/packages/daemon/src/lockmanager.js +60 -0
  54. package/packages/daemon/src/mcp-manager.js +2 -1
  55. package/packages/daemon/src/memory.js +370 -0
  56. package/packages/daemon/src/pm.js +1 -1
  57. package/packages/daemon/src/process.js +20 -1
  58. package/packages/daemon/src/rotator.js +184 -5
  59. package/packages/daemon/src/router.js +43 -0
  60. package/packages/daemon/src/tokentracker.js +62 -8
  61. package/packages/daemon/src/validate.js +0 -13
  62. package/packages/gui/dist/assets/index-Bl1_J0sN.js +652 -0
  63. package/packages/gui/dist/assets/index-DjORRpF0.css +1 -0
  64. package/packages/gui/dist/index.html +2 -2
  65. package/packages/gui/package.json +1 -4
  66. package/packages/gui/src/components/agents/spawn-wizard.jsx +18 -0
  67. package/packages/gui/src/components/dashboard/cache-ring.jsx +6 -2
  68. package/packages/gui/src/components/dashboard/intel-panel.jsx +251 -8
  69. package/packages/gui/src/components/dashboard/team-burn-panel.jsx +55 -0
  70. package/packages/gui/src/components/marketplace/marketplace-card.jsx +22 -4
  71. package/packages/gui/src/lib/format.js +0 -6
  72. package/packages/gui/src/lib/hooks/use-dashboard.js +18 -1
  73. package/packages/gui/src/stores/groove.js +41 -16
  74. package/packages/gui/src/views/dashboard.jsx +9 -2
  75. package/packages/gui/src/views/marketplace.jsx +103 -77
  76. package/docs-manager/DOCS-WORKFLOW.md +0 -176
  77. package/node_modules/@groove-dev/gui/dist/assets/index-BkY43sei.css +0 -1
  78. package/node_modules/@groove-dev/gui/dist/assets/index-DmKZLrXU.js +0 -652
  79. package/node_modules/@groove-dev/gui/dist/groove-logo-short.png +0 -0
  80. package/node_modules/@groove-dev/gui/dist/groove-logo.png +0 -0
  81. package/node_modules/@groove-dev/gui/public/groove-logo-short.png +0 -0
  82. package/node_modules/@groove-dev/gui/public/groove-logo.png +0 -0
  83. package/node_modules/@groove-dev/gui/src/components/ui/dropdown-menu.jsx +0 -60
  84. package/node_modules/@groove-dev/gui/src/lib/hooks/use-media-query.js +0 -18
  85. package/node_modules/@radix-ui/react-dropdown-menu/LICENSE +0 -21
  86. package/node_modules/@radix-ui/react-dropdown-menu/README.md +0 -3
  87. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts +0 -97
  88. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.d.ts +0 -97
  89. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +0 -337
  90. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.js.map +0 -7
  91. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs +0 -305
  92. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs.map +0 -7
  93. package/node_modules/@radix-ui/react-dropdown-menu/package.json +0 -75
  94. package/node_modules/@radix-ui/react-popover/LICENSE +0 -21
  95. package/node_modules/@radix-ui/react-popover/README.md +0 -3
  96. package/node_modules/@radix-ui/react-popover/dist/index.d.mts +0 -85
  97. package/node_modules/@radix-ui/react-popover/dist/index.d.ts +0 -85
  98. package/node_modules/@radix-ui/react-popover/dist/index.js +0 -352
  99. package/node_modules/@radix-ui/react-popover/dist/index.js.map +0 -7
  100. package/node_modules/@radix-ui/react-popover/dist/index.mjs +0 -320
  101. package/node_modules/@radix-ui/react-popover/dist/index.mjs.map +0 -7
  102. package/node_modules/@radix-ui/react-popover/package.json +0 -82
  103. package/node_modules/@radix-ui/react-separator/LICENSE +0 -21
  104. package/node_modules/@radix-ui/react-separator/README.md +0 -3
  105. package/node_modules/@radix-ui/react-separator/dist/index.d.mts +0 -21
  106. package/node_modules/@radix-ui/react-separator/dist/index.d.ts +0 -21
  107. package/node_modules/@radix-ui/react-separator/dist/index.js +0 -65
  108. package/node_modules/@radix-ui/react-separator/dist/index.js.map +0 -7
  109. package/node_modules/@radix-ui/react-separator/dist/index.mjs +0 -32
  110. package/node_modules/@radix-ui/react-separator/dist/index.mjs.map +0 -7
  111. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/LICENSE +0 -21
  112. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/README.md +0 -3
  113. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.d.mts +0 -52
  114. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.d.ts +0 -52
  115. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.js +0 -80
  116. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.js.map +0 -7
  117. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.mjs +0 -47
  118. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +0 -7
  119. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/package.json +0 -69
  120. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/LICENSE +0 -21
  121. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/README.md +0 -3
  122. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.d.mts +0 -22
  123. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.d.ts +0 -22
  124. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.js +0 -152
  125. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.js.map +0 -7
  126. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.mjs +0 -119
  127. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/dist/index.mjs.map +0 -7
  128. package/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-slot/package.json +0 -64
  129. package/node_modules/@radix-ui/react-separator/package.json +0 -69
  130. package/packages/gui/dist/assets/index-BkY43sei.css +0 -1
  131. package/packages/gui/dist/assets/index-DmKZLrXU.js +0 -652
  132. package/packages/gui/dist/groove-logo-short.png +0 -0
  133. package/packages/gui/dist/groove-logo.png +0 -0
  134. package/packages/gui/public/groove-logo-short.png +0 -0
  135. package/packages/gui/public/groove-logo.png +0 -0
  136. package/packages/gui/src/components/ui/dropdown-menu.jsx +0 -60
  137. package/packages/gui/src/lib/hooks/use-media-query.js +0 -18
  138. package/slides/convert-slides.js +0 -1120
  139. package/slides/deck.pptx +0 -0
  140. package/slides/index.html +0 -825
  141. package/slides/node_modules/.package-lock.json +0 -527
  142. package/slides/node_modules/@types/node/LICENSE +0 -21
  143. package/slides/node_modules/@types/node/README.md +0 -15
  144. package/slides/node_modules/@types/node/assert/strict.d.ts +0 -111
  145. package/slides/node_modules/@types/node/assert.d.ts +0 -1078
  146. package/slides/node_modules/@types/node/async_hooks.d.ts +0 -603
  147. package/slides/node_modules/@types/node/buffer.buffer.d.ts +0 -472
  148. package/slides/node_modules/@types/node/buffer.d.ts +0 -1934
  149. package/slides/node_modules/@types/node/child_process.d.ts +0 -1476
  150. package/slides/node_modules/@types/node/cluster.d.ts +0 -578
  151. package/slides/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  152. package/slides/node_modules/@types/node/compatibility/index.d.ts +0 -9
  153. package/slides/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  154. package/slides/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
  155. package/slides/node_modules/@types/node/console.d.ts +0 -452
  156. package/slides/node_modules/@types/node/constants.d.ts +0 -21
  157. package/slides/node_modules/@types/node/crypto.d.ts +0 -4545
  158. package/slides/node_modules/@types/node/dgram.d.ts +0 -600
  159. package/slides/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
  160. package/slides/node_modules/@types/node/dns/promises.d.ts +0 -503
  161. package/slides/node_modules/@types/node/dns.d.ts +0 -923
  162. package/slides/node_modules/@types/node/domain.d.ts +0 -170
  163. package/slides/node_modules/@types/node/events.d.ts +0 -976
  164. package/slides/node_modules/@types/node/fs/promises.d.ts +0 -1295
  165. package/slides/node_modules/@types/node/fs.d.ts +0 -4461
  166. package/slides/node_modules/@types/node/globals.d.ts +0 -172
  167. package/slides/node_modules/@types/node/globals.typedarray.d.ts +0 -38
  168. package/slides/node_modules/@types/node/http.d.ts +0 -2089
  169. package/slides/node_modules/@types/node/http2.d.ts +0 -2644
  170. package/slides/node_modules/@types/node/https.d.ts +0 -579
  171. package/slides/node_modules/@types/node/index.d.ts +0 -97
  172. package/slides/node_modules/@types/node/inspector.d.ts +0 -253
  173. package/slides/node_modules/@types/node/inspector.generated.d.ts +0 -4052
  174. package/slides/node_modules/@types/node/module.d.ts +0 -891
  175. package/slides/node_modules/@types/node/net.d.ts +0 -1076
  176. package/slides/node_modules/@types/node/os.d.ts +0 -506
  177. package/slides/node_modules/@types/node/package.json +0 -145
  178. package/slides/node_modules/@types/node/path.d.ts +0 -200
  179. package/slides/node_modules/@types/node/perf_hooks.d.ts +0 -968
  180. package/slides/node_modules/@types/node/process.d.ts +0 -2084
  181. package/slides/node_modules/@types/node/punycode.d.ts +0 -117
  182. package/slides/node_modules/@types/node/querystring.d.ts +0 -152
  183. package/slides/node_modules/@types/node/readline/promises.d.ts +0 -161
  184. package/slides/node_modules/@types/node/readline.d.ts +0 -594
  185. package/slides/node_modules/@types/node/repl.d.ts +0 -428
  186. package/slides/node_modules/@types/node/sea.d.ts +0 -153
  187. package/slides/node_modules/@types/node/sqlite.d.ts +0 -721
  188. package/slides/node_modules/@types/node/stream/consumers.d.ts +0 -38
  189. package/slides/node_modules/@types/node/stream/promises.d.ts +0 -90
  190. package/slides/node_modules/@types/node/stream/web.d.ts +0 -622
  191. package/slides/node_modules/@types/node/stream.d.ts +0 -1687
  192. package/slides/node_modules/@types/node/string_decoder.d.ts +0 -67
  193. package/slides/node_modules/@types/node/test.d.ts +0 -2163
  194. package/slides/node_modules/@types/node/timers/promises.d.ts +0 -108
  195. package/slides/node_modules/@types/node/timers.d.ts +0 -287
  196. package/slides/node_modules/@types/node/tls.d.ts +0 -1319
  197. package/slides/node_modules/@types/node/trace_events.d.ts +0 -197
  198. package/slides/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -468
  199. package/slides/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -34
  200. package/slides/node_modules/@types/node/ts5.6/index.d.ts +0 -97
  201. package/slides/node_modules/@types/node/tty.d.ts +0 -208
  202. package/slides/node_modules/@types/node/url.d.ts +0 -984
  203. package/slides/node_modules/@types/node/util.d.ts +0 -2606
  204. package/slides/node_modules/@types/node/v8.d.ts +0 -920
  205. package/slides/node_modules/@types/node/vm.d.ts +0 -1000
  206. package/slides/node_modules/@types/node/wasi.d.ts +0 -181
  207. package/slides/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  208. package/slides/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  209. package/slides/node_modules/@types/node/web-globals/events.d.ts +0 -97
  210. package/slides/node_modules/@types/node/web-globals/fetch.d.ts +0 -55
  211. package/slides/node_modules/@types/node/web-globals/navigator.d.ts +0 -22
  212. package/slides/node_modules/@types/node/web-globals/storage.d.ts +0 -24
  213. package/slides/node_modules/@types/node/worker_threads.d.ts +0 -784
  214. package/slides/node_modules/@types/node/zlib.d.ts +0 -747
  215. package/slides/node_modules/base64-js/LICENSE +0 -21
  216. package/slides/node_modules/base64-js/README.md +0 -34
  217. package/slides/node_modules/base64-js/base64js.min.js +0 -1
  218. package/slides/node_modules/base64-js/index.d.ts +0 -3
  219. package/slides/node_modules/base64-js/index.js +0 -150
  220. package/slides/node_modules/base64-js/package.json +0 -47
  221. package/slides/node_modules/bl/.travis.yml +0 -17
  222. package/slides/node_modules/bl/BufferList.js +0 -396
  223. package/slides/node_modules/bl/LICENSE.md +0 -13
  224. package/slides/node_modules/bl/README.md +0 -247
  225. package/slides/node_modules/bl/bl.js +0 -84
  226. package/slides/node_modules/bl/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  227. package/slides/node_modules/bl/node_modules/readable-stream/GOVERNANCE.md +0 -136
  228. package/slides/node_modules/bl/node_modules/readable-stream/LICENSE +0 -47
  229. package/slides/node_modules/bl/node_modules/readable-stream/README.md +0 -106
  230. package/slides/node_modules/bl/node_modules/readable-stream/errors-browser.js +0 -127
  231. package/slides/node_modules/bl/node_modules/readable-stream/errors.js +0 -116
  232. package/slides/node_modules/bl/node_modules/readable-stream/experimentalWarning.js +0 -17
  233. package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  234. package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  235. package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  236. package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  237. package/slides/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  238. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  239. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  240. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  241. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  242. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  243. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  244. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  245. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  246. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  247. package/slides/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  248. package/slides/node_modules/bl/node_modules/readable-stream/package.json +0 -68
  249. package/slides/node_modules/bl/node_modules/readable-stream/readable-browser.js +0 -9
  250. package/slides/node_modules/bl/node_modules/readable-stream/readable.js +0 -16
  251. package/slides/node_modules/bl/package.json +0 -37
  252. package/slides/node_modules/bl/test/convert.js +0 -21
  253. package/slides/node_modules/bl/test/indexOf.js +0 -492
  254. package/slides/node_modules/bl/test/isBufferList.js +0 -32
  255. package/slides/node_modules/bl/test/test.js +0 -869
  256. package/slides/node_modules/buffer/AUTHORS.md +0 -70
  257. package/slides/node_modules/buffer/LICENSE +0 -21
  258. package/slides/node_modules/buffer/README.md +0 -410
  259. package/slides/node_modules/buffer/index.d.ts +0 -186
  260. package/slides/node_modules/buffer/index.js +0 -1817
  261. package/slides/node_modules/buffer/package.json +0 -96
  262. package/slides/node_modules/canvas/Readme.md +0 -657
  263. package/slides/node_modules/canvas/binding.gyp +0 -229
  264. package/slides/node_modules/canvas/browser.js +0 -31
  265. package/slides/node_modules/canvas/build/Makefile +0 -347
  266. package/slides/node_modules/canvas/build/Release/canvas.node +0 -0
  267. package/slides/node_modules/canvas/build/Release/libX11.6.dylib +0 -0
  268. package/slides/node_modules/canvas/build/Release/libXau.6.dylib +0 -0
  269. package/slides/node_modules/canvas/build/Release/libXdmcp.6.dylib +0 -0
  270. package/slides/node_modules/canvas/build/Release/libXext.6.dylib +0 -0
  271. package/slides/node_modules/canvas/build/Release/libXrender.1.dylib +0 -0
  272. package/slides/node_modules/canvas/build/Release/libcairo-gobject.2.dylib +0 -0
  273. package/slides/node_modules/canvas/build/Release/libcairo.2.dylib +0 -0
  274. package/slides/node_modules/canvas/build/Release/libdatrie.1.dylib +0 -0
  275. package/slides/node_modules/canvas/build/Release/libfontconfig.1.dylib +0 -0
  276. package/slides/node_modules/canvas/build/Release/libfreetype.6.dylib +0 -0
  277. package/slides/node_modules/canvas/build/Release/libfribidi.0.dylib +0 -0
  278. package/slides/node_modules/canvas/build/Release/libgdk_pixbuf-2.0.0.dylib +0 -0
  279. package/slides/node_modules/canvas/build/Release/libgif.7.2.0.dylib +0 -0
  280. package/slides/node_modules/canvas/build/Release/libgio-2.0.0.dylib +0 -0
  281. package/slides/node_modules/canvas/build/Release/libglib-2.0.0.dylib +0 -0
  282. package/slides/node_modules/canvas/build/Release/libgmodule-2.0.0.dylib +0 -0
  283. package/slides/node_modules/canvas/build/Release/libgobject-2.0.0.dylib +0 -0
  284. package/slides/node_modules/canvas/build/Release/libgraphite2.3.2.1.dylib +0 -0
  285. package/slides/node_modules/canvas/build/Release/libharfbuzz.0.dylib +0 -0
  286. package/slides/node_modules/canvas/build/Release/libintl.8.dylib +0 -0
  287. package/slides/node_modules/canvas/build/Release/libjpeg.8.3.2.dylib +0 -0
  288. package/slides/node_modules/canvas/build/Release/libpango-1.0.0.dylib +0 -0
  289. package/slides/node_modules/canvas/build/Release/libpangocairo-1.0.0.dylib +0 -0
  290. package/slides/node_modules/canvas/build/Release/libpangoft2-1.0.0.dylib +0 -0
  291. package/slides/node_modules/canvas/build/Release/libpcre2-8.0.dylib +0 -0
  292. package/slides/node_modules/canvas/build/Release/libpixman-1.0.dylib +0 -0
  293. package/slides/node_modules/canvas/build/Release/libpng16.16.dylib +0 -0
  294. package/slides/node_modules/canvas/build/Release/librsvg-2.2.dylib +0 -0
  295. package/slides/node_modules/canvas/build/Release/libthai.0.dylib +0 -0
  296. package/slides/node_modules/canvas/build/Release/libxcb-render.0.0.0.dylib +0 -0
  297. package/slides/node_modules/canvas/build/Release/libxcb-shm.0.0.0.dylib +0 -0
  298. package/slides/node_modules/canvas/build/Release/libxcb.1.1.0.dylib +0 -0
  299. package/slides/node_modules/canvas/build/binding.Makefile +0 -6
  300. package/slides/node_modules/canvas/build/canvas.target.mk +0 -299
  301. package/slides/node_modules/canvas/build/gyp-mac-tool +0 -766
  302. package/slides/node_modules/canvas/index.d.ts +0 -507
  303. package/slides/node_modules/canvas/index.js +0 -94
  304. package/slides/node_modules/canvas/lib/DOMMatrix.js +0 -678
  305. package/slides/node_modules/canvas/lib/bindings.js +0 -43
  306. package/slides/node_modules/canvas/lib/canvas.js +0 -113
  307. package/slides/node_modules/canvas/lib/context2d.js +0 -11
  308. package/slides/node_modules/canvas/lib/image.js +0 -97
  309. package/slides/node_modules/canvas/lib/jpegstream.js +0 -41
  310. package/slides/node_modules/canvas/lib/pattern.js +0 -15
  311. package/slides/node_modules/canvas/lib/pdfstream.js +0 -35
  312. package/slides/node_modules/canvas/lib/pngstream.js +0 -42
  313. package/slides/node_modules/canvas/package.json +0 -71
  314. package/slides/node_modules/canvas/src/Backends.h +0 -9
  315. package/slides/node_modules/canvas/src/Canvas.cc +0 -1026
  316. package/slides/node_modules/canvas/src/Canvas.h +0 -128
  317. package/slides/node_modules/canvas/src/CanvasError.h +0 -37
  318. package/slides/node_modules/canvas/src/CanvasGradient.cc +0 -113
  319. package/slides/node_modules/canvas/src/CanvasGradient.h +0 -20
  320. package/slides/node_modules/canvas/src/CanvasPattern.cc +0 -129
  321. package/slides/node_modules/canvas/src/CanvasPattern.h +0 -33
  322. package/slides/node_modules/canvas/src/CanvasRenderingContext2d.cc +0 -3527
  323. package/slides/node_modules/canvas/src/CanvasRenderingContext2d.h +0 -238
  324. package/slides/node_modules/canvas/src/CharData.h +0 -233
  325. package/slides/node_modules/canvas/src/FontParser.cc +0 -605
  326. package/slides/node_modules/canvas/src/FontParser.h +0 -115
  327. package/slides/node_modules/canvas/src/Image.cc +0 -1719
  328. package/slides/node_modules/canvas/src/Image.h +0 -146
  329. package/slides/node_modules/canvas/src/ImageData.cc +0 -138
  330. package/slides/node_modules/canvas/src/ImageData.h +0 -26
  331. package/slides/node_modules/canvas/src/InstanceData.h +0 -12
  332. package/slides/node_modules/canvas/src/JPEGStream.h +0 -157
  333. package/slides/node_modules/canvas/src/PNG.h +0 -292
  334. package/slides/node_modules/canvas/src/Point.h +0 -11
  335. package/slides/node_modules/canvas/src/Util.h +0 -9
  336. package/slides/node_modules/canvas/src/bmp/BMPParser.cc +0 -459
  337. package/slides/node_modules/canvas/src/bmp/BMPParser.h +0 -60
  338. package/slides/node_modules/canvas/src/bmp/LICENSE.md +0 -24
  339. package/slides/node_modules/canvas/src/closure.cc +0 -52
  340. package/slides/node_modules/canvas/src/closure.h +0 -98
  341. package/slides/node_modules/canvas/src/color.cc +0 -796
  342. package/slides/node_modules/canvas/src/color.h +0 -30
  343. package/slides/node_modules/canvas/src/dll_visibility.h +0 -20
  344. package/slides/node_modules/canvas/src/init.cc +0 -114
  345. package/slides/node_modules/canvas/src/register_font.cc +0 -352
  346. package/slides/node_modules/canvas/src/register_font.h +0 -7
  347. package/slides/node_modules/canvas/util/has_lib.js +0 -119
  348. package/slides/node_modules/canvas/util/win_jpeg_lookup.js +0 -21
  349. package/slides/node_modules/chownr/LICENSE +0 -15
  350. package/slides/node_modules/chownr/README.md +0 -3
  351. package/slides/node_modules/chownr/chownr.js +0 -167
  352. package/slides/node_modules/chownr/package.json +0 -29
  353. package/slides/node_modules/core-util-is/LICENSE +0 -19
  354. package/slides/node_modules/core-util-is/README.md +0 -3
  355. package/slides/node_modules/core-util-is/lib/util.js +0 -107
  356. package/slides/node_modules/core-util-is/package.json +0 -38
  357. package/slides/node_modules/decompress-response/index.d.ts +0 -22
  358. package/slides/node_modules/decompress-response/index.js +0 -58
  359. package/slides/node_modules/decompress-response/license +0 -9
  360. package/slides/node_modules/decompress-response/package.json +0 -56
  361. package/slides/node_modules/decompress-response/readme.md +0 -48
  362. package/slides/node_modules/deep-extend/CHANGELOG.md +0 -46
  363. package/slides/node_modules/deep-extend/LICENSE +0 -20
  364. package/slides/node_modules/deep-extend/README.md +0 -91
  365. package/slides/node_modules/deep-extend/index.js +0 -1
  366. package/slides/node_modules/deep-extend/lib/deep-extend.js +0 -150
  367. package/slides/node_modules/deep-extend/package.json +0 -62
  368. package/slides/node_modules/detect-libc/LICENSE +0 -201
  369. package/slides/node_modules/detect-libc/README.md +0 -163
  370. package/slides/node_modules/detect-libc/index.d.ts +0 -14
  371. package/slides/node_modules/detect-libc/lib/detect-libc.js +0 -313
  372. package/slides/node_modules/detect-libc/lib/elf.js +0 -39
  373. package/slides/node_modules/detect-libc/lib/filesystem.js +0 -51
  374. package/slides/node_modules/detect-libc/lib/process.js +0 -24
  375. package/slides/node_modules/detect-libc/package.json +0 -44
  376. package/slides/node_modules/end-of-stream/LICENSE +0 -21
  377. package/slides/node_modules/end-of-stream/README.md +0 -54
  378. package/slides/node_modules/end-of-stream/index.js +0 -96
  379. package/slides/node_modules/end-of-stream/package.json +0 -37
  380. package/slides/node_modules/expand-template/.travis.yml +0 -6
  381. package/slides/node_modules/expand-template/LICENSE +0 -21
  382. package/slides/node_modules/expand-template/README.md +0 -43
  383. package/slides/node_modules/expand-template/index.js +0 -26
  384. package/slides/node_modules/expand-template/package.json +0 -29
  385. package/slides/node_modules/expand-template/test.js +0 -67
  386. package/slides/node_modules/fs-constants/LICENSE +0 -21
  387. package/slides/node_modules/fs-constants/README.md +0 -26
  388. package/slides/node_modules/fs-constants/browser.js +0 -1
  389. package/slides/node_modules/fs-constants/index.js +0 -1
  390. package/slides/node_modules/fs-constants/package.json +0 -19
  391. package/slides/node_modules/github-from-package/.travis.yml +0 -4
  392. package/slides/node_modules/github-from-package/LICENSE +0 -18
  393. package/slides/node_modules/github-from-package/example/package.json +0 -8
  394. package/slides/node_modules/github-from-package/example/url.js +0 -3
  395. package/slides/node_modules/github-from-package/index.js +0 -17
  396. package/slides/node_modules/github-from-package/package.json +0 -30
  397. package/slides/node_modules/github-from-package/readme.markdown +0 -53
  398. package/slides/node_modules/github-from-package/test/a.json +0 -8
  399. package/slides/node_modules/github-from-package/test/b.json +0 -5
  400. package/slides/node_modules/github-from-package/test/c.json +0 -5
  401. package/slides/node_modules/github-from-package/test/d.json +0 -7
  402. package/slides/node_modules/github-from-package/test/e.json +0 -5
  403. package/slides/node_modules/github-from-package/test/url.js +0 -19
  404. package/slides/node_modules/https/package.json +0 -15
  405. package/slides/node_modules/ieee754/LICENSE +0 -11
  406. package/slides/node_modules/ieee754/README.md +0 -51
  407. package/slides/node_modules/ieee754/index.d.ts +0 -10
  408. package/slides/node_modules/ieee754/index.js +0 -85
  409. package/slides/node_modules/ieee754/package.json +0 -52
  410. package/slides/node_modules/image-size/LICENSE +0 -9
  411. package/slides/node_modules/image-size/Readme.md +0 -184
  412. package/slides/node_modules/image-size/bin/image-size.js +0 -53
  413. package/slides/node_modules/image-size/dist/detector.d.ts +0 -2
  414. package/slides/node_modules/image-size/dist/detector.js +0 -30
  415. package/slides/node_modules/image-size/dist/index.d.ts +0 -10
  416. package/slides/node_modules/image-size/dist/index.js +0 -129
  417. package/slides/node_modules/image-size/dist/types/bmp.d.ts +0 -2
  418. package/slides/node_modules/image-size/dist/types/bmp.js +0 -11
  419. package/slides/node_modules/image-size/dist/types/cur.d.ts +0 -2
  420. package/slides/node_modules/image-size/dist/types/cur.js +0 -17
  421. package/slides/node_modules/image-size/dist/types/dds.d.ts +0 -2
  422. package/slides/node_modules/image-size/dist/types/dds.js +0 -11
  423. package/slides/node_modules/image-size/dist/types/gif.d.ts +0 -2
  424. package/slides/node_modules/image-size/dist/types/gif.js +0 -12
  425. package/slides/node_modules/image-size/dist/types/heif.d.ts +0 -2
  426. package/slides/node_modules/image-size/dist/types/heif.js +0 -40
  427. package/slides/node_modules/image-size/dist/types/icns.d.ts +0 -2
  428. package/slides/node_modules/image-size/dist/types/icns.js +0 -101
  429. package/slides/node_modules/image-size/dist/types/ico.d.ts +0 -2
  430. package/slides/node_modules/image-size/dist/types/ico.js +0 -68
  431. package/slides/node_modules/image-size/dist/types/index.d.ts +0 -23
  432. package/slides/node_modules/image-size/dist/types/index.js +0 -46
  433. package/slides/node_modules/image-size/dist/types/interface.d.ts +0 -13
  434. package/slides/node_modules/image-size/dist/types/interface.js +0 -2
  435. package/slides/node_modules/image-size/dist/types/j2c.d.ts +0 -2
  436. package/slides/node_modules/image-size/dist/types/j2c.js +0 -12
  437. package/slides/node_modules/image-size/dist/types/jp2.d.ts +0 -2
  438. package/slides/node_modules/image-size/dist/types/jp2.js +0 -27
  439. package/slides/node_modules/image-size/dist/types/jpg.d.ts +0 -2
  440. package/slides/node_modules/image-size/dist/types/jpg.js +0 -123
  441. package/slides/node_modules/image-size/dist/types/jxl-stream.d.ts +0 -2
  442. package/slides/node_modules/image-size/dist/types/jxl-stream.js +0 -45
  443. package/slides/node_modules/image-size/dist/types/jxl.d.ts +0 -2
  444. package/slides/node_modules/image-size/dist/types/jxl.js +0 -59
  445. package/slides/node_modules/image-size/dist/types/ktx.d.ts +0 -2
  446. package/slides/node_modules/image-size/dist/types/ktx.js +0 -19
  447. package/slides/node_modules/image-size/dist/types/png.d.ts +0 -2
  448. package/slides/node_modules/image-size/dist/types/png.js +0 -35
  449. package/slides/node_modules/image-size/dist/types/pnm.d.ts +0 -2
  450. package/slides/node_modules/image-size/dist/types/pnm.js +0 -72
  451. package/slides/node_modules/image-size/dist/types/psd.d.ts +0 -2
  452. package/slides/node_modules/image-size/dist/types/psd.js +0 -11
  453. package/slides/node_modules/image-size/dist/types/svg.d.ts +0 -2
  454. package/slides/node_modules/image-size/dist/types/svg.js +0 -90
  455. package/slides/node_modules/image-size/dist/types/tga.d.ts +0 -2
  456. package/slides/node_modules/image-size/dist/types/tga.js +0 -15
  457. package/slides/node_modules/image-size/dist/types/tiff.d.ts +0 -2
  458. package/slides/node_modules/image-size/dist/types/tiff.js +0 -95
  459. package/slides/node_modules/image-size/dist/types/utils.d.ts +0 -15
  460. package/slides/node_modules/image-size/dist/types/utils.js +0 -75
  461. package/slides/node_modules/image-size/dist/types/webp.d.ts +0 -2
  462. package/slides/node_modules/image-size/dist/types/webp.js +0 -60
  463. package/slides/node_modules/image-size/dist/utils/bit-reader.d.ts +0 -10
  464. package/slides/node_modules/image-size/dist/utils/bit-reader.js +0 -44
  465. package/slides/node_modules/image-size/package.json +0 -81
  466. package/slides/node_modules/immediate/LICENSE.txt +0 -20
  467. package/slides/node_modules/immediate/README.md +0 -93
  468. package/slides/node_modules/immediate/dist/immediate.js +0 -75
  469. package/slides/node_modules/immediate/dist/immediate.min.js +0 -1
  470. package/slides/node_modules/immediate/lib/browser.js +0 -69
  471. package/slides/node_modules/immediate/lib/index.js +0 -73
  472. package/slides/node_modules/immediate/package.json +0 -42
  473. package/slides/node_modules/inherits/LICENSE +0 -16
  474. package/slides/node_modules/inherits/README.md +0 -42
  475. package/slides/node_modules/inherits/inherits.js +0 -9
  476. package/slides/node_modules/inherits/inherits_browser.js +0 -27
  477. package/slides/node_modules/inherits/package.json +0 -29
  478. package/slides/node_modules/ini/LICENSE +0 -15
  479. package/slides/node_modules/ini/README.md +0 -102
  480. package/slides/node_modules/ini/ini.js +0 -206
  481. package/slides/node_modules/ini/package.json +0 -33
  482. package/slides/node_modules/isarray/.travis.yml +0 -4
  483. package/slides/node_modules/isarray/Makefile +0 -6
  484. package/slides/node_modules/isarray/README.md +0 -60
  485. package/slides/node_modules/isarray/component.json +0 -19
  486. package/slides/node_modules/isarray/index.js +0 -5
  487. package/slides/node_modules/isarray/package.json +0 -45
  488. package/slides/node_modules/isarray/test.js +0 -20
  489. package/slides/node_modules/jszip/.codeclimate.yml +0 -16
  490. package/slides/node_modules/jszip/.editorconfig +0 -8
  491. package/slides/node_modules/jszip/.eslintrc.js +0 -43
  492. package/slides/node_modules/jszip/.github/workflows/pr.yaml +0 -58
  493. package/slides/node_modules/jszip/.jekyll-metadata +0 -0
  494. package/slides/node_modules/jszip/.travis.yml +0 -17
  495. package/slides/node_modules/jszip/CHANGES.md +0 -204
  496. package/slides/node_modules/jszip/LICENSE.markdown +0 -651
  497. package/slides/node_modules/jszip/README.markdown +0 -33
  498. package/slides/node_modules/jszip/deps.js +0 -37
  499. package/slides/node_modules/jszip/dist/jszip.js +0 -11577
  500. package/slides/node_modules/jszip/dist/jszip.min.js +0 -13
  501. package/slides/node_modules/jszip/graph.svg +0 -601
  502. package/slides/node_modules/jszip/index.d.ts +0 -330
  503. package/slides/node_modules/jszip/lib/base64.js +0 -106
  504. package/slides/node_modules/jszip/lib/compressedObject.js +0 -74
  505. package/slides/node_modules/jszip/lib/compressions.js +0 -14
  506. package/slides/node_modules/jszip/lib/crc32.js +0 -77
  507. package/slides/node_modules/jszip/lib/defaults.js +0 -11
  508. package/slides/node_modules/jszip/lib/external.js +0 -18
  509. package/slides/node_modules/jszip/lib/flate.js +0 -85
  510. package/slides/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -539
  511. package/slides/node_modules/jszip/lib/generate/index.js +0 -57
  512. package/slides/node_modules/jszip/lib/index.js +0 -55
  513. package/slides/node_modules/jszip/lib/license_header.js +0 -11
  514. package/slides/node_modules/jszip/lib/load.js +0 -88
  515. package/slides/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
  516. package/slides/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
  517. package/slides/node_modules/jszip/lib/nodejsUtils.js +0 -57
  518. package/slides/node_modules/jszip/lib/object.js +0 -384
  519. package/slides/node_modules/jszip/lib/readable-stream-browser.js +0 -10
  520. package/slides/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
  521. package/slides/node_modules/jszip/lib/reader/DataReader.js +0 -116
  522. package/slides/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
  523. package/slides/node_modules/jszip/lib/reader/StringReader.js +0 -38
  524. package/slides/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
  525. package/slides/node_modules/jszip/lib/reader/readerFor.js +0 -28
  526. package/slides/node_modules/jszip/lib/signature.js +0 -7
  527. package/slides/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
  528. package/slides/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
  529. package/slides/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
  530. package/slides/node_modules/jszip/lib/stream/DataWorker.js +0 -116
  531. package/slides/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
  532. package/slides/node_modules/jszip/lib/stream/StreamHelper.js +0 -214
  533. package/slides/node_modules/jszip/lib/support.js +0 -38
  534. package/slides/node_modules/jszip/lib/utf8.js +0 -275
  535. package/slides/node_modules/jszip/lib/utils.js +0 -501
  536. package/slides/node_modules/jszip/lib/zipEntries.js +0 -261
  537. package/slides/node_modules/jszip/lib/zipEntry.js +0 -293
  538. package/slides/node_modules/jszip/lib/zipObject.js +0 -133
  539. package/slides/node_modules/jszip/package.json +0 -67
  540. package/slides/node_modules/jszip/sponsors.md +0 -21
  541. package/slides/node_modules/jszip/tsconfig.json +0 -101
  542. package/slides/node_modules/jszip/vendor/FileSaver.js +0 -247
  543. package/slides/node_modules/lie/README.md +0 -62
  544. package/slides/node_modules/lie/dist/lie.js +0 -350
  545. package/slides/node_modules/lie/dist/lie.min.js +0 -1
  546. package/slides/node_modules/lie/dist/lie.polyfill.js +0 -358
  547. package/slides/node_modules/lie/dist/lie.polyfill.min.js +0 -1
  548. package/slides/node_modules/lie/lib/browser.js +0 -273
  549. package/slides/node_modules/lie/lib/index.js +0 -298
  550. package/slides/node_modules/lie/license.md +0 -7
  551. package/slides/node_modules/lie/lie.d.ts +0 -244
  552. package/slides/node_modules/lie/package.json +0 -69
  553. package/slides/node_modules/lie/polyfill.js +0 -4
  554. package/slides/node_modules/mimic-response/index.d.ts +0 -17
  555. package/slides/node_modules/mimic-response/index.js +0 -77
  556. package/slides/node_modules/mimic-response/license +0 -9
  557. package/slides/node_modules/mimic-response/package.json +0 -42
  558. package/slides/node_modules/mimic-response/readme.md +0 -78
  559. package/slides/node_modules/minimist/.eslintrc +0 -29
  560. package/slides/node_modules/minimist/.github/FUNDING.yml +0 -12
  561. package/slides/node_modules/minimist/.nycrc +0 -14
  562. package/slides/node_modules/minimist/CHANGELOG.md +0 -298
  563. package/slides/node_modules/minimist/LICENSE +0 -18
  564. package/slides/node_modules/minimist/README.md +0 -121
  565. package/slides/node_modules/minimist/example/parse.js +0 -4
  566. package/slides/node_modules/minimist/index.js +0 -263
  567. package/slides/node_modules/minimist/package.json +0 -75
  568. package/slides/node_modules/minimist/test/all_bool.js +0 -34
  569. package/slides/node_modules/minimist/test/bool.js +0 -177
  570. package/slides/node_modules/minimist/test/dash.js +0 -43
  571. package/slides/node_modules/minimist/test/default_bool.js +0 -37
  572. package/slides/node_modules/minimist/test/dotted.js +0 -24
  573. package/slides/node_modules/minimist/test/kv_short.js +0 -32
  574. package/slides/node_modules/minimist/test/long.js +0 -33
  575. package/slides/node_modules/minimist/test/num.js +0 -38
  576. package/slides/node_modules/minimist/test/parse.js +0 -209
  577. package/slides/node_modules/minimist/test/parse_modified.js +0 -11
  578. package/slides/node_modules/minimist/test/proto.js +0 -64
  579. package/slides/node_modules/minimist/test/short.js +0 -69
  580. package/slides/node_modules/minimist/test/stop_early.js +0 -17
  581. package/slides/node_modules/minimist/test/unknown.js +0 -104
  582. package/slides/node_modules/minimist/test/whitespace.js +0 -10
  583. package/slides/node_modules/mkdirp-classic/LICENSE +0 -21
  584. package/slides/node_modules/mkdirp-classic/README.md +0 -18
  585. package/slides/node_modules/mkdirp-classic/index.js +0 -98
  586. package/slides/node_modules/mkdirp-classic/package.json +0 -18
  587. package/slides/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +0 -31
  588. package/slides/node_modules/napi-build-utils/LICENSE +0 -21
  589. package/slides/node_modules/napi-build-utils/README.md +0 -52
  590. package/slides/node_modules/napi-build-utils/index.js +0 -214
  591. package/slides/node_modules/napi-build-utils/index.md +0 -0
  592. package/slides/node_modules/napi-build-utils/package.json +0 -42
  593. package/slides/node_modules/node-abi/LICENSE +0 -21
  594. package/slides/node_modules/node-abi/README.md +0 -54
  595. package/slides/node_modules/node-abi/abi_registry.json +0 -439
  596. package/slides/node_modules/node-abi/index.js +0 -179
  597. package/slides/node_modules/node-abi/package.json +0 -45
  598. package/slides/node_modules/node-addon-api/LICENSE.md +0 -9
  599. package/slides/node_modules/node-addon-api/README.md +0 -319
  600. package/slides/node_modules/node-addon-api/common.gypi +0 -20
  601. package/slides/node_modules/node-addon-api/except.gypi +0 -25
  602. package/slides/node_modules/node-addon-api/index.js +0 -12
  603. package/slides/node_modules/node-addon-api/napi-inl.deprecated.h +0 -186
  604. package/slides/node_modules/node-addon-api/napi-inl.h +0 -6607
  605. package/slides/node_modules/node-addon-api/napi.h +0 -3201
  606. package/slides/node_modules/node-addon-api/node_addon_api.gyp +0 -32
  607. package/slides/node_modules/node-addon-api/node_api.gyp +0 -9
  608. package/slides/node_modules/node-addon-api/noexcept.gypi +0 -26
  609. package/slides/node_modules/node-addon-api/nothing.c +0 -0
  610. package/slides/node_modules/node-addon-api/package-support.json +0 -21
  611. package/slides/node_modules/node-addon-api/package.json +0 -480
  612. package/slides/node_modules/node-addon-api/tools/README.md +0 -73
  613. package/slides/node_modules/node-addon-api/tools/check-napi.js +0 -99
  614. package/slides/node_modules/node-addon-api/tools/clang-format.js +0 -71
  615. package/slides/node_modules/node-addon-api/tools/conversion.js +0 -301
  616. package/slides/node_modules/node-addon-api/tools/eslint-format.js +0 -79
  617. package/slides/node_modules/once/LICENSE +0 -15
  618. package/slides/node_modules/once/README.md +0 -79
  619. package/slides/node_modules/once/once.js +0 -42
  620. package/slides/node_modules/once/package.json +0 -33
  621. package/slides/node_modules/pako/CHANGELOG.md +0 -164
  622. package/slides/node_modules/pako/LICENSE +0 -21
  623. package/slides/node_modules/pako/README.md +0 -191
  624. package/slides/node_modules/pako/dist/pako.js +0 -6818
  625. package/slides/node_modules/pako/dist/pako.min.js +0 -1
  626. package/slides/node_modules/pako/dist/pako_deflate.js +0 -3997
  627. package/slides/node_modules/pako/dist/pako_deflate.min.js +0 -1
  628. package/slides/node_modules/pako/dist/pako_inflate.js +0 -3300
  629. package/slides/node_modules/pako/dist/pako_inflate.min.js +0 -1
  630. package/slides/node_modules/pako/index.js +0 -14
  631. package/slides/node_modules/pako/lib/deflate.js +0 -400
  632. package/slides/node_modules/pako/lib/inflate.js +0 -423
  633. package/slides/node_modules/pako/lib/utils/common.js +0 -105
  634. package/slides/node_modules/pako/lib/utils/strings.js +0 -187
  635. package/slides/node_modules/pako/lib/zlib/README +0 -59
  636. package/slides/node_modules/pako/lib/zlib/adler32.js +0 -51
  637. package/slides/node_modules/pako/lib/zlib/constants.js +0 -68
  638. package/slides/node_modules/pako/lib/zlib/crc32.js +0 -59
  639. package/slides/node_modules/pako/lib/zlib/deflate.js +0 -1874
  640. package/slides/node_modules/pako/lib/zlib/gzheader.js +0 -58
  641. package/slides/node_modules/pako/lib/zlib/inffast.js +0 -345
  642. package/slides/node_modules/pako/lib/zlib/inflate.js +0 -1556
  643. package/slides/node_modules/pako/lib/zlib/inftrees.js +0 -343
  644. package/slides/node_modules/pako/lib/zlib/messages.js +0 -32
  645. package/slides/node_modules/pako/lib/zlib/trees.js +0 -1222
  646. package/slides/node_modules/pako/lib/zlib/zstream.js +0 -47
  647. package/slides/node_modules/pako/package.json +0 -44
  648. package/slides/node_modules/pptxgenjs/LICENSE +0 -21
  649. package/slides/node_modules/pptxgenjs/README.md +0 -224
  650. package/slides/node_modules/pptxgenjs/dist/pptxgen.bundle.js +0 -96
  651. package/slides/node_modules/pptxgenjs/dist/pptxgen.bundle.js.map +0 -1
  652. package/slides/node_modules/pptxgenjs/dist/pptxgen.cjs.js +0 -7370
  653. package/slides/node_modules/pptxgenjs/dist/pptxgen.es.js +0 -7368
  654. package/slides/node_modules/pptxgenjs/dist/pptxgen.min.js +0 -96
  655. package/slides/node_modules/pptxgenjs/dist/pptxgen.min.js.map +0 -1
  656. package/slides/node_modules/pptxgenjs/package.json +0 -96
  657. package/slides/node_modules/pptxgenjs/types/index.d.ts +0 -2679
  658. package/slides/node_modules/prebuild-install/CHANGELOG.md +0 -131
  659. package/slides/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
  660. package/slides/node_modules/prebuild-install/LICENSE +0 -21
  661. package/slides/node_modules/prebuild-install/README.md +0 -163
  662. package/slides/node_modules/prebuild-install/asset.js +0 -44
  663. package/slides/node_modules/prebuild-install/bin.js +0 -78
  664. package/slides/node_modules/prebuild-install/download.js +0 -142
  665. package/slides/node_modules/prebuild-install/error.js +0 -14
  666. package/slides/node_modules/prebuild-install/help.txt +0 -16
  667. package/slides/node_modules/prebuild-install/index.js +0 -1
  668. package/slides/node_modules/prebuild-install/log.js +0 -33
  669. package/slides/node_modules/prebuild-install/package.json +0 -67
  670. package/slides/node_modules/prebuild-install/proxy.js +0 -35
  671. package/slides/node_modules/prebuild-install/rc.js +0 -64
  672. package/slides/node_modules/prebuild-install/util.js +0 -143
  673. package/slides/node_modules/process-nextick-args/index.js +0 -45
  674. package/slides/node_modules/process-nextick-args/license.md +0 -19
  675. package/slides/node_modules/process-nextick-args/package.json +0 -25
  676. package/slides/node_modules/process-nextick-args/readme.md +0 -18
  677. package/slides/node_modules/pump/.github/FUNDING.yml +0 -2
  678. package/slides/node_modules/pump/.travis.yml +0 -5
  679. package/slides/node_modules/pump/LICENSE +0 -21
  680. package/slides/node_modules/pump/README.md +0 -74
  681. package/slides/node_modules/pump/SECURITY.md +0 -5
  682. package/slides/node_modules/pump/empty.js +0 -1
  683. package/slides/node_modules/pump/index.js +0 -86
  684. package/slides/node_modules/pump/package.json +0 -30
  685. package/slides/node_modules/pump/test-browser.js +0 -66
  686. package/slides/node_modules/pump/test-node.js +0 -53
  687. package/slides/node_modules/queue/LICENSE +0 -8
  688. package/slides/node_modules/queue/index.d.ts +0 -173
  689. package/slides/node_modules/queue/index.js +0 -195
  690. package/slides/node_modules/queue/package.json +0 -43
  691. package/slides/node_modules/queue/readme.md +0 -221
  692. package/slides/node_modules/rc/LICENSE.APACHE2 +0 -15
  693. package/slides/node_modules/rc/LICENSE.BSD +0 -26
  694. package/slides/node_modules/rc/LICENSE.MIT +0 -24
  695. package/slides/node_modules/rc/README.md +0 -227
  696. package/slides/node_modules/rc/browser.js +0 -7
  697. package/slides/node_modules/rc/cli.js +0 -4
  698. package/slides/node_modules/rc/index.js +0 -53
  699. package/slides/node_modules/rc/lib/utils.js +0 -104
  700. package/slides/node_modules/rc/package.json +0 -29
  701. package/slides/node_modules/rc/test/ini.js +0 -16
  702. package/slides/node_modules/rc/test/nested-env-vars.js +0 -50
  703. package/slides/node_modules/rc/test/test.js +0 -59
  704. package/slides/node_modules/readable-stream/.travis.yml +0 -34
  705. package/slides/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  706. package/slides/node_modules/readable-stream/GOVERNANCE.md +0 -136
  707. package/slides/node_modules/readable-stream/LICENSE +0 -47
  708. package/slides/node_modules/readable-stream/README.md +0 -58
  709. package/slides/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  710. package/slides/node_modules/readable-stream/duplex-browser.js +0 -1
  711. package/slides/node_modules/readable-stream/duplex.js +0 -1
  712. package/slides/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  713. package/slides/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  714. package/slides/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  715. package/slides/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  716. package/slides/node_modules/readable-stream/lib/_stream_writable.js +0 -685
  717. package/slides/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -78
  718. package/slides/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -84
  719. package/slides/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  720. package/slides/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  721. package/slides/node_modules/readable-stream/package.json +0 -52
  722. package/slides/node_modules/readable-stream/passthrough.js +0 -1
  723. package/slides/node_modules/readable-stream/readable-browser.js +0 -7
  724. package/slides/node_modules/readable-stream/readable.js +0 -19
  725. package/slides/node_modules/readable-stream/transform.js +0 -1
  726. package/slides/node_modules/readable-stream/writable-browser.js +0 -1
  727. package/slides/node_modules/readable-stream/writable.js +0 -8
  728. package/slides/node_modules/safe-buffer/LICENSE +0 -21
  729. package/slides/node_modules/safe-buffer/README.md +0 -584
  730. package/slides/node_modules/safe-buffer/index.d.ts +0 -187
  731. package/slides/node_modules/safe-buffer/index.js +0 -62
  732. package/slides/node_modules/safe-buffer/package.json +0 -37
  733. package/slides/node_modules/semver/LICENSE +0 -15
  734. package/slides/node_modules/semver/README.md +0 -665
  735. package/slides/node_modules/semver/bin/semver.js +0 -191
  736. package/slides/node_modules/semver/classes/comparator.js +0 -143
  737. package/slides/node_modules/semver/classes/index.js +0 -7
  738. package/slides/node_modules/semver/classes/range.js +0 -557
  739. package/slides/node_modules/semver/classes/semver.js +0 -333
  740. package/slides/node_modules/semver/functions/clean.js +0 -8
  741. package/slides/node_modules/semver/functions/cmp.js +0 -54
  742. package/slides/node_modules/semver/functions/coerce.js +0 -62
  743. package/slides/node_modules/semver/functions/compare-build.js +0 -9
  744. package/slides/node_modules/semver/functions/compare-loose.js +0 -5
  745. package/slides/node_modules/semver/functions/compare.js +0 -7
  746. package/slides/node_modules/semver/functions/diff.js +0 -60
  747. package/slides/node_modules/semver/functions/eq.js +0 -5
  748. package/slides/node_modules/semver/functions/gt.js +0 -5
  749. package/slides/node_modules/semver/functions/gte.js +0 -5
  750. package/slides/node_modules/semver/functions/inc.js +0 -21
  751. package/slides/node_modules/semver/functions/lt.js +0 -5
  752. package/slides/node_modules/semver/functions/lte.js +0 -5
  753. package/slides/node_modules/semver/functions/major.js +0 -5
  754. package/slides/node_modules/semver/functions/minor.js +0 -5
  755. package/slides/node_modules/semver/functions/neq.js +0 -5
  756. package/slides/node_modules/semver/functions/parse.js +0 -18
  757. package/slides/node_modules/semver/functions/patch.js +0 -5
  758. package/slides/node_modules/semver/functions/prerelease.js +0 -8
  759. package/slides/node_modules/semver/functions/rcompare.js +0 -5
  760. package/slides/node_modules/semver/functions/rsort.js +0 -5
  761. package/slides/node_modules/semver/functions/satisfies.js +0 -12
  762. package/slides/node_modules/semver/functions/sort.js +0 -5
  763. package/slides/node_modules/semver/functions/valid.js +0 -8
  764. package/slides/node_modules/semver/index.js +0 -91
  765. package/slides/node_modules/semver/internal/constants.js +0 -37
  766. package/slides/node_modules/semver/internal/debug.js +0 -11
  767. package/slides/node_modules/semver/internal/identifiers.js +0 -29
  768. package/slides/node_modules/semver/internal/lrucache.js +0 -42
  769. package/slides/node_modules/semver/internal/parse-options.js +0 -17
  770. package/slides/node_modules/semver/internal/re.js +0 -223
  771. package/slides/node_modules/semver/package.json +0 -78
  772. package/slides/node_modules/semver/preload.js +0 -4
  773. package/slides/node_modules/semver/range.bnf +0 -16
  774. package/slides/node_modules/semver/ranges/gtr.js +0 -6
  775. package/slides/node_modules/semver/ranges/intersects.js +0 -9
  776. package/slides/node_modules/semver/ranges/ltr.js +0 -6
  777. package/slides/node_modules/semver/ranges/max-satisfying.js +0 -27
  778. package/slides/node_modules/semver/ranges/min-satisfying.js +0 -26
  779. package/slides/node_modules/semver/ranges/min-version.js +0 -63
  780. package/slides/node_modules/semver/ranges/outside.js +0 -82
  781. package/slides/node_modules/semver/ranges/simplify.js +0 -49
  782. package/slides/node_modules/semver/ranges/subset.js +0 -249
  783. package/slides/node_modules/semver/ranges/to-comparators.js +0 -10
  784. package/slides/node_modules/semver/ranges/valid.js +0 -13
  785. package/slides/node_modules/setimmediate/LICENSE.txt +0 -20
  786. package/slides/node_modules/setimmediate/package.json +0 -30
  787. package/slides/node_modules/setimmediate/setImmediate.js +0 -186
  788. package/slides/node_modules/simple-concat/.travis.yml +0 -3
  789. package/slides/node_modules/simple-concat/LICENSE +0 -20
  790. package/slides/node_modules/simple-concat/README.md +0 -44
  791. package/slides/node_modules/simple-concat/index.js +0 -15
  792. package/slides/node_modules/simple-concat/package.json +0 -47
  793. package/slides/node_modules/simple-concat/test/basic.js +0 -41
  794. package/slides/node_modules/simple-get/.github/dependabot.yml +0 -15
  795. package/slides/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  796. package/slides/node_modules/simple-get/LICENSE +0 -20
  797. package/slides/node_modules/simple-get/README.md +0 -333
  798. package/slides/node_modules/simple-get/index.js +0 -108
  799. package/slides/node_modules/simple-get/package.json +0 -67
  800. package/slides/node_modules/string_decoder/.travis.yml +0 -50
  801. package/slides/node_modules/string_decoder/LICENSE +0 -48
  802. package/slides/node_modules/string_decoder/README.md +0 -47
  803. package/slides/node_modules/string_decoder/lib/string_decoder.js +0 -296
  804. package/slides/node_modules/string_decoder/package.json +0 -31
  805. package/slides/node_modules/strip-json-comments/index.js +0 -70
  806. package/slides/node_modules/strip-json-comments/license +0 -21
  807. package/slides/node_modules/strip-json-comments/package.json +0 -42
  808. package/slides/node_modules/strip-json-comments/readme.md +0 -64
  809. package/slides/node_modules/tar-fs/.travis.yml +0 -6
  810. package/slides/node_modules/tar-fs/LICENSE +0 -21
  811. package/slides/node_modules/tar-fs/README.md +0 -165
  812. package/slides/node_modules/tar-fs/index.js +0 -363
  813. package/slides/node_modules/tar-fs/package.json +0 -41
  814. package/slides/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  815. package/slides/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  816. package/slides/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  817. package/slides/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  818. package/slides/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  819. package/slides/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  820. package/slides/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  821. package/slides/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  822. package/slides/node_modules/tar-fs/test/fixtures/e/file +0 -0
  823. package/slides/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  824. package/slides/node_modules/tar-fs/test/index.js +0 -346
  825. package/slides/node_modules/tar-stream/LICENSE +0 -21
  826. package/slides/node_modules/tar-stream/README.md +0 -168
  827. package/slides/node_modules/tar-stream/extract.js +0 -257
  828. package/slides/node_modules/tar-stream/headers.js +0 -295
  829. package/slides/node_modules/tar-stream/index.js +0 -2
  830. package/slides/node_modules/tar-stream/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  831. package/slides/node_modules/tar-stream/node_modules/readable-stream/GOVERNANCE.md +0 -136
  832. package/slides/node_modules/tar-stream/node_modules/readable-stream/LICENSE +0 -47
  833. package/slides/node_modules/tar-stream/node_modules/readable-stream/README.md +0 -106
  834. package/slides/node_modules/tar-stream/node_modules/readable-stream/errors-browser.js +0 -127
  835. package/slides/node_modules/tar-stream/node_modules/readable-stream/errors.js +0 -116
  836. package/slides/node_modules/tar-stream/node_modules/readable-stream/experimentalWarning.js +0 -17
  837. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  838. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  839. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  840. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  841. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  842. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  843. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  844. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  845. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  846. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  847. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  848. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  849. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  850. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  851. package/slides/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  852. package/slides/node_modules/tar-stream/node_modules/readable-stream/package.json +0 -68
  853. package/slides/node_modules/tar-stream/node_modules/readable-stream/readable-browser.js +0 -9
  854. package/slides/node_modules/tar-stream/node_modules/readable-stream/readable.js +0 -16
  855. package/slides/node_modules/tar-stream/pack.js +0 -255
  856. package/slides/node_modules/tar-stream/package.json +0 -58
  857. package/slides/node_modules/tar-stream/sandbox.js +0 -11
  858. package/slides/node_modules/tunnel-agent/LICENSE +0 -55
  859. package/slides/node_modules/tunnel-agent/README.md +0 -4
  860. package/slides/node_modules/tunnel-agent/index.js +0 -244
  861. package/slides/node_modules/tunnel-agent/package.json +0 -22
  862. package/slides/node_modules/undici-types/LICENSE +0 -21
  863. package/slides/node_modules/undici-types/README.md +0 -6
  864. package/slides/node_modules/undici-types/agent.d.ts +0 -31
  865. package/slides/node_modules/undici-types/api.d.ts +0 -43
  866. package/slides/node_modules/undici-types/balanced-pool.d.ts +0 -29
  867. package/slides/node_modules/undici-types/cache.d.ts +0 -36
  868. package/slides/node_modules/undici-types/client.d.ts +0 -108
  869. package/slides/node_modules/undici-types/connector.d.ts +0 -34
  870. package/slides/node_modules/undici-types/content-type.d.ts +0 -21
  871. package/slides/node_modules/undici-types/cookies.d.ts +0 -28
  872. package/slides/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  873. package/slides/node_modules/undici-types/dispatcher.d.ts +0 -256
  874. package/slides/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  875. package/slides/node_modules/undici-types/errors.d.ts +0 -149
  876. package/slides/node_modules/undici-types/eventsource.d.ts +0 -61
  877. package/slides/node_modules/undici-types/fetch.d.ts +0 -209
  878. package/slides/node_modules/undici-types/file.d.ts +0 -39
  879. package/slides/node_modules/undici-types/filereader.d.ts +0 -54
  880. package/slides/node_modules/undici-types/formdata.d.ts +0 -108
  881. package/slides/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  882. package/slides/node_modules/undici-types/global-origin.d.ts +0 -7
  883. package/slides/node_modules/undici-types/handlers.d.ts +0 -15
  884. package/slides/node_modules/undici-types/header.d.ts +0 -4
  885. package/slides/node_modules/undici-types/index.d.ts +0 -71
  886. package/slides/node_modules/undici-types/interceptors.d.ts +0 -17
  887. package/slides/node_modules/undici-types/mock-agent.d.ts +0 -50
  888. package/slides/node_modules/undici-types/mock-client.d.ts +0 -25
  889. package/slides/node_modules/undici-types/mock-errors.d.ts +0 -12
  890. package/slides/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  891. package/slides/node_modules/undici-types/mock-pool.d.ts +0 -25
  892. package/slides/node_modules/undici-types/package.json +0 -55
  893. package/slides/node_modules/undici-types/patch.d.ts +0 -33
  894. package/slides/node_modules/undici-types/pool-stats.d.ts +0 -19
  895. package/slides/node_modules/undici-types/pool.d.ts +0 -39
  896. package/slides/node_modules/undici-types/proxy-agent.d.ts +0 -28
  897. package/slides/node_modules/undici-types/readable.d.ts +0 -65
  898. package/slides/node_modules/undici-types/retry-agent.d.ts +0 -8
  899. package/slides/node_modules/undici-types/retry-handler.d.ts +0 -116
  900. package/slides/node_modules/undici-types/util.d.ts +0 -18
  901. package/slides/node_modules/undici-types/webidl.d.ts +0 -228
  902. package/slides/node_modules/undici-types/websocket.d.ts +0 -150
  903. package/slides/node_modules/util-deprecate/History.md +0 -16
  904. package/slides/node_modules/util-deprecate/LICENSE +0 -24
  905. package/slides/node_modules/util-deprecate/README.md +0 -53
  906. package/slides/node_modules/util-deprecate/browser.js +0 -67
  907. package/slides/node_modules/util-deprecate/node.js +0 -6
  908. package/slides/node_modules/util-deprecate/package.json +0 -27
  909. package/slides/node_modules/wrappy/LICENSE +0 -15
  910. package/slides/node_modules/wrappy/README.md +0 -36
  911. package/slides/node_modules/wrappy/package.json +0 -29
  912. package/slides/node_modules/wrappy/wrappy.js +0 -33
  913. package/slides/package-lock.json +0 -536
  914. package/slides/package.json +0 -16
  915. package/slides/slides.json +0 -238
@@ -1,796 +0,0 @@
1
- // Copyright (c) 2010 LearnBoost <tj@learnboost.com>
2
-
3
- #include "color.h"
4
-
5
- #include <algorithm>
6
- #include <cmath>
7
- #include <cstdlib>
8
- #include <cstring>
9
- #include <limits>
10
- #include <map>
11
- #include <string>
12
-
13
- // Compatibility with Visual Studio versions prior to VS2015
14
- #if defined(_MSC_VER) && _MSC_VER < 1900
15
- #define snprintf _snprintf
16
- #endif
17
-
18
- /*
19
- * Parse integer value
20
- */
21
-
22
- template <typename parsed_t>
23
- static bool
24
- parse_integer(const char** pStr, parsed_t *pParsed) {
25
- parsed_t& c = *pParsed;
26
- const char*& str = *pStr;
27
- int8_t sign=1;
28
-
29
- c = 0;
30
- if (*str == '-') {
31
- sign=-1;
32
- ++str;
33
- }
34
- else if (*str == '+')
35
- ++str;
36
-
37
- if (*str >= '0' && *str <= '9') {
38
- do {
39
- c *= 10;
40
- c += *str++ - '0';
41
- } while (*str >= '0' && *str <= '9');
42
- } else {
43
- return false;
44
- }
45
- if (sign<0)
46
- c=-c;
47
- return true;
48
- }
49
-
50
-
51
- /*
52
- * Parse CSS <number> value
53
- * Adapted from http://crackprogramming.blogspot.co.il/2012/10/implement-atof.html
54
- */
55
-
56
- template <typename parsed_t>
57
- static bool
58
- parse_css_number(const char** pStr, parsed_t *pParsed) {
59
- parsed_t &parsed = *pParsed;
60
- const char*& str = *pStr;
61
- const char* startStr = str;
62
- if (!str || !*str)
63
- return false;
64
- parsed_t integerPart = 0;
65
- parsed_t fractionPart = 0;
66
- int divisorForFraction = 1;
67
- int sign = 1;
68
- int exponent = 0;
69
- int digits = 0;
70
- bool inFraction = false;
71
-
72
- if (*str == '-') {
73
- ++str;
74
- sign = -1;
75
- }
76
- else if (*str == '+')
77
- ++str;
78
- while (*str != '\0') {
79
- if (*str >= '0' && *str <= '9') {
80
- if (digits>=std::numeric_limits<parsed_t>::digits10) {
81
- if (!inFraction)
82
- return false;
83
- }
84
- else {
85
- ++digits;
86
-
87
- if (inFraction) {
88
- fractionPart = fractionPart*10 + (*str - '0');
89
- divisorForFraction *= 10;
90
- }
91
- else {
92
- integerPart = integerPart*10 + (*str - '0');
93
- }
94
- }
95
- }
96
- else if (*str == '.') {
97
- if (inFraction)
98
- break;
99
- else
100
- inFraction = true;
101
- }
102
- else if (*str == 'e') {
103
- ++str;
104
- if (!parse_integer(&str, &exponent))
105
- return false;
106
- break;
107
- }
108
- else
109
- break;
110
- ++str;
111
- }
112
- if (str != startStr) {
113
- parsed = sign * (integerPart + fractionPart/divisorForFraction);
114
- for (;exponent>0;--exponent)
115
- parsed *= 10;
116
- for (;exponent<0;++exponent)
117
- parsed /= 10;
118
- return true;
119
- }
120
- return false;
121
- }
122
-
123
- /*
124
- * Clip value to the range [minValue, maxValue]
125
- */
126
-
127
- template <typename T>
128
- static T
129
- clip(T value, T minValue, T maxValue) {
130
- if (value > maxValue)
131
- value = maxValue;
132
- if (value < minValue)
133
- value = minValue;
134
- return value;
135
- }
136
-
137
- /*
138
- * Wrap value to the range [0, limit]
139
- */
140
-
141
- template <typename T>
142
- static T
143
- wrap_float(T value, T limit) {
144
- return fmod(fmod(value, limit) + limit, limit);
145
- }
146
-
147
- /*
148
- * Wrap value to the range [0, limit] - currently-unused integer version of wrap_float
149
- */
150
-
151
- // template <typename T>
152
- // static T wrap_int(T value, T limit) {
153
- // return (value % limit + limit) % limit;
154
- // }
155
-
156
- /*
157
- * Parse color channel value
158
- */
159
-
160
- static bool
161
- parse_rgb_channel(const char** pStr, uint8_t *pChannel) {
162
- float f_channel;
163
- if (parse_css_number(pStr, &f_channel)) {
164
- int channel = (int) ceil(f_channel);
165
- *pChannel = clip(channel, 0, 255);
166
- return true;
167
- }
168
- return false;
169
- }
170
-
171
- /*
172
- * Parse a value in degrees
173
- */
174
-
175
- static bool
176
- parse_degrees(const char** pStr, float *pDegrees) {
177
- float degrees;
178
- if (parse_css_number(pStr, &degrees)) {
179
- *pDegrees = wrap_float(degrees, 360.0f);
180
- return true;
181
- }
182
- return false;
183
- }
184
-
185
- /*
186
- * Parse and clip a percentage value. Returns a float in the range [0, 1].
187
- */
188
-
189
- static bool
190
- parse_clipped_percentage(const char** pStr, float *pFraction) {
191
- float percentage;
192
- bool result = parse_css_number(pStr,&percentage);
193
- const char*& str = *pStr;
194
- if (result) {
195
- if (*str == '%') {
196
- ++str;
197
- *pFraction = clip(percentage, 0.0f, 100.0f) / 100.0f;
198
- return result;
199
- }
200
- }
201
- return false;
202
- }
203
-
204
- /*
205
- * Macros to help with parsing inside rgba_from_*_string
206
- */
207
-
208
- #define WHITESPACE \
209
- while (' ' == *str) ++str;
210
-
211
- #define WHITESPACE_OR_COMMA \
212
- while (' ' == *str || ',' == *str) ++str;
213
-
214
- #define WHITESPACE_OR_COMMA_OR_SLASH \
215
- while (' ' == *str || ',' == *str || '/' == *str) ++str;
216
-
217
- #define CHANNEL(NAME) \
218
- if (!parse_rgb_channel(&str, &NAME)) \
219
- return 0; \
220
-
221
- #define HUE(NAME) \
222
- if (!parse_degrees(&str, &NAME)) \
223
- return 0;
224
-
225
- #define SATURATION(NAME) \
226
- if (!parse_clipped_percentage(&str, &NAME)) \
227
- return 0;
228
-
229
- #define LIGHTNESS(NAME) SATURATION(NAME)
230
-
231
- #define ALPHA(NAME) \
232
- if (*str >= '1' && *str <= '9') { \
233
- NAME = 0; \
234
- float n = .1f; \
235
- while(*str >='0' && *str <= '9') { \
236
- NAME += (*str - '0') * n; \
237
- str++; \
238
- } \
239
- while(*str == ' ')str++; \
240
- if(*str != '%') { \
241
- NAME = 1; \
242
- } \
243
- } else { \
244
- if ('0' == *str) { \
245
- NAME = 0; \
246
- ++str; \
247
- } \
248
- if ('.' == *str) { \
249
- ++str; \
250
- NAME = 0; \
251
- float n = .1f; \
252
- while (*str >= '0' && *str <= '9') { \
253
- NAME += (*str++ - '0') * n; \
254
- n *= .1f; \
255
- } \
256
- } \
257
- } \
258
- do {} while (0) // require trailing semicolon
259
-
260
- /*
261
- * Named colors.
262
- */
263
- static const std::map<std::string, uint32_t> named_colors = {
264
- { "transparent", 0xFFFFFF00}
265
- , { "aliceblue", 0xF0F8FFFF }
266
- , { "antiquewhite", 0xFAEBD7FF }
267
- , { "aqua", 0x00FFFFFF }
268
- , { "aquamarine", 0x7FFFD4FF }
269
- , { "azure", 0xF0FFFFFF }
270
- , { "beige", 0xF5F5DCFF }
271
- , { "bisque", 0xFFE4C4FF }
272
- , { "black", 0x000000FF }
273
- , { "blanchedalmond", 0xFFEBCDFF }
274
- , { "blue", 0x0000FFFF }
275
- , { "blueviolet", 0x8A2BE2FF }
276
- , { "brown", 0xA52A2AFF }
277
- , { "burlywood", 0xDEB887FF }
278
- , { "cadetblue", 0x5F9EA0FF }
279
- , { "chartreuse", 0x7FFF00FF }
280
- , { "chocolate", 0xD2691EFF }
281
- , { "coral", 0xFF7F50FF }
282
- , { "cornflowerblue", 0x6495EDFF }
283
- , { "cornsilk", 0xFFF8DCFF }
284
- , { "crimson", 0xDC143CFF }
285
- , { "cyan", 0x00FFFFFF }
286
- , { "darkblue", 0x00008BFF }
287
- , { "darkcyan", 0x008B8BFF }
288
- , { "darkgoldenrod", 0xB8860BFF }
289
- , { "darkgray", 0xA9A9A9FF }
290
- , { "darkgreen", 0x006400FF }
291
- , { "darkgrey", 0xA9A9A9FF }
292
- , { "darkkhaki", 0xBDB76BFF }
293
- , { "darkmagenta", 0x8B008BFF }
294
- , { "darkolivegreen", 0x556B2FFF }
295
- , { "darkorange", 0xFF8C00FF }
296
- , { "darkorchid", 0x9932CCFF }
297
- , { "darkred", 0x8B0000FF }
298
- , { "darksalmon", 0xE9967AFF }
299
- , { "darkseagreen", 0x8FBC8FFF }
300
- , { "darkslateblue", 0x483D8BFF }
301
- , { "darkslategray", 0x2F4F4FFF }
302
- , { "darkslategrey", 0x2F4F4FFF }
303
- , { "darkturquoise", 0x00CED1FF }
304
- , { "darkviolet", 0x9400D3FF }
305
- , { "deeppink", 0xFF1493FF }
306
- , { "deepskyblue", 0x00BFFFFF }
307
- , { "dimgray", 0x696969FF }
308
- , { "dimgrey", 0x696969FF }
309
- , { "dodgerblue", 0x1E90FFFF }
310
- , { "firebrick", 0xB22222FF }
311
- , { "floralwhite", 0xFFFAF0FF }
312
- , { "forestgreen", 0x228B22FF }
313
- , { "fuchsia", 0xFF00FFFF }
314
- , { "gainsboro", 0xDCDCDCFF }
315
- , { "ghostwhite", 0xF8F8FFFF }
316
- , { "gold", 0xFFD700FF }
317
- , { "goldenrod", 0xDAA520FF }
318
- , { "gray", 0x808080FF }
319
- , { "green", 0x008000FF }
320
- , { "greenyellow", 0xADFF2FFF }
321
- , { "grey", 0x808080FF }
322
- , { "honeydew", 0xF0FFF0FF }
323
- , { "hotpink", 0xFF69B4FF }
324
- , { "indianred", 0xCD5C5CFF }
325
- , { "indigo", 0x4B0082FF }
326
- , { "ivory", 0xFFFFF0FF }
327
- , { "khaki", 0xF0E68CFF }
328
- , { "lavender", 0xE6E6FAFF }
329
- , { "lavenderblush", 0xFFF0F5FF }
330
- , { "lawngreen", 0x7CFC00FF }
331
- , { "lemonchiffon", 0xFFFACDFF }
332
- , { "lightblue", 0xADD8E6FF }
333
- , { "lightcoral", 0xF08080FF }
334
- , { "lightcyan", 0xE0FFFFFF }
335
- , { "lightgoldenrodyellow", 0xFAFAD2FF }
336
- , { "lightgray", 0xD3D3D3FF }
337
- , { "lightgreen", 0x90EE90FF }
338
- , { "lightgrey", 0xD3D3D3FF }
339
- , { "lightpink", 0xFFB6C1FF }
340
- , { "lightsalmon", 0xFFA07AFF }
341
- , { "lightseagreen", 0x20B2AAFF }
342
- , { "lightskyblue", 0x87CEFAFF }
343
- , { "lightslategray", 0x778899FF }
344
- , { "lightslategrey", 0x778899FF }
345
- , { "lightsteelblue", 0xB0C4DEFF }
346
- , { "lightyellow", 0xFFFFE0FF }
347
- , { "lime", 0x00FF00FF }
348
- , { "limegreen", 0x32CD32FF }
349
- , { "linen", 0xFAF0E6FF }
350
- , { "magenta", 0xFF00FFFF }
351
- , { "maroon", 0x800000FF }
352
- , { "mediumaquamarine", 0x66CDAAFF }
353
- , { "mediumblue", 0x0000CDFF }
354
- , { "mediumorchid", 0xBA55D3FF }
355
- , { "mediumpurple", 0x9370DBFF }
356
- , { "mediumseagreen", 0x3CB371FF }
357
- , { "mediumslateblue", 0x7B68EEFF }
358
- , { "mediumspringgreen", 0x00FA9AFF }
359
- , { "mediumturquoise", 0x48D1CCFF }
360
- , { "mediumvioletred", 0xC71585FF }
361
- , { "midnightblue", 0x191970FF }
362
- , { "mintcream", 0xF5FFFAFF }
363
- , { "mistyrose", 0xFFE4E1FF }
364
- , { "moccasin", 0xFFE4B5FF }
365
- , { "navajowhite", 0xFFDEADFF }
366
- , { "navy", 0x000080FF }
367
- , { "oldlace", 0xFDF5E6FF }
368
- , { "olive", 0x808000FF }
369
- , { "olivedrab", 0x6B8E23FF }
370
- , { "orange", 0xFFA500FF }
371
- , { "orangered", 0xFF4500FF }
372
- , { "orchid", 0xDA70D6FF }
373
- , { "palegoldenrod", 0xEEE8AAFF }
374
- , { "palegreen", 0x98FB98FF }
375
- , { "paleturquoise", 0xAFEEEEFF }
376
- , { "palevioletred", 0xDB7093FF }
377
- , { "papayawhip", 0xFFEFD5FF }
378
- , { "peachpuff", 0xFFDAB9FF }
379
- , { "peru", 0xCD853FFF }
380
- , { "pink", 0xFFC0CBFF }
381
- , { "plum", 0xDDA0DDFF }
382
- , { "powderblue", 0xB0E0E6FF }
383
- , { "purple", 0x800080FF }
384
- , { "rebeccapurple", 0x663399FF } // Source: CSS Color Level 4 draft
385
- , { "red", 0xFF0000FF }
386
- , { "rosybrown", 0xBC8F8FFF }
387
- , { "royalblue", 0x4169E1FF }
388
- , { "saddlebrown", 0x8B4513FF }
389
- , { "salmon", 0xFA8072FF }
390
- , { "sandybrown", 0xF4A460FF }
391
- , { "seagreen", 0x2E8B57FF }
392
- , { "seashell", 0xFFF5EEFF }
393
- , { "sienna", 0xA0522DFF }
394
- , { "silver", 0xC0C0C0FF }
395
- , { "skyblue", 0x87CEEBFF }
396
- , { "slateblue", 0x6A5ACDFF }
397
- , { "slategray", 0x708090FF }
398
- , { "slategrey", 0x708090FF }
399
- , { "snow", 0xFFFAFAFF }
400
- , { "springgreen", 0x00FF7FFF }
401
- , { "steelblue", 0x4682B4FF }
402
- , { "tan", 0xD2B48CFF }
403
- , { "teal", 0x008080FF }
404
- , { "thistle", 0xD8BFD8FF }
405
- , { "tomato", 0xFF6347FF }
406
- , { "turquoise", 0x40E0D0FF }
407
- , { "violet", 0xEE82EEFF }
408
- , { "wheat", 0xF5DEB3FF }
409
- , { "white", 0xFFFFFFFF }
410
- , { "whitesmoke", 0xF5F5F5FF }
411
- , { "yellow", 0xFFFF00FF }
412
- , { "yellowgreen", 0x9ACD32FF }
413
- };
414
-
415
- /*
416
- * Hex digit int val.
417
- */
418
-
419
- static int
420
- h(char c) {
421
- switch (c) {
422
- case '0':
423
- case '1':
424
- case '2':
425
- case '3':
426
- case '4':
427
- case '5':
428
- case '6':
429
- case '7':
430
- case '8':
431
- case '9':
432
- return c - '0';
433
- case 'a':
434
- case 'b':
435
- case 'c':
436
- case 'd':
437
- case 'e':
438
- case 'f':
439
- return (c - 'a') + 10;
440
- case 'A':
441
- case 'B':
442
- case 'C':
443
- case 'D':
444
- case 'E':
445
- case 'F':
446
- return (c - 'A') + 10;
447
- }
448
- return 0;
449
- }
450
-
451
- /*
452
- * Return rgba_t from rgba.
453
- */
454
-
455
- rgba_t
456
- rgba_create(uint32_t rgba) {
457
- rgba_t color;
458
- color.r = (double) (rgba >> 24) / 255;
459
- color.g = (double) (rgba >> 16 & 0xff) / 255;
460
- color.b = (double) (rgba >> 8 & 0xff) / 255;
461
- color.a = (double) (rgba & 0xff) / 255;
462
- return color;
463
- }
464
-
465
- /*
466
- * Return a string representation of the color.
467
- */
468
-
469
- void
470
- rgba_to_string(rgba_t rgba, char *buf, size_t len) {
471
- if (1 == rgba.a) {
472
- snprintf(buf, len, "#%.2x%.2x%.2x",
473
- static_cast<int>(round(rgba.r * 255)),
474
- static_cast<int>(round(rgba.g * 255)),
475
- static_cast<int>(round(rgba.b * 255)));
476
- } else {
477
- snprintf(buf, len, "rgba(%d, %d, %d, %.2f)",
478
- static_cast<int>(round(rgba.r * 255)),
479
- static_cast<int>(round(rgba.g * 255)),
480
- static_cast<int>(round(rgba.b * 255)),
481
- rgba.a);
482
- }
483
- }
484
-
485
- /*
486
- * Return rgba from (r,g,b,a).
487
- */
488
-
489
- static inline int32_t
490
- rgba_from_rgba(uint8_t r, uint8_t g, uint8_t b, uint8_t a) {
491
- return
492
- r << 24
493
- | g << 16
494
- | b << 8
495
- | a;
496
- }
497
-
498
- /*
499
- * Helper function used in rgba_from_hsla().
500
- * Based on http://dev.w3.org/csswg/css-color-4/#hsl-to-rgb
501
- */
502
-
503
- static float
504
- hue_to_rgb(float t1, float t2, float hue) {
505
- if (hue < 0)
506
- hue += 6;
507
- if (hue >= 6)
508
- hue -= 6;
509
-
510
- if (hue < 1)
511
- return (t2 - t1) * hue + t1;
512
- else if (hue < 3)
513
- return t2;
514
- else if (hue < 4)
515
- return (t2 - t1) * (4 - hue) + t1;
516
- else
517
- return t1;
518
- }
519
-
520
- /*
521
- * Return rgba from (h,s,l,a).
522
- * Expects h values in the range [0, 360), and s, l, a in the range [0, 1].
523
- * Adapted from http://dev.w3.org/csswg/css-color-4/#hsl-to-rgb
524
- */
525
-
526
- static inline int32_t
527
- rgba_from_hsla(float h_deg, float s, float l, float a) {
528
- uint8_t r, g, b;
529
- float h = (6 * h_deg) / 360.0f, m1, m2;
530
-
531
- if (l<=0.5)
532
- m2=l*(s+1);
533
- else
534
- m2=l+s-l*s;
535
- m1 = l*2 - m2;
536
-
537
- // Scale and round the RGB components
538
- r = (uint8_t)floor(hue_to_rgb(m1, m2, h + 2) * 255 + 0.5);
539
- g = (uint8_t)floor(hue_to_rgb(m1, m2, h ) * 255 + 0.5);
540
- b = (uint8_t)floor(hue_to_rgb(m1, m2, h - 2) * 255 + 0.5);
541
-
542
- return rgba_from_rgba(r, g, b, (uint8_t) (a * 255));
543
- }
544
-
545
- /*
546
- * Return rgba from (h,s,l).
547
- * Expects h values in the range [0, 360), and s, l in the range [0, 1].
548
- */
549
-
550
- static inline int32_t
551
- rgba_from_hsl(float h_deg, float s, float l) {
552
- return rgba_from_hsla(h_deg, s, l, 1.0);
553
- }
554
-
555
-
556
- /*
557
- * Return rgba from (r,g,b).
558
- */
559
-
560
- static int32_t
561
- rgba_from_rgb(uint8_t r, uint8_t g, uint8_t b) {
562
- return rgba_from_rgba(r, g, b, 255);
563
- }
564
-
565
- /*
566
- * Return rgba from #RRGGBBAA
567
- */
568
-
569
- static int32_t
570
- rgba_from_hex8_string(const char *str) {
571
- return rgba_from_rgba(
572
- (h(str[0]) << 4) + h(str[1]),
573
- (h(str[2]) << 4) + h(str[3]),
574
- (h(str[4]) << 4) + h(str[5]),
575
- (h(str[6]) << 4) + h(str[7])
576
- );
577
- }
578
-
579
- /*
580
- * Return rgb from "#RRGGBB".
581
- */
582
-
583
- static int32_t
584
- rgba_from_hex6_string(const char *str) {
585
- return rgba_from_rgb(
586
- (h(str[0]) << 4) + h(str[1])
587
- , (h(str[2]) << 4) + h(str[3])
588
- , (h(str[4]) << 4) + h(str[5])
589
- );
590
- }
591
-
592
- /*
593
- * Return rgba from #RGBA
594
- */
595
-
596
- static int32_t
597
- rgba_from_hex4_string(const char *str) {
598
- return rgba_from_rgba(
599
- (h(str[0]) << 4) + h(str[0]),
600
- (h(str[1]) << 4) + h(str[1]),
601
- (h(str[2]) << 4) + h(str[2]),
602
- (h(str[3]) << 4) + h(str[3])
603
- );
604
- }
605
-
606
- /*
607
- * Return rgb from "#RGB"
608
- */
609
-
610
- static int32_t
611
- rgba_from_hex3_string(const char *str) {
612
- return rgba_from_rgb(
613
- (h(str[0]) << 4) + h(str[0])
614
- , (h(str[1]) << 4) + h(str[1])
615
- , (h(str[2]) << 4) + h(str[2])
616
- );
617
- }
618
-
619
- /*
620
- * Return rgb from "rgb()"
621
- */
622
-
623
- static int32_t
624
- rgba_from_rgb_string(const char *str, short *ok) {
625
- if (str == strstr(str, "rgb(")) {
626
- str += 4;
627
- WHITESPACE;
628
- uint8_t r = 0, g = 0, b = 0;
629
- float a=1.f;
630
- CHANNEL(r);
631
- WHITESPACE_OR_COMMA;
632
- CHANNEL(g);
633
- WHITESPACE_OR_COMMA;
634
- CHANNEL(b);
635
- WHITESPACE_OR_COMMA_OR_SLASH;
636
- ALPHA(a);
637
- return *ok = 1, rgba_from_rgba(r, g, b, (int) (255 * a));
638
- }
639
- return *ok = 0;
640
- }
641
-
642
- /*
643
- * Return rgb from "rgba()"
644
- */
645
-
646
- static int32_t
647
- rgba_from_rgba_string(const char *str, short *ok) {
648
- if (str == strstr(str, "rgba(")) {
649
- str += 5;
650
- WHITESPACE;
651
- uint8_t r = 0, g = 0, b = 0;
652
- float a = 1.f;
653
- CHANNEL(r);
654
- WHITESPACE_OR_COMMA;
655
- CHANNEL(g);
656
- WHITESPACE_OR_COMMA;
657
- CHANNEL(b);
658
- WHITESPACE_OR_COMMA_OR_SLASH;
659
- ALPHA(a);
660
- WHITESPACE;
661
- return *ok = 1, rgba_from_rgba(r, g, b, (int) (a * 255));
662
- }
663
- return *ok = 0;
664
- }
665
-
666
- /*
667
- * Return rgb from "hsla()"
668
- */
669
-
670
- static int32_t
671
- rgba_from_hsla_string(const char *str, short *ok) {
672
- if (str == strstr(str, "hsla(")) {
673
- str += 5;
674
- WHITESPACE;
675
- float h_deg = 0;
676
- float s = 0, l = 0;
677
- float a = 0;
678
- HUE(h_deg);
679
- WHITESPACE_OR_COMMA;
680
- SATURATION(s);
681
- WHITESPACE_OR_COMMA;
682
- LIGHTNESS(l);
683
- WHITESPACE_OR_COMMA;
684
- ALPHA(a);
685
- WHITESPACE;
686
- return *ok = 1, rgba_from_hsla(h_deg, s, l, a);
687
- }
688
- return *ok = 0;
689
- }
690
-
691
- /*
692
- * Return rgb from "hsl()"
693
- */
694
-
695
- static int32_t
696
- rgba_from_hsl_string(const char *str, short *ok) {
697
- if (str == strstr(str, "hsl(")) {
698
- str += 4;
699
- WHITESPACE;
700
- float h_deg = 0;
701
- float s = 0, l = 0;
702
- HUE(h_deg);
703
- WHITESPACE_OR_COMMA;
704
- SATURATION(s);
705
- WHITESPACE_OR_COMMA;
706
- LIGHTNESS(l);
707
- WHITESPACE;
708
- return *ok = 1, rgba_from_hsl(h_deg, s, l);
709
- }
710
- return *ok = 0;
711
- }
712
-
713
-
714
- /*
715
- * Return rgb from:
716
- *
717
- * - "#RGB"
718
- * - "#RGBA"
719
- * - "#RRGGBB"
720
- * - "#RRGGBBAA"
721
- *
722
- */
723
-
724
- static int32_t
725
- rgba_from_hex_string(const char *str, short *ok) {
726
- size_t len = strlen(str);
727
- *ok = 1;
728
- switch (len) {
729
- case 8: return rgba_from_hex8_string(str);
730
- case 6: return rgba_from_hex6_string(str);
731
- case 4: return rgba_from_hex4_string(str);
732
- case 3: return rgba_from_hex3_string(str);
733
- }
734
- return *ok = 0;
735
- }
736
-
737
- /*
738
- * Return named color value.
739
- */
740
-
741
- static int32_t
742
- rgba_from_name_string(const char *str, short *ok) {
743
- WHITESPACE;
744
- std::string lowered(str);
745
- std::transform(lowered.begin(), lowered.end(), lowered.begin(), tolower);
746
- auto color = named_colors.find(lowered);
747
- if (color != named_colors.end()) {
748
- return *ok = 1, color->second;
749
- }
750
- return *ok = 0;
751
- }
752
-
753
- /*
754
- * Return rgb from:
755
- *
756
- * - #RGB
757
- * - #RGBA
758
- * - #RRGGBB
759
- * - #RRGGBBAA
760
- * - rgb(r,g,b)
761
- * - rgba(r,g,b,a)
762
- * - hsl(h,s,l)
763
- * - hsla(h,s,l,a)
764
- * - name
765
- *
766
- */
767
-
768
- int32_t
769
- rgba_from_string(const char *str, short *ok) {
770
- WHITESPACE;
771
- if ('#' == str[0])
772
- return rgba_from_hex_string(++str, ok);
773
- if (str == strstr(str, "rgba"))
774
- return rgba_from_rgba_string(str, ok);
775
- if (str == strstr(str, "rgb"))
776
- return rgba_from_rgb_string(str, ok);
777
- if (str == strstr(str, "hsla"))
778
- return rgba_from_hsla_string(str, ok);
779
- if (str == strstr(str, "hsl"))
780
- return rgba_from_hsl_string(str, ok);
781
- return rgba_from_name_string(str, ok);
782
- }
783
-
784
- /*
785
- * Inspect the given rgba color.
786
- */
787
-
788
- void
789
- rgba_inspect(int32_t rgba) {
790
- printf("rgba(%d,%d,%d,%d)\n"
791
- , rgba >> 24 & 0xff
792
- , rgba >> 16 & 0xff
793
- , rgba >> 8 & 0xff
794
- , rgba & 0xff
795
- );
796
- }