@nlabs/reaktor 1.6.3 → 1.8.0

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 (278) hide show
  1. package/LICENSE +74 -201
  2. package/README.md +48 -16
  3. package/lib/actions/analytics.d.ts +10 -0
  4. package/lib/actions/analytics.js +539 -0
  5. package/lib/actions/apps.js +2 -2
  6. package/lib/actions/connections.js +1 -1
  7. package/lib/actions/content.js +2 -2
  8. package/lib/actions/conversations.js +2 -2
  9. package/lib/actions/crm.d.ts +11 -1
  10. package/lib/actions/crm.js +443 -13
  11. package/lib/actions/crud.js +2 -2
  12. package/lib/actions/dynamodb.d.ts +1 -1
  13. package/lib/actions/dynamodb.js +2 -2
  14. package/lib/actions/email.d.ts +1 -1
  15. package/lib/actions/email.js +2 -2
  16. package/lib/actions/files.js +2 -2
  17. package/lib/actions/flags.d.ts +6 -0
  18. package/lib/actions/flags.js +147 -0
  19. package/lib/actions/groups.js +2 -2
  20. package/lib/actions/images.d.ts +1 -1
  21. package/lib/actions/images.js +2 -2
  22. package/lib/actions/index.d.ts +3 -2
  23. package/lib/actions/index.js +4 -3
  24. package/lib/actions/ios.js +1 -1
  25. package/lib/actions/locations.js +2 -2
  26. package/lib/actions/messages.js +2 -2
  27. package/lib/actions/notifications.d.ts +1 -1
  28. package/lib/actions/notifications.js +2 -2
  29. package/lib/actions/payments.d.ts +3 -3
  30. package/lib/actions/payments.js +144 -189
  31. package/lib/actions/personas.js +1 -1
  32. package/lib/actions/posts.d.ts +0 -4
  33. package/lib/actions/posts.js +2 -4
  34. package/lib/actions/query.js +2 -2
  35. package/lib/actions/reactions.js +2 -2
  36. package/lib/actions/rum.js +148 -45
  37. package/lib/actions/s3.d.ts +1 -1
  38. package/lib/actions/s3.js +2 -2
  39. package/lib/actions/search.js +2 -2
  40. package/lib/actions/sms.js +2 -2
  41. package/lib/actions/statistics.js +2 -2
  42. package/lib/actions/subscriptions.js +2 -2
  43. package/lib/actions/tags.js +2 -2
  44. package/lib/actions/users.d.ts +4 -1
  45. package/lib/actions/users.js +85 -11
  46. package/lib/actions/videos.js +2 -2
  47. package/lib/adapters/arangoAdapter.js +1 -1
  48. package/lib/adapters/contentAdapter.js +2 -2
  49. package/lib/adapters/fileAdapter.js +1 -1
  50. package/lib/adapters/imageAdapter.js +1 -1
  51. package/lib/adapters/index.js +1 -1
  52. package/lib/adapters/messageAdapter.js +1 -1
  53. package/lib/adapters/postAdapter.js +1 -1
  54. package/lib/adapters/reaktorAdapter.js +1 -1
  55. package/lib/adapters/tagAdapter.d.ts +0 -1
  56. package/lib/adapters/tagAdapter.js +1 -2
  57. package/lib/adapters/userAdapter.d.ts +0 -1
  58. package/lib/adapters/userAdapter.js +1 -2
  59. package/lib/config.js +8 -2
  60. package/lib/constants/collections.d.ts +17 -1
  61. package/lib/constants/collections.js +18 -2
  62. package/lib/handlers/graphqlHandler.d.ts +2 -2
  63. package/lib/handlers/graphqlHandler.js +2 -19
  64. package/lib/index.d.ts +4 -2
  65. package/lib/index.js +4 -3
  66. package/lib/lambdas/actions/websockets.js +2 -2
  67. package/lib/lambdas/authorizer.js +2 -2
  68. package/lib/lambdas/connection.js +2 -2
  69. package/lib/lambdas/utils/message.js +2 -2
  70. package/lib/lambdas/utils/websocket.d.ts +1 -1
  71. package/lib/lambdas/utils/websocket.js +2 -2
  72. package/lib/mocks/conversation.js +1 -1
  73. package/lib/mocks/file.js +1 -1
  74. package/lib/mocks/group.js +1 -1
  75. package/lib/mocks/image.js +1 -1
  76. package/lib/mocks/post.js +1 -1
  77. package/lib/mocks/tag.js +1 -1
  78. package/lib/mocks/user.js +1 -1
  79. package/lib/mocks/video.js +1 -1
  80. package/lib/mutations/analytics/analytics.d.ts +1 -0
  81. package/lib/mutations/analytics/analytics.js +35 -0
  82. package/lib/mutations/content/content.js +2 -2
  83. package/lib/mutations/crm/crm.js +57 -11
  84. package/lib/mutations/events/events.js +2 -2
  85. package/lib/mutations/flags/flags.d.ts +1 -0
  86. package/lib/mutations/flags/flags.js +33 -0
  87. package/lib/mutations/groups/groups.js +2 -2
  88. package/lib/mutations/images/images.js +2 -2
  89. package/lib/mutations/index.d.ts +3 -1
  90. package/lib/mutations/index.js +13 -3
  91. package/lib/mutations/locations/locations.js +2 -2
  92. package/lib/mutations/messages/messages.js +2 -2
  93. package/lib/mutations/personas/personas.js +2 -2
  94. package/lib/mutations/posts/posts.js +2 -2
  95. package/lib/mutations/reactions/reactions.js +2 -2
  96. package/lib/mutations/rum/rum.js +2 -2
  97. package/lib/mutations/statistics/statistics.js +2 -2
  98. package/lib/mutations/subscriptions/subscriptions.js +2 -2
  99. package/lib/mutations/tags/tags.js +2 -2
  100. package/lib/mutations/users/users.js +30 -17
  101. package/lib/mutations/videos/videos.js +2 -2
  102. package/lib/objectTypes/analytics.d.ts +8 -0
  103. package/lib/objectTypes/analytics.js +147 -0
  104. package/lib/objectTypes/app.js +2 -2
  105. package/lib/objectTypes/bankAccount.js +2 -2
  106. package/lib/objectTypes/connection.js +2 -2
  107. package/lib/objectTypes/content.js +2 -2
  108. package/lib/objectTypes/conversation.js +2 -2
  109. package/lib/objectTypes/creditCard.js +2 -2
  110. package/lib/objectTypes/crm.d.ts +5 -0
  111. package/lib/objectTypes/crm.js +68 -2
  112. package/lib/objectTypes/document.js +1 -1
  113. package/lib/objectTypes/error.js +2 -2
  114. package/lib/objectTypes/event.js +2 -2
  115. package/lib/objectTypes/external.js +2 -2
  116. package/lib/objectTypes/file.js +2 -2
  117. package/lib/objectTypes/filter.js +2 -2
  118. package/lib/objectTypes/flag.d.ts +1 -0
  119. package/lib/objectTypes/flag.js +35 -0
  120. package/lib/objectTypes/group.js +2 -2
  121. package/lib/objectTypes/iapSubscription.js +2 -2
  122. package/lib/objectTypes/image.d.ts +1 -1
  123. package/lib/objectTypes/image.js +2 -2
  124. package/lib/objectTypes/index.d.ts +2 -0
  125. package/lib/objectTypes/index.js +3 -1
  126. package/lib/objectTypes/location.js +2 -2
  127. package/lib/objectTypes/message.js +2 -2
  128. package/lib/objectTypes/passcode.js +2 -2
  129. package/lib/objectTypes/persona.js +2 -2
  130. package/lib/objectTypes/plan.js +2 -2
  131. package/lib/objectTypes/post.js +2 -2
  132. package/lib/objectTypes/query.js +2 -2
  133. package/lib/objectTypes/reaction.js +2 -2
  134. package/lib/objectTypes/relation.js +2 -2
  135. package/lib/objectTypes/rum.js +4 -4
  136. package/lib/objectTypes/search.js +2 -2
  137. package/lib/objectTypes/statistics.js +2 -2
  138. package/lib/objectTypes/subscription.js +2 -2
  139. package/lib/objectTypes/tag.js +2 -2
  140. package/lib/objectTypes/user.js +10 -2
  141. package/lib/objectTypes/video.d.ts +1 -1
  142. package/lib/objectTypes/video.js +2 -2
  143. package/lib/queries/analytics/analytics.d.ts +1 -0
  144. package/lib/queries/analytics/analytics.js +41 -0
  145. package/lib/queries/content/content.js +2 -2
  146. package/lib/queries/crm/crm.js +52 -13
  147. package/lib/queries/events/events.js +2 -2
  148. package/lib/queries/flags/flags.d.ts +1 -0
  149. package/lib/queries/flags/flags.js +16 -0
  150. package/lib/queries/groups/groups.js +2 -2
  151. package/lib/queries/images/images.js +2 -2
  152. package/lib/queries/index.d.ts +3 -1
  153. package/lib/queries/index.js +13 -3
  154. package/lib/queries/locations/locations.js +2 -2
  155. package/lib/queries/messages/messages.js +1 -1
  156. package/lib/queries/personas/personas.js +2 -2
  157. package/lib/queries/posts/posts.js +2 -2
  158. package/lib/queries/query/query.js +2 -2
  159. package/lib/queries/reactions/reactions.js +2 -2
  160. package/lib/queries/statistics/statistics.js +2 -2
  161. package/lib/queries/subscriptions/subscriptions.js +1 -1
  162. package/lib/queries/tags/tags.js +2 -2
  163. package/lib/queries/users/users.js +2 -2
  164. package/lib/queries/videos/videos.js +2 -2
  165. package/lib/templates/email/layout.js +1 -1
  166. package/lib/templates/email/passwordForgot.js +1 -1
  167. package/lib/templates/email/passwordRecovery.js +1 -1
  168. package/lib/templates/email/verifyEmail.js +1 -1
  169. package/lib/templates/email/welcome.js +1 -1
  170. package/lib/templates/sms/passwordForgot.js +1 -1
  171. package/lib/templates/sms/passwordRecovery.js +1 -1
  172. package/lib/templates/sms/verifyEmail.js +1 -1
  173. package/lib/templates/sms/verifyPhone.js +1 -1
  174. package/lib/templates/sms/welcome.js +1 -1
  175. package/lib/types/analytics.types.d.ts +92 -0
  176. package/lib/types/analytics.types.js +6 -0
  177. package/lib/types/apps.types.d.ts +1 -1
  178. package/lib/types/apps.types.js +2 -2
  179. package/lib/types/arangodb.types.d.ts +2 -2
  180. package/lib/types/arangodb.types.js +2 -2
  181. package/lib/types/auth.types.d.ts +4 -1
  182. package/lib/types/auth.types.js +2 -2
  183. package/lib/types/connections.types.d.ts +1 -1
  184. package/lib/types/connections.types.js +2 -2
  185. package/lib/types/content.types.d.ts +1 -1
  186. package/lib/types/content.types.js +2 -2
  187. package/lib/types/conversations.types.d.ts +1 -1
  188. package/lib/types/conversations.types.js +2 -2
  189. package/lib/types/crm.types.d.ts +58 -2
  190. package/lib/types/crm.types.js +2 -2
  191. package/lib/types/email.types.d.ts +1 -1
  192. package/lib/types/email.types.js +2 -2
  193. package/lib/types/error.types.js +1 -1
  194. package/lib/types/files.types.d.ts +1 -1
  195. package/lib/types/files.types.js +2 -2
  196. package/lib/types/flags.types.d.ts +28 -0
  197. package/lib/types/flags.types.js +3 -0
  198. package/lib/types/google.types.d.ts +1 -1
  199. package/lib/types/google.types.js +2 -2
  200. package/lib/types/groups.types.d.ts +1 -1
  201. package/lib/types/groups.types.js +2 -2
  202. package/lib/types/images.types.d.ts +1 -1
  203. package/lib/types/images.types.js +2 -2
  204. package/lib/types/index.d.ts +3 -1
  205. package/lib/types/index.js +4 -2
  206. package/lib/types/locations.types.d.ts +1 -1
  207. package/lib/types/locations.types.js +2 -2
  208. package/lib/types/messages.types.d.ts +1 -1
  209. package/lib/types/messages.types.js +2 -2
  210. package/lib/types/notifications.types.d.ts +1 -1
  211. package/lib/types/notifications.types.js +2 -2
  212. package/lib/types/payments.types.d.ts +4 -1
  213. package/lib/types/payments.types.js +2 -2
  214. package/lib/types/personas.types.js +1 -1
  215. package/lib/types/posts.types.d.ts +1 -1
  216. package/lib/types/posts.types.js +2 -2
  217. package/lib/types/rum.types.d.ts +3 -3
  218. package/lib/types/rum.types.js +2 -2
  219. package/lib/types/statistics.types.js +1 -1
  220. package/lib/types/tags.types.d.ts +1 -1
  221. package/lib/types/tags.types.js +2 -2
  222. package/lib/types/users.types.d.ts +2 -1
  223. package/lib/types/users.types.js +2 -2
  224. package/lib/types/videos.types.d.ts +1 -1
  225. package/lib/types/videos.types.js +2 -2
  226. package/lib/types/websockets.types.d.ts +1 -1
  227. package/lib/types/websockets.types.js +2 -2
  228. package/lib/upload.js +4 -9
  229. package/lib/utils/adapterUtils.d.ts +1 -1
  230. package/lib/utils/adapterUtils.js +2 -2
  231. package/lib/utils/analyticsUtils.d.ts +1 -1
  232. package/lib/utils/analyticsUtils.js +2 -2
  233. package/lib/utils/appContext.d.ts +2 -0
  234. package/lib/utils/appContext.js +10 -0
  235. package/lib/utils/aqlHelpers.d.ts +1 -1
  236. package/lib/utils/aqlHelpers.js +2 -2
  237. package/lib/utils/arangodbUtils.d.ts +9 -1
  238. package/lib/utils/arangodbUtils.js +10 -2
  239. package/lib/utils/authUtils.js +2 -2
  240. package/lib/utils/awsUtils.js +2 -2
  241. package/lib/utils/collectionRegistry.d.ts +1 -1
  242. package/lib/utils/collectionRegistry.js +17 -2
  243. package/lib/utils/contextUtils.d.ts +2 -2
  244. package/lib/utils/contextUtils.js +2 -2
  245. package/lib/utils/dbI18n.example.d.ts +1 -1
  246. package/lib/utils/dbI18n.example.js +2 -2
  247. package/lib/utils/dbI18n.js +2 -2
  248. package/lib/utils/googleTranslate.d.ts +1 -1
  249. package/lib/utils/googleTranslate.js +2 -2
  250. package/lib/utils/graphqlUtils.d.ts +2 -0
  251. package/lib/utils/graphqlUtils.js +1 -1
  252. package/lib/utils/imageUtils.js +1 -1
  253. package/lib/utils/index.d.ts +1 -1
  254. package/lib/utils/index.js +2 -2
  255. package/lib/utils/languageDetection.js +1 -1
  256. package/lib/utils/localeUtils.d.ts +1 -1
  257. package/lib/utils/localeUtils.example.d.ts +1 -1
  258. package/lib/utils/localeUtils.example.js +2 -2
  259. package/lib/utils/localeUtils.js +2 -2
  260. package/lib/utils/middlewareUtils.js +1 -1
  261. package/lib/utils/queryBuilder.d.ts +1 -1
  262. package/lib/utils/queryBuilder.js +2 -2
  263. package/lib/utils/schemaUtils.js +1 -1
  264. package/lib/utils/sessionUtils.d.ts +4 -0
  265. package/lib/utils/sessionUtils.js +2 -2
  266. package/lib/utils/stripeUtils.d.ts +1 -1
  267. package/lib/utils/stripeUtils.js +2 -2
  268. package/lib/utils/templateUtils.js +1 -1
  269. package/lib/utils/testUtils.js +2 -2
  270. package/lib/utils/translationQueue.d.ts +1 -1
  271. package/lib/utils/translationQueue.example.d.ts +1 -1
  272. package/lib/utils/translationQueue.example.js +2 -2
  273. package/lib/utils/translationQueue.js +2 -2
  274. package/lib/videoProcessing.js +1 -1
  275. package/package.json +49 -86
  276. package/lib/actions/websockets.d.ts +0 -20
  277. package/lib/actions/websockets.js +0 -164
  278. package/lib/mocks/nlabs.png +0 -0
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
3
+ * All rights reserved. Use is subject to the accompanying commercial LICENSE.
4
4
  */ export { };
5
5
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3R5cGVzL3dlYnNvY2tldHMudHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB0eXBlIHtEb2N1bWVudFR5cGV9IGZyb20gJy4vYXJhbmdvZGIudHlwZXMuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdlYnNvY2tldENvbm5lY3Rpb24ge1xuICBfa2V5OiBzdHJpbmc7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICBjb25uZWN0aW9uSWQ/OiBzdHJpbmc7XG4gIG1vZGlmaWVkPzogbnVtYmVyO1xuICBwZXJzb25hSWQ/OiBzdHJpbmc7XG4gIHNvY2tldElkOiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdlYnNvY2tldE1lc3NhZ2VUeXBlIGV4dGVuZHMgRG9jdW1lbnRUeXBlIHtcbiAgcmVhZG9ubHkgYWRkZWQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGNvbnRlbnQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICByZWFkb25seSBmaWxlcz86IHN0cmluZ1tdO1xuICByZWFkb25seSBpbWFnZXM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgbWVzc2FnZUlkPzogc3RyaW5nO1xuICByZWFkb25seSBtb2RpZmllZD86IG51bWJlcjtcbiAgcmVhZG9ubHkgcmVhZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHNhdmVkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdXNlcklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdlYnNvY2tldFR5cGluZ1R5cGUge1xuICByZWFkb25seSBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgcmVhZG9ubHkgaXNUeXBpbmc/OiBib29sZWFuO1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBwZXJzb25hSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVwZGF0ZWRBdD86IG51bWJlcjtcbiAgcmVhZG9ubHkgdXNlcklkPzogc3RyaW5nO1xuICByZWFkb25seSB1c2Vycz86IEFycmF5PHtcbiAgICByZWFkb25seSBpbWFnZVVybD86IHN0cmluZztcbiAgICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBlcnNvbmFJZD86IHN0cmluZztcbiAgICByZWFkb25seSB0aHVtYlVybD86IHN0cmluZztcbiAgICByZWFkb25seSB1c2VySWQ/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIH0+O1xuICByZWFkb25seSB1c2VybmFtZT86IHN0cmluZztcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0EwQkQsV0FnQkMifQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy90eXBlcy93ZWJzb2NrZXRzLnR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFVzZSBpcyBzdWJqZWN0IHRvIHRoZSBhY2NvbXBhbnlpbmcgY29tbWVyY2lhbCBMSUNFTlNFLlxuICovXG5pbXBvcnQgdHlwZSB7RG9jdW1lbnRUeXBlfSBmcm9tICcuL2FyYW5nb2RiLnR5cGVzLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBXZWJzb2NrZXRDb25uZWN0aW9uIHtcbiAgX2tleTogc3RyaW5nO1xuICBjbGllbnRJZD86IHN0cmluZztcbiAgY29ubmVjdGlvbklkPzogc3RyaW5nO1xuICBtb2RpZmllZD86IG51bWJlcjtcbiAgcGVyc29uYUlkPzogc3RyaW5nO1xuICBzb2NrZXRJZDogc3RyaW5nO1xuICB1c2VySWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXZWJzb2NrZXRNZXNzYWdlVHlwZSBleHRlbmRzIERvY3VtZW50VHlwZSB7XG4gIHJlYWRvbmx5IGFkZGVkPzogbnVtYmVyO1xuICByZWFkb25seSBjb250ZW50Pzogc3RyaW5nO1xuICByZWFkb25seSBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgcmVhZG9ubHkgZmlsZXM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgaW1hZ2VzPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IG1lc3NhZ2VJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgbW9kaWZpZWQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHJlYWQ/OiBib29sZWFuO1xuICByZWFkb25seSBzYXZlZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHVzZXJJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXZWJzb2NrZXRUeXBpbmdUeXBlIHtcbiAgcmVhZG9ubHkgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlzVHlwaW5nPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcGVyc29uYUlkPzogc3RyaW5nO1xuICByZWFkb25seSB1cGRhdGVkQXQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHVzZXJJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdXNlcnM/OiBBcnJheTx7XG4gICAgcmVhZG9ubHkgaW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgICByZWFkb25seSBwZXJzb25hSWQ/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdGh1bWJVcmw/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdXNlcklkPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHVzZXJuYW1lPzogc3RyaW5nO1xuICB9PjtcbiAgcmVhZG9ubHkgdXNlcm5hbWU/OiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBMEJELFdBZ0JDIn0=
package/lib/upload.js CHANGED
@@ -36,14 +36,9 @@ const parseMultipartUpload = (event)=>new Promise((resolve, reject)=>{
36
36
  busboy.on('field', (fieldName, value)=>{
37
37
  fields[fieldName] = value;
38
38
  });
39
- busboy.on('file', (_fieldName, file, info, _encoding, mimeType)=>{
40
- if (typeof info === 'string') {
41
- filename = info;
42
- contentTypeFromFile = mimeType || '';
43
- } else {
44
- filename = info?.filename || '';
45
- contentTypeFromFile = info?.mimeType || '';
46
- }
39
+ busboy.on('file', (_fieldName, file, info)=>{
40
+ filename = info?.filename || '';
41
+ contentTypeFromFile = info?.mimeType || '';
47
42
  file.on('data', (chunk)=>fileChunks.push(chunk));
48
43
  file.on('error', reject);
49
44
  });
@@ -174,4 +169,4 @@ export const createUploadHandler = ({ allowedCorsOrigins = [], configureReaktor,
174
169
  }
175
170
  };
176
171
 
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3VwbG9hZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyZWF0ZUhhc2gsIHBhcnNlU3RyaW5nfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IEJ1c2JveSBmcm9tICdidXNib3knO1xuaW1wb3J0IHtmaWxlVHlwZUZyb21CdWZmZXJ9IGZyb20gJ2ZpbGUtdHlwZSc7XG5cbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuL2NvbmZpZy5qcyc7XG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi90eXBlcy9hdXRoLnR5cGVzLmpzJztcbmltcG9ydCB7Z2V0TGFtYmRhRGF0YX0gZnJvbSAnLi91dGlscy9hdXRoVXRpbHMuanMnO1xuaW1wb3J0IHthZGRJbWFnZX0gZnJvbSAnLi9hY3Rpb25zL2ltYWdlcy5qcyc7XG5cbmltcG9ydCB0eXBlIHtBUElHYXRld2F5UHJveHlFdmVudCwgQVBJR2F0ZXdheVByb3h5UmVzdWx0LCBDb250ZXh0fSBmcm9tICdhd3MtbGFtYmRhJztcblxudHlwZSBNdWx0aXBhcnRVcGxvYWQgPSB7XG4gIHJlYWRvbmx5IGJ1ZmZlcjogQnVmZmVyO1xuICByZWFkb25seSBjb250ZW50VHlwZT86IHN0cmluZztcbiAgcmVhZG9ubHkgZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICByZWFkb25seSBmaWxlbmFtZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFVwbG9hZENvbnRleHRQYXJzZXIgPSAoXG4gIGV2ZW50OiBBUElHYXRld2F5UHJveHlFdmVudCxcbiAgcmVxdWlyZUF1dGg6IGJvb2xlYW5cbikgPT4gUHJvbWlzZTxBcGlDb250ZXh0PjtcblxuZXhwb3J0IHR5cGUgUmVha3RvclVwbG9hZENvbmZpZ3VyZUhhbmRsZXIgPSAoKSA9PiB2b2lkO1xuXG5leHBvcnQgdHlwZSBVcGxvYWRIYW5kbGVyT3B0aW9ucyA9IHtcbiAgcmVhZG9ubHkgYWxsb3dlZENvcnNPcmlnaW5zPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIHJlYWRvbmx5IGNvbmZpZ3VyZVJlYWt0b3I6IFJlYWt0b3JVcGxvYWRDb25maWd1cmVIYW5kbGVyO1xuICByZWFkb25seSBkZWZhdWx0Q29yc09yaWdpbj86IHN0cmluZztcbiAgcmVhZG9ubHkgcGFyc2VDb250ZXh0OiBVcGxvYWRDb250ZXh0UGFyc2VyO1xufTtcblxuY29uc3QgZ2V0SGVhZGVyVmFsdWUgPSAoaGVhZGVyczogQVBJR2F0ZXdheVByb3h5RXZlbnRbJ2hlYWRlcnMnXSwgbmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgbG93ZXJOYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBoZWFkZXJLZXkgPSBPYmplY3Qua2V5cyhoZWFkZXJzIHx8IHt9KS5maW5kKChrZXkpID0+IGtleS50b0xvd2VyQ2FzZSgpID09PSBsb3dlck5hbWUpO1xuICByZXR1cm4gU3RyaW5nKGhlYWRlcktleSA/IGhlYWRlcnM/LltoZWFkZXJLZXldIHx8ICcnIDogJycpO1xufTtcblxuY29uc3QgZ2V0UmVzcG9uc2VIZWFkZXJzID0gKFxuICBldmVudDogQVBJR2F0ZXdheVByb3h5RXZlbnQsXG4gIGFsbG93ZWRDb3JzT3JpZ2luczogcmVhZG9ubHkgc3RyaW5nW10gPSBbXSxcbiAgZGVmYXVsdENvcnNPcmlnaW4gPSAnJ1xuKSA9PiB7XG4gIGNvbnN0IG9yaWdpbiA9IGdldEhlYWRlclZhbHVlKGV2ZW50LmhlYWRlcnMsICdvcmlnaW4nKTtcbiAgY29uc3Qgb3JpZ2luU2V0ID0gbmV3IFNldChhbGxvd2VkQ29yc09yaWdpbnMpO1xuICBjb25zdCBhbGxvd2VkT3JpZ2luID0gb3JpZ2luU2V0LmhhcyhvcmlnaW4pXG4gICAgPyBvcmlnaW5cbiAgICA6IChkZWZhdWx0Q29yc09yaWdpbiB8fCBhbGxvd2VkQ29yc09yaWdpbnNbMF0gfHwgb3JpZ2luIHx8ICcqJyk7XG5cbiAgcmV0dXJuIHtcbiAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMnOiAndHJ1ZScsXG4gICAgJ0FjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMnOiAnQXV0aG9yaXphdGlvbixDb250ZW50LVR5cGUsWC1BbXotRGF0ZSxYLUFtei1TZWN1cml0eS1Ub2tlbixYLUFwaS1LZXknLFxuICAgICdBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzJzogJ09QVElPTlMsUE9TVCcsXG4gICAgJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbic6IGFsbG93ZWRPcmlnaW4sXG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICB9O1xufTtcblxuY29uc3QgaXNNdWx0aXBhcnRVcGxvYWQgPSAoZXZlbnQ6IEFQSUdhdGV3YXlQcm94eUV2ZW50KTogYm9vbGVhbiA9PiAoXG4gIGdldEhlYWRlclZhbHVlKGV2ZW50LmhlYWRlcnMsICdjb250ZW50LXR5cGUnKS5pbmNsdWRlcygnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpXG4pO1xuXG5jb25zdCBwYXJzZU11bHRpcGFydFVwbG9hZCA9IChldmVudDogQVBJR2F0ZXdheVByb3h5RXZlbnQpOiBQcm9taXNlPE11bHRpcGFydFVwbG9hZD4gPT4gKFxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgY29udGVudFR5cGUgPSBnZXRIZWFkZXJWYWx1ZShldmVudC5oZWFkZXJzLCAnY29udGVudC10eXBlJyk7XG4gICAgY29uc3QgZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gICAgY29uc3QgZmlsZUNodW5rczogQnVmZmVyW10gPSBbXTtcbiAgICBsZXQgY29udGVudFR5cGVGcm9tRmlsZSA9ICcnO1xuICAgIGxldCBmaWxlbmFtZSA9ICcnO1xuXG4gICAgY29uc3QgYnVzYm95ID0gQnVzYm95KHtcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ2NvbnRlbnQtdHlwZSc6IGNvbnRlbnRUeXBlXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBidXNib3kub24oJ2ZpZWxkJywgKGZpZWxkTmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICBmaWVsZHNbZmllbGROYW1lXSA9IHZhbHVlO1xuICAgIH0pO1xuXG4gICAgYnVzYm95Lm9uKCdmaWxlJywgKFxuICAgICAgX2ZpZWxkTmFtZTogc3RyaW5nLFxuICAgICAgZmlsZSxcbiAgICAgIGluZm86IHtmaWxlbmFtZT86IHN0cmluZzsgbWltZVR5cGU/OiBzdHJpbmd9IHwgc3RyaW5nLFxuICAgICAgX2VuY29kaW5nPzogc3RyaW5nLFxuICAgICAgbWltZVR5cGU/OiBzdHJpbmdcbiAgICApID0+IHtcbiAgICAgIGlmKHR5cGVvZiBpbmZvID09PSAnc3RyaW5nJykge1xuICAgICAgICBmaWxlbmFtZSA9IGluZm87XG4gICAgICAgIGNvbnRlbnRUeXBlRnJvbUZpbGUgPSBtaW1lVHlwZSB8fCAnJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpbGVuYW1lID0gaW5mbz8uZmlsZW5hbWUgfHwgJyc7XG4gICAgICAgIGNvbnRlbnRUeXBlRnJvbUZpbGUgPSBpbmZvPy5taW1lVHlwZSB8fCAnJztcbiAgICAgIH1cblxuICAgICAgZmlsZS5vbignZGF0YScsIChjaHVuazogQnVmZmVyKSA9PiBmaWxlQ2h1bmtzLnB1c2goY2h1bmspKTtcbiAgICAgIGZpbGUub24oJ2Vycm9yJywgcmVqZWN0KTtcbiAgICB9KTtcblxuICAgIGJ1c2JveS5vbignZXJyb3InLCByZWplY3QpO1xuICAgIGJ1c2JveS5vbignZmluaXNoJywgKCkgPT4ge1xuICAgICAgcmVzb2x2ZSh7XG4gICAgICAgIGJ1ZmZlcjogQnVmZmVyLmNvbmNhdChmaWxlQ2h1bmtzKSxcbiAgICAgICAgY29udGVudFR5cGU6IGNvbnRlbnRUeXBlRnJvbUZpbGUsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgZmlsZW5hbWVcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZXZlbnRCb2R5ID0gZXZlbnQuYm9keSB8fCAnJztcbiAgICBjb25zdCBib2R5QnVmZmVyID0gZXZlbnQuaXNCYXNlNjRFbmNvZGVkXG4gICAgICA/IEJ1ZmZlci5mcm9tKGV2ZW50Qm9keSwgJ2Jhc2U2NCcpXG4gICAgICA6IEJ1ZmZlci5mcm9tKGV2ZW50Qm9keSwgJ2JpbmFyeScpO1xuXG4gICAgYnVzYm95LmVuZChib2R5QnVmZmVyKTtcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVVcGxvYWRIYW5kbGVyID0gKHtcbiAgYWxsb3dlZENvcnNPcmlnaW5zID0gW10sXG4gIGNvbmZpZ3VyZVJlYWt0b3IsXG4gIGRlZmF1bHRDb3JzT3JpZ2luID0gJycsXG4gIHBhcnNlQ29udGV4dFxufTogVXBsb2FkSGFuZGxlck9wdGlvbnMpID0+IGFzeW5jIChcbiAgZXZlbnQ6IEFQSUdhdGV3YXlQcm94eUV2ZW50LFxuICBfbGFtYmRhQ29udGV4dDogQ29udGV4dFxuKTogUHJvbWlzZTxBUElHYXRld2F5UHJveHlSZXN1bHQ+ID0+IHtcbiAgY29uZmlndXJlUmVha3RvcigpO1xuICBjb25zdCByZXNwb25zZUhlYWRlcnMgPSBnZXRSZXNwb25zZUhlYWRlcnMoZXZlbnQsIGFsbG93ZWRDb3JzT3JpZ2lucywgZGVmYXVsdENvcnNPcmlnaW4pO1xuXG4gIGlmKGV2ZW50Lmh0dHBNZXRob2QgPT09ICdPUFRJT05TJykge1xuICAgIHJldHVybiB7XG4gICAgICBib2R5OiAnJyxcbiAgICAgIGhlYWRlcnM6IHJlc3BvbnNlSGVhZGVycyxcbiAgICAgIHN0YXR1c0NvZGU6IDIwNFxuICAgIH07XG4gIH1cblxuICBjb25zdCB1cGRhdGVkQ29udGV4dDogQXBpQ29udGV4dCA9IGF3YWl0IHBhcnNlQ29udGV4dChldmVudCwgdHJ1ZSk7XG4gIGNvbnN0IHVzZXJJZCA9IHVwZGF0ZWRDb250ZXh0LnNlc3Npb24/LnVzZXJJZDtcblxuICBpZighdXNlcklkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtlcnJvcjogJ1VuYXV0aG9yaXplZC4nfSksXG4gICAgICBoZWFkZXJzOiByZXNwb25zZUhlYWRlcnMsXG4gICAgICBzdGF0dXNDb2RlOiA0MDFcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgaXNNdWx0aXBhcnQgPSBpc011bHRpcGFydFVwbG9hZChldmVudCk7XG4gIGxldCBib2R5OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gIGxldCBidWZmZXI6IEJ1ZmZlcjtcbiAgbGV0IHVwbG9hZGVkQ29udGVudFR5cGUgPSAnJztcblxuICBpZihpc011bHRpcGFydCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtdWx0aXBhcnRVcGxvYWQgPSBhd2FpdCBwYXJzZU11bHRpcGFydFVwbG9hZChldmVudCk7XG4gICAgICBib2R5ID0ge1xuICAgICAgICAuLi5tdWx0aXBhcnRVcGxvYWQuZmllbGRzLFxuICAgICAgICBmaWxlTmFtZTogbXVsdGlwYXJ0VXBsb2FkLmZpbGVuYW1lXG4gICAgICB9O1xuICAgICAgYnVmZmVyID0gbXVsdGlwYXJ0VXBsb2FkLmJ1ZmZlcjtcbiAgICAgIHVwbG9hZGVkQ29udGVudFR5cGUgPSBtdWx0aXBhcnRVcGxvYWQuY29udGVudFR5cGUgfHwgJyc7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ0ludmFsaWQgbXVsdGlwYXJ0IGltYWdlIHBheWxvYWQuJztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtlcnJvcjogbWVzc2FnZX0pLFxuICAgICAgICBoZWFkZXJzOiByZXNwb25zZUhlYWRlcnMsXG4gICAgICAgIHN0YXR1c0NvZGU6IDQwMFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgcGFyc2VEYXRhID0gZ2V0TGFtYmRhRGF0YSh7XG4gICAgICBib2R5OiBldmVudC5ib2R5IHx8IHVuZGVmaW5lZCxcbiAgICAgIHJlcXVlc3RDb250ZXh0OiBldmVudC5yZXF1ZXN0Q29udGV4dFxuICAgIH0pO1xuICAgIGJvZHkgPSBwYXJzZURhdGEuYm9keSB8fCB7fTtcbiAgICBjb25zdCB7YmFzZTY0fSA9IGJvZHk7XG5cbiAgICBpZih0eXBlb2YgYmFzZTY0ICE9PSAnc3RyaW5nJyB8fCAhYmFzZTY0LmluY2x1ZGVzKCcsJykpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtlcnJvcjogJ0ludmFsaWQgaW1hZ2UgcGF5bG9hZC4nfSksXG4gICAgICAgIGhlYWRlcnM6IHJlc3BvbnNlSGVhZGVycyxcbiAgICAgICAgc3RhdHVzQ29kZTogNDAwXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdEJhc2U2NDogc3RyaW5nID0gYmFzZTY0LnN1YnN0cmluZyhiYXNlNjQuaW5kZXhPZignLCcpICsgMSk7XG4gICAgYnVmZmVyID0gQnVmZmVyLmZyb20oZm9ybWF0QmFzZTY0LCAnYmFzZTY0Jyk7XG4gIH1cblxuICBjb25zdCBmaWxlTWltZSA9IGF3YWl0IGZpbGVUeXBlRnJvbUJ1ZmZlcihidWZmZXIpO1xuXG4gIGlmKCFidWZmZXIubGVuZ3RoIHx8ICghZmlsZU1pbWUgJiYgIXVwbG9hZGVkQ29udGVudFR5cGUpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtlcnJvcjogJ1RoZSBzdHJpbmcgc3VwcGxpZWQgaXMgbm90IGEgZmlsZSB0eXBlJ30pLFxuICAgICAgaGVhZGVyczogcmVzcG9uc2VIZWFkZXJzLFxuICAgICAgc3RhdHVzQ29kZTogNDAwXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IG1pbWUgPSBmaWxlTWltZT8ubWltZSB8fCB1cGxvYWRlZENvbnRlbnRUeXBlO1xuICBjb25zdCB7XG4gICAgZGVzY3JpcHRpb24sXG4gICAgaXRlbUlkID0gdXNlcklkLFxuICAgIGl0ZW1UeXBlID0gJ3VzZXJzJyxcbiAgICBwcml2YWN5ID0gJ3ByaXZhdGUnXG4gIH0gPSBib2R5IHx8IHt9O1xuXG4gIGNvbnN0IGZvcm1hdE5hbWU6IHN0cmluZyA9IHBhcnNlU3RyaW5nKFxuICAgIChib2R5Py5maWxlTmFtZSB8fCBib2R5Py5maWxlbmFtZSB8fCBib2R5Py5uYW1lIHx8ICcnKS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKS5qb2luKCcuJykgfHxcbiAgICAoYm9keT8uZmlsZU5hbWUgfHwgYm9keT8uZmlsZW5hbWUgfHwgYm9keT8ubmFtZSB8fCAnJyksXG4gICAgMzJcbiAgKVxuICAgIC50cmltKClcbiAgICAucmVwbGFjZSgvXFxzKy9nLCAnLScpXG4gICAgLnRvTG93ZXJDYXNlKCk7XG5cbiAgY29uc3QgaW1hZ2UgPSB7XG4gICAgYnVmZmVyLFxuICAgIGRlc2NyaXB0aW9uOiBwYXJzZVN0cmluZyhkZXNjcmlwdGlvbiwgNTAwKSxcbiAgICBmaWxlVHlwZTogbWltZSBhcyBzdHJpbmcsXG4gICAgaW1hZ2VJZDogZm9ybWF0TmFtZSB8fCBjcmVhdGVIYXNoKGBpbWFnZS0ke3VzZXJJZH0tJHtEYXRlLm5vdygpfWApLFxuICAgIGl0ZW1JZCxcbiAgICBpdGVtVHlwZSxcbiAgICBwcml2YWN5XG4gIH07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgYWRkSW1hZ2UodXBkYXRlZENvbnRleHQsIGltYWdlKTtcbiAgICByZXR1cm4ge1xuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe2ltYWdlOiByZXN1bHRzIHx8IHt9fSksXG4gICAgICBoZWFkZXJzOiByZXNwb25zZUhlYWRlcnMsXG4gICAgICBzdGF0dXNDb2RlOiAyMDBcbiAgICB9O1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcigndXBsb2FkOjphZGRJbWFnZTo6ZXJyb3InLCB7XG4gICAgICBidWNrZXQ6IENvbmZpZy5nZXQoJ2F3cy5zMy5CdWNrZXQnKSxcbiAgICAgIGZpbGVUeXBlOiBtaW1lLFxuICAgICAgaW1hZ2VJZDogaW1hZ2UuaW1hZ2VJZCxcbiAgICAgIGl0ZW1JZCxcbiAgICAgIGl0ZW1UeXBlLFxuICAgICAgdXNlcklkXG4gICAgfSwgZXJyb3IpO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmFibGUgdG8gdXBsb2FkIGltYWdlLic7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtlcnJvcjogbWVzc2FnZX0pLFxuICAgICAgaGVhZGVyczogcmVzcG9uc2VIZWFkZXJzLFxuICAgICAgc3RhdHVzQ29kZTogNTAwXG4gICAgfTtcbiAgfVxufTtcbiJdLCJuYW1lcyI6WyJjcmVhdGVIYXNoIiwicGFyc2VTdHJpbmciLCJCdXNib3kiLCJmaWxlVHlwZUZyb21CdWZmZXIiLCJDb25maWciLCJnZXRMYW1iZGFEYXRhIiwiYWRkSW1hZ2UiLCJnZXRIZWFkZXJWYWx1ZSIsImhlYWRlcnMiLCJuYW1lIiwibG93ZXJOYW1lIiwidG9Mb3dlckNhc2UiLCJoZWFkZXJLZXkiLCJPYmplY3QiLCJrZXlzIiwiZmluZCIsImtleSIsIlN0cmluZyIsImdldFJlc3BvbnNlSGVhZGVycyIsImV2ZW50IiwiYWxsb3dlZENvcnNPcmlnaW5zIiwiZGVmYXVsdENvcnNPcmlnaW4iLCJvcmlnaW4iLCJvcmlnaW5TZXQiLCJTZXQiLCJhbGxvd2VkT3JpZ2luIiwiaGFzIiwiaXNNdWx0aXBhcnRVcGxvYWQiLCJpbmNsdWRlcyIsInBhcnNlTXVsdGlwYXJ0VXBsb2FkIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJjb250ZW50VHlwZSIsImZpZWxkcyIsImZpbGVDaHVua3MiLCJjb250ZW50VHlwZUZyb21GaWxlIiwiZmlsZW5hbWUiLCJidXNib3kiLCJvbiIsImZpZWxkTmFtZSIsInZhbHVlIiwiX2ZpZWxkTmFtZSIsImZpbGUiLCJpbmZvIiwiX2VuY29kaW5nIiwibWltZVR5cGUiLCJjaHVuayIsInB1c2giLCJidWZmZXIiLCJCdWZmZXIiLCJjb25jYXQiLCJldmVudEJvZHkiLCJib2R5IiwiYm9keUJ1ZmZlciIsImlzQmFzZTY0RW5jb2RlZCIsImZyb20iLCJlbmQiLCJjcmVhdGVVcGxvYWRIYW5kbGVyIiwiY29uZmlndXJlUmVha3RvciIsInBhcnNlQ29udGV4dCIsIl9sYW1iZGFDb250ZXh0IiwicmVzcG9uc2VIZWFkZXJzIiwiaHR0cE1ldGhvZCIsInN0YXR1c0NvZGUiLCJ1cGRhdGVkQ29udGV4dCIsInVzZXJJZCIsInNlc3Npb24iLCJKU09OIiwic3RyaW5naWZ5IiwiZXJyb3IiLCJpc011bHRpcGFydCIsInVwbG9hZGVkQ29udGVudFR5cGUiLCJtdWx0aXBhcnRVcGxvYWQiLCJmaWxlTmFtZSIsIm1lc3NhZ2UiLCJFcnJvciIsInBhcnNlRGF0YSIsInVuZGVmaW5lZCIsInJlcXVlc3RDb250ZXh0IiwiYmFzZTY0IiwiZm9ybWF0QmFzZTY0Iiwic3Vic3RyaW5nIiwiaW5kZXhPZiIsImZpbGVNaW1lIiwibGVuZ3RoIiwibWltZSIsImRlc2NyaXB0aW9uIiwiaXRlbUlkIiwiaXRlbVR5cGUiLCJwcml2YWN5IiwiZm9ybWF0TmFtZSIsInNwbGl0Iiwic2xpY2UiLCJqb2luIiwidHJpbSIsInJlcGxhY2UiLCJpbWFnZSIsImZpbGVUeXBlIiwiaW1hZ2VJZCIsIkRhdGUiLCJub3ciLCJyZXN1bHRzIiwiY29uc29sZSIsImJ1Y2tldCIsImdldCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsVUFBVSxFQUFFQyxXQUFXLFFBQU8sZUFBZTtBQUNyRCxPQUFPQyxZQUFZLFNBQVM7QUFDNUIsU0FBUUMsa0JBQWtCLFFBQU8sWUFBWTtBQUU3QyxTQUFRQyxNQUFNLFFBQU8sY0FBYztBQUVuQyxTQUFRQyxhQUFhLFFBQU8sdUJBQXVCO0FBQ25ELFNBQVFDLFFBQVEsUUFBTyxzQkFBc0I7QUF5QjdDLE1BQU1DLGlCQUFpQixDQUFDQyxTQUEwQ0M7SUFDaEUsTUFBTUMsWUFBWUQsS0FBS0UsV0FB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
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy91cGxvYWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmVhdGVIYXNoLCBwYXJzZVN0cmluZ30gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCBCdXNib3kgZnJvbSAnYnVzYm95JztcbmltcG9ydCB7ZmlsZVR5cGVGcm9tQnVmZmVyfSBmcm9tICdmaWxlLXR5cGUnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi9jb25maWcuanMnO1xuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQge2dldExhbWJkYURhdGF9IGZyb20gJy4vdXRpbHMvYXV0aFV0aWxzLmpzJztcbmltcG9ydCB7YWRkSW1hZ2V9IGZyb20gJy4vYWN0aW9ucy9pbWFnZXMuanMnO1xuXG5pbXBvcnQgdHlwZSB7QVBJR2F0ZXdheVByb3h5RXZlbnQsIEFQSUdhdGV3YXlQcm94eVJlc3VsdCwgQ29udGV4dH0gZnJvbSAnYXdzLWxhbWJkYSc7XG5cbnR5cGUgTXVsdGlwYXJ0VXBsb2FkID0ge1xuICByZWFkb25seSBidWZmZXI6IEJ1ZmZlcjtcbiAgcmVhZG9ubHkgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZpZWxkczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgcmVhZG9ubHkgZmlsZW5hbWU/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBVcGxvYWRDb250ZXh0UGFyc2VyID0gKFxuICBldmVudDogQVBJR2F0ZXdheVByb3h5RXZlbnQsXG4gIHJlcXVpcmVBdXRoOiBib29sZWFuXG4pID0+IFByb21pc2U8QXBpQ29udGV4dD47XG5cbmV4cG9ydCB0eXBlIFJlYWt0b3JVcGxvYWRDb25maWd1cmVIYW5kbGVyID0gKCkgPT4gdm9pZDtcblxuZXhwb3J0IHR5cGUgVXBsb2FkSGFuZGxlck9wdGlvbnMgPSB7XG4gIHJlYWRvbmx5IGFsbG93ZWRDb3JzT3JpZ2lucz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuICByZWFkb25seSBjb25maWd1cmVSZWFrdG9yOiBSZWFrdG9yVXBsb2FkQ29uZmlndXJlSGFuZGxlcjtcbiAgcmVhZG9ubHkgZGVmYXVsdENvcnNPcmlnaW4/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhcnNlQ29udGV4dDogVXBsb2FkQ29udGV4dFBhcnNlcjtcbn07XG5cbmNvbnN0IGdldEhlYWRlclZhbHVlID0gKGhlYWRlcnM6IEFQSUdhdGV3YXlQcm94eUV2ZW50WydoZWFkZXJzJ10sIG5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGxvd2VyTmFtZSA9IG5hbWUudG9Mb3dlckNhc2UoKTtcbiAgY29uc3QgaGVhZGVyS2V5ID0gT2JqZWN0LmtleXMoaGVhZGVycyB8fCB7fSkuZmluZCgoa2V5KSA9PiBrZXkudG9Mb3dlckNhc2UoKSA9PT0gbG93ZXJOYW1lKTtcbiAgcmV0dXJuIFN0cmluZyhoZWFkZXJLZXkgPyBoZWFkZXJzPy5baGVhZGVyS2V5XSB8fCAnJyA6ICcnKTtcbn07XG5cbmNvbnN0IGdldFJlc3BvbnNlSGVhZGVycyA9IChcbiAgZXZlbnQ6IEFQSUdhdGV3YXlQcm94eUV2ZW50LFxuICBhbGxvd2VkQ29yc09yaWdpbnM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW10sXG4gIGRlZmF1bHRDb3JzT3JpZ2luID0gJydcbikgPT4ge1xuICBjb25zdCBvcmlnaW4gPSBnZXRIZWFkZXJWYWx1ZShldmVudC5oZWFkZXJzLCAnb3JpZ2luJyk7XG4gIGNvbnN0IG9yaWdpblNldCA9IG5ldyBTZXQoYWxsb3dlZENvcnNPcmlnaW5zKTtcbiAgY29uc3QgYWxsb3dlZE9yaWdpbiA9IG9yaWdpblNldC5oYXMob3JpZ2luKVxuICAgID8gb3JpZ2luXG4gICAgOiAoZGVmYXVsdENvcnNPcmlnaW4gfHwgYWxsb3dlZENvcnNPcmlnaW5zWzBdIHx8IG9yaWdpbiB8fCAnKicpO1xuXG4gIHJldHVybiB7XG4gICAgJ0FjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzJzogJ3RydWUnLFxuICAgICdBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJzogJ0F1dGhvcml6YXRpb24sQ29udGVudC1UeXBlLFgtQW16LURhdGUsWC1BbXotU2VjdXJpdHktVG9rZW4sWC1BcGktS2V5JyxcbiAgICAnQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyc6ICdPUFRJT05TLFBPU1QnLFxuICAgICdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nOiBhbGxvd2VkT3JpZ2luLFxuICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgfTtcbn07XG5cbmNvbnN0IGlzTXVsdGlwYXJ0VXBsb2FkID0gKGV2ZW50OiBBUElHYXRld2F5UHJveHlFdmVudCk6IGJvb2xlYW4gPT4gKFxuICBnZXRIZWFkZXJWYWx1ZShldmVudC5oZWFkZXJzLCAnY29udGVudC10eXBlJykuaW5jbHVkZXMoJ211bHRpcGFydC9mb3JtLWRhdGEnKVxuKTtcblxuY29uc3QgcGFyc2VNdWx0aXBhcnRVcGxvYWQgPSAoZXZlbnQ6IEFQSUdhdGV3YXlQcm94eUV2ZW50KTogUHJvbWlzZTxNdWx0aXBhcnRVcGxvYWQ+ID0+IChcbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gZ2V0SGVhZGVyVmFsdWUoZXZlbnQuaGVhZGVycywgJ2NvbnRlbnQtdHlwZScpO1xuICAgIGNvbnN0IGZpZWxkczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICAgIGNvbnN0IGZpbGVDaHVua3M6IEJ1ZmZlcltdID0gW107XG4gICAgbGV0IGNvbnRlbnRUeXBlRnJvbUZpbGUgPSAnJztcbiAgICBsZXQgZmlsZW5hbWUgPSAnJztcblxuICAgIGNvbnN0IGJ1c2JveSA9IEJ1c2JveSh7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgICdjb250ZW50LXR5cGUnOiBjb250ZW50VHlwZVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgYnVzYm95Lm9uKCdmaWVsZCcsIChmaWVsZE5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgZmllbGRzW2ZpZWxkTmFtZV0gPSB2YWx1ZTtcbiAgICB9KTtcblxuICAgIGJ1c2JveS5vbignZmlsZScsIChcbiAgICAgIF9maWVsZE5hbWU6IHN0cmluZyxcbiAgICAgIGZpbGUsXG4gICAgICBpbmZvOiB7ZmlsZW5hbWU/OiBzdHJpbmc7IG1pbWVUeXBlPzogc3RyaW5nfVxuICAgICkgPT4ge1xuICAgICAgZmlsZW5hbWUgPSBpbmZvPy5maWxlbmFtZSB8fCAnJztcbiAgICAgIGNvbnRlbnRUeXBlRnJvbUZpbGUgPSBpbmZvPy5taW1lVHlwZSB8fCAnJztcblxuICAgICAgZmlsZS5vbignZGF0YScsIChjaHVuazogQnVmZmVyKSA9PiBmaWxlQ2h1bmtzLnB1c2goY2h1bmspKTtcbiAgICAgIGZpbGUub24oJ2Vycm9yJywgcmVqZWN0KTtcbiAgICB9KTtcblxuICAgIGJ1c2JveS5vbignZXJyb3InLCByZWplY3QpO1xuICAgIGJ1c2JveS5vbignZmluaXNoJywgKCkgPT4ge1xuICAgICAgcmVzb2x2ZSh7XG4gICAgICAgIGJ1ZmZlcjogQnVmZmVyLmNvbmNhdChmaWxlQ2h1bmtzKSxcbiAgICAgICAgY29udGVudFR5cGU6IGNvbnRlbnRUeXBlRnJvbUZpbGUsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgZmlsZW5hbWVcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZXZlbnRCb2R5ID0gZXZlbnQuYm9keSB8fCAnJztcbiAgICBjb25zdCBib2R5QnVmZmVyID0gZXZlbnQuaXNCYXNlNjRFbmNvZGVkXG4gICAgICA/IEJ1ZmZlci5mcm9tKGV2ZW50Qm9keSwgJ2Jhc2U2NCcpXG4gICAgICA6IEJ1ZmZlci5mcm9tKGV2ZW50Qm9keSwgJ2JpbmFyeScpO1xuXG4gICAgYnVzYm95LmVuZChib2R5QnVmZmVyKTtcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVVcGxvYWRIYW5kbGVyID0gKHtcbiAgYWxsb3dlZENvcnNPcmlnaW5zID0gW10sXG4gIGNvbmZpZ3VyZVJlYWt0b3IsXG4gIGRlZmF1bHRDb3JzT3JpZ2luID0gJycsXG4gIHBhcnNlQ29udGV4dFxufTogVXBsb2FkSGFuZGxlck9wdGlvbnMpID0+IGFzeW5jIChcbiAgZXZlbnQ6IEFQSUdhdGV3YXlQcm94eUV2ZW50LFxuICBfbGFtYmRhQ29udGV4dDogQ29udGV4dFxuKTogUHJvbWlzZTxBUElHYXRld2F5UHJveHlSZXN1bHQ+ID0+IHtcbiAgY29uZmlndXJlUmVha3RvcigpO1xuICBjb25zdCByZXNwb25zZUhlYWRlcnMgPSBnZXRSZXNwb25zZUhlYWRlcnMoZXZlbnQsIGFsbG93ZWRDb3JzT3JpZ2lucywgZGVmYXVsdENvcnNPcmlnaW4pO1xuXG4gIGlmKGV2ZW50Lmh0dHBNZXRob2QgPT09ICdPUFRJT05TJykge1xuICAgIHJldHVybiB7XG4gICAgICBib2R5OiAnJyxcbiAgICAgIGhlYWRlcnM6IHJlc3BvbnNlSGVhZGVycyxcbiAgICAgIHN0YXR1c0NvZGU6IDIwNFxuICAgIH07XG4gIH1cblxuICBjb25zdCB1cGRhdGVkQ29udGV4dDogQXBpQ29udGV4dCA9IGF3YWl0IHBhcnNlQ29udGV4dChldmVudCwgdHJ1ZSk7XG4gIGNvbnN0IHVzZXJJZCA9IHVwZGF0ZWRDb250ZXh0LnNlc3Npb24/LnVzZXJJZDtcblxuICBpZighdXNlcklkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtlcnJvcjogJ1VuYXV0aG9yaXplZC4nfSksXG4gICAgICBoZWFkZXJzOiByZXNwb25zZUhlYWRlcnMsXG4gICAgICBzdGF0dXNDb2RlOiA0MDFcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgaXNNdWx0aXBhcnQgPSBpc011bHRpcGFydFVwbG9hZChldmVudCk7XG4gIGxldCBib2R5OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gIGxldCBidWZmZXI6IEJ1ZmZlcjtcbiAgbGV0IHVwbG9hZGVkQ29udGVudFR5cGUgPSAnJztcblxuICBpZihpc011bHRpcGFydCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtdWx0aXBhcnRVcGxvYWQgPSBhd2FpdCBwYXJzZU11bHRpcGFydFVwbG9hZChldmVudCk7XG4gICAgICBib2R5ID0ge1xuICAgICAgICAuLi5tdWx0aXBhcnRVcGxvYWQuZmllbGRzLFxuICAgICAgICBmaWxlTmFtZTogbXVsdGlwYXJ0VXBsb2FkLmZpbGVuYW1lXG4gICAgICB9O1xuICAgICAgYnVmZmVyID0gbXVsdGlwYXJ0VXBsb2FkLmJ1ZmZlcjtcbiAgICAgIHVwbG9hZGVkQ29udGVudFR5cGUgPSBtdWx0aXBhcnRVcGxvYWQuY29udGVudFR5cGUgfHwgJyc7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ0ludmFsaWQgbXVsdGlwYXJ0IGltYWdlIHBheWxvYWQuJztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtlcnJvcjogbWVzc2FnZX0pLFxuICAgICAgICBoZWFkZXJzOiByZXNwb25zZUhlYWRlcnMsXG4gICAgICAgIHN0YXR1c0NvZGU6IDQwMFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgcGFyc2VEYXRhID0gZ2V0TGFtYmRhRGF0YSh7XG4gICAgICBib2R5OiBldmVudC5ib2R5IHx8IHVuZGVmaW5lZCxcbiAgICAgIHJlcXVlc3RDb250ZXh0OiBldmVudC5yZXF1ZXN0Q29udGV4dFxuICAgIH0pO1xuICAgIGJvZHkgPSBwYXJzZURhdGEuYm9keSB8fCB7fTtcbiAgICBjb25zdCB7YmFzZTY0fSA9IGJvZHk7XG5cbiAgICBpZih0eXBlb2YgYmFzZTY0ICE9PSAnc3RyaW5nJyB8fCAhYmFzZTY0LmluY2x1ZGVzKCcsJykpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtlcnJvcjogJ0ludmFsaWQgaW1hZ2UgcGF5bG9hZC4nfSksXG4gICAgICAgIGhlYWRlcnM6IHJlc3BvbnNlSGVhZGVycyxcbiAgICAgICAgc3RhdHVzQ29kZTogNDAwXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdEJhc2U2NDogc3RyaW5nID0gYmFzZTY0LnN1YnN0cmluZyhiYXNlNjQuaW5kZXhPZignLCcpICsgMSk7XG4gICAgYnVmZmVyID0gQnVmZmVyLmZyb20oZm9ybWF0QmFzZTY0LCAnYmFzZTY0Jyk7XG4gIH1cblxuICBjb25zdCBmaWxlTWltZSA9IGF3YWl0IGZpbGVUeXBlRnJvbUJ1ZmZlcihidWZmZXIpO1xuXG4gIGlmKCFidWZmZXIubGVuZ3RoIHx8ICghZmlsZU1pbWUgJiYgIXVwbG9hZGVkQ29udGVudFR5cGUpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtlcnJvcjogJ1RoZSBzdHJpbmcgc3VwcGxpZWQgaXMgbm90IGEgZmlsZSB0eXBlJ30pLFxuICAgICAgaGVhZGVyczogcmVzcG9uc2VIZWFkZXJzLFxuICAgICAgc3RhdHVzQ29kZTogNDAwXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IG1pbWUgPSBmaWxlTWltZT8ubWltZSB8fCB1cGxvYWRlZENvbnRlbnRUeXBlO1xuICBjb25zdCB7XG4gICAgZGVzY3JpcHRpb24sXG4gICAgaXRlbUlkID0gdXNlcklkLFxuICAgIGl0ZW1UeXBlID0gJ3VzZXJzJyxcbiAgICBwcml2YWN5ID0gJ3ByaXZhdGUnXG4gIH0gPSBib2R5IHx8IHt9O1xuXG4gIGNvbnN0IGZvcm1hdE5hbWU6IHN0cmluZyA9IHBhcnNlU3RyaW5nKFxuICAgIChib2R5Py5maWxlTmFtZSB8fCBib2R5Py5maWxlbmFtZSB8fCBib2R5Py5uYW1lIHx8ICcnKS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKS5qb2luKCcuJykgfHxcbiAgICAoYm9keT8uZmlsZU5hbWUgfHwgYm9keT8uZmlsZW5hbWUgfHwgYm9keT8ubmFtZSB8fCAnJyksXG4gICAgMzJcbiAgKVxuICAgIC50cmltKClcbiAgICAucmVwbGFjZSgvXFxzKy9nLCAnLScpXG4gICAgLnRvTG93ZXJDYXNlKCk7XG5cbiAgY29uc3QgaW1hZ2UgPSB7XG4gICAgYnVmZmVyLFxuICAgIGRlc2NyaXB0aW9uOiBwYXJzZVN0cmluZyhkZXNjcmlwdGlvbiwgNTAwKSxcbiAgICBmaWxlVHlwZTogbWltZSBhcyBzdHJpbmcsXG4gICAgaW1hZ2VJZDogZm9ybWF0TmFtZSB8fCBjcmVhdGVIYXNoKGBpbWFnZS0ke3VzZXJJZH0tJHtEYXRlLm5vdygpfWApLFxuICAgIGl0ZW1JZCxcbiAgICBpdGVtVHlwZSxcbiAgICBwcml2YWN5XG4gIH07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgYWRkSW1hZ2UodXBkYXRlZENvbnRleHQsIGltYWdlKTtcbiAgICByZXR1cm4ge1xuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe2ltYWdlOiByZXN1bHRzIHx8IHt9fSksXG4gICAgICBoZWFkZXJzOiByZXNwb25zZUhlYWRlcnMsXG4gICAgICBzdGF0dXNDb2RlOiAyMDBcbiAgICB9O1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcigndXBsb2FkOjphZGRJbWFnZTo6ZXJyb3InLCB7XG4gICAgICBidWNrZXQ6IENvbmZpZy5nZXQoJ2F3cy5zMy5CdWNrZXQnKSxcbiAgICAgIGZpbGVUeXBlOiBtaW1lLFxuICAgICAgaW1hZ2VJZDogaW1hZ2UuaW1hZ2VJZCxcbiAgICAgIGl0ZW1JZCxcbiAgICAgIGl0ZW1UeXBlLFxuICAgICAgdXNlcklkXG4gICAgfSwgZXJyb3IpO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmFibGUgdG8gdXBsb2FkIGltYWdlLic7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtlcnJvcjogbWVzc2FnZX0pLFxuICAgICAgaGVhZGVyczogcmVzcG9uc2VIZWFkZXJzLFxuICAgICAgc3RhdHVzQ29kZTogNTAwXG4gICAgfTtcbiAgfVxufTtcbiJdLCJuYW1lcyI6WyJjcmVhdGVIYXNoIiwicGFyc2VTdHJpbmciLCJCdXNib3kiLCJmaWxlVHlwZUZyb21CdWZmZXIiLCJDb25maWciLCJnZXRMYW1iZGFEYXRhIiwiYWRkSW1hZ2UiLCJnZXRIZWFkZXJWYWx1ZSIsImhlYWRlcnMiLCJuYW1lIiwibG93ZXJOYW1lIiwidG9Mb3dlckNhc2UiLCJoZWFkZXJLZXkiLCJPYmplY3QiLCJrZXlzIiwiZmluZCIsImtleSIsIlN0cmluZyIsImdldFJlc3BvbnNlSGVhZGVycyIsImV2ZW50IiwiYWxsb3dlZENvcnNPcmlnaW5zIiwiZGVmYXVsdENvcnNPcmlnaW4iLCJvcmlnaW4iLCJvcmlnaW5TZXQiLCJTZXQiLCJhbGxvd2VkT3JpZ2luIiwiaGFzIiwiaXNNdWx0aXBhcnRVcGxvYWQiLCJpbmNsdWRlcyIsInBhcnNlTXVsdGlwYXJ0VXBsb2FkIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJjb250ZW50VHlwZSIsImZpZWxkcyIsImZpbGVDaHVua3MiLCJjb250ZW50VHlwZUZyb21GaWxlIiwiZmlsZW5hbWUiLCJidXNib3kiLCJvbiIsImZpZWxkTmFtZSIsInZhbHVlIiwiX2ZpZWxkTmFtZSIsImZpbGUiLCJpbmZvIiwibWltZVR5cGUiLCJjaHVuayIsInB1c2giLCJidWZmZXIiLCJCdWZmZXIiLCJjb25jYXQiLCJldmVudEJvZHkiLCJib2R5IiwiYm9keUJ1ZmZlciIsImlzQmFzZTY0RW5jb2RlZCIsImZyb20iLCJlbmQiLCJjcmVhdGVVcGxvYWRIYW5kbGVyIiwiY29uZmlndXJlUmVha3RvciIsInBhcnNlQ29udGV4dCIsIl9sYW1iZGFDb250ZXh0IiwicmVzcG9uc2VIZWFkZXJzIiwiaHR0cE1ldGhvZCIsInN0YXR1c0NvZGUiLCJ1cGRhdGVkQ29udGV4dCIsInVzZXJJZCIsInNlc3Npb24iLCJKU09OIiwic3RyaW5naWZ5IiwiZXJyb3IiLCJpc011bHRpcGFydCIsInVwbG9hZGVkQ29udGVudFR5cGUiLCJtdWx0aXBhcnRVcGxvYWQiLCJmaWxlTmFtZSIsIm1lc3NhZ2UiLCJFcnJvciIsInBhcnNlRGF0YSIsInVuZGVmaW5lZCIsInJlcXVlc3RDb250ZXh0IiwiYmFzZTY0IiwiZm9ybWF0QmFzZTY0Iiwic3Vic3RyaW5nIiwiaW5kZXhPZiIsImZpbGVNaW1lIiwibGVuZ3RoIiwibWltZSIsImRlc2NyaXB0aW9uIiwiaXRlbUlkIiwiaXRlbVR5cGUiLCJwcml2YWN5IiwiZm9ybWF0TmFtZSIsInNwbGl0Iiwic2xpY2UiLCJqb2luIiwidHJpbSIsInJlcGxhY2UiLCJpbWFnZSIsImZpbGVUeXBlIiwiaW1hZ2VJZCIsIkRhdGUiLCJub3ciLCJyZXN1bHRzIiwiY29uc29sZSIsImJ1Y2tldCIsImdldCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsVUFBVSxFQUFFQyxXQUFXLFFBQU8sZUFBZTtBQUNyRCxPQUFPQyxZQUFZLFNBQVM7QUFDNUIsU0FBUUMsa0JBQWtCLFFBQU8sWUFBWTtBQUU3QyxTQUFRQyxNQUFNLFFBQU8sY0FBYztBQUVuQyxTQUFRQyxhQUFhLFFBQU8sdUJBQXVCO0FBQ25ELFNBQVFDLFFBQVEsUUFBTyxzQkFBc0I7QUF5QjdDLE1BQU1DLGlCQUFpQixDQUFDQyxTQUEwQ0M7SUFDaEUsTUFBTUMsWUFBWUQsS0FBS0UsV0FBVztJQUNsQyxNQUFNQyxZQUFZQyxPQUFPQyxJQUFJLENBQUNOLFdBQVcsQ0FBQyxHQUFHTyxJQUFJLENBQUMsQ0FBQ0MsTUFBUUEsSUFBSUwsV0FBVyxPQUFPRDtJQUNqRixPQUFPTyxPQUFPTCxZQUFZSixTQUFTLENBQUNJLFVBQVUsSUFBSSxLQUFLO0FBQ3pEO0FBRUEsTUFBTU0scUJBQXFCLENBQ3pCQyxPQUNBQyxxQkFBd0MsRUFBRSxFQUMxQ0Ms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
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
3
+ * All rights reserved. Use is subject to the accompanying commercial LICENSE.
4
4
  */
5
5
  export declare const removeEmptyKeys: (obj: any) => any;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Copyright (c) 2025-Present, Nitrogen Labs, Inc.
3
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
3
+ * All rights reserved. Use is subject to the accompanying commercial LICENSE.
4
4
  */ export const removeEmptyKeys = (obj)=>{
5
5
  if (Array.isArray(obj)) {
6
6
  return obj.filter((item)=>item !== undefined);
@@ -20,4 +20,4 @@
20
20
  return newObj;
21
21
  };
22
22
 
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2FkYXB0ZXJVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlbW92ZUVtcHR5S2V5cyA9IChvYmopID0+IHtcbiAgaWYoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgcmV0dXJuIG9iai5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IHVuZGVmaW5lZCk7XG4gIH0gZWxzZSBpZihvYmogIT09IE9iamVjdChvYmopKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIGNvbnN0IG5ld09iaiA9IHt9O1xuXG4gIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgaWYoQXJyYXkuaXNBcnJheShvYmpba2V5XSkpIHtcbiAgICAgIG5ld09ialtrZXldID0gb2JqW2tleV1cbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gcmVtb3ZlRW1wdHlLZXlzKGl0ZW0pKVxuICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSB1bmRlZmluZWQpO1xuICAgIH0gZWxzZSBpZihvYmpba2V5XSA9PT0gT2JqZWN0KG9ialtrZXldKSkge1xuICAgICAgbmV3T2JqW2tleV0gPSByZW1vdmVFbXB0eUtleXMob2JqW2tleV0pO1xuICAgIH0gZWxzZSBpZihvYmpba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBuZXdPYmpba2V5XSA9IG9ialtrZXldO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG5ld09iajtcbn07Il0sIm5hbWVzIjpbInJlbW92ZUVtcHR5S2V5cyIsIm9iaiIsIkFycmF5IiwiaXNBcnJheSIsImZpbHRlciIsIml0ZW0iLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJuZXdPYmoiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsIm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsT0FBTyxNQUFNQSxrQkFBa0IsQ0FBQ0M7SUFDOUIsSUFBR0MsTUFBTUMsT0FBTyxDQUFDRixNQUFNO1FBQ3JCLE9BQU9BLElBQUlHLE1BQU0sQ0FBQyxDQUFDQyxPQUFTQSxTQUFTQztJQUN2QyxPQUFPLElBQUdMLFFBQVFNLE9BQU9OLE1BQU07UUFDN0IsT0FBT0E7SUFDVDtJQUVBLE1BQU1PLFNBQVMsQ0FBQztJQUVoQkQsT0FBT0UsSUFBSSxDQUFDUixLQUFLUyxPQUFPLENBQUMsQ0FBQ0M7UUFDeEIsSUFBR1QsTUFBTUMsT0FBTyxDQUFDRixHQUFHLENBQUNVLElBQUksR0FBRztZQUMxQkgsTUFBTSxDQUFDRyxJQUFJLEdBQUdWLEdBQUcsQ0FBQ1UsSUFBSSxDQUNuQkMsR0FBRyxDQUFDLENBQUNQLE9BQVNMLGdCQUFnQkssT0FDOUJELE1BQU0sQ0FBQyxDQUFDQyxPQUFTQSxTQUFTQztRQUMvQixPQUFPLElBQUdMLEdBQUcsQ0FBQ1UsSUFBSSxLQUFLSixPQUFPTixHQUFHLENBQUNVLElBQUksR0FBRztZQUN2Q0gsTUFBTSxDQUFDRyxJQUFJLEdBQUdYLGdCQUFnQkMsR0FBRyxDQUFDVSxJQUFJO1FBQ3hDLE9BQU8sSUFBR1YsR0FBRyxDQUFDVSxJQUFJLEtBQUtMLFdBQVc7WUFDaENFLE1BQU0sQ0FBQ0csSUFBSSxHQUFHVixHQUFHLENBQUNVLElBQUk7UUFDeEI7SUFDRjtJQUVBLE9BQU9IO0FBQ1QsRUFBRSJ9
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy91dGlscy9hZGFwdGVyVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjUtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIGlzIHN1YmplY3QgdG8gdGhlIGFjY29tcGFueWluZyBjb21tZXJjaWFsIExJQ0VOU0UuXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVFbXB0eUtleXMgPSAob2JqKSA9PiB7XG4gIGlmKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgIHJldHVybiBvYmouZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSB1bmRlZmluZWQpO1xuICB9IGVsc2UgaWYob2JqICE9PSBPYmplY3Qob2JqKSkge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBjb25zdCBuZXdPYmogPSB7fTtcblxuICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGlmKEFycmF5LmlzQXJyYXkob2JqW2tleV0pKSB7XG4gICAgICBuZXdPYmpba2V5XSA9IG9ialtrZXldXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IHJlbW92ZUVtcHR5S2V5cyhpdGVtKSlcbiAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gdW5kZWZpbmVkKTtcbiAgICB9IGVsc2UgaWYob2JqW2tleV0gPT09IE9iamVjdChvYmpba2V5XSkpIHtcbiAgICAgIG5ld09ialtrZXldID0gcmVtb3ZlRW1wdHlLZXlzKG9ialtrZXldKTtcbiAgICB9IGVsc2UgaWYob2JqW2tleV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgbmV3T2JqW2tleV0gPSBvYmpba2V5XTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBuZXdPYmo7XG59O1xuIl0sIm5hbWVzIjpbInJlbW92ZUVtcHR5S2V5cyIsIm9iaiIsIkFycmF5IiwiaXNBcnJheSIsImZpbHRlciIsIml0ZW0iLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJuZXdPYmoiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsIm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsT0FBTyxNQUFNQSxrQkFBa0IsQ0FBQ0M7SUFDOUIsSUFBR0MsTUFBTUMsT0FBTyxDQUFDRixNQUFNO1FBQ3JCLE9BQU9BLElBQUlHLE1BQU0sQ0FBQyxDQUFDQyxPQUFTQSxTQUFTQztJQUN2QyxPQUFPLElBQUdMLFFBQVFNLE9BQU9OLE1BQU07UUFDN0IsT0FBT0E7SUFDVDtJQUVBLE1BQU1PLFNBQVMsQ0FBQztJQUVoQkQsT0FBT0UsSUFBSSxDQUFDUixLQUFLUyxPQUFPLENBQUMsQ0FBQ0M7UUFDeEIsSUFBR1QsTUFBTUMsT0FBTyxDQUFDRixHQUFHLENBQUNVLElBQUksR0FBRztZQUMxQkgsTUFBTSxDQUFDRyxJQUFJLEdBQUdWLEdBQUcsQ0FBQ1UsSUFBSSxDQUNuQkMsR0FBRyxDQUFDLENBQUNQLE9BQVNMLGdCQUFnQkssT0FDOUJELE1BQU0sQ0FBQyxDQUFDQyxPQUFTQSxTQUFTQztRQUMvQixPQUFPLElBQUdMLEdBQUcsQ0FBQ1UsSUFBSSxLQUFLSixPQUFPTixHQUFHLENBQUNVLElBQUksR0FBRztZQUN2Q0gsTUFBTSxDQUFDRyxJQUFJLEdBQUdYLGdCQUFnQkMsR0FBRyxDQUFDVSxJQUFJO1FBQ3hDLE9BQU8sSUFBR1YsR0FBRyxDQUFDVSxJQUFJLEtBQUtMLFdBQVc7WUFDaENFLE1BQU0sQ0FBQ0csSUFBSSxHQUFHVixHQUFHLENBQUNVLElBQUk7UUFDeEI7SUFDRjtJQUVBLE9BQU9IO0FBQ1QsRUFBRSJ9
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
3
+ * All rights reserved. Use is subject to the accompanying commercial LICENSE.
4
4
  */
5
5
  import type { ApiContext } from '../types/auth.types.js';
6
6
  export type ReaktorError = Error & {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
3
+ * All rights reserved. Use is subject to the accompanying commercial LICENSE.
4
4
  */ export const IsUserError = Symbol();
5
5
  export class UserError extends Error {
6
6
  constructor(...args){
@@ -42,4 +42,4 @@ export const logInfo = (params)=>{
42
42
  });
43
43
  };
44
44
 
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2FuYWx5dGljc1V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5cbmV4cG9ydCB0eXBlIFJlYWt0b3JFcnJvciA9IEVycm9yICYge1xuICByZWFkb25seSBjb2x1bW4/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGxpbmU/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNvdXJjZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFJlYWt0b3JMb2dQYXJhbXMgPSB7XG4gIHJlYWRvbmx5IGFjdGlvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgY2F0ZWdvcnk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsPzogc3RyaW5nO1xuICByZWFkb25seSBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgcmVhZG9ubHkgdmFsdWU/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgSXNVc2VyRXJyb3IgPSBTeW1ib2woKTtcbmV4cG9ydCBjbGFzcyBVc2VyRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKC4uLmFyZ3MpIHtcbiAgICBzdXBlciguLi5hcmdzKTtcbiAgICB0aGlzLm5hbWUgPSAnRXJyb3InO1xuICAgIHRoaXMubWVzc2FnZSA9IGFyZ3NbMF07XG4gICAgdGhpc1tJc1VzZXJFcnJvcl0gPSB0cnVlO1xuXG4gICAgLy8gRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGxvZ0Vycm9yID0gKHBhcmFtczogUmVha3RvckxvZ1BhcmFtcywgZXJyb3I/OiBSZWFrdG9yRXJyb3IsIGNvbnRleHQ/OiBBcGlDb250ZXh0KTogUHJvbWlzZTx1bmtub3duPiA9PiB7XG4gIGNvbnN0IHtcbiAgICBjb2x1bW4sXG4gICAgbGluZSxcbiAgICBtZXNzYWdlLFxuICAgIHNvdXJjZVxuICB9ID0gZXJyb3IgfHwge307XG5cbiAgY29uc3Qge2RhdGFiYXNlTmFtZSwgLi4udXBkYXRlZENvbnRleHR9ID0gY29udGV4dCB8fCB7fTtcblxuICBjb25zb2xlLmVycm9yKCdSZWFrdG9yIEVycm9yOicsIHtcbiAgICBjb2x1bW4sXG4gICAgbGluZSxcbiAgICBtZXNzYWdlLFxuICAgIHNvdXJjZSxcbiAgICB0eXBlOiAnZXJyb3InLFxuICAgIC4uLnBhcmFtcyxcbiAgICAuLi51cGRhdGVkQ29udGV4dCxcbiAgICBlcnJvclxuICB9KTtcblxuICB0aHJvdyAoZXJyb3IgfHwgbmV3IFVzZXJFcnJvcihwYXJhbXM/LnZhbHVlKSk7XG59O1xuXG5leHBvcnQgY29uc3QgbG9nRXhjZXB0aW9uID0gKHBhcmFtczogUmVha3RvckxvZ1BhcmFtcywgY29udGV4dDogQXBpQ29udGV4dCk6IFByb21pc2U8dW5rbm93bj4gPT4ge1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCAuLi51cGRhdGVkQ29udGV4dH0gPSBjb250ZXh0O1xuXG4gIGNvbnNvbGUuZXJyb3IoJ1JlYWt0b3IgRXhjZXB0aW9uOicsIHt0eXBlOiAnZXhjZXB0aW9uJywgLi4ucGFyYW1zLCAuLi51cGRhdGVkQ29udGV4dH0pO1xuICB0aHJvdyBuZXcgVXNlckVycm9yKHBhcmFtcz8udmFsdWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGxvZ0luZm8gPSAocGFyYW1zKTogdm9pZCA9PiB7XG4gIGNvbnNvbGUuaW5mbygnUmVha3RvciBMb2c6Jywge3R5cGU6ICdsb2cnLCAuLi5wYXJhbXN9KTtcbn07XG4iXSwibmFtZXMiOlsiSXNVc2VyRXJyb3IiLCJTeW1ib2wiLCJVc2VyRXJyb3IiLCJFcnJvciIsImFyZ3MiLCJuYW1lIiwibWVzc2FnZSIsImxvZ0Vycm9yIiwicGFyYW1zIiwiZXJyb3IiLCJjb250ZXh0IiwiY29sdW1uIiwibGluZSIsInNvdXJjZSIsImRhdGFiYXNlTmFtZSIsInVwZGF0ZWRDb250ZXh0IiwiY29uc29sZSIsInR5cGUiLCJ2YWx1ZSIsImxvZ0V4Y2VwdGlvbiIsImxvZ0luZm8iLCJpbmZvIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FrQkQsT0FBTyxNQUFNQSxjQUFjQyxTQUFTO0FBQ3BDLE9BQU8sTUFBTUMsa0JBQWtCQztJQUM3QixZQUFZLEdBQUdDLElBQUksQ0FBRTtRQUNuQixLQUFLLElBQUlBO1FBQ1QsSUFBSSxDQUFDQyxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNDLE9BQU8sR0FBR0YsSUFBSSxDQUFDLEVBQUU7UUFDdEIsSUFBSSxDQUFDSixZQUFZLEdBQUc7SUFFcEIsaUNBQWlDO0lBQ25DO0FBQ0Y7QUFFQSxPQUFPLE1BQU1PLFdBQVcsQ0FBQ0MsUUFBMEJDLE9BQXNCQztJQUN2RSxNQUFNLEVBQ0pDLE1BQU0sRUFDTkMsSUFBSSxFQUNKTixPQUFPLEVBQ1BPLE1BQU0sRUFDUCxHQUFHSixTQUFTLENBQUM7SUFFZCxNQUFNLEVBQUNLLFlBQVksRUFBRSxHQUFHQyxnQkFBZSxHQUFHTCxXQUFXLENBQUM7SUFFdERNLFFBQVFQLEtBQUssQ0FBQyxrQkFBa0I7UUFDOUJFO1FBQ0FDO1FBQ0FOO1FBQ0FPO1FBQ0FJLE1BQU07UUFDTixHQUFHVCxNQUFNO1FBQ1QsR0FBR08sY0FBYztRQUNqQk47SUFDRjtJQUVBLE1BQU9BLFNBQVMsSUFBSVAsVUFBVU0sUUFBUVU7QUFDeEMsRUFBRTtBQUVGLE9BQU8sTUFBTUMsZUFBZSxDQUFDWCxRQUEwQkU7SUFDckQsTUFBTSxFQUFDSSxZQUFZLEVBQUUsR0FBR0MsZ0JBQWUsR0FBR0w7SUFFMUNNLFFBQVFQLEtBQUssQ0FBQyxzQkFBc0I7UUFBQ1EsTUFBTTtRQUFhLEdBQUdULE1BQU07UUFBRSxHQUFHTyxjQUFjO0lBQUE7SUFDcEYsTUFBTSxJQUFJYixVQUFVTSxRQUFRVTtBQUM5QixFQUFFO0FBRUYsT0FBTyxNQUFNRSxVQUFVLENBQUNaO0lBQ3RCUSxRQUFRSyxJQUFJLENBQUMsZ0JBQWdCO1FBQUNKLE1BQU07UUFBTyxHQUFHVCxNQUFNO0lBQUE7QUFDdEQsRUFBRSJ9
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy91dGlscy9hbmFseXRpY3NVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBVc2UgaXMgc3ViamVjdCB0byB0aGUgYWNjb21wYW55aW5nIGNvbW1lcmNpYWwgTElDRU5TRS5cbiAqL1xuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuXG5leHBvcnQgdHlwZSBSZWFrdG9yRXJyb3IgPSBFcnJvciAmIHtcbiAgcmVhZG9ubHkgY29sdW1uPzogbnVtYmVyO1xuICByZWFkb25seSBsaW5lPzogbnVtYmVyO1xuICByZWFkb25seSBtZXNzYWdlPzogc3RyaW5nO1xuICByZWFkb25seSBzb3VyY2U/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBSZWFrdG9yTG9nUGFyYW1zID0ge1xuICByZWFkb25seSBhY3Rpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNhdGVnb3J5Pzogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbD86IHN0cmluZztcbiAgcmVhZG9ubHkgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIHJlYWRvbmx5IHZhbHVlPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IElzVXNlckVycm9yID0gU3ltYm9sKCk7XG5leHBvcnQgY2xhc3MgVXNlckVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvciguLi5hcmdzKSB7XG4gICAgc3VwZXIoLi4uYXJncyk7XG4gICAgdGhpcy5uYW1lID0gJ0Vycm9yJztcbiAgICB0aGlzLm1lc3NhZ2UgPSBhcmdzWzBdO1xuICAgIHRoaXNbSXNVc2VyRXJyb3JdID0gdHJ1ZTtcblxuICAgIC8vIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBsb2dFcnJvciA9IChwYXJhbXM6IFJlYWt0b3JMb2dQYXJhbXMsIGVycm9yPzogUmVha3RvckVycm9yLCBjb250ZXh0PzogQXBpQ29udGV4dCk6IFByb21pc2U8dW5rbm93bj4gPT4ge1xuICBjb25zdCB7XG4gICAgY29sdW1uLFxuICAgIGxpbmUsXG4gICAgbWVzc2FnZSxcbiAgICBzb3VyY2VcbiAgfSA9IGVycm9yIHx8IHt9O1xuXG4gIGNvbnN0IHtkYXRhYmFzZU5hbWUsIC4uLnVwZGF0ZWRDb250ZXh0fSA9IGNvbnRleHQgfHwge307XG5cbiAgY29uc29sZS5lcnJvcignUmVha3RvciBFcnJvcjonLCB7XG4gICAgY29sdW1uLFxuICAgIGxpbmUsXG4gICAgbWVzc2FnZSxcbiAgICBzb3VyY2UsXG4gICAgdHlwZTogJ2Vycm9yJyxcbiAgICAuLi5wYXJhbXMsXG4gICAgLi4udXBkYXRlZENvbnRleHQsXG4gICAgZXJyb3JcbiAgfSk7XG5cbiAgdGhyb3cgKGVycm9yIHx8IG5ldyBVc2VyRXJyb3IocGFyYW1zPy52YWx1ZSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGxvZ0V4Y2VwdGlvbiA9IChwYXJhbXM6IFJlYWt0b3JMb2dQYXJhbXMsIGNvbnRleHQ6IEFwaUNvbnRleHQpOiBQcm9taXNlPHVua25vd24+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlTmFtZSwgLi4udXBkYXRlZENvbnRleHR9ID0gY29udGV4dDtcblxuICBjb25zb2xlLmVycm9yKCdSZWFrdG9yIEV4Y2VwdGlvbjonLCB7dHlwZTogJ2V4Y2VwdGlvbicsIC4uLnBhcmFtcywgLi4udXBkYXRlZENvbnRleHR9KTtcbiAgdGhyb3cgbmV3IFVzZXJFcnJvcihwYXJhbXM/LnZhbHVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBsb2dJbmZvID0gKHBhcmFtcyk6IHZvaWQgPT4ge1xuICBjb25zb2xlLmluZm8oJ1JlYWt0b3IgTG9nOicsIHt0eXBlOiAnbG9nJywgLi4ucGFyYW1zfSk7XG59O1xuIl0sIm5hbWVzIjpbIklzVXNlckVycm9yIiwiU3ltYm9sIiwiVXNlckVycm9yIiwiRXJyb3IiLCJhcmdzIiwibmFtZSIsIm1lc3NhZ2UiLCJsb2dFcnJvciIsInBhcmFtcyIsImVycm9yIiwiY29udGV4dCIsImNvbHVtbiIsImxpbmUiLCJzb3VyY2UiLCJkYXRhYmFzZU5hbWUiLCJ1cGRhdGVkQ29udGV4dCIsImNvbnNvbGUiLCJ0eXBlIiwidmFsdWUiLCJsb2dFeGNlcHRpb24iLCJsb2dJbmZvIiwiaW5mbyJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBa0JELE9BQU8sTUFBTUEsY0FBY0MsU0FBUztBQUNwQyxPQUFPLE1BQU1DLGtCQUFrQkM7SUFDN0IsWUFBWSxHQUFHQyxJQUFJLENBQUU7UUFDbkIsS0FBSyxJQUFJQTtRQUNULElBQUksQ0FBQ0MsSUFBSSxHQUFHO1FBQ1osSUFBSSxDQUFDQyxPQUFPLEdBQUdGLElBQUksQ0FBQyxFQUFFO1FBQ3RCLElBQUksQ0FBQ0osWUFBWSxHQUFHO0lBRXBCLGlDQUFpQztJQUNuQztBQUNGO0FBRUEsT0FBTyxNQUFNTyxXQUFXLENBQUNDLFFBQTBCQyxPQUFzQkM7SUFDdkUsTUFBTSxFQUNKQyxNQUFNLEVBQ05DLElBQUksRUFDSk4sT0FBTyxFQUNQTyxNQUFNLEVBQ1AsR0FBR0osU0FBUyxDQUFDO0lBRWQsTUFBTSxFQUFDSyxZQUFZLEVBQUUsR0FBR0MsZ0JBQWUsR0FBR0wsV0FBVyxDQUFDO0lBRXRETSxRQUFRUCxLQUFLLENBQUMsa0JBQWtCO1FBQzlCRTtRQUNBQztRQUNBTjtRQUNBTztRQUNBSSxNQUFNO1FBQ04sR0FBR1QsTUFBTTtRQUNULEdBQUdPLGNBQWM7UUFDakJOO0lBQ0Y7SUFFQSxNQUFPQSxTQUFTLElBQUlQLFVBQVVNLFFBQVFVO0FBQ3hDLEVBQUU7QUFFRixPQUFPLE1BQU1DLGVBQWUsQ0FBQ1gsUUFBMEJFO0lBQ3JELE1BQU0sRUFBQ0ksWUFBWSxFQUFFLEdBQUdDLGdCQUFlLEdBQUdMO0lBRTFDTSxRQUFRUCxLQUFLLENBQUMsc0JBQXNCO1FBQUNRLE1BQU07UUFBYSxHQUFHVCxNQUFNO1FBQUUsR0FBR08sY0FBYztJQUFBO0lBQ3BGLE1BQU0sSUFBSWIsVUFBVU0sUUFBUVU7QUFDOUIsRUFBRTtBQUVGLE9BQU8sTUFBTUUsVUFBVSxDQUFDWjtJQUN0QlEsUUFBUUssSUFBSSxDQUFDLGdCQUFnQjtRQUFDSixNQUFNO1FBQU8sR0FBR1QsTUFBTTtJQUFBO0FBQ3RELEVBQUUifQ==
@@ -0,0 +1,2 @@
1
+ import type { ApiContext } from '../types/auth.types.js';
2
+ export declare const scopeContextToApp: (context: ApiContext, appId?: string) => Promise<ApiContext>;
@@ -0,0 +1,10 @@
1
+ export const scopeContextToApp = async (context, appId)=>{
2
+ if (!appId) return context;
3
+ if (!context.resolveAppDatabaseName) throw new Error('app_database_resolver_unavailable');
4
+ return {
5
+ ...context,
6
+ databaseName: await context.resolveAppDatabaseName(context, appId)
7
+ };
8
+ };
9
+
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy91dGlscy9hcHBDb250ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzLmpzJztcblxuZXhwb3J0IGNvbnN0IHNjb3BlQ29udGV4dFRvQXBwID0gYXN5bmMgKGNvbnRleHQ6IEFwaUNvbnRleHQsIGFwcElkPzogc3RyaW5nKTogUHJvbWlzZTxBcGlDb250ZXh0PiA9PiB7XG4gIGlmKCFhcHBJZCkgcmV0dXJuIGNvbnRleHQ7XG4gIGlmKCFjb250ZXh0LnJlc29sdmVBcHBEYXRhYmFzZU5hbWUpIHRocm93IG5ldyBFcnJvcignYXBwX2RhdGFiYXNlX3Jlc29sdmVyX3VuYXZhaWxhYmxlJyk7XG5cbiAgcmV0dXJuIHsuLi5jb250ZXh0LCBkYXRhYmFzZU5hbWU6IGF3YWl0IGNvbnRleHQucmVzb2x2ZUFwcERhdGFiYXNlTmFtZShjb250ZXh0LCBhcHBJZCl9O1xufTtcbiJdLCJuYW1lcyI6WyJzY29wZUNvbnRleHRUb0FwcCIsImNvbnRleHQiLCJhcHBJZCIsInJlc29sdmVBcHBEYXRhYmFzZU5hbWUiLCJFcnJvciIsImRhdGFiYXNlTmFtZSJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxNQUFNQSxvQkFBb0IsT0FBT0MsU0FBcUJDO0lBQzNELElBQUcsQ0FBQ0EsT0FBTyxPQUFPRDtJQUNsQixJQUFHLENBQUNBLFFBQVFFLHNCQUFzQixFQUFFLE1BQU0sSUFBSUMsTUFBTTtJQUVwRCxPQUFPO1FBQUMsR0FBR0gsT0FBTztRQUFFSSxjQUFjLE1BQU1KLFFBQVFFLHNCQUFzQixDQUFDRixTQUFTQztJQUFNO0FBQ3hGLEVBQUUifQ==
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
3
+ * All rights reserved. Use is subject to the accompanying commercial LICENSE.
4
4
  */
5
5
  import type { FilterCondition, FilterGroup, LimitOption, SortOption } from '../types/arangodb.types.js';
6
6
  export type { FilterCondition, FilterGroup, LimitOption, SortOption };
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
3
+ * All rights reserved. Use is subject to the accompanying commercial LICENSE.
4
4
  */ import { COLLECTIONS, EDGES, ReactionType } from '../constants/collections.js';
5
5
  /**
6
6
  * AQL Helper Functions
@@ -213,4 +213,4 @@ export const buildFullTextSearch = (searchOptions, docVar = 'doc')=>{
213
213
  return `FILTER CONTAINS(LOWER(${docVar}.${sanitizedField}), LOWER("${escapedQuery}"))`;
214
214
  };
215
215
 
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2FxbEhlbHBlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cblxuaW1wb3J0IHtDT0xMRUNUSU9OUywgRURHRVMsIFJlYWN0aW9uVHlwZX0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbGxlY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtGaWx0ZXJDb25kaXRpb24sIEZpbHRlckdyb3VwLCBMaW1pdE9wdGlvbiwgU29ydE9wdGlvbn0gZnJvbSAnLi4vdHlwZXMvYXJhbmdvZGIudHlwZXMuanMnO1xuXG4vLyBFeHBvcnQgdHlwZXMgZm9yIHVzZSBpbiBvdGhlciBtb2R1bGVzXG5leHBvcnQgdHlwZSB7RmlsdGVyQ29uZGl0aW9uLCBGaWx0ZXJHcm91cCwgTGltaXRPcHRpb24sIFNvcnRPcHRpb259O1xuXG4vKipcbiAqIEFRTCBIZWxwZXIgRnVuY3Rpb25zXG4gKiBDb21tb24gcXVlcnkgYnVpbGRpbmcgdXRpbGl0aWVzIHRvIHJlZHVjZSBjb2RlIGR1cGxpY2F0aW9uIGFjcm9zcyBhY3Rpb24gZmlsZXNcbiAqL1xuXG4vKipcbiAqIEJ1aWxkIGRpc3RhbmNlIGNhbGN1bGF0aW9uIEFRTCBxdWVyeVxuICogQ2FsY3VsYXRlcyBkaXN0YW5jZSBiZXR3ZWVuIHR3byBnZW9ncmFwaGljYWwgY29vcmRpbmF0ZXNcbiAqIEBwYXJhbSBsYXQgLSBMYXRpdHVkZSBjb29yZGluYXRlXG4gKiBAcGFyYW0gbG5nIC0gTG9uZ2l0dWRlIGNvb3JkaW5hdGVcbiAqIEByZXR1cm5zIEFRTCBkaXN0YW5jZSBjYWxjdWxhdGlvbiBzdHJpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IGJ1aWxkRGlzdGFuY2VRdWVyeSA9IChsYXQ6IG51bWJlciwgbG5nOiBudW1iZXIpOiBzdHJpbmcgPT5cbiAgYExFVCBkaXN0YW5jZSA9IERJU1RBTkNFKFxuICAgICR7bGF0fSxcbiAgICAke2xuZ30sXG4gICAgTk9UX05VTEwocC5sYXRpdHVkZSwgMCksXG4gICAgTk9UX05VTEwocC5sb25naXR1ZGUsIDApKVxuICBgO1xuXG4vKipcbiAqIEJ1aWxkIHJlYWN0aW9uIGNvdW50IHF1ZXJ5IGZvciBhIHNwZWNpZmljIHJlYWN0aW9uIHR5cGVcbiAqIEBwYXJhbSByZWFjdGlvbk5hbWUgLSBOYW1lIG9mIHRoZSByZWFjdGlvbiAobGlrZSwgcnN2cCwgcGluLCB2aWV3KVxuICogQHBhcmFtIGl0ZW1WYXIgLSBWYXJpYWJsZSBuYW1lIGZvciB0aGUgaXRlbSAoZGVmYXVsdDogJ3AnKVxuICogQHBhcmFtIGl0ZW1UeXBlIC0gVHlwZSBvZiBpdGVtIChkZWZhdWx0OiAncG9zdHMnKVxuICogQHJldHVybnMgQVFMIHJlYWN0aW9uIGNvdW50IHF1ZXJ5IHN0cmluZ1xuICovXG5leHBvcnQgY29uc3QgYnVpbGRSZWFjdGlvbkNvdW50UXVlcnkgPSAoXG4gIHJlYWN0aW9uTmFtZTogc3RyaW5nLFxuICBpdGVtVmFyOiBzdHJpbmcgPSAncCcsXG4gIGl0ZW1UeXBlOiBzdHJpbmcgPSAncG9zdHMnXG4pOiBzdHJpbmcgPT5cbiAgYExFVCAke3JlYWN0aW9uTmFtZX1Db3VudCA9IEZJUlNUKFxuICAgIEZPUiBpdGVtLCByIElOIElOQk9VTkQgJHtpdGVtVmFyfS5faWQgJHtFREdFUy5IQVNfUkVBQ1RJT059XG4gICAgRklMVEVSIHIubmFtZSA9PSBcIiR7cmVhY3Rpb25OYW1lfVwiICYmIHIudHlwZSA9PSBcIiR7aXRlbVR5cGV9XCJcbiAgICBDT0xMRUNUIFdJVEggQ09VTlQgSU5UTyBjb3VudFxuICAgIFJFVFVSTiBjb3VudFxuICApYDtcblxuLyoqXG4gKiBCdWlsZCB1c2VyLXNwZWNpZmljIHJlYWN0aW9uIGNoZWNrIHF1ZXJ5XG4gKiBDaGVja3MgaWYgYSBzcGVjaWZpYyB1c2VyIGhhcyByZWFjdGVkIHRvIGFuIGl0ZW1cbiAqIEBwYXJhbSByZWFjdGlvbk5hbWUgLSBOYW1lIG9mIHRoZSByZWFjdGlvblxuICogQHBhcmFtIHNlc3Npb25JZCAtIFVzZXIgc2Vzc2lvbiBJRFxuICogQHBhcmFtIGl0ZW1WYXIgLSBWYXJpYWJsZSBuYW1lIGZvciB0aGUgaXRlbSAoZGVmYXVsdDogJ3AnKVxuICogQHBhcmFtIGl0ZW1UeXBlIC0gVHlwZSBvZiBpdGVtIChkZWZhdWx0OiAncG9zdHMnKVxuICogQHJldHVybnMgQVFMIHVzZXIgcmVhY3Rpb24gY2hlY2sgcXVlcnkgc3RyaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZFVzZXJSZWFjdGlvblF1ZXJ5ID0gKFxuICByZWFjdGlvbk5hbWU6IHN0cmluZyxcbiAgc2Vzc2lvbklkOiBzdHJpbmcsXG4gIGl0ZW1WYXI6IHN0cmluZyA9ICdwJyxcbiAgaXRlbVR5cGU6IHN0cmluZyA9ICdwb3N0cydcbik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHZhck5hbWUgPSByZWFjdGlvbk5hbWUgPT09IFJlYWN0aW9uVHlwZS5QSU5cbiAgICA/ICdpc1NhdmVkJ1xuICAgIDogYGhhcyR7cmVhY3Rpb25OYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcmVhY3Rpb25OYW1lLnNsaWNlKDEpfWA7XG4gIGNvbnN0IGFjdG9yRG9jSWQgPSBzZXNzaW9uSWQuaW5jbHVkZXMoJy8nKSA/IHNlc3Npb25JZCA6IGAke0NPTExFQ1RJT05TLlVTRVJTfS8ke3Nlc3Npb25JZH1gO1xuXG4gIHJldHVybiBgTEVUICR7dmFyTmFtZX0gPSBUT19CT09MKEZJUlNUKFxuICAgIEZPUiBpdGVtLCByIElOIElOQk9VTkQgJHtpdGVtVmFyfS5faWQgJHtFREdFUy5IQVNfUkVBQ1RJT059XG4gICAgRklMVEVSIHIubmFtZSA9PSBcIiR7cmVhY3Rpb25OYW1lfVwiICYmIHIudHlwZSA9PSBcIiR7aXRlbVR5cGV9XCIgJiYgci5fZnJvbSA9PSBcIiR7YWN0b3JEb2NJZH1cIlxuICAgIENPTExFQ1QgV0lUSCBDT1VOVCBJTlRPIGNvdW50XG4gICAgUkVUVVJOIGNvdW50XG4gICkpYDtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZFJlYWN0aW9uc1F1ZXJ5ID0gKGl0ZW1WYXI6IHN0cmluZyA9ICdwJyk6IHN0cmluZyA9PlxuICBgTEVUIHJlYWN0aW9ucyA9IChcbiAgICBGT1IgaXRlbSwgciBJTiBJTkJPVU5EICR7aXRlbVZhcn0uX2lkICR7RURHRVMuSEFTX1JFQUNUSU9OfVxuICAgIENPTExFQ1QgcmVhY3Rpb25OYW1lID0gci52YWx1ZSBJTlRPIHJlYWN0aW9uSXRlbXNcbiAgICBSRVRVUk4ge25hbWU6IHJlYWN0aW9uTmFtZSwgY291bnQ6IExFTkdUSChyZWFjdGlvbkl0ZW1zWypdLnIudmFsdWUpfVxuICApYDtcblxuXG5leHBvcnQgY29uc3QgYnVpbGRUYWdzUXVlcnkgPSAoaXRlbVZhcjogc3RyaW5nID0gJ3AnLCB0YWdOYW1lcz86IHN0cmluZ1tdKTogc3RyaW5nID0+IHtcbiAgY29uc3QgbWF0Y2hDbGF1c2UgPSB0YWdOYW1lcyAmJiB0YWdOYW1lcy5sZW5ndGhcbiAgICA/IGBMRVQgbWF0Y2hlZCA9IExFTkdUSCgke0pTT04uc3RyaW5naWZ5KHRhZ05hbWVzKX0pID4gMCAmJiBQT1NJVElPTigke0pTT04uc3RyaW5naWZ5KHRhZ05hbWVzKX0sIHRhZy5uYW1lKWBcbiAgICA6ICcnO1xuXG4gIHJldHVybiBgTEVUIHRhZ3MgPSAoXG4gICAgRk9SIHRhZywgaXQgSU4gMS4uMSBJTkJPVU5EICR7aXRlbVZhcn0gJHtFREdFUy5JU19UQUdHRUR9XG4gICAgJHttYXRjaENsYXVzZX1cbiAgICBTT1JUIHRhZy5uYW1lXG4gICAgUkVUVVJOICR7bWF0Y2hDbGF1c2UgPyAnTUVSR0UodGFnLCB7bWF0Y2hlZDptYXRjaGVkfSknIDogJ3RhZyd9XG4gIClgO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkR3JvdXBQcml2YWN5RmlsdGVyID0gKFxuICBncm91cElkOiBzdHJpbmcsXG4gIHNlc3Npb25JZDogc3RyaW5nLFxuICBncm91cFZhcjogc3RyaW5nID0gJ2dyb3VwJ1xuKTogc3RyaW5nID0+XG4gIGBGT1IgJHtncm91cFZhcn0gSU4gJHtDT0xMRUNUSU9OUy5HUk9VUFN9XG4gICAgRklMVEVSICR7Z3JvdXBWYXJ9Ll9rZXkgPT0gXCIke2dyb3VwSWR9XCJcbiAgICBGT1IgdSwgZSBJTiBPVVRCT1VORCAke2dyb3VwVmFyfS5faWQgJHtFREdFUy5IQVNfQ09OTkVDVElPTn1cbiAgICBGSUxURVIgdS5fa2V5ID09IFwiJHtzZXNzaW9uSWR9XCJcbiAgICBMSU1JVCAxYDtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkVXNlckluZm9RdWVyeSA9ICh1c2VySWRGaWVsZDogc3RyaW5nID0gJ3AudXNlcklkJyk6IHN0cmluZyA9PlxuICBgTEVUIHVzZXIgPSBGSVJTVChcbiAgICBGT1IgdSBJTiAke0NPTExFQ1RJT05TLlVTRVJTfVxuICAgIEZJTFRFUiB1Ll9rZXkgPT0gJHt1c2VySWRGaWVsZH1cbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIHVcbiAgKWA7XG5cbmV4cG9ydCBjb25zdCBidWlsZE1hdGNoZWRUYWdzQ291bnRRdWVyeSA9ICh0YWdOYW1lczogc3RyaW5nW10pOiBzdHJpbmcgPT5cbiAgYExFVCBtYXRjaGVkVGFncyA9IExFTkdUSChcbiAgICBGT1IgdCBJTiB0YWdzXG4gICAgRklMVEVSIHQubWF0Y2hlZCA9PSB0cnVlXG4gICAgUkVUVVJOIHRcbiAgKWA7XG5cbmV4cG9ydCBjb25zdCBidWlsZE1hdGNoZWRSZWFjdGlvbnNDb3VudFF1ZXJ5ID0gKHJlYWN0aW9uTmFtZXM6IHN0cmluZ1tdKTogc3RyaW5nID0+XG4gIGBMRVQgbWF0Y2hlZFJlYWN0aW9ucyA9IExFTkdUSChcbiAgICBGT1IgbXIgSU4gcmVhY3Rpb25zXG4gICAgRklMVEVSIG1yLm1hdGNoZWQgPT0gdHJ1ZVxuICAgIFJFVFVSTiBtclxuICApYDtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkRmlsZXNRdWVyeSA9IChpdGVtVmFyOiBzdHJpbmcgPSAncCcsIGVkZ2VUeXBlOiBzdHJpbmcgPSBFREdFUy5IQVNfRklMRSk6IHN0cmluZyA9PlxuICBgTEVUIGZpbGVzID0gKFxuICAgIEZPUiBmLCBlIElOIDEuLjEgSU5CT1VORCAke2l0ZW1WYXJ9Ll9pZCAke2VkZ2VUeXBlfVxuICAgIFJFVFVSTiBmXG4gIClgO1xuXG5leHBvcnQgY29uc3QgYnVpbGRVc2VyQ29ubmVjdGlvblF1ZXJ5ID0gKFxuICBmcm9tVXNlcklkOiBzdHJpbmcsXG4gIHRvVXNlcklkOiBzdHJpbmcsXG4gIGNvbm5lY3Rpb25UeXBlPzogc3RyaW5nXG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCB0eXBlRmlsdGVyID0gY29ubmVjdGlvblR5cGUgPyBgJiYgZS50eXBlID09IFwiJHtjb25uZWN0aW9uVHlwZX1cImAgOiAnJztcbiAgcmV0dXJuIGBGT1IgdSwgZSBJTiAxLi4xIE9VVEJPVU5EIFwiJHtDT0xMRUNUSU9OUy5VU0VSU30vJHtmcm9tVXNlcklkfVwiICR7RURHRVMuSEFTX0NPTk5FQ1RJT059XG4gICAgRklMVEVSIHUuX2tleSA9PSBcIiR7dG9Vc2VySWR9XCIgJHt0eXBlRmlsdGVyfVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gZWA7XG59O1xuXG5leHBvcnQgY29uc3Qgc2FuaXRpemVDb2xsZWN0aW9uTmFtZSA9IChjb2xsZWN0aW9uOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAvLyBPbmx5IGFsbG93IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCB1bmRlcnNjb3Jlc1xuICBpZighL15bYS16QS1aX11bYS16QS1aMC05X10qJC8udGVzdChjb2xsZWN0aW9uKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2xsZWN0aW9uIG5hbWU6ICR7Y29sbGVjdGlvbn1gKTtcbiAgfVxuICByZXR1cm4gY29sbGVjdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBzYW5pdGl6ZUZpZWxkTmFtZSA9IChmaWVsZDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgLy8gQWxsb3cgYWxwaGFudW1lcmljLCB1bmRlcnNjb3JlcywgZG90cyAoZm9yIG5lc3RlZCBmaWVsZHMpXG4gIGlmKCEvXlthLXpBLVpfXVthLXpBLVowLTlfLl0qJC8udGVzdChmaWVsZCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmllbGQgbmFtZTogJHtmaWVsZH1gKTtcbiAgfVxuICByZXR1cm4gZmllbGQ7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRGaWx0ZXJDbGF1c2UgPSAoZmlsdGVyczogRmlsdGVyR3JvdXAsIGRvY1Zhcjogc3RyaW5nID0gJ2RvYycpOiBzdHJpbmcgPT4ge1xuICBpZighZmlsdGVycyB8fCAhZmlsdGVycy5jb25kaXRpb25zIHx8IGZpbHRlcnMuY29uZGl0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjb25zdCBidWlsZENvbmRpdGlvbiA9IChjb25kaXRpb246IEZpbHRlckNvbmRpdGlvbiB8IEZpbHRlckdyb3VwKTogc3RyaW5nID0+IHtcbiAgICBpZignY29uZGl0aW9ucycgaW4gY29uZGl0aW9uICYmIEFycmF5LmlzQXJyYXkoY29uZGl0aW9uLmNvbmRpdGlvbnMpKSB7XG4gICAgICBjb25zdCBuZXN0ZWRHcm91cCA9IGNvbmRpdGlvbiBhcyBGaWx0ZXJHcm91cDtcbiAgICAgIGNvbnN0IG5lc3RlZENvbmRpdGlvbnMgPSBuZXN0ZWRHcm91cC5jb25kaXRpb25zLm1hcChidWlsZENvbmRpdGlvbik7XG4gICAgICBjb25zdCBuZXN0ZWRMb2dpYyA9IG5lc3RlZEdyb3VwLmxvZ2ljIHx8ICdBTkQnO1xuICAgICAgcmV0dXJuIGAoJHtuZXN0ZWRDb25kaXRpb25zLmpvaW4oYCAke25lc3RlZExvZ2ljfSBgKX0pYDtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXJDb25kaXRpb24gPSBjb25kaXRpb24gYXMgRmlsdGVyQ29uZGl0aW9uO1xuICAgIGNvbnN0IGZpZWxkID0gc2FuaXRpemVGaWVsZE5hbWUoZmlsdGVyQ29uZGl0aW9uLmZpZWxkKTtcbiAgICBjb25zdCB2YWx1ZSA9IHR5cGVvZiBmaWx0ZXJDb25kaXRpb24udmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICA/IGBcIiR7ZmlsdGVyQ29uZGl0aW9uLnZhbHVlLnJlcGxhY2UoL1wiL2csICdcXFxcXCInKX1cImBcbiAgICAgIDogSlNPTi5zdHJpbmdpZnkoZmlsdGVyQ29uZGl0aW9uLnZhbHVlKTtcblxuICAgIHN3aXRjaChmaWx0ZXJDb25kaXRpb24ub3BlcmF0b3IpIHtcbiAgICAgIGNhc2UgJz09JzpcbiAgICAgICAgcmV0dXJuIGAke2RvY1Zhcn0uJHtmaWVsZH0gPT0gJHt2YWx1ZX1gO1xuICAgICAgY2FzZSAnIT0nOlxuICAgICAgICByZXR1cm4gYCR7ZG9jVmFyfS4ke2ZpZWxkfSAhPSAke3ZhbHVlfWA7XG4gICAgICBjYXNlICc+JzpcbiAgICAgICAgcmV0dXJuIGAke2RvY1Zhcn0uJHtmaWVsZH0gPiAke3ZhbHVlfWA7XG4gICAgICBjYXNlICc+PSc6XG4gICAgICAgIHJldHVybiBgJHtkb2NWYXJ9LiR7ZmllbGR9ID49ICR7dmFsdWV9YDtcbiAgICAgIGNhc2UgJzwnOlxuICAgICAgICByZXR1cm4gYCR7ZG9jVmFyfS4ke2ZpZWxkfSA8ICR7dmFsdWV9YDtcbiAgICAgIGNhc2UgJzw9JzpcbiAgICAgICAgcmV0dXJuIGAke2RvY1Zhcn0uJHtmaWVsZH0gPD0gJHt2YWx1ZX1gO1xuICAgICAgY2FzZSAnSU4nOlxuICAgICAgICByZXR1cm4gYCR7ZG9jVmFyfS4ke2ZpZWxkfSBJTiAke3ZhbHVlfWA7XG4gICAgICBjYXNlICdOT1QgSU4nOlxuICAgICAgICByZXR1cm4gYCR7ZG9jVmFyfS4ke2ZpZWxkfSBOT1QgSU4gJHt2YWx1ZX1gO1xuICAgICAgY2FzZSAnTElLRSc6XG4gICAgICAgIHJldHVybiBgTElLRSgke2RvY1Zhcn0uJHtmaWVsZH0sICR7dmFsdWV9LCB0cnVlKWA7XG4gICAgICBjYXNlICdOT1QgTElLRSc6XG4gICAgICAgIHJldHVybiBgIUxJS0UoJHtkb2NWYXJ9LiR7ZmllbGR9LCAke3ZhbHVlfSwgdHJ1ZSlgO1xuICAgICAgY2FzZSAnQ09OVEFJTlMnOlxuICAgICAgICBpZihmaWx0ZXJDb25kaXRpb24uY2FzZVNlbnNpdGl2ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICByZXR1cm4gYENPTlRBSU5TKExPV0VSKCR7ZG9jVmFyfS4ke2ZpZWxkfSksIExPV0VSKCR7dmFsdWV9KSlgO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgQ09OVEFJTlMoJHtkb2NWYXJ9LiR7ZmllbGR9LCAke3ZhbHVlfSlgO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBvcGVyYXRvcjogJHtmaWx0ZXJDb25kaXRpb24ub3BlcmF0b3J9YCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGNvbmRpdGlvbnMgPSBmaWx0ZXJzLmNvbmRpdGlvbnMubWFwKGJ1aWxkQ29uZGl0aW9uKTtcbiAgY29uc3QgbG9naWMgPSBmaWx0ZXJzLmxvZ2ljIHx8ICdBTkQnO1xuXG4gIHJldHVybiBjb25kaXRpb25zLmpvaW4oYCAke2xvZ2ljfSBgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZFByZXNlbnRGaWx0ZXJHcm91cCA9IChcbiAgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgb3B0aW9uczoge1xuICAgIHJlYWRvbmx5IGxvZ2ljPzogJ0FORCcgfCAnT1InO1xuICAgIHJlYWRvbmx5IG9wZXJhdG9yPzogRmlsdGVyQ29uZGl0aW9uWydvcGVyYXRvciddO1xuICB9ID0ge31cbik6IEZpbHRlckdyb3VwID0+IHtcbiAgY29uc3Qge2xvZ2ljID0gJ0FORCcsIG9wZXJhdG9yID0gJz09J30gPSBvcHRpb25zO1xuXG4gIHJldHVybiB7XG4gICAgY29uZGl0aW9uczogT2JqZWN0LmVudHJpZXModmFsdWVzKVxuICAgICAgLmZpbHRlcigoWywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSAnJylcbiAgICAgIC5tYXAoKFtmaWVsZCwgdmFsdWVdKSA9PiAoe2ZpZWxkLCBvcGVyYXRvciwgdmFsdWV9KSksXG4gICAgbG9naWNcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZFNvcnRDbGF1c2UgPSAoc29ydDogU29ydE9wdGlvbltdLCBkb2NWYXI6IHN0cmluZyA9ICdkb2MnKTogc3RyaW5nID0+IHtcbiAgaWYoIXNvcnQgfHwgc29ydC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjb25zdCBzb3J0RmllbGRzID0gc29ydC5tYXAoKHMpID0+IHtcbiAgICBjb25zdCBmaWVsZCA9IHNhbml0aXplRmllbGROYW1lKHMuZmllbGQpO1xuICAgIGNvbnN0IGRpcmVjdGlvbiA9IHMuZGlyZWN0aW9uPy50b1VwcGVyQ2FzZSgpID09PSAnREVTQycgPyAnREVTQycgOiAnQVNDJztcbiAgICByZXR1cm4gYCR7ZG9jVmFyfS4ke2ZpZWxkfSAke2RpcmVjdGlvbn1gO1xuICB9KTtcblxuICByZXR1cm4gYFNPUlQgJHtzb3J0RmllbGRzLmpvaW4oJywgJyl9YDtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZExpbWl0Q2xhdXNlID0gKGxpbWl0PzogTGltaXRPcHRpb24pOiBzdHJpbmcgPT4ge1xuICBpZighbGltaXQpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjb25zdCB7ZnJvbSA9IDAsIHRvID0gMzB9ID0gbGltaXQ7XG4gIGNvbnN0IGNvdW50ID0gdG8gLSBmcm9tO1xuXG4gIGlmKGNvdW50IDw9IDApIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjb25zdCBtYXhDb3VudCA9IE1hdGgubWluKGNvdW50LCA1MCk7XG5cbiAgcmV0dXJuIGBMSU1JVCAke2Zyb219LCAke21heENvdW50fWA7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRGaWVsZFNlbGVjdGlvbiA9IChcbiAgZmllbGRzPzogc3RyaW5nW10sXG4gIGluY2x1ZGVDdXN0b21GaWVsZHM6IGJvb2xlYW4gPSBmYWxzZSxcbiAgZG9jVmFyOiBzdHJpbmcgPSAnZG9jJ1xuKTogc3RyaW5nID0+IHtcbiAgaWYoIWZpZWxkcyB8fCBmaWVsZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGRvY1ZhcjtcbiAgfVxuXG4gIGNvbnN0IHNhbml0aXplZEZpZWxkcyA9IGZpZWxkcy5tYXAoKGYpID0+IHtcbiAgICBjb25zdCBmaWVsZCA9IHNhbml0aXplRmllbGROYW1lKGYpO1xuICAgIHJldHVybiBgJHtmaWVsZH06ICR7ZG9jVmFyfS4ke2ZpZWxkfWA7XG4gIH0pO1xuXG4gIGlmKGluY2x1ZGVDdXN0b21GaWVsZHMpIHtcbiAgICBzYW5pdGl6ZWRGaWVsZHMucHVzaChgY3VzdG9tRmllbGRzOiAke2RvY1Zhcn0uY3VzdG9tRmllbGRzYCk7XG4gIH1cblxuICByZXR1cm4gYHske3Nhbml0aXplZEZpZWxkcy5qb2luKCcsICcpfX1gO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkRnVsbFRleHRTZWFyY2ggPSAoXG4gIHNlYXJjaE9wdGlvbnM6IHtmaWVsZDogc3RyaW5nOyBxdWVyeTogc3RyaW5nOyB2aWV3Pzogc3RyaW5nfSxcbiAgZG9jVmFyOiBzdHJpbmcgPSAnZG9jJ1xuKTogc3RyaW5nID0+IHtcbiAgY29uc3Qge2ZpZWxkLCBxdWVyeSwgdmlld30gPSBzZWFyY2hPcHRpb25zO1xuICBjb25zdCBzYW5pdGl6ZWRGaWVsZCA9IHNhbml0aXplRmllbGROYW1lKGZpZWxkKTtcbiAgY29uc3QgZXNjYXBlZFF1ZXJ5ID0gcXVlcnkucmVwbGFjZSgvXCIvZywgJ1xcXFxcIicpO1xuXG4gIGlmKHZpZXcpIHtcbiAgICBzYW5pdGl6ZUNvbGxlY3Rpb25OYW1lKHZpZXcpO1xuICAgIHJldHVybiBgU0VBUkNIIEFOQUxZWkVSKCR7ZG9jVmFyfS4ke3Nhbml0aXplZEZpZWxkfSBJTiBUT0tFTlMoXCIke2VzY2FwZWRRdWVyeX1cIiwgXCJ0ZXh0X2VuXCIpLCBcInRleHRfZW5cIilgO1xuICB9XG5cbiAgcmV0dXJuIGBGSUxURVIgQ09OVEFJTlMoTE9XRVIoJHtkb2NWYXJ9LiR7c2FuaXRpemVkRmllbGR9KSwgTE9XRVIoXCIke2VzY2FwZWRRdWVyeX1cIikpYDtcbn07XG4iXSwibmFtZXMiOlsiQ09MTEVDVElPTlMiLCJFREdFUyIsIlJlYWN0aW9uVHlwZSIsImJ1aWxkRGlzdGFuY2VRdWVyeSIsImxhdCIsImxuZyIsImJ1aWxkUmVhY3Rpb25Db3VudFF1ZXJ5IiwicmVhY3Rpb25OYW1lIiwiaXRlbVZhciIsIml0ZW1UeXBlIiwiSEFTX1JFQUNUSU9OIiwiYnVpbGRVc2VyUmVhY3Rpb25RdWVyeSIsInNlc3Npb25JZCIsInZhck5hbWUiLCJQSU4iLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiYWN0b3JEb2NJZCIsImluY2x1ZGVzIiwiVVNFUlMiLCJidWlsZFJlYWN0aW9uc1F1ZXJ5IiwiYnVpbGRUYWdzUXVlcnkiLCJ0YWdOYW1lcyIsIm1hdGNoQ2xhdXNlIiwibGVuZ3RoIiwiSlNPTiIsInN0cmluZ2lmeSIsIklTX1RBR0dFRCIsImJ1aWxkR3JvdXBQcml2YWN5RmlsdGVyIiwiZ3JvdXBJZCIsImdyb3VwVmFyIiwiR1JPVVBTIiwiSEFTX0NPTk5FQ1RJT04iLCJidWlsZFVzZXJJbmZvUXVlcnkiLCJ1c2VySWRGaWVsZCIsImJ1aWxkTWF0Y2hlZFRhZ3NDb3VudFF1ZXJ5IiwiYnVpbGRNYXRjaGVkUmVhY3Rpb25zQ291bnRRdWVyeSIsInJlYWN0aW9uTmFtZXMiLCJidWlsZEZpbGVzUXVlcnkiLCJlZGdlVHlwZSIsIkhBU19GSUxFIiwiYnVpbGRVc2VyQ29ubmVjdGlvblF1ZXJ5IiwiZnJvbVVzZXJJZCIsInRvVXNlcklkIiwiY29ubmVjdGlvblR5cGUiLCJ0eXBlRmlsdGVyIiwic2FuaXRpemVDb2xsZWN0aW9uTmFtZSIsImNvbGxlY3Rpb24iLCJ0ZXN0IiwiRXJyb3IiLCJzYW5pdGl6ZUZpZWxkTmFtZSIsImZpZWxkIiwiYnVpbGRGaWx0ZXJDbGF1c2UiLCJmaWx0ZXJzIiwiZG9jVmFyIiwiY29uZGl0aW9ucyIsImJ1aWxkQ29uZGl0aW9uIiwiY29uZGl0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwibmVzdGVkR3JvdXAiLCJuZXN0ZWRDb25kaXRpb25zIiwibWFwIiwibmVzdGVkTG9naWMiLCJsb2dpYyIsImpvaW4iLCJmaWx0ZXJDb25kaXRpb24iLCJ2YWx1ZSIsInJlcGxhY2UiLCJvcGVyYXRvciIsImNhc2VTZW5zaXRpdmUiLCJidWlsZFByZXNlbnRGaWx0ZXJHcm91cCIsInZhbHVlcyIsIm9wdGlvbnMiLCJPYmplY3QiLCJlbnRyaWVzIiwiZmlsdGVyIiwidW5kZWZpbmVkIiwiYnVpbGRTb3J0Q2xhdXNlIiwic29ydCIsInNvcnRGaWVsZHMiLCJzIiwiZGlyZWN0aW9uIiwiYnVpbGRMaW1pdENsYXVzZSIsImxpbWl0IiwiZnJvbSIsInRvIiwiY291bnQiLCJtYXhDb3VudCIsIk1hdGgiLCJtaW4iLCJidWlsZEZpZWxkU2VsZWN0aW9uIiwiZmllbGRzIiwiaW5jbHVkZUN1c3RvbUZpZWxkcyIsInNhbml0aXplZEZpZWxkcyIsImYiLCJwdXNoIiwiYnVpbGRGdWxsVGV4dFNlYXJjaCIsInNlYXJjaE9wdGlvbnMiLCJxdWVyeSIsInZpZXciLCJzYW5pdGl6ZWRGaWVsZCIsImVzY2FwZWRRdWVyeSJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBRUQsU0FBUUEsV0FBVyxFQUFFQyxLQUFLLEVBQUVDLFlBQVksUUFBTyw4QkFBOEI7QUFNN0U7OztDQUdDLEdBRUQ7Ozs7OztDQU1DLEdBQ0QsT0FBTyxNQUFNQyxxQkFBcUIsQ0FBQ0MsS0FBYUMsTUFDOUMsQ0FBQztJQUNDLEVBQUVELElBQUk7SUFDTixFQUFFQyxJQUFJOzs7RUFHUixDQUFDLENBQUM7QUFFSjs7Ozs7O0NBTUMsR0FDRCxP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
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy91dGlscy9hcWxIZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFVzZSBpcyBzdWJqZWN0IHRvIHRoZSBhY2NvbXBhbnlpbmcgY29tbWVyY2lhbCBMSUNFTlNFLlxuICovXG5cbmltcG9ydCB7Q09MTEVDVElPTlMsIEVER0VTLCBSZWFjdGlvblR5cGV9IGZyb20gJy4uL2NvbnN0YW50cy9jb2xsZWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7RmlsdGVyQ29uZGl0aW9uLCBGaWx0ZXJHcm91cCwgTGltaXRPcHRpb24sIFNvcnRPcHRpb259IGZyb20gJy4uL3R5cGVzL2FyYW5nb2RiLnR5cGVzLmpzJztcblxuLy8gRXhwb3J0IHR5cGVzIGZvciB1c2UgaW4gb3RoZXIgbW9kdWxlc1xuZXhwb3J0IHR5cGUge0ZpbHRlckNvbmRpdGlvbiwgRmlsdGVyR3JvdXAsIExpbWl0T3B0aW9uLCBTb3J0T3B0aW9ufTtcblxuLyoqXG4gKiBBUUwgSGVscGVyIEZ1bmN0aW9uc1xuICogQ29tbW9uIHF1ZXJ5IGJ1aWxkaW5nIHV0aWxpdGllcyB0byByZWR1Y2UgY29kZSBkdXBsaWNhdGlvbiBhY3Jvc3MgYWN0aW9uIGZpbGVzXG4gKi9cblxuLyoqXG4gKiBCdWlsZCBkaXN0YW5jZSBjYWxjdWxhdGlvbiBBUUwgcXVlcnlcbiAqIENhbGN1bGF0ZXMgZGlzdGFuY2UgYmV0d2VlbiB0d28gZ2VvZ3JhcGhpY2FsIGNvb3JkaW5hdGVzXG4gKiBAcGFyYW0gbGF0IC0gTGF0aXR1ZGUgY29vcmRpbmF0ZVxuICogQHBhcmFtIGxuZyAtIExvbmdpdHVkZSBjb29yZGluYXRlXG4gKiBAcmV0dXJucyBBUUwgZGlzdGFuY2UgY2FsY3VsYXRpb24gc3RyaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZERpc3RhbmNlUXVlcnkgPSAobGF0OiBudW1iZXIsIGxuZzogbnVtYmVyKTogc3RyaW5nID0+XG4gIGBMRVQgZGlzdGFuY2UgPSBESVNUQU5DRShcbiAgICAke2xhdH0sXG4gICAgJHtsbmd9LFxuICAgIE5PVF9OVUxMKHAubGF0aXR1ZGUsIDApLFxuICAgIE5PVF9OVUxMKHAubG9uZ2l0dWRlLCAwKSlcbiAgYDtcblxuLyoqXG4gKiBCdWlsZCByZWFjdGlvbiBjb3VudCBxdWVyeSBmb3IgYSBzcGVjaWZpYyByZWFjdGlvbiB0eXBlXG4gKiBAcGFyYW0gcmVhY3Rpb25OYW1lIC0gTmFtZSBvZiB0aGUgcmVhY3Rpb24gKGxpa2UsIHJzdnAsIHBpbiwgdmlldylcbiAqIEBwYXJhbSBpdGVtVmFyIC0gVmFyaWFibGUgbmFtZSBmb3IgdGhlIGl0ZW0gKGRlZmF1bHQ6ICdwJylcbiAqIEBwYXJhbSBpdGVtVHlwZSAtIFR5cGUgb2YgaXRlbSAoZGVmYXVsdDogJ3Bvc3RzJylcbiAqIEByZXR1cm5zIEFRTCByZWFjdGlvbiBjb3VudCBxdWVyeSBzdHJpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IGJ1aWxkUmVhY3Rpb25Db3VudFF1ZXJ5ID0gKFxuICByZWFjdGlvbk5hbWU6IHN0cmluZyxcbiAgaXRlbVZhcjogc3RyaW5nID0gJ3AnLFxuICBpdGVtVHlwZTogc3RyaW5nID0gJ3Bvc3RzJ1xuKTogc3RyaW5nID0+XG4gIGBMRVQgJHtyZWFjdGlvbk5hbWV9Q291bnQgPSBGSVJTVChcbiAgICBGT1IgaXRlbSwgciBJTiBJTkJPVU5EICR7aXRlbVZhcn0uX2lkICR7RURHRVMuSEFTX1JFQUNUSU9OfVxuICAgIEZJTFRFUiByLm5hbWUgPT0gXCIke3JlYWN0aW9uTmFtZX1cIiAmJiByLnR5cGUgPT0gXCIke2l0ZW1UeXBlfVwiXG4gICAgQ09MTEVDVCBXSVRIIENPVU5UIElOVE8gY291bnRcbiAgICBSRVRVUk4gY291bnRcbiAgKWA7XG5cbi8qKlxuICogQnVpbGQgdXNlci1zcGVjaWZpYyByZWFjdGlvbiBjaGVjayBxdWVyeVxuICogQ2hlY2tzIGlmIGEgc3BlY2lmaWMgdXNlciBoYXMgcmVhY3RlZCB0byBhbiBpdGVtXG4gKiBAcGFyYW0gcmVhY3Rpb25OYW1lIC0gTmFtZSBvZiB0aGUgcmVhY3Rpb25cbiAqIEBwYXJhbSBzZXNzaW9uSWQgLSBVc2VyIHNlc3Npb24gSURcbiAqIEBwYXJhbSBpdGVtVmFyIC0gVmFyaWFibGUgbmFtZSBmb3IgdGhlIGl0ZW0gKGRlZmF1bHQ6ICdwJylcbiAqIEBwYXJhbSBpdGVtVHlwZSAtIFR5cGUgb2YgaXRlbSAoZGVmYXVsdDogJ3Bvc3RzJylcbiAqIEByZXR1cm5zIEFRTCB1c2VyIHJlYWN0aW9uIGNoZWNrIHF1ZXJ5IHN0cmluZ1xuICovXG5leHBvcnQgY29uc3QgYnVpbGRVc2VyUmVhY3Rpb25RdWVyeSA9IChcbiAgcmVhY3Rpb25OYW1lOiBzdHJpbmcsXG4gIHNlc3Npb25JZDogc3RyaW5nLFxuICBpdGVtVmFyOiBzdHJpbmcgPSAncCcsXG4gIGl0ZW1UeXBlOiBzdHJpbmcgPSAncG9zdHMnXG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCB2YXJOYW1lID0gcmVhY3Rpb25OYW1lID09PSBSZWFjdGlvblR5cGUuUElOXG4gICAgPyAnaXNTYXZlZCdcbiAgICA6IGBoYXMke3JlYWN0aW9uTmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHJlYWN0aW9uTmFtZS5zbGljZSgxKX1gO1xuICBjb25zdCBhY3RvckRvY0lkID0gc2Vzc2lvbklkLmluY2x1ZGVzKCcvJykgPyBzZXNzaW9uSWQgOiBgJHtDT0xMRUNUSU9OUy5VU0VSU30vJHtzZXNzaW9uSWR9YDtcblxuICByZXR1cm4gYExFVCAke3Zhck5hbWV9ID0gVE9fQk9PTChGSVJTVChcbiAgICBGT1IgaXRlbSwgciBJTiBJTkJPVU5EICR7aXRlbVZhcn0uX2lkICR7RURHRVMuSEFTX1JFQUNUSU9OfVxuICAgIEZJTFRFUiByLm5hbWUgPT0gXCIke3JlYWN0aW9uTmFtZX1cIiAmJiByLnR5cGUgPT0gXCIke2l0ZW1UeXBlfVwiICYmIHIuX2Zyb20gPT0gXCIke2FjdG9yRG9jSWR9XCJcbiAgICBDT0xMRUNUIFdJVEggQ09VTlQgSU5UTyBjb3VudFxuICAgIFJFVFVSTiBjb3VudFxuICApKWA7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRSZWFjdGlvbnNRdWVyeSA9IChpdGVtVmFyOiBzdHJpbmcgPSAncCcpOiBzdHJpbmcgPT5cbiAgYExFVCByZWFjdGlvbnMgPSAoXG4gICAgRk9SIGl0ZW0sIHIgSU4gSU5CT1VORCAke2l0ZW1WYXJ9Ll9pZCAke0VER0VTLkhBU19SRUFDVElPTn1cbiAgICBDT0xMRUNUIHJlYWN0aW9uTmFtZSA9IHIudmFsdWUgSU5UTyByZWFjdGlvbkl0ZW1zXG4gICAgUkVUVVJOIHtuYW1lOiByZWFjdGlvbk5hbWUsIGNvdW50OiBMRU5HVEgocmVhY3Rpb25JdGVtc1sqXS5yLnZhbHVlKX1cbiAgKWA7XG5cblxuZXhwb3J0IGNvbnN0IGJ1aWxkVGFnc1F1ZXJ5ID0gKGl0ZW1WYXI6IHN0cmluZyA9ICdwJywgdGFnTmFtZXM/OiBzdHJpbmdbXSk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IG1hdGNoQ2xhdXNlID0gdGFnTmFtZXMgJiYgdGFnTmFtZXMubGVuZ3RoXG4gICAgPyBgTEVUIG1hdGNoZWQgPSBMRU5HVEgoJHtKU09OLnN0cmluZ2lmeSh0YWdOYW1lcyl9KSA+IDAgJiYgUE9TSVRJT04oJHtKU09OLnN0cmluZ2lmeSh0YWdOYW1lcyl9LCB0YWcubmFtZSlgXG4gICAgOiAnJztcblxuICByZXR1cm4gYExFVCB0YWdzID0gKFxuICAgIEZPUiB0YWcsIGl0IElOIDEuLjEgSU5CT1VORCAke2l0ZW1WYXJ9ICR7RURHRVMuSVNfVEFHR0VEfVxuICAgICR7bWF0Y2hDbGF1c2V9XG4gICAgU09SVCB0YWcubmFtZVxuICAgIFJFVFVSTiAke21hdGNoQ2xhdXNlID8gJ01FUkdFKHRhZywge21hdGNoZWQ6bWF0Y2hlZH0pJyA6ICd0YWcnfVxuICApYDtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZEdyb3VwUHJpdmFjeUZpbHRlciA9IChcbiAgZ3JvdXBJZDogc3RyaW5nLFxuICBzZXNzaW9uSWQ6IHN0cmluZyxcbiAgZ3JvdXBWYXI6IHN0cmluZyA9ICdncm91cCdcbik6IHN0cmluZyA9PlxuICBgRk9SICR7Z3JvdXBWYXJ9IElOICR7Q09MTEVDVElPTlMuR1JPVVBTfVxuICAgIEZJTFRFUiAke2dyb3VwVmFyfS5fa2V5ID09IFwiJHtncm91cElkfVwiXG4gICAgRk9SIHUsIGUgSU4gT1VUQk9VTkQgJHtncm91cFZhcn0uX2lkICR7RURHRVMuSEFTX0NPTk5FQ1RJT059XG4gICAgRklMVEVSIHUuX2tleSA9PSBcIiR7c2Vzc2lvbklkfVwiXG4gICAgTElNSVQgMWA7XG5cbmV4cG9ydCBjb25zdCBidWlsZFVzZXJJbmZvUXVlcnkgPSAodXNlcklkRmllbGQ6IHN0cmluZyA9ICdwLnVzZXJJZCcpOiBzdHJpbmcgPT5cbiAgYExFVCB1c2VyID0gRklSU1QoXG4gICAgRk9SIHUgSU4gJHtDT0xMRUNUSU9OUy5VU0VSU31cbiAgICBGSUxURVIgdS5fa2V5ID09ICR7dXNlcklkRmllbGR9XG4gICAgTElNSVQgMVxuICAgIFJFVFVSTiB1XG4gIClgO1xuXG5leHBvcnQgY29uc3QgYnVpbGRNYXRjaGVkVGFnc0NvdW50UXVlcnkgPSAodGFnTmFtZXM6IHN0cmluZ1tdKTogc3RyaW5nID0+XG4gIGBMRVQgbWF0Y2hlZFRhZ3MgPSBMRU5HVEgoXG4gICAgRk9SIHQgSU4gdGFnc1xuICAgIEZJTFRFUiB0Lm1hdGNoZWQgPT0gdHJ1ZVxuICAgIFJFVFVSTiB0XG4gIClgO1xuXG5leHBvcnQgY29uc3QgYnVpbGRNYXRjaGVkUmVhY3Rpb25zQ291bnRRdWVyeSA9IChyZWFjdGlvbk5hbWVzOiBzdHJpbmdbXSk6IHN0cmluZyA9PlxuICBgTEVUIG1hdGNoZWRSZWFjdGlvbnMgPSBMRU5HVEgoXG4gICAgRk9SIG1yIElOIHJlYWN0aW9uc1xuICAgIEZJTFRFUiBtci5tYXRjaGVkID09IHRydWVcbiAgICBSRVRVUk4gbXJcbiAgKWA7XG5cbmV4cG9ydCBjb25zdCBidWlsZEZpbGVzUXVlcnkgPSAoaXRlbVZhcjogc3RyaW5nID0gJ3AnLCBlZGdlVHlwZTogc3RyaW5nID0gRURHRVMuSEFTX0ZJTEUpOiBzdHJpbmcgPT5cbiAgYExFVCBmaWxlcyA9IChcbiAgICBGT1IgZiwgZSBJTiAxLi4xIElOQk9VTkQgJHtpdGVtVmFyfS5faWQgJHtlZGdlVHlwZX1cbiAgICBSRVRVUk4gZlxuICApYDtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkVXNlckNvbm5lY3Rpb25RdWVyeSA9IChcbiAgZnJvbVVzZXJJZDogc3RyaW5nLFxuICB0b1VzZXJJZDogc3RyaW5nLFxuICBjb25uZWN0aW9uVHlwZT86IHN0cmluZ1xuKTogc3RyaW5nID0+IHtcbiAgY29uc3QgdHlwZUZpbHRlciA9IGNvbm5lY3Rpb25UeXBlID8gYCYmIGUudHlwZSA9PSBcIiR7Y29ubmVjdGlvblR5cGV9XCJgIDogJyc7XG4gIHJldHVybiBgRk9SIHUsIGUgSU4gMS4uMSBPVVRCT1VORCBcIiR7Q09MTEVDVElPTlMuVVNFUlN9LyR7ZnJvbVVzZXJJZH1cIiAke0VER0VTLkhBU19DT05ORUNUSU9OfVxuICAgIEZJTFRFUiB1Ll9rZXkgPT0gXCIke3RvVXNlcklkfVwiICR7dHlwZUZpbHRlcn1cbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIGVgO1xufTtcblxuZXhwb3J0IGNvbnN0IHNhbml0aXplQ29sbGVjdGlvbk5hbWUgPSAoY29sbGVjdGlvbjogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgLy8gT25seSBhbGxvdyBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhbmQgdW5kZXJzY29yZXNcbiAgaWYoIS9eW2EtekEtWl9dW2EtekEtWjAtOV9dKiQvLnRlc3QoY29sbGVjdGlvbikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29sbGVjdGlvbiBuYW1lOiAke2NvbGxlY3Rpb259YCk7XG4gIH1cbiAgcmV0dXJuIGNvbGxlY3Rpb247XG59O1xuXG5leHBvcnQgY29uc3Qgc2FuaXRpemVGaWVsZE5hbWUgPSAoZmllbGQ6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIC8vIEFsbG93IGFscGhhbnVtZXJpYywgdW5kZXJzY29yZXMsIGRvdHMgKGZvciBuZXN0ZWQgZmllbGRzKVxuICBpZighL15bYS16QS1aX11bYS16QS1aMC05Xy5dKiQvLnRlc3QoZmllbGQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZpZWxkIG5hbWU6ICR7ZmllbGR9YCk7XG4gIH1cbiAgcmV0dXJuIGZpZWxkO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkRmlsdGVyQ2xhdXNlID0gKGZpbHRlcnM6IEZpbHRlckdyb3VwLCBkb2NWYXI6IHN0cmluZyA9ICdkb2MnKTogc3RyaW5nID0+IHtcbiAgaWYoIWZpbHRlcnMgfHwgIWZpbHRlcnMuY29uZGl0aW9ucyB8fCBmaWx0ZXJzLmNvbmRpdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3QgYnVpbGRDb25kaXRpb24gPSAoY29uZGl0aW9uOiBGaWx0ZXJDb25kaXRpb24gfCBGaWx0ZXJHcm91cCk6IHN0cmluZyA9PiB7XG4gICAgaWYoJ2NvbmRpdGlvbnMnIGluIGNvbmRpdGlvbiAmJiBBcnJheS5pc0FycmF5KGNvbmRpdGlvbi5jb25kaXRpb25zKSkge1xuICAgICAgY29uc3QgbmVzdGVkR3JvdXAgPSBjb25kaXRpb24gYXMgRmlsdGVyR3JvdXA7XG4gICAgICBjb25zdCBuZXN0ZWRDb25kaXRpb25zID0gbmVzdGVkR3JvdXAuY29uZGl0aW9ucy5tYXAoYnVpbGRDb25kaXRpb24pO1xuICAgICAgY29uc3QgbmVzdGVkTG9naWMgPSBuZXN0ZWRHcm91cC5sb2dpYyB8fCAnQU5EJztcbiAgICAgIHJldHVybiBgKCR7bmVzdGVkQ29uZGl0aW9ucy5qb2luKGAgJHtuZXN0ZWRMb2dpY30gYCl9KWA7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyQ29uZGl0aW9uID0gY29uZGl0aW9uIGFzIEZpbHRlckNvbmRpdGlvbjtcbiAgICBjb25zdCBmaWVsZCA9IHNhbml0aXplRmllbGROYW1lKGZpbHRlckNvbmRpdGlvbi5maWVsZCk7XG4gICAgY29uc3QgdmFsdWUgPSB0eXBlb2YgZmlsdGVyQ29uZGl0aW9uLnZhbHVlID09PSAnc3RyaW5nJ1xuICAgICAgPyBgXCIke2ZpbHRlckNvbmRpdGlvbi52YWx1ZS5yZXBsYWNlKC9cIi9nLCAnXFxcXFwiJyl9XCJgXG4gICAgICA6IEpTT04uc3RyaW5naWZ5KGZpbHRlckNvbmRpdGlvbi52YWx1ZSk7XG5cbiAgICBzd2l0Y2goZmlsdGVyQ29uZGl0aW9uLm9wZXJhdG9yKSB7XG4gICAgICBjYXNlICc9PSc6XG4gICAgICAgIHJldHVybiBgJHtkb2NWYXJ9LiR7ZmllbGR9ID09ICR7dmFsdWV9YDtcbiAgICAgIGNhc2UgJyE9JzpcbiAgICAgICAgcmV0dXJuIGAke2RvY1Zhcn0uJHtmaWVsZH0gIT0gJHt2YWx1ZX1gO1xuICAgICAgY2FzZSAnPic6XG4gICAgICAgIHJldHVybiBgJHtkb2NWYXJ9LiR7ZmllbGR9ID4gJHt2YWx1ZX1gO1xuICAgICAgY2FzZSAnPj0nOlxuICAgICAgICByZXR1cm4gYCR7ZG9jVmFyfS4ke2ZpZWxkfSA+PSAke3ZhbHVlfWA7XG4gICAgICBjYXNlICc8JzpcbiAgICAgICAgcmV0dXJuIGAke2RvY1Zhcn0uJHtmaWVsZH0gPCAke3ZhbHVlfWA7XG4gICAgICBjYXNlICc8PSc6XG4gICAgICAgIHJldHVybiBgJHtkb2NWYXJ9LiR7ZmllbGR9IDw9ICR7dmFsdWV9YDtcbiAgICAgIGNhc2UgJ0lOJzpcbiAgICAgICAgcmV0dXJuIGAke2RvY1Zhcn0uJHtmaWVsZH0gSU4gJHt2YWx1ZX1gO1xuICAgICAgY2FzZSAnTk9UIElOJzpcbiAgICAgICAgcmV0dXJuIGAke2RvY1Zhcn0uJHtmaWVsZH0gTk9UIElOICR7dmFsdWV9YDtcbiAgICAgIGNhc2UgJ0xJS0UnOlxuICAgICAgICByZXR1cm4gYExJS0UoJHtkb2NWYXJ9LiR7ZmllbGR9LCAke3ZhbHVlfSwgdHJ1ZSlgO1xuICAgICAgY2FzZSAnTk9UIExJS0UnOlxuICAgICAgICByZXR1cm4gYCFMSUtFKCR7ZG9jVmFyfS4ke2ZpZWxkfSwgJHt2YWx1ZX0sIHRydWUpYDtcbiAgICAgIGNhc2UgJ0NPTlRBSU5TJzpcbiAgICAgICAgaWYoZmlsdGVyQ29uZGl0aW9uLmNhc2VTZW5zaXRpdmUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgcmV0dXJuIGBDT05UQUlOUyhMT1dFUigke2RvY1Zhcn0uJHtmaWVsZH0pLCBMT1dFUigke3ZhbHVlfSkpYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYENPTlRBSU5TKCR7ZG9jVmFyfS4ke2ZpZWxkfSwgJHt2YWx1ZX0pYDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgb3BlcmF0b3I6ICR7ZmlsdGVyQ29uZGl0aW9uLm9wZXJhdG9yfWApO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBjb25kaXRpb25zID0gZmlsdGVycy5jb25kaXRpb25zLm1hcChidWlsZENvbmRpdGlvbik7XG4gIGNvbnN0IGxvZ2ljID0gZmlsdGVycy5sb2dpYyB8fCAnQU5EJztcblxuICByZXR1cm4gY29uZGl0aW9ucy5qb2luKGAgJHtsb2dpY30gYCk7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRQcmVzZW50RmlsdGVyR3JvdXAgPSAoXG4gIHZhbHVlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIG9wdGlvbnM6IHtcbiAgICByZWFkb25seSBsb2dpYz86ICdBTkQnIHwgJ09SJztcbiAgICByZWFkb25seSBvcGVyYXRvcj86IEZpbHRlckNvbmRpdGlvblsnb3BlcmF0b3InXTtcbiAgfSA9IHt9XG4pOiBGaWx0ZXJHcm91cCA9PiB7XG4gIGNvbnN0IHtsb2dpYyA9ICdBTkQnLCBvcGVyYXRvciA9ICc9PSd9ID0gb3B0aW9ucztcblxuICByZXR1cm4ge1xuICAgIGNvbmRpdGlvbnM6IE9iamVjdC5lbnRyaWVzKHZhbHVlcylcbiAgICAgIC5maWx0ZXIoKFssIHZhbHVlXSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gJycpXG4gICAgICAubWFwKChbZmllbGQsIHZhbHVlXSkgPT4gKHtmaWVsZCwgb3BlcmF0b3IsIHZhbHVlfSkpLFxuICAgIGxvZ2ljXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRTb3J0Q2xhdXNlID0gKHNvcnQ6IFNvcnRPcHRpb25bXSwgZG9jVmFyOiBzdHJpbmcgPSAnZG9jJyk6IHN0cmluZyA9PiB7XG4gIGlmKCFzb3J0IHx8IHNvcnQubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3Qgc29ydEZpZWxkcyA9IHNvcnQubWFwKChzKSA9PiB7XG4gICAgY29uc3QgZmllbGQgPSBzYW5pdGl6ZUZpZWxkTmFtZShzLmZpZWxkKTtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSBzLmRpcmVjdGlvbj8udG9VcHBlckNhc2UoKSA9PT0gJ0RFU0MnID8gJ0RFU0MnIDogJ0FTQyc7XG4gICAgcmV0dXJuIGAke2RvY1Zhcn0uJHtmaWVsZH0gJHtkaXJlY3Rpb259YDtcbiAgfSk7XG5cbiAgcmV0dXJuIGBTT1JUICR7c29ydEZpZWxkcy5qb2luKCcsICcpfWA7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRMaW1pdENsYXVzZSA9IChsaW1pdD86IExpbWl0T3B0aW9uKTogc3RyaW5nID0+IHtcbiAgaWYoIWxpbWl0KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3Qge2Zyb20gPSAwLCB0byA9IDMwfSA9IGxpbWl0O1xuICBjb25zdCBjb3VudCA9IHRvIC0gZnJvbTtcblxuICBpZihjb3VudCA8PSAwKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3QgbWF4Q291bnQgPSBNYXRoLm1pbihjb3VudCwgNTApO1xuXG4gIHJldHVybiBgTElNSVQgJHtmcm9tfSwgJHttYXhDb3VudH1gO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkRmllbGRTZWxlY3Rpb24gPSAoXG4gIGZpZWxkcz86IHN0cmluZ1tdLFxuICBpbmNsdWRlQ3VzdG9tRmllbGRzOiBib29sZWFuID0gZmFsc2UsXG4gIGRvY1Zhcjogc3RyaW5nID0gJ2RvYydcbik6IHN0cmluZyA9PiB7XG4gIGlmKCFmaWVsZHMgfHwgZmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBkb2NWYXI7XG4gIH1cblxuICBjb25zdCBzYW5pdGl6ZWRGaWVsZHMgPSBmaWVsZHMubWFwKChmKSA9PiB7XG4gICAgY29uc3QgZmllbGQgPSBzYW5pdGl6ZUZpZWxkTmFtZShmKTtcbiAgICByZXR1cm4gYCR7ZmllbGR9OiAke2RvY1Zhcn0uJHtmaWVsZH1gO1xuICB9KTtcblxuICBpZihpbmNsdWRlQ3VzdG9tRmllbGRzKSB7XG4gICAgc2FuaXRpemVkRmllbGRzLnB1c2goYGN1c3RvbUZpZWxkczogJHtkb2NWYXJ9LmN1c3RvbUZpZWxkc2ApO1xuICB9XG5cbiAgcmV0dXJuIGB7JHtzYW5pdGl6ZWRGaWVsZHMuam9pbignLCAnKX19YDtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZEZ1bGxUZXh0U2VhcmNoID0gKFxuICBzZWFyY2hPcHRpb25zOiB7ZmllbGQ6IHN0cmluZzsgcXVlcnk6IHN0cmluZzsgdmlldz86IHN0cmluZ30sXG4gIGRvY1Zhcjogc3RyaW5nID0gJ2RvYydcbik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHtmaWVsZCwgcXVlcnksIHZpZXd9ID0gc2VhcmNoT3B0aW9ucztcbiAgY29uc3Qgc2FuaXRpemVkRmllbGQgPSBzYW5pdGl6ZUZpZWxkTmFtZShmaWVsZCk7XG4gIGNvbnN0IGVzY2FwZWRRdWVyeSA9IHF1ZXJ5LnJlcGxhY2UoL1wiL2csICdcXFxcXCInKTtcblxuICBpZih2aWV3KSB7XG4gICAgc2FuaXRpemVDb2xsZWN0aW9uTmFtZSh2aWV3KTtcbiAgICByZXR1cm4gYFNFQVJDSCBBTkFMWVpFUigke2RvY1Zhcn0uJHtzYW5pdGl6ZWRGaWVsZH0gSU4gVE9LRU5TKFwiJHtlc2NhcGVkUXVlcnl9XCIsIFwidGV4dF9lblwiKSwgXCJ0ZXh0X2VuXCIpYDtcbiAgfVxuXG4gIHJldHVybiBgRklMVEVSIENPTlRBSU5TKExPV0VSKCR7ZG9jVmFyfS4ke3Nhbml0aXplZEZpZWxkfSksIExPV0VSKFwiJHtlc2NhcGVkUXVlcnl9XCIpKWA7XG59O1xuIl0sIm5hbWVzIjpbIkNPTExFQ1RJT05TIiwiRURHRVMiLCJSZWFjdGlvblR5cGUiLCJidWlsZERpc3RhbmNlUXVlcnkiLCJsYXQiLCJsbmciLCJidWlsZFJlYWN0aW9uQ291bnRRdWVyeSIsInJlYWN0aW9uTmFtZSIsIml0ZW1WYXIiLCJpdGVtVHlwZSIsIkhBU19SRUFDVElPTiIsImJ1aWxkVXNlclJlYWN0aW9uUXVlcnkiLCJzZXNzaW9uSWQiLCJ2YXJOYW1lIiwiUElOIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsImFjdG9yRG9jSWQiLCJpbmNsdWRlcyIsIlVTRVJTIiwiYnVpbGRSZWFjdGlvbnNRdWVyeSIsImJ1aWxkVGFnc1F1ZXJ5IiwidGFnTmFtZXMiLCJtYXRjaENsYXVzZSIsImxlbmd0aCIsIkpTT04iLCJzdHJpbmdpZnkiLCJJU19UQUdHRUQiLCJidWlsZEdyb3VwUHJpdmFjeUZpbHRlciIsImdyb3VwSWQiLCJncm91cFZhciIsIkdST1VQUyIsIkhBU19DT05ORUNUSU9OIiwiYnVpbGRVc2VySW5mb1F1ZXJ5IiwidXNlcklkRmllbGQiLCJidWlsZE1hdGNoZWRUYWdzQ291bnRRdWVyeSIsImJ1aWxkTWF0Y2hlZFJlYWN0aW9uc0NvdW50UXVlcnkiLCJyZWFjdGlvbk5hbWVzIiwiYnVpbGRGaWxlc1F1ZXJ5IiwiZWRnZVR5cGUiLCJIQVNfRklMRSIsImJ1aWxkVXNlckNvbm5lY3Rpb25RdWVyeSIsImZyb21Vc2VySWQiLCJ0b1VzZXJJZCIsImNvbm5lY3Rpb25UeXBlIiwidHlwZUZpbHRlciIsInNhbml0aXplQ29sbGVjdGlvbk5hbWUiLCJjb2xsZWN0aW9uIiwidGVzdCIsIkVycm9yIiwic2FuaXRpemVGaWVsZE5hbWUiLCJmaWVsZCIsImJ1aWxkRmlsdGVyQ2xhdXNlIiwiZmlsdGVycyIsImRvY1ZhciIsImNvbmRpdGlvbnMiLCJidWlsZENvbmRpdGlvbiIsImNvbmRpdGlvbiIsIkFycmF5IiwiaXNBcnJheSIsIm5lc3RlZEdyb3VwIiwibmVzdGVkQ29uZGl0aW9ucyIsIm1hcCIsIm5lc3RlZExvZ2ljIiwibG9naWMiLCJqb2luIiwiZmlsdGVyQ29uZGl0aW9uIiwidmFsdWUiLCJyZXBsYWNlIiwib3BlcmF0b3IiLCJjYXNlU2Vuc2l0aXZlIiwiYnVpbGRQcmVzZW50RmlsdGVyR3JvdXAiLCJ2YWx1ZXMiLCJvcHRpb25zIiwiT2JqZWN0IiwiZW50cmllcyIsImZpbHRlciIsInVuZGVmaW5lZCIsImJ1aWxkU29ydENsYXVzZSIsInNvcnQiLCJzb3J0RmllbGRzIiwicyIsImRpcmVjdGlvbiIsImJ1aWxkTGltaXRDbGF1c2UiLCJsaW1pdCIsImZyb20iLCJ0byIsImNvdW50IiwibWF4Q291bnQiLCJNYXRoIiwibWluIiwiYnVpbGRGaWVsZFNlbGVjdGlvbiIsImZpZWxkcyIsImluY2x1ZGVDdXN0b21GaWVsZHMiLCJzYW5pdGl6ZWRGaWVsZHMiLCJmIiwicHVzaCIsImJ1aWxkRnVsbFRleHRTZWFyY2giLCJzZWFyY2hPcHRpb25zIiwicXVlcnkiLCJ2aWV3Iiwic2FuaXRpemVkRmllbGQiLCJlc2NhcGVkUXVlcnkiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUVELFNBQVFBLFdBQVcsRUFBRUMsS0FBSyxFQUFFQyxZQUFZLFFBQU8sOEJBQThCO0FBTTdFOzs7Q0FHQyxHQUVEOzs7Ozs7Q0FNQyxHQUNELE9BQU8sTUFBTUMscUJBQXFCLENBQUNDLEtBQWFDLE1BQzlDLENBQUM7SUFDQyxFQUFFRCxJQUFJO0lBQ04sRUFBRUMsSUFBSTs7O0VBR1IsQ0FBQyxDQUFDO0FBRUo7Ozs7OztDQU1DLEdB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
@@ -1,11 +1,15 @@
1
1
  /**
2
2
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
3
+ * All rights reserved. Use is subject to the accompanying commercial LICENSE.
4
4
  */
5
5
  import { Database } from 'arangojs';
6
6
  import type { ArangoDbCollection, ArangoDbLimit } from '../types/arangodb.types.js';
7
7
  export declare const useDb: (databaseName?: string) => Database;
8
8
  export declare const collectionDetails: {
9
+ analytics: {
10
+ collection: string;
11
+ key: string;
12
+ };
9
13
  apps: {
10
14
  collection: string;
11
15
  key: string;
@@ -18,6 +22,10 @@ export declare const collectionDetails: {
18
22
  collection: string;
19
23
  key: string;
20
24
  };
25
+ flags: {
26
+ collection: string;
27
+ key: string;
28
+ };
21
29
  groups: {
22
30
  collection: string;
23
31
  key: string;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
3
+ * All rights reserved. Use is subject to the accompanying commercial LICENSE.
4
4
  */ import { Database } from 'arangojs';
5
5
  import graphqlFields from 'graphql-fields';
6
6
  import { Config } from '../config.js';
@@ -18,6 +18,10 @@ export const useDb = (databaseName)=>{
18
18
  });
19
19
  };
20
20
  export const collectionDetails = {
21
+ analytics: {
22
+ collection: 'analytics',
23
+ key: 'analyticsId'
24
+ },
21
25
  apps: {
22
26
  collection: 'apps',
23
27
  key: 'appId'
@@ -30,6 +34,10 @@ export const collectionDetails = {
30
34
  collection: 'files',
31
35
  key: 'fileId'
32
36
  },
37
+ flags: {
38
+ collection: 'flags',
39
+ key: 'key'
40
+ },
33
41
  groups: {
34
42
  collection: 'groups',
35
43
  key: 'groupId'
@@ -127,4 +135,4 @@ export const getGqlFields = (info)=>{
127
135
  return [];
128
136
  };
129
137
 
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2FyYW5nb2RiVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7RGF0YWJhc2V9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCBncmFwaHFsRmllbGRzIGZyb20gJ2dyYXBocWwtZmllbGRzJztcblxuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5cbmltcG9ydCB7cGFyc2VOdW19IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL251bWJlcnMnO1xuaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZUlkfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9zdHJpbmdzJztcbmltcG9ydCB0eXBlIHtBcmFuZ29EYkNvbGxlY3Rpb24sIEFyYW5nb0RiTGltaXR9IGZyb20gJy4uL3R5cGVzL2FyYW5nb2RiLnR5cGVzLmpzJztcblxuZXhwb3J0IGNvbnN0IHVzZURiID0gKGRhdGFiYXNlTmFtZT86IHN0cmluZyk6IERhdGFiYXNlID0+IHtcbiAgY29uc3QgYXJhbmdvQ29uZmlnID0gQ29uZmlnLmdldCgnYXJhbmdvZGInKTtcblxuICByZXR1cm4gbmV3IERhdGFiYXNlKHtcbiAgICBhdXRoOiB7XG4gICAgICBwYXNzd29yZDogYXJhbmdvQ29uZmlnLnBhc3N3b3JkLFxuICAgICAgdXNlcm5hbWU6IGFyYW5nb0NvbmZpZy51c2VybmFtZVxuICAgIH0sXG4gICAgZGF0YWJhc2VOYW1lOiBkYXRhYmFzZU5hbWUgfHwgYXJhbmdvQ29uZmlnLmRhdGFiYXNlIHx8ICdyZWFrdG9yJyxcbiAgICB1cmw6IGAke2FyYW5nb0NvbmZpZy51cmx9OiR7YXJhbmdvQ29uZmlnLnBvcnR9YFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb2xsZWN0aW9uRGV0YWlscyA9IHtcbiAgYXBwczoge1xuICAgIGNvbGxlY3Rpb246ICdhcHBzJyxcbiAgICBrZXk6ICdhcHBJZCdcbiAgfSxcbiAgY29udmVyc2F0aW9uczoge1xuICAgIGNvbGxlY3Rpb246ICdjb252ZXJzYXRpb25zJyxcbiAgICBrZXk6ICdjb252ZXJzYXRpb25JZCdcbiAgfSxcbiAgZmlsZXM6IHtcbiAgICBjb2xsZWN0aW9uOiAnZmlsZXMnLFxuICAgIGtleTogJ2ZpbGVJZCdcbiAgfSxcbiAgZ3JvdXBzOiB7XG4gICAgY29sbGVjdGlvbjogJ2dyb3VwcycsXG4gICAga2V5OiAnZ3JvdXBJZCdcbiAgfSxcbiAgaW1hZ2VzOiB7XG4gICAgY29sbGVjdGlvbjogJ2ltYWdlcycsXG4gICAga2V5OiAnaW1hZ2VJZCdcbiAgfSxcbiAgbG9jYXRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ2xvY2F0aW9ucycsXG4gICAga2V5OiAnbG9jYXRpb25JZCdcbiAgfSxcbiAgbWVzc2FnZXM6IHtcbiAgICBjb2xsZWN0aW9uOiAnbWVzc2FnZXMnLFxuICAgIGtleTogJ21lc3NhZ2VJZCdcbiAgfSxcbiAgbm90aWZpY2F0aW9uczoge1xuICAgIGNvbGxlY3Rpb246ICdub3RpZmljYXRpb25zJyxcbiAgICBrZXk6ICdub3RpZmljYXRpb25JZCdcbiAgfSxcbiAgcGF5bWVudHM6IHtcbiAgICBjb2xsZWN0aW9uOiAncGF5bWVudHMnLFxuICAgIGtleTogJ3BheW1lbnRJZCdcbiAgfSxcbiAgcG9zdHM6IHtcbiAgICBjb2xsZWN0aW9uOiAncG9zdHMnLFxuICAgIGtleTogJ3Bvc3RJZCdcbiAgfSxcbiAgcmVhY3Rpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ3JlYWN0aW9ucycsXG4gICAga2V5OiAncmVhY3Rpb25JZCdcbiAgfSxcbiAgc3Vic2NyaXB0aW9uczoge1xuICAgIGNvbGxlY3Rpb246ICdzdWJzY3JpcHRpb25zJyxcbiAgICBrZXk6ICdzdWJzY3JpcHRpb25JZCdcbiAgfSxcbiAgdGFnczoge1xuICAgIGNvbGxlY3Rpb246ICd0YWdzJyxcbiAgICBrZXk6ICd0YWdJZCdcbiAgfSxcbiAgdXNlcnM6IHtcbiAgICBjb2xsZWN0aW9uOiAndXNlcnMnLFxuICAgIGtleTogJ3VzZXJJZCdcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldERvY0lkID0gKGNvbGxlY3Rpb246IEFyYW5nb0RiQ29sbGVjdGlvbiwgaXRlbSk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHtfaWQsIF9rZXksIGlkfSA9IGl0ZW07XG4gIGNvbnN0IGl0ZW1JZCA9IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkKTtcblxuICBpZihpdGVtSWQpIHtcbiAgICBjb25zdCBpZFBhcnRzID0gaXRlbUlkLnNwbGl0KCcvJyk7XG5cbiAgICBpZihjb2xsZWN0aW9uRGV0YWlsc1tpZFBhcnRzWzBdXSkge1xuICAgICAgcmV0dXJuIGl0ZW1JZDtcbiAgICB9XG4gIH1cblxuICBsZXQgaXRlbUtleSA9IHBhcnNlSWQoX2tleSk7XG5cbiAgaWYoIWl0ZW1LZXkpIHtcbiAgICBpdGVtS2V5ID0gaXRlbVtjb2xsZWN0aW9uRGV0YWlsc1tjb2xsZWN0aW9uXS5rZXldO1xuICB9XG5cbiAgcmV0dXJuIGl0ZW1LZXkgPyBgJHtjb2xsZWN0aW9ufS8ke2l0ZW1LZXl9YCA6ICcnO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldExpbWl0ID0gKHN0YXJ0OiBudW1iZXIgPSAwLCB0bzogbnVtYmVyID0gMzApOiBBcmFuZ29EYkxpbWl0ID0+IHtcbiAgbGV0IG51bSA9IHBhcnNlTnVtKHRvKSAtIHBhcnNlTnVtKHN0YXJ0KTtcblxuICBpZihudW0gPiA1MCkge1xuICAgIG51bSA9IDUwO1xuICB9XG5cbiAgcmV0dXJuIHthcWw6IHRvID49IDAgPyBgTElNSVQgJHtzdGFydH0sICR7bnVtfWAgOiAnJywgbnVtLCBzdGFydH07XG59O1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0UmVhY3Rpb25Db3VudEJ5VHlwZSA9IChvYmplY3RUeXBlOiBzdHJpbmcsIG9iamVjdEtleTogc3RyaW5nLCBmaWVsZDogc3RyaW5nLCBzZWxlY3RzKSA9PiB7XG4gIGNvbnN0IHJlYWN0aW9uVHlwZSA9IGZpZWxkLnN1YnN0cmluZygwLCBmaWVsZC5pbmRleE9mKCdDb3VudCcpKTtcbiAgc2VsZWN0cy5xdWVyaWVzLnB1c2goYExFVCAke2ZpZWxkfSA9IEZJUlNUKFxuICAgICAgRk9SIG9iaiwgciBJTiBJTkJPVU5EICR7b2JqZWN0S2V5fS5faWQgaGFzUmVhY3Rpb25cbiAgICAgIEZJTFRFUiByLm5hbWUgPT0gXCIke3JlYWN0aW9uVHlwZX1cIiAmJiByLnR5cGUgPT0gXCIke29iamVjdFR5cGV9XCJcbiAgICAgIENPTExFQ1QgV0lUSCBDT1VOVCBJTlRPIGNvdW50XG4gICAgICBSRVRVUk4gY291bnRcbiAgICApYCk7XG4gIHNlbGVjdHMub2JqZWN0cy5wdXNoKGAke2ZpZWxkfToke2ZpZWxkfWApO1xuICByZXR1cm4gc2VsZWN0cztcbn07XG5cbmV4cG9ydCBjb25zdCBzb3J0SWRzID0gKGlkczogc3RyaW5nW10sIHNvcnQ6IHN0cmluZyA9ICdBU0MnKTogc3RyaW5nW10gPT4gaWRzLnNvcnQoKGEsIGIpID0+IHtcbiAgaWYoc29ydC50b1VwcGVyQ2FzZSgpID09PSAnQVNDJykge1xuICAgIHJldHVybiBhLmxvY2FsZUNvbXBhcmUoYik7XG4gIH1cblxuICByZXR1cm4gYi5sb2NhbGVDb21wYXJlKGEpO1xufSk7XG5cbmV4cG9ydCBjb25zdCBnZXRHcWxGaWVsZHMgPSAoaW5mbykgPT4ge1xuICBjb25zdCBmaWVsZHMgPSBncmFwaHFsRmllbGRzKGluZm8pIHx8IHt9O1xuICBjb25zdCBtZXRob2ROYW1lID0gT2JqZWN0LmtleXMoZmllbGRzKVswXTtcblxuICBpZihtZXRob2ROYW1lKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZpZWxkc1ttZXRob2ROYW1lXSk7XG4gIH1cblxuICByZXR1cm4gW107XG59O1xuIl0sIm5hbWVzIjpbIkRhdGFiYXNlIiwiZ3JhcGhxbEZpZWxkcyIsIkNvbmZpZyIsInBhcnNlTnVtIiwicGFyc2VBcmFuZ29JZCIsInBhcnNlSWQiLCJ1c2VEYiIsImRhdGFiYXNlTmFtZSIsImFyYW5nb0NvbmZpZyIsImdldCIsImF1dGgiLCJwYXNzd29yZCIsInVzZXJuYW1lIiwiZGF0YWJhc2UiLCJ1cmwiLCJwb3J0IiwiY29sbGVjdGlvbkRldGFpbHMiLCJhcHBzIiwiY29sbGVjdGlvbiIsImtleSIsImNvbnZlcnNhdGlvbnMiLCJmaWxlcyIsImdyb3VwcyIsImltYWdlcyIsImxvY2F0aW9ucyIsIm1lc3NhZ2VzIiwibm90aWZpY2F0aW9ucyIsInBheW1lbnRzIiwicG9zdHMiLCJyZWFjdGlvbnMiLCJzdWJzY3JpcHRpb25zIiwidGFncyIsInVzZXJzIiwiZ2V0RG9jSWQiLCJpdGVtIiwiX2lkIiwiX2tleSIsImlkIiwiaXRlbUlkIiwiaWRQYXJ0cyIsInNwbGl0IiwiaXRlbUtleSIsImdldExpbWl0Iiwic3RhcnQiLCJ0byIsIm51bSIsImFxbCIsInNlbGVjdFJlYWN0aW9uQ291bnRCeVR5cGUiLCJvYmplY3RUeXBlIiwib2JqZWN0S2V5IiwiZmllbGQiLCJzZWxlY3RzIiwicmVhY3Rpb25UeXBlIiwic3Vic3RyaW5nIiwiaW5kZXhPZiIsInF1ZXJpZXMiLCJwdXNoIiwib2JqZWN0cyIsInNvcnRJZHMiLCJpZHMiLCJzb3J0IiwiYSIsImIiLCJ0b1VwcGVyQ2FzZSIsImxvY2FsZUNvbXBhcmUiLCJnZXRHcWxGaWVsZHMiLCJpbmZvIiwiZmllbGRzIiwibWV0aG9kTmFtZSIsIk9iamVjdCIsImtleXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLFFBQVEsUUFBTyxXQUFXO0FBQ2xDLE9BQU9DLG1CQUFtQixpQkFBaUI7QUFFM0MsU0FBUUMsTUFBTSxRQUFPLGVBQWU7QUFFcEMsU0FBUUMs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
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy91dGlscy9hcmFuZ29kYlV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFVzZSBpcyBzdWJqZWN0IHRvIHRoZSBhY2NvbXBhbnlpbmcgY29tbWVyY2lhbCBMSUNFTlNFLlxuICovXG5pbXBvcnQge0RhdGFiYXNlfSBmcm9tICdhcmFuZ29qcyc7XG5pbXBvcnQgZ3JhcGhxbEZpZWxkcyBmcm9tICdncmFwaHFsLWZpZWxkcyc7XG5cbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcuanMnO1xuXG5pbXBvcnQge3BhcnNlTnVtfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9udW1iZXJzJztcbmltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZH0gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvc3RyaW5ncyc7XG5pbXBvcnQgdHlwZSB7QXJhbmdvRGJDb2xsZWN0aW9uLCBBcmFuZ29EYkxpbWl0fSBmcm9tICcuLi90eXBlcy9hcmFuZ29kYi50eXBlcy5qcyc7XG5cbmV4cG9ydCBjb25zdCB1c2VEYiA9IChkYXRhYmFzZU5hbWU/OiBzdHJpbmcpOiBEYXRhYmFzZSA9PiB7XG4gIGNvbnN0IGFyYW5nb0NvbmZpZyA9IENvbmZpZy5nZXQoJ2FyYW5nb2RiJyk7XG5cbiAgcmV0dXJuIG5ldyBEYXRhYmFzZSh7XG4gICAgYXV0aDoge1xuICAgICAgcGFzc3dvcmQ6IGFyYW5nb0NvbmZpZy5wYXNzd29yZCxcbiAgICAgIHVzZXJuYW1lOiBhcmFuZ29Db25maWcudXNlcm5hbWVcbiAgICB9LFxuICAgIGRhdGFiYXNlTmFtZTogZGF0YWJhc2VOYW1lIHx8IGFyYW5nb0NvbmZpZy5kYXRhYmFzZSB8fCAncmVha3RvcicsXG4gICAgdXJsOiBgJHthcmFuZ29Db25maWcudXJsfToke2FyYW5nb0NvbmZpZy5wb3J0fWBcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY29sbGVjdGlvbkRldGFpbHMgPSB7XG4gIGFuYWx5dGljczoge1xuICAgIGNvbGxlY3Rpb246ICdhbmFseXRpY3MnLFxuICAgIGtleTogJ2FuYWx5dGljc0lkJ1xuICB9LFxuICBhcHBzOiB7XG4gICAgY29sbGVjdGlvbjogJ2FwcHMnLFxuICAgIGtleTogJ2FwcElkJ1xuICB9LFxuICBjb252ZXJzYXRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ2NvbnZlcnNhdGlvbnMnLFxuICAgIGtleTogJ2NvbnZlcnNhdGlvbklkJ1xuICB9LFxuICBmaWxlczoge1xuICAgIGNvbGxlY3Rpb246ICdmaWxlcycsXG4gICAga2V5OiAnZmlsZUlkJ1xuICB9LFxuICBmbGFnczoge1xuICAgIGNvbGxlY3Rpb246ICdmbGFncycsXG4gICAga2V5OiAna2V5J1xuICB9LFxuICBncm91cHM6IHtcbiAgICBjb2xsZWN0aW9uOiAnZ3JvdXBzJyxcbiAgICBrZXk6ICdncm91cElkJ1xuICB9LFxuICBpbWFnZXM6IHtcbiAgICBjb2xsZWN0aW9uOiAnaW1hZ2VzJyxcbiAgICBrZXk6ICdpbWFnZUlkJ1xuICB9LFxuICBsb2NhdGlvbnM6IHtcbiAgICBjb2xsZWN0aW9uOiAnbG9jYXRpb25zJyxcbiAgICBrZXk6ICdsb2NhdGlvbklkJ1xuICB9LFxuICBtZXNzYWdlczoge1xuICAgIGNvbGxlY3Rpb246ICdtZXNzYWdlcycsXG4gICAga2V5OiAnbWVzc2FnZUlkJ1xuICB9LFxuICBub3RpZmljYXRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ25vdGlmaWNhdGlvbnMnLFxuICAgIGtleTogJ25vdGlmaWNhdGlvbklkJ1xuICB9LFxuICBwYXltZW50czoge1xuICAgIGNvbGxlY3Rpb246ICdwYXltZW50cycsXG4gICAga2V5OiAncGF5bWVudElkJ1xuICB9LFxuICBwb3N0czoge1xuICAgIGNvbGxlY3Rpb246ICdwb3N0cycsXG4gICAga2V5OiAncG9zdElkJ1xuICB9LFxuICByZWFjdGlvbnM6IHtcbiAgICBjb2xsZWN0aW9uOiAncmVhY3Rpb25zJyxcbiAgICBrZXk6ICdyZWFjdGlvbklkJ1xuICB9LFxuICBzdWJzY3JpcHRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ3N1YnNjcmlwdGlvbnMnLFxuICAgIGtleTogJ3N1YnNjcmlwdGlvbklkJ1xuICB9LFxuICB0YWdzOiB7XG4gICAgY29sbGVjdGlvbjogJ3RhZ3MnLFxuICAgIGtleTogJ3RhZ0lkJ1xuICB9LFxuICB1c2Vyczoge1xuICAgIGNvbGxlY3Rpb246ICd1c2VycycsXG4gICAga2V5OiAndXNlcklkJ1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RG9jSWQgPSAoY29sbGVjdGlvbjogQXJhbmdvRGJDb2xsZWN0aW9uLCBpdGVtKTogc3RyaW5nID0+IHtcbiAgY29uc3Qge19pZCwgX2tleSwgaWR9ID0gaXRlbTtcbiAgY29uc3QgaXRlbUlkID0gcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQpO1xuXG4gIGlmKGl0ZW1JZCkge1xuICAgIGNvbnN0IGlkUGFydHMgPSBpdGVtSWQuc3BsaXQoJy8nKTtcblxuICAgIGlmKGNvbGxlY3Rpb25EZXRhaWxzW2lkUGFydHNbMF1dKSB7XG4gICAgICByZXR1cm4gaXRlbUlkO1xuICAgIH1cbiAgfVxuXG4gIGxldCBpdGVtS2V5ID0gcGFyc2VJZChfa2V5KTtcblxuICBpZighaXRlbUtleSkge1xuICAgIGl0ZW1LZXkgPSBpdGVtW2NvbGxlY3Rpb25EZXRhaWxzW2NvbGxlY3Rpb25dLmtleV07XG4gIH1cblxuICByZXR1cm4gaXRlbUtleSA/IGAke2NvbGxlY3Rpb259LyR7aXRlbUtleX1gIDogJyc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGltaXQgPSAoc3RhcnQ6IG51bWJlciA9IDAsIHRvOiBudW1iZXIgPSAzMCk6IEFyYW5nb0RiTGltaXQgPT4ge1xuICBsZXQgbnVtID0gcGFyc2VOdW0odG8pIC0gcGFyc2VOdW0oc3RhcnQpO1xuXG4gIGlmKG51bSA+IDUwKSB7XG4gICAgbnVtID0gNTA7XG4gIH1cblxuICByZXR1cm4ge2FxbDogdG8gPj0gMCA/IGBMSU1JVCAke3N0YXJ0fSwgJHtudW19YCA6ICcnLCBudW0sIHN0YXJ0fTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RSZWFjdGlvbkNvdW50QnlUeXBlID0gKG9iamVjdFR5cGU6IHN0cmluZywgb2JqZWN0S2V5OiBzdHJpbmcsIGZpZWxkOiBzdHJpbmcsIHNlbGVjdHMpID0+IHtcbiAgY29uc3QgcmVhY3Rpb25UeXBlID0gZmllbGQuc3Vic3RyaW5nKDAsIGZpZWxkLmluZGV4T2YoJ0NvdW50JykpO1xuICBzZWxlY3RzLnF1ZXJpZXMucHVzaChgTEVUICR7ZmllbGR9ID0gRklSU1QoXG4gICAgICBGT1Igb2JqLCByIElOIElOQk9VTkQgJHtvYmplY3RLZXl9Ll9pZCBoYXNSZWFjdGlvblxuICAgICAgRklMVEVSIHIubmFtZSA9PSBcIiR7cmVhY3Rpb25UeXBlfVwiICYmIHIudHlwZSA9PSBcIiR7b2JqZWN0VHlwZX1cIlxuICAgICAgQ09MTEVDVCBXSVRIIENPVU5UIElOVE8gY291bnRcbiAgICAgIFJFVFVSTiBjb3VudFxuICAgIClgKTtcbiAgc2VsZWN0cy5vYmplY3RzLnB1c2goYCR7ZmllbGR9OiR7ZmllbGR9YCk7XG4gIHJldHVybiBzZWxlY3RzO1xufTtcblxuZXhwb3J0IGNvbnN0IHNvcnRJZHMgPSAoaWRzOiBzdHJpbmdbXSwgc29ydDogc3RyaW5nID0gJ0FTQycpOiBzdHJpbmdbXSA9PiBpZHMuc29ydCgoYSwgYikgPT4ge1xuICBpZihzb3J0LnRvVXBwZXJDYXNlKCkgPT09ICdBU0MnKSB7XG4gICAgcmV0dXJuIGEubG9jYWxlQ29tcGFyZShiKTtcbiAgfVxuXG4gIHJldHVybiBiLmxvY2FsZUNvbXBhcmUoYSk7XG59KTtcblxuZXhwb3J0IGNvbnN0IGdldEdxbEZpZWxkcyA9IChpbmZvKSA9PiB7XG4gIGNvbnN0IGZpZWxkcyA9IGdyYXBocWxGaWVsZHMoaW5mbykgfHwge307XG4gIGNvbnN0IG1ldGhvZE5hbWUgPSBPYmplY3Qua2V5cyhmaWVsZHMpWzBdO1xuXG4gIGlmKG1ldGhvZE5hbWUpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZmllbGRzW21ldGhvZE5hbWVdKTtcbiAgfVxuXG4gIHJldHVybiBbXTtcbn07XG4iXSwibmFtZXMiOlsiRGF0YWJhc2UiLCJncmFwaHFsRmllbGRzIiwiQ29uZmlnIiwicGFyc2VOdW0iLCJwYXJzZUFyYW5nb0lkIiwicGFyc2VJZCIsInVzZURiIiwiZGF0YWJhc2VOYW1lIiwiYXJhbmdvQ29uZmlnIiwiZ2V0IiwiYXV0aCIsInBhc3N3b3JkIiwidXNlcm5hbWUiLCJkYXRhYmFzZSIsInVybCIsInBvcnQiLCJjb2xsZWN0aW9uRGV0YWlscyIsImFuYWx5dGljcyIsImNvbGxlY3Rpb24iLCJrZXkiLCJhcHBzIiwiY29udmVyc2F0aW9ucyIsImZpbGVzIiwiZmxhZ3MiLCJncm91cHMiLCJpbWFnZXMiLCJsb2NhdGlvbnMiLCJtZXNzYWdlcyIsIm5vdGlmaWNhdGlvbnMiLCJwYXltZW50cyIsInBvc3RzIiwicmVhY3Rpb25zIiwic3Vic2NyaXB0aW9ucyIsInRhZ3MiLCJ1c2VycyIsImdldERvY0lkIiwiaXRlbSIsIl9pZCIsIl9rZXkiLCJpZCIsIml0ZW1JZCIsImlkUGFydHMiLCJzcGxpdCIsIml0ZW1LZXkiLCJnZXRMaW1pdCIsInN0YXJ0IiwidG8iLCJudW0iLCJhcWwiLCJzZWxlY3RSZWFjdGlvbkNvdW50QnlUeXBlIiwib2JqZWN0VHlwZSIsIm9iamVjdEtleSIsImZpZWxkIiwic2VsZWN0cyIsInJlYWN0aW9uVHlwZSIsInN1YnN0cmluZyIsImluZGV4T2YiLCJxdWVyaWVzIiwicHVzaCIsIm9iamVjdHMiLCJzb3J0SWRzIiwiaWRzIiwic29ydCIsImEiLCJiIiwidG9VcHBlckNhc2UiLCJsb2NhbGVDb21wYXJlIiwiZ2V0R3FsRmllbGRzIiwi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
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
3
+ * All rights reserved. Use is subject to the accompanying commercial LICENSE.
4
4
  */ import { getSession, isAdminUser } from './sessionUtils.js';
5
5
  export const getLambdaData = (data)=>{
6
6
  if (typeof data === 'string') {
@@ -55,4 +55,4 @@ export const createContext = async (context, event)=>{
55
55
  }
56
56
  };
57
57
 
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2F1dGhVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtnZXRTZXNzaW9uLCBpc0FkbWluVXNlcn0gZnJvbSAnLi9zZXNzaW9uVXRpbHMuanMnO1xuXG5pbXBvcnQgdHlwZSB7QXBwU3RhZ2V9IGZyb20gJy4uL3R5cGVzL2FwcHMudHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge1Nlc3Npb259IGZyb20gJy4vc2Vzc2lvblV0aWxzLmpzJztcblxuZXhwb3J0IHR5cGUgTGFtYmRhRGF0YUNvbnRleHQgPSB7YWNjb3VudElkOiAnYWNjb3VudElkJyxcbiAgcmVhZG9ubHkgcmVxdWVzdElkOiBzdHJpbmcsXG4gIHJlYWRvbmx5IHJlcXVlc3RUaW1lRXBvY2g6IG51bWJlcixcbiAgcmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nLFxuICByZWFkb25seSByZXNvdXJjZVBhdGg6IHN0cmluZyxcbiAgcmVhZG9ubHkgc3RhZ2U6IEFwcFN0YWdlXG59O1xuXG5leHBvcnQgdHlwZSBMYW1iZGFEYXRhID0ge1xuICByZWFkb25seSBib2R5Pzogc3RyaW5nIHwgb2JqZWN0O1xuICByZWFkb25seSAnYm9keS1qc29uJz86IHN0cmluZztcbiAgcmVhZG9ubHkgY29udGV4dD86IExhbWJkYURhdGFDb250ZXh0O1xuICByZWFkb25seSByZXF1ZXN0Q29udGV4dD86IG9iamVjdDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRMYW1iZGFEYXRhID0gKGRhdGE6IExhbWJkYURhdGEgfCBzdHJpbmcpID0+IHtcbiAgaWYodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJvZHk6IHBhcnNlSnNvbkRhdGEoZGF0YSksXG4gICAgICBjb250ZXh0OiB7fVxuICAgIH07XG4gIH1cblxuICBjb25zdCB7Ym9keSwgJ2JvZHktanNvbic6IGJvZHlKc29uLCByZXF1ZXN0Q29udGV4dH0gPSBkYXRhIGFzIExhbWJkYURhdGE7XG4gIGNvbnN0IHF1ZXJ5RGF0YSA9IGJvZHkgfHwgYm9keUpzb247XG5cbiAgcmV0dXJuIHtcbiAgICBib2R5OiBwYXJzZUpzb25EYXRhKHF1ZXJ5RGF0YSksXG4gICAgY29udGV4dDogcmVxdWVzdENvbnRleHQgPyB7Li4ucmVxdWVzdENvbnRleHR9IDoge31cbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZUpzb25EYXRhID0gKGRhdGEpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShkYXRhKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaXNBdXRoZW50aWNhdGVkID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIHVzZXJJZD86IHN0cmluZykgPT4ge1xuICBjb25zdCB7c2Vzc2lvbn0gPSBjb250ZXh0O1xuICBjb25zdCB7dXNlcklkOiBzZXNzaW9uVXNlcklkfSA9IHNlc3Npb24gfHwge307XG4gIGNvbnN0IGlzQWRtaW4gPSBpc0FkbWluVXNlcihzZXNzaW9uKTtcblxuICBpZighaXNBZG1pbiAmJiAhdXNlcklkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGlzQWRtaW4gfHwgc2Vzc2lvblVzZXJJZCA9PT0gdXNlcklkO1xufTtcblxuXG5leHBvcnQgY29uc3QgY3JlYXRlQ29udGV4dCA9IGFzeW5jIChjb250ZXh0OiBBcGlDb250ZXh0LCBldmVudCk6IFByb21pc2U8QXBpQ29udGV4dD4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IGF1dGhIZWFkZXIgPSBldmVudC5oZWFkZXJzPy5BdXRob3JpemF0aW9uIHx8IGV2ZW50LmhlYWRlcnM/LmF1dGhvcml6YXRpb247XG4gICAgY29uc3QgdG9rZW4gPSBhdXRoSGVhZGVyPy5yZXBsYWNlKCdCZWFyZXIgJywgJycpO1xuXG4gICAgaWYoIXRva2VuKSB7XG4gICAgICByZXR1cm4gY29udGV4dDtcbiAgICB9XG5cbiAgICBjb25zdCBzZXNzaW9uOiBTZXNzaW9uID0gZ2V0U2Vzc2lvbih0b2tlbik7XG5cbiAgICBpZihzZXNzaW9uPy51c2VySWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgIHNlc3Npb25cbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdBdXRoIGVycm9yOicsIGVycm9yKTtcbiAgICByZXR1cm4gY29udGV4dDtcbiAgfVxufTtcbiJdLCJuYW1lcyI6WyJnZXRTZXNzaW9uIiwiaXNBZG1pblVzZXIiLCJnZXRMYW1iZGFEYXRhIiwiZGF0YSIsImJvZHkiLCJwYXJzZUpzb25EYXRhIiwiY29udGV4dCIsImJvZHlKc29uIiwicmVxdWVzdENvbnRleHQiLCJxdWVyeURhdGEiLCJKU09OIiwicGFyc2UiLCJlcnJvciIsImlzQXV0aGVudGljYXRlZCIsInVzZXJJZCIsInNlc3Npb24iLCJzZXNzaW9uVXNlcklkIiwiaXNBZG1pbiIsImNyZWF0ZUNvbnRleHQiLCJldmVudCIsImF1dGhIZWFkZXIiLCJoZWFkZXJzIiwiQXV0aG9yaXphdGlvbiIsImF1dGhvcml6YXRpb24iLCJ0b2tlbiIsInJlcGxhY2UiLCJjb25zb2xlIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxVQUFVLEVBQUVDLFdBQVcsUUFBTyxvQkFBb0I7QUFxQjFELE9BQU8sTUFBTUMsZ0JBQWdCLENBQUNDO0lBQzVCLElBQUcsT0FBT0EsU0FBUyxVQUFVO1FBQzNCLE9BQU87WUFDTEMsTUFBTUMsY0FBY0Y7WUFDcEJHLFNBQVMsQ0FBQztRQUNaO0lBQ0Y7SUFFQSxNQUFNLEVBQUNGLElBQUksRUFBRSxhQUFhRyxRQUFRLEVBQUVDLGNBQWMsRUFBQyxHQUFHTDtJQUN0RCxNQUFNTSxZQUFZTCxRQUFRRztJQUUxQixPQUFPO1FBQ0xILE1BQU1DLGNBQWNJO1FBQ3BCSCxTQUFTRSxpQkFBaUI7WUFBQyxHQUFHQSxjQUFjO1FBQUEsSUFBSSxDQUFDO0lBQ25EO0FBQ0YsRUFBRTtBQUVGLE9BQU8sTUFBTUgsZ0JBQWdCLENBQUNGO0lBQzVCLElBQUk7UUFDRixPQUFPTyxLQUFLQyxLQUFLLENBQUNSO0lBQ3BCLEVBQUUsT0FBTVMsT0FBTztRQUNiLE9BQU9UO0lBQ1Q7QUFDRixFQUFFO0FBRUYsT0FBTyxNQUFNVSxrQkFBa0IsQ0FBQ1AsU0FBcUJRO0lBQ25ELE1BQU0sRUFBQ0MsT0FBTyxFQUFDLEdBQUdUO0lBQ2xCLE1BQU0sRUFBQ1EsUUFBUUUsYUFBYSxFQUFDLEdBQUdELFdBQVcsQ0FBQztJQUM1QyxNQUFNRSxVQUFVaEIsWUFBWWM7SUFFNUIsSUFBRyxDQUFDRSxXQUFXLENBQUNILFFBQVE7UUFDdEIsT0FBTztJQUNUO0lBRUEsT0FBT0csV0FBV0Qsa0JBQWtCRjtBQUN0QyxFQUFFO0FBR0YsT0FBTyxNQUFNSSxnQkFBZ0IsT0FBT1osU0FBcUJhO0lBQ3ZELElBQUk7UUFDRixNQUFNQyxhQUFhRCxNQUFNRSxPQUFPLEVBQUVDLGlCQUFpQkgsTUFBTUUsT0FBTyxFQUFFRTtRQUNsRSxNQUFNQyxRQUFRSixZQUFZSyxRQUFRLFdBQVc7UUFFN0MsSUFBRyxDQUFDRCxPQUFPO1lBQ1QsT0FBT2xCO1FBQ1Q7UUFFQSxNQUFNUyxVQUFtQmYsV0FBV3dCO1FBRXBDLElBQUdULFNBQVNELFFBQVE7WUFDbEIsT0FBTztnQkFDTCxHQUFHUixPQUFPO2dCQUNWUztZQUNGO1FBQ0Y7UUFFQSxPQUFPVDtJQUNULEVBQUUsT0FBTU0sT0FBTztRQUNiYyxRQUFRZCxLQUFLLENBQUMsZUFBZUE7UUFDN0IsT0FBT047SUFDVDtBQUNGLEVBQUUifQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy91dGlscy9hdXRoVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIGlzIHN1YmplY3QgdG8gdGhlIGFjY29tcGFueWluZyBjb21tZXJjaWFsIExJQ0VOU0UuXG4gKi9cbmltcG9ydCB7Z2V0U2Vzc2lvbiwgaXNBZG1pblVzZXJ9IGZyb20gJy4vc2Vzc2lvblV0aWxzLmpzJztcblxuaW1wb3J0IHR5cGUge0FwcFN0YWdlfSBmcm9tICcuLi90eXBlcy9hcHBzLnR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtTZXNzaW9ufSBmcm9tICcuL3Nlc3Npb25VdGlscy5qcyc7XG5cbmV4cG9ydCB0eXBlIExhbWJkYURhdGFDb250ZXh0ID0ge2FjY291bnRJZDogJ2FjY291bnRJZCcsXG4gIHJlYWRvbmx5IHJlcXVlc3RJZDogc3RyaW5nLFxuICByZWFkb25seSByZXF1ZXN0VGltZUVwb2NoOiBudW1iZXIsXG4gIHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZyxcbiAgcmVhZG9ubHkgcmVzb3VyY2VQYXRoOiBzdHJpbmcsXG4gIHJlYWRvbmx5IHN0YWdlOiBBcHBTdGFnZVxufTtcblxuZXhwb3J0IHR5cGUgTGFtYmRhRGF0YSA9IHtcbiAgcmVhZG9ubHkgYm9keT86IHN0cmluZyB8IG9iamVjdDtcbiAgcmVhZG9ubHkgJ2JvZHktanNvbic/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbnRleHQ/OiBMYW1iZGFEYXRhQ29udGV4dDtcbiAgcmVhZG9ubHkgcmVxdWVzdENvbnRleHQ/OiBvYmplY3Q7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGFtYmRhRGF0YSA9IChkYXRhOiBMYW1iZGFEYXRhIHwgc3RyaW5nKSA9PiB7XG4gIGlmKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB7XG4gICAgICBib2R5OiBwYXJzZUpzb25EYXRhKGRhdGEpLFxuICAgICAgY29udGV4dDoge31cbiAgICB9O1xuICB9XG5cbiAgY29uc3Qge2JvZHksICdib2R5LWpzb24nOiBib2R5SnNvbiwgcmVxdWVzdENvbnRleHR9ID0gZGF0YSBhcyBMYW1iZGFEYXRhO1xuICBjb25zdCBxdWVyeURhdGEgPSBib2R5IHx8IGJvZHlKc29uO1xuXG4gIHJldHVybiB7XG4gICAgYm9keTogcGFyc2VKc29uRGF0YShxdWVyeURhdGEpLFxuICAgIGNvbnRleHQ6IHJlcXVlc3RDb250ZXh0ID8gey4uLnJlcXVlc3RDb250ZXh0fSA6IHt9XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VKc29uRGF0YSA9IChkYXRhKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoZGF0YSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGlzQXV0aGVudGljYXRlZCA9IChjb250ZXh0OiBBcGlDb250ZXh0LCB1c2VySWQ/OiBzdHJpbmcpID0+IHtcbiAgY29uc3Qge3Nlc3Npb259ID0gY29udGV4dDtcbiAgY29uc3Qge3VzZXJJZDogc2Vzc2lvblVzZXJJZH0gPSBzZXNzaW9uIHx8IHt9O1xuICBjb25zdCBpc0FkbWluID0gaXNBZG1pblVzZXIoc2Vzc2lvbik7XG5cbiAgaWYoIWlzQWRtaW4gJiYgIXVzZXJJZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBpc0FkbWluIHx8IHNlc3Npb25Vc2VySWQgPT09IHVzZXJJZDtcbn07XG5cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNvbnRleHQgPSBhc3luYyAoY29udGV4dDogQXBpQ29udGV4dCwgZXZlbnQpOiBQcm9taXNlPEFwaUNvbnRleHQ+ID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBhdXRoSGVhZGVyID0gZXZlbnQuaGVhZGVycz8uQXV0aG9yaXphdGlvbiB8fCBldmVudC5oZWFkZXJzPy5hdXRob3JpemF0aW9uO1xuICAgIGNvbnN0IHRva2VuID0gYXV0aEhlYWRlcj8ucmVwbGFjZSgnQmVhcmVyICcsICcnKTtcblxuICAgIGlmKCF0b2tlbikge1xuICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgfVxuXG4gICAgY29uc3Qgc2Vzc2lvbjogU2Vzc2lvbiA9IGdldFNlc3Npb24odG9rZW4pO1xuXG4gICAgaWYoc2Vzc2lvbj8udXNlcklkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICBzZXNzaW9uXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignQXV0aCBlcnJvcjonLCBlcnJvcik7XG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH1cbn07XG4iXSwibmFtZXMiOlsiZ2V0U2Vzc2lvbiIsImlzQWRtaW5Vc2VyIiwiZ2V0TGFtYmRhRGF0YSIsImRhdGEiLCJib2R5IiwicGFyc2VKc29uRGF0YSIsImNvbnRleHQiLCJib2R5SnNvbiIsInJlcXVlc3RDb250ZXh0IiwicXVlcnlEYXRhIiwiSlNPTiIsInBhcnNlIiwiZXJyb3IiLCJpc0F1dGhlbnRpY2F0ZWQiLCJ1c2VySWQiLCJzZXNzaW9uIiwic2Vzc2lvblVzZXJJZCIsImlzQWRtaW4iLCJjcmVhdGVDb250ZXh0IiwiZXZlbnQiLCJhdXRoSGVhZGVyIiwiaGVhZGVycyIsIkF1dGhvcml6YXRpb24iLCJhdXRob3JpemF0aW9uIiwidG9rZW4iLCJyZXBsYWNlIiwiY29uc29sZSJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsVUFBVSxFQUFFQyxXQUFXLFFBQU8sb0JBQW9CO0FBcUIxRCxPQUFPLE1BQU1DLGdCQUFnQixDQUFDQztJQUM1QixJQUFHLE9BQU9BLFNBQVMsVUFBVTtRQUMzQixPQUFPO1lBQ0xDLE1BQU1DLGNBQWNGO1lBQ3BCRyxTQUFTLENBQUM7UUFDWjtJQUNGO0lBRUEsTUFBTSxFQUFDRixJQUFJLEVBQUUsYUFBYUcsUUFBUSxFQUFFQyxjQUFjLEVBQUMsR0FBR0w7SUFDdEQsTUFBTU0sWUFBWUwsUUFBUUc7SUFFMUIsT0FBTztRQUNMSCxNQUFNQyxjQUFjSTtRQUNwQkgsU0FBU0UsaUJBQWlCO1lBQUMsR0FBR0EsY0FBYztRQUFBLElBQUksQ0FBQztJQUNuRDtBQUNGLEVBQUU7QUFFRixPQUFPLE1BQU1ILGdCQUFnQixDQUFDRjtJQUM1QixJQUFJO1FBQ0YsT0FBT08sS0FBS0MsS0FBSyxDQUFDUjtJQUNwQixFQUFFLE9BQU1TLE9BQU87UUFDYixPQUFPVDtJQUNUO0FBQ0YsRUFBRTtBQUVGLE9BQU8sTUFBTVUsa0JBQWtCLENBQUNQLFNBQXFCUTtJQUNuRCxNQUFNLEVBQUNDLE9BQU8sRUFBQyxHQUFHVDtJQUNsQixNQUFNLEVBQUNRLFFBQVFFLGFBQWEsRUFBQyxHQUFHRCxXQUFXLENBQUM7SUFDNUMsTUFBTUUsVUFBVWhCLFlBQVljO0lBRTVCLElBQUcsQ0FBQ0UsV0FBVyxDQUFDSCxRQUFRO1FBQ3RCLE9BQU87SUFDVDtJQUVBLE9BQU9HLFdBQVdELGtCQUFrQkY7QUFDdEMsRUFBRTtBQUdGLE9BQU8sTUFBTUksZ0JBQWdCLE9BQU9aLFNBQXFCYTtJQUN2RCxJQUFJO1FBQ0YsTUFBTUMsYUFBYUQsTUFBTUUsT0FBTyxFQUFFQyxpQkFBaUJILE1BQU1FLE9BQU8sRUFBRUU7UUFDbEUsTUFBTUMsUUFBUUosWUFBWUssUUFBUSxXQUFXO1FBRTdDLElBQUcsQ0FBQ0QsT0FBTztZQUNULE9BQU9sQjtRQUNUO1FBRUEsTUFBTVMsVUFBbUJmLFdBQVd3QjtRQUVwQyxJQUFHVCxTQUFTRCxRQUFRO1lBQ2xCLE9BQU87Z0JBQ0wsR0FBR1IsT0FBTztnQkFDVlM7WUFDRjtRQUNGO1FBRUEsT0FBT1Q7SUFDVCxFQUFFLE9BQU1NLE9BQU87UUFDYmMsUUFBUWQsS0FBSyxDQUFDLGVBQWVBO1FBQzdCLE9BQU9OO0lBQ1Q7QUFDRixFQUFFIn0=
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
3
+ * All rights reserved. Use is subject to the accompanying commercial LICENSE.
4
4
  */ import { Config } from '../config.js';
5
5
  export const getAwsCredentials = ()=>{
6
6
  const credentials = Config.get('aws.credentials');
@@ -20,4 +20,4 @@ export const getAwsCredentials = ()=>{
20
20
  };
21
21
  };
22
22
 
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2F3c1V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcblxuZXhwb3J0IGNvbnN0IGdldEF3c0NyZWRlbnRpYWxzID0gKCk6XG4gIHwge1xuICAgIHJlYWRvbmx5IGFjY2Vzc0tleUlkOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc2VjcmV0QWNjZXNzS2V5OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc2Vzc2lvblRva2VuPzogc3RyaW5nO1xuICB9XG4gIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgY3JlZGVudGlhbHMgPSBDb25maWcuZ2V0KCdhd3MuY3JlZGVudGlhbHMnKTtcbiAgY29uc3QgYWNjZXNzS2V5SWQgPSBTdHJpbmcoY3JlZGVudGlhbHM/LmFjY2Vzc0tleUlkIHx8ICcnKS50cmltKCk7XG4gIGNvbnN0IHNlY3JldEFjY2Vzc0tleSA9IFN0cmluZyhjcmVkZW50aWFscz8uc2VjcmV0QWNjZXNzS2V5IHx8ICcnKS50cmltKCk7XG4gIGNvbnN0IHNlc3Npb25Ub2tlbiA9IFN0cmluZyhjcmVkZW50aWFscz8uc2Vzc2lvblRva2VuIHx8ICcnKS50cmltKCk7XG5cbiAgaWYoIWFjY2Vzc0tleUlkIHx8ICFzZWNyZXRBY2Nlc3NLZXkpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIHNlc3Npb25Ub2tlbiA/IHtcbiAgICBhY2Nlc3NLZXlJZCxcbiAgICBzZWNyZXRBY2Nlc3NLZXksXG4gICAgc2Vzc2lvblRva2VuXG4gIH0gOiB7XG4gICAgYWNjZXNzS2V5SWQsXG4gICAgc2VjcmV0QWNjZXNzS2V5XG4gIH07XG59O1xuIl0sIm5hbWVzIjpbIkNvbmZpZyIsImdldEF3c0NyZWRlbnRpYWxzIiwiY3JlZGVudGlhbHMiLCJnZXQiLCJhY2Nlc3NLZXlJZCIsIlN0cmluZyIsInRyaW0iLCJzZWNyZXRBY2Nlc3NLZXkiLCJzZXNzaW9uVG9rZW4iLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLE1BQU0sUUFBTyxlQUFlO0FBRXBDLE9BQU8sTUFBTUMsb0JBQW9CO0lBTy9CLE1BQU1DLGNBQWNGLE9BQU9HLEdBQUcsQ0FBQztJQUMvQixNQUFNQyxjQUFjQyxPQUFPSCxhQUFhRSxlQUFlLElBQUlFLElBQUk7SUFDL0QsTUFBTUMsa0JBQWtCRixPQUFPSCxhQUFhSyxtQkFBbUIsSUFBSUQsSUFBSTtJQUN2RSxNQUFNRSxlQUFlSCxPQUFPSCxhQUFhTSxnQkFBZ0IsSUFBSUYsSUFBSTtJQUVqRSxJQUFHLENBQUNGLGVBQWUsQ0FBQ0csaUJBQWlCO1FBQ25DLE9BQU9FO0lBQ1Q7SUFFQSxPQUFPRCxlQUFlO1FBQ3BCSjtRQUNBRztRQUNBQztJQUNGLElBQUk7UUFDRko7UUFDQUc7SUFDRjtBQUNGLEVBQUUifQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy91dGlscy9hd3NVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBVc2UgaXMgc3ViamVjdCB0byB0aGUgYWNjb21wYW55aW5nIGNvbW1lcmNpYWwgTElDRU5TRS5cbiAqL1xuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5cbmV4cG9ydCBjb25zdCBnZXRBd3NDcmVkZW50aWFscyA9ICgpOlxuICB8IHtcbiAgICByZWFkb25seSBhY2Nlc3NLZXlJZDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHNlY3JldEFjY2Vzc0tleTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHNlc3Npb25Ub2tlbj86IHN0cmluZztcbiAgfVxuICB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IGNyZWRlbnRpYWxzID0gQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzJyk7XG4gIGNvbnN0IGFjY2Vzc0tleUlkID0gU3RyaW5nKGNyZWRlbnRpYWxzPy5hY2Nlc3NLZXlJZCB8fCAnJykudHJpbSgpO1xuICBjb25zdCBzZWNyZXRBY2Nlc3NLZXkgPSBTdHJpbmcoY3JlZGVudGlhbHM/LnNlY3JldEFjY2Vzc0tleSB8fCAnJykudHJpbSgpO1xuICBjb25zdCBzZXNzaW9uVG9rZW4gPSBTdHJpbmcoY3JlZGVudGlhbHM/LnNlc3Npb25Ub2tlbiB8fCAnJykudHJpbSgpO1xuXG4gIGlmKCFhY2Nlc3NLZXlJZCB8fCAhc2VjcmV0QWNjZXNzS2V5KSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiBzZXNzaW9uVG9rZW4gPyB7XG4gICAgYWNjZXNzS2V5SWQsXG4gICAgc2VjcmV0QWNjZXNzS2V5LFxuICAgIHNlc3Npb25Ub2tlblxuICB9IDoge1xuICAgIGFjY2Vzc0tleUlkLFxuICAgIHNlY3JldEFjY2Vzc0tleVxuICB9O1xufTtcbiJdLCJuYW1lcyI6WyJDb25maWciLCJnZXRBd3NDcmVkZW50aWFscyIsImNyZWRlbnRpYWxzIiwiZ2V0IiwiYWNjZXNzS2V5SWQiLCJTdHJpbmciLCJ0cmltIiwic2VjcmV0QWNjZXNzS2V5Iiwic2Vzc2lvblRva2VuIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxNQUFNLFFBQU8sZUFBZTtBQUVwQyxPQUFPLE1BQU1DLG9CQUFvQjtJQU8vQixNQUFNQyxjQUFjRixPQUFPRyxHQUFHLENBQUM7SUFDL0IsTUFBTUMsY0FBY0MsT0FBT0gsYUFBYUUsZUFBZSxJQUFJRSxJQUFJO0lBQy9ELE1BQU1DLGtCQUFrQkYsT0FBT0gsYUFBYUssbUJBQW1CLElBQUlELElBQUk7SUFDdkUsTUFBTUUsZUFBZUgsT0FBT0gsYUFBYU0sZ0JBQWdCLElBQUlGLElBQUk7SUFFakUsSUFBRyxDQUFDRixlQUFlLENBQUNHLGlCQUFpQjtRQUNuQyxPQUFPRTtJQUNUO0lBRUEsT0FBT0QsZUFBZTtRQUNwQko7UUFDQUc7UUFDQUM7SUFDRixJQUFJO1FBQ0ZKO1FBQ0FHO0lBQ0Y7QUFDRixFQUFFIn0=
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
3
+ * All rights reserved. Use is subject to the accompanying commercial LICENSE.
4
4
  */
5
5
  import type { ApiContext } from '../types/auth.types.js';
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
3
+ * All rights reserved. Use is subject to the accompanying commercial LICENSE.
4
4
  */ import { parsePost } from '../adapters/postAdapter.js';
5
5
  import { parseUser } from '../adapters/userAdapter.js';
6
6
  import { COLLECTIONS, EDGES } from '../constants/collections.js';
@@ -154,6 +154,21 @@ registry.register({
154
154
  EDGES.HAS_MEDIA
155
155
  ]
156
156
  });
157
+ registry.register({
158
+ name: COLLECTIONS.ANALYTICS,
159
+ hasOwnership: false,
160
+ timestamps: {
161
+ created: 'added',
162
+ updated: 'modified'
163
+ }
164
+ });
165
+ registry.register({
166
+ name: COLLECTIONS.LOGS,
167
+ hasOwnership: false,
168
+ timestamps: {
169
+ created: 'added'
170
+ }
171
+ });
157
172
  registry.register({
158
173
  name: COLLECTIONS.APPS,
159
174
  hasOwnership: false,
@@ -174,4 +189,4 @@ registry.register({
174
189
  ]
175
190
  });
176
191
 
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2NvbGxlY3Rpb25SZWdpc3RyeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuXG5pbXBvcnQge3BhcnNlUG9zdH0gZnJvbSAnLi4vYWRhcHRlcnMvcG9zdEFkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZVVzZXJ9IGZyb20gJy4uL2FkYXB0ZXJzL3VzZXJBZGFwdGVyLmpzJztcbmltcG9ydCB7Q09MTEVDVElPTlMsIEVER0VTfSBmcm9tICcuLi9jb25zdGFudHMvY29sbGVjdGlvbnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYSBjb2xsZWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkNvbmZpZyB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgXG4gIC8vIFByaXZhY3kgc2V0dGluZ3NcbiAgcmVhZG9ubHkgaGFzUHJpdmFjeT86IGJvb2xlYW47IC8vIENvbGxlY3Rpb24gaGFzIHByaXZhY3kgZmllbGRcbiAgcmVhZG9ubHkgaGFzT3duZXJzaGlwPzogYm9vbGVhbjsgLy8gQ29sbGVjdGlvbiBoYXMgdXNlcklkIGZpZWxkXG4gIFxuICAvLyBUaW1lc3RhbXBzXG4gIHJlYWRvbmx5IHRpbWVzdGFtcHM/OiB7XG4gICAgcmVhZG9ubHkgY3JlYXRlZD86IHN0cmluZzsgLy8gRmllbGQgbmFtZSAoZS5nLiwgJ2FkZGVkJylcbiAgICByZWFkb25seSB1cGRhdGVkPzogc3RyaW5nOyAvLyBGaWVsZCBuYW1lIChlLmcuLCAnbW9kaWZpZWQnKVxuICB9O1xuICBcbiAgLy8gQWRhcHRlcnNcbiAgcmVhZG9ubHkgYWRhcHRlcnM/OiB7XG4gICAgcmVhZG9ubHkgcGFyc2U/OiAoZGF0YTogYW55KSA9PiBhbnk7IC8vIFBhcnNlIGlucHV0IGRhdGFcbiAgICByZWFkb25seSBmb3JtYXQ/OiAoZGF0YTogYW55KSA9PiBhbnk7IC8vIEZvcm1hdCBvdXRwdXQgZGF0YVxuICB9O1xuICBcbiAgLy8gTGlmZWN5Y2xlIGhvb2tzXG4gIHJlYWRvbmx5IGhvb2tzPzoge1xuICAgIHJlYWRvbmx5IGJlZm9yZUluc2VydD86IChjb250ZXh0OiBBcGlDb250ZXh0LCBkYXRhOiBhbnkpID0+IFByb21pc2U8YW55PjtcbiAgICByZWFkb25seSBhZnRlckluc2VydD86IChjb250ZXh0OiBBcGlDb250ZXh0LCBpdGVtOiBhbnkpID0+IFByb21pc2U8YW55PjtcbiAgICByZWFkb25seSBiZWZvcmVVcGRhdGU/OiAoY29udGV4dDogQXBpQ29udGV4dCwgaWQ6IHN0cmluZywgdXBkYXRlczogYW55KSA9PiBQcm9taXNlPGFueT47XG4gICAgcmVhZG9ubHkgYWZ0ZXJVcGRhdGU/OiAoY29udGV4dDogQXBpQ29udGV4dCwgaXRlbTogYW55KSA9PiBQcm9taXNlPGFueT47XG4gICAgcmVhZG9ubHkgYmVmb3JlRGVsZXRlPzogKGNvbnRleHQ6IEFwaUNvbnRleHQsIGlkOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG4gICAgcmVhZG9ubHkgYWZ0ZXJEZWxldGU/OiAoY29udGV4dDogQXBpQ29udGV4dCwgaWQ6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgfTtcbiAgXG4gIC8vIEVkZ2VzIHRvIGNhc2NhZGUgZGVsZXRlXG4gIHJlYWRvbmx5IGNhc2NhZGVFZGdlcz86IFJlYWRvbmx5QXJyYXk8c3RyaW5nPjtcbiAgXG4gIC8vIERlZmF1bHQgZmlsdGVycyAoZS5nLiwgZXhjbHVkZSBzb2Z0LWRlbGV0ZWQgaXRlbXMpXG4gIHJlYWRvbmx5IGRlZmF1bHRGaWx0ZXJzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgXG4gIC8vIFNvZnQgZGVsZXRlIHN1cHBvcnRcbiAgcmVhZG9ubHkgc29mdERlbGV0ZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29sbGVjdGlvbiBSZWdpc3RyeVxuICogQ2VudHJhbGl6ZWQgcmVnaXN0cnkgZm9yIGFsbCBjb2xsZWN0aW9uIGNvbmZpZ3VyYXRpb25zXG4gKi9cbmNsYXNzIENvbGxlY3Rpb25SZWdpc3RyeSB7XG4gIHByaXZhdGUgY29sbGVjdGlvbnM6IE1hcDxzdHJpbmcsIENvbGxlY3Rpb25Db25maWc+ID0gbmV3IE1hcCgpO1xuICBcbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgY29sbGVjdGlvbiBjb25maWd1cmF0aW9uXG4gICAqL1xuICByZWdpc3Rlcihjb25maWc6IENvbGxlY3Rpb25Db25maWcpOiB2b2lkIHtcbiAgICBpZiAoIWNvbmZpZy5uYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbGxlY3Rpb24gbmFtZSBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBcbiAgICB0aGlzLmNvbGxlY3Rpb25zLnNldChjb25maWcubmFtZSwgY29uZmlnKTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIEdldCBhIGNvbGxlY3Rpb24gY29uZmlndXJhdGlvblxuICAgKi9cbiAgZ2V0KGNvbGxlY3Rpb246IHN0cmluZyk6IENvbGxlY3Rpb25Db25maWcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb25zLmdldChjb2xsZWN0aW9uKTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIENoZWNrIGlmIGEgY29sbGVjdGlvbiBpcyByZWdpc3RlcmVkXG4gICAqL1xuICBoYXMoY29sbGVjdGlvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29sbGVjdGlvbnMuaGFzKGNvbGxlY3Rpb24pO1xuICB9XG4gIFxuICAvKipcbiAgICogR2V0IGFsbCByZWdpc3RlcmVkIGNvbGxlY3Rpb25zXG4gICAqL1xuICBnZXRBbGwoKTogUmVhZG9ubHlBcnJheTxDb2xsZWN0aW9uQ29uZmlnPiB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5jb2xsZWN0aW9ucy52YWx1ZXMoKSk7XG4gIH1cbn1cblxuLy8gQ3JlYXRlIHNpbmdsZXRvbiByZWdpc3RyeVxuZXhwb3J0IGNvbnN0IHJlZ2lzdHJ5ID0gbmV3IENvbGxlY3Rpb25SZWdpc3RyeSgpO1xuXG4vLyBSZWdpc3RlciBhbGwgY29sbGVjdGlvbnNcbnJlZ2lzdHJ5LnJlZ2lzdGVyKHtcbiAgbmFtZTogQ09MTEVDVElPTlMuUE9TVFMsXG4gIGhhc1ByaXZhY3k6IHRydWUsXG4gIGhhc093bmVyc2hpcDogdHJ1ZSxcbiAgdGltZXN0YW1wczoge1xuICAgIGNyZWF0ZWQ6ICdhZGRlZCcsXG4gICAgdXBkYXRlZDogJ21vZGlmaWVkJ1xuICB9LFxuICBhZGFwdGVyczoge1xuICAgIHBhcnNlOiBwYXJzZVBvc3RcbiAgfSxcbiAgY2FzY2FkZUVkZ2VzOiBbJ2hhc0ZpbGUnLCAnaXNUYWdnZWQnXVxufSk7XG5cbnJlZ2lzdHJ5LnJlZ2lzdGVyKHtcbiAgbmFtZTogQ09MTEVDVElPTlMuVVNFUlMsXG4gIGhhc093bmVyc2hpcDogdHJ1ZSxcbiAgdGltZXN0YW1wczoge1xuICAgIGNyZWF0ZWQ6ICdhZGRlZCcsXG4gICAgdXBkYXRlZDogJ21vZGlmaWVkJ1xuICB9LFxuICBhZGFwdGVyczoge1xuICAgIHBhcnNlOiBwYXJzZVVzZXJcbiAgfSxcbiAgY2FzY2FkZUVkZ2VzOiBbRURHRVMuSEFTX1BFUlNPTkFdXG59KTtcblxuW1xuICBDT0xMRUNUSU9OUy5NQUlMSU5HX0xJU1RTLFxuICBDT0xMRUNUSU9OUy5DVVNUT01FUl9PUkRFUlMsXG4gIENPTExFQ1RJT05TLlNIT1BJRllfUFJPRFVDVFMsXG4gIENPTExFQ1RJT05TLlNIT1BJRllfV0VCSE9PS19FVkVOVFMsXG4gIENPTExFQ1RJT05TLlNVUFBPUlRfVElDS0VUUyxcbiAgQ09MTEVDVElPTlMuU1VQUE9SVF9USUNLRVRfTUVTU0FHRVMsXG4gIENPTExFQ1RJT05TLlNVUFBPUlRfVElDS0VUX0VWRU5UUyxcbiAgQ09MTEVDVElPTlMuQ1VTVE9NRVJfTk9USUZJQ0FUSU9OU1xuXS5mb3JFYWNoKChuYW1lKSA9PiByZWdpc3RyeS5yZWdpc3Rlcih7XG4gIG5hbWUsXG4gIGhhc093bmVyc2hpcDogZmFsc2UsXG4gIHRpbWVzdGFtcHM6IHtcbiAgICBjcmVhdGVkOiAnYWRkZWQnLFxuICAgIHVwZGF0ZWQ6ICdtb2RpZmllZCdcbiAgfVxufSkpO1xuXG5yZWdpc3RyeS5yZWdpc3Rlcih7XG4gIG5hbWU6IENPTExFQ1RJT05TLkdST1VQUyxcbiAgaGFzUHJpdmFjeTogdHJ1ZSxcbiAgaGFzT3duZXJzaGlwOiBmYWxzZSxcbiAgdGltZXN0YW1wczoge1xuICAgIGNyZWF0ZWQ6ICdhZGRlZCcsXG4gICAgdXBkYXRlZDogJ21vZGlmaWVkJ1xuICB9LFxuICBjYXNjYWRlRWRnZXM6IFsnaGFzQ29ubmVjdGlvbicsICdpc1RhZ2dlZCddXG59KTtcblxucmVnaXN0cnkucmVnaXN0ZXIoe1xuICBuYW1lOiBDT0xMRUNUSU9OUy5NRVNTQUdFUyxcbiAgaGFzT3duZXJzaGlwOiB0cnVlLFxuICB0aW1lc3RhbXBzOiB7XG4gICAgY3JlYXRlZDogJ2FkZGVkJyxcbiAgICB1cGRhdGVkOiAnbW9kaWZpZWQnXG4gIH1cbn0pO1xuXG5yZWdpc3RyeS5yZWdpc3Rlcih7XG4gIG5hbWU6IENPTExFQ1RJT05TLkNPTlZFUlNBVElPTlMsXG4gIGhhc093bmVyc2hpcDogZmFsc2UsXG4gIHRpbWVzdGFtcHM6IHtcbiAgICBjcmVhdGVkOiAnYWRkZWQnLFxuICAgIHVwZGF0ZWQ6ICdtb2RpZmllZCdcbiAgfSxcbiAgY2FzY2FkZUVkZ2VzOiBbRURHRVMuSVNfVEFHR0VEXVxufSk7XG5cbnJlZ2lzdHJ5LnJlZ2lzdGVyKHtcbiAgbmFtZTogQ09MTEVDVElPTlMuVEFHUyxcbiAgaGFzT3duZXJzaGlwOiBmYWxzZSxcbiAgdGltZXN0YW1wczoge1xuICAgIGNyZWF0ZWQ6ICdhZGRlZCcsXG4gICAgdXBkYXRlZDogJ21vZGlmaWVkJ1xuICB9XG59KTtcblxucmVnaXN0cnkucmVnaXN0ZXIoe1xuICBuYW1lOiBDT0xMRUNUSU9OUy5GSUxFUyxcbiAgaGFzT3duZXJzaGlwOiB0cnVlLFxuICB0aW1lc3RhbXBzOiB7XG4gICAgY3JlYXRlZDogJ2FkZGVkJyxcbiAgICB1cGRhdGVkOiAnbW9kaWZpZWQnXG4gIH1cbn0pO1xuXG5yZWdpc3RyeS5yZWdpc3Rlcih7XG4gIG5hbWU6IENPTExFQ1RJT05TLklNQUdFUyxcbiAgaGFzUHJpdmFjeTogdHJ1ZSxcbiAgaGFzT3duZXJzaGlwOiB0cnVlLFxuICB0aW1lc3RhbXBzOiB7XG4gICAgY3JlYXRlZDogJ2FkZGVkJyxcbiAgICB1cGRhdGVkOiAnbW9kaWZpZWQnXG4gIH0sXG4gIGNhc2NhZGVFZGdlczogW0VER0VTLkhBU19NRURJQV1cbn0pO1xuXG5yZWdpc3RyeS5yZWdpc3Rlcih7XG4gIG5hbWU6IENPTExFQ1RJT05TLlZJREVPUyxcbiAgaGFzT3duZXJzaGlwOiB0cnVlLFxuICB0aW1lc3RhbXBzOiB7XG4gICAgY3JlYXRlZDogJ2FkZGVkJyxcbiAgICB1cGRhdGVkOiAnbW9kaWZpZWQnXG4gIH0sXG4gIGNhc2NhZGVFZGdlczogW0VER0VTLkhBU19NRURJQV1cbn0pO1xuXG5yZWdpc3RyeS5yZWdpc3Rlcih7XG4gIG5hbWU6IENPTExFQ1RJT05TLkFQUFMsXG4gIGhhc093bmVyc2hpcDogZmFsc2UsXG4gIHRpbWVzdGFtcHM6IHtcbiAgICBjcmVhdGVkOiAnYWRkZWQnLFxuICAgIHVwZGF0ZWQ6ICdtb2RpZmllZCdcbiAgfVxufSk7XG5cbnJlZ2lzdHJ5LnJlZ2lzdGVyKHtcbiAgbmFtZTogQ09MTEVDVElPTlMuUEVSU09OQVMsXG4gIGhhc093bmVyc2hpcDogdHJ1ZSxcbiAgdGltZXN0YW1wczoge1xuICAgIGNyZWF0ZWQ6ICdhZGRlZCcsXG4gICAgdXBkYXRlZDogJ21vZGlmaWVkJ1xuICB9LFxuICBjYXNjYWRlRWRnZXM6IFtFREdFUy5IQVNfUEVSU09OQV1cbn0pO1xuIl0sIm5hbWVzIjpbInBhcnNlUG9zdCIsInBhcnNlVXNlciIsIkNPTExFQ1RJT05TIiwiRURHRVMiLCJDb2xsZWN0aW9uUmVnaXN0cnkiLCJjb2xsZWN0aW9ucyIsIk1hcCIsInJlZ2lzdGVyIiwiY29uZmlnIiwibmFtZSIsIkVycm9yIiwic2V0IiwiZ2V0IiwiY29sbGVjdGlvbiIsImhhcyIsImdldEFsbCIsIkFycmF5IiwiZnJvbSIsInZhbHVlcyIsInJlZ2lzdHJ5IiwiUE9TVFMiLCJoYXNQcml2YWN5IiwiaGFzT3duZXJzaGlwIiwidGltZXN0YW1wcyIsImNyZWF0ZWQiLCJ1cGRhdGVkIiwiYWRhcHRlcnMiLCJwYXJzZSIsImNhc2NhZGVFZGdlcyIsIlVTRVJTIiwiSEFTX1BFUlNPTkEiLCJNQUlMSU5HX0xJU1RTIiwiQ1VTVE9NRVJfT1JERVJTIiwiU0hPUElGWV9QUk9EVUNUUyIsIlNIT1BJRllfV0VCSE9PS19FVkVOVFMiLCJTVVBQT1JUX1RJQ0tFVFMiLCJTVVBQT1JUX1RJQ0tFVF9NRVNTQUdFUyIsIlNVUFBPUlRfVElDS0VUX0VWRU5UUyIsIkNVU1RPTUVSX05PVElGSUNBVElPTlMiLCJmb3JFYWNoIiwiR1JPVVBTIiwiTUVTU0FHRVMiLCJDT05WRVJTQVRJT05TIiwiSVNfVEFHR0VEIiwiVEFHUyIsIkZJTEVTIiwiSU1BR0VTIiwiSEFTX01FRElBIiwiVklERU9TIiwiQVBQUyIsIlBFUlNPTkFTIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FFRCxTQUFRQSxTQUFTLFFBQU8sNkJBQTZCO0FBQ3JELFNBQVFDLFNBQVMsUUFBTyw2QkFBNkI7QUFDckQsU0FBUUMsV0FBVyxFQUFFQyxLQUFLLFFBQU8sOEJBQThCO0FBOEMvRDs7O0NBR0MsR0FDRCxNQUFNQztJQUNJQyxjQUE2QyxJQUFJQyxNQUFNO0lBRS9EOztHQUVDLEdBQ0RDLFNB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
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy91dGlscy9jb2xsZWN0aW9uUmVnaXN0cnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIGlzIHN1YmplY3QgdG8gdGhlIGFjY29tcGFueWluZyBjb21tZXJjaWFsIExJQ0VOU0UuXG4gKi9cblxuaW1wb3J0IHtwYXJzZVBvc3R9IGZyb20gJy4uL2FkYXB0ZXJzL3Bvc3RBZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VVc2VyfSBmcm9tICcuLi9hZGFwdGVycy91c2VyQWRhcHRlci5qcyc7XG5pbXBvcnQge0NPTExFQ1RJT05TLCBFREdFU30gZnJvbSAnLi4vY29uc3RhbnRzL2NvbGxlY3Rpb25zLmpzJztcblxuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGEgY29sbGVjdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25Db25maWcge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIFxuICAvLyBQcml2YWN5IHNldHRpbmdzXG4gIHJlYWRvbmx5IGhhc1ByaXZhY3k/OiBib29sZWFuOyAvLyBDb2xsZWN0aW9uIGhhcyBwcml2YWN5IGZpZWxkXG4gIHJlYWRvbmx5IGhhc093bmVyc2hpcD86IGJvb2xlYW47IC8vIENvbGxlY3Rpb24gaGFzIHVzZXJJZCBmaWVsZFxuICBcbiAgLy8gVGltZXN0YW1wc1xuICByZWFkb25seSB0aW1lc3RhbXBzPzoge1xuICAgIHJlYWRvbmx5IGNyZWF0ZWQ/OiBzdHJpbmc7IC8vIEZpZWxkIG5hbWUgKGUuZy4sICdhZGRlZCcpXG4gICAgcmVhZG9ubHkgdXBkYXRlZD86IHN0cmluZzsgLy8gRmllbGQgbmFtZSAoZS5nLiwgJ21vZGlmaWVkJylcbiAgfTtcbiAgXG4gIC8vIEFkYXB0ZXJzXG4gIHJlYWRvbmx5IGFkYXB0ZXJzPzoge1xuICAgIHJlYWRvbmx5IHBhcnNlPzogKGRhdGE6IGFueSkgPT4gYW55OyAvLyBQYXJzZSBpbnB1dCBkYXRhXG4gICAgcmVhZG9ubHkgZm9ybWF0PzogKGRhdGE6IGFueSkgPT4gYW55OyAvLyBGb3JtYXQgb3V0cHV0IGRhdGFcbiAgfTtcbiAgXG4gIC8vIExpZmVjeWNsZSBob29rc1xuICByZWFkb25seSBob29rcz86IHtcbiAgICByZWFkb25seSBiZWZvcmVJbnNlcnQ/OiAoY29udGV4dDogQXBpQ29udGV4dCwgZGF0YTogYW55KSA9PiBQcm9taXNlPGFueT47XG4gICAgcmVhZG9ubHkgYWZ0ZXJJbnNlcnQ/OiAoY29udGV4dDogQXBpQ29udGV4dCwgaXRlbTogYW55KSA9PiBQcm9taXNlPGFueT47XG4gICAgcmVhZG9ubHkgYmVmb3JlVXBkYXRlPzogKGNvbnRleHQ6IEFwaUNvbnRleHQsIGlkOiBzdHJpbmcsIHVwZGF0ZXM6IGFueSkgPT4gUHJvbWlzZTxhbnk+O1xuICAgIHJlYWRvbmx5IGFmdGVyVXBkYXRlPzogKGNvbnRleHQ6IEFwaUNvbnRleHQsIGl0ZW06IGFueSkgPT4gUHJvbWlzZTxhbnk+O1xuICAgIHJlYWRvbmx5IGJlZm9yZURlbGV0ZT86IChjb250ZXh0OiBBcGlDb250ZXh0LCBpZDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAgIHJlYWRvbmx5IGFmdGVyRGVsZXRlPzogKGNvbnRleHQ6IEFwaUNvbnRleHQsIGlkOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG4gIH07XG4gIFxuICAvLyBFZGdlcyB0byBjYXNjYWRlIGRlbGV0ZVxuICByZWFkb25seSBjYXNjYWRlRWRnZXM/OiBSZWFkb25seUFycmF5PHN0cmluZz47XG4gIFxuICAvLyBEZWZhdWx0IGZpbHRlcnMgKGUuZy4sIGV4Y2x1ZGUgc29mdC1kZWxldGVkIGl0ZW1zKVxuICByZWFkb25seSBkZWZhdWx0RmlsdGVycz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIFxuICAvLyBTb2Z0IGRlbGV0ZSBzdXBwb3J0XG4gIHJlYWRvbmx5IHNvZnREZWxldGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENvbGxlY3Rpb24gUmVnaXN0cnlcbiAqIENlbnRyYWxpemVkIHJlZ2lzdHJ5IGZvciBhbGwgY29sbGVjdGlvbiBjb25maWd1cmF0aW9uc1xuICovXG5jbGFzcyBDb2xsZWN0aW9uUmVnaXN0cnkge1xuICBwcml2YXRlIGNvbGxlY3Rpb25zOiBNYXA8c3RyaW5nLCBDb2xsZWN0aW9uQ29uZmlnPiA9IG5ldyBNYXAoKTtcbiAgXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhIGNvbGxlY3Rpb24gY29uZmlndXJhdGlvblxuICAgKi9cbiAgcmVnaXN0ZXIoY29uZmlnOiBDb2xsZWN0aW9uQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKCFjb25maWcubmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb2xsZWN0aW9uIG5hbWUgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgXG4gICAgdGhpcy5jb2xsZWN0aW9ucy5zZXQoY29uZmlnLm5hbWUsIGNvbmZpZyk7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBHZXQgYSBjb2xsZWN0aW9uIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGdldChjb2xsZWN0aW9uOiBzdHJpbmcpOiBDb2xsZWN0aW9uQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jb2xsZWN0aW9ucy5nZXQoY29sbGVjdGlvbik7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIGNvbGxlY3Rpb24gaXMgcmVnaXN0ZXJlZFxuICAgKi9cbiAgaGFzKGNvbGxlY3Rpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb25zLmhhcyhjb2xsZWN0aW9uKTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIEdldCBhbGwgcmVnaXN0ZXJlZCBjb2xsZWN0aW9uc1xuICAgKi9cbiAgZ2V0QWxsKCk6IFJlYWRvbmx5QXJyYXk8Q29sbGVjdGlvbkNvbmZpZz4ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuY29sbGVjdGlvbnMudmFsdWVzKCkpO1xuICB9XG59XG5cbi8vIENyZWF0ZSBzaW5nbGV0b24gcmVnaXN0cnlcbmV4cG9ydCBjb25zdCByZWdpc3RyeSA9IG5ldyBDb2xsZWN0aW9uUmVnaXN0cnkoKTtcblxuLy8gUmVnaXN0ZXIgYWxsIGNvbGxlY3Rpb25zXG5yZWdpc3RyeS5yZWdpc3Rlcih7XG4gIG5hbWU6IENPTExFQ1RJT05TLlBPU1RTLFxuICBoYXNQcml2YWN5OiB0cnVlLFxuICBoYXNPd25lcnNoaXA6IHRydWUsXG4gIHRpbWVzdGFtcHM6IHtcbiAgICBjcmVhdGVkOiAnYWRkZWQnLFxuICAgIHVwZGF0ZWQ6ICdtb2RpZmllZCdcbiAgfSxcbiAgYWRhcHRlcnM6IHtcbiAgICBwYXJzZTogcGFyc2VQb3N0XG4gIH0sXG4gIGNhc2NhZGVFZGdlczogWydoYXNGaWxlJywgJ2lzVGFnZ2VkJ11cbn0pO1xuXG5yZWdpc3RyeS5yZWdpc3Rlcih7XG4gIG5hbWU6IENPTExFQ1RJT05TLlVTRVJTLFxuICBoYXNPd25lcnNoaXA6IHRydWUsXG4gIHRpbWVzdGFtcHM6IHtcbiAgICBjcmVhdGVkOiAnYWRkZWQnLFxuICAgIHVwZGF0ZWQ6ICdtb2RpZmllZCdcbiAgfSxcbiAgYWRhcHRlcnM6IHtcbiAgICBwYXJzZTogcGFyc2VVc2VyXG4gIH0sXG4gIGNhc2NhZGVFZGdlczogW0VER0VTLkhBU19QRVJTT05BXVxufSk7XG5cbltcbiAgQ09MTEVDVElPTlMuTUFJTElOR19MSVNUUyxcbiAgQ09MTEVDVElPTlMuQ1VTVE9NRVJfT1JERVJTLFxuICBDT0xMRUNUSU9OUy5TSE9QSUZZX1BST0RVQ1RTLFxuICBDT0xMRUNUSU9OUy5TSE9QSUZZX1dFQkhPT0tfRVZFTlRTLFxuICBDT0xMRUNUSU9OUy5TVVBQT1JUX1RJQ0tFVFMsXG4gIENPTExFQ1RJT05TLlNVUFBPUlRfVElDS0VUX01FU1NBR0VTLFxuICBDT0xMRUNUSU9OUy5TVVBQT1JUX1RJQ0tFVF9FVkVOVFMsXG4gIENPTExFQ1RJT05TLkNVU1RPTUVSX05PVElGSUNBVElPTlNcbl0uZm9yRWFjaCgobmFtZSkgPT4gcmVnaXN0cnkucmVnaXN0ZXIoe1xuICBuYW1lLFxuICBoYXNPd25lcnNoaXA6IGZhbHNlLFxuICB0aW1lc3RhbXBzOiB7XG4gICAgY3JlYXRlZDogJ2FkZGVkJyxcbiAgICB1cGRhdGVkOiAnbW9kaWZpZWQnXG4gIH1cbn0pKTtcblxucmVnaXN0cnkucmVnaXN0ZXIoe1xuICBuYW1lOiBDT0xMRUNUSU9OUy5HUk9VUFMsXG4gIGhhc1ByaXZhY3k6IHRydWUsXG4gIGhhc093bmVyc2hpcDogZmFsc2UsXG4gIHRpbWVzdGFtcHM6IHtcbiAgICBjcmVhdGVkOiAnYWRkZWQnLFxuICAgIHVwZGF0ZWQ6ICdtb2RpZmllZCdcbiAgfSxcbiAgY2FzY2FkZUVkZ2VzOiBbJ2hhc0Nvbm5lY3Rpb24nLCAnaXNUYWdnZWQnXVxufSk7XG5cbnJlZ2lzdHJ5LnJlZ2lzdGVyKHtcbiAgbmFtZTogQ09MTEVDVElPTlMuTUVTU0FHRVMsXG4gIGhhc093bmVyc2hpcDogdHJ1ZSxcbiAgdGltZXN0YW1wczoge1xuICAgIGNyZWF0ZWQ6ICdhZGRlZCcsXG4gICAgdXBkYXRlZDogJ21vZGlmaWVkJ1xuICB9XG59KTtcblxucmVnaXN0cnkucmVnaXN0ZXIoe1xuICBuYW1lOiBDT0xMRUNUSU9OUy5DT05WRVJTQVRJT05TLFxuICBoYXNPd25lcnNoaXA6IGZhbHNlLFxuICB0aW1lc3RhbXBzOiB7XG4gICAgY3JlYXRlZDogJ2FkZGVkJyxcbiAgICB1cGRhdGVkOiAnbW9kaWZpZWQnXG4gIH0sXG4gIGNhc2NhZGVFZGdlczogW0VER0VTLklTX1RBR0dFRF1cbn0pO1xuXG5yZWdpc3RyeS5yZWdpc3Rlcih7XG4gIG5hbWU6IENPTExFQ1RJT05TLlRBR1MsXG4gIGhhc093bmVyc2hpcDogZmFsc2UsXG4gIHRpbWVzdGFtcHM6IHtcbiAgICBjcmVhdGVkOiAnYWRkZWQnLFxuICAgIHVwZGF0ZWQ6ICdtb2RpZmllZCdcbiAgfVxufSk7XG5cbnJlZ2lzdHJ5LnJlZ2lzdGVyKHtcbiAgbmFtZTogQ09MTEVDVElPTlMuRklMRVMsXG4gIGhhc093bmVyc2hpcDogdHJ1ZSxcbiAgdGltZXN0YW1wczoge1xuICAgIGNyZWF0ZWQ6ICdhZGRlZCcsXG4gICAgdXBkYXRlZDogJ21vZGlmaWVkJ1xuICB9XG59KTtcblxucmVnaXN0cnkucmVnaXN0ZXIoe1xuICBuYW1lOiBDT0xMRUNUSU9OUy5JTUFHRVMsXG4gIGhhc1ByaXZhY3k6IHRydWUsXG4gIGhhc093bmVyc2hpcDogdHJ1ZSxcbiAgdGltZXN0YW1wczoge1xuICAgIGNyZWF0ZWQ6ICdhZGRlZCcsXG4gICAgdXBkYXRlZDogJ21vZGlmaWVkJ1xuICB9LFxuICBjYXNjYWRlRWRnZXM6IFtFREdFUy5IQVNfTUVESUFdXG59KTtcblxucmVnaXN0cnkucmVnaXN0ZXIoe1xuICBuYW1lOiBDT0xMRUNUSU9OUy5WSURFT1MsXG4gIGhhc093bmVyc2hpcDogdHJ1ZSxcbiAgdGltZXN0YW1wczoge1xuICAgIGNyZWF0ZWQ6ICdhZGRlZCcsXG4gICAgdXBkYXRlZDogJ21vZGlmaWVkJ1xuICB9LFxuICBjYXNjYWRlRWRnZXM6IFtFREdFUy5IQVNfTUVESUFdXG59KTtcblxucmVnaXN0cnkucmVnaXN0ZXIoe1xuICBuYW1lOiBDT0xMRUNUSU9OUy5BTkFMWVRJQ1MsXG4gIGhhc093bmVyc2hpcDogZmFsc2UsXG4gIHRpbWVzdGFtcHM6IHtcbiAgICBjcmVhdGVkOiAnYWRkZWQnLFxuICAgIHVwZGF0ZWQ6ICdtb2RpZmllZCdcbiAgfVxufSk7XG5cbnJlZ2lzdHJ5LnJlZ2lzdGVyKHtcbiAgbmFtZTogQ09MTEVDVElPTlMuTE9HUyxcbiAgaGFzT3duZXJzaGlwOiBmYWxzZSxcbiAgdGltZXN0YW1wczoge1xuICAgIGNyZWF0ZWQ6ICdhZGRlZCdcbiAgfVxufSk7XG5cbnJlZ2lzdHJ5LnJlZ2lzdGVyKHtcbiAgbmFtZTogQ09MTEVDVElPTlMuQVBQUyxcbiAgaGFzT3duZXJzaGlwOiBmYWxzZSxcbiAgdGltZXN0YW1wczoge1xuICAgIGNyZWF0ZWQ6ICdhZGRlZCcsXG4gICAgdXBkYXRlZDogJ21vZGlmaWVkJ1xuICB9XG59KTtcblxucmVnaXN0cnkucmVnaXN0ZXIoe1xuICBuYW1lOiBDT0xMRUNUSU9OUy5QRVJTT05BUyxcbiAgaGFzT3duZXJzaGlwOiB0cnVlLFxuICB0aW1lc3RhbXBzOiB7XG4gICAgY3JlYXRlZDogJ2FkZGVkJyxcbiAgICB1cGRhdGVkOiAnbW9kaWZpZWQnXG4gIH0sXG4gIGNhc2NhZGVFZGdlczogW0VER0VTLkhBU19QRVJTT05BXVxufSk7XG4iXSwibmFtZXMiOlsicGFyc2VQb3N0IiwicGFyc2VVc2VyIiwiQ09MTEVDVElPTlMiLCJFREdFUyIsIkNvbGxlY3Rpb25SZWdpc3RyeSIsImNvbGxlY3Rpb25zIiwiTWFwIiwicmVnaXN0ZXIiLCJjb25maWciLCJuYW1lIiwiRXJyb3IiLCJzZXQiLCJnZXQiLCJjb2xsZWN0aW9uIiwiaGFzIiwiZ2V0QWxsIiwiQXJyYXkiLCJmcm9tIiwidmFsdWVzIiwicmVnaXN0cnkiLCJQT1NUUyIsImhhc1ByaXZhY3kiLCJoYXNPd25lcnNoaXAiLCJ0aW1lc3RhbXBzIiwiY3JlYXRlZCIsInVwZGF0ZWQiLCJhZGFwdGVycyIsInBhcnNlIiwiY2FzY2FkZUVkZ2VzIiwiVVNFUlMiLCJIQVNfUEVSU09OQSIsIk1BSUxJTkdfTElTVFMiLCJDVVNUT01FUl9PUkRFUlMiLCJTSE9QSUZZX1BST0RVQ1RTIiwiU0hPUElGWV9XRUJIT09LX0VWRU5UUyIsIlNVUFBPUlRfVElDS0VUUyIsIlNVUFBPUlRfVElDS0VUX01FU1NBR0VTIiwiU1VQUE9SVF9USUNLRVRfRVZFTlRTIiwiQ1VTVE9NRVJfTk9USUZJQ0FUSU9OUyIsImZvckVhY2giLCJHUk9VUFMiLCJNRVNTQUdFUyIsIkNPTlZFUlNBVElPTlMiLCJJU19UQUdHRUQiLCJUQUdTIiwiRklMRVMiLCJJTUFHRVMiLCJIQVNfTUVESUEiLCJWSURFT1MiLCJBTkFMWVRJQ1MiLCJMT0dTIiwiQVBQUyIsIlBFUlNPTkFTIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FFRCxTQUFRQSxTQUFTLFFBQU8sNkJBQTZCO0FBQ3JELFNBQVFDLFNBQVMsUUFBTyw2QkFBNkI7QUFDckQsU0FBUUMsV0FBVyxFQUFFQyxLQUFLLFFBQU8sOEJBQThCO0FBOEMvRDs7O0NBR0MsR0FDRCxNQUFNQztJQUNJQyxjQUE2QyxJQUFJQyxNQUFNO0lBRS9EOztHQUVDLEdBQ0RDLFNBQVNDLE1BQXdCLEVBQVE7UUFDdkMsSUFBSSxDQUFDQSxPQUFPQyxJQUFJLEVBQUU7WUFDaEIsTUFBTSxJQUFJQyxNQUFNO1FBQ2xCO1FBRUEsSUFBSSxDQUFDTCxXQUFXLENBQUNNLEdBQUcsQ0FBQ0gsT0FBT0MsSUFBSSxFQUFFRDtJQUNwQztJQUVBOztHQUVDLEdBQ0RJLElBQUlDLFVBQWtCLEVBQWdDO1FBQ3BELE9BQU8sSUFBSSxDQUFDUixXQUFXLENBQUNPLEdBQUcsQ0FBQ0M7SUFDOUI7SUFFQTs7R0FFQyxHQUNEQyxJQUFJRCxVQUFrQixFQUFXO1FBQy9CLE9BQU8sSUFBSSxDQUFDUixXQUFXLENBQUNTLEdBQUcsQ0FBQ0Q7SUFDOUI7SUFFQTs7R0FFQyxHQUNERSxTQUEwQztRQUN4QyxPQUFPQyxNQUFNQyxJQUFJLENBQUMsSUFBSSxDQUFDWixXQUFXLENBQUNhLE1BQU07SUFDM0M7QUFDRjtBQUVBLDRCQUE0QjtBQUM1QixPQUFPLE1BQU1DLFdBQVcsSUFBSWYscUJBQXFCO0FBRWpELDJCQUEyQjtBQUMzQmUsU0FBU1osUUFBUSxDQUFDO0lBQ2hCRSxNQUFNUCxZQUFZa0IsS0FBSztJQUN2QkMsWUFBWTtJQUNaQyxjQUFjO0lBQ2RDLFlBQVk7UUFDVkMsU0FBUztRQUNUQyxTQUFTO0lBQ1g7SUFDQUMsVUFBVTtRQUNSQyxPQUFPM0I7SUFDVDtJQUNBNEIs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