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,766 +0,0 @@
1
- #!/usr/bin/env python3
2
- # Generated by gyp. Do not edit.
3
- # Copyright (c) 2012 Google Inc. All rights reserved.
4
- # Use of this source code is governed by a BSD-style license that can be
5
- # found in the LICENSE file.
6
-
7
- """Utility functions to perform Xcode-style build steps.
8
-
9
- These functions are executed via gyp-mac-tool when using the Makefile generator.
10
- """
11
-
12
- import fcntl
13
- import fnmatch
14
- import glob
15
- import json
16
- import os
17
- import plistlib
18
- import re
19
- import shutil
20
- import struct
21
- import subprocess
22
- import sys
23
- import tempfile
24
-
25
-
26
- def main(args):
27
- executor = MacTool()
28
- if (exit_code := executor.Dispatch(args)) is not None:
29
- sys.exit(exit_code)
30
-
31
-
32
- class MacTool:
33
- """This class performs all the Mac tooling steps. The methods can either be
34
- executed directly, or dispatched from an argument list."""
35
-
36
- def Dispatch(self, args):
37
- """Dispatches a string command to a method."""
38
- if len(args) < 1:
39
- raise Exception("Not enough arguments")
40
-
41
- method = "Exec%s" % self._CommandifyName(args[0])
42
- return getattr(self, method)(*args[1:])
43
-
44
- def _CommandifyName(self, name_string):
45
- """Transforms a tool name like copy-info-plist to CopyInfoPlist"""
46
- return name_string.title().replace("-", "")
47
-
48
- def ExecCopyBundleResource(self, source, dest, convert_to_binary):
49
- """Copies a resource file to the bundle/Resources directory, performing any
50
- necessary compilation on each resource."""
51
- convert_to_binary = convert_to_binary == "True"
52
- extension = os.path.splitext(source)[1].lower()
53
- if os.path.isdir(source):
54
- # Copy tree.
55
- # TODO(thakis): This copies file attributes like mtime, while the
56
- # single-file branch below doesn't. This should probably be changed to
57
- # be consistent with the single-file branch.
58
- if os.path.exists(dest):
59
- shutil.rmtree(dest)
60
- shutil.copytree(source, dest)
61
- elif extension in {".xib", ".storyboard"}:
62
- return self._CopyXIBFile(source, dest)
63
- elif extension == ".strings" and not convert_to_binary:
64
- self._CopyStringsFile(source, dest)
65
- else:
66
- if os.path.exists(dest):
67
- os.unlink(dest)
68
- shutil.copy(source, dest)
69
-
70
- if convert_to_binary and extension in {".plist", ".strings"}:
71
- self._ConvertToBinary(dest)
72
-
73
- def _CopyXIBFile(self, source, dest):
74
- """Compiles a XIB file with ibtool into a binary plist in the bundle."""
75
-
76
- # ibtool sometimes crashes with relative paths. See crbug.com/314728.
77
- base = os.path.dirname(os.path.realpath(__file__))
78
- if os.path.relpath(source):
79
- source = os.path.join(base, source)
80
- if os.path.relpath(dest):
81
- dest = os.path.join(base, dest)
82
-
83
- args = ["xcrun", "ibtool", "--errors", "--warnings", "--notices"]
84
-
85
- if os.environ["XCODE_VERSION_ACTUAL"] > "0700":
86
- args.extend(["--auto-activate-custom-fonts"])
87
- if "IPHONEOS_DEPLOYMENT_TARGET" in os.environ:
88
- args.extend(
89
- [
90
- "--target-device",
91
- "iphone",
92
- "--target-device",
93
- "ipad",
94
- "--minimum-deployment-target",
95
- os.environ["IPHONEOS_DEPLOYMENT_TARGET"],
96
- ]
97
- )
98
- else:
99
- args.extend(
100
- [
101
- "--target-device",
102
- "mac",
103
- "--minimum-deployment-target",
104
- os.environ["MACOSX_DEPLOYMENT_TARGET"],
105
- ]
106
- )
107
-
108
- args.extend(
109
- ["--output-format", "human-readable-text", "--compile", dest, source]
110
- )
111
-
112
- ibtool_section_re = re.compile(r"/\*.*\*/")
113
- ibtool_re = re.compile(r".*note:.*is clipping its content")
114
- try:
115
- stdout = subprocess.check_output(args)
116
- except subprocess.CalledProcessError as e:
117
- print(e.output)
118
- raise
119
- current_section_header = None
120
- for line in stdout.splitlines():
121
- if ibtool_section_re.match(line):
122
- current_section_header = line
123
- elif not ibtool_re.match(line):
124
- if current_section_header:
125
- print(current_section_header)
126
- current_section_header = None
127
- print(line)
128
- return 0
129
-
130
- def _ConvertToBinary(self, dest):
131
- subprocess.check_call(
132
- ["xcrun", "plutil", "-convert", "binary1", "-o", dest, dest]
133
- )
134
-
135
- def _CopyStringsFile(self, source, dest):
136
- """Copies a .strings file using iconv to reconvert the input into UTF-16."""
137
- input_code = self._DetectInputEncoding(source) or "UTF-8"
138
-
139
- # Xcode's CpyCopyStringsFile / builtin-copyStrings seems to call
140
- # CFPropertyListCreateFromXMLData() behind the scenes; at least it prints
141
- # CFPropertyListCreateFromXMLData(): Old-style plist parser: missing
142
- # semicolon in dictionary.
143
- # on invalid files. Do the same kind of validation.
144
- import CoreFoundation # noqa: PLC0415
145
-
146
- with open(source, "rb") as in_file:
147
- s = in_file.read()
148
- d = CoreFoundation.CFDataCreate(None, s, len(s))
149
- _, error = CoreFoundation.CFPropertyListCreateFromXMLData(None, d, 0, None)
150
- if error:
151
- return
152
-
153
- with open(dest, "wb") as fp:
154
- fp.write(s.decode(input_code).encode("UTF-16"))
155
-
156
- def _DetectInputEncoding(self, file_name):
157
- """Reads the first few bytes from file_name and tries to guess the text
158
- encoding. Returns None as a guess if it can't detect it."""
159
- with open(file_name, "rb") as fp:
160
- try:
161
- header = fp.read(3)
162
- except Exception:
163
- return None
164
- if header.startswith((b"\xfe\xff", b"\xff\xfe")):
165
- return "UTF-16"
166
- elif header.startswith(b"\xef\xbb\xbf"):
167
- return "UTF-8"
168
- else:
169
- return None
170
-
171
- def ExecCopyInfoPlist(self, source, dest, convert_to_binary, *keys):
172
- """Copies the |source| Info.plist to the destination directory |dest|."""
173
- # Read the source Info.plist into memory.
174
- with open(source) as fd:
175
- lines = fd.read()
176
-
177
- # Insert synthesized key/value pairs (e.g. BuildMachineOSBuild).
178
- plist = plistlib.readPlistFromString(lines)
179
- if keys:
180
- plist.update(json.loads(keys[0]))
181
- lines = plistlib.writePlistToString(plist)
182
-
183
- # Go through all the environment variables and replace them as variables in
184
- # the file.
185
- IDENT_RE = re.compile(r"[_/\s]")
186
- for key in os.environ:
187
- if key.startswith("_"):
188
- continue
189
- evar = "${%s}" % key
190
- evalue = os.environ[key]
191
- lines = lines.replace(lines, evar, evalue)
192
-
193
- # Xcode supports various suffices on environment variables, which are
194
- # all undocumented. :rfc1034identifier is used in the standard project
195
- # template these days, and :identifier was used earlier. They are used to
196
- # convert non-url characters into things that look like valid urls --
197
- # except that the replacement character for :identifier, '_' isn't valid
198
- # in a URL either -- oops, hence :rfc1034identifier was born.
199
- evar = "${%s:identifier}" % key
200
- evalue = IDENT_RE.sub("_", os.environ[key])
201
- lines = lines.replace(lines, evar, evalue)
202
-
203
- evar = "${%s:rfc1034identifier}" % key
204
- evalue = IDENT_RE.sub("-", os.environ[key])
205
- lines = lines.replace(lines, evar, evalue)
206
-
207
- # Remove any keys with values that haven't been replaced.
208
- lines = lines.splitlines()
209
- for i in range(len(lines)):
210
- if lines[i].strip().startswith("<string>${"):
211
- lines[i] = None
212
- lines[i - 1] = None
213
- lines = "\n".join(line for line in lines if line is not None)
214
-
215
- # Write out the file with variables replaced.
216
- with open(dest, "w") as fd:
217
- fd.write(lines)
218
-
219
- # Now write out PkgInfo file now that the Info.plist file has been
220
- # "compiled".
221
- self._WritePkgInfo(dest)
222
-
223
- if convert_to_binary == "True":
224
- self._ConvertToBinary(dest)
225
-
226
- def _WritePkgInfo(self, info_plist):
227
- """This writes the PkgInfo file from the data stored in Info.plist."""
228
- plist = plistlib.readPlist(info_plist)
229
- if not plist:
230
- return
231
-
232
- # Only create PkgInfo for executable types.
233
- package_type = plist["CFBundlePackageType"]
234
- if package_type != "APPL":
235
- return
236
-
237
- # The format of PkgInfo is eight characters, representing the bundle type
238
- # and bundle signature, each four characters. If that is missing, four
239
- # '?' characters are used instead.
240
- signature_code = plist.get("CFBundleSignature", "????")
241
- if len(signature_code) != 4: # Wrong length resets everything, too.
242
- signature_code = "?" * 4
243
-
244
- dest = os.path.join(os.path.dirname(info_plist), "PkgInfo")
245
- with open(dest, "w") as fp:
246
- fp.write(f"{package_type}{signature_code}")
247
-
248
- def ExecFlock(self, lockfile, *cmd_list):
249
- """Emulates the most basic behavior of Linux's flock(1)."""
250
- # Rely on exception handling to report errors.
251
- fd = os.open(lockfile, os.O_RDONLY | os.O_NOCTTY | os.O_CREAT, 0o666)
252
- fcntl.flock(fd, fcntl.LOCK_EX)
253
- return subprocess.call(cmd_list)
254
-
255
- def ExecFilterLibtool(self, *cmd_list):
256
- """Calls libtool and filters out '/path/to/libtool: file: foo.o has no
257
- symbols'."""
258
- libtool_re = re.compile(
259
- r"^.*libtool: (?:for architecture: \S* )?file: .* has no symbols$"
260
- )
261
- libtool_re5 = re.compile(
262
- r"^.*libtool: warning for library: "
263
- + r".* the table of contents is empty "
264
- + r"\(no object file members in the library define global symbols\)$"
265
- )
266
- env = os.environ.copy()
267
- # Ref:
268
- # http://www.opensource.apple.com/source/cctools/cctools-809/misc/libtool.c
269
- # The problem with this flag is that it resets the file mtime on the file to
270
- # epoch=0, e.g. 1970-1-1 or 1969-12-31 depending on timezone.
271
- env["ZERO_AR_DATE"] = "1"
272
- libtoolout = subprocess.Popen(cmd_list, stderr=subprocess.PIPE, env=env)
273
- err = libtoolout.communicate()[1].decode("utf-8")
274
- for line in err.splitlines():
275
- if not libtool_re.match(line) and not libtool_re5.match(line):
276
- print(line, file=sys.stderr)
277
- # Unconditionally touch the output .a file on the command line if present
278
- # and the command succeeded. A bit hacky.
279
- if not libtoolout.returncode:
280
- for i in range(len(cmd_list) - 1):
281
- if cmd_list[i] == "-o" and cmd_list[i + 1].endswith(".a"):
282
- os.utime(cmd_list[i + 1], None)
283
- break
284
- return libtoolout.returncode
285
-
286
- def ExecPackageIosFramework(self, framework):
287
- # Find the name of the binary based on the part before the ".framework".
288
- binary = os.path.basename(framework).split(".")[0]
289
- module_path = os.path.join(framework, "Modules")
290
- if not os.path.exists(module_path):
291
- os.mkdir(module_path)
292
- module_template = (
293
- "framework module %s {\n"
294
- ' umbrella header "%s.h"\n'
295
- "\n"
296
- " export *\n"
297
- " module * { export * }\n"
298
- "}\n" % (binary, binary)
299
- )
300
-
301
- with open(os.path.join(module_path, "module.modulemap"), "w") as module_file:
302
- module_file.write(module_template)
303
-
304
- def ExecPackageFramework(self, framework, version):
305
- """Takes a path to Something.framework and the Current version of that and
306
- sets up all the symlinks."""
307
- # Find the name of the binary based on the part before the ".framework".
308
- binary = os.path.basename(framework).split(".")[0]
309
-
310
- CURRENT = "Current"
311
- RESOURCES = "Resources"
312
- VERSIONS = "Versions"
313
-
314
- if not os.path.exists(os.path.join(framework, VERSIONS, version, binary)):
315
- # Binary-less frameworks don't seem to contain symlinks (see e.g.
316
- # chromium's out/Debug/org.chromium.Chromium.manifest/ bundle).
317
- return
318
-
319
- # Move into the framework directory to set the symlinks correctly.
320
- pwd = os.getcwd()
321
- os.chdir(framework)
322
-
323
- # Set up the Current version.
324
- self._Relink(version, os.path.join(VERSIONS, CURRENT))
325
-
326
- # Set up the root symlinks.
327
- self._Relink(os.path.join(VERSIONS, CURRENT, binary), binary)
328
- self._Relink(os.path.join(VERSIONS, CURRENT, RESOURCES), RESOURCES)
329
-
330
- # Back to where we were before!
331
- os.chdir(pwd)
332
-
333
- def _Relink(self, dest, link):
334
- """Creates a symlink to |dest| named |link|. If |link| already exists,
335
- it is overwritten."""
336
- if os.path.lexists(link):
337
- os.remove(link)
338
- os.symlink(dest, link)
339
-
340
- def ExecCompileIosFrameworkHeaderMap(self, out, framework, *all_headers):
341
- framework_name = os.path.basename(framework).split(".")[0]
342
- all_headers = [os.path.abspath(header) for header in all_headers]
343
- filelist = {}
344
- for header in all_headers:
345
- filename = os.path.basename(header)
346
- filelist[filename] = header
347
- filelist[os.path.join(framework_name, filename)] = header
348
- WriteHmap(out, filelist)
349
-
350
- def ExecCopyIosFrameworkHeaders(self, framework, *copy_headers):
351
- header_path = os.path.join(framework, "Headers")
352
- if not os.path.exists(header_path):
353
- os.makedirs(header_path)
354
- for header in copy_headers:
355
- shutil.copy(header, os.path.join(header_path, os.path.basename(header)))
356
-
357
- def ExecCompileXcassets(self, keys, *inputs):
358
- """Compiles multiple .xcassets files into a single .car file.
359
-
360
- This invokes 'actool' to compile all the inputs .xcassets files. The
361
- |keys| arguments is a json-encoded dictionary of extra arguments to
362
- pass to 'actool' when the asset catalogs contains an application icon
363
- or a launch image.
364
-
365
- Note that 'actool' does not create the Assets.car file if the asset
366
- catalogs does not contains imageset.
367
- """
368
- command_line = [
369
- "xcrun",
370
- "actool",
371
- "--output-format",
372
- "human-readable-text",
373
- "--compress-pngs",
374
- "--notices",
375
- "--warnings",
376
- "--errors",
377
- ]
378
- is_iphone_target = "IPHONEOS_DEPLOYMENT_TARGET" in os.environ
379
- if is_iphone_target:
380
- platform = os.environ["CONFIGURATION"].split("-")[-1]
381
- if platform not in ("iphoneos", "iphonesimulator"):
382
- platform = "iphonesimulator"
383
- command_line.extend(
384
- [
385
- "--platform",
386
- platform,
387
- "--target-device",
388
- "iphone",
389
- "--target-device",
390
- "ipad",
391
- "--minimum-deployment-target",
392
- os.environ["IPHONEOS_DEPLOYMENT_TARGET"],
393
- "--compile",
394
- os.path.abspath(os.environ["CONTENTS_FOLDER_PATH"]),
395
- ]
396
- )
397
- else:
398
- command_line.extend(
399
- [
400
- "--platform",
401
- "macosx",
402
- "--target-device",
403
- "mac",
404
- "--minimum-deployment-target",
405
- os.environ["MACOSX_DEPLOYMENT_TARGET"],
406
- "--compile",
407
- os.path.abspath(os.environ["UNLOCALIZED_RESOURCES_FOLDER_PATH"]),
408
- ]
409
- )
410
- if keys:
411
- keys = json.loads(keys)
412
- for key, value in keys.items():
413
- arg_name = "--" + key
414
- if isinstance(value, bool):
415
- if value:
416
- command_line.append(arg_name)
417
- elif isinstance(value, list):
418
- for v in value:
419
- command_line.append(arg_name)
420
- command_line.append(str(v))
421
- else:
422
- command_line.append(arg_name)
423
- command_line.append(str(value))
424
- # Note: actool crashes if inputs path are relative, so use os.path.abspath
425
- # to get absolute path name for inputs.
426
- command_line.extend(map(os.path.abspath, inputs))
427
- subprocess.check_call(command_line)
428
-
429
- def ExecMergeInfoPlist(self, output, *inputs):
430
- """Merge multiple .plist files into a single .plist file."""
431
- merged_plist = {}
432
- for path in inputs:
433
- plist = self._LoadPlistMaybeBinary(path)
434
- self._MergePlist(merged_plist, plist)
435
- plistlib.writePlist(merged_plist, output)
436
-
437
- def ExecCodeSignBundle(self, key, entitlements, provisioning, path, preserve):
438
- """Code sign a bundle.
439
-
440
- This function tries to code sign an iOS bundle, following the same
441
- algorithm as Xcode:
442
- 1. pick the provisioning profile that best match the bundle identifier,
443
- and copy it into the bundle as embedded.mobileprovision,
444
- 2. copy Entitlements.plist from user or SDK next to the bundle,
445
- 3. code sign the bundle.
446
- """
447
- substitutions, overrides = self._InstallProvisioningProfile(
448
- provisioning, self._GetCFBundleIdentifier()
449
- )
450
- entitlements_path = self._InstallEntitlements(
451
- entitlements, substitutions, overrides
452
- )
453
-
454
- args = ["codesign", "--force", "--sign", key]
455
- if preserve == "True":
456
- args.extend(["--deep", "--preserve-metadata=identifier,entitlements"])
457
- else:
458
- args.extend(["--entitlements", entitlements_path])
459
- args.extend(["--timestamp=none", path])
460
- subprocess.check_call(args)
461
-
462
- def _InstallProvisioningProfile(self, profile, bundle_identifier):
463
- """Installs embedded.mobileprovision into the bundle.
464
-
465
- Args:
466
- profile: string, optional, short name of the .mobileprovision file
467
- to use, if empty or the file is missing, the best file installed
468
- will be used
469
- bundle_identifier: string, value of CFBundleIdentifier from Info.plist
470
-
471
- Returns:
472
- A tuple containing two dictionary: variables substitutions and values
473
- to overrides when generating the entitlements file.
474
- """
475
- source_path, provisioning_data, team_id = self._FindProvisioningProfile(
476
- profile, bundle_identifier
477
- )
478
- target_path = os.path.join(
479
- os.environ["BUILT_PRODUCTS_DIR"],
480
- os.environ["CONTENTS_FOLDER_PATH"],
481
- "embedded.mobileprovision",
482
- )
483
- shutil.copy2(source_path, target_path)
484
- substitutions = self._GetSubstitutions(bundle_identifier, team_id + ".")
485
- return substitutions, provisioning_data["Entitlements"]
486
-
487
- def _FindProvisioningProfile(self, profile, bundle_identifier):
488
- """Finds the .mobileprovision file to use for signing the bundle.
489
-
490
- Checks all the installed provisioning profiles (or if the user specified
491
- the PROVISIONING_PROFILE variable, only consult it) and select the most
492
- specific that correspond to the bundle identifier.
493
-
494
- Args:
495
- profile: string, optional, short name of the .mobileprovision file
496
- to use, if empty or the file is missing, the best file installed
497
- will be used
498
- bundle_identifier: string, value of CFBundleIdentifier from Info.plist
499
-
500
- Returns:
501
- A tuple of the path to the selected provisioning profile, the data of
502
- the embedded plist in the provisioning profile and the team identifier
503
- to use for code signing.
504
-
505
- Raises:
506
- SystemExit: if no .mobileprovision can be used to sign the bundle.
507
- """
508
- profiles_dir = os.path.join(
509
- os.environ["HOME"], "Library", "MobileDevice", "Provisioning Profiles"
510
- )
511
- if not os.path.isdir(profiles_dir):
512
- print(
513
- "cannot find mobile provisioning for %s" % (bundle_identifier),
514
- file=sys.stderr,
515
- )
516
- sys.exit(1)
517
- provisioning_profiles = None
518
- if profile:
519
- profile_path = os.path.join(profiles_dir, profile + ".mobileprovision")
520
- if os.path.exists(profile_path):
521
- provisioning_profiles = [profile_path]
522
- if not provisioning_profiles:
523
- provisioning_profiles = glob.glob(
524
- os.path.join(profiles_dir, "*.mobileprovision")
525
- )
526
- valid_provisioning_profiles = {}
527
- for profile_path in provisioning_profiles:
528
- profile_data = self._LoadProvisioningProfile(profile_path)
529
- app_id_pattern = profile_data.get("Entitlements", {}).get(
530
- "application-identifier", ""
531
- )
532
- for team_identifier in profile_data.get("TeamIdentifier", []):
533
- app_id = f"{team_identifier}.{bundle_identifier}"
534
- if fnmatch.fnmatch(app_id, app_id_pattern):
535
- valid_provisioning_profiles[app_id_pattern] = (
536
- profile_path,
537
- profile_data,
538
- team_identifier,
539
- )
540
- if not valid_provisioning_profiles:
541
- print(
542
- "cannot find mobile provisioning for %s" % (bundle_identifier),
543
- file=sys.stderr,
544
- )
545
- sys.exit(1)
546
- # If the user has multiple provisioning profiles installed that can be
547
- # used for ${bundle_identifier}, pick the most specific one (ie. the
548
- # provisioning profile whose pattern is the longest).
549
- selected_key = max(valid_provisioning_profiles, key=lambda v: len(v))
550
- return valid_provisioning_profiles[selected_key]
551
-
552
- def _LoadProvisioningProfile(self, profile_path):
553
- """Extracts the plist embedded in a provisioning profile.
554
-
555
- Args:
556
- profile_path: string, path to the .mobileprovision file
557
-
558
- Returns:
559
- Content of the plist embedded in the provisioning profile as a dictionary.
560
- """
561
- with tempfile.NamedTemporaryFile() as temp:
562
- subprocess.check_call(
563
- ["security", "cms", "-D", "-i", profile_path, "-o", temp.name]
564
- )
565
- return self._LoadPlistMaybeBinary(temp.name)
566
-
567
- def _MergePlist(self, merged_plist, plist):
568
- """Merge |plist| into |merged_plist|."""
569
- for key, value in plist.items():
570
- if isinstance(value, dict):
571
- merged_value = merged_plist.get(key, {})
572
- if isinstance(merged_value, dict):
573
- self._MergePlist(merged_value, value)
574
- merged_plist[key] = merged_value
575
- else:
576
- merged_plist[key] = value
577
- else:
578
- merged_plist[key] = value
579
-
580
- def _LoadPlistMaybeBinary(self, plist_path):
581
- """Loads into a memory a plist possibly encoded in binary format.
582
-
583
- This is a wrapper around plistlib.readPlist that tries to convert the
584
- plist to the XML format if it can't be parsed (assuming that it is in
585
- the binary format).
586
-
587
- Args:
588
- plist_path: string, path to a plist file, in XML or binary format
589
-
590
- Returns:
591
- Content of the plist as a dictionary.
592
- """
593
- try:
594
- # First, try to read the file using plistlib that only supports XML,
595
- # and if an exception is raised, convert a temporary copy to XML and
596
- # load that copy.
597
- return plistlib.readPlist(plist_path)
598
- except Exception:
599
- pass
600
- with tempfile.NamedTemporaryFile() as temp:
601
- shutil.copy2(plist_path, temp.name)
602
- subprocess.check_call(["plutil", "-convert", "xml1", temp.name])
603
- return plistlib.readPlist(temp.name)
604
-
605
- def _GetSubstitutions(self, bundle_identifier, app_identifier_prefix):
606
- """Constructs a dictionary of variable substitutions for Entitlements.plist.
607
-
608
- Args:
609
- bundle_identifier: string, value of CFBundleIdentifier from Info.plist
610
- app_identifier_prefix: string, value for AppIdentifierPrefix
611
-
612
- Returns:
613
- Dictionary of substitutions to apply when generating Entitlements.plist.
614
- """
615
- return {
616
- "CFBundleIdentifier": bundle_identifier,
617
- "AppIdentifierPrefix": app_identifier_prefix,
618
- }
619
-
620
- def _GetCFBundleIdentifier(self):
621
- """Extracts CFBundleIdentifier value from Info.plist in the bundle.
622
-
623
- Returns:
624
- Value of CFBundleIdentifier in the Info.plist located in the bundle.
625
- """
626
- info_plist_path = os.path.join(
627
- os.environ["TARGET_BUILD_DIR"], os.environ["INFOPLIST_PATH"]
628
- )
629
- info_plist_data = self._LoadPlistMaybeBinary(info_plist_path)
630
- return info_plist_data["CFBundleIdentifier"]
631
-
632
- def _InstallEntitlements(self, entitlements, substitutions, overrides):
633
- """Generates and install the ${BundleName}.xcent entitlements file.
634
-
635
- Expands variables "$(variable)" pattern in the source entitlements file,
636
- add extra entitlements defined in the .mobileprovision file and the copy
637
- the generated plist to "${BundlePath}.xcent".
638
-
639
- Args:
640
- entitlements: string, optional, path to the Entitlements.plist template
641
- to use, defaults to "${SDKROOT}/Entitlements.plist"
642
- substitutions: dictionary, variable substitutions
643
- overrides: dictionary, values to add to the entitlements
644
-
645
- Returns:
646
- Path to the generated entitlements file.
647
- """
648
- source_path = entitlements
649
- target_path = os.path.join(
650
- os.environ["BUILT_PRODUCTS_DIR"], os.environ["PRODUCT_NAME"] + ".xcent"
651
- )
652
- if not source_path:
653
- source_path = os.path.join(os.environ["SDKROOT"], "Entitlements.plist")
654
- shutil.copy2(source_path, target_path)
655
- data = self._LoadPlistMaybeBinary(target_path)
656
- data = self._ExpandVariables(data, substitutions)
657
- if overrides:
658
- for key in overrides:
659
- if key not in data:
660
- data[key] = overrides[key]
661
- plistlib.writePlist(data, target_path)
662
- return target_path
663
-
664
- def _ExpandVariables(self, data, substitutions):
665
- """Expands variables "$(variable)" in data.
666
-
667
- Args:
668
- data: object, can be either string, list or dictionary
669
- substitutions: dictionary, variable substitutions to perform
670
-
671
- Returns:
672
- Copy of data where each references to "$(variable)" has been replaced
673
- by the corresponding value found in substitutions, or left intact if
674
- the key was not found.
675
- """
676
- if isinstance(data, str):
677
- for key, value in substitutions.items():
678
- data = data.replace("$(%s)" % key, value)
679
- return data
680
- if isinstance(data, list):
681
- return [self._ExpandVariables(v, substitutions) for v in data]
682
- if isinstance(data, dict):
683
- return {k: self._ExpandVariables(data[k], substitutions) for k in data}
684
- return data
685
-
686
-
687
- def NextGreaterPowerOf2(x):
688
- return 2 ** (x).bit_length()
689
-
690
-
691
- def WriteHmap(output_name, filelist):
692
- """Generates a header map based on |filelist|.
693
-
694
- Per Mark Mentovai:
695
- A header map is structured essentially as a hash table, keyed by names used
696
- in #includes, and providing pathnames to the actual files.
697
-
698
- The implementation below and the comment above comes from inspecting:
699
- http://www.opensource.apple.com/source/distcc/distcc-2503/distcc_dist/include_server/headermap.py?txt
700
- while also looking at the implementation in clang in:
701
- https://llvm.org/svn/llvm-project/cfe/trunk/lib/Lex/HeaderMap.cpp
702
- """
703
- magic = 1751998832
704
- version = 1
705
- _reserved = 0
706
- count = len(filelist)
707
- capacity = NextGreaterPowerOf2(count)
708
- strings_offset = 24 + (12 * capacity)
709
- max_value_length = max(len(value) for value in filelist.values())
710
-
711
- out = open(output_name, "wb")
712
- out.write(
713
- struct.pack(
714
- "<LHHLLLL",
715
- magic,
716
- version,
717
- _reserved,
718
- strings_offset,
719
- count,
720
- capacity,
721
- max_value_length,
722
- )
723
- )
724
-
725
- # Create empty hashmap buckets.
726
- buckets = [None] * capacity
727
- for file, path in filelist.items():
728
- key = 0
729
- for c in file:
730
- key += ord(c.lower()) * 13
731
-
732
- # Fill next empty bucket.
733
- while buckets[key & capacity - 1] is not None:
734
- key = key + 1
735
- buckets[key & capacity - 1] = (file, path)
736
-
737
- next_offset = 1
738
- for bucket in buckets:
739
- if bucket is None:
740
- out.write(struct.pack("<LLL", 0, 0, 0))
741
- else:
742
- (file, path) = bucket
743
- key_offset = next_offset
744
- prefix_offset = key_offset + len(file) + 1
745
- suffix_offset = prefix_offset + len(os.path.dirname(path) + os.sep) + 1
746
- next_offset = suffix_offset + len(os.path.basename(path)) + 1
747
- out.write(struct.pack("<LLL", key_offset, prefix_offset, suffix_offset))
748
-
749
- # Pad byte since next offset starts at 1.
750
- out.write(struct.pack("<x"))
751
-
752
- for bucket in buckets:
753
- if bucket is not None:
754
- (file, path) = bucket
755
- out.write(struct.pack("<%ds" % len(file), file))
756
- out.write(struct.pack("<s", "\0"))
757
- base = os.path.dirname(path) + os.sep
758
- out.write(struct.pack("<%ds" % len(base), base))
759
- out.write(struct.pack("<s", "\0"))
760
- path = os.path.basename(path)
761
- out.write(struct.pack("<%ds" % len(path), path))
762
- out.write(struct.pack("<s", "\0"))
763
-
764
-
765
- if __name__ == "__main__":
766
- sys.exit(main(sys.argv[1:]))