@remotion/lambda 3.0.0-lambda.236 → 3.0.0-lambda.237

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 (318) hide show
  1. package/dist/api/delete-function.d.ts +7 -6
  2. package/dist/api/delete-function.d.ts.map +1 -1
  3. package/dist/api/delete-function.js +2 -2
  4. package/dist/api/delete-function.js.map +1 -1
  5. package/dist/api/delete-site.d.ts +5 -5
  6. package/dist/api/delete-site.d.ts.map +1 -1
  7. package/dist/api/delete-site.js +2 -2
  8. package/dist/api/delete-site.js.map +1 -1
  9. package/dist/api/deploy-function.d.ts +13 -11
  10. package/dist/api/deploy-function.d.ts.map +1 -1
  11. package/dist/api/deploy-function.js +2 -2
  12. package/dist/api/deploy-function.js.map +1 -1
  13. package/dist/api/deploy-site.d.ts +3 -3
  14. package/dist/api/deploy-site.d.ts.map +1 -1
  15. package/dist/api/deploy-site.js +4 -2
  16. package/dist/api/deploy-site.js.map +1 -1
  17. package/dist/api/download-media.d.ts +19 -0
  18. package/dist/api/download-media.d.ts.map +1 -0
  19. package/dist/api/download-media.js +55 -0
  20. package/dist/api/download-media.js.map +1 -0
  21. package/dist/api/download-video.d.ts +7 -3
  22. package/dist/api/download-video.d.ts.map +1 -1
  23. package/dist/api/download-video.js +7 -3
  24. package/dist/api/download-video.js.map +1 -1
  25. package/dist/api/enable-s3-website.d.ts.map +1 -1
  26. package/dist/api/enable-s3-website.js +0 -1
  27. package/dist/api/enable-s3-website.js.map +1 -1
  28. package/dist/api/estimate-price.d.ts +14 -0
  29. package/dist/api/estimate-price.d.ts.map +1 -0
  30. package/dist/api/estimate-price.js +34 -0
  31. package/dist/api/estimate-price.js.map +1 -0
  32. package/dist/api/get-buckets.d.ts.map +1 -1
  33. package/dist/api/get-buckets.js +1 -7
  34. package/dist/api/get-buckets.js.map +1 -1
  35. package/dist/api/get-function-info.d.ts +3 -4
  36. package/dist/api/get-function-info.d.ts.map +1 -1
  37. package/dist/api/get-function-info.js +1 -1
  38. package/dist/api/get-function-info.js.map +1 -1
  39. package/dist/api/get-functions.d.ts +7 -6
  40. package/dist/api/get-functions.d.ts.map +1 -1
  41. package/dist/api/get-functions.js +2 -2
  42. package/dist/api/get-functions.js.map +1 -1
  43. package/dist/api/get-or-create-bucket.d.ts +5 -6
  44. package/dist/api/get-or-create-bucket.d.ts.map +1 -1
  45. package/dist/api/get-or-create-bucket.js +2 -2
  46. package/dist/api/get-or-create-bucket.js.map +1 -1
  47. package/dist/api/get-regions.d.ts +8 -0
  48. package/dist/api/get-regions.d.ts.map +1 -0
  49. package/dist/api/get-regions.js +14 -0
  50. package/dist/api/get-regions.js.map +1 -0
  51. package/dist/api/get-render-progress.d.ts +12 -10
  52. package/dist/api/get-render-progress.d.ts.map +1 -1
  53. package/dist/api/get-render-progress.js +4 -4
  54. package/dist/api/get-render-progress.js.map +1 -1
  55. package/dist/api/get-sites.d.ts +12 -4
  56. package/dist/api/get-sites.d.ts.map +1 -1
  57. package/dist/api/get-sites.js +8 -3
  58. package/dist/api/get-sites.js.map +1 -1
  59. package/dist/api/iam-validation/simulate.d.ts +13 -4
  60. package/dist/api/iam-validation/simulate.d.ts.map +1 -1
  61. package/dist/api/iam-validation/simulate.js +7 -0
  62. package/dist/api/iam-validation/simulate.js.map +1 -1
  63. package/dist/api/iam-validation/suggested-policy.d.ts +2 -2
  64. package/dist/api/iam-validation/suggested-policy.js +2 -2
  65. package/dist/api/render-media-on-lambda.d.ts +52 -0
  66. package/dist/api/render-media-on-lambda.d.ts.map +1 -0
  67. package/dist/api/render-media-on-lambda.js +64 -0
  68. package/dist/api/render-media-on-lambda.js.map +1 -0
  69. package/dist/api/render-still-on-lambda.d.ts +25 -22
  70. package/dist/api/render-still-on-lambda.d.ts.map +1 -1
  71. package/dist/api/render-still-on-lambda.js +3 -3
  72. package/dist/api/render-still-on-lambda.js.map +1 -1
  73. package/dist/api/render-video-on-lambda.d.ts +27 -1
  74. package/dist/api/render-video-on-lambda.d.ts.map +1 -1
  75. package/dist/api/render-video-on-lambda.js +9 -5
  76. package/dist/api/render-video-on-lambda.js.map +1 -1
  77. package/dist/cli/commands/functions/index.d.ts.map +1 -1
  78. package/dist/cli/commands/functions/index.js +7 -0
  79. package/dist/cli/commands/functions/index.js.map +1 -1
  80. package/dist/cli/commands/functions/rmall.d.ts +3 -0
  81. package/dist/cli/commands/functions/rmall.d.ts.map +1 -0
  82. package/dist/cli/commands/functions/rmall.js +41 -0
  83. package/dist/cli/commands/functions/rmall.js.map +1 -0
  84. package/dist/cli/commands/regions.d.ts +3 -0
  85. package/dist/cli/commands/regions.d.ts.map +1 -0
  86. package/dist/cli/commands/regions.js +11 -0
  87. package/dist/cli/commands/regions.js.map +1 -0
  88. package/dist/cli/commands/render/render.d.ts.map +1 -1
  89. package/dist/cli/commands/render/render.js +6 -8
  90. package/dist/cli/commands/render/render.js.map +1 -1
  91. package/dist/cli/commands/sites/create.d.ts.map +1 -1
  92. package/dist/cli/commands/sites/create.js +9 -4
  93. package/dist/cli/commands/sites/create.js.map +1 -1
  94. package/dist/cli/commands/sites/index.d.ts.map +1 -1
  95. package/dist/cli/commands/sites/index.js +4 -0
  96. package/dist/cli/commands/sites/index.js.map +1 -1
  97. package/dist/cli/commands/sites/ls.d.ts.map +1 -1
  98. package/dist/cli/commands/sites/ls.js +5 -1
  99. package/dist/cli/commands/sites/ls.js.map +1 -1
  100. package/dist/cli/commands/sites/rm.d.ts.map +1 -1
  101. package/dist/cli/commands/sites/rm.js +11 -3
  102. package/dist/cli/commands/sites/rm.js.map +1 -1
  103. package/dist/cli/commands/sites/rmall.d.ts +3 -0
  104. package/dist/cli/commands/sites/rmall.d.ts.map +1 -0
  105. package/dist/cli/commands/sites/rmall.js +49 -0
  106. package/dist/cli/commands/sites/rmall.js.map +1 -0
  107. package/dist/cli/commands/still.d.ts.map +1 -1
  108. package/dist/cli/commands/still.js +31 -9
  109. package/dist/cli/commands/still.js.map +1 -1
  110. package/dist/cli/help.d.ts.map +1 -1
  111. package/dist/cli/help.js +9 -1
  112. package/dist/cli/help.js.map +1 -1
  113. package/dist/cli/index.d.ts.map +1 -1
  114. package/dist/cli/index.js +13 -3
  115. package/dist/cli/index.js.map +1 -1
  116. package/dist/cli/is-cli.d.ts +3 -0
  117. package/dist/cli/is-cli.d.ts.map +1 -0
  118. package/dist/cli/is-cli.js +11 -0
  119. package/dist/cli/is-cli.js.map +1 -0
  120. package/dist/client.d.ts +4 -4
  121. package/dist/client.d.ts.map +1 -1
  122. package/dist/client.js +8 -7
  123. package/dist/client.js.map +1 -1
  124. package/dist/functions/helpers/calculate-price-from-bucket.js +2 -2
  125. package/dist/functions/helpers/calculate-price-from-bucket.js.map +1 -1
  126. package/dist/functions/helpers/create-post-render-data.d.ts +1 -1
  127. package/dist/functions/helpers/create-post-render-data.d.ts.map +1 -1
  128. package/dist/functions/helpers/create-post-render-data.js +2 -2
  129. package/dist/functions/helpers/create-post-render-data.js.map +1 -1
  130. package/dist/functions/helpers/delete-chunks.d.ts +1 -1
  131. package/dist/functions/helpers/delete-chunks.d.ts.map +1 -1
  132. package/dist/functions/helpers/delete-chunks.js.map +1 -1
  133. package/dist/functions/helpers/get-post-render-data.d.ts +1 -1
  134. package/dist/functions/helpers/get-post-render-data.d.ts.map +1 -1
  135. package/dist/functions/helpers/get-progress.d.ts +1 -1
  136. package/dist/functions/helpers/get-progress.d.ts.map +1 -1
  137. package/dist/functions/helpers/write-post-render-data.d.ts +1 -1
  138. package/dist/functions/helpers/write-post-render-data.d.ts.map +1 -1
  139. package/dist/functions/launch.d.ts.map +1 -1
  140. package/dist/functions/launch.js +11 -7
  141. package/dist/functions/launch.js.map +1 -1
  142. package/dist/functions/renderer.d.ts.map +1 -1
  143. package/dist/functions/renderer.js +1 -0
  144. package/dist/functions/renderer.js.map +1 -1
  145. package/dist/functions/still.js +2 -2
  146. package/dist/functions/still.js.map +1 -1
  147. package/dist/index.d.ts +18 -17
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +11 -7
  150. package/dist/index.js.map +1 -1
  151. package/dist/pricing/calculate-price.d.ts +1 -1
  152. package/dist/pricing/calculate-price.js +1 -1
  153. package/dist/pricing/estimate-price.d.ts +15 -0
  154. package/dist/pricing/estimate-price.d.ts.map +1 -0
  155. package/dist/pricing/estimate-price.js +34 -0
  156. package/dist/pricing/estimate-price.js.map +1 -0
  157. package/dist/shared/check-credentials.d.ts.map +1 -1
  158. package/dist/shared/check-credentials.js +16 -4
  159. package/dist/shared/check-credentials.js.map +1 -1
  160. package/dist/shared/constants.d.ts +3 -1
  161. package/dist/shared/constants.d.ts.map +1 -1
  162. package/dist/shared/constants.js +3 -2
  163. package/dist/shared/constants.js.map +1 -1
  164. package/dist/shared/docs-url.d.ts +1 -1
  165. package/dist/shared/docs-url.d.ts.map +1 -1
  166. package/dist/shared/docs-url.js +1 -1
  167. package/dist/shared/docs-url.js.map +1 -1
  168. package/dist/shared/validate-frames-per-lambda.d.ts +2 -0
  169. package/dist/shared/validate-frames-per-lambda.d.ts.map +1 -0
  170. package/dist/shared/validate-frames-per-lambda.js +22 -0
  171. package/dist/shared/validate-frames-per-lambda.js.map +1 -0
  172. package/dist/shared/validate-site-name.d.ts +2 -0
  173. package/dist/shared/validate-site-name.d.ts.map +1 -0
  174. package/dist/shared/validate-site-name.js +12 -0
  175. package/dist/shared/validate-site-name.js.map +1 -0
  176. package/package.json +6 -6
  177. package/remotionlambda.zip +0 -0
  178. package/dist/admin/replicate-binaries.d.ts +0 -2
  179. package/dist/admin/replicate-binaries.d.ts.map +0 -1
  180. package/dist/admin/replicate-binaries.js +0 -50
  181. package/dist/admin/replicate-binaries.js.map +0 -1
  182. package/dist/api/bundle-lambda.d.ts +0 -2
  183. package/dist/api/bundle-lambda.d.ts.map +0 -1
  184. package/dist/api/bundle-lambda.js +0 -34
  185. package/dist/api/bundle-lambda.js.map +0 -1
  186. package/dist/api/bundle-remotion.d.ts +0 -6
  187. package/dist/api/bundle-remotion.d.ts.map +0 -1
  188. package/dist/api/bundle-remotion.js +0 -12
  189. package/dist/api/bundle-remotion.js.map +0 -1
  190. package/dist/api/deploy-lambda.d.ts +0 -7
  191. package/dist/api/deploy-lambda.d.ts.map +0 -1
  192. package/dist/api/deploy-lambda.js +0 -48
  193. package/dist/api/deploy-lambda.js.map +0 -1
  194. package/dist/api/deploy-project.d.ts +0 -28
  195. package/dist/api/deploy-project.d.ts.map +0 -1
  196. package/dist/api/deploy-project.js +0 -58
  197. package/dist/api/deploy-project.js.map +0 -1
  198. package/dist/api/ensure-lambda-binaries.d.ts +0 -11
  199. package/dist/api/ensure-lambda-binaries.d.ts.map +0 -1
  200. package/dist/api/ensure-lambda-binaries.js +0 -60
  201. package/dist/api/ensure-lambda-binaries.js.map +0 -1
  202. package/dist/api/get-deployed-lambdas.d.ts +0 -10
  203. package/dist/api/get-deployed-lambdas.d.ts.map +0 -1
  204. package/dist/api/get-deployed-lambdas.js +0 -31
  205. package/dist/api/get-deployed-lambdas.js.map +0 -1
  206. package/dist/api/get-function-version.d.ts +0 -7
  207. package/dist/api/get-function-version.d.ts.map +0 -1
  208. package/dist/api/get-function-version.js +0 -27
  209. package/dist/api/get-function-version.js.map +0 -1
  210. package/dist/api/iam-validation/required-permissions.d.ts +0 -6
  211. package/dist/api/iam-validation/required-permissions.d.ts.map +0 -1
  212. package/dist/api/iam-validation/required-permissions.js +0 -68
  213. package/dist/api/iam-validation/required-permissions.js.map +0 -1
  214. package/dist/api/validate-frames-per-lambda.d.ts +0 -2
  215. package/dist/api/validate-frames-per-lambda.d.ts.map +0 -1
  216. package/dist/api/validate-frames-per-lambda.js +0 -26
  217. package/dist/api/validate-frames-per-lambda.js.map +0 -1
  218. package/dist/benchmark.d.ts +0 -2
  219. package/dist/benchmark.d.ts.map +0 -1
  220. package/dist/benchmark.js +0 -30
  221. package/dist/benchmark.js.map +0 -1
  222. package/dist/build-render/index.js +0 -126181
  223. package/dist/chunked-upload.d.ts +0 -2
  224. package/dist/chunked-upload.d.ts.map +0 -1
  225. package/dist/chunked-upload.js +0 -34
  226. package/dist/chunked-upload.js.map +0 -1
  227. package/dist/cleanup/cleanup-lambdas.d.ts +0 -7
  228. package/dist/cleanup/cleanup-lambdas.d.ts.map +0 -1
  229. package/dist/cleanup/cleanup-lambdas.js +0 -22
  230. package/dist/cleanup/cleanup-lambdas.js.map +0 -1
  231. package/dist/cleanup/s3-buckets.d.ts +0 -16
  232. package/dist/cleanup/s3-buckets.d.ts.map +0 -1
  233. package/dist/cleanup/s3-buckets.js +0 -59
  234. package/dist/cleanup/s3-buckets.js.map +0 -1
  235. package/dist/cli/cleanup.d.ts +0 -4
  236. package/dist/cli/cleanup.d.ts.map +0 -1
  237. package/dist/cli/cleanup.js +0 -77
  238. package/dist/cli/cleanup.js.map +0 -1
  239. package/dist/cli/commands/render.d.ts +0 -3
  240. package/dist/cli/commands/render.d.ts.map +0 -1
  241. package/dist/cli/commands/render.js +0 -75
  242. package/dist/cli/commands/render.js.map +0 -1
  243. package/dist/cli/commands/sites/upload.d.ts +0 -3
  244. package/dist/cli/commands/sites/upload.d.ts.map +0 -1
  245. package/dist/cli/commands/sites/upload.js +0 -111
  246. package/dist/cli/commands/sites/upload.js.map +0 -1
  247. package/dist/cli/deploy.d.ts +0 -3
  248. package/dist/cli/deploy.d.ts.map +0 -1
  249. package/dist/cli/deploy.js +0 -13
  250. package/dist/cli/deploy.js.map +0 -1
  251. package/dist/cli/policies.d.ts +0 -3
  252. package/dist/cli/policies.d.ts.map +0 -1
  253. package/dist/cli/policies.js +0 -59
  254. package/dist/cli/policies.js.map +0 -1
  255. package/dist/cli/render.d.ts +0 -3
  256. package/dist/cli/render.d.ts.map +0 -1
  257. package/dist/cli/render.js +0 -96
  258. package/dist/cli/render.js.map +0 -1
  259. package/dist/cli/upload.d.ts +0 -3
  260. package/dist/cli/upload.d.ts.map +0 -1
  261. package/dist/cli/upload.js +0 -112
  262. package/dist/cli/upload.js.map +0 -1
  263. package/dist/functions/chunk-optimization/write-profile.d.ts +0 -8
  264. package/dist/functions/chunk-optimization/write-profile.d.ts.map +0 -1
  265. package/dist/functions/chunk-optimization/write-profile.js +0 -18
  266. package/dist/functions/chunk-optimization/write-profile.js.map +0 -1
  267. package/dist/functions/get-progress.d.ts +0 -27
  268. package/dist/functions/get-progress.d.ts.map +0 -1
  269. package/dist/functions/get-progress.js +0 -161
  270. package/dist/functions/get-progress.js.map +0 -1
  271. package/dist/functions/helpers/is-fatal-error.d.ts +0 -3
  272. package/dist/functions/helpers/is-fatal-error.d.ts.map +0 -1
  273. package/dist/functions/helpers/is-fatal-error.js +0 -8
  274. package/dist/functions/helpers/is-fatal-error.js.map +0 -1
  275. package/dist/functions/helpers/upload-browser-logs.d.ts +0 -11
  276. package/dist/functions/helpers/upload-browser-logs.d.ts.map +0 -1
  277. package/dist/functions/helpers/upload-browser-logs.js +0 -18
  278. package/dist/functions/helpers/upload-browser-logs.js.map +0 -1
  279. package/dist/rendering/chunked-concatenation.d.ts +0 -3
  280. package/dist/rendering/chunked-concatenation.d.ts.map +0 -1
  281. package/dist/rendering/chunked-concatenation.js +0 -38
  282. package/dist/rendering/chunked-concatenation.js.map +0 -1
  283. package/dist/rendering/create-named-pipe.d.ts +0 -8
  284. package/dist/rendering/create-named-pipe.d.ts.map +0 -1
  285. package/dist/rendering/create-named-pipe.js +0 -41
  286. package/dist/rendering/create-named-pipe.js.map +0 -1
  287. package/dist/rendering/mount-tmp-fs.d.ts +0 -2
  288. package/dist/rendering/mount-tmp-fs.d.ts.map +0 -1
  289. package/dist/rendering/mount-tmp-fs.js +0 -19
  290. package/dist/rendering/mount-tmp-fs.js.map +0 -1
  291. package/dist/run.d.ts +0 -2
  292. package/dist/run.d.ts.map +0 -1
  293. package/dist/run.js +0 -104
  294. package/dist/run.js.map +0 -1
  295. package/dist/scripts2.d.ts +0 -1
  296. package/dist/scripts2.d.ts.map +0 -1
  297. package/dist/scripts2.js +0 -2
  298. package/dist/scripts2.js.map +0 -1
  299. package/dist/shared/download-with-progress.d.ts +0 -1
  300. package/dist/shared/download-with-progress.d.ts.map +0 -1
  301. package/dist/shared/download-with-progress.js +0 -2
  302. package/dist/shared/download-with-progress.js.map +0 -1
  303. package/dist/shared/get-file-extension-from-codec.d.ts +0 -3
  304. package/dist/shared/get-file-extension-from-codec.d.ts.map +0 -1
  305. package/dist/shared/get-file-extension-from-codec.js +0 -33
  306. package/dist/shared/get-file-extension-from-codec.js.map +0 -1
  307. package/dist/shared/is-in-lambda.d.ts +0 -2
  308. package/dist/shared/is-in-lambda.d.ts.map +0 -1
  309. package/dist/shared/is-in-lambda.js +0 -5
  310. package/dist/shared/is-in-lambda.js.map +0 -1
  311. package/dist/shared/parse-chunk-timing-key.d.ts +0 -7
  312. package/dist/shared/parse-chunk-timing-key.d.ts.map +0 -1
  313. package/dist/shared/parse-chunk-timing-key.js +0 -17
  314. package/dist/shared/parse-chunk-timing-key.js.map +0 -1
  315. package/dist/shared/tmpdir.d.ts +0 -3
  316. package/dist/shared/tmpdir.d.ts.map +0 -1
  317. package/dist/shared/tmpdir.js +0 -23
  318. package/dist/shared/tmpdir.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle-lambda.d.ts","sourceRoot":"","sources":["../../src/api/bundle-lambda.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY,uBAwBxB,CAAC"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.bundleLambda = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const tmpdir_1 = require("../shared/tmpdir");
10
- const esbuild = require("esbuild");
11
- const zl = require("zip-lib");
12
- const bundleLambda = async () => {
13
- var _a;
14
- const outdir = path_1.default.join(__dirname, '..', `build-render`);
15
- fs_1.default.mkdirSync(outdir, {
16
- recursive: true,
17
- });
18
- const outfile = path_1.default.join(outdir, 'index.js');
19
- ((_a = fs_1.default.rmSync) !== null && _a !== void 0 ? _a : fs_1.default.rmdirSync)(outdir, { recursive: true });
20
- fs_1.default.mkdirSync(outdir, { recursive: true });
21
- const template = require.resolve(path_1.default.join(__dirname, '..', 'functions', 'index'));
22
- await esbuild.build({
23
- platform: 'node',
24
- target: 'node14',
25
- bundle: true,
26
- outfile,
27
- entryPoints: [template],
28
- });
29
- const out = path_1.default.join(tmpdir_1.tmpDir('remotion-fn'), `function-render.zip`);
30
- await zl.archiveFolder(outdir, out);
31
- return out;
32
- };
33
- exports.bundleLambda = bundleLambda;
34
- //# sourceMappingURL=bundle-lambda.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle-lambda.js","sourceRoot":"","sources":["../../src/api/bundle-lambda.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,6CAAwC;AACxC,mCAAoC;AACpC,8BAA+B;AAExB,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;;IACtC,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC1D,YAAE,CAAC,SAAS,CAAC,MAAM,EAAE;QACpB,SAAS,EAAE,IAAI;KACf,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE9C,CAAC,MAAA,YAAE,CAAC,MAAM,mCAAI,YAAE,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IACvD,YAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAC/B,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAChD,CAAC;IAEF,MAAM,OAAO,CAAC,KAAK,CAAC;QACnB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;QACZ,OAAO;QACP,WAAW,EAAE,CAAC,QAAQ,CAAC;KACvB,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,cAAI,CAAC,IAAI,CAAC,eAAM,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACpE,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAxBW,QAAA,YAAY,gBAwBvB"}
@@ -1,6 +0,0 @@
1
- export declare const bundleRemotion: ({ entryFile, onProgress, publicPath, }: {
2
- entryFile: string;
3
- onProgress: (progress: number) => void;
4
- publicPath: string;
5
- }) => Promise<string>;
6
- //# sourceMappingURL=bundle-remotion.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle-remotion.d.ts","sourceRoot":"","sources":["../../src/api/bundle-remotion.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc;eAKf,MAAM;2BACM,MAAM,KAAK,IAAI;gBAC1B,MAAM;qBAKlB,CAAC"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bundleRemotion = void 0;
4
- const bundler_1 = require("@remotion/bundler");
5
- // TODO: Necessary? No
6
- const bundleRemotion = ({ entryFile, onProgress, publicPath, }) => {
7
- return bundler_1.bundle(entryFile, onProgress, {
8
- publicPath,
9
- });
10
- };
11
- exports.bundleRemotion = bundleRemotion;
12
- //# sourceMappingURL=bundle-remotion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle-remotion.js","sourceRoot":"","sources":["../../src/api/bundle-remotion.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAEzC,sBAAsB;AACf,MAAM,cAAc,GAAG,CAAC,EAC9B,SAAS,EACT,UAAU,EACV,UAAU,GAKV,EAAE,EAAE;IACJ,OAAO,gBAAM,CAAC,SAAS,EAAE,UAAU,EAAE;QACpC,UAAU;KACV,CAAC,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,cAAc,kBAYzB"}
@@ -1,7 +0,0 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- export declare const deployLambda: (options: {
3
- region: AwsRegion;
4
- }) => Promise<{
5
- functionName: string;
6
- }>;
7
- //# sourceMappingURL=deploy-lambda.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy-lambda.d.ts","sourceRoot":"","sources":["../../src/api/deploy-lambda.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAOjD,eAAO,MAAM,YAAY,YAAmB;IAAC,MAAM,EAAE,SAAS,CAAA;CAAC;;EA0C9D,CAAC"}
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deployLambda = void 0;
4
- const client_iam_1 = require("@aws-sdk/client-iam");
5
- const client_lambda_1 = require("@aws-sdk/client-lambda");
6
- const fs_1 = require("fs");
7
- const aws_clients_1 = require("../shared/aws-clients");
8
- const constants_1 = require("../shared/constants");
9
- const random_hash_1 = require("../shared/random-hash");
10
- const bundle_lambda_1 = require("./bundle-lambda");
11
- const ensure_lambda_binaries_1 = require("./ensure-lambda-binaries");
12
- const deployLambda = async (options) => {
13
- var _a, _b;
14
- const { layerArn } = await ensure_lambda_binaries_1.ensureLambdaBinaries(options.region);
15
- console.log('Done creating layers');
16
- const fnNameRender = constants_1.RENDER_FN_PREFIX + random_hash_1.randomHash();
17
- const renderOut = await bundle_lambda_1.bundleLambda('render');
18
- console.log('done Bundling');
19
- const user = await aws_clients_1.getIamClient(options.region).send(new client_iam_1.GetUserCommand({}));
20
- const accountId = (_b = (_a = user.User) === null || _a === void 0 ? void 0 : _a.Arn) === null || _b === void 0 ? void 0 : _b.match(/aws:iam::([0-9]+)/);
21
- if (!accountId) {
22
- throw new Error('Cannot get account ID');
23
- }
24
- const created = await aws_clients_1.getLambdaClient(options.region).send(new client_lambda_1.CreateFunctionCommand({
25
- Code: {
26
- ZipFile: fs_1.readFileSync(renderOut),
27
- },
28
- FunctionName: fnNameRender,
29
- Handler: 'index.handler',
30
- // TODO: Give helpful suggestion if user did not create role
31
- Role: `arn:aws:iam::${accountId[1]}:role/remotion-lambda-role`,
32
- Runtime: 'nodejs14.x',
33
- Description: 'Renders a Remotion video.',
34
- MemorySize: constants_1.MEMORY_SIZE,
35
- // TODO: Set timeout
36
- Timeout: 120,
37
- Layers: [layerArn],
38
- }));
39
- console.log('lambdas created');
40
- if (!created.FunctionName) {
41
- throw new Error('Lambda was created but has no name');
42
- }
43
- return {
44
- functionName: created.FunctionName,
45
- };
46
- };
47
- exports.deployLambda = deployLambda;
48
- //# sourceMappingURL=deploy-lambda.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy-lambda.js","sourceRoot":"","sources":["../../src/api/deploy-lambda.ts"],"names":[],"mappings":";;;AAAA,oDAAmD;AACnD,0DAA6D;AAC7D,2BAAgC;AAEhC,uDAAoE;AACpE,mDAAkE;AAClE,uDAAiD;AACjD,mDAA6C;AAC7C,qEAA8D;AAEvD,MAAM,YAAY,GAAG,KAAK,EAAE,OAA4B,EAAE,EAAE;;IAClE,MAAM,EAAC,QAAQ,EAAC,GAAG,MAAM,6CAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,4BAAgB,GAAG,wBAAU,EAAE,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,4BAAY,CAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE7B,MAAM,IAAI,GAAG,MAAM,0BAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,2BAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7E,MAAM,SAAS,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,0CAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAE7D,IAAI,CAAC,SAAS,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;KACzC;IAED,MAAM,OAAO,GAAG,MAAM,6BAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CACzD,IAAI,qCAAqB,CAAC;QACzB,IAAI,EAAE;YACL,OAAO,EAAE,iBAAY,CAAC,SAAS,CAAC;SAChC;QACD,YAAY,EAAE,YAAY;QAC1B,OAAO,EAAE,eAAe;QACxB,4DAA4D;QAC5D,IAAI,EAAE,gBAAgB,SAAS,CAAC,CAAC,CAAC,4BAA4B;QAC9D,OAAO,EAAE,YAAY;QACrB,WAAW,EAAE,2BAA2B;QACxC,UAAU,EAAE,uBAAW;QACvB,oBAAoB;QACpB,OAAO,EAAE,GAAG;QACZ,MAAM,EAAE,CAAC,QAAQ,CAAC;KAClB,CAAC,CACF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAE/B,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;KACtD;IAED,OAAO;QACN,YAAY,EAAE,OAAO,CAAC,YAAY;KAClC,CAAC;AACH,CAAC,CAAC;AA1CW,QAAA,YAAY,gBA0CvB"}
@@ -1,28 +0,0 @@
1
- import { WebpackOverrideFn } from 'remotion';
2
- import { AwsRegion } from '../pricing/aws-regions';
3
- import { UploadDirProgress } from './upload-dir';
4
- declare type DeployProjectInput = {
5
- entryPoint: string;
6
- bucketName: string;
7
- region: AwsRegion;
8
- options?: {
9
- onBundleProgress?: (progress: number) => void;
10
- onWebsiteActivated?: () => void;
11
- onUploadProgress?: (upload: UploadDirProgress) => void;
12
- webpackOverride?: WebpackOverrideFn;
13
- enableCaching?: boolean;
14
- };
15
- };
16
- /**
17
- * @description Deploys a Remotion project to an S3 bucket to prepare it for rendering on AWS Lambda.
18
- * @link https://remotion.dev/docs/lambda/deployproject
19
- * @param {AwsRegion} params.region The region in which the S3 bucket resides in.
20
- * @param {string} params.entryPoint An absolute path to the entry file of your Remotion project.
21
- * @param {string} params.bucketName The name of the bucket to deploy your project into.
22
- * @param {object} params.options Further options, see documentation page for this function.
23
- */
24
- export declare const deployProject: ({ bucketName, entryPoint, options, region, }: DeployProjectInput) => Promise<{
25
- url: string;
26
- }>;
27
- export {};
28
- //# sourceMappingURL=deploy-project.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy-project.d.ts","sourceRoot":"","sources":["../../src/api/deploy-project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,iBAAiB,EAAC,MAAM,UAAU,CAAC;AACtD,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAKjD,OAAO,EAAY,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAE1D,aAAK,kBAAkB,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE;QACT,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QAC9C,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;QAChC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;QACvD,eAAe,CAAC,EAAE,iBAAiB,CAAC;QACpC,aAAa,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,iDAKvB,kBAAkB;;EAgDpB,CAAC"}
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deployProject = void 0;
4
- const client_s3_1 = require("@aws-sdk/client-s3");
5
- const bundler_1 = require("@remotion/bundler");
6
- const remotion_1 = require("remotion");
7
- const aws_clients_1 = require("../shared/aws-clients");
8
- const constants_1 = require("../shared/constants");
9
- const make_s3_url_1 = require("../shared/make-s3-url");
10
- const random_hash_1 = require("../shared/random-hash");
11
- const upload_dir_1 = require("./upload-dir");
12
- /**
13
- * @description Deploys a Remotion project to an S3 bucket to prepare it for rendering on AWS Lambda.
14
- * @link https://remotion.dev/docs/lambda/deployproject
15
- * @param {AwsRegion} params.region The region in which the S3 bucket resides in.
16
- * @param {string} params.entryPoint An absolute path to the entry file of your Remotion project.
17
- * @param {string} params.bucketName The name of the bucket to deploy your project into.
18
- * @param {object} params.options Further options, see documentation page for this function.
19
- */
20
- const deployProject = async ({ bucketName, entryPoint, options, region, }) => {
21
- var _a, _b, _c, _d;
22
- if (!bucketName.startsWith(constants_1.REMOTION_BUCKET_PREFIX)) {
23
- throw new Error(`The bucketName parameter must start with ${constants_1.REMOTION_BUCKET_PREFIX}.`);
24
- }
25
- const subFolder = constants_1.getSitesKey(random_hash_1.randomHash());
26
- const bundled = await bundler_1.bundle(entryPoint, (_a = options === null || options === void 0 ? void 0 : options.onBundleProgress) !== null && _a !== void 0 ? _a : (() => undefined), {
27
- publicPath: `/${subFolder}/`,
28
- webpackOverride: (_b = options === null || options === void 0 ? void 0 : options.webpackOverride) !== null && _b !== void 0 ? _b : remotion_1.Internals.getWebpackOverrideFn(),
29
- enableCaching: (_c = options === null || options === void 0 ? void 0 : options.enableCaching) !== null && _c !== void 0 ? _c : remotion_1.Internals.getWebpackCaching(),
30
- });
31
- await Promise.all([
32
- upload_dir_1.uploadDir({
33
- bucket: bucketName,
34
- client: aws_clients_1.getS3Client(region),
35
- dir: bundled,
36
- onProgress: (_d = options === null || options === void 0 ? void 0 : options.onUploadProgress) !== null && _d !== void 0 ? _d : (() => undefined),
37
- folder: subFolder,
38
- }),
39
- aws_clients_1.getS3Client(region)
40
- .send(new client_s3_1.PutBucketWebsiteCommand({
41
- Bucket: bucketName,
42
- WebsiteConfiguration: {
43
- IndexDocument: {
44
- // TODO: but it doesn't exist
45
- // TODO: shouldn't we do this before
46
- Suffix: `index.html`,
47
- },
48
- },
49
- }))
50
- // TODO if we decide to keep it, add callback to docs
51
- .then(() => { var _a; return (_a = options === null || options === void 0 ? void 0 : options.onWebsiteActivated) === null || _a === void 0 ? void 0 : _a.call(options); }),
52
- ]);
53
- return {
54
- url: make_s3_url_1.makeS3Url({ bucketName, subFolder, region }),
55
- };
56
- };
57
- exports.deployProject = deployProject;
58
- //# sourceMappingURL=deploy-project.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy-project.js","sourceRoot":"","sources":["../../src/api/deploy-project.ts"],"names":[],"mappings":";;;AAAA,kDAA2D;AAC3D,+CAAyC;AACzC,uCAAsD;AAEtD,uDAAkD;AAClD,mDAAwE;AACxE,uDAAgD;AAChD,uDAAiD;AACjD,6CAA0D;AAe1D;;;;;;;GAOG;AACI,MAAM,aAAa,GAAG,KAAK,EAAE,EACnC,UAAU,EACV,UAAU,EACV,OAAO,EACP,MAAM,GACc,EAAE,EAAE;;IACxB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,kCAAsB,CAAC,EAAE;QACnD,MAAM,IAAI,KAAK,CACd,4CAA4C,kCAAsB,GAAG,CACrE,CAAC;KACF;IAED,MAAM,SAAS,GAAG,uBAAW,CAAC,wBAAU,EAAE,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,gBAAM,CAC3B,UAAU,EACV,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,mCAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAC9C;QACC,UAAU,EAAE,IAAI,SAAS,GAAG;QAC5B,eAAe,EACd,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,mCAAI,oBAAS,CAAC,oBAAoB,EAAE;QAC7D,aAAa,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,mCAAI,oBAAS,CAAC,iBAAiB,EAAE;KACtE,CACD,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CAAC;QACjB,sBAAS,CAAC;YACT,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,yBAAW,CAAC,MAAM,CAAC;YAC3B,GAAG,EAAE,OAAO;YACZ,UAAU,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,mCAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YAC1D,MAAM,EAAE,SAAS;SACjB,CAAC;QACF,yBAAW,CAAC,MAAM,CAAC;aACjB,IAAI,CACJ,IAAI,mCAAuB,CAAC;YAC3B,MAAM,EAAE,UAAU;YAElB,oBAAoB,EAAE;gBACrB,aAAa,EAAE;oBACd,6BAA6B;oBAC7B,oCAAoC;oBACpC,MAAM,EAAE,YAAY;iBACpB;aACD;SACD,CAAC,CACF;YACD,qDAAqD;aACpD,IAAI,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,+CAA3B,OAAO,CAAwB,CAAA,EAAA,CAAC;KAC7C,CAAC,CAAC;IAEH,OAAO;QACN,GAAG,EAAE,uBAAS,CAAC,EAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAC,CAAC;KAC/C,CAAC;AACH,CAAC,CAAC;AArDW,QAAA,aAAa,iBAqDxB"}
@@ -1,11 +0,0 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- /**
3
- * @description Ensures that a Lambda layer with the necessary binaries exists.
4
- * @link https://remotion.dev/docs/lambda/ensurelambdabinaries
5
- * @param {AwsRegion} region The region in which you want ensure the binaries are deployed.
6
- * @returns `Promise<{layerArn: string}>`
7
- */
8
- export declare const ensureLambdaBinaries: (region: AwsRegion) => Promise<{
9
- layerArn: string;
10
- }>;
11
- //# sourceMappingURL=ensure-lambda-binaries.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensure-lambda-binaries.d.ts","sourceRoot":"","sources":["../../src/api/ensure-lambda-binaries.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAwEjD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,WAAkB,SAAS;;EAK3D,CAAC"}
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ensureLambdaBinaries = void 0;
4
- const client_lambda_1 = require("@aws-sdk/client-lambda");
5
- const aws_clients_1 = require("../shared/aws-clients");
6
- const constants_1 = require("../shared/constants");
7
- const runtimes = ['nodejs14.x', 'nodejs12.x', 'nodejs10.x'];
8
- const LAYER_NAME = 'remotion-binaries';
9
- const createLayer = ({ region, name, key, sourceS3Bucket, }) => {
10
- return aws_clients_1.getLambdaClient(region).send(new client_lambda_1.PublishLayerVersionCommand({
11
- Content: {
12
- S3Bucket: sourceS3Bucket,
13
- S3Key: key,
14
- },
15
- LayerName: name,
16
- LicenseInfo: 'https://ffmpeg.org/legal.html / https://chromium.googlesource.com/chromium/src/+/refs/heads/main/LICENSE',
17
- CompatibleRuntimes: runtimes,
18
- Description: constants_1.CURRENT_VERSION,
19
- }));
20
- };
21
- const getLayers = async (lambdaClient) => {
22
- const data = await lambdaClient.send(new client_lambda_1.ListLayersCommand({
23
- CompatibleRuntime: runtimes[0],
24
- }));
25
- return (data.Layers || []);
26
- };
27
- const hasLayer = (name, layers) => {
28
- return layers.find((l) => {
29
- var _a;
30
- return l.LayerName === name &&
31
- ((_a = l.LatestMatchingVersion) === null || _a === void 0 ? void 0 : _a.Description) === constants_1.CURRENT_VERSION;
32
- });
33
- };
34
- const ensureLayer = async ({ layers, region, }) => {
35
- var _a;
36
- const existingLayer = hasLayer(LAYER_NAME, layers);
37
- if (existingLayer) {
38
- return (_a = existingLayer.LatestMatchingVersion) === null || _a === void 0 ? void 0 : _a.LayerVersionArn;
39
- }
40
- const layer = await createLayer({
41
- name: LAYER_NAME,
42
- key: 'remotion.zip',
43
- sourceS3Bucket: constants_1.getBinariesBucketName(region),
44
- region,
45
- });
46
- return layer.LayerVersionArn;
47
- };
48
- /**
49
- * @description Ensures that a Lambda layer with the necessary binaries exists.
50
- * @link https://remotion.dev/docs/lambda/ensurelambdabinaries
51
- * @param {AwsRegion} region The region in which you want ensure the binaries are deployed.
52
- * @returns `Promise<{layerArn: string}>`
53
- */
54
- const ensureLambdaBinaries = async (region) => {
55
- const layers = await getLayers(aws_clients_1.getLambdaClient(region));
56
- const layerArn = await ensureLayer({ layers, region });
57
- return { layerArn };
58
- };
59
- exports.ensureLambdaBinaries = ensureLambdaBinaries;
60
- //# sourceMappingURL=ensure-lambda-binaries.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensure-lambda-binaries.js","sourceRoot":"","sources":["../../src/api/ensure-lambda-binaries.ts"],"names":[],"mappings":";;;AAAA,0DAKgC;AAEhC,uDAAsD;AACtD,mDAA2E;AAE3E,MAAM,QAAQ,GAAa,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AAEtE,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAEvC,MAAM,WAAW,GAAG,CAAC,EACpB,MAAM,EACN,IAAI,EACJ,GAAG,EACH,cAAc,GAMd,EAAE,EAAE;IACJ,OAAO,6BAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAClC,IAAI,0CAA0B,CAAC;QAC9B,OAAO,EAAE;YACR,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,GAAG;SACV;QACD,SAAS,EAAE,IAAI;QACf,WAAW,EACV,0GAA0G;QAC3G,kBAAkB,EAAE,QAAQ;QAC5B,WAAW,EAAE,2BAAe;KAC5B,CAAC,CACF,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,EAAE,YAA0B,EAAE,EAAE;IACtD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CACnC,IAAI,iCAAiB,CAAC;QACrB,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;KAC9B,CAAC,CACF,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAqB,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,MAAwB,EAAE,EAAE;IAC3D,OAAO,MAAM,CAAC,IAAI,CACjB,CAAC,CAAC,EAAE,EAAE;;QACL,OAAA,CAAC,CAAC,SAAS,KAAK,IAAI;YACpB,CAAA,MAAA,CAAC,CAAC,qBAAqB,0CAAE,WAAW,MAAK,2BAAe,CAAA;KAAA,CACzD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EAAE,EAC1B,MAAM,EACN,MAAM,GAIN,EAAmB,EAAE;;IACrB,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,aAAa,EAAE;QAClB,OAAO,MAAA,aAAa,CAAC,qBAAqB,0CAAE,eAAyB,CAAC;KACtE;IAED,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC;QAC/B,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,cAAc;QACnB,cAAc,EAAE,iCAAqB,CAAC,MAAM,CAAC;QAC7C,MAAM;KACN,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,eAAyB,CAAC;AACxC,CAAC,CAAC;AAEF;;;;;GAKG;AACI,MAAM,oBAAoB,GAAG,KAAK,EAAE,MAAiB,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,6BAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;IAErD,OAAO,EAAC,QAAQ,EAAC,CAAC;AACnB,CAAC,CAAC;AALW,QAAA,oBAAoB,wBAK/B"}
@@ -1,10 +0,0 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- export declare const getDeployedLambdas: (options: {
3
- region: AwsRegion;
4
- }) => Promise<{
5
- name: string;
6
- version: import("../shared/constants").LambdaVersions;
7
- memory: number;
8
- timeout: number;
9
- }[]>;
10
- //# sourceMappingURL=get-deployed-lambdas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-deployed-lambdas.d.ts","sourceRoot":"","sources":["../../src/api/get-deployed-lambdas.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAMjD,eAAO,MAAM,kBAAkB,YAAmB;IAAC,MAAM,EAAE,SAAS,CAAA;CAAC;;;;;IA0BpE,CAAC"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDeployedLambdas = void 0;
4
- const client_lambda_1 = require("@aws-sdk/client-lambda");
5
- const aws_clients_1 = require("../shared/aws-clients");
6
- const constants_1 = require("../shared/constants");
7
- const get_function_version_1 = require("./get-function-version");
8
- // TODO: Rename to getDeployedFunctions
9
- const getDeployedLambdas = async (options) => {
10
- const lambdas = await aws_clients_1.getLambdaClient(options.region).send(new client_lambda_1.ListFunctionsCommand({}));
11
- const remotionLambdas = (lambdas.Functions || []).filter((f) => {
12
- var _a;
13
- return (_a = f.FunctionName) === null || _a === void 0 ? void 0 : _a.startsWith(constants_1.RENDER_FN_PREFIX);
14
- });
15
- const configs = await Promise.all(remotionLambdas.map((fn) => {
16
- return get_function_version_1.getFunctionVersion({
17
- functionName: fn.FunctionName,
18
- region: options.region,
19
- });
20
- }));
21
- return remotionLambdas.map((lambda, i) => {
22
- return {
23
- name: lambda.FunctionName,
24
- version: configs[i],
25
- memory: lambda.MemorySize,
26
- timeout: lambda.Timeout,
27
- };
28
- });
29
- };
30
- exports.getDeployedLambdas = getDeployedLambdas;
31
- //# sourceMappingURL=get-deployed-lambdas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-deployed-lambdas.js","sourceRoot":"","sources":["../../src/api/get-deployed-lambdas.ts"],"names":[],"mappings":";;;AAAA,0DAA4D;AAE5D,uDAAsD;AACtD,mDAAqD;AACrD,iEAA0D;AAE1D,uCAAuC;AAChC,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAA4B,EAAE,EAAE;IACxE,MAAM,OAAO,GAAG,MAAM,6BAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CACzD,IAAI,oCAAoB,CAAC,EAAE,CAAC,CAC5B,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;;QAC9D,OAAO,MAAA,CAAC,CAAC,YAAY,0CAAE,UAAU,CAAC,4BAAgB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAC1B,OAAO,yCAAkB,CAAC;YACzB,YAAY,EAAE,EAAE,CAAC,YAAsB;YACvC,MAAM,EAAE,OAAO,CAAC,MAAM;SACtB,CAAC,CAAC;IACJ,CAAC,CAAC,CACF,CAAC;IAEF,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,OAAO;YACN,IAAI,EAAE,MAAM,CAAC,YAAsB;YACnC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC,UAAoB;YACnC,OAAO,EAAE,MAAM,CAAC,OAAiB;SACjC,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,kBAAkB,sBA0B7B"}
@@ -1,7 +0,0 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { LambdaVersions } from '../shared/constants';
3
- export declare const getFunctionVersion: ({ functionName, region, }: {
4
- functionName: string;
5
- region: AwsRegion;
6
- }) => Promise<LambdaVersions>;
7
- //# sourceMappingURL=get-function-version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-function-version.d.ts","sourceRoot":"","sources":["../../src/api/get-function-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAGN,cAAc,EACd,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,kBAAkB;kBAIhB,MAAM;YACZ,SAAS;MACd,QAAQ,cAAc,CAmBzB,CAAC"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFunctionVersion = void 0;
4
- const call_lambda_1 = require("../shared/call-lambda");
5
- const constants_1 = require("../shared/constants");
6
- const getFunctionVersion = async ({ functionName, region, }) => {
7
- try {
8
- const result = await call_lambda_1.callLambda({
9
- functionName,
10
- payload: {
11
- type: constants_1.LambdaRoutines.info,
12
- },
13
- region,
14
- type: constants_1.LambdaRoutines.info,
15
- });
16
- return result.version;
17
- }
18
- catch (err) {
19
- // Prerelease versions had no info command
20
- if (err.message.includes(constants_1.COMMAND_NOT_FOUND)) {
21
- return 'n/a';
22
- }
23
- throw err;
24
- }
25
- };
26
- exports.getFunctionVersion = getFunctionVersion;
27
- //# sourceMappingURL=get-function-version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-function-version.js","sourceRoot":"","sources":["../../src/api/get-function-version.ts"],"names":[],"mappings":";;;AACA,uDAAiD;AACjD,mDAI6B;AAEtB,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACxC,YAAY,EACZ,MAAM,GAIN,EAA2B,EAAE;IAC7B,IAAI;QACH,MAAM,MAAM,GAAG,MAAM,wBAAU,CAAC;YAC/B,YAAY;YACZ,OAAO,EAAE;gBACR,IAAI,EAAE,0BAAc,CAAC,IAAI;aACzB;YACD,MAAM;YACN,IAAI,EAAE,0BAAc,CAAC,IAAI;SACzB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,OAAO,CAAC;KACtB;IAAC,OAAO,GAAG,EAAE;QACb,0CAA0C;QAC1C,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,6BAAiB,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAC;SACb;QAED,MAAM,GAAG,CAAC;KACV;AACF,CAAC,CAAC;AAzBW,QAAA,kBAAkB,sBAyB7B"}
@@ -1,6 +0,0 @@
1
- import { iam, lambda, logs, s3 } from 'aws-policies';
2
- export declare const requiredPermissions: {
3
- actions: (s3 | iam | lambda | logs)[];
4
- resource: string[];
5
- }[];
6
- //# sourceMappingURL=required-permissions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"required-permissions.d.ts","sourceRoot":"","sources":["../../../src/api/iam-validation/required-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAC,MAAM,cAAc,CAAC;AAInD,eAAO,MAAM,mBAAmB,EAAE;IACjC,OAAO,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB,EA4DA,CAAC"}
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.requiredPermissions = void 0;
4
- const aws_policies_1 = require("aws-policies");
5
- const constants_1 = require("../../shared/constants");
6
- // TODO: Update docs before release
7
- exports.requiredPermissions = [
8
- {
9
- actions: [aws_policies_1.iam.GetUser],
10
- // eslint-disable-next-line no-template-curly-in-string
11
- resource: ['arn:aws:iam::*:user/${aws:username}'],
12
- },
13
- {
14
- actions: [aws_policies_1.iam.SimulatePrincipalPolicy],
15
- resource: ['*'],
16
- },
17
- {
18
- // TODO: arn:aws:iam::678892195805:role/lambda-admin, can it be locked down more?
19
- actions: [aws_policies_1.iam.PassRole],
20
- resource: ['*'],
21
- },
22
- {
23
- actions: [
24
- aws_policies_1.s3.GetObject,
25
- aws_policies_1.s3.DeleteObject,
26
- aws_policies_1.s3.DeleteBucket,
27
- aws_policies_1.s3.PutBucketWebsite,
28
- aws_policies_1.s3.DeleteBucketWebsite,
29
- aws_policies_1.s3.PutObjectAcl,
30
- aws_policies_1.s3.PutObject,
31
- aws_policies_1.s3.GetBucketLocation,
32
- ],
33
- resource: [`arn:aws:s3:::${constants_1.REMOTION_BUCKET_PREFIX}*`],
34
- },
35
- {
36
- actions: [aws_policies_1.s3.CreateBucket, aws_policies_1.s3.ListBucket, aws_policies_1.s3.PutBucketAcl],
37
- resource: [`arn:aws:s3:::*`],
38
- },
39
- {
40
- actions: [aws_policies_1.s3.ListAllMyBuckets],
41
- resource: ['*'],
42
- },
43
- {
44
- actions: [
45
- aws_policies_1.lambda.GetFunction,
46
- aws_policies_1.lambda.InvokeAsync,
47
- aws_policies_1.lambda.InvokeFunction,
48
- aws_policies_1.lambda.CreateFunction,
49
- aws_policies_1.lambda.DeleteFunction,
50
- aws_policies_1.lambda.PutFunctionEventInvokeConfig,
51
- ],
52
- resource: [`arn:aws:lambda:*:*:function:${constants_1.RENDER_FN_PREFIX}*`],
53
- },
54
- {
55
- actions: [aws_policies_1.lambda.GetLayerVersion],
56
- // TODO: Tighten up
57
- resource: [`*`],
58
- },
59
- {
60
- actions: [aws_policies_1.lambda.ListFunctions],
61
- resource: ['*'],
62
- },
63
- {
64
- actions: [aws_policies_1.logs.CreateLogGroup, aws_policies_1.logs.PutRetentionPolicy],
65
- resource: ['*'],
66
- },
67
- ];
68
- //# sourceMappingURL=required-permissions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"required-permissions.js","sourceRoot":"","sources":["../../../src/api/iam-validation/required-permissions.ts"],"names":[],"mappings":";;;AAAA,+CAAmD;AACnD,sDAAgF;AAEhF,mCAAmC;AACtB,QAAA,mBAAmB,GAG1B;IACL;QACC,OAAO,EAAE,CAAC,kBAAG,CAAC,OAAO,CAAC;QACtB,uDAAuD;QACvD,QAAQ,EAAE,CAAC,qCAAqC,CAAC;KACjD;IACD;QACC,OAAO,EAAE,CAAC,kBAAG,CAAC,uBAAuB,CAAC;QACtC,QAAQ,EAAE,CAAC,GAAG,CAAC;KACf;IACD;QACC,iFAAiF;QACjF,OAAO,EAAE,CAAC,kBAAG,CAAC,QAAQ,CAAC;QACvB,QAAQ,EAAE,CAAC,GAAG,CAAC;KACf;IACD;QACC,OAAO,EAAE;YACR,iBAAE,CAAC,SAAS;YACZ,iBAAE,CAAC,YAAY;YACf,iBAAE,CAAC,YAAY;YACf,iBAAE,CAAC,gBAAgB;YACnB,iBAAE,CAAC,mBAAmB;YACtB,iBAAE,CAAC,YAAY;YACf,iBAAE,CAAC,SAAS;YACZ,iBAAE,CAAC,iBAAiB;SACpB;QACD,QAAQ,EAAE,CAAC,gBAAgB,kCAAsB,GAAG,CAAC;KACrD;IACD;QACC,OAAO,EAAE,CAAC,iBAAE,CAAC,YAAY,EAAE,iBAAE,CAAC,UAAU,EAAE,iBAAE,CAAC,YAAY,CAAC;QAC1D,QAAQ,EAAE,CAAC,gBAAgB,CAAC;KAC5B;IACD;QACC,OAAO,EAAE,CAAC,iBAAE,CAAC,gBAAgB,CAAC;QAC9B,QAAQ,EAAE,CAAC,GAAG,CAAC;KACf;IACD;QACC,OAAO,EAAE;YACR,qBAAM,CAAC,WAAW;YAClB,qBAAM,CAAC,WAAW;YAClB,qBAAM,CAAC,cAAc;YACrB,qBAAM,CAAC,cAAc;YACrB,qBAAM,CAAC,cAAc;YACrB,qBAAM,CAAC,4BAA4B;SACnC;QACD,QAAQ,EAAE,CAAC,+BAA+B,4BAAgB,GAAG,CAAC;KAC9D;IACD;QACC,OAAO,EAAE,CAAC,qBAAM,CAAC,eAAe,CAAC;QACjC,mBAAmB;QACnB,QAAQ,EAAE,CAAC,GAAG,CAAC;KACf;IACD;QACC,OAAO,EAAE,CAAC,qBAAM,CAAC,aAAa,CAAC;QAC/B,QAAQ,EAAE,CAAC,GAAG,CAAC;KACf;IACD;QACC,OAAO,EAAE,CAAC,mBAAI,CAAC,cAAc,EAAE,mBAAI,CAAC,kBAAkB,CAAC;QACvD,QAAQ,EAAE,CAAC,GAAG,CAAC;KACf;CACD,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const validateFramesPerLambda: (framesPerLambda: number | undefined) => void;
2
- //# sourceMappingURL=validate-frames-per-lambda.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-frames-per-lambda.d.ts","sourceRoot":"","sources":["../../src/api/validate-frames-per-lambda.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,oBAClB,MAAM,GAAG,SAAS,SAiCnC,CAAC"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateFramesPerLambda = void 0;
4
- const defaults_1 = require("../defaults");
5
- const validateFramesPerLambda = (framesPerLambda) => {
6
- if (typeof framesPerLambda === 'undefined') {
7
- return;
8
- }
9
- if (typeof framesPerLambda !== 'number') {
10
- throw new TypeError(`"framesPerLambda" must be a number, but is ${typeof framesPerLambda}`);
11
- }
12
- if (Number.isNaN(framesPerLambda)) {
13
- throw new TypeError(`"framesPerLambda" must be a real number, but is NaN`);
14
- }
15
- if (!Number.isFinite(framesPerLambda)) {
16
- throw new TypeError(`"framesPerLambda" must be a finite number, but is ${framesPerLambda}`);
17
- }
18
- if (framesPerLambda % 1 !== 0) {
19
- throw new TypeError(`"framesPerLambda" must be an integer, but is ${framesPerLambda}`);
20
- }
21
- if (framesPerLambda < defaults_1.MINIMUM_FRAMES_PER_LAMBDA) {
22
- throw new TypeError(`"framesPerLambda" must be at least ${defaults_1.MINIMUM_FRAMES_PER_LAMBDA}, but is ${framesPerLambda}`);
23
- }
24
- };
25
- exports.validateFramesPerLambda = validateFramesPerLambda;
26
- //# sourceMappingURL=validate-frames-per-lambda.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-frames-per-lambda.js","sourceRoot":"","sources":["../../src/api/validate-frames-per-lambda.ts"],"names":[],"mappings":";;;AAAA,0CAAsD;AAE/C,MAAM,uBAAuB,GAAG,CACtC,eAAmC,EAClC,EAAE;IACH,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE;QAC3C,OAAO;KACP;IAED,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;QACxC,MAAM,IAAI,SAAS,CAClB,8CAA8C,OAAO,eAAe,EAAE,CACtE,CAAC;KACF;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE;QAClC,MAAM,IAAI,SAAS,CAAC,qDAAqD,CAAC,CAAC;KAC3E;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;QACtC,MAAM,IAAI,SAAS,CAClB,qDAAqD,eAAe,EAAE,CACtE,CAAC;KACF;IAED,IAAI,eAAe,GAAG,CAAC,KAAK,CAAC,EAAE;QAC9B,MAAM,IAAI,SAAS,CAClB,gDAAgD,eAAe,EAAE,CACjE,CAAC;KACF;IAED,IAAI,eAAe,GAAG,oCAAyB,EAAE;QAChD,MAAM,IAAI,SAAS,CAClB,sCAAsC,oCAAyB,YAAY,eAAe,EAAE,CAC5F,CAAC;KACF;AACF,CAAC,CAAC;AAlCW,QAAA,uBAAuB,2BAkClC"}
@@ -1,2 +0,0 @@
1
- export declare const benchmark: () => Promise<void>;
2
- //# sourceMappingURL=benchmark.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,SAAS,qBAuBpB,CAAC"}
package/dist/benchmark.js DELETED
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.benchmark = void 0;
4
- const client_lambda_1 = require("@aws-sdk/client-lambda");
5
- const cli_1 = require("@remotion/cli");
6
- const aws_clients_1 = require("./shared/aws-clients");
7
- const toTest = [12, 15, 20, 100];
8
- const runs = [1, 2, 3, 4, 5];
9
- exports.benchmark = cli_1.CliInternals.xns(async () => {
10
- for (const chunkSize of toTest) {
11
- for (const run of runs) {
12
- const id = `invoking with ${chunkSize},run ${run}/${runs.length}`;
13
- console.time(id);
14
- const res = await aws_clients_1.getLambdaClient('eu-central-1').send(new client_lambda_1.InvokeCommand({
15
- FunctionName: 'remotion-render-test-5455111895707452',
16
- // @ts-expect-error
17
- Payload: JSON.stringify({
18
- serveUrl: 'http://remotion-bucket-0.0469902062423555.s3.eu-central-1.amazonaws.com',
19
- type: 'launch',
20
- composition: 'my-video',
21
- chunkSize,
22
- }),
23
- }));
24
- console.timeEnd(id);
25
- const string = Buffer.from(res.Payload).toString();
26
- console.log(string);
27
- }
28
- }
29
- });
30
- //# sourceMappingURL=benchmark.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":";;;AAAA,0DAAqD;AACrD,uCAA2C;AAC3C,sDAAqD;AAErD,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AACjC,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhB,QAAA,SAAS,GAAG,kBAAY,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;IACpD,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACvB,MAAM,EAAE,GAAG,kBAAkB,SAAS,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,MAAM,GAAG,GAAG,MAAM,6BAAe,CAAC,cAAc,CAAC,CAAC,IAAI,CACrD,IAAI,6BAAa,CAAC;gBACjB,YAAY,EAAE,uCAAuC;gBACrD,mBAAmB;gBACnB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;oBACvB,QAAQ,EACP,yEAAyE;oBAC1E,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,UAAU;oBACvB,SAAS;iBACT,CAAC;aACF,CAAC,CACF,CAAC;YACF,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACpB;KACD;AACF,CAAC,CAAC,CAAC"}