@decaf-ts/for-nest 0.12.0 → 0.12.2-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 (326) hide show
  1. package/README.md +30 -4
  2. package/dist/for-nest.cjs +2610 -2
  3. package/dist/for-nest.js +2723 -2
  4. package/lib/cjs/auth/AuthInterceptor.cjs +5 -13
  5. package/lib/cjs/auth/AuthMiddleware.cjs +51 -0
  6. package/lib/cjs/auth/DecafAuthHandler.cjs +10 -5
  7. package/lib/cjs/auth/DecafAuthModule.cjs +8 -3
  8. package/lib/cjs/auth/constants.cjs +5 -3
  9. package/lib/cjs/auth/decorators.cjs +6 -2
  10. package/lib/cjs/auth/index.cjs +3 -2
  11. package/lib/cjs/bin/cli.cjs +2 -2
  12. package/lib/cjs/cli-module.cjs +2 -2
  13. package/lib/cjs/constants.cjs +2 -2
  14. package/lib/cjs/controllers.cjs +2 -2
  15. package/lib/cjs/core-module.cjs +2 -2
  16. package/lib/cjs/decaf-model/DecafModelModule.cjs +2 -2
  17. package/lib/cjs/decaf-model/FromModelController.cjs +8 -2
  18. package/lib/cjs/decaf-model/decorators/ApiOperationFromModel.cjs +2 -2
  19. package/lib/cjs/decaf-model/decorators/ApiParamsFromModel.cjs +2 -2
  20. package/lib/cjs/decaf-model/decorators/DecafBody.cjs +2 -2
  21. package/lib/cjs/decaf-model/decorators/DecafParams.cjs +2 -2
  22. package/lib/cjs/decaf-model/decorators/controller-config.cjs +2 -2
  23. package/lib/cjs/decaf-model/decorators/decorators.cjs +2 -2
  24. package/lib/cjs/decaf-model/decorators/expose.cjs +2 -2
  25. package/lib/cjs/decaf-model/decorators/index.cjs +2 -2
  26. package/lib/cjs/decaf-model/decorators/types.cjs +2 -2
  27. package/lib/cjs/decaf-model/decorators/utils.cjs +2 -2
  28. package/lib/cjs/decaf-model/index.cjs +2 -2
  29. package/lib/cjs/decaf-model/types.cjs +2 -2
  30. package/lib/cjs/decaf-model/utils.cjs +2 -2
  31. package/lib/cjs/decoration.cjs +2 -2
  32. package/lib/cjs/decorators.cjs +2 -2
  33. package/lib/cjs/events-module/DecafStreamModule.cjs +15 -4
  34. package/lib/cjs/events-module/EventsController.cjs +30 -7
  35. package/lib/cjs/events-module/EventsSubscriptionController.cjs +81 -0
  36. package/lib/cjs/events-module/ObserverSubscriptionRegistry.cjs +51 -0
  37. package/lib/cjs/events-module/constant.cjs +4 -3
  38. package/lib/cjs/events-module/index.cjs +5 -2
  39. package/lib/cjs/events-module/utils.cjs +2 -2
  40. package/lib/cjs/factory/NestBootstraper.cjs +2 -2
  41. package/lib/cjs/factory/errors/cors.cjs +2 -2
  42. package/lib/cjs/factory/errors/index.cjs +2 -2
  43. package/lib/cjs/factory/errors/throttling.cjs +2 -2
  44. package/lib/cjs/factory/exceptions/DecafErrorFilter.cjs +2 -2
  45. package/lib/cjs/factory/exceptions/decorators.cjs +2 -2
  46. package/lib/cjs/factory/exceptions/index.cjs +2 -2
  47. package/lib/cjs/factory/index.cjs +2 -2
  48. package/lib/cjs/factory/openapi/DtoBuilder.cjs +2 -2
  49. package/lib/cjs/factory/openapi/SwaggerBuilder.cjs +2 -2
  50. package/lib/cjs/factory/openapi/SwaggerCustomUI.cjs +2 -2
  51. package/lib/cjs/factory/openapi/constants.cjs +2 -2
  52. package/lib/cjs/factory/openapi/index.cjs +2 -2
  53. package/lib/cjs/index.cjs +5 -5
  54. package/lib/cjs/interceptors/DecafRequestHandlerInterceptor.cjs +5 -33
  55. package/lib/cjs/interceptors/index.cjs +2 -2
  56. package/lib/cjs/module.cjs +3 -3
  57. package/lib/cjs/overrides/Adapter.cjs +2 -2
  58. package/lib/cjs/overrides/ModelBuilderExtensions.cjs +2 -2
  59. package/lib/cjs/overrides/constants.cjs +2 -2
  60. package/lib/cjs/overrides/decoration.cjs +2 -2
  61. package/lib/cjs/overrides/helpers.cjs +2 -2
  62. package/lib/cjs/overrides/index.cjs +2 -2
  63. package/lib/cjs/overrides/logging.cjs +2 -2
  64. package/lib/cjs/overrides/overrides.cjs +2 -2
  65. package/lib/cjs/request/DecafAuthHandler.cjs +2 -2
  66. package/lib/cjs/request/DecafHandlerExecutor.cjs +2 -2
  67. package/lib/cjs/request/DecafRequestContext.cjs +2 -2
  68. package/lib/cjs/request/DecafResponseInterceptor.cjs +2 -2
  69. package/lib/cjs/request/contextualize.cjs +46 -0
  70. package/lib/cjs/request/index.cjs +3 -2
  71. package/lib/cjs/swagger-types.cjs +2 -2
  72. package/lib/cjs/types.cjs +2 -2
  73. package/lib/cjs/utils.cjs +2 -2
  74. package/lib/cjs/webhooks/DecafWebhookModule.cjs +2 -2
  75. package/lib/cjs/webhooks/controllers.cjs +2 -2
  76. package/lib/cjs/webhooks/index.cjs +2 -2
  77. package/lib/cjs/webhooks/types.cjs +2 -2
  78. package/lib/esm/auth/AuthInterceptor.js +5 -13
  79. package/lib/esm/auth/AuthMiddleware.js +42 -0
  80. package/lib/esm/auth/DecafAuthHandler.js +9 -4
  81. package/lib/esm/auth/DecafAuthModule.js +8 -3
  82. package/lib/esm/auth/constants.js +3 -1
  83. package/lib/esm/auth/decorators.js +5 -2
  84. package/lib/esm/auth/index.js +2 -1
  85. package/lib/esm/bin/cli.js +1 -1
  86. package/lib/esm/cli-module.js +1 -1
  87. package/lib/esm/constants.js +1 -1
  88. package/lib/esm/controllers.js +1 -1
  89. package/lib/esm/core-module.js +1 -1
  90. package/lib/esm/decaf-model/DecafModelModule.js +1 -1
  91. package/lib/esm/decaf-model/FromModelController.js +9 -3
  92. package/lib/esm/decaf-model/decorators/ApiOperationFromModel.js +1 -1
  93. package/lib/esm/decaf-model/decorators/ApiParamsFromModel.js +1 -1
  94. package/lib/esm/decaf-model/decorators/DecafBody.js +1 -1
  95. package/lib/esm/decaf-model/decorators/DecafParams.js +1 -1
  96. package/lib/esm/decaf-model/decorators/controller-config.js +1 -1
  97. package/lib/esm/decaf-model/decorators/decorators.js +1 -1
  98. package/lib/esm/decaf-model/decorators/expose.js +1 -1
  99. package/lib/esm/decaf-model/decorators/index.js +1 -1
  100. package/lib/esm/decaf-model/decorators/types.js +1 -1
  101. package/lib/esm/decaf-model/decorators/utils.js +1 -1
  102. package/lib/esm/decaf-model/index.js +1 -1
  103. package/lib/esm/decaf-model/types.js +1 -1
  104. package/lib/esm/decaf-model/utils.js +1 -1
  105. package/lib/esm/decoration.js +1 -1
  106. package/lib/esm/decorators.js +1 -1
  107. package/lib/esm/events-module/DecafStreamModule.js +15 -4
  108. package/lib/esm/events-module/EventsController.js +31 -8
  109. package/lib/esm/events-module/EventsSubscriptionController.js +72 -0
  110. package/lib/esm/events-module/ObserverSubscriptionRegistry.js +43 -0
  111. package/lib/esm/events-module/constant.js +2 -1
  112. package/lib/esm/events-module/index.js +4 -1
  113. package/lib/esm/events-module/utils.js +1 -1
  114. package/lib/esm/factory/NestBootstraper.js +1 -1
  115. package/lib/esm/factory/errors/cors.js +1 -1
  116. package/lib/esm/factory/errors/index.js +1 -1
  117. package/lib/esm/factory/errors/throttling.js +1 -1
  118. package/lib/esm/factory/exceptions/DecafErrorFilter.js +1 -1
  119. package/lib/esm/factory/exceptions/decorators.js +1 -1
  120. package/lib/esm/factory/exceptions/index.js +1 -1
  121. package/lib/esm/factory/index.js +1 -1
  122. package/lib/esm/factory/openapi/DtoBuilder.js +1 -1
  123. package/lib/esm/factory/openapi/SwaggerBuilder.js +1 -1
  124. package/lib/esm/factory/openapi/SwaggerCustomUI.js +1 -1
  125. package/lib/esm/factory/openapi/constants.js +1 -1
  126. package/lib/esm/factory/openapi/index.js +1 -1
  127. package/lib/esm/index.js +4 -4
  128. package/lib/esm/interceptors/DecafRequestHandlerInterceptor.js +4 -32
  129. package/lib/esm/interceptors/index.js +1 -1
  130. package/lib/esm/module.js +2 -2
  131. package/lib/esm/overrides/Adapter.js +1 -1
  132. package/lib/esm/overrides/ModelBuilderExtensions.js +1 -1
  133. package/lib/esm/overrides/constants.js +1 -1
  134. package/lib/esm/overrides/decoration.js +1 -1
  135. package/lib/esm/overrides/helpers.js +1 -1
  136. package/lib/esm/overrides/index.js +1 -1
  137. package/lib/esm/overrides/logging.js +1 -1
  138. package/lib/esm/overrides/overrides.js +1 -1
  139. package/lib/esm/request/DecafAuthHandler.js +1 -1
  140. package/lib/esm/request/DecafHandlerExecutor.js +1 -1
  141. package/lib/esm/request/DecafRequestContext.js +1 -1
  142. package/lib/esm/request/DecafResponseInterceptor.js +1 -1
  143. package/lib/esm/request/contextualize.js +42 -0
  144. package/lib/esm/request/index.js +2 -1
  145. package/lib/esm/swagger-types.js +1 -1
  146. package/lib/esm/types.js +1 -1
  147. package/lib/esm/utils.js +1 -1
  148. package/lib/esm/webhooks/DecafWebhookModule.js +1 -1
  149. package/lib/esm/webhooks/controllers.js +1 -1
  150. package/lib/esm/webhooks/index.js +1 -1
  151. package/lib/esm/webhooks/types.js +1 -1
  152. package/lib/types/auth/AuthMiddleware.d.cts +9 -0
  153. package/lib/types/auth/AuthMiddleware.d.mts +9 -0
  154. package/lib/types/auth/DecafAuthHandler.d.cts +6 -4
  155. package/lib/types/auth/DecafAuthHandler.d.mts +6 -4
  156. package/lib/types/auth/DecafAuthModule.d.cts +3 -2
  157. package/lib/types/auth/DecafAuthModule.d.mts +3 -2
  158. package/lib/types/auth/constants.d.cts +2 -0
  159. package/lib/types/auth/constants.d.mts +2 -0
  160. package/lib/types/auth/decorators.d.cts +1 -0
  161. package/lib/types/auth/decorators.d.mts +1 -0
  162. package/lib/types/auth/index.d.cts +1 -0
  163. package/lib/types/auth/index.d.mts +1 -0
  164. package/lib/types/events-module/DecafStreamModule.d.cts +2 -1
  165. package/lib/types/events-module/DecafStreamModule.d.mts +2 -1
  166. package/lib/types/events-module/EventsController.d.cts +6 -2
  167. package/lib/types/events-module/EventsController.d.mts +6 -2
  168. package/lib/types/events-module/EventsSubscriptionController.d.cts +17 -0
  169. package/lib/types/events-module/EventsSubscriptionController.d.mts +17 -0
  170. package/lib/types/events-module/ObserverSubscriptionRegistry.d.cts +13 -0
  171. package/lib/types/events-module/ObserverSubscriptionRegistry.d.mts +13 -0
  172. package/lib/types/events-module/constant.d.cts +1 -0
  173. package/lib/types/events-module/constant.d.mts +1 -0
  174. package/lib/types/events-module/index.d.cts +3 -0
  175. package/lib/types/events-module/index.d.mts +3 -0
  176. package/lib/types/index.d.cts +3 -3
  177. package/lib/types/index.d.mts +3 -3
  178. package/lib/types/request/contextualize.d.cts +2 -0
  179. package/lib/types/request/contextualize.d.mts +2 -0
  180. package/lib/types/request/index.d.cts +1 -0
  181. package/lib/types/request/index.d.mts +1 -0
  182. package/lib/types/types.d.cts +7 -2
  183. package/lib/types/types.d.mts +7 -2
  184. package/package.json +1 -1
  185. package/dist/for-nest.cjs.map +0 -1
  186. package/dist/for-nest.js.map +0 -1
  187. package/lib/cjs/auth/AuthInterceptor.cjs.map +0 -1
  188. package/lib/cjs/auth/DecafAuthHandler.cjs.map +0 -1
  189. package/lib/cjs/auth/DecafAuthModule.cjs.map +0 -1
  190. package/lib/cjs/auth/constants.cjs.map +0 -1
  191. package/lib/cjs/auth/decorators.cjs.map +0 -1
  192. package/lib/cjs/auth/index.cjs.map +0 -1
  193. package/lib/cjs/bin/cli.cjs.map +0 -1
  194. package/lib/cjs/cli-module.cjs.map +0 -1
  195. package/lib/cjs/constants.cjs.map +0 -1
  196. package/lib/cjs/controllers.cjs.map +0 -1
  197. package/lib/cjs/core-module.cjs.map +0 -1
  198. package/lib/cjs/decaf-model/DecafModelModule.cjs.map +0 -1
  199. package/lib/cjs/decaf-model/FromModelController.cjs.map +0 -1
  200. package/lib/cjs/decaf-model/decorators/ApiOperationFromModel.cjs.map +0 -1
  201. package/lib/cjs/decaf-model/decorators/ApiParamsFromModel.cjs.map +0 -1
  202. package/lib/cjs/decaf-model/decorators/DecafBody.cjs.map +0 -1
  203. package/lib/cjs/decaf-model/decorators/DecafParams.cjs.map +0 -1
  204. package/lib/cjs/decaf-model/decorators/controller-config.cjs.map +0 -1
  205. package/lib/cjs/decaf-model/decorators/decorators.cjs.map +0 -1
  206. package/lib/cjs/decaf-model/decorators/expose.cjs.map +0 -1
  207. package/lib/cjs/decaf-model/decorators/index.cjs.map +0 -1
  208. package/lib/cjs/decaf-model/decorators/types.cjs.map +0 -1
  209. package/lib/cjs/decaf-model/decorators/utils.cjs.map +0 -1
  210. package/lib/cjs/decaf-model/index.cjs.map +0 -1
  211. package/lib/cjs/decaf-model/types.cjs.map +0 -1
  212. package/lib/cjs/decaf-model/utils.cjs.map +0 -1
  213. package/lib/cjs/decoration.cjs.map +0 -1
  214. package/lib/cjs/decorators.cjs.map +0 -1
  215. package/lib/cjs/events-module/DecafStreamModule.cjs.map +0 -1
  216. package/lib/cjs/events-module/EventsController.cjs.map +0 -1
  217. package/lib/cjs/events-module/constant.cjs.map +0 -1
  218. package/lib/cjs/events-module/index.cjs.map +0 -1
  219. package/lib/cjs/events-module/utils.cjs.map +0 -1
  220. package/lib/cjs/factory/NestBootstraper.cjs.map +0 -1
  221. package/lib/cjs/factory/errors/cors.cjs.map +0 -1
  222. package/lib/cjs/factory/errors/index.cjs.map +0 -1
  223. package/lib/cjs/factory/errors/throttling.cjs.map +0 -1
  224. package/lib/cjs/factory/exceptions/DecafErrorFilter.cjs.map +0 -1
  225. package/lib/cjs/factory/exceptions/decorators.cjs.map +0 -1
  226. package/lib/cjs/factory/exceptions/index.cjs.map +0 -1
  227. package/lib/cjs/factory/index.cjs.map +0 -1
  228. package/lib/cjs/factory/openapi/DtoBuilder.cjs.map +0 -1
  229. package/lib/cjs/factory/openapi/SwaggerBuilder.cjs.map +0 -1
  230. package/lib/cjs/factory/openapi/SwaggerCustomUI.cjs.map +0 -1
  231. package/lib/cjs/factory/openapi/constants.cjs.map +0 -1
  232. package/lib/cjs/factory/openapi/index.cjs.map +0 -1
  233. package/lib/cjs/index.cjs.map +0 -1
  234. package/lib/cjs/interceptors/DecafRequestHandlerInterceptor.cjs.map +0 -1
  235. package/lib/cjs/interceptors/index.cjs.map +0 -1
  236. package/lib/cjs/module.cjs.map +0 -1
  237. package/lib/cjs/overrides/Adapter.cjs.map +0 -1
  238. package/lib/cjs/overrides/ModelBuilderExtensions.cjs.map +0 -1
  239. package/lib/cjs/overrides/constants.cjs.map +0 -1
  240. package/lib/cjs/overrides/decoration.cjs.map +0 -1
  241. package/lib/cjs/overrides/helpers.cjs.map +0 -1
  242. package/lib/cjs/overrides/index.cjs.map +0 -1
  243. package/lib/cjs/overrides/logging.cjs.map +0 -1
  244. package/lib/cjs/overrides/overrides.cjs.map +0 -1
  245. package/lib/cjs/request/DecafAuthHandler.cjs.map +0 -1
  246. package/lib/cjs/request/DecafHandlerExecutor.cjs.map +0 -1
  247. package/lib/cjs/request/DecafRequestContext.cjs.map +0 -1
  248. package/lib/cjs/request/DecafResponseInterceptor.cjs.map +0 -1
  249. package/lib/cjs/request/index.cjs.map +0 -1
  250. package/lib/cjs/swagger-types.cjs.map +0 -1
  251. package/lib/cjs/types.cjs.map +0 -1
  252. package/lib/cjs/utils.cjs.map +0 -1
  253. package/lib/cjs/webhooks/DecafWebhookModule.cjs.map +0 -1
  254. package/lib/cjs/webhooks/controllers.cjs.map +0 -1
  255. package/lib/cjs/webhooks/index.cjs.map +0 -1
  256. package/lib/cjs/webhooks/types.cjs.map +0 -1
  257. package/lib/esm/auth/AuthInterceptor.js.map +0 -1
  258. package/lib/esm/auth/DecafAuthHandler.js.map +0 -1
  259. package/lib/esm/auth/DecafAuthModule.js.map +0 -1
  260. package/lib/esm/auth/constants.js.map +0 -1
  261. package/lib/esm/auth/decorators.js.map +0 -1
  262. package/lib/esm/auth/index.js.map +0 -1
  263. package/lib/esm/bin/cli.js.map +0 -1
  264. package/lib/esm/cli-module.js.map +0 -1
  265. package/lib/esm/constants.js.map +0 -1
  266. package/lib/esm/controllers.js.map +0 -1
  267. package/lib/esm/core-module.js.map +0 -1
  268. package/lib/esm/decaf-model/DecafModelModule.js.map +0 -1
  269. package/lib/esm/decaf-model/FromModelController.js.map +0 -1
  270. package/lib/esm/decaf-model/decorators/ApiOperationFromModel.js.map +0 -1
  271. package/lib/esm/decaf-model/decorators/ApiParamsFromModel.js.map +0 -1
  272. package/lib/esm/decaf-model/decorators/DecafBody.js.map +0 -1
  273. package/lib/esm/decaf-model/decorators/DecafParams.js.map +0 -1
  274. package/lib/esm/decaf-model/decorators/controller-config.js.map +0 -1
  275. package/lib/esm/decaf-model/decorators/decorators.js.map +0 -1
  276. package/lib/esm/decaf-model/decorators/expose.js.map +0 -1
  277. package/lib/esm/decaf-model/decorators/index.js.map +0 -1
  278. package/lib/esm/decaf-model/decorators/types.js.map +0 -1
  279. package/lib/esm/decaf-model/decorators/utils.js.map +0 -1
  280. package/lib/esm/decaf-model/index.js.map +0 -1
  281. package/lib/esm/decaf-model/types.js.map +0 -1
  282. package/lib/esm/decaf-model/utils.js.map +0 -1
  283. package/lib/esm/decoration.js.map +0 -1
  284. package/lib/esm/decorators.js.map +0 -1
  285. package/lib/esm/events-module/DecafStreamModule.js.map +0 -1
  286. package/lib/esm/events-module/EventsController.js.map +0 -1
  287. package/lib/esm/events-module/constant.js.map +0 -1
  288. package/lib/esm/events-module/index.js.map +0 -1
  289. package/lib/esm/events-module/utils.js.map +0 -1
  290. package/lib/esm/factory/NestBootstraper.js.map +0 -1
  291. package/lib/esm/factory/errors/cors.js.map +0 -1
  292. package/lib/esm/factory/errors/index.js.map +0 -1
  293. package/lib/esm/factory/errors/throttling.js.map +0 -1
  294. package/lib/esm/factory/exceptions/DecafErrorFilter.js.map +0 -1
  295. package/lib/esm/factory/exceptions/decorators.js.map +0 -1
  296. package/lib/esm/factory/exceptions/index.js.map +0 -1
  297. package/lib/esm/factory/index.js.map +0 -1
  298. package/lib/esm/factory/openapi/DtoBuilder.js.map +0 -1
  299. package/lib/esm/factory/openapi/SwaggerBuilder.js.map +0 -1
  300. package/lib/esm/factory/openapi/SwaggerCustomUI.js.map +0 -1
  301. package/lib/esm/factory/openapi/constants.js.map +0 -1
  302. package/lib/esm/factory/openapi/index.js.map +0 -1
  303. package/lib/esm/index.js.map +0 -1
  304. package/lib/esm/interceptors/DecafRequestHandlerInterceptor.js.map +0 -1
  305. package/lib/esm/interceptors/index.js.map +0 -1
  306. package/lib/esm/module.js.map +0 -1
  307. package/lib/esm/overrides/Adapter.js.map +0 -1
  308. package/lib/esm/overrides/ModelBuilderExtensions.js.map +0 -1
  309. package/lib/esm/overrides/constants.js.map +0 -1
  310. package/lib/esm/overrides/decoration.js.map +0 -1
  311. package/lib/esm/overrides/helpers.js.map +0 -1
  312. package/lib/esm/overrides/index.js.map +0 -1
  313. package/lib/esm/overrides/logging.js.map +0 -1
  314. package/lib/esm/overrides/overrides.js.map +0 -1
  315. package/lib/esm/request/DecafAuthHandler.js.map +0 -1
  316. package/lib/esm/request/DecafHandlerExecutor.js.map +0 -1
  317. package/lib/esm/request/DecafRequestContext.js.map +0 -1
  318. package/lib/esm/request/DecafResponseInterceptor.js.map +0 -1
  319. package/lib/esm/request/index.js.map +0 -1
  320. package/lib/esm/swagger-types.js.map +0 -1
  321. package/lib/esm/types.js.map +0 -1
  322. package/lib/esm/utils.js.map +0 -1
  323. package/lib/esm/webhooks/DecafWebhookModule.js.map +0 -1
  324. package/lib/esm/webhooks/controllers.js.map +0 -1
  325. package/lib/esm/webhooks/index.js.map +0 -1
  326. package/lib/esm/webhooks/types.js.map +0 -1
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=swagger-types.js.map
4
- //# sourceMappingURL=swagger-types.cjs.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhZ2dlci10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zd2FnZ2VyLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlTY2hlbWVPYmplY3Qge1xuICB0eXBlOiBcImFwaUtleVwiIHwgXCJodHRwXCIgfCBcIm9hdXRoMlwiIHwgXCJvcGVuSWRDb25uZWN0XCI7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBpbj86IHN0cmluZztcbiAgc2NoZW1lPzogc3RyaW5nO1xuICBiZWFyZXJGb3JtYXQ/OiBzdHJpbmc7XG4gIGZsb3dzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIG9wZW5JZENvbm5lY3RVcmw/OiBzdHJpbmc7XG4gIFwieC10b2tlbk5hbWVcIj86IHN0cmluZztcbiAgW2V4dGVuc2lvbjogYHgtJHtzdHJpbmd9YF06IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hT2JqZWN0IHtcbiAgbnVsbGFibGU/OiBib29sZWFuO1xuICBkZXByZWNhdGVkPzogYm9vbGVhbjtcbiAgcmVhZE9ubHk/OiBib29sZWFuO1xuICB3cml0ZU9ubHk/OiBib29sZWFuO1xuICBkZWZhdWx0PzogdW5rbm93bjtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGVudW0/OiB1bmtub3duW107XG4gIHBhdHRlcm4/OiBzdHJpbmc7XG4gIHJlcXVpcmVkPzogc3RyaW5nW107XG4gIHByb3BlcnRpZXM/OiBSZWNvcmQ8c3RyaW5nLCBTY2hlbWFPYmplY3RNZXRhZGF0YT47XG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzPzogdW5rbm93bjtcbiAgaXRlbXM/OiB1bmtub3duO1xuICBmb3JtYXQ/OiBzdHJpbmc7XG4gIG1heGltdW0/OiBudW1iZXI7XG4gIG1pbmltdW0/OiBudW1iZXI7XG4gIG1heExlbmd0aD86IG51bWJlcjtcbiAgbWluTGVuZ3RoPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZmVyZW5jZU9iamVjdCB7XG4gICRyZWY6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgRW51bUFsbG93ZWRUeXBlcyA9XG4gIHwgYW55W11cbiAgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIHwgKCgpID0+IGFueVtdIHwgUmVjb3JkPHN0cmluZywgYW55Pik7XG5cbmV4cG9ydCB0eXBlIEVudW1TY2hlbWFBdHRyaWJ1dGVzID0gUGljazxcbiAgU2NoZW1hT2JqZWN0LFxuICB8IFwiZGVmYXVsdFwiXG4gIHwgXCJkZXNjcmlwdGlvblwiXG4gIHwgXCJkZXByZWNhdGVkXCJcbiAgfCBcInJlYWRPbmx5XCJcbiAgfCBcIndyaXRlT25seVwiXG4gIHwgXCJudWxsYWJsZVwiXG4+O1xuXG50eXBlIFNjaGVtYU9iamVjdENvbW1vbk1ldGFkYXRhID0gT21pdDxcbiAgU2NoZW1hT2JqZWN0LFxuICBcInR5cGVcIiB8IFwicmVxdWlyZWRcIiB8IFwicHJvcGVydGllc1wiIHwgXCJlbnVtXCIgfCBcInBhdHRlcm5cIlxuPiAmIHtcbiAgaXNBcnJheT86IGJvb2xlYW47XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHBhdHRlcm4/OiBzdHJpbmcgfCBSZWdFeHA7XG4gIGVudW0/OiBFbnVtQWxsb3dlZFR5cGVzO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59O1xuXG5leHBvcnQgdHlwZSBTY2hlbWFPYmplY3RNZXRhZGF0YSA9XG4gIHwgKFNjaGVtYU9iamVjdENvbW1vbk1ldGFkYXRhICYge1xuICAgICAgdHlwZT86XG4gICAgICAgIHwgVHlwZTx1bmtub3duPlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1mdW5jdGlvbi10eXBlXG4gICAgICAgIHwgRnVuY3Rpb25cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZVxuICAgICAgICB8IFtGdW5jdGlvbl1cbiAgICAgICAgfCBcImFycmF5XCJcbiAgICAgICAgfCBcInN0cmluZ1wiXG4gICAgICAgIHwgXCJudW1iZXJcIlxuICAgICAgICB8IFwiYm9vbGVhblwiXG4gICAgICAgIHwgXCJpbnRlZ2VyXCJcbiAgICAgICAgfCBcImZpbGVcIlxuICAgICAgICB8IFwibnVsbFwiO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKFNjaGVtYU9iamVjdENvbW1vbk1ldGFkYXRhICYge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZVxuICAgICAgdHlwZT86IFR5cGU8dW5rbm93bj4gfCBGdW5jdGlvbiB8IFtGdW5jdGlvbl0gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgICAgZW51bU5hbWU6IHN0cmluZztcbiAgICAgIGVudW1TY2hlbWE/OiBFbnVtU2NoZW1hQXR0cmlidXRlcztcbiAgICB9KVxuICB8IChTY2hlbWFPYmplY3RDb21tb25NZXRhZGF0YSAmIHtcbiAgICAgIHR5cGU6IFwib2JqZWN0XCI7XG4gICAgICBwcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBTY2hlbWFPYmplY3RNZXRhZGF0YT47XG4gICAgICByZXF1aXJlZD86IHN0cmluZ1tdO1xuICAgICAgc2VsZlJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICB9KVxuICB8IChTY2hlbWFPYmplY3RDb21tb25NZXRhZGF0YSAmIHtcbiAgICAgIHR5cGU6IFwib2JqZWN0XCI7XG4gICAgICBwcm9wZXJ0aWVzPzogUmVjb3JkPHN0cmluZywgU2NoZW1hT2JqZWN0TWV0YWRhdGE+O1xuICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IFNjaGVtYU9iamVjdCB8IFJlZmVyZW5jZU9iamVjdCB8IGJvb2xlYW47XG4gICAgICByZXF1aXJlZD86IHN0cmluZ1tdO1xuICAgICAgc2VsZlJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICB9KTtcblxuZXhwb3J0IHR5cGUgU3dhZ2dlckVudW1UeXBlID1cbiAgfCBzdHJpbmdbXVxuICB8IG51bWJlcltdXG4gIHwgYm9vbGVhbltdXG4gIHwgKHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pW11cbiAgfCBSZWNvcmQ8bnVtYmVyLCBzdHJpbmc+O1xuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhZ2dlci10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN3YWdnZXItdHlwZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSwwOUhBQTA5SCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWMzZGhaMmRsY2kxMGVYQmxjeTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1TDNOeVl5OXpkMkZuWjJWeUxYUjVjR1Z6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QlVlWEJsSUgwZ1puSnZiU0JjSWtCdVpYTjBhbk12WTI5dGJXOXVYQ0k3WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1UyVmpkWEpwZEhsVFkyaGxiV1ZQWW1wbFkzUWdlMXh1SUNCMGVYQmxPaUJjSW1Gd2FVdGxlVndpSUh3Z1hDSm9kSFJ3WENJZ2ZDQmNJbTloZFhSb01sd2lJSHdnWENKdmNHVnVTV1JEYjI1dVpXTjBYQ0k3WEc0Z0lHUmxjMk55YVhCMGFXOXVQem9nYzNSeWFXNW5PMXh1SUNCdVlXMWxQem9nYzNSeWFXNW5PMXh1SUNCcGJqODZJSE4wY21sdVp6dGNiaUFnYzJOb1pXMWxQem9nYzNSeWFXNW5PMXh1SUNCaVpXRnlaWEpHYjNKdFlYUS9PaUJ6ZEhKcGJtYzdYRzRnSUdac2IzZHpQem9nVW1WamIzSmtQSE4wY21sdVp5d2dkVzVyYm05M2JqNDdYRzRnSUc5d1pXNUpaRU52Ym01bFkzUlZjbXcvT2lCemRISnBibWM3WEc0Z0lGd2llQzEwYjJ0bGJrNWhiV1ZjSWo4NklITjBjbWx1Wnp0Y2JpQWdXMlY0ZEdWdWMybHZiam9nWUhndEpIdHpkSEpwYm1kOVlGMDZJSFZ1YTI1dmQyNDdYRzU5WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1UyTm9aVzFoVDJKcVpXTjBJSHRjYmlBZ2JuVnNiR0ZpYkdVL09pQmliMjlzWldGdU8xeHVJQ0JrWlhCeVpXTmhkR1ZrUHpvZ1ltOXZiR1ZoYmp0Y2JpQWdjbVZoWkU5dWJIay9PaUJpYjI5c1pXRnVPMXh1SUNCM2NtbDBaVTl1YkhrL09pQmliMjlzWldGdU8xeHVJQ0JrWldaaGRXeDBQem9nZFc1cmJtOTNianRjYmlBZ1pHVnpZM0pwY0hScGIyNC9PaUJ6ZEhKcGJtYzdYRzRnSUhSNWNHVS9PaUJ6ZEhKcGJtYzdYRzRnSUdWdWRXMC9PaUIxYm10dWIzZHVXMTA3WEc0Z0lIQmhkSFJsY200L09pQnpkSEpwYm1jN1hHNGdJSEpsY1hWcGNtVmtQem9nYzNSeWFXNW5XMTA3WEc0Z0lIQnliM0JsY25ScFpYTS9PaUJTWldOdmNtUThjM1J5YVc1bkxDQlRZMmhsYldGUFltcGxZM1JOWlhSaFpHRjBZVDQ3WEc0Z0lHRmtaR2wwYVc5dVlXeFFjbTl3WlhKMGFXVnpQem9nZFc1cmJtOTNianRjYmlBZ2FYUmxiWE0vT2lCMWJtdHViM2R1TzF4dUlDQm1iM0p0WVhRL09pQnpkSEpwYm1jN1hHNGdJRzFoZUdsdGRXMC9PaUJ1ZFcxaVpYSTdYRzRnSUcxcGJtbHRkVzAvT2lCdWRXMWlaWEk3WEc0Z0lHMWhlRXhsYm1kMGFEODZJRzUxYldKbGNqdGNiaUFnYldsdVRHVnVaM1JvUHpvZ2JuVnRZbVZ5TzF4dWZWeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRkpsWm1WeVpXNWpaVTlpYW1WamRDQjdYRzRnSUNSeVpXWTZJSE4wY21sdVp6dGNibjFjYmx4dVpYaHdiM0owSUhSNWNHVWdSVzUxYlVGc2JHOTNaV1JVZVhCbGN5QTlYRzRnSUh3Z1lXNTVXMTFjYmlBZ2ZDQlNaV052Y21ROGMzUnlhVzVuTENCaGJuaytYRzRnSUh3Z0tDZ3BJRDArSUdGdWVWdGRJSHdnVW1WamIzSmtQSE4wY21sdVp5d2dZVzU1UGlrN1hHNWNibVY0Y0c5eWRDQjBlWEJsSUVWdWRXMVRZMmhsYldGQmRIUnlhV0oxZEdWeklEMGdVR2xqYXp4Y2JpQWdVMk5vWlcxaFQySnFaV04wTEZ4dUlDQjhJRndpWkdWbVlYVnNkRndpWEc0Z0lId2dYQ0prWlhOamNtbHdkR2x2Ymx3aVhHNGdJSHdnWENKa1pYQnlaV05oZEdWa1hDSmNiaUFnZkNCY0luSmxZV1JQYm14NVhDSmNiaUFnZkNCY0luZHlhWFJsVDI1c2VWd2lYRzRnSUh3Z1hDSnVkV3hzWVdKc1pWd2lYRzQrTzF4dVhHNTBlWEJsSUZOamFHVnRZVTlpYW1WamRFTnZiVzF2YmsxbGRHRmtZWFJoSUQwZ1QyMXBkRHhjYmlBZ1UyTm9aVzFoVDJKcVpXTjBMRnh1SUNCY0luUjVjR1ZjSWlCOElGd2ljbVZ4ZFdseVpXUmNJaUI4SUZ3aWNISnZjR1Z5ZEdsbGMxd2lJSHdnWENKbGJuVnRYQ0lnZkNCY0luQmhkSFJsY201Y0lseHVQaUFtSUh0Y2JpQWdhWE5CY25KaGVUODZJR0p2YjJ4bFlXNDdYRzRnSUc1aGJXVS9PaUJ6ZEhKcGJtYzdYRzRnSUhCaGRIUmxjbTQvT2lCemRISnBibWNnZkNCU1pXZEZlSEE3WEc0Z0lHVnVkVzAvT2lCRmJuVnRRV3hzYjNkbFpGUjVjR1Z6TzF4dUlDQmJhMlY1T2lCemRISnBibWRkT2lCaGJuazdYRzU5TzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JUWTJobGJXRlBZbXBsWTNSTlpYUmhaR0YwWVNBOVhHNGdJSHdnS0ZOamFHVnRZVTlpYW1WamRFTnZiVzF2YmsxbGRHRmtZWFJoSUNZZ2UxeHVJQ0FnSUNBZ2RIbHdaVDg2WEc0Z0lDQWdJQ0FnSUh3Z1ZIbHdaVHgxYm10dWIzZHVQbHh1SUNBZ0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnUUhSNWNHVnpZM0pwY0hRdFpYTnNhVzUwTDI1dkxYVnVjMkZtWlMxbWRXNWpkR2x2YmkxMGVYQmxYRzRnSUNBZ0lDQWdJSHdnUm5WdVkzUnBiMjVjYmlBZ0lDQWdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUVCMGVYQmxjMk55YVhCMExXVnpiR2x1ZEM5dWJ5MTFibk5oWm1VdFpuVnVZM1JwYjI0dGRIbHdaVnh1SUNBZ0lDQWdJQ0I4SUZ0R2RXNWpkR2x2YmwxY2JpQWdJQ0FnSUNBZ2ZDQmNJbUZ5Y21GNVhDSmNiaUFnSUNBZ0lDQWdmQ0JjSW5OMGNtbHVaMXdpWEc0Z0lDQWdJQ0FnSUh3Z1hDSnVkVzFpWlhKY0lseHVJQ0FnSUNBZ0lDQjhJRndpWW05dmJHVmhibHdpWEc0Z0lDQWdJQ0FnSUh3Z1hDSnBiblJsWjJWeVhDSmNiaUFnSUNBZ0lDQWdmQ0JjSW1acGJHVmNJbHh1SUNBZ0lDQWdJQ0I4SUZ3aWJuVnNiRndpTzF4dUlDQWdJQ0FnY21WeGRXbHlaV1EvT2lCaWIyOXNaV0Z1TzF4dUlDQWdJSDBwWEc0Z0lId2dLRk5qYUdWdFlVOWlhbVZqZEVOdmJXMXZiazFsZEdGa1lYUmhJQ1lnZTF4dUlDQWdJQ0FnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUVCMGVYQmxjMk55YVhCMExXVnpiR2x1ZEM5dWJ5MTFibk5oWm1VdFpuVnVZM1JwYjI0dGRIbHdaVnh1SUNBZ0lDQWdkSGx3WlQ4NklGUjVjR1U4ZFc1cmJtOTNiajRnZkNCR2RXNWpkR2x2YmlCOElGdEdkVzVqZEdsdmJsMGdmQ0JTWldOdmNtUThjM1J5YVc1bkxDQmhibmsrTzF4dUlDQWdJQ0FnY21WeGRXbHlaV1EvT2lCaWIyOXNaV0Z1TzF4dUlDQWdJQ0FnWlc1MWJVNWhiV1U2SUhOMGNtbHVaenRjYmlBZ0lDQWdJR1Z1ZFcxVFkyaGxiV0UvT2lCRmJuVnRVMk5vWlcxaFFYUjBjbWxpZFhSbGN6dGNiaUFnSUNCOUtWeHVJQ0I4SUNoVFkyaGxiV0ZQWW1wbFkzUkRiMjF0YjI1TlpYUmhaR0YwWVNBbUlIdGNiaUFnSUNBZ0lIUjVjR1U2SUZ3aWIySnFaV04wWENJN1hHNGdJQ0FnSUNCd2NtOXdaWEowYVdWek9pQlNaV052Y21ROGMzUnlhVzVuTENCVFkyaGxiV0ZQWW1wbFkzUk5aWFJoWkdGMFlUNDdYRzRnSUNBZ0lDQnlaWEYxYVhKbFpEODZJSE4wY21sdVoxdGRPMXh1SUNBZ0lDQWdjMlZzWmxKbGNYVnBjbVZrUHpvZ1ltOXZiR1ZoYmp0Y2JpQWdJQ0I5S1Z4dUlDQjhJQ2hUWTJobGJXRlBZbXBsWTNSRGIyMXRiMjVOWlhSaFpHRjBZU0FtSUh0Y2JpQWdJQ0FnSUhSNWNHVTZJRndpYjJKcVpXTjBYQ0k3WEc0Z0lDQWdJQ0J3Y205d1pYSjBhV1Z6UHpvZ1VtVmpiM0prUEhOMGNtbHVaeXdnVTJOb1pXMWhUMkpxWldOMFRXVjBZV1JoZEdFK08xeHVJQ0FnSUNBZ1lXUmthWFJwYjI1aGJGQnliM0JsY25ScFpYTTZJRk5qYUdWdFlVOWlhbVZqZENCOElGSmxabVZ5Wlc1alpVOWlhbVZqZENCOElHSnZiMnhsWVc0N1hHNGdJQ0FnSUNCeVpYRjFhWEpsWkQ4NklITjBjbWx1WjF0ZE8xeHVJQ0FnSUNBZ2MyVnNabEpsY1hWcGNtVmtQem9nWW05dmJHVmhianRjYmlBZ0lDQjlLVHRjYmx4dVpYaHdiM0owSUhSNWNHVWdVM2RoWjJkbGNrVnVkVzFVZVhCbElEMWNiaUFnZkNCemRISnBibWRiWFZ4dUlDQjhJRzUxYldKbGNsdGRYRzRnSUh3Z1ltOXZiR1ZoYmx0ZFhHNGdJSHdnS0hOMGNtbHVaeUI4SUc1MWJXSmxjaUI4SUdKdmIyeGxZVzRwVzExY2JpQWdmQ0JTWldOdmNtUThiblZ0WW1WeUxDQnpkSEpwYm1jK08xeHVJbDE5Il19
package/lib/cjs/types.cjs CHANGED
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
4
- //# sourceMappingURL=types.cjs.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkYXB0ZXIsIENvbmZpZ09mLCBDb250ZXh0T2YgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBFeGVjdXRpb25Db250ZXh0LCBUeXBlIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQge1xuICBSZXF1ZXN0VG9Db250ZXh0VHJhbnNmb3JtZXIsXG4gIHR5cGUgTW9kZWxDb250cm9sbGVyRmFjdG9yeUNvbmZpZyxcbiAgdHlwZSBBdXRoSGFuZGxlciBhcyBBdXRoSGFuZGxlckJhc2UsXG59IGZyb20gXCJAZGVjYWYtdHMvZm9yLWh0dHAvc2VydmVyXCI7XG5pbXBvcnQgeyBEZWNhZlJlcXVlc3RDb250ZXh0IH0gZnJvbSBcIi4vcmVxdWVzdC9pbmRleFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlY2FmUmVxdWVzdEhhbmRsZXI8XG4gIEMgZXh0ZW5kcyBEZWNhZlJlcXVlc3RDb250ZXh0ID0gRGVjYWZSZXF1ZXN0Q29udGV4dCxcbj4ge1xuICBoYW5kbGUoY29udGV4dDogQywgcmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZlckV2ZW50c09wdGlvbnMge1xuICAvKipcbiAgICogRW5hYmxlcyBvciBkaXNhYmxlcyBTU0Ugc3RyZWFtIGV2ZW50cyBnbG9iYWxseVxuICAgKi9cbiAgZW5hYmxlT2JzZXJ2ZXJFdmVudHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGV4cGxpY2l0IHN1YnNjcmlwdGlvbiByZWdpc3RyYXRpb24gYW5kIHBlci1zdWJzY3JpYmVyIGZpbHRlcmluZy5cbiAgICogQnJvYWRjYXN0IHJlbWFpbnMgdGhlIGRlZmF1bHQgd2hlbiBvbWl0dGVkIG9yIGZhbHNlLlxuICAgKi9cbiAgc3Vic2NyaXB0aW9uTW9kZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgYWRhcHRlciBmbGF2b3VycyB0aGF0IHdpbGwgZW1pdCBzdHJlYW0gZXZlbnRzXG4gICAqIElmIG9taXR0ZWQsIGFsbCByZWdpc3RlcmVkIGZsYXZvdXJzIG1heSBiZSB1c2VkXG4gICAqL1xuICBvYnNlcnZlckZsYXZvdXJzPzogYW55W107XG5cbiAgLyoqXG4gICAqIFNTRSBlbmRwb2ludCBwYXRoXG4gICAqIEBkZWZhdWx0IFwiL2V2ZW50c1wiXG4gICAqL1xuICBvYnNlcnZlckFwaVBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQHB1YmxpY0FwaVxuICovXG5leHBvcnQgdHlwZSBEZWNhZk1vZHVsZU9wdGlvbnM8XG4gIENPTkYgPSBhbnksXG4gIEEgZXh0ZW5kcyBBZGFwdGVyPENPTkYsIGFueSwgYW55LCBhbnk+ID0gQWRhcHRlcjxDT05GLCBhbnksIGFueSwgYW55Pixcbj4gPSB7XG4gIGNvbmY6IFtcbiAgICBDb25zdHJ1Y3RvcjxBPixcbiAgICBDb25maWdPZjxBPixcbiAgICAuLi5hcmdzOlxuICAgICAgfCBhbnlbXVxuICAgICAgfCBbXG4gICAgICAgICAgLi4uYW55W10sXG4gICAgICAgICAgKFxuICAgICAgICAgICAgfCBSZXF1ZXN0VG9Db250ZXh0VHJhbnNmb3JtZXI8Q29udGV4dE9mPEE+PlxuICAgICAgICAgICAgfCBDb25zdHJ1Y3RvcjxSZXF1ZXN0VG9Db250ZXh0VHJhbnNmb3JtZXI8Q29udGV4dE9mPEE+Pj5cbiAgICAgICAgICApLFxuICAgICAgICBdLFxuICBdW107XG4gIGFsaWFzPzogc3RyaW5nO1xuICBhdXRvQ29udHJvbGxlcnM6IGJvb2xlYW47XG4gIGF1dG9TZXJ2aWNlcz86IGJvb2xlYW47XG4gIGNvbnRyb2xsZXJFeHBvc3VyZT86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4gfCBzdHJpbmdbXT47XG4gIGNvbnRyb2xsZXJDb25maWc/OiBSZWNvcmQ8c3RyaW5nLCBNb2RlbENvbnRyb2xsZXJGYWN0b3J5Q29uZmlnPjtcbiAgb2JzZXJ2ZXJPcHRpb25zPzogT2JzZXJ2ZXJFdmVudHNPcHRpb25zO1xuICBhZ2dyZWdhdGlvbnM/OiBib29sZWFuO1xuICBoYW5kbGVycz86IFR5cGU8RGVjYWZSZXF1ZXN0SGFuZGxlcj5bXTtcbiAgaW5pdGlhbGl6YXRpb24/OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xufTtcblxuLyoqXG4gKiBOZXN0SlMtbmFycm93ZWQgYWxpYXMgZm9yIHRoZSBiYXNlIHtAbGluayBBdXRoSGFuZGxlckJhc2V9IGNsYXNzIGZyb21cbiAqIGBAZGVjYWYtdHMvZm9yLWh0dHAvc2VydmVyYCwgc3BlY2lhbGl6aW5nIHRoZSBleGVjdXRpb24gY29udGV4dCB0b1xuICogYEV4ZWN1dGlvbkNvbnRleHRgIGFuZCB0aGUgcmVxdWVzdCBjb250ZXh0IHRvIHtAbGluayBEZWNhZlJlcXVlc3RDb250ZXh0fS5cbiAqXG4gKiBDb25jcmV0ZSBoYW5kbGVycyBleHRlbmQgdGhpcyBjbGFzcyBhbmQgb3ZlcnJpZGUgYGV4dHJhY3RGcm9tUmVxdWVzdGAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGV4cG9ydCBjbGFzcyBDdXN0b21BdXRoSGFuZGxlciBleHRlbmRzIEF1dGhIYW5kbGVyIHtcbiAqICAgcHJvdGVjdGVkIGV4dHJhY3RGcm9tUmVxdWVzdChyZXF1ZXN0OiBhbnkpIHtcbiAqICAgICBjb25zdCByZXEgPSBjdHguc3dpdGNoVG9IdHRwKCkuZ2V0UmVxdWVzdCgpO1xuICogICAgIGNvbnN0IHVzZXJSb2xlID0gcmVxLmhlYWRlcnMuYXV0aG9yaXphdGlvbj8uc3BsaXQoXCIgXCIpWzFdIGFzIHN0cmluZztcbiAqICAgICBpZiAoIXVzZXJSb2xlKSB0aHJvdyBuZXcgQXV0aG9yaXphdGlvbkVycm9yKFwiVW5hdXRoZW50aWNhdGVkXCIpO1xuICogICAgIHJldHVybiB7IHVzZXI6IHVzZXJSb2xlLCByb2xlczogW3VzZXJSb2xlXSB9O1xuICogICB9XG4gKiB9XG4gKlxuICogLy8gYXV0aC5tb2R1bGUudHNcbiAqIEBHbG9iYWwoKVxuICogQE1vZHVsZSh7XG4gKiAgcHJvdmlkZXJzOiBbXG4gKiAgICBBdXRoSW50ZXJjZXB0b3IsXG4gKiAgICBDdXN0b21BdXRoSGFuZGxlcixcbiAqICAgIHsgcHJvdmlkZTogQVVUSF9IQU5ETEVSLCB1c2VDbGFzczogQ3VzdG9tQXV0aEhhbmRsZXIgfSxcbiAqICBdLFxuICogIGV4cG9ydHM6IFtBVVRIX0hBTkRMRVIsIEF1dGhJbnRlcmNlcHRvcl0sXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIEF1dGhNb2R1bGUge31cbiAqL1xuZXhwb3J0IHR5cGUgQXV0aEhhbmRsZXI8XG4gIEVDID0gRXhlY3V0aW9uQ29udGV4dCxcbiAgQyBleHRlbmRzIERlY2FmUmVxdWVzdENvbnRleHQgPSBEZWNhZlJlcXVlc3RDb250ZXh0LFxuPiA9IEF1dGhIYW5kbGVyQmFzZTxFQywgQz47XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHN2SUFBc3ZJIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pYTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTl6Y21NdmRIbHdaWE11ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lFRmtZWEIwWlhJc0lFTnZibVpwWjA5bUxDQkRiMjUwWlhoMFQyWWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMk52Y21WY0lqdGNibWx0Y0c5eWRDQjdJRU52Ym5OMGNuVmpkRzl5SUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1pXTnZjbUYwYVc5dVhDSTdYRzVwYlhCdmNuUWdleUJGZUdWamRYUnBiMjVEYjI1MFpYaDBMQ0JVZVhCbElIMGdabkp2YlNCY0lrQnVaWE4wYW5NdlkyOXRiVzl1WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JTWlhGMVpYTjBWRzlEYjI1MFpYaDBWSEpoYm5ObWIzSnRaWElzWEc0Z0lIUjVjR1VnVFc5a1pXeERiMjUwY205c2JHVnlSbUZqZEc5eWVVTnZibVpwWnl4Y2JpQWdkSGx3WlNCQmRYUm9TR0Z1Wkd4bGNpQmhjeUJCZFhSb1NHRnVaR3hsY2tKaGMyVXNYRzU5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12Wm05eUxXaDBkSEF2YzJWeWRtVnlYQ0k3WEc1cGJYQnZjblFnZXlCRVpXTmhabEpsY1hWbGMzUkRiMjUwWlhoMElIMGdabkp2YlNCY0lpNHZjbVZ4ZFdWemRDOXBibVJsZUZ3aU8xeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRVJsWTJGbVVtVnhkV1Z6ZEVoaGJtUnNaWEk4WEc0Z0lFTWdaWGgwWlc1a2N5QkVaV05oWmxKbGNYVmxjM1JEYjI1MFpYaDBJRDBnUkdWallXWlNaWEYxWlhOMFEyOXVkR1Y0ZEN4Y2JqNGdlMXh1SUNCb1lXNWtiR1VvWTI5dWRHVjRkRG9nUXl3Z2NtVnhPaUJTWlhGMVpYTjBMQ0J5WlhNNklGSmxjM0J2Ym5ObEtUb2dVSEp2YldselpUeDJiMmxrUGp0Y2JuMWNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JQWW5ObGNuWmxja1YyWlc1MGMwOXdkR2x2Ym5NZ2UxeHVJQ0F2S2lwY2JpQWdJQ29nUlc1aFlteGxjeUJ2Y2lCa2FYTmhZbXhsY3lCVFUwVWdjM1J5WldGdElHVjJaVzUwY3lCbmJHOWlZV3hzZVZ4dUlDQWdLaTljYmlBZ1pXNWhZbXhsVDJKelpYSjJaWEpGZG1WdWRITS9PaUJpYjI5c1pXRnVPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkZibUZpYkdWeklHVjRjR3hwWTJsMElITjFZbk5qY21sd2RHbHZiaUJ5WldkcGMzUnlZWFJwYjI0Z1lXNWtJSEJsY2kxemRXSnpZM0pwWW1WeUlHWnBiSFJsY21sdVp5NWNiaUFnSUNvZ1FuSnZZV1JqWVhOMElISmxiV0ZwYm5NZ2RHaGxJR1JsWm1GMWJIUWdkMmhsYmlCdmJXbDBkR1ZrSUc5eUlHWmhiSE5sTGx4dUlDQWdLaTljYmlBZ2MzVmljMk55YVhCMGFXOXVUVzlrWlQ4NklHSnZiMnhsWVc0N1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUV4cGMzUWdiMllnWVdSaGNIUmxjaUJtYkdGMmIzVnljeUIwYUdGMElIZHBiR3dnWlcxcGRDQnpkSEpsWVcwZ1pYWmxiblJ6WEc0Z0lDQXFJRWxtSUc5dGFYUjBaV1FzSUdGc2JDQnlaV2RwYzNSbGNtVmtJR1pzWVhadmRYSnpJRzFoZVNCaVpTQjFjMlZrWEc0Z0lDQXFMMXh1SUNCdlluTmxjblpsY2tac1lYWnZkWEp6UHpvZ1lXNTVXMTA3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRk5UUlNCbGJtUndiMmx1ZENCd1lYUm9YRzRnSUNBcUlFQmtaV1poZFd4MElGd2lMMlYyWlc1MGMxd2lYRzRnSUNBcUwxeHVJQ0J2WW5ObGNuWmxja0Z3YVZCaGRHZy9PaUJ6ZEhKcGJtYzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FIQjFZbXhwWTBGd2FWeHVJQ292WEc1bGVIQnZjblFnZEhsd1pTQkVaV05oWmsxdlpIVnNaVTl3ZEdsdmJuTThYRzRnSUVOUFRrWWdQU0JoYm5rc1hHNGdJRUVnWlhoMFpXNWtjeUJCWkdGd2RHVnlQRU5QVGtZc0lHRnVlU3dnWVc1NUxDQmhibmsrSUQwZ1FXUmhjSFJsY2p4RFQwNUdMQ0JoYm5rc0lHRnVlU3dnWVc1NVBpeGNiajRnUFNCN1hHNGdJR052Ym1ZNklGdGNiaUFnSUNCRGIyNXpkSEoxWTNSdmNqeEJQaXhjYmlBZ0lDQkRiMjVtYVdkUFpqeEJQaXhjYmlBZ0lDQXVMaTVoY21kek9seHVJQ0FnSUNBZ2ZDQmhibmxiWFZ4dUlDQWdJQ0FnZkNCYlhHNGdJQ0FnSUNBZ0lDQWdMaTR1WVc1NVcxMHNYRzRnSUNBZ0lDQWdJQ0FnS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdmQ0JTWlhGMVpYTjBWRzlEYjI1MFpYaDBWSEpoYm5ObWIzSnRaWEk4UTI5dWRHVjRkRTltUEVFK1BseHVJQ0FnSUNBZ0lDQWdJQ0FnZkNCRGIyNXpkSEoxWTNSdmNqeFNaWEYxWlhOMFZHOURiMjUwWlhoMFZISmhibk5tYjNKdFpYSThRMjl1ZEdWNGRFOW1QRUUrUGo1Y2JpQWdJQ0FnSUNBZ0lDQXBMRnh1SUNBZ0lDQWdJQ0JkTEZ4dUlDQmRXMTA3WEc0Z0lHRnNhV0Z6UHpvZ2MzUnlhVzVuTzF4dUlDQmhkWFJ2UTI5dWRISnZiR3hsY25NNklHSnZiMnhsWVc0N1hHNGdJR0YxZEc5VFpYSjJhV05sY3o4NklHSnZiMnhsWVc0N1hHNGdJR052Ym5SeWIyeHNaWEpGZUhCdmMzVnlaVDg2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJR0p2YjJ4bFlXNGdmQ0J6ZEhKcGJtZGJYVDQ3WEc0Z0lHTnZiblJ5YjJ4c1pYSkRiMjVtYVdjL09pQlNaV052Y21ROGMzUnlhVzVuTENCTmIyUmxiRU52Ym5SeWIyeHNaWEpHWVdOMGIzSjVRMjl1Wm1sblBqdGNiaUFnYjJKelpYSjJaWEpQY0hScGIyNXpQem9nVDJKelpYSjJaWEpGZG1WdWRITlBjSFJwYjI1ek8xeHVJQ0JoWjJkeVpXZGhkR2x2Ym5NL09pQmliMjlzWldGdU8xeHVJQ0JvWVc1a2JHVnljejg2SUZSNWNHVThSR1ZqWVdaU1pYRjFaWE4wU0dGdVpHeGxjajViWFR0Y2JpQWdhVzVwZEdsaGJHbDZZWFJwYjI0L09pQW9LU0E5UGlCUWNtOXRhWE5sUEhadmFXUStPMXh1ZlR0Y2JseHVMeW9xWEc0Z0tpQk9aWE4wU2xNdGJtRnljbTkzWldRZ1lXeHBZWE1nWm05eUlIUm9aU0JpWVhObElIdEFiR2x1YXlCQmRYUm9TR0Z1Wkd4bGNrSmhjMlY5SUdOc1lYTnpJR1p5YjIxY2JpQXFJR0JBWkdWallXWXRkSE12Wm05eUxXaDBkSEF2YzJWeWRtVnlZQ3dnYzNCbFkybGhiR2w2YVc1bklIUm9aU0JsZUdWamRYUnBiMjRnWTI5dWRHVjRkQ0IwYjF4dUlDb2dZRVY0WldOMWRHbHZia052Ym5SbGVIUmdJR0Z1WkNCMGFHVWdjbVZ4ZFdWemRDQmpiMjUwWlhoMElIUnZJSHRBYkdsdWF5QkVaV05oWmxKbGNYVmxjM1JEYjI1MFpYaDBmUzVjYmlBcVhHNGdLaUJEYjI1amNtVjBaU0JvWVc1a2JHVnljeUJsZUhSbGJtUWdkR2hwY3lCamJHRnpjeUJoYm1RZ2IzWmxjbkpwWkdVZ1lHVjRkSEpoWTNSR2NtOXRVbVZ4ZFdWemRHQXVYRzRnS2x4dUlDb2dRR1Y0WVcxd2JHVmNiaUFxSUdWNGNHOXlkQ0JqYkdGemN5QkRkWE4wYjIxQmRYUm9TR0Z1Wkd4bGNpQmxlSFJsYm1SeklFRjFkR2hJWVc1a2JHVnlJSHRjYmlBcUlDQWdjSEp2ZEdWamRHVmtJR1Y0ZEhKaFkzUkdjbTl0VW1WeGRXVnpkQ2h5WlhGMVpYTjBPaUJoYm5rcElIdGNiaUFxSUNBZ0lDQmpiMjV6ZENCeVpYRWdQU0JqZEhndWMzZHBkR05vVkc5SWRIUndLQ2t1WjJWMFVtVnhkV1Z6ZENncE8xeHVJQ29nSUNBZ0lHTnZibk4wSUhWelpYSlNiMnhsSUQwZ2NtVnhMbWhsWVdSbGNuTXVZWFYwYUc5eWFYcGhkR2x2Ymo4dWMzQnNhWFFvWENJZ1hDSXBXekZkSUdGeklITjBjbWx1Wnp0Y2JpQXFJQ0FnSUNCcFppQW9JWFZ6WlhKU2IyeGxLU0IwYUhKdmR5QnVaWGNnUVhWMGFHOXlhWHBoZEdsdmJrVnljbTl5S0Z3aVZXNWhkWFJvWlc1MGFXTmhkR1ZrWENJcE8xeHVJQ29nSUNBZ0lISmxkSFZ5YmlCN0lIVnpaWEk2SUhWelpYSlNiMnhsTENCeWIyeGxjem9nVzNWelpYSlNiMnhsWFNCOU8xeHVJQ29nSUNCOVhHNGdLaUI5WEc0Z0tseHVJQ29nTHk4Z1lYVjBhQzV0YjJSMWJHVXVkSE5jYmlBcUlFQkhiRzlpWVd3b0tWeHVJQ29nUUUxdlpIVnNaU2g3WEc0Z0tpQWdjSEp2ZG1sa1pYSnpPaUJiWEc0Z0tpQWdJQ0JCZFhSb1NXNTBaWEpqWlhCMGIzSXNYRzRnS2lBZ0lDQkRkWE4wYjIxQmRYUm9TR0Z1Wkd4bGNpeGNiaUFxSUNBZ0lIc2djSEp2ZG1sa1pUb2dRVlZVU0Y5SVFVNUVURVZTTENCMWMyVkRiR0Z6Y3pvZ1EzVnpkRzl0UVhWMGFFaGhibVJzWlhJZ2ZTeGNiaUFxSUNCZExGeHVJQ29nSUdWNGNHOXlkSE02SUZ0QlZWUklYMGhCVGtSTVJWSXNJRUYxZEdoSmJuUmxjbU5sY0hSdmNsMHNYRzRnS2lCOUtWeHVJQ29nWlhod2IzSjBJR05zWVhOeklFRjFkR2hOYjJSMWJHVWdlMzFjYmlBcUwxeHVaWGh3YjNKMElIUjVjR1VnUVhWMGFFaGhibVJzWlhJOFhHNGdJRVZESUQwZ1JYaGxZM1YwYVc5dVEyOXVkR1Y0ZEN4Y2JpQWdReUJsZUhSbGJtUnpJRVJsWTJGbVVtVnhkV1Z6ZEVOdmJuUmxlSFFnUFNCRVpXTmhabEpsY1hWbGMzUkRiMjUwWlhoMExGeHVQaUE5SUVGMWRHaElZVzVrYkdWeVFtRnpaVHhGUXl3Z1F6NDdYRzRpWFgwPSJdfQ==
package/lib/cjs/utils.cjs CHANGED
@@ -11,5 +11,5 @@ function repoForModel(model) {
11
11
  const repo = core_1.Repository.forModel(m);
12
12
  return repo;
13
13
  }
14
- //# sourceMappingURL=utils.js.map
15
- //# sourceMappingURL=utils.cjs.map
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFhO0lBQ3pDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsSUFBSSxDQUFDLENBQUM7UUFDTCxNQUFNLElBQUksYUFBYSxDQUFDLGlDQUFpQyxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBQ2xFLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsT0FBTyxJQUFJLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2RlbH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHtJbnRlcm5hbEVycm9yfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7UmVwb3NpdG9yeX0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBvRm9yTW9kZWwobW9kZWw6IHN0cmluZykge1xuXHRjb25zdCBtID0gTW9kZWwuZ2V0KG1vZGVsKTtcblx0aWYgKCFtKVxuXHRcdHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBGYWlsZWQgdG8gZmluZCByZXBvc2l0b3J5IGZvciAke21vZGVsfWApXG5cdGNvbnN0IHJlcG8gPSBSZXBvc2l0b3J5LmZvck1vZGVsKG0pO1xuXHRyZXR1cm4gcmVwbztcbn0iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ1dGlscy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLG9DQU1DO0FBVEQseUVBQXVEO0FBQ3ZELDJEQUF3RDtBQUN4RCx5Q0FBNEM7QUFDNUMsU0FBZ0IsWUFBWSxDQUFDLEtBQUs7SUFDOUIsTUFBTSxDQUFDLEdBQUcsNEJBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsSUFBSSxDQUFDLENBQUM7UUFDRixNQUFNLElBQUksNkJBQWEsQ0FBQyxpQ0FBaUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0RSxNQUFNLElBQUksR0FBRyxpQkFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBQ0QsMHNDQUEwc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmV4cG9ydCBmdW5jdGlvbiByZXBvRm9yTW9kZWwobW9kZWwpIHtcbiAgICBjb25zdCBtID0gTW9kZWwuZ2V0KG1vZGVsKTtcbiAgICBpZiAoIW0pXG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBGYWlsZWQgdG8gZmluZCByZXBvc2l0b3J5IGZvciAke21vZGVsfWApO1xuICAgIGNvbnN0IHJlcG8gPSBSZXBvc2l0b3J5LmZvck1vZGVsKG0pO1xuICAgIHJldHVybiByZXBvO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZFhScGJITXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTl6Y21NdmRYUnBiSE11ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNUMEZCVHl4RlFVRkRMRXRCUVVzc1JVRkJReXhOUVVGTkxHZERRVUZuUXl4RFFVRkRPMEZCUTNKRUxFOUJRVThzUlVGQlF5eGhRVUZoTEVWQlFVTXNUVUZCVFN4NVFrRkJlVUlzUTBGQlF6dEJRVU4wUkN4UFFVRlBMRVZCUVVNc1ZVRkJWU3hGUVVGRExFMUJRVTBzWjBKQlFXZENMRU5CUVVNN1FVRkZNVU1zVFVGQlRTeFZRVUZWTEZsQlFWa3NRMEZCUXl4TFFVRmhPMGxCUTNwRExFMUJRVTBzUTBGQlF5eEhRVUZITEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03U1VGRE0wSXNTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRUQ3hOUVVGTkxFbEJRVWtzWVVGQllTeERRVUZETEdsRFFVRnBReXhMUVVGTExFVkJRVVVzUTBGQlF5eERRVUZCTzBsQlEyeEZMRTFCUVUwc1NVRkJTU3hIUVVGSExGVkJRVlVzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRjRU1zVDBGQlR5eEpRVUZKTEVOQlFVTTdRVUZEWWl4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHROYjJSbGJIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGIzSXRkbUZzYVdSaGRHbHZibHdpTzF4dWFXMXdiM0owSUh0SmJuUmxjbTVoYkVWeWNtOXlmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJpTFdSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdVbVZ3YjNOcGRHOXllWDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlqYjNKbFhDSTdYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ5WlhCdlJtOXlUVzlrWld3b2JXOWtaV3c2SUhOMGNtbHVaeWtnZTF4dVhIUmpiMjV6ZENCdElEMGdUVzlrWld3dVoyVjBLRzF2WkdWc0tUdGNibHgwYVdZZ0tDRnRLVnh1WEhSY2RIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0dCR1lXbHNaV1FnZEc4Z1ptbHVaQ0J5WlhCdmMybDBiM0o1SUdadmNpQWtlMjF2WkdWc2ZXQXBYRzVjZEdOdmJuTjBJSEpsY0c4Z1BTQlNaWEJ2YzJsMGIzSjVMbVp2Y2sxdlpHVnNLRzBwTzF4dVhIUnlaWFIxY200Z2NtVndienRjYm4waVhYMD0iXX0=
@@ -137,5 +137,5 @@ exports.DecafWebhookModule = DecafWebhookModule = DecafWebhookModule_1 = __decor
137
137
  ], DecafWebhookModule);
138
138
  exports.DecafWebhooksModule = DecafWebhookModule;
139
139
  async function runWebhooksMigrations() { }
140
- //# sourceMappingURL=DecafWebhookModule.js.map
141
- //# sourceMappingURL=DecafWebhookModule.cjs.map
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVjYWZXZWJob29rTW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dlYmhvb2tzL0RlY2FmV2ViaG9va01vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsT0FBTyxFQUFpQixNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFlLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsOEJBQW1CO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSw2Q0FBd0M7QUFDdkUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLDREQUF1RDtBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLDBCQUFxQjtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQ0FBdUI7QUFDckQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUNMLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsbUJBQW1CLEdBQ3BCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUNMLDZCQUE2QixFQUM3QixvQ0FBb0MsR0FDckMseUJBQXNCO0FBR2hCLElBQU0sa0JBQWtCLEdBQXhCLE1BQU0sa0JBQWtCOzthQUNkLFlBQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFrQixDQUFDLEFBQWxDLENBQW1DO0lBR2pELE1BQU0s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QyxtQkFBbUIsQ0FBQztZQUMvQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUM7WUFDOUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQztZQUMzQyxvQ0FBb0M7WUFDcEMsNkJBQTZCO1NBQzlCLENBQUM7UUFFRixPQUFPO1lBQ0wsTUFBTSxFQUFFLG9CQUFrQjtZQUMxQixXQUFXO1lBQ1gsT0FBTyxFQUFFO2dCQUNQLFlBQVksQ0FBQyxRQUFRLENBQUM7b0JBQ3BCO3dCQUNFLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxjQUFjLElBQUksVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQy9ELE1BQU0sRUFBRSxvQkFBa0I7cUJBQzNCO2lCQUNGLENBQUM7YUFDSDtZQUNELFNBQVMsRUFBRTtnQkFDVCxtQkFBbUI7Z0JBQ25CLG9CQUFvQjtnQkFDcEI7b0JBQ0UsT0FBTyxFQUFFLGNBQWM7b0JBQ3ZCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUU7aUJBQzlEO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxlQUFlO29CQUN4QixRQUFRLEVBQUUsOEJBQThCO2lCQUN6QzthQUNGO1lBQ0QsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsb0JBQW9CLENBQUM7U0FDckQsQ0FBQztJQUNKLENBQUM7O0FBdEhVLGtCQUFrQjtJQUQ5QixNQUFNLENBQUMsRUFBRSxDQUFDO0dBQ0Usa0JBQWtCLENBdUg5Qjs7QUFFRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQztBQUV0RCxNQUFNLENBQUMsS0FBSyxVQUFVLHFCQUFxQixLQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHluYW1pY01vZHVsZSwgTW9kdWxlIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tIFwiQG5lc3Rqcy9jb3JlXCI7XG5pbXBvcnQgeyBBZGFwdGVyLCBQZXJzaXN0ZW5jZVNlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCB1c2VzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBMb2dnaW5nIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBEZWNhZlJlcXVlc3RDb250ZXh0IH0gZnJvbSBcIi4uL3JlcXVlc3RcIjtcbmltcG9ydCB7IERlY2FmSGFuZGxlckV4ZWN1dG9yIH0gZnJvbSBcIi4uL3JlcXVlc3QvRGVjYWZIYW5kbGVyRXhlY3V0b3JcIjtcbmltcG9ydCB7IERlY2FmUmVxdWVzdEhhbmRsZXJJbnRlcmNlcHRvciB9IGZyb20gXCIuLi9pbnRlcmNlcHRvcnMvRGVjYWZSZXF1ZXN0SGFuZGxlckludGVyY2VwdG9yXCI7XG5pbXBvcnQgeyBERUNBRl9IQU5ETEVSUyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEFQUF9JTlRFUkNFUFRPUiB9IGZyb20gXCJAbmVzdGpzL2NvcmVcIjtcbmltcG9ydCB7IERlY2FmV2ViaG9va01vZHVsZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgRnJvbU1vZGVsQ29udHJvbGxlciB9IGZyb20gXCIuLi9kZWNhZi1tb2RlbFwiO1xuaW1wb3J0IHsgcmVxdWVzdFRvQ29udGV4dFRyYW5zZm9ybWVyIH0gZnJvbSBcIkBkZWNhZi10cy9mb3ItaHR0cC9zZXJ2ZXJcIjtcbmltcG9ydCB7XG4gIFdlYmhvb2tEZWxpdmVyeSxcbiAgV2ViaG9va0V2ZW50UmVjb3JkLFxuICBXZWJob29rU3Vic2NyaXB0aW9uLFxufSBmcm9tIFwiQGRlY2FmLXRzL2Zvci1odHRwL2hvb2tzXCI7XG5pbXBvcnQge1xuICBXZWJob29rRXZlbnRBY3Rpb25zQ29udHJvbGxlcixcbiAgV2ViaG9va1N1YnNjcmlwdGlvbkFjdGlvbnNDb250cm9sbGVyLFxufSBmcm9tIFwiLi9jb250cm9sbGVyc1wiO1xuXG5ATW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIERlY2FmV2ViaG9va01vZHVsZSB7XG4gIHByaXZhdGUgc3RhdGljIF9sb2dnZXIgPSBMb2dnaW5nLmZvcihEZWNhZldlYmhvb2tNb2R1bGUpO1xuICBwcml2YXRlIHN0YXRpYyBfcGVyc2lzdGVuY2U/OiBQZXJzaXN0ZW5jZVNlcnZpY2U8QWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnk+PjtcblxuICBwcml2YXRlIHN0YXRpYyBnZXQgbG9nKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2dnZXI7XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgYm9vdFBlcnNpc3RlbmNlKFxuICAgIG9wdGlvbnM6IERlY2FmV2ViaG9va01vZHVsZU9wdGlvbnNcbiAgKTogUHJvbWlzZTxBZGFwdGVyPGFueSwgYW55LCBhbnksIGFueT5bXT4ge1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLmJvb3RQZXJzaXN0ZW5jZSk7XG4gICAgaWYgKCF0aGlzLl9wZXJzaXN0ZW5jZSkge1xuICAgICAgY29uc3QgdHJpbW1lZCA9IG9wdGlvbnMuY29uZi5tYXAoKFtjb250ciwgY2ZnLCAuLi5hcmdzXSkgPT4ge1xuICAgICAgICBjb25zdCBwb3NzaWJsZSA9IGFyZ3MucG9wKCk7XG4gICAgICAgIGlmICghcG9zc2libGUpIHJldHVybiBbY29udHIsIGNmZ107XG4gICAgICAgIHJldHVybiBbY29udHIsIGNmZywgLi4uYXJnc107XG4gICAgICB9KTtcbiAgICAgIHRoaXMuX3BlcnNpc3RlbmNlID0gbmV3IFBlcnNpc3RlbmNlU2VydmljZSgpO1xuICAgICAgYXdhaXQgdGhpcy5fcGVyc2lzdGVuY2UuYm9vdCh0cmltbWVkKTtcblxuICAgICAgY29uc3QgY2xpZW50cyA9IHRoaXMuX3BlcnNpc3RlbmNlLmNsaWVudDtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2xpZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBjYWNoZSA9IChBZGFwdGVyIGFzIGFueSkuX2NhY2hlIHx8ICgoQWRhcHRlciBhcyBhbnkpLl9jYWNoZSA9IHt9KTtcbiAgICAgICAgY29uc3Qgd2ViaG9va0tleXMgPSBbXG4gICAgICAgICAgY2xpZW50c1tpXS5mbGF2b3VyLFxuICAgICAgICAgIGNsaWVudHNbaV0uYWxpYXMsXG4gICAgICAgICAgXCJ3ZWJob29rX2RlbGl2ZXJpZXNcIixcbiAgICAgICAgICBcIndlYmhvb2tfZXZlbnRzXCIsXG4gICAgICAgICAgXCJ3ZWJob29rX3N1YnNjcmlwdGlvbnNcIixcbiAgICAgICAgXS5maWx0ZXIoKHZhbHVlKTogdmFsdWUgaXMgc3RyaW5nID0+ICEhdmFsdWUpO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiB3ZWJob29rS2V5cykge1xuICAgICAgICAgIGNhY2hlW2tleV0gPSBjbGllbnRzW2ldO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYyA9IG9wdGlvbnMuY29uZltpXTtcbiAgICAgICAgY29uc3QgcG9zc2libGVUcmFuc2YgPSBjLnNsaWNlKDIsIGMubGVuZ3RoKTtcbiAgICAgICAgbGV0IHRyYW5zZm9ybWVyID0gcG9zc2libGVUcmFuc2YucG9wKCk7XG4gICAgICAgIGlmICghdHJhbnNmb3JtZXIgfHwgISh0cmFuc2Zvcm1lciBhcyB7IGZyb20/OiB1bmtub3duIH0pLmZyb20pIHtcbiAgICAgICAgICBjb25zdCBjb250ciA9IEFkYXB0ZXIudHJhbnNmb3JtZXJGb3IoY2xpZW50c1tpXS5mbGF2b3VyKTtcbiAgICAgICAgICBpZiAoIWNvbnRyKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgICAgIGBObyB0cmFuc2Zvcm1lciBmb3VuZCBmb3IgZmxhdm91ciAke2NsaWVudHNbaV0uZmxhdm91cn0uYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdHJhbnNmb3JtZXIgPSAoY29udHIgYXMgYW55KS5mcm9tXG4gICAgICAgICAgICAgID8gY29udHJcbiAgICAgICAgICAgICAgOiBuZXcgKGNvbnRyIGFzIENvbnN0cnVjdG9yPGFueT4pKCk7XG4gICAgICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgICAgIGBGYWlsZWQgdG8gYm9vdCB0cmFuc2Zvcm1lciBmb3IgJHtjbGllbnRzW2ldLmZsYXZvdXJ9OiAke2V9YFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmVxdWVzdFRvQ29udGV4dFRyYW5zZm9ybWVyKGNsaWVudHNbaV0uZmxhdm91cikodHJhbnNmb3JtZXIpO1xuXG4gICAgICAgIHVzZXMoY2xpZW50c1tpXS5mbGF2b3VyKShXZWJob29rU3Vic2NyaXB0aW9uKTtcbiAgICAgICAgdXNlcyhjbGllbnRzW2ldLmZsYXZvdXIpKFdlYmhvb2tFdmVudFJlY29yZCk7XG4gICAgICAgIHVzZXMoY2xpZW50c1tpXS5mbGF2b3VyKShXZWJob29rRGVsaXZlcnkpO1xuICAgICAgfVxuICAgICAgbG9nLmluZm8oXCJwZXJzaXN0ZW5jZSBsYXllciBjcmVhdGVkIHN1Y2Nlc3NmdWxseSFcIik7XG5cbiAgICAgIGlmIChvcHRpb25zLmluaXRpYWxpemF0aW9uKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgb3B0aW9ucy5pbml0aWFsaXphdGlvbigpO1xuICAgICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYEZhaWxlZCB0byBpbml0aWFsaXplIHdlYmhvb2sgbW9kdWxlOiAke2V9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fcGVyc2lzdGVuY2UuY2xpZW50O1xuICB9XG5cbiAgc3RhdGljIGFzeW5jIGZvclJvb3QoXG4gICAgb3B0aW9uczogRGVjYWZXZWJob29rTW9kdWxlT3B0aW9uc1xuICApOiBQcm9taXNlPER5bmFtaWNNb2R1bGU+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JSb290QXN5bmMob3B0aW9ucyk7XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgZm9yUm9vdEFzeW5jKFxuICAgIG9wdGlvbnM6IERlY2FmV2ViaG9va01vZHVsZU9wdGlvbnNcbiAgKTogUHJvbWlzZTxEeW5hbWljTW9kdWxlPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIGNvbnN0IGFkYXB0ZXJzID0gYXdhaXQgdGhpcy5ib290UGVyc2lzdGVuY2Uob3B0aW9ucyk7XG4gICAgY29uc3QgY29udHJvbGxlcnMgPSBbXG4gICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZShXZWJob29rU3Vic2NyaXB0aW9uKSxcbiAgICAgIEZyb21Nb2RlbENvbnRyb2xsZXIuY3JlYXRlKFdlYmhvb2tFdmVudFJlY29yZCksXG4gICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZShXZWJob29rRGVsaXZlcnkpLFxuICAgICAgV2ViaG9va1N1YnNjcmlwdGlvbkFjdGlvbnNDb250cm9sbGVyLFxuICAgICAgV2ViaG9va0V2ZW50QWN0aW9uc0NvbnRyb2xsZXIsXG4gICAgXTtcblxuICAgIHJldHVybiB7XG4gICAgICBtb2R1bGU6IERlY2FmV2ViaG9va01vZHVsZSxcbiAgICAgIGNvbnRyb2xsZXJzLFxuICAgICAgaW1wb3J0czogW1xuICAgICAgICBSb3V0ZXJNb2R1bGUucmVnaXN0ZXIoW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhdGg6IChvcHRpb25zLndlYmhvb2tBcGlQYXRoIHx8IFwid2ViaG9va3NcIikucmVwbGFjZSgvXlxcLy8sIFwiXCIpLFxuICAgICAgICAgICAgbW9kdWxlOiBEZWNhZldlYmhvb2tNb2R1bGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSksXG4gICAgICBdLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIERlY2FmUmVxdWVzdENvbnRleHQsXG4gICAgICAgIERlY2FmSGFuZGxlckV4ZWN1dG9yLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogREVDQUZfSEFORExFUlMsXG4gICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4gb3B0aW9ucy5oYW5kbGVycz8ubWFwKChIKSA9PiBuZXcgSCgpKSA/PyBbXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTlRFUkNFUFRPUixcbiAgICAgICAgICB1c2VDbGFzczogRGVjYWZSZXF1ZXN0SGFuZGxlckludGVyY2VwdG9yLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGV4cG9ydHM6IFtEZWNhZlJlcXVlc3RDb250ZXh0LCBEZWNhZkhhbmRsZXJFeGVjdXRvcl0sXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgRGVjYWZXZWJob29rc01vZHVsZSA9IERlY2FmV2ViaG9va01vZHVsZTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bldlYmhvb2tzTWlncmF0aW9ucygpOiBQcm9taXNlPHZvaWQ+IHt9XG4iXX0=
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVjYWZXZWJob29rTW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRGVjYWZXZWJob29rTW9kdWxlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWtJQSxzREFBaUQ7QUFsSWpELElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxD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O3FCQUMvQjtpQkFDSixDQUFDO2FBQ0w7WUFDRCxTQUFTLEVBQUU7Z0JBQ1AsOEJBQW1CO2dCQUNuQiw4Q0FBb0I7Z0JBQ3BCO29CQUNJLE9BQU8sRUFBRSw2QkFBYztvQkFDdkIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRTtpQkFDaEU7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLHNCQUFlO29CQUN4QixRQUFRLEVBQUUsa0VBQThCO2lCQUMzQzthQUNKO1lBQ0QsT0FBTyxFQUFFLENBQUMsOEJBQW1CLEVBQUUsOENBQW9CLENBQUM7U0FDdkQsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFDO0FBSU8sZ0RBQWtCO0FBSDNCLDZCQUFBLGtCQUFrQixHQUFHLG9CQUFvQixHQUFHLFVBQVUsQ0FBQztJQUNuRCxJQUFBLGVBQU0sRUFBQyxFQUFFLENBQUM7Q0FDYixFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFFVixRQUFBLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDO0FBQy9DLEtBQUssVUFBVSxxQkFBcUIsS0FBSyxDQUFDO0FBQ2pELDhuWkFBOG5aIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fZGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZGVjb3JhdGUpIHx8IGZ1bmN0aW9uIChkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XG59O1xudmFyIERlY2FmV2ViaG9va01vZHVsZV8xO1xuaW1wb3J0IHsgTW9kdWxlIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tIFwiQG5lc3Rqcy9jb3JlXCI7XG5pbXBvcnQgeyBBZGFwdGVyLCBQZXJzaXN0ZW5jZVNlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IHVzZXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IExvZ2dpbmcgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IERlY2FmUmVxdWVzdENvbnRleHQgfSBmcm9tIFwiLi8uLi9yZXF1ZXN0L2luZGV4LmpzXCI7XG5pbXBvcnQgeyBEZWNhZkhhbmRsZXJFeGVjdXRvciB9IGZyb20gXCIuLy4uL3JlcXVlc3QvRGVjYWZIYW5kbGVyRXhlY3V0b3IuanNcIjtcbmltcG9ydCB7IERlY2FmUmVxdWVzdEhhbmRsZXJJbnRlcmNlcHRvciB9IGZyb20gXCIuLy4uL2ludGVyY2VwdG9ycy9EZWNhZlJlcXVlc3RIYW5kbGVySW50ZXJjZXB0b3IuanNcIjtcbmltcG9ydCB7IERFQ0FGX0hBTkRMRVJTIH0gZnJvbSBcIi4vLi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBBUFBfSU5URVJDRVBUT1IgfSBmcm9tIFwiQG5lc3Rqcy9jb3JlXCI7XG5pbXBvcnQgeyBGcm9tTW9kZWxDb250cm9sbGVyIH0gZnJvbSBcIi4vLi4vZGVjYWYtbW9kZWwvaW5kZXguanNcIjtcbmltcG9ydCB7IHJlcXVlc3RUb0NvbnRleHRUcmFuc2Zvcm1lciB9IGZyb20gXCJAZGVjYWYtdHMvZm9yLWh0dHAvc2VydmVyXCI7XG5pbXBvcnQgeyBXZWJob29rRGVsaXZlcnksIFdlYmhvb2tFdmVudFJlY29yZCwgV2ViaG9va1N1YnNjcmlwdGlvbiwgfSBmcm9tIFwiQGRlY2FmLXRzL2Zvci1odHRwL2hvb2tzXCI7XG5pbXBvcnQgeyBXZWJob29rRXZlbnRBY3Rpb25zQ29udHJvbGxlciwgV2ViaG9va1N1YnNjcmlwdGlvbkFjdGlvbnNDb250cm9sbGVyLCB9IGZyb20gXCIuL2NvbnRyb2xsZXJzLmpzXCI7XG5sZXQgRGVjYWZXZWJob29rTW9kdWxlID0gY2xhc3MgRGVjYWZXZWJob29rTW9kdWxlIHtcbiAgICBzdGF0aWMgeyBEZWNhZldlYmhvb2tNb2R1bGVfMSA9IHRoaXM7IH1cbiAgICBzdGF0aWMgeyB0aGlzLl9sb2dnZXIgPSBMb2dnaW5nLmZvcihEZWNhZldlYmhvb2tNb2R1bGVfMSk7IH1cbiAgICBzdGF0aWMgZ2V0IGxvZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvZ2dlcjtcbiAgICB9XG4gICAgc3RhdGljIGFzeW5jIGJvb3RQZXJzaXN0ZW5jZShvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLmJvb3RQZXJzaXN0ZW5jZSk7XG4gICAgICAgIGlmICghdGhpcy5fcGVyc2lzdGVuY2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHRyaW1tZWQgPSBvcHRpb25zLmNvbmYubWFwKChbY29udHIsIGNmZywgLi4uYXJnc10pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3NzaWJsZSA9IGFyZ3MucG9wKCk7XG4gICAgICAgICAgICAgICAgaWYgKCFwb3NzaWJsZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtjb250ciwgY2ZnXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gW2NvbnRyLCBjZmcsIC4uLmFyZ3NdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLl9wZXJzaXN0ZW5jZSA9IG5ldyBQZXJzaXN0ZW5jZVNlcnZpY2UoKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX3BlcnNpc3RlbmNlLmJvb3QodHJpbW1lZCk7XG4gICAgICAgICAgICBjb25zdCBjbGllbnRzID0gdGhpcy5fcGVyc2lzdGVuY2UuY2xpZW50O1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjbGllbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2FjaGUgPSBBZGFwdGVyLl9jYWNoZSB8fCAoQWRhcHRlci5fY2FjaGUgPSB7fSk7XG4gICAgICAgICAgICAgICAgY29uc3Qgd2ViaG9va0tleXMgPSBbXG4gICAgICAgICAgICAgICAgICAgIGNsaWVudHNbaV0uZmxhdm91cixcbiAgICAgICAgICAgICAgICAgICAgY2xpZW50c1tpXS5hbGlhcyxcbiAgICAgICAgICAgICAgICAgICAgXCJ3ZWJob29rX2RlbGl2ZXJpZXNcIixcbiAgICAgICAgICAgICAgICAgICAgXCJ3ZWJob29rX2V2ZW50c1wiLFxuICAgICAgICAgICAgICAgICAgICBcIndlYmhvb2tfc3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgICAgIF0uZmlsdGVyKCh2YWx1ZSkgPT4gISF2YWx1ZSk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2Ygd2ViaG9va0tleXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVba2V5XSA9IGNsaWVudHNbaV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGMgPSBvcHRpb25zLmNvbmZbaV07XG4gICAgICAgICAgICAgICAgY29uc3QgcG9zc2libGVUcmFuc2YgPSBjLnNsaWNlKDIsIGMubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBsZXQgdHJhbnNmb3JtZXIgPSBwb3NzaWJsZVRyYW5zZi5wb3AoKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRyYW5zZm9ybWVyIHx8ICF0cmFuc2Zvcm1lci5mcm9tKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyID0gQWRhcHRlci50cmFuc2Zvcm1lckZvcihjbGllbnRzW2ldLmZsYXZvdXIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbnRyKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYE5vIHRyYW5zZm9ybWVyIGZvdW5kIGZvciBmbGF2b3VyICR7Y2xpZW50c1tpXS5mbGF2b3VyfS5gKTtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybWVyID0gY29udHIuZnJvbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY29udHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG5ldyBjb250cigpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIGJvb3QgdHJhbnNmb3JtZXIgZm9yICR7Y2xpZW50c1tpXS5mbGF2b3VyfTogJHtlfWApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlcXVlc3RUb0NvbnRleHRUcmFuc2Zvcm1lcihjbGllbnRzW2ldLmZsYXZvdXIpKHRyYW5zZm9ybWVyKTtcbiAgICAgICAgICAgICAgICB1c2VzKGNsaWVudHNbaV0uZmxhdm91cikoV2ViaG9va1N1YnNjcmlwdGlvbik7XG4gICAgICAgICAgICAgICAgdXNlcyhjbGllbnRzW2ldLmZsYXZvdXIpKFdlYmhvb2tFdmVudFJlY29yZCk7XG4gICAgICAgICAgICAgICAgdXNlcyhjbGllbnRzW2ldLmZsYXZvdXIpKFdlYmhvb2tEZWxpdmVyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsb2cuaW5mbyhcInBlcnNpc3RlbmNlIGxheWVyIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5IVwiKTtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmluaXRpYWxpemF0aW9uKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgb3B0aW9ucy5pbml0aWFsaXphdGlvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIGluaXRpYWxpemUgd2ViaG9vayBtb2R1bGU6ICR7ZX1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3BlcnNpc3RlbmNlLmNsaWVudDtcbiAgICB9XG4gICAgc3RhdGljIGFzeW5jIGZvclJvb3Qob3B0aW9ucykge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JSb290QXN5bmMob3B0aW9ucyk7XG4gICAgfVxuICAgIHN0YXRpYyBhc3luYyBmb3JSb290QXN5bmMob3B0aW9ucykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICAgIGNvbnN0IGFkYXB0ZXJzID0gYXdhaXQgdGhpcy5ib290UGVyc2lzdGVuY2Uob3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xsZXJzID0gW1xuICAgICAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGUoV2ViaG9va1N1YnNjcmlwdGlvbiksXG4gICAgICAgICAgICBGcm9tTW9kZWxDb250cm9sbGVyLmNyZWF0ZShXZWJob29rRXZlbnRSZWNvcmQpLFxuICAgICAgICAgICAgRnJvbU1vZGVsQ29udHJvbGxlci5jcmVhdGUoV2ViaG9va0RlbGl2ZXJ5KSxcbiAgICAgICAgICAgIFdlYmhvb2tTdWJzY3JpcHRpb25BY3Rpb25zQ29udHJvbGxlcixcbiAgICAgICAgICAgIFdlYmhvb2tFdmVudEFjdGlvbnNDb250cm9sbGVyLFxuICAgICAgICBdO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbW9kdWxlOiBEZWNhZldlYmhvb2tNb2R1bGVfMSxcbiAgICAgICAgICAgIGNvbnRyb2xsZXJzLFxuICAgICAgICAgICAgaW1wb3J0czogW1xuICAgICAgICAgICAgICAgIFJvdXRlck1vZHVsZS5yZWdpc3RlcihbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IChvcHRpb25zLndlYmhvb2tBcGlQYXRoIHx8IFwid2ViaG9va3NcIikucmVwbGFjZSgvXlxcLy8sIFwiXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlOiBEZWNhZldlYmhvb2tNb2R1bGVfMSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICBEZWNhZlJlcXVlc3RDb250ZXh0LFxuICAgICAgICAgICAgICAgIERlY2FmSGFuZGxlckV4ZWN1dG9yLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogREVDQUZfSEFORExFUlMsXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IG9wdGlvbnMuaGFuZGxlcnM/Lm1hcCgoSCkgPT4gbmV3IEgoKSkgPz8gW10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTlRFUkNFUFRPUixcbiAgICAgICAgICAgICAgICAgICAgdXNlQ2xhc3M6IERlY2FmUmVxdWVzdEhhbmRsZXJJbnRlcmNlcHRvcixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGV4cG9ydHM6IFtEZWNhZlJlcXVlc3RDb250ZXh0LCBEZWNhZkhhbmRsZXJFeGVjdXRvcl0sXG4gICAgICAgIH07XG4gICAgfVxufTtcbkRlY2FmV2ViaG9va01vZHVsZSA9IERlY2FmV2ViaG9va01vZHVsZV8xID0gX19kZWNvcmF0ZShbXG4gICAgTW9kdWxlKHt9KVxuXSwgRGVjYWZXZWJob29rTW9kdWxlKTtcbmV4cG9ydCB7IERlY2FmV2ViaG9va01vZHVsZSB9O1xuZXhwb3J0IGNvbnN0IERlY2FmV2ViaG9va3NNb2R1bGUgPSBEZWNhZldlYmhvb2tNb2R1bGU7XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuV2ViaG9va3NNaWdyYXRpb25zKCkgeyB9XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lSR1ZqWVdaWFpXSm9iMjlyVFc5a2RXeGxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dmMzSmpMM2RsWW1odmIydHpMMFJsWTJGbVYyVmlhRzl2YTAxdlpIVnNaUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPMEZCUVVFc1QwRkJUeXhGUVVGcFFpeE5RVUZOTEVWQlFVVXNUVUZCVFN4blFrRkJaMElzUTBGQlF6dEJRVU4yUkN4UFFVRlBMRVZCUVVVc1dVRkJXU3hGUVVGRkxFMUJRVTBzWTBGQll5eERRVUZETzBGQlF6VkRMRTlCUVU4c1JVRkJSU3hQUVVGUExFVkJRVVVzYTBKQlFXdENMRVZCUVVVc1RVRkJUU3huUWtGQlowSXNRMEZCUXp0QlFVTTNSQ3hQUVVGUExFVkJRVVVzWVVGQllTeEZRVUZGTEUxQlFVMHNlVUpCUVhsQ0xFTkJRVU03UVVGRGVFUXNUMEZCVHl4RlFVRmxMRWxCUVVrc1JVRkJSU3hOUVVGTkxITkNRVUZ6UWl4RFFVRkRPMEZCUTNwRUxFOUJRVThzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4dFFrRkJiVUlzUTBGQlF6dEJRVU0xUXl4UFFVRlBMRVZCUVVVc2JVSkJRVzFDTEVWQlFVVXNPRUpCUVcxQ08wRkJRMnBFTEU5QlFVOHNSVUZCUlN4dlFrRkJiMElzUlVGQlJTdzJRMEZCZDBNN1FVRkRka1VzVDBGQlR5eEZRVUZGTERoQ1FVRTRRaXhGUVVGRkxEUkVRVUYxUkR0QlFVTm9SeXhQUVVGUExFVkJRVVVzWTBGQll5eEZRVUZGTERCQ1FVRnhRanRCUVVNNVF5eFBRVUZQTEVWQlFVVXNaVUZCWlN4RlFVRkZMRTFCUVUwc1kwRkJZeXhEUVVGRE8wRkJSUzlETEU5QlFVOHNSVUZCUlN4dFFrRkJiVUlzUlVGQlJTeHJRMEZCZFVJN1FVRkRja1FzVDBGQlR5eEZRVUZGTERKQ1FVRXlRaXhGUVVGRkxFMUJRVTBzTWtKQlFUSkNMRU5CUVVNN1FVRkRlRVVzVDBGQlR5eEZRVU5NTEdWQlFXVXNSVUZEWml4clFrRkJhMElzUlVGRGJFSXNiVUpCUVcxQ0xFZEJRM0JDTEUxQlFVMHNNRUpCUVRCQ0xFTkJRVU03UVVGRGJFTXNUMEZCVHl4RlFVTk1MRFpDUVVFMlFpeEZRVU0zUWl4dlEwRkJiME1zUjBGRGNrTXNlVUpCUVhOQ08wRkJSMmhDTEVsQlFVMHNhMEpCUVd0Q0xFZEJRWGhDTEUxQlFVMHNhMEpCUVd0Q096dGhRVU5rTEZsQlFVOHNSMEZCUnl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExHOUNRVUZyUWl4RFFVRkRMRUZCUVd4RExFTkJRVzFETzBsQlIycEVMRTFCUVUwc1MwRkJTeXhIUVVGSE8xRkJRM0JDTEU5QlFVOHNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJRenRKUVVOMFFpeERRVUZETzBsQlJVUXNUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkJReXhsUVVGbExFTkJRekZDTEU5QlFXdERPMUZCUld4RExFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eGxRVUZsTEVOQlFVTXNRMEZCUXp0UlFVTXZReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkRPMWxCUTNaQ0xFMUJRVTBzVDBGQlR5eEhRVUZITEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTEVWQlFVVXNSMEZCUnl4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExFVkJRVVVzUlVGQlJUdG5Ra0ZEZWtRc1RVRkJUU3hSUVVGUkxFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRPMmRDUVVNMVFpeEpRVUZKTEVOQlFVTXNVVUZCVVR0dlFrRkJSU3hQUVVGUExFTkJRVU1zUzBGQlN5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMmRDUVVOdVF5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETzFsQlF5OUNMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMGdzU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4SlFVRkpMR3RDUVVGclFpeEZRVUZGTEVOQlFVTTdXVUZETjBNc1RVRkJUU3hKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRaUVVWMFF5eE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFMUJRVTBzUTBGQlF6dFpRVU42UXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETzJkQ1FVTjRReXhOUVVGTkxFdEJRVXNzUjBGQlNTeFBRVUZsTEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVVc1QwRkJaU3hEUVVGRExFMUJRVTBzUjBGQlJ5eEZRVUZGTEVOQlFVTXNRMEZCUXp0blFrRkRlRVVzVFVGQlRTeFhRVUZYTEVkQlFVYzdiMEpCUTJ4Q0xFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UFFVRlBPMjlDUVVOc1FpeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTenR2UWtGRGFFSXNiMEpCUVc5Q08yOUNRVU53UWl4blFrRkJaMEk3YjBKQlEyaENMSFZDUVVGMVFqdHBRa0ZEZUVJc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eExRVUZMTEVWQlFXMUNMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdaMEpCUXpsRExFdEJRVXNzVFVGQlRTeEhRVUZITEVsQlFVa3NWMEZCVnl4RlFVRkZMRU5CUVVNN2IwSkJRemxDTEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdaMEpCUXpGQ0xFTkJRVU03WjBKQlJVUXNUVUZCVFN4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0blFrRkRNVUlzVFVGQlRTeGpRVUZqTEVkQlFVY3NRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMmRDUVVNMVF5eEpRVUZKTEZkQlFWY3NSMEZCUnl4alFVRmpMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU03WjBKQlEzWkRMRWxCUVVrc1EwRkJReXhYUVVGWExFbEJRVWtzUTBGQlJTeFhRVUZyUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8yOUNRVU01UkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhQUVVGUExFTkJRVU1zWTBGQll5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dHZRa0ZEZWtRc1NVRkJTU3hEUVVGRExFdEJRVXM3ZDBKQlExSXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkRja0lzYjBOQlFXOURMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFBRVUZQTEVkQlFVY3NRMEZETVVRc1EwRkJRenR2UWtGRFNpeEpRVUZKTEVOQlFVTTdkMEpCUTBnc1YwRkJWeXhIUVVGSkxFdEJRV0VzUTBGQlF5eEpRVUZKT3pSQ1FVTXZRaXhEUVVGRExFTkJRVU1zUzBGQlN6czBRa0ZEVUN4RFFVRkRMRU5CUVVNc1NVRkJTeXhMUVVFd1FpeEZRVUZGTEVOQlFVTTdiMEpCUTNoRExFTkJRVU03YjBKQlFVTXNUMEZCVHl4RFFVRlZMRVZCUVVVc1EwRkJRenQzUWtGRGNFSXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkRja0lzYTBOQlFXdERMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFBRVUZQTEV0QlFVc3NRMEZCUXl4RlFVRkZMRU5CUXpkRUxFTkJRVU03YjBKQlEwb3NRMEZCUXp0blFrRkRTQ3hEUVVGRE8yZENRVU5FTERKQ1FVRXlRaXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dG5Ra0ZGTjBRc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXh0UWtGQmJVSXNRMEZCUXl4RFFVRkRPMmRDUVVNNVF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEd0Q1FVRnJRaXhEUVVGRExFTkJRVU03WjBKQlF6ZERMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1pVRkJaU3hEUVVGRExFTkJRVU03V1VGRE5VTXNRMEZCUXp0WlFVTkVMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zZVVOQlFYbERMRU5CUVVNc1EwRkJRenRaUVVWd1JDeEpRVUZKTEU5QlFVOHNRMEZCUXl4alFVRmpMRVZCUVVVc1EwRkJRenRuUWtGRE0wSXNTVUZCU1N4RFFVRkRPMjlDUVVOSUxFMUJRVTBzVDBGQlR5eERRVUZETEdOQlFXTXNSVUZCUlN4RFFVRkRPMmRDUVVOcVF5eERRVUZETzJkQ1FVRkRMRTlCUVU4c1EwRkJWU3hGUVVGRkxFTkJRVU03YjBKQlEzQkNMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRVU1zZDBOQlFYZERMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU03WjBKQlEzWkZMRU5CUVVNN1dVRkRTQ3hEUVVGRE8xRkJRMGdzUTBGQlF6dFJRVVZFTEU5QlFVOHNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhOUVVGTkxFTkJRVU03U1VGRGJFTXNRMEZCUXp0SlFVVkVMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVU5zUWl4UFFVRnJRenRSUVVWc1F5eFBRVUZQTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03U1VGRGNFTXNRMEZCUXp0SlFVVkVMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zV1VGQldTeERRVU4yUWl4UFFVRnJRenRSUVVWc1F5dzJSRUZCTmtRN1VVRkROMFFzVFVGQlRTeFJRVUZSTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1pVRkJaU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFGQlEzSkVMRTFCUVUwc1YwRkJWeXhIUVVGSE8xbEJRMnhDTEcxQ1FVRnRRaXhEUVVGRExFMUJRVTBzUTBGQlF5eHRRa0ZCYlVJc1EwRkJRenRaUVVNdlF5eHRRa0ZCYlVJc1EwRkJReXhOUVVGTkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNN1dVRkRPVU1zYlVKQlFXMUNMRU5CUVVNc1RVRkJUU3hEUVVGRExHVkJRV1VzUTBGQlF6dFpRVU16UXl4dlEwRkJiME03V1VGRGNFTXNOa0pCUVRaQ08xTkJRemxDTEVOQlFVTTdVVUZGUml4UFFVRlBPMWxCUTB3c1RVRkJUU3hGUVVGRkxHOUNRVUZyUWp0WlFVTXhRaXhYUVVGWE8xbEJRMWdzVDBGQlR5eEZRVUZGTzJkQ1FVTlFMRmxCUVZrc1EwRkJReXhSUVVGUkxFTkJRVU03YjBKQlEzQkNPM2RDUVVORkxFbEJRVWtzUlVGQlJTeERRVUZETEU5QlFVOHNRMEZCUXl4alFVRmpMRWxCUVVrc1ZVRkJWU3hEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZETEV0QlFVc3NSVUZCUlN4RlFVRkZMRU5CUVVNN2QwSkJReTlFTEUxQlFVMHNSVUZCUlN4dlFrRkJhMEk3Y1VKQlF6TkNPMmxDUVVOR0xFTkJRVU03WVVGRFNEdFpRVU5FTEZOQlFWTXNSVUZCUlR0blFrRkRWQ3h0UWtGQmJVSTdaMEpCUTI1Q0xHOUNRVUZ2UWp0blFrRkRjRUk3YjBKQlEwVXNUMEZCVHl4RlFVRkZMR05CUVdNN2IwSkJRM1pDTEZWQlFWVXNSVUZCUlN4SFFVRkhMRVZCUVVVc1EwRkJReXhQUVVGUExFTkJRVU1zVVVGQlVTeEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXl4SlFVRkpMRVZCUVVVN2FVSkJRemxFTzJkQ1FVTkVPMjlDUVVORkxFOUJRVThzUlVGQlJTeGxRVUZsTzI5Q1FVTjRRaXhSUVVGUkxFVkJRVVVzT0VKQlFUaENPMmxDUVVONlF6dGhRVU5HTzFsQlEwUXNUMEZCVHl4RlFVRkZMRU5CUVVNc2JVSkJRVzFDTEVWQlFVVXNiMEpCUVc5Q0xFTkJRVU03VTBGRGNrUXNRMEZCUXp0SlFVTktMRU5CUVVNN08wRkJkRWhWTEd0Q1FVRnJRanRKUVVRNVFpeE5RVUZOTEVOQlFVTXNSVUZCUlN4RFFVRkRPMGRCUTBVc2EwSkJRV3RDTEVOQmRVZzVRanM3UVVGRlJDeE5RVUZOTEVOQlFVTXNUVUZCVFN4dFFrRkJiVUlzUjBGQlJ5eHJRa0ZCYTBJc1EwRkJRenRCUVVWMFJDeE5RVUZOTEVOQlFVTXNTMEZCU3l4VlFVRlZMSEZDUVVGeFFpeExRVUZ0UWl4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnUkhsdVlXMXBZMDF2WkhWc1pTd2dUVzlrZFd4bElIMGdabkp2YlNCY0lrQnVaWE4wYW5NdlkyOXRiVzl1WENJN1hHNXBiWEJ2Y25RZ2V5QlNiM1YwWlhKTmIyUjFiR1VnZlNCbWNtOXRJRndpUUc1bGMzUnFjeTlqYjNKbFhDSTdYRzVwYlhCdmNuUWdleUJCWkdGd2RHVnlMQ0JRWlhKemFYTjBaVzVqWlZObGNuWnBZMlVnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJOdmNtVmNJanRjYm1sdGNHOXlkQ0I3SUVsdWRHVnlibUZzUlhKeWIzSWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJpTFdSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdJRU52Ym5OMGNuVmpkRzl5TENCMWMyVnpJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWldOdmNtRjBhVzl1WENJN1hHNXBiWEJ2Y25RZ2V5Qk1iMmRuYVc1bklIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OXNiMmRuYVc1blhDSTdYRzVwYlhCdmNuUWdleUJFWldOaFpsSmxjWFZsYzNSRGIyNTBaWGgwSUgwZ1puSnZiU0JjSWk0dUwzSmxjWFZsYzNSY0lqdGNibWx0Y0c5eWRDQjdJRVJsWTJGbVNHRnVaR3hsY2tWNFpXTjFkRzl5SUgwZ1puSnZiU0JjSWk0dUwzSmxjWFZsYzNRdlJHVmpZV1pJWVc1a2JHVnlSWGhsWTNWMGIzSmNJanRjYm1sdGNHOXlkQ0I3SUVSbFkyRm1VbVZ4ZFdWemRFaGhibVJzWlhKSmJuUmxjbU5sY0hSdmNpQjlJR1p5YjIwZ1hDSXVMaTlwYm5SbGNtTmxjSFJ2Y25NdlJHVmpZV1pTWlhGMVpYTjBTR0Z1Wkd4bGNrbHVkR1Z5WTJWd2RHOXlYQ0k3WEc1cGJYQnZjblFnZXlCRVJVTkJSbDlJUVU1RVRFVlNVeUI5SUdaeWIyMGdYQ0l1TGk5amIyNXpkR0Z1ZEhOY0lqdGNibWx0Y0c5eWRDQjdJRUZRVUY5SlRsUkZVa05GVUZSUFVpQjlJR1p5YjIwZ1hDSkFibVZ6ZEdwekwyTnZjbVZjSWp0Y2JtbHRjRzl5ZENCN0lFUmxZMkZtVjJWaWFHOXZhMDF2WkhWc1pVOXdkR2x2Ym5NZ2ZTQm1jbTl0SUZ3aUxpOTBlWEJsYzF3aU8xeHVhVzF3YjNKMElIc2dSbkp2YlUxdlpHVnNRMjl1ZEhKdmJHeGxjaUI5SUdaeWIyMGdYQ0l1TGk5a1pXTmhaaTF0YjJSbGJGd2lPMXh1YVcxd2IzSjBJSHNnY21WeGRXVnpkRlJ2UTI5dWRHVjRkRlJ5WVc1elptOXliV1Z5SUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5bWIzSXRhSFIwY0M5elpYSjJaWEpjSWp0Y2JtbHRjRzl5ZENCN1hHNGdJRmRsWW1odmIydEVaV3hwZG1WeWVTeGNiaUFnVjJWaWFHOXZhMFYyWlc1MFVtVmpiM0prTEZ4dUlDQlhaV0pvYjI5clUzVmljMk55YVhCMGFXOXVMRnh1ZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJadmNpMW9kSFJ3TDJodmIydHpYQ0k3WEc1cGJYQnZjblFnZTF4dUlDQlhaV0pvYjI5clJYWmxiblJCWTNScGIyNXpRMjl1ZEhKdmJHeGxjaXhjYmlBZ1YyVmlhRzl2YTFOMVluTmpjbWx3ZEdsdmJrRmpkR2x2Ym5ORGIyNTBjbTlzYkdWeUxGeHVmU0JtY205dElGd2lMaTlqYjI1MGNtOXNiR1Z5YzF3aU8xeHVYRzVBVFc5a2RXeGxLSHQ5S1Z4dVpYaHdiM0owSUdOc1lYTnpJRVJsWTJGbVYyVmlhRzl2YTAxdlpIVnNaU0I3WEc0Z0lIQnlhWFpoZEdVZ2MzUmhkR2xqSUY5c2IyZG5aWElnUFNCTWIyZG5hVzVuTG1admNpaEVaV05oWmxkbFltaHZiMnROYjJSMWJHVXBPMXh1SUNCd2NtbDJZWFJsSUhOMFlYUnBZeUJmY0dWeWMybHpkR1Z1WTJVL09pQlFaWEp6YVhOMFpXNWpaVk5sY25acFkyVThRV1JoY0hSbGNqeGhibmtzSUdGdWVTd2dZVzU1TENCaGJuaytQanRjYmx4dUlDQndjbWwyWVhSbElITjBZWFJwWXlCblpYUWdiRzluS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXNiMmRuWlhJN1hHNGdJSDFjYmx4dUlDQnpkR0YwYVdNZ1lYTjVibU1nWW05dmRGQmxjbk5wYzNSbGJtTmxLRnh1SUNBZ0lHOXdkR2x2Ym5NNklFUmxZMkZtVjJWaWFHOXZhMDF2WkhWc1pVOXdkR2x2Ym5OY2JpQWdLVG9nVUhKdmJXbHpaVHhCWkdGd2RHVnlQR0Z1ZVN3Z1lXNTVMQ0JoYm5rc0lHRnVlVDViWFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJR3h2WnlBOUlIUm9hWE11Ykc5bkxtWnZjaWgwYUdsekxtSnZiM1JRWlhKemFYTjBaVzVqWlNrN1hHNGdJQ0FnYVdZZ0tDRjBhR2x6TGw5d1pYSnphWE4wWlc1alpTa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2RISnBiVzFsWkNBOUlHOXdkR2x2Ym5NdVkyOXVaaTV0WVhBb0tGdGpiMjUwY2l3Z1kyWm5MQ0F1TGk1aGNtZHpYU2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCd2IzTnphV0pzWlNBOUlHRnlaM011Y0c5d0tDazdYRzRnSUNBZ0lDQWdJR2xtSUNnaGNHOXpjMmxpYkdVcElISmxkSFZ5YmlCYlkyOXVkSElzSUdObVoxMDdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmJZMjl1ZEhJc0lHTm1aeXdnTGk0dVlYSm5jMTA3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUhSb2FYTXVYM0JsY25OcGMzUmxibU5sSUQwZ2JtVjNJRkJsY25OcGMzUmxibU5sVTJWeWRtbGpaU2dwTzF4dUlDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1ZmNHVnljMmx6ZEdWdVkyVXVZbTl2ZENoMGNtbHRiV1ZrS1R0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnWTJ4cFpXNTBjeUE5SUhSb2FYTXVYM0JsY25OcGMzUmxibU5sTG1Oc2FXVnVkRHRjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnWTJ4cFpXNTBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCallXTm9aU0E5SUNoQlpHRndkR1Z5SUdGeklHRnVlU2t1WDJOaFkyaGxJSHg4SUNnb1FXUmhjSFJsY2lCaGN5QmhibmtwTGw5allXTm9aU0E5SUh0OUtUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2QyVmlhRzl2YTB0bGVYTWdQU0JiWEc0Z0lDQWdJQ0FnSUNBZ1kyeHBaVzUwYzF0cFhTNW1iR0YyYjNWeUxGeHVJQ0FnSUNBZ0lDQWdJR05zYVdWdWRITmJhVjB1WVd4cFlYTXNYRzRnSUNBZ0lDQWdJQ0FnWENKM1pXSm9iMjlyWDJSbGJHbDJaWEpwWlhOY0lpeGNiaUFnSUNBZ0lDQWdJQ0JjSW5kbFltaHZiMnRmWlhabGJuUnpYQ0lzWEc0Z0lDQWdJQ0FnSUNBZ1hDSjNaV0pvYjI5clgzTjFZbk5qY21sd2RHbHZibk5jSWl4Y2JpQWdJQ0FnSUNBZ1hTNW1hV3gwWlhJb0tIWmhiSFZsS1RvZ2RtRnNkV1VnYVhNZ2MzUnlhVzVuSUQwK0lDRWhkbUZzZFdVcE8xeHVJQ0FnSUNBZ0lDQm1iM0lnS0dOdmJuTjBJR3RsZVNCdlppQjNaV0pvYjI5clMyVjVjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lHTmhZMmhsVzJ0bGVWMGdQU0JqYkdsbGJuUnpXMmxkTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1l5QTlJRzl3ZEdsdmJuTXVZMjl1Wmx0cFhUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2NHOXpjMmxpYkdWVWNtRnVjMllnUFNCakxuTnNhV05sS0RJc0lHTXViR1Z1WjNSb0tUdGNiaUFnSUNBZ0lDQWdiR1YwSUhSeVlXNXpabTl5YldWeUlEMGdjRzl6YzJsaWJHVlVjbUZ1YzJZdWNHOXdLQ2s3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hkSEpoYm5ObWIzSnRaWElnZkh3Z0lTaDBjbUZ1YzJadmNtMWxjaUJoY3lCN0lHWnliMjAvT2lCMWJtdHViM2R1SUgwcExtWnliMjBwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCamIyNTBjaUE5SUVGa1lYQjBaWEl1ZEhKaGJuTm1iM0p0WlhKR2IzSW9ZMnhwWlc1MGMxdHBYUzVtYkdGMmIzVnlLVHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9JV052Ym5SeUtWeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHQk9ieUIwY21GdWMyWnZjbTFsY2lCbWIzVnVaQ0JtYjNJZ1pteGhkbTkxY2lBa2UyTnNhV1Z1ZEhOYmFWMHVabXhoZG05MWNuMHVZRnh1SUNBZ0lDQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZEhKaGJuTm1iM0p0WlhJZ1BTQW9ZMjl1ZEhJZ1lYTWdZVzU1S1M1bWNtOXRYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdZMjl1ZEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnT2lCdVpYY2dLR052Ym5SeUlHRnpJRU52Ym5OMGNuVmpkRzl5UEdGdWVUNHBLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZTQmpZWFJqYUNBb1pUb2dkVzVyYm05M2Jpa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFbHVkR1Z5Ym1Gc1JYSnliM0lvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR0JHWVdsc1pXUWdkRzhnWW05dmRDQjBjbUZ1YzJadmNtMWxjaUJtYjNJZ0pIdGpiR2xsYm5SelcybGRMbVpzWVhadmRYSjlPaUFrZTJWOVlGeHVJQ0FnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnY21WeGRXVnpkRlJ2UTI5dWRHVjRkRlJ5WVc1elptOXliV1Z5S0dOc2FXVnVkSE5iYVYwdVpteGhkbTkxY2lrb2RISmhibk5tYjNKdFpYSXBPMXh1WEc0Z0lDQWdJQ0FnSUhWelpYTW9ZMnhwWlc1MGMxdHBYUzVtYkdGMmIzVnlLU2hYWldKb2IyOXJVM1ZpYzJOeWFYQjBhVzl1S1R0Y2JpQWdJQ0FnSUNBZ2RYTmxjeWhqYkdsbGJuUnpXMmxkTG1ac1lYWnZkWElwS0ZkbFltaHZiMnRGZG1WdWRGSmxZMjl5WkNrN1hHNGdJQ0FnSUNBZ0lIVnpaWE1vWTJ4cFpXNTBjMXRwWFM1bWJHRjJiM1Z5S1NoWFpXSm9iMjlyUkdWc2FYWmxjbmtwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYkc5bkxtbHVabThvWENKd1pYSnphWE4wWlc1alpTQnNZWGxsY2lCamNtVmhkR1ZrSUhOMVkyTmxjM05tZFd4c2VTRmNJaWs3WEc1Y2JpQWdJQ0FnSUdsbUlDaHZjSFJwYjI1ekxtbHVhWFJwWVd4cGVtRjBhVzl1S1NCN1hHNGdJQ0FnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUNBZ1lYZGhhWFFnYjNCMGFXOXVjeTVwYm1sMGFXRnNhWHBoZEdsdmJpZ3BPMXh1SUNBZ0lDQWdJQ0I5SUdOaGRHTm9JQ2hsT2lCMWJtdHViM2R1S1NCN1hHNGdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb1lFWmhhV3hsWkNCMGJ5QnBibWwwYVdGc2FYcGxJSGRsWW1odmIyc2diVzlrZFd4bE9pQWtlMlY5WUNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZjR1Z5YzJsemRHVnVZMlV1WTJ4cFpXNTBPMXh1SUNCOVhHNWNiaUFnYzNSaGRHbGpJR0Z6ZVc1aklHWnZjbEp2YjNRb1hHNGdJQ0FnYjNCMGFXOXVjem9nUkdWallXWlhaV0pvYjI5clRXOWtkV3hsVDNCMGFXOXVjMXh1SUNBcE9pQlFjbTl0YVhObFBFUjVibUZ0YVdOTmIyUjFiR1UrSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bWIzSlNiMjkwUVhONWJtTW9iM0IwYVc5dWN5azdYRzRnSUgxY2JseHVJQ0J6ZEdGMGFXTWdZWE41Ym1NZ1ptOXlVbTl2ZEVGemVXNWpLRnh1SUNBZ0lHOXdkR2x2Ym5NNklFUmxZMkZtVjJWaWFHOXZhMDF2WkhWc1pVOXdkR2x2Ym5OY2JpQWdLVG9nVUhKdmJXbHpaVHhFZVc1aGJXbGpUVzlrZFd4bFBpQjdYRzRnSUNBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElFQjBlWEJsYzJOeWFYQjBMV1Z6YkdsdWRDOXVieTExYm5WelpXUXRkbUZ5YzF4dUlDQWdJR052Ym5OMElHRmtZWEIwWlhKeklEMGdZWGRoYVhRZ2RHaHBjeTVpYjI5MFVHVnljMmx6ZEdWdVkyVW9iM0IwYVc5dWN5azdYRzRnSUNBZ1kyOXVjM1FnWTI5dWRISnZiR3hsY25NZ1BTQmJYRzRnSUNBZ0lDQkdjbTl0VFc5a1pXeERiMjUwY205c2JHVnlMbU55WldGMFpTaFhaV0pvYjI5clUzVmljMk55YVhCMGFXOXVLU3hjYmlBZ0lDQWdJRVp5YjIxTmIyUmxiRU52Ym5SeWIyeHNaWEl1WTNKbFlYUmxLRmRsWW1odmIydEZkbVZ1ZEZKbFkyOXlaQ2tzWEc0Z0lDQWdJQ0JHY205dFRXOWtaV3hEYjI1MGNtOXNiR1Z5TG1OeVpXRjBaU2hYWldKb2IyOXJSR1ZzYVhabGNua3BMRnh1SUNBZ0lDQWdWMlZpYUc5dmExTjFZbk5qY21sd2RHbHZia0ZqZEdsdmJuTkRiMjUwY205c2JHVnlMRnh1SUNBZ0lDQWdWMlZpYUc5dmEwVjJaVzUwUVdOMGFXOXVjME52Ym5SeWIyeHNaWElzWEc0Z0lDQWdYVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQnRiMlIxYkdVNklFUmxZMkZtVjJWaWFHOXZhMDF2WkhWc1pTeGNiaUFnSUNBZ0lHTnZiblJ5YjJ4c1pYSnpMRnh1SUNBZ0lDQWdhVzF3YjNKMGN6b2dXMXh1SUNBZ0lDQWdJQ0JTYjNWMFpYSk5iMlIxYkdVdWNtVm5hWE4wWlhJb1cxeHVJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIQmhkR2c2SUNodmNIUnBiMjV6TG5kbFltaHZiMnRCY0dsUVlYUm9JSHg4SUZ3aWQyVmlhRzl2YTNOY0lpa3VjbVZ3YkdGalpTZ3ZYbHhjTHk4c0lGd2lYQ0lwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdiVzlrZFd4bE9pQkVaV05oWmxkbFltaHZiMnROYjJSMWJHVXNYRzRnSUNBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ1hTa3NYRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdjSEp2ZG1sa1pYSnpPaUJiWEc0Z0lDQWdJQ0FnSUVSbFkyRm1VbVZ4ZFdWemRFTnZiblJsZUhRc1hHNGdJQ0FnSUNBZ0lFUmxZMkZtU0dGdVpHeGxja1Y0WldOMWRHOXlMRnh1SUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ2NISnZkbWxrWlRvZ1JFVkRRVVpmU0VGT1JFeEZVbE1zWEc0Z0lDQWdJQ0FnSUNBZ2RYTmxSbUZqZEc5eWVUb2dLQ2tnUFQ0Z2IzQjBhVzl1Y3k1b1lXNWtiR1Z5Y3o4dWJXRndLQ2hJS1NBOVBpQnVaWGNnU0NncEtTQS9QeUJiWFN4Y2JpQWdJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUhCeWIzWnBaR1U2SUVGUVVGOUpUbFJGVWtORlVGUlBVaXhjYmlBZ0lDQWdJQ0FnSUNCMWMyVkRiR0Z6Y3pvZ1JHVmpZV1pTWlhGMVpYTjBTR0Z1Wkd4bGNrbHVkR1Z5WTJWd2RHOXlMRnh1SUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUdWNGNHOXlkSE02SUZ0RVpXTmhabEpsY1hWbGMzUkRiMjUwWlhoMExDQkVaV05oWmtoaGJtUnNaWEpGZUdWamRYUnZjbDBzWEc0Z0lDQWdmVHRjYmlBZ2ZWeHVmVnh1WEc1bGVIQnZjblFnWTI5dWMzUWdSR1ZqWVdaWFpXSm9iMjlyYzAxdlpIVnNaU0E5SUVSbFkyRm1WMlZpYUc5dmEwMXZaSFZzWlR0Y2JseHVaWGh3YjNKMElHRnplVzVqSUdaMWJtTjBhVzl1SUhKMWJsZGxZbWh2YjJ0elRXbG5jbUYwYVc5dWN5Z3BPaUJRY205dGFYTmxQSFp2YVdRK0lIdDlYRzRpWFgwPSJdfQ==
@@ -142,5 +142,5 @@ exports.WebhookEventActionsController = WebhookEventActionsController = WebhookE
142
142
  (0, common_1.Controller)("webhook-events"),
143
143
  __metadata("design:paramtypes", [index_js_1.DecafRequestContext])
144
144
  ], WebhookEventActionsController);
145
- //# sourceMappingURL=controllers.js.map
146
- //# sourceMappingURL=controllers.cjs.map
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2ViaG9va3MvY29udHJvbGxlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQWEsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSw0QkFBdUI7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDhCQUFtQjtBQUVqRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUNwQixNQUFNLDBCQUEwQixDQUFDO0FBRzNCLElBQU0sb0NBQW9DLDRDQUExQyxNQUFNLG9DQUFxQyxTQUFRLGVBQStCO0lBQ3ZGLFlBQVksYUFBa0M7UUFDNUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxzQ0FBb0MsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBR0ssQUFBTixLQUFLLENBQUMsVUFBVSxDQUFjLEVBQVU7UUFDdEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQzdELElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUc5QixtQkFBbUIsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdkIsT0FBTyxJQUFJLENB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R0FBRyxHQUFHLENBQUM7UUFFdEIsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDO2dCQUNILE1BQU0sWUFBWSxDQUFDLFNBQVMsQ0FDMUIsVUFBVSxFQUNWLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQVMsQ0FBQyxDQUN0RCxDQUFDO1lBQ0osQ0FBQztZQUFDLE1BQU0sQ0FBQztnQkFDUCw0RkFBNEY7WUFDOUYsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDRixDQUFBO0FBM0VPO0lBREwsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUNMLFdBQUEsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBOzs7OzJEQTBFeEI7QUFoRlUsNkJBQTZCO0lBRHpDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztxQ0FFQSxtQkFBbUI7R0FEbkMsNkJBQTZCLENBaUZ6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRyb2xsZXIsIFBhcmFtLCBQb3N0IH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBSZXBvc2l0b3J5LCB0eXBlIFJlcG8sIE9yZGVyRGlyZWN0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBEZWNhZkNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vY29udHJvbGxlcnNcIjtcbmltcG9ydCB7IERlY2FmUmVxdWVzdENvbnRleHQgfSBmcm9tIFwiLi4vcmVxdWVzdFwiO1xuaW1wb3J0IHsgRGVjYWZTZXJ2ZXJDdHggfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQge1xuICBXZWJob29rRGVsaXZlcnksXG4gIFdlYmhvb2tFdmVudFJlY29yZCxcbiAgV2ViaG9va1N0YXR1cyxcbiAgV2ViaG9va1N1YnNjcmlwdGlvbixcbiAgY29sbGVjdFBhZ2VkUmVzdWx0cyxcbn0gZnJvbSBcIkBkZWNhZi10cy9mb3ItaHR0cC9ob29rc1wiO1xuXG5AQ29udHJvbGxlcihcIndlYmhvb2stc3Vic2NyaXB0aW9uc1wiKVxuZXhwb3J0IGNsYXNzIFdlYmhvb2tTdWJzY3JpcHRpb25BY3Rpb25zQ29udHJvbGxlciBleHRlbmRzIERlY2FmQ29udHJvbGxlcjxEZWNhZlNlcnZlckN0eD4ge1xuICBjb25zdHJ1Y3RvcihjbGllbnRDb250ZXh0OiBEZWNhZlJlcXVlc3RDb250ZXh0KSB7XG4gICAgc3VwZXIoY2xpZW50Q29udGV4dCwgV2ViaG9va1N1YnNjcmlwdGlvbkFjdGlvbnNDb250cm9sbGVyLm5hbWUpO1xuICB9XG5cbiAgQFBvc3QoXCI6aWQvZGVhY3RpdmF0ZVwiKVxuICBhc3luYyBkZWFjdGl2YXRlKEBQYXJhbShcImlkXCIpIGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBcImRlYWN0aXZhdGVcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMuZGVhY3RpdmF0ZVxuICAgICk7XG4gICAgY29uc3QgcmVwbyA9IFJlcG9zaXRvcnkuZm9yTW9kZWw8XG4gICAgICBXZWJob29rU3Vic2NyaXB0aW9uLFxuICAgICAgUmVwbzxXZWJob29rU3Vic2NyaXB0aW9uPlxuICAgID4oV2ViaG9va1N1YnNjcmlwdGlvbik7XG4gICAgY29uc3QgY3VycmVudCA9IGF3YWl0IHJlcG8ucmVhZChpZCwgY3R4KTtcbiAgICBjdXJyZW50LmFjdGl2ZSA9IGZhbHNlO1xuICAgIHJldHVybiByZXBvLnVwZGF0ZShjdXJyZW50LCBjdHgpO1xuICB9XG5cbiAgQFBvc3QoXCI6aWQvcmVhY3RpdmF0ZVwiKVxuICBhc3luYyByZWFjdGl2YXRlKEBQYXJhbShcImlkXCIpIGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBcInJlYWN0aXZhdGVcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMucmVhY3RpdmF0ZVxuICAgICk7XG4gICAgY29uc3QgcmVwbyA9IFJlcG9zaXRvcnkuZm9yTW9kZWw8XG4gICAgICBXZWJob29rU3Vic2NyaXB0aW9uLFxuICAgICAgUmVwbzxXZWJob29rU3Vic2NyaXB0aW9uPlxuICAgID4oV2ViaG9va1N1YnNjcmlwdGlvbik7XG4gICAgY29uc3QgY3VycmVudCA9IGF3YWl0IHJlcG8ucmVhZChpZCwgY3R4KTtcbiAgICBjdXJyZW50LmFjdGl2ZSA9IHRydWU7XG4gICAgcmV0dXJuIHJlcG8udXBkYXRlKGN1cnJlbnQsIGN0eCk7XG4gIH1cbn1cblxuQENvbnRyb2xsZXIoXCJ3ZWJob29rLWV2ZW50c1wiKVxuZXhwb3J0IGNsYXNzIFdlYmhvb2tFdmVudEFjdGlvbnNDb250cm9sbGVyIGV4dGVuZHMgRGVjYWZDb250cm9sbGVyPERlY2FmU2VydmVyQ3R4PiB7XG4gIGNvbnN0cnVjdG9yKGNsaWVudENvbnRleHQ6IERlY2FmUmVxdWVzdENvbnRleHQpIHtcbiAgICBzdXBlcihjbGllbnRDb250ZXh0LCBXZWJob29rRXZlbnRBY3Rpb25zQ29udHJvbGxlci5uYW1lKTtcbiAgfVxuXG4gIEBQb3N0KFwiOmlkL3JlcGxheVwiKVxuICBhc3luYyByZXBsYXkoQFBhcmFtKFwiaWRcIikgaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHsgY3R4IH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoW10sIFwicmVwbGF5XCIsIHRydWUpKS5mb3IodGhpcy5yZXBsYXkpO1xuICAgIGNvbnN0IGV2ZW50UmVwbyA9IFJlcG9zaXRvcnkuZm9yTW9kZWw8XG4gICAgICBXZWJob29rRXZlbnRSZWNvcmQsXG4gICAgICBSZXBvPFdlYmhvb2tFdmVudFJlY29yZD5cbiAgICA+KFdlYmhvb2tFdmVudFJlY29yZCk7XG4gICAgY29uc3QgZGVsaXZlcnlSZXBvID0gUmVwb3NpdG9yeS5mb3JNb2RlbDxcbiAgICAgIFdlYmhvb2tEZWxpdmVyeSxcbiAgICAgIFJlcG88V2ViaG9va0RlbGl2ZXJ5PlxuICAgID4oV2ViaG9va0RlbGl2ZXJ5KTtcbiAgICBsZXQgZXZlbnQ7XG4gICAgdHJ5IHtcbiAgICAgIGV2ZW50ID0gYXdhaXQgZXZlbnRSZXBvLnJlYWQoaWQsIGN0eCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGV2ZW50cyA9IGF3YWl0IGV2ZW50UmVwb1xuICAgICAgICAuc2VsZWN0KClcbiAgICAgICAgLndoZXJlKGV2ZW50UmVwby5hdHRyKFwiaWRcIikuZXEoaWQpKVxuICAgICAgICAubGltaXQoMSlcbiAgICAgICAgLmV4ZWN1dGUoY3R4KTtcbiAgICAgIGlmICghZXZlbnRzLmxlbmd0aCkgdGhyb3cgZXJyb3I7XG4gICAgICBldmVudCA9IGV2ZW50c1swXTtcbiAgICB9XG4gICAgbGV0IGRlbGl2ZXJpZXM6IGFueVtdID0gW107XG4gICAgdHJ5IHtcbiAgICAgIGRlbGl2ZXJpZXMgPSBhd2FpdCBjb2xsZWN0UGFnZWRSZXN1bHRzKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIGRlbGl2ZXJ5UmVwb1xuICAgICAgICAgICAgLnNlbGVjdCgpXG4gICAgICAgICAgICAud2hlcmUoZGVsaXZlcnlSZXBvLmF0dHIoXCJldmVudElkXCIpLmVxKGV2ZW50LmlkKSlcbiAgICAgICAgICAgIC5vcmRlckJ5KFwiY3JlYXRlZEF0XCIsIE9yZGVyRGlyZWN0aW9uLkFTQylcbiAgICAgICAgICAgIC50aGVuQnkoXCJpZFwiLCBPcmRlckRpcmVjdGlvbi5BU0MpXG4gICAgICAgICAgICAucGFnaW5hdGUoMjUwLCBjdHgpLFxuICAgICAgICAyNTAsXG4gICAgICAgIGN0eFxuICAgICAgKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGRlbGl2ZXJpZXMgPSBhd2FpdCBkZWxpdmVyeVJlcG9cbiAgICAgICAgICAuc2VsZWN0KClcbiAgICAgICAgICAud2hlcmUoZGVsaXZlcnlSZXBvLmF0dHIoXCJldmVudElkXCIpLmVxKGV2ZW50LmlkKSlcbiAgICAgICAgICAuZXhlY3V0ZShjdHgpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIGRlbGl2ZXJpZXMgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcblxuICAgIGZvciAoY29uc3QgZGVsaXZlcnkgb2YgZGVsaXZlcmllcykge1xuICAgICAgZGVsaXZlcnkuc3RhdHVzID0gV2ViaG9va1N0YXR1cy5QRU5ESU5HO1xuICAgICAgZGVsaXZlcnkuYXR0ZW1wdHMgPSAwO1xuICAgICAgZGVsaXZlcnkubmV4dEF0dGVtcHRBdCA9IG5vdztcbiAgICAgIGRlbGl2ZXJ5Lmxhc3RBdHRlbXB0QXQgPSBudWxsIGFzIGFueTtcbiAgICAgIGRlbGl2ZXJ5LmVycm9yTWVzc2FnZSA9IHVuZGVmaW5lZDtcbiAgICAgIGRlbGl2ZXJ5LnJlc3BvbnNlU3RhdHVzID0gdW5kZWZpbmVkO1xuICAgICAgZGVsaXZlcnkucmVzcG9uc2VCb2R5ID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGV2ZW50LnN0YXR1cyA9IFdlYmhvb2tTdGF0dXMuUEVORElORztcbiAgICBldmVudC5kZWxpdmVyaWVzU3VjY2VlZGVkID0gMDtcbiAgICBldmVudC5kZWxpdmVyaWVzRmFpbGVkID0gMDtcbiAgICBldmVudC5uZXh0QXR0ZW1wdEF0ID0gbm93O1xuICAgIGV2ZW50LnVwZGF0ZWRBdCA9IG5vdztcblxuICAgIGlmIChkZWxpdmVyaWVzLmxlbmd0aCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgZGVsaXZlcnlSZXBvLnVwZGF0ZUFsbChcbiAgICAgICAgICBkZWxpdmVyaWVzLFxuICAgICAgICAgIGN0eC5vdmVycmlkZSh7IGFwcGx5VXBkYXRlVmFsaWRhdGlvbjogZmFsc2UgfSBhcyBhbnkpXG4gICAgICAgICk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gUmVwbGF5IHN0aWxsIHJlc2V0cyB0aGUgZXZlbnQgc3RhdGUgZXZlbiBpZiBidWxrIGRlbGl2ZXJ5IHVwZGF0ZXMgYXJlIG5vdCBxdWVyeWFibGUgaGVyZS5cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGV2ZW50UmVwby51cGRhdGUoZXZlbnQsIGN0eCk7XG4gIH1cbn1cbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjb250cm9sbGVycy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2pGLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMs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QUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0YsQ0FBQztZQUNELE1BQU0sQ0FBQztnQkFDSCw0RkFBNEY7WUFDaEcsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDSixDQUFDO0FBWU8sc0VBQTZCO0FBWHRDLFVBQVUsQ0FBQztJQUNQLElBQUEsYUFBSSxFQUFDLFlBQVksQ0FBQztJQUNsQixPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUEsY0FBSyxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZCLFVBQVUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDO0lBQ25DLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUM7Q0FDM0MsRUFBRSw2QkFBNkIsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzVELHdDQUFBLDZCQUE2QixHQUFHLCtCQUErQixHQUFHLFVBQVUsQ0FBQztJQUN6RSxJQUFBLG1CQUFVLEVBQUMsZ0JBQWdCLENBQUM7SUFDNUIsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUMsOEJBQW1CLENBQUMsQ0FBQztDQUN6RCxFQUFFLDZCQUE2QixDQUFDLENBQUM7QUFFbEMsa3NWQUFrc1YiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xudmFyIF9fcGFyYW0gPSAodGhpcyAmJiB0aGlzLl9fcGFyYW0pIHx8IGZ1bmN0aW9uIChwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7IGRlY29yYXRvcih0YXJnZXQsIGtleSwgcGFyYW1JbmRleCk7IH1cbn07XG52YXIgV2ViaG9va1N1YnNjcmlwdGlvbkFjdGlvbnNDb250cm9sbGVyXzEsIFdlYmhvb2tFdmVudEFjdGlvbnNDb250cm9sbGVyXzE7XG5pbXBvcnQgeyBDb250cm9sbGVyLCBQYXJhbSwgUG9zdCB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSwgT3JkZXJEaXJlY3Rpb24gfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IERlY2FmQ29udHJvbGxlciB9IGZyb20gXCIuLy4uL2NvbnRyb2xsZXJzLmpzXCI7XG5pbXBvcnQgeyBEZWNhZlJlcXVlc3RDb250ZXh0IH0gZnJvbSBcIi4vLi4vcmVxdWVzdC9pbmRleC5qc1wiO1xuaW1wb3J0IHsgV2ViaG9va0RlbGl2ZXJ5LCBXZWJob29rRXZlbnRSZWNvcmQsIFdlYmhvb2tTdGF0dXMsIFdlYmhvb2tTdWJzY3JpcHRpb24sIGNvbGxlY3RQYWdlZFJlc3VsdHMsIH0gZnJvbSBcIkBkZWNhZi10cy9mb3ItaHR0cC9ob29rc1wiO1xubGV0IFdlYmhvb2tTdWJzY3JpcHRpb25BY3Rpb25zQ29udHJvbGxlciA9IFdlYmhvb2tTdWJzY3JpcHRpb25BY3Rpb25zQ29udHJvbGxlcl8xID0gY2xhc3MgV2ViaG9va1N1YnNjcmlwdGlvbkFjdGlvbnNDb250cm9sbGVyIGV4dGVuZHMgRGVjYWZDb250cm9sbGVyIHtcbiAgICBjb25zdHJ1Y3RvcihjbGllbnRDb250ZXh0KSB7XG4gICAgICAgIHN1cGVyKGNsaWVudENvbnRleHQsIFdlYmhvb2tTdWJzY3JpcHRpb25BY3Rpb25zQ29udHJvbGxlcl8xLm5hbWUpO1xuICAgIH1cbiAgICBhc3luYyBkZWFjdGl2YXRlKGlkKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4IH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoW10sIFwiZGVhY3RpdmF0ZVwiLCB0cnVlKSkuZm9yKHRoaXMuZGVhY3RpdmF0ZSk7XG4gICAgICAgIGNvbnN0IHJlcG8gPSBSZXBvc2l0b3J5LmZvck1vZGVsKFdlYmhvb2tTdWJzY3JpcHRpb24pO1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gYXdhaXQgcmVwby5yZWFkKGlkLCBjdHgpO1xuICAgICAgICBjdXJyZW50LmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gcmVwby51cGRhdGUoY3VycmVudCwgY3R4KTtcbiAgICB9XG4gICAgYXN5bmMgcmVhY3RpdmF0ZShpZCkge1xuICAgICAgICBjb25zdCB7IGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KFtdLCBcInJlYWN0aXZhdGVcIiwgdHJ1ZSkpLmZvcih0aGlzLnJlYWN0aXZhdGUpO1xuICAgICAgICBjb25zdCByZXBvID0gUmVwb3NpdG9yeS5mb3JNb2RlbChXZWJob29rU3Vic2NyaXB0aW9uKTtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IGF3YWl0IHJlcG8ucmVhZChpZCwgY3R4KTtcbiAgICAgICAgY3VycmVudC5hY3RpdmUgPSB0cnVlO1xuICAgICAgICByZXR1cm4gcmVwby51cGRhdGUoY3VycmVudCwgY3R4KTtcbiAgICB9XG59O1xuX19kZWNvcmF0ZShbXG4gICAgUG9zdChcIjppZC9kZWFjdGl2YXRlXCIpLFxuICAgIF9fcGFyYW0oMCwgUGFyYW0oXCJpZFwiKSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW1N0cmluZ10pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgV2ViaG9va1N1YnNjcmlwdGlvbkFjdGlvbnNDb250cm9sbGVyLnByb3RvdHlwZSwgXCJkZWFjdGl2YXRlXCIsIG51bGwpO1xuX19kZWNvcmF0ZShbXG4gICAgUG9zdChcIjppZC9yZWFjdGl2YXRlXCIpLFxuICAgIF9fcGFyYW0oMCwgUGFyYW0oXCJpZFwiKSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW1N0cmluZ10pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgV2ViaG9va1N1YnNjcmlwdGlvbkFjdGlvbnNDb250cm9sbGVyLnByb3RvdHlwZSwgXCJyZWFjdGl2YXRlXCIsIG51bGwpO1xuV2ViaG9va1N1YnNjcmlwdGlvbkFjdGlvbnNDb250cm9sbGVyID0gV2ViaG9va1N1YnNjcmlwdGlvbkFjdGlvbnNDb250cm9sbGVyXzEgPSBfX2RlY29yYXRlKFtcbiAgICBDb250cm9sbGVyKFwid2ViaG9vay1zdWJzY3JpcHRpb25zXCIpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cGFyYW10eXBlc1wiLCBbRGVjYWZSZXF1ZXN0Q29udGV4dF0pXG5dLCBXZWJob29rU3Vic2NyaXB0aW9uQWN0aW9uc0NvbnRyb2xsZXIpO1xuZXhwb3J0IHsgV2ViaG9va1N1YnNjcmlwdGlvbkFjdGlvbnNDb250cm9sbGVyIH07XG5sZXQgV2ViaG9va0V2ZW50QWN0aW9uc0NvbnRyb2xsZXIgPSBXZWJob29rRXZlbnRBY3Rpb25zQ29udHJvbGxlcl8xID0gY2xhc3MgV2ViaG9va0V2ZW50QWN0aW9uc0NvbnRyb2xsZXIgZXh0ZW5kcyBEZWNhZkNvbnRyb2xsZXIge1xuICAgIGNvbnN0cnVjdG9yKGNsaWVudENvbnRleHQpIHtcbiAgICAgICAgc3VwZXIoY2xpZW50Q29udGV4dCwgV2ViaG9va0V2ZW50QWN0aW9uc0NvbnRyb2xsZXJfMS5uYW1lKTtcbiAgICB9XG4gICAgYXN5bmMgcmVwbGF5KGlkKSB7XG4gICAgICAgIGNvbnN0IHsgY3R4IH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoW10sIFwicmVwbGF5XCIsIHRydWUpKS5mb3IodGhpcy5yZXBsYXkpO1xuICAgICAgICBjb25zdCBldmVudFJlcG8gPSBSZXBvc2l0b3J5LmZvck1vZGVsKFdlYmhvb2tFdmVudFJlY29yZCk7XG4gICAgICAgIGNvbnN0IGRlbGl2ZXJ5UmVwbyA9IFJlcG9zaXRvcnkuZm9yTW9kZWwoV2ViaG9va0RlbGl2ZXJ5KTtcbiAgICAgICAgbGV0IGV2ZW50O1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgZXZlbnQgPSBhd2FpdCBldmVudFJlcG8ucmVhZChpZCwgY3R4KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50cyA9IGF3YWl0IGV2ZW50UmVwb1xuICAgICAgICAgICAgICAgIC5zZWxlY3QoKVxuICAgICAgICAgICAgICAgIC53aGVyZShldmVudFJlcG8uYXR0cihcImlkXCIpLmVxKGlkKSlcbiAgICAgICAgICAgICAgICAubGltaXQoMSlcbiAgICAgICAgICAgICAgICAuZXhlY3V0ZShjdHgpO1xuICAgICAgICAgICAgaWYgKCFldmVudHMubGVuZ3RoKVxuICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgZXZlbnQgPSBldmVudHNbMF07XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGRlbGl2ZXJpZXMgPSBbXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGRlbGl2ZXJpZXMgPSBhd2FpdCBjb2xsZWN0UGFnZWRSZXN1bHRzKCgpID0+IGRlbGl2ZXJ5UmVwb1xuICAgICAgICAgICAgICAgIC5zZWxlY3QoKVxuICAgICAgICAgICAgICAgIC53aGVyZShkZWxpdmVyeVJlcG8uYXR0cihcImV2ZW50SWRcIikuZXEoZXZlbnQuaWQpKVxuICAgICAgICAgICAgICAgIC5vcmRlckJ5KFwiY3JlYXRlZEF0XCIsIE9yZGVyRGlyZWN0aW9uLkFTQylcbiAgICAgICAgICAgICAgICAudGhlbkJ5KFwiaWRcIiwgT3JkZXJEaXJlY3Rpb24uQVNDKVxuICAgICAgICAgICAgICAgIC5wYWdpbmF0ZSgyNTAsIGN0eCksIDI1MCwgY3R4KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGRlbGl2ZXJpZXMgPSBhd2FpdCBkZWxpdmVyeVJlcG9cbiAgICAgICAgICAgICAgICAgICAgLnNlbGVjdCgpXG4gICAgICAgICAgICAgICAgICAgIC53aGVyZShkZWxpdmVyeVJlcG8uYXR0cihcImV2ZW50SWRcIikuZXEoZXZlbnQuaWQpKVxuICAgICAgICAgICAgICAgICAgICAuZXhlY3V0ZShjdHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2gge1xuICAgICAgICAgICAgICAgIGRlbGl2ZXJpZXMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBmb3IgKGNvbnN0IGRlbGl2ZXJ5IG9mIGRlbGl2ZXJpZXMpIHtcbiAgICAgICAgICAgIGRlbGl2ZXJ5LnN0YXR1cyA9IFdlYmhvb2tTdGF0dXMuUEVORElORztcbiAgICAgICAgICAgIGRlbGl2ZXJ5LmF0dGVtcHRzID0gMDtcbiAgICAgICAgICAgIGRlbGl2ZXJ5Lm5leHRBdHRlbXB0QXQgPSBub3c7XG4gICAgICAgICAgICBkZWxpdmVyeS5sYXN0QXR0ZW1wdEF0ID0gbnVsbDtcbiAgICAgICAgICAgIGRlbGl2ZXJ5LmVycm9yTWVzc2FnZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGRlbGl2ZXJ5LnJlc3BvbnNlU3RhdHVzID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgZGVsaXZlcnkucmVzcG9uc2VCb2R5ID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnN0YXR1cyA9IFdlYmhvb2tTdGF0dXMuUEVORElORztcbiAgICAgICAgZXZlbnQuZGVsaXZlcmllc1N1Y2NlZWRlZCA9IDA7XG4gICAgICAgIGV2ZW50LmRlbGl2ZXJpZXNGYWlsZWQgPSAwO1xuICAgICAgICBldmVudC5uZXh0QXR0ZW1wdEF0ID0gbm93O1xuICAgICAgICBldmVudC51cGRhdGVkQXQgPSBub3c7XG4gICAgICAgIGlmIChkZWxpdmVyaWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBhd2FpdCBkZWxpdmVyeVJlcG8udXBkYXRlQWxsKGRlbGl2ZXJpZXMsIGN0eC5vdmVycmlkZSh7IGFwcGx5VXBkYXRlVmFsaWRhdGlvbjogZmFsc2UgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2gge1xuICAgICAgICAgICAgICAgIC8vIFJlcGxheSBzdGlsbCByZXNldHMgdGhlIGV2ZW50IHN0YXRlIGV2ZW4gaWYgYnVsayBkZWxpdmVyeSB1cGRhdGVzIGFyZSBub3QgcXVlcnlhYmxlIGhlcmUuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGV2ZW50UmVwby51cGRhdGUoZXZlbnQsIGN0eCk7XG4gICAgfVxufTtcbl9fZGVjb3JhdGUoW1xuICAgIFBvc3QoXCI6aWQvcmVwbGF5XCIpLFxuICAgIF9fcGFyYW0oMCwgUGFyYW0oXCJpZFwiKSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEZ1bmN0aW9uKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW1N0cmluZ10pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246cmV0dXJudHlwZVwiLCBQcm9taXNlKVxuXSwgV2ViaG9va0V2ZW50QWN0aW9uc0NvbnRyb2xsZXIucHJvdG90eXBlLCBcInJlcGxheVwiLCBudWxsKTtcbldlYmhvb2tFdmVudEFjdGlvbnNDb250cm9sbGVyID0gV2ViaG9va0V2ZW50QWN0aW9uc0NvbnRyb2xsZXJfMSA9IF9fZGVjb3JhdGUoW1xuICAgIENvbnRyb2xsZXIoXCJ3ZWJob29rLWV2ZW50c1wiKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnBhcmFtdHlwZXNcIiwgW0RlY2FmUmVxdWVzdENvbnRleHRdKVxuXSwgV2ViaG9va0V2ZW50QWN0aW9uc0NvbnRyb2xsZXIpO1xuZXhwb3J0IHsgV2ViaG9va0V2ZW50QWN0aW9uc0NvbnRyb2xsZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVkyOXVkSEp2Ykd4bGNuTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk5emNtTXZkMlZpYUc5dmEzTXZZMjl1ZEhKdmJHeGxjbk11ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3T3pzN096dEJRVUZCTEU5QlFVOHNSVUZCUlN4VlFVRlZMRVZCUVVVc1MwRkJTeXhGUVVGRkxFbEJRVWtzUlVGQlJTeE5RVUZOTEdkQ1FVRm5RaXhEUVVGRE8wRkJRM3BFTEU5QlFVOHNSVUZCUlN4VlFVRlZMRVZCUVdFc1kwRkJZeXhGUVVGRkxFMUJRVTBzWjBKQlFXZENMRU5CUVVNN1FVRkRka1VzVDBGQlR5eEZRVUZGTEdWQlFXVXNSVUZCUlN3MFFrRkJkVUk3UVVGRGFrUXNUMEZCVHl4RlFVRkZMRzFDUVVGdFFpeEZRVUZGTERoQ1FVRnRRanRCUVVWcVJDeFBRVUZQTEVWQlEwd3NaVUZCWlN4RlFVTm1MR3RDUVVGclFpeEZRVU5zUWl4aFFVRmhMRVZCUTJJc2JVSkJRVzFDTEVWQlEyNUNMRzFDUVVGdFFpeEhRVU53UWl4TlFVRk5MREJDUVVFd1FpeERRVUZETzBGQlJ6TkNMRWxCUVUwc2IwTkJRVzlETERSRFFVRXhReXhOUVVGTkxHOURRVUZ4UXl4VFFVRlJMR1ZCUVN0Q08wbEJRM1pHTEZsQlFWa3NZVUZCYTBNN1VVRkROVU1zUzBGQlN5eERRVUZETEdGQlFXRXNSVUZCUlN4elEwRkJiME1zUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTnNSU3hEUVVGRE8wbEJSMHNzUVVGQlRpeExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRmpMRVZCUVZVN1VVRkRkRU1zVFVGQlRTeEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNSVUZCUlN4WlFVRlpMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlF6ZEVMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRMmhDTEVOQlFVTTdVVUZEUml4TlFVRk5MRWxCUVVrc1IwRkJSeXhWUVVGVkxFTkJRVU1zVVVGQlVTeERRVWM1UWl4dFFrRkJiVUlzUTBGQlF5eERRVUZETzFGQlEzWkNMRTFCUVUwc1QwRkJUeXhIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGVrTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1IwRkJSeXhMUVVGTExFTkJRVU03VVVGRGRrSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFOUJRVThzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTnVReXhEUVVGRE8wbEJSMHNzUVVGQlRpeExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRmpMRVZCUVZVN1VVRkRkRU1zVFVGQlRTeEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNSVUZCUlN4WlFVRlpMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlF6ZEVMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRMmhDTEVOQlFVTTdVVUZEUml4TlFVRk5MRWxCUVVrc1IwRkJSeXhWUVVGVkxFTkJRVU1zVVVGQlVTeERRVWM1UWl4dFFrRkJiVUlzUTBGQlF5eERRVUZETzFGQlEzWkNMRTFCUVUwc1QwRkJUeXhIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGVrTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRGRFSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFOUJRVThzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTnVReXhEUVVGRE8wTkJRMFlzUTBGQlFUdEJRVEZDVHp0SlFVUk1MRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXp0SlFVTk1MRmRCUVVFc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZCT3pzN08zTkZRVmMxUWp0QlFVZExPMGxCUkV3c1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRPMGxCUTB3c1YwRkJRU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVRTdPenM3YzBWQlZ6VkNPMEZCTDBKVkxHOURRVUZ2UXp0SlFVUm9SQ3hWUVVGVkxFTkJRVU1zZFVKQlFYVkNMRU5CUVVNN2NVTkJSVkFzYlVKQlFXMUNPMGRCUkc1RExHOURRVUZ2UXl4RFFXZERhRVE3TzBGQlIwMHNTVUZCVFN3MlFrRkJOa0lzY1VOQlFXNURMRTFCUVUwc05rSkJRVGhDTEZOQlFWRXNaVUZCSzBJN1NVRkRhRVlzV1VGQldTeGhRVUZyUXp0UlFVTTFReXhMUVVGTExFTkJRVU1zWVVGQllTeEZRVUZGTEN0Q1FVRTJRaXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6TkVMRU5CUVVNN1NVRkhTeXhCUVVGT0xFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFXTXNSVUZCVlR0UlFVTnNReXhOUVVGTkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeEZRVUZGTEZGQlFWRXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRla1VzVFVGQlRTeFRRVUZUTEVkQlFVY3NWVUZCVlN4RFFVRkRMRkZCUVZFc1EwRkhia01zYTBKQlFXdENMRU5CUVVNc1EwRkJRenRSUVVOMFFpeE5RVUZOTEZsQlFWa3NSMEZCUnl4VlFVRlZMRU5CUVVNc1VVRkJVU3hEUVVkMFF5eGxRVUZsTEVOQlFVTXNRMEZCUXp0UlFVTnVRaXhKUVVGSkxFdEJRVXNzUTBGQlF6dFJRVU5XTEVsQlFVa3NRMEZCUXp0WlFVTklMRXRCUVVzc1IwRkJSeXhOUVVGTkxGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJRM2hETEVOQlFVTTdVVUZCUXl4UFFVRlBMRXRCUVVzc1JVRkJSU3hEUVVGRE8xbEJRMllzVFVGQlRTeE5RVUZOTEVkQlFVY3NUVUZCVFN4VFFVRlRPMmxDUVVNelFpeE5RVUZOTEVWQlFVVTdhVUpCUTFJc1MwRkJTeXhEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETzJsQ1FVTnNReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETzJsQ1FVTlNMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU5vUWl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFMUJRVTA3WjBKQlFVVXNUVUZCVFN4TFFVRkxMRU5CUVVNN1dVRkRhRU1zUzBGQlN5eEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOd1FpeERRVUZETzFGQlEwUXNTVUZCU1N4VlFVRlZMRWRCUVZVc1JVRkJSU3hEUVVGRE8xRkJRek5DTEVsQlFVa3NRMEZCUXp0WlFVTklMRlZCUVZVc1IwRkJSeXhOUVVGTkxHMUNRVUZ0UWl4RFFVTndReXhIUVVGSExFVkJRVVVzUTBGRFNDeFpRVUZaTzJsQ1FVTlVMRTFCUVUwc1JVRkJSVHRwUWtGRFVpeExRVUZMTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRE8ybENRVU5vUkN4UFFVRlBMRU5CUVVNc1YwRkJWeXhGUVVGRkxHTkJRV01zUTBGQlF5eEhRVUZITEVOQlFVTTdhVUpCUTNoRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNZMEZCWXl4RFFVRkRMRWRCUVVjc1EwRkJRenRwUWtGRGFFTXNVVUZCVVN4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUlVGRGRrSXNSMEZCUnl4RlFVTklMRWRCUVVjc1EwRkRTaXhEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVUZETEUxQlFVMHNRMEZCUXp0WlFVTlFMRWxCUVVrc1EwRkJRenRuUWtGRFNDeFZRVUZWTEVkQlFVY3NUVUZCVFN4WlFVRlpPM0ZDUVVNMVFpeE5RVUZOTEVWQlFVVTdjVUpCUTFJc1MwRkJTeXhEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFdEJRVXNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXp0eFFrRkRhRVFzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMWxCUTJ4Q0xFTkJRVU03V1VGQlF5eE5RVUZOTEVOQlFVTTdaMEpCUTFBc1ZVRkJWU3hIUVVGSExFVkJRVVVzUTBGQlF6dFpRVU5zUWl4RFFVRkRPMUZCUTBnc1EwRkJRenRSUVVORUxFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkZka0lzUzBGQlN5eE5RVUZOTEZGQlFWRXNTVUZCU1N4VlFVRlZMRVZCUVVVc1EwRkJRenRaUVVOc1F5eFJRVUZSTEVOQlFVTXNUVUZCVFN4SFFVRkhMR0ZCUVdFc1EwRkJReXhQUVVGUExFTkJRVU03V1VGRGVFTXNVVUZCVVN4RFFVRkRMRkZCUVZFc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRGRFSXNVVUZCVVN4RFFVRkRMR0ZCUVdFc1IwRkJSeXhIUVVGSExFTkJRVU03V1VGRE4wSXNVVUZCVVN4RFFVRkRMR0ZCUVdFc1IwRkJSeXhKUVVGWExFTkJRVU03V1VGRGNrTXNVVUZCVVN4RFFVRkRMRmxCUVZrc1IwRkJSeXhUUVVGVExFTkJRVU03V1VGRGJFTXNVVUZCVVN4RFFVRkRMR05CUVdNc1IwRkJSeXhUUVVGVExFTkJRVU03V1VGRGNFTXNVVUZCVVN4RFFVRkRMRmxCUVZrc1IwRkJSeXhUUVVGVExFTkJRVU03VVVGRGNFTXNRMEZCUXp0UlFVVkVMRXRCUVVzc1EwRkJReXhOUVVGTkxFZEJRVWNzWVVGQllTeERRVUZETEU5QlFVOHNRMEZCUXp0UlFVTnlReXhMUVVGTExFTkJRVU1zYlVKQlFXMUNMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJRemxDTEV0QlFVc3NRMEZCUXl4blFrRkJaMElzUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZETTBJc1MwRkJTeXhEUVVGRExHRkJRV0VzUjBGQlJ5eEhRVUZITEVOQlFVTTdVVUZETVVJc1MwRkJTeXhEUVVGRExGTkJRVk1zUjBGQlJ5eEhRVUZITEVOQlFVTTdVVUZGZEVJc1NVRkJTU3hWUVVGVkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTTdXVUZEZEVJc1NVRkJTU3hEUVVGRE8yZENRVU5JTEUxQlFVMHNXVUZCV1N4RFFVRkRMRk5CUVZNc1EwRkRNVUlzVlVGQlZTeEZRVU5XTEVkQlFVY3NRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3h4UWtGQmNVSXNSVUZCUlN4TFFVRkxMRVZCUVZNc1EwRkJReXhEUVVOMFJDeERRVUZETzFsQlEwb3NRMEZCUXp0WlFVRkRMRTFCUVUwc1EwRkJRenRuUWtGRFVDdzBSa0ZCTkVZN1dVRkRPVVlzUTBGQlF6dFJRVU5JTEVOQlFVTTdVVUZEUkN4UFFVRlBMRk5CUVZNc1EwRkJReXhOUVVGTkxFTkJRVU1zUzBGQlN5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUTNSRExFTkJRVU03UTBGRFJpeERRVUZCTzBGQk0wVlBPMGxCUkV3c1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF6dEpRVU5NTEZkQlFVRXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGQk96czdPekpFUVRCRmVFSTdRVUZvUmxVc05rSkJRVFpDTzBsQlJIcERMRlZCUVZVc1EwRkJReXhuUWtGQlowSXNRMEZCUXp0eFEwRkZRU3h0UWtGQmJVSTdSMEZFYmtNc05rSkJRVFpDTEVOQmFVWjZReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUVOdmJuUnliMnhzWlhJc0lGQmhjbUZ0TENCUWIzTjBJSDBnWm5KdmJTQmNJa0J1WlhOMGFuTXZZMjl0Ylc5dVhDSTdYRzVwYlhCdmNuUWdleUJTWlhCdmMybDBiM0o1TENCMGVYQmxJRkpsY0c4c0lFOXlaR1Z5UkdseVpXTjBhVzl1SUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5amIzSmxYQ0k3WEc1cGJYQnZjblFnZXlCRVpXTmhaa052Ym5SeWIyeHNaWElnZlNCbWNtOXRJRndpTGk0dlkyOXVkSEp2Ykd4bGNuTmNJanRjYm1sdGNHOXlkQ0I3SUVSbFkyRm1VbVZ4ZFdWemRFTnZiblJsZUhRZ2ZTQm1jbTl0SUZ3aUxpNHZjbVZ4ZFdWemRGd2lPMXh1YVcxd2IzSjBJSHNnUkdWallXWlRaWEoyWlhKRGRIZ2dmU0JtY205dElGd2lMaTR2WTI5dWMzUmhiblJ6WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JYWldKb2IyOXJSR1ZzYVhabGNua3NYRzRnSUZkbFltaHZiMnRGZG1WdWRGSmxZMjl5WkN4Y2JpQWdWMlZpYUc5dmExTjBZWFIxY3l4Y2JpQWdWMlZpYUc5dmExTjFZbk5qY21sd2RHbHZiaXhjYmlBZ1kyOXNiR1ZqZEZCaFoyVmtVbVZ6ZFd4MGN5eGNibjBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTltYjNJdGFIUjBjQzlvYjI5cmMxd2lPMXh1WEc1QVEyOXVkSEp2Ykd4bGNpaGNJbmRsWW1odmIyc3RjM1ZpYzJOeWFYQjBhVzl1YzF3aUtWeHVaWGh3YjNKMElHTnNZWE56SUZkbFltaHZiMnRUZFdKelkzSnBjSFJwYjI1QlkzUnBiMjV6UTI5dWRISnZiR3hsY2lCbGVIUmxibVJ6SUVSbFkyRm1RMjl1ZEhKdmJHeGxjanhFWldOaFpsTmxjblpsY2tOMGVENGdlMXh1SUNCamIyNXpkSEoxWTNSdmNpaGpiR2xsYm5SRGIyNTBaWGgwT2lCRVpXTmhabEpsY1hWbGMzUkRiMjUwWlhoMEtTQjdYRzRnSUNBZ2MzVndaWElvWTJ4cFpXNTBRMjl1ZEdWNGRDd2dWMlZpYUc5dmExTjFZbk5qY21sd2RHbHZia0ZqZEdsdmJuTkRiMjUwY205c2JHVnlMbTVoYldVcE8xeHVJQ0I5WEc1Y2JpQWdRRkJ2YzNRb1hDSTZhV1F2WkdWaFkzUnBkbUYwWlZ3aUtWeHVJQ0JoYzNsdVl5QmtaV0ZqZEdsMllYUmxLRUJRWVhKaGJTaGNJbWxrWENJcElHbGtPaUJ6ZEhKcGJtY3BJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHTjBlQ0I5SUQwZ0tHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtGdGRMQ0JjSW1SbFlXTjBhWFpoZEdWY0lpd2dkSEoxWlNrcExtWnZjaWhjYmlBZ0lDQWdJSFJvYVhNdVpHVmhZM1JwZG1GMFpWeHVJQ0FnSUNrN1hHNGdJQ0FnWTI5dWMzUWdjbVZ3YnlBOUlGSmxjRzl6YVhSdmNua3VabTl5VFc5a1pXdzhYRzRnSUNBZ0lDQlhaV0pvYjI5clUzVmljMk55YVhCMGFXOXVMRnh1SUNBZ0lDQWdVbVZ3Ynp4WFpXSm9iMjlyVTNWaWMyTnlhWEIwYVc5dVBseHVJQ0FnSUQ0b1YyVmlhRzl2YTFOMVluTmpjbWx3ZEdsdmJpazdYRzRnSUNBZ1kyOXVjM1FnWTNWeWNtVnVkQ0E5SUdGM1lXbDBJSEpsY0c4dWNtVmhaQ2hwWkN3Z1kzUjRLVHRjYmlBZ0lDQmpkWEp5Wlc1MExtRmpkR2wyWlNBOUlHWmhiSE5sTzF4dUlDQWdJSEpsZEhWeWJpQnlaWEJ2TG5Wd1pHRjBaU2hqZFhKeVpXNTBMQ0JqZEhncE8xeHVJQ0I5WEc1Y2JpQWdRRkJ2YzNRb1hDSTZhV1F2Y21WaFkzUnBkbUYwWlZ3aUtWeHVJQ0JoYzNsdVl5QnlaV0ZqZEdsMllYUmxLRUJRWVhKaGJTaGNJbWxrWENJcElHbGtPaUJ6ZEhKcGJtY3BJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHTjBlQ0I5SUQwZ0tHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtGdGRMQ0JjSW5KbFlXTjBhWFpoZEdWY0lpd2dkSEoxWlNrcExtWnZjaWhjYmlBZ0lDQWdJSFJvYVhNdWNtVmhZM1JwZG1GMFpWeHVJQ0FnSUNrN1hHNGdJQ0FnWTI5dWMzUWdjbVZ3YnlBOUlGSmxjRzl6YVhSdmNua3VabTl5VFc5a1pXdzhYRzRnSUNBZ0lDQlhaV0pvYjI5clUzVmljMk55YVhCMGFXOXVMRnh1SUNBZ0lDQWdVbVZ3Ynp4WFpXSm9iMjlyVTNWaWMyTnlhWEIwYVc5dVBseHVJQ0FnSUQ0b1YyVmlhRzl2YTFOMVluTmpjbWx3ZEdsdmJpazdYRzRnSUNBZ1kyOXVjM1FnWTNWeWNtVnVkQ0E5SUdGM1lXbDBJSEpsY0c4dWNtVmhaQ2hwWkN3Z1kzUjRLVHRjYmlBZ0lDQmpkWEp5Wlc1MExtRmpkR2wyWlNBOUlIUnlkV1U3WEc0Z0lDQWdjbVYwZFhKdUlISmxjRzh1ZFhCa1lYUmxLR04xY25KbGJuUXNJR04wZUNrN1hHNGdJSDFjYm4xY2JseHVRRU52Ym5SeWIyeHNaWElvWENKM1pXSm9iMjlyTFdWMlpXNTBjMXdpS1Z4dVpYaHdiM0owSUdOc1lYTnpJRmRsWW1odmIydEZkbVZ1ZEVGamRHbHZibk5EYjI1MGNtOXNiR1Z5SUdWNGRHVnVaSE1nUkdWallXWkRiMjUwY205c2JHVnlQRVJsWTJGbVUyVnlkbVZ5UTNSNFBpQjdYRzRnSUdOdmJuTjBjblZqZEc5eUtHTnNhV1Z1ZEVOdmJuUmxlSFE2SUVSbFkyRm1VbVZ4ZFdWemRFTnZiblJsZUhRcElIdGNiaUFnSUNCemRYQmxjaWhqYkdsbGJuUkRiMjUwWlhoMExDQlhaV0pvYjI5clJYWmxiblJCWTNScGIyNXpRMjl1ZEhKdmJHeGxjaTV1WVcxbEtUdGNiaUFnZlZ4dVhHNGdJRUJRYjNOMEtGd2lPbWxrTDNKbGNHeGhlVndpS1Z4dUlDQmhjM2x1WXlCeVpYQnNZWGtvUUZCaGNtRnRLRndpYVdSY0lpa2dhV1E2SUhOMGNtbHVaeWtnZTF4dUlDQWdJR052Ym5OMElIc2dZM1I0SUgwZ1BTQW9ZWGRoYVhRZ2RHaHBjeTVzYjJkRGRIZ29XMTBzSUZ3aWNtVndiR0Y1WENJc0lIUnlkV1VwS1M1bWIzSW9kR2hwY3k1eVpYQnNZWGtwTzF4dUlDQWdJR052Ym5OMElHVjJaVzUwVW1Wd2J5QTlJRkpsY0c5emFYUnZjbmt1Wm05eVRXOWtaV3c4WEc0Z0lDQWdJQ0JYWldKb2IyOXJSWFpsYm5SU1pXTnZjbVFzWEc0Z0lDQWdJQ0JTWlhCdlBGZGxZbWh2YjJ0RmRtVnVkRkpsWTI5eVpENWNiaUFnSUNBK0tGZGxZbWh2YjJ0RmRtVnVkRkpsWTI5eVpDazdYRzRnSUNBZ1kyOXVjM1FnWkdWc2FYWmxjbmxTWlhCdklEMGdVbVZ3YjNOcGRHOXllUzVtYjNKTmIyUmxiRHhjYmlBZ0lDQWdJRmRsWW1odmIydEVaV3hwZG1WeWVTeGNiaUFnSUNBZ0lGSmxjRzg4VjJWaWFHOXZhMFJsYkdsMlpYSjVQbHh1SUNBZ0lENG9WMlZpYUc5dmEwUmxiR2wyWlhKNUtUdGNiaUFnSUNCc1pYUWdaWFpsYm5RN1hHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lHVjJaVzUwSUQwZ1lYZGhhWFFnWlhabGJuUlNaWEJ2TG5KbFlXUW9hV1FzSUdOMGVDazdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR1YyWlc1MGN5QTlJR0YzWVdsMElHVjJaVzUwVW1Wd2IxeHVJQ0FnSUNBZ0lDQXVjMlZzWldOMEtDbGNiaUFnSUNBZ0lDQWdMbmRvWlhKbEtHVjJaVzUwVW1Wd2J5NWhkSFJ5S0Z3aWFXUmNJaWt1WlhFb2FXUXBLVnh1SUNBZ0lDQWdJQ0F1YkdsdGFYUW9NU2xjYmlBZ0lDQWdJQ0FnTG1WNFpXTjFkR1VvWTNSNEtUdGNiaUFnSUNBZ0lHbG1JQ2doWlhabGJuUnpMbXhsYm1kMGFDa2dkR2h5YjNjZ1pYSnliM0k3WEc0Z0lDQWdJQ0JsZG1WdWRDQTlJR1YyWlc1MGMxc3dYVHRjYmlBZ0lDQjlYRzRnSUNBZ2JHVjBJR1JsYkdsMlpYSnBaWE02SUdGdWVWdGRJRDBnVzEwN1hHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lHUmxiR2wyWlhKcFpYTWdQU0JoZDJGcGRDQmpiMnhzWldOMFVHRm5aV1JTWlhOMWJIUnpLRnh1SUNBZ0lDQWdJQ0FvS1NBOVBseHVJQ0FnSUNBZ0lDQWdJR1JsYkdsMlpYSjVVbVZ3YjF4dUlDQWdJQ0FnSUNBZ0lDQWdMbk5sYkdWamRDZ3BYRzRnSUNBZ0lDQWdJQ0FnSUNBdWQyaGxjbVVvWkdWc2FYWmxjbmxTWlhCdkxtRjBkSElvWENKbGRtVnVkRWxrWENJcExtVnhLR1YyWlc1MExtbGtLU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDNXZjbVJsY2tKNUtGd2lZM0psWVhSbFpFRjBYQ0lzSUU5eVpHVnlSR2x5WldOMGFXOXVMa0ZUUXlsY2JpQWdJQ0FnSUNBZ0lDQWdJQzUwYUdWdVFua29YQ0pwWkZ3aUxDQlBjbVJsY2tScGNtVmpkR2x2Ymk1QlUwTXBYRzRnSUNBZ0lDQWdJQ0FnSUNBdWNHRm5hVzVoZEdVb01qVXdMQ0JqZEhncExGeHVJQ0FnSUNBZ0lDQXlOVEFzWEc0Z0lDQWdJQ0FnSUdOMGVGeHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOUlHTmhkR05vSUh0Y2JpQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJR1JsYkdsMlpYSnBaWE1nUFNCaGQyRnBkQ0JrWld4cGRtVnllVkpsY0c5Y2JpQWdJQ0FnSUNBZ0lDQXVjMlZzWldOMEtDbGNiaUFnSUNBZ0lDQWdJQ0F1ZDJobGNtVW9aR1ZzYVhabGNubFNaWEJ2TG1GMGRISW9YQ0psZG1WdWRFbGtYQ0lwTG1WeEtHVjJaVzUwTG1sa0tTbGNiaUFnSUNBZ0lDQWdJQ0F1WlhobFkzVjBaU2hqZEhncE8xeHVJQ0FnSUNBZ2ZTQmpZWFJqYUNCN1hHNGdJQ0FnSUNBZ0lHUmxiR2wyWlhKcFpYTWdQU0JiWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdZMjl1YzNRZ2JtOTNJRDBnYm1WM0lFUmhkR1VvS1R0Y2JseHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ1pHVnNhWFpsY25rZ2IyWWdaR1ZzYVhabGNtbGxjeWtnZTF4dUlDQWdJQ0FnWkdWc2FYWmxjbmt1YzNSaGRIVnpJRDBnVjJWaWFHOXZhMU4wWVhSMWN5NVFSVTVFU1U1SE8xeHVJQ0FnSUNBZ1pHVnNhWFpsY25rdVlYUjBaVzF3ZEhNZ1BTQXdPMXh1SUNBZ0lDQWdaR1ZzYVhabGNua3VibVY0ZEVGMGRHVnRjSFJCZENBOUlHNXZkenRjYmlBZ0lDQWdJR1JsYkdsMlpYSjVMbXhoYzNSQmRIUmxiWEIwUVhRZ1BTQnVkV3hzSUdGeklHRnVlVHRjYmlBZ0lDQWdJR1JsYkdsMlpYSjVMbVZ5Y205eVRXVnpjMkZuWlNBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNBZ0lHUmxiR2wyWlhKNUxuSmxjM0J2Ym5ObFUzUmhkSFZ6SUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUNBZ1pHVnNhWFpsY25rdWNtVnpjRzl1YzJWQ2IyUjVJRDBnZFc1a1pXWnBibVZrTzF4dUlDQWdJSDFjYmx4dUlDQWdJR1YyWlc1MExuTjBZWFIxY3lBOUlGZGxZbWh2YjJ0VGRHRjBkWE11VUVWT1JFbE9SenRjYmlBZ0lDQmxkbVZ1ZEM1a1pXeHBkbVZ5YVdWelUzVmpZMlZsWkdWa0lEMGdNRHRjYmlBZ0lDQmxkbVZ1ZEM1a1pXeHBkbVZ5YVdWelJtRnBiR1ZrSUQwZ01EdGNiaUFnSUNCbGRtVnVkQzV1WlhoMFFYUjBaVzF3ZEVGMElEMGdibTkzTzF4dUlDQWdJR1YyWlc1MExuVndaR0YwWldSQmRDQTlJRzV2ZHp0Y2JseHVJQ0FnSUdsbUlDaGtaV3hwZG1WeWFXVnpMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ1lYZGhhWFFnWkdWc2FYWmxjbmxTWlhCdkxuVndaR0YwWlVGc2JDaGNiaUFnSUNBZ0lDQWdJQ0JrWld4cGRtVnlhV1Z6TEZ4dUlDQWdJQ0FnSUNBZ0lHTjBlQzV2ZG1WeWNtbGtaU2g3SUdGd2NHeDVWWEJrWVhSbFZtRnNhV1JoZEdsdmJqb2dabUZzYzJVZ2ZTQmhjeUJoYm5rcFhHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQjlJR05oZEdOb0lIdGNiaUFnSUNBZ0lDQWdMeThnVW1Wd2JHRjVJSE4wYVd4c0lISmxjMlYwY3lCMGFHVWdaWFpsYm5RZ2MzUmhkR1VnWlhabGJpQnBaaUJpZFd4cklHUmxiR2wyWlhKNUlIVndaR0YwWlhNZ1lYSmxJRzV2ZENCeGRXVnllV0ZpYkdVZ2FHVnlaUzVjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUdWMlpXNTBVbVZ3Ynk1MWNHUmhkR1VvWlhabGJuUXNJR04wZUNrN1hHNGdJSDFjYm4xY2JpSmRmUT09Il19
@@ -17,5 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./DecafWebhookModule.cjs"), exports);
18
18
  __exportStar(require("./controllers.cjs"), exports);
19
19
  __exportStar(require("./types.cjs"), exports);
20
- //# sourceMappingURL=index.js.map
21
- //# sourceMappingURL=index.cjs.map
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2ViaG9va3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0NBQXFDO0FBQ3JDLGlDQUE4QjtBQUM5QiwyQkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9EZWNhZldlYmhvb2tNb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnRyb2xsZXJzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMERBQXdDO0FBQ3hDLG1EQUFpQztBQUNqQyw2Q0FBMkI7QUFDM0Isc2FBQXNhIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vRGVjYWZXZWJob29rTW9kdWxlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb250cm9sbGVycy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXMuanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOXpjbU12ZDJWaWFHOXZhM012YVc1a1pYZ3VkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc2QwTkJRWEZETzBGQlEzSkRMR2xEUVVFNFFqdEJRVU01UWl3eVFrRkJkMElpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKbGVIQnZjblFnS2lCbWNtOXRJRndpTGk5RVpXTmhabGRsWW1odmIydE5iMlIxYkdWY0lqdGNibVY0Y0c5eWRDQXFJR1p5YjIwZ1hDSXVMMk52Ym5SeWIyeHNaWEp6WENJN1hHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOTBlWEJsYzF3aU8xeHVJbDE5Il19
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
4
- //# sourceMappingURL=types.cjs.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2ViaG9va3MvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkYXB0ZXIsIENvbmZpZ09mIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgRGVjYWZSZXF1ZXN0SGFuZGxlciB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlY2FmV2ViaG9va01vZHVsZU9wdGlvbnM8XG4gIENPTkYgPSBhbnksXG4gIEEgZXh0ZW5kcyBBZGFwdGVyPENPTkYsIGFueSwgYW55LCBhbnk+ID0gQWRhcHRlcjxDT05GLCBhbnksIGFueSwgYW55Pixcbj4ge1xuICBjb25mOiBbXG4gICAgQ29uc3RydWN0b3I8QT4sXG4gICAgQ29uZmlnT2Y8QT4sXG4gICAgLi4uYXJnczpcbiAgICAgIHwgYW55W11cbiAgICAgIHwgW1xuICAgICAgICAgIC4uLmFueVtdLFxuICAgICAgICAgIGFueSxcbiAgICAgICAgXSxcbiAgXVtdO1xuICBoYW5kbGVycz86IFR5cGU8RGVjYWZSZXF1ZXN0SGFuZGxlcj5bXTtcbiAgaW5pdGlhbGl6YXRpb24/OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAvKipcbiAgICogUm91dGVyIHByZWZpeCBmb3IgdGhlIHdlYmhvb2sgY29udHJvbGxlcnMuXG4gICAqIEBkZWZhdWx0IFwiL3dlYmhvb2tzXCJcbiAgICovXG4gIHdlYmhvb2tBcGlQYXRoPzogc3RyaW5nO1xufVxuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDhvQ0FBOG9DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pYTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk5emNtTXZkMlZpYUc5dmEzTXZkSGx3WlhNdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklpSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJRUZrWVhCMFpYSXNJRU52Ym1acFowOW1JSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlqYjNKbFhDSTdYRzVwYlhCdmNuUWdleUJEYjI1emRISjFZM1J2Y2lCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHVmpiM0poZEdsdmJsd2lPMXh1YVcxd2IzSjBJSHNnVkhsd1pTQjlJR1p5YjIwZ1hDSkFibVZ6ZEdwekwyTnZiVzF2Ymx3aU8xeHVhVzF3YjNKMElIc2dSR1ZqWVdaU1pYRjFaWE4wU0dGdVpHeGxjaUI5SUdaeWIyMGdYQ0l1TGk5MGVYQmxjMXdpTzF4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFUmxZMkZtVjJWaWFHOXZhMDF2WkhWc1pVOXdkR2x2Ym5NOFhHNGdJRU5QVGtZZ1BTQmhibmtzWEc0Z0lFRWdaWGgwWlc1a2N5QkJaR0Z3ZEdWeVBFTlBUa1lzSUdGdWVTd2dZVzU1TENCaGJuaytJRDBnUVdSaGNIUmxjanhEVDA1R0xDQmhibmtzSUdGdWVTd2dZVzU1UGl4Y2JqNGdlMXh1SUNCamIyNW1PaUJiWEc0Z0lDQWdRMjl1YzNSeWRXTjBiM0k4UVQ0c1hHNGdJQ0FnUTI5dVptbG5UMlk4UVQ0c1hHNGdJQ0FnTGk0dVlYSm5jenBjYmlBZ0lDQWdJSHdnWVc1NVcxMWNiaUFnSUNBZ0lId2dXMXh1SUNBZ0lDQWdJQ0FnSUM0dUxtRnVlVnRkTEZ4dUlDQWdJQ0FnSUNBZ0lHRnVlU3hjYmlBZ0lDQWdJQ0FnWFN4Y2JpQWdYVnRkTzF4dUlDQm9ZVzVrYkdWeWN6ODZJRlI1Y0dVOFJHVmpZV1pTWlhGMVpYTjBTR0Z1Wkd4bGNqNWJYVHRjYmlBZ2FXNXBkR2xoYkdsNllYUnBiMjQvT2lBb0tTQTlQaUJRY205dGFYTmxQSFp2YVdRK08xeHVJQ0F2S2lwY2JpQWdJQ29nVW05MWRHVnlJSEJ5WldacGVDQm1iM0lnZEdobElIZGxZbWh2YjJzZ1kyOXVkSEp2Ykd4bGNuTXVYRzRnSUNBcUlFQmtaV1poZFd4MElGd2lMM2RsWW1odmIydHpYQ0pjYmlBZ0lDb3ZYRzRnSUhkbFltaHZiMnRCY0dsUVlYUm9Qem9nYzNSeWFXNW5PMXh1ZlZ4dUlsMTkiXX0=
@@ -14,7 +14,7 @@ import { Injectable, Inject, Optional, Scope, } from "@nestjs/common";
14
14
  import { Reflector } from "@nestjs/core";
15
15
  import { Logging } from "@decaf-ts/logging";
16
16
  import { Adapter } from "@decaf-ts/core";
17
- import { AUTH_HANDLER, AUTH_META_KEY, IS_PUBLIC_KEY, REQUIRED_ROLES_KEY, SKIP_MODEL_ROLES_KEY, } from "./constants.js";
17
+ import { AUTH_HANDLER, AUTH_META_KEY, IS_PUBLIC_KEY, REQUIRED_NAMESPACES_KEY, REQUIRED_ROLES_KEY, SKIP_MODEL_ROLES_KEY, SKIP_MODEL_NAMESPACES_KEY, } from "./constants.js";
18
18
  import { DecafRequestContext } from "./../request/DecafRequestContext.js";
19
19
  let AuthInterceptor = class AuthInterceptor {
20
20
  constructor(reflector, requestContext, authHandler) {
@@ -31,29 +31,21 @@ let AuthInterceptor = class AuthInterceptor {
31
31
  const modelName = this.reflector.get(AUTH_META_KEY, ctx.getHandler()) ??
32
32
  this.reflector.get(AUTH_META_KEY, ctx.getClass());
33
33
  const requiredRoles = this.reflector.getAllAndOverride(REQUIRED_ROLES_KEY, [ctx.getHandler(), ctx.getClass()]);
34
+ const requiredNamespaces = this.reflector.getAllAndOverride(REQUIRED_NAMESPACES_KEY, [ctx.getHandler(), ctx.getClass()]);
34
35
  const skipModelRoles = this.reflector.getAllAndOverride(SKIP_MODEL_ROLES_KEY, [ctx.getHandler(), ctx.getClass()]);
36
+ const skipModelNamespaces = this.reflector.getAllAndOverride(SKIP_MODEL_NAMESPACES_KEY, [ctx.getHandler(), ctx.getClass()]);
35
37
  const effectiveModel = skipModelRoles ? undefined : modelName;
36
38
  log.verbose(`Intercepted request${modelName ? ` for ${modelName}` : ""}`);
37
39
  if (isPublic) {
38
40
  log.debug(`Public route — skipping auth`);
39
41
  }
40
42
  else if (this.authHandler) {
41
- await this.authHandler.authorize(ctx, effectiveModel, requiredRoles, this.requestContext);
43
+ await this.authHandler.authorize(ctx, effectiveModel, requiredRoles, requiredNamespaces, skipModelNamespaces, this.requestContext);
42
44
  }
43
45
  else {
44
46
  log.debug(`No auth handler registered`);
45
47
  }
46
- // Transformers run AFTER auth so they can read auth-populated fields
47
- // (e.g. `user`) from the context and map them to adapter-specific keys
48
- // (e.g. `UUID` for RamAdapter's @createdBy/@updatedBy handlers).
49
48
  await this.applyTransformers();
50
- const user = this.requestContext.getOrUndefined("user");
51
- const organization = this.requestContext.getOrUndefined("organization");
52
- if (user || organization) {
53
- const currentLog = this.requestContext.get("logger");
54
- const childLog = currentLog.for({ user, organization });
55
- this.requestContext.accumulate({ logger: childLog });
56
- }
57
49
  return next.handle();
58
50
  }
59
51
  async applyTransformers() {
@@ -81,4 +73,4 @@ AuthInterceptor = __decorate([
81
73
  DecafRequestContext, Object])
82
74
  ], AuthInterceptor);
83
75
  export { AuthInterceptor };
84
- //# sourceMappingURL=AuthInterceptor.js.map
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0aEludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F1dGgvQXV0aEludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxVQUFVLEVBSVYsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEdBQ04sTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSXpDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekMsT0FBTyxFQUNMLFlBQVksRUFDWixhQUFhLEVBQ2IsYUFBYSxFQUNiLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLHlCQUF5QixHQUMxQix1QkFBb0I7QUFFckIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDRDQUF1QztBQUc5RCxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFlO0lBQzFCLFlBQ21CLFNBQW9CLEVBQ2xCLGNBQW1DLEVBQ0gsV0FBeUI7UUFGM0QsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNsQixtQkFBYyxHQUFkLGNBQWMsQ0FBcUI7UUFDSCxnQkFBVyxHQUFYLFdBQVcsQ0FBYztJQUMzRSxDQUFDO0lBRUosS0FBSyxDQUFDLFNBQVMsQ0FDYixHQUFxQixFQUNyQixJQUFpQjtRQUVqQixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBVSxhQUFhLEVBQUU7WUFDeEUsR0FBRyxDQUFDLFVBQVUsRUFBRTtZQUNoQixHQUFHLENBQUMsUUFBUSxFQUFFO1NBQ2Ys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RUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBS2hDLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFBRSxXQUFBLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtxQ0FGTCxTQUFTO1FBQ0YsbUJBQW1CO0dBSDdDLGVBQWUsQ0FxRjNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZSxcbiAgTmVzdEludGVyY2VwdG9yLFxuICBFeGVjdXRpb25Db250ZXh0LFxuICBDYWxsSGFuZGxlcixcbiAgSW5qZWN0LFxuICBPcHRpb25hbCxcbiAgU2NvcGUsXG59IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgUmVmbGVjdG9yIH0gZnJvbSBcIkBuZXN0anMvY29yZVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBMb2dnaW5nIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBBZGFwdGVyIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBSZXF1ZXN0VG9Db250ZXh0VHJhbnNmb3JtZXIgfSBmcm9tIFwiQGRlY2FmLXRzL2Zvci1odHRwL3NlcnZlclwiO1xuXG5pbXBvcnQge1xuICBBVVRIX0hBTkRMRVIsXG4gIEFVVEhfTUVUQV9LRVksXG4gIElTX1BVQkxJQ19LRVksXG4gIFJFUVVJUkVEX05BTUVTUEFDRVNfS0VZLFxuICBSRVFVSVJFRF9ST0xFU19LRVksXG4gIFNLSVBfTU9ERUxfUk9MRVNfS0VZLFxuICBTS0lQX01PREVMX05BTUVTUEFDRVNfS0VZLFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB0eXBlIHsgQXV0aEhhbmRsZXIgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IERlY2FmUmVxdWVzdENvbnRleHQgfSBmcm9tIFwiLi4vcmVxdWVzdC9EZWNhZlJlcXVlc3RDb250ZXh0XCI7XG5cbkBJbmplY3RhYmxlKHsgc2NvcGU6IFNjb3BlLlJFUVVFU1QgfSlcbmV4cG9ydCBjbGFzcyBBdXRoSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBOZXN0SW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZmxlY3RvcjogUmVmbGVjdG9yLFxuICAgIHByb3RlY3RlZCByZWFkb25seSByZXF1ZXN0Q29udGV4dDogRGVjYWZSZXF1ZXN0Q29udGV4dCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFVVEhfSEFORExFUikgcHJpdmF0ZSByZWFkb25seSBhdXRoSGFuZGxlcj86IEF1dGhIYW5kbGVyXG4gICkge31cblxuICBhc3luYyBpbnRlcmNlcHQoXG4gICAgY3R4OiBFeGVjdXRpb25Db250ZXh0LFxuICAgIG5leHQ6IENhbGxIYW5kbGVyXG4gICk6IFByb21pc2U8T2JzZXJ2YWJsZTxhbnk+PiB7XG4gICAgY29uc3QgbG9nID0gTG9nZ2luZy5mb3IodGhpcyBhcyBhbnkpLmZvcih0aGlzLmludGVyY2VwdCk7XG5cbiAgICBjb25zdCBpc1B1YmxpYyA9IHRoaXMucmVmbGVjdG9yLmdldEFsbEFuZE92ZXJyaWRlPGJvb2xlYW4+KElTX1BVQkxJQ19LRVksIFtcbiAgICAgIGN0eC5nZXRIYW5kbGVyKCksXG4gICAgICBjdHguZ2V0Q2xhc3MoKSxcbiAgICBdKTtcblxuICAgIGNvbnN0IG1vZGVsTmFtZSA9XG4gICAgICB0aGlzLnJlZmxlY3Rvci5nZXQ8c3RyaW5nIHwgQ29uc3RydWN0b3I+KFxuICAgICAgICBBVVRIX01FVEFfS0VZLFxuICAgICAgICBjdHguZ2V0SGFuZGxlcigpXG4gICAgICApID8/XG4gICAgICB0aGlzLnJlZmxlY3Rvci5nZXQ8c3RyaW5nIHwgQ29uc3RydWN0b3I+KEFVVEhfTUVUQV9LRVksIGN0eC5nZXRDbGFzcygpKTtcblxuICAgIGNvbnN0IHJlcXVpcmVkUm9sZXMgPSB0aGlzLnJlZmxlY3Rvci5nZXRBbGxBbmRPdmVycmlkZTxzdHJpbmdbXT4oXG4gICAgICBSRVFVSVJFRF9ST0xFU19LRVksXG4gICAgICBbY3R4LmdldEhhbmRsZXIoKSwgY3R4LmdldENsYXNzKCldXG4gICAgKTtcblxuICAgIGNvbnN0IHJlcXVpcmVkTmFtZXNwYWNlcyA9IHRoaXMucmVmbGVjdG9yLmdldEFsbEFuZE92ZXJyaWRlPHN0cmluZ1tdPihcbiAgICAgIFJFUVVJUkVEX05BTUVTUEFDRVNfS0VZLFxuICAgICAgW2N0eC5nZXRIYW5kbGVyKCksIGN0eC5nZXRDbGFzcygpXVxuICAgICk7XG5cbiAgICBjb25zdCBza2lwTW9kZWxSb2xlcyA9IHRoaXMucmVmbGVjdG9yLmdldEFsbEFuZE92ZXJyaWRlPGJvb2xlYW4+KFxuICAgICAgU0tJUF9NT0RFTF9ST0xFU19LRVksXG4gICAgICBbY3R4LmdldEhhbmRsZXIoKSwgY3R4LmdldENsYXNzKCldXG4gICAgKTtcblxuICAgIGNvbnN0IHNraXBNb2RlbE5hbWVzcGFjZXMgPSB0aGlzLnJlZmxlY3Rvci5nZXRBbGxBbmRPdmVycmlkZTxib29sZWFuPihcbiAgICAgIFNLSVBfTU9ERUxfTkFNRVNQQUNFU19LRVksXG4gICAgICBbY3R4LmdldEhhbmRsZXIoKSwgY3R4LmdldENsYXNzKCldXG4gICAgKTtcblxuICAgIGNvbnN0IGVmZmVjdGl2ZU1vZGVsID0gc2tpcE1vZGVsUm9sZXMgPyB1bmRlZmluZWQgOiBtb2RlbE5hbWU7XG5cbiAgICBsb2cudmVyYm9zZShgSW50ZXJjZXB0ZWQgcmVxdWVzdCR7bW9kZWxOYW1lID8gYCBmb3IgJHttb2RlbE5hbWV9YCA6IFwiXCJ9YCk7XG5cbiAgICBpZiAoaXNQdWJsaWMpIHtcbiAgICAgIGxvZy5kZWJ1ZyhgUHVibGljIHJvdXRlIOKAlCBza2lwcGluZyBhdXRoYCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmF1dGhIYW5kbGVyKSB7XG4gICAgICBhd2FpdCB0aGlzLmF1dGhIYW5kbGVyLmF1dGhvcml6ZShcbiAgICAgICAgY3R4LFxuICAgICAgICBlZmZlY3RpdmVNb2RlbCBhcyBzdHJpbmcgfCBDb25zdHJ1Y3RvcixcbiAgICAgICAgcmVxdWlyZWRSb2xlcyxcbiAgICAgICAgcmVxdWlyZWROYW1lc3BhY2VzLFxuICAgICAgICBza2lwTW9kZWxOYW1lc3BhY2VzLFxuICAgICAgICB0aGlzLnJlcXVlc3RDb250ZXh0XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuZGVidWcoYE5vIGF1dGggaGFuZGxlciByZWdpc3RlcmVkYCk7XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5hcHBseVRyYW5zZm9ybWVycygpO1xuXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgYXBwbHlUcmFuc2Zvcm1lcnMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZmxhdm91cnMgPSBBZGFwdGVyLmZsYXZvdXJzVG9UcmFuc2Zvcm0oKTtcbiAgICBpZiAoIWZsYXZvdXJzKSByZXR1cm47XG5cbiAgICBmb3IgKGNvbnN0IGZsYXZvdXIgb2YgZmxhdm91cnMpIHtcbiAgICAgIGNvbnN0IHRyYW5zZm9ybWVyID0gQWRhcHRlci50cmFuc2Zvcm1lckZvcihcbiAgICAgICAgZmxhdm91clxuICAgICAgKSBhcyBSZXF1ZXN0VG9Db250ZXh0VHJhbnNmb3JtZXI8YW55PjtcbiAgICAgIGlmICghdHJhbnNmb3JtZXIpIGNvbnRpbnVlO1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSAodHJhbnNmb3JtZXIgYXMgYW55KS5mcm9tXG4gICAgICAgID8gdHJhbnNmb3JtZXJcbiAgICAgICAgOiBuZXcgKHRyYW5zZm9ybWVyIGFzIGFueSkoKTtcbiAgICAgIGNvbnN0IGZyb20gPSBhd2FpdCBpbnN0YW5jZS5mcm9tKHRoaXMucmVxdWVzdENvbnRleHQpO1xuICAgICAgaWYgKGZyb20pIHRoaXMucmVxdWVzdENvbnRleHQuYWNjdW11bGF0ZShmcm9tKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,42 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { Inject, Injectable, Optional, Scope, } from "@nestjs/common";
14
+ import { AUTH_HANDLER } from "./constants.js";
15
+ import { DecafRequestContext } from "./../request/DecafRequestContext.js";
16
+ import { contextualizeRequestContext } from "./../request/contextualize.js";
17
+ let AuthMiddleware = class AuthMiddleware {
18
+ constructor(authHandler, requestContext) {
19
+ this.authHandler = authHandler;
20
+ this.requestContext = requestContext;
21
+ }
22
+ async use(req, _res, next) {
23
+ contextualizeRequestContext(this.requestContext, req);
24
+ if (this.authHandler) {
25
+ try {
26
+ await this.authHandler.prime(req, this.requestContext);
27
+ }
28
+ catch {
29
+ // Priming is best-effort. The interceptor will still perform validation.
30
+ }
31
+ }
32
+ await next();
33
+ }
34
+ };
35
+ AuthMiddleware = __decorate([
36
+ Injectable({ scope: Scope.REQUEST }),
37
+ __param(0, Optional()),
38
+ __param(0, Inject(AUTH_HANDLER)),
39
+ __metadata("design:paramtypes", [Object, DecafRequestContext])
40
+ ], AuthMiddleware);
41
+ export { AuthMiddleware };
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0aE1pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXV0aC9BdXRoTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFVBQVUsRUFFVixRQUFRLEVBQ1IsS0FBSyxHQUNOLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFlBQVksRUFBRSx1QkFBb0I7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDRDQUF1QztBQUNyRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsc0NBQWlDO0FBR2hFLElBQU0sY0FBYyxHQUFwQixNQUFNLGNBQWM7SUFDekIsWUFHbUIsV0FBb0MsRUFDcEMsY0FBbUM7UUFEbkMsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFxQjtJQUNuRCxDQUFDO0lBRUosS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFRLEVBQUUsSUFBUyxFQUFFLElBQWdDO1FBQzdELDJCQUEyQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDO2dCQUNILE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFxQixDQUFDLENBQUM7WUFDaEUsQ0FBQztZQUFDLE1BQU0sQ0FBQztnQkFDUCx5RUFBeUU7WUFDM0UsQ0FBQztRQUNILENBQUM7UUFDRCxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ2YsQ0FBQztDQUNGLENBQUE7QUFuQlksY0FBYztJQUQxQixVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBR2hDLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTs2Q0FFWSxtQkFBbUI7R0FMM0MsY0FBYyxDQW1CMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG4gIE5lc3RNaWRkbGV3YXJlLFxuICBPcHRpb25hbCxcbiAgU2NvcGUsXG59IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgQVVUSF9IQU5ETEVSIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgdHlwZSB7IEF1dGhIYW5kbGVyIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBEZWNhZlJlcXVlc3RDb250ZXh0IH0gZnJvbSBcIi4uL3JlcXVlc3QvRGVjYWZSZXF1ZXN0Q29udGV4dFwiO1xuaW1wb3J0IHsgY29udGV4dHVhbGl6ZVJlcXVlc3RDb250ZXh0IH0gZnJvbSBcIi4uL3JlcXVlc3QvY29udGV4dHVhbGl6ZVwiO1xuXG5ASW5qZWN0YWJsZSh7IHNjb3BlOiBTY29wZS5SRVFVRVNUIH0pXG5leHBvcnQgY2xhc3MgQXV0aE1pZGRsZXdhcmUgaW1wbGVtZW50cyBOZXN0TWlkZGxld2FyZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChBVVRIX0hBTkRMRVIpXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoSGFuZGxlcjogQXV0aEhhbmRsZXIgfCB1bmRlZmluZWQsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0Q29udGV4dDogRGVjYWZSZXF1ZXN0Q29udGV4dFxuICApIHt9XG5cbiAgYXN5bmMgdXNlKHJlcTogYW55LCBfcmVzOiBhbnksIG5leHQ6ICgpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29udGV4dHVhbGl6ZVJlcXVlc3RDb250ZXh0KHRoaXMucmVxdWVzdENvbnRleHQsIHJlcSk7XG4gICAgaWYgKHRoaXMuYXV0aEhhbmRsZXIpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMuYXV0aEhhbmRsZXIucHJpbWUocmVxLCB0aGlzLnJlcXVlc3RDb250ZXh0IGFzIGFueSk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gUHJpbWluZyBpcyBiZXN0LWVmZm9ydC4gVGhlIGludGVyY2VwdG9yIHdpbGwgc3RpbGwgcGVyZm9ybSB2YWxpZGF0aW9uLlxuICAgICAgfVxuICAgIH1cbiAgICBhd2FpdCBuZXh0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -3,18 +3,23 @@ import { AuthHandler } from "@decaf-ts/for-http/server";
3
3
  /**
4
4
  * Simple auth handler that reads a role string from the `Authorization: Bearer <role>` header.
5
5
  *
6
- * Only overrides {@link AuthHandler.extractFromAuth} to return the bearer token as
6
+ * Only overrides {@link AuthHandler.extractFromRequest} to return the bearer token as
7
7
  * both the user identifier and the single role. The base class `bindToContext`
8
8
  * (`ctx.accumulate(data)`) is sufficient — the transformer/adapter is responsible
9
9
  * for mapping context fields to adapter-specific keys like `UUID`.
10
10
  */
11
11
  export class DecafAuthHandler extends AuthHandler {
12
+ isPublicRequest(_request) {
13
+ return false;
14
+ }
12
15
  parseRequest(req) {
13
16
  const userRole = req.headers.authorization?.split(" ")[1];
14
17
  return userRole;
15
18
  }
16
- extractFromAuth(ctx) {
17
- const req = ctx.switchToHttp().getRequest();
19
+ requestFromContext(ctx) {
20
+ return ctx.switchToHttp().getRequest();
21
+ }
22
+ extractFromRequest(req) {
18
23
  const userRole = this.parseRequest(req);
19
24
  if (!userRole)
20
25
  throw new AuthorizationError("Unauthenticated");
@@ -28,4 +33,4 @@ export class DecafAuthHandler extends AuthHandler {
28
33
  */
29
34
  export class DecafRoleAuthHandler extends DecafAuthHandler {
30
35
  }
31
- //# sourceMappingURL=DecafAuthHandler.js.map
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVjYWZBdXRoSGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL0RlY2FmQXV0aEhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBNkIsTUFBTSwyQkFBMkIsQ0FBQztBQUduRjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBSXJDO0lBQ29CLGVBQWUsQ0FBQyxRQUF5QjtRQUMxRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFUyxZQUFZLENBQUMsR0FBUTtRQUM3QixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFXLENBQUM7UUFDcEUsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVTLGtCQUFrQixDQUFDLEdBQXFCO1FBQ2hELE9BQU8sR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxHQUFRO1FBQ25DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVE7WUFBRSxNQUFNLElBQUksa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQy9DLENBQUM7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZ0JBQWdCO0NBQUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGVjdXRpb25Db250ZXh0IH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBBdXRob3JpemF0aW9uRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEF1dGhIYW5kbGVyLCBBdXRoRGF0YSwgQXV0aFJlcXVlc3RMaWtlIH0gZnJvbSBcIkBkZWNhZi10cy9mb3ItaHR0cC9zZXJ2ZXJcIjtcbmltcG9ydCB7IERlY2FmUmVxdWVzdENvbnRleHQgfSBmcm9tIFwiLi4vcmVxdWVzdC9EZWNhZlJlcXVlc3RDb250ZXh0XCI7XG5cbi8qKlxuICogU2ltcGxlIGF1dGggaGFuZGxlciB0aGF0IHJlYWRzIGEgcm9sZSBzdHJpbmcgZnJvbSB0aGUgYEF1dGhvcml6YXRpb246IEJlYXJlciA8cm9sZT5gIGhlYWRlci5cbiAqXG4gKiBPbmx5IG92ZXJyaWRlcyB7QGxpbmsgQXV0aEhhbmRsZXIuZXh0cmFjdEZyb21SZXF1ZXN0fSB0byByZXR1cm4gdGhlIGJlYXJlciB0b2tlbiBhc1xuICogYm90aCB0aGUgdXNlciBpZGVudGlmaWVyIGFuZCB0aGUgc2luZ2xlIHJvbGUuIFRoZSBiYXNlIGNsYXNzIGBiaW5kVG9Db250ZXh0YFxuICogKGBjdHguYWNjdW11bGF0ZShkYXRhKWApIGlzIHN1ZmZpY2llbnQg4oCUIHRoZSB0cmFuc2Zvcm1lci9hZGFwdGVyIGlzIHJlc3BvbnNpYmxlXG4gKiBmb3IgbWFwcGluZyBjb250ZXh0IGZpZWxkcyB0byBhZGFwdGVyLXNwZWNpZmljIGtleXMgbGlrZSBgVVVJRGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWNhZkF1dGhIYW5kbGVyIGV4dGVuZHMgQXV0aEhhbmRsZXI8XG4gIEV4ZWN1dGlvbkNvbnRleHQsXG4gIERlY2FmUmVxdWVzdENvbnRleHQsXG4gIEF1dGhEYXRhXG4+IHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzUHVibGljUmVxdWVzdChfcmVxdWVzdDogQXV0aFJlcXVlc3RMaWtlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlUmVxdWVzdChyZXE6IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdXNlclJvbGUgPSByZXEuaGVhZGVycy5hdXRob3JpemF0aW9uPy5zcGxpdChcIiBcIilbMV0gYXMgc3RyaW5nO1xuICAgIHJldHVybiB1c2VyUm9sZTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXF1ZXN0RnJvbUNvbnRleHQoY3R4OiBFeGVjdXRpb25Db250ZXh0KSB7XG4gICAgcmV0dXJuIGN0eC5zd2l0Y2hUb0h0dHAoKS5nZXRSZXF1ZXN0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZXh0cmFjdEZyb21SZXF1ZXN0KHJlcTogYW55KTogQXV0aERhdGEge1xuICAgIGNvbnN0IHVzZXJSb2xlID0gdGhpcy5wYXJzZVJlcXVlc3QocmVxKTtcbiAgICBpZiAoIXVzZXJSb2xlKSB0aHJvdyBuZXcgQXV0aG9yaXphdGlvbkVycm9yKFwiVW5hdXRoZW50aWNhdGVkXCIpO1xuICAgIHJldHVybiB7IHVzZXI6IHVzZXJSb2xlLCByb2xlczogW3VzZXJSb2xlXSB9O1xuICB9XG59XG5cbi8qKlxuICogQWxpYXMgZm9yIHtAbGluayBEZWNhZkF1dGhIYW5kbGVyfSBrZXB0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuICogVGhlIFwicm9sZVwiIHZhcmlhbnQgcHJldmlvdXNseSByZXR1cm5lZCByb2xlcyBmcm9tIGBhdXRob3JpemVgOyB3aXRoIHRoZSBiYXNlXG4gKiBjbGFzcyBub3cgb3JjaGVzdHJhdGluZyByb2xlIGNoZWNrcyBpbnRlcm5hbGx5LCB0aGUgdHdvIGNsYXNzZXMgYXJlIGVxdWl2YWxlbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWNhZlJvbGVBdXRoSGFuZGxlciBleHRlbmRzIERlY2FmQXV0aEhhbmRsZXIge31cbiJdfQ==
@@ -5,14 +5,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  var DecafAuthModule_1;
8
- import { Module } from "@nestjs/common";
8
+ import { Module, RequestMethod } from "@nestjs/common";
9
9
  import { APP_INTERCEPTOR } from "@nestjs/core";
10
10
  import { AuthInterceptor } from "./AuthInterceptor.js";
11
+ import { AuthMiddleware } from "./AuthMiddleware.js";
11
12
  import { AUTH_HANDLER } from "./constants.js";
12
13
  let DecafAuthModule = DecafAuthModule_1 = class DecafAuthModule {
13
14
  static forRoot(options = {}) {
14
15
  const providers = [
15
16
  AuthInterceptor,
17
+ AuthMiddleware,
16
18
  ];
17
19
  if (options.handler) {
18
20
  providers.push(options.handler);
@@ -31,12 +33,15 @@ let DecafAuthModule = DecafAuthModule_1 = class DecafAuthModule {
31
33
  module: DecafAuthModule_1,
32
34
  global: options.global ?? false,
33
35
  providers,
34
- exports: [AuthInterceptor, AUTH_HANDLER],
36
+ exports: [AuthInterceptor, AuthMiddleware, AUTH_HANDLER],
35
37
  };
36
38
  }
39
+ configure(consumer) {
40
+ consumer.apply(AuthMiddleware).forRoutes({ path: "*", method: RequestMethod.ALL });
41
+ }
37
42
  };
38
43
  DecafAuthModule = DecafAuthModule_1 = __decorate([
39
44
  Module({})
40
45
  ], DecafAuthModule);
41
46
  export { DecafAuthModule };
42
- //# sourceMappingURL=DecafAuthModule.js.map
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVjYWZBdXRoTW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F1dGgvRGVjYWZBdXRoTW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxPQUFPLEVBQXFDLE1BQU0sRUFBYyxhQUFhLEVBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsNkJBQTBCO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsNEJBQXlCO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsdUJBQW9CO0FBU3BDLElBQU0sZUFBZSx1QkFBckIsTUFBTSxlQUFlO0lBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQ1osVUFBa0MsRUFBRTtRQUVwQyxNQUFNLFNBQVMsR0FBK0I7WUFDNUMsZUFBZTtZQUNmLGNBQWM7U0FDZixDQUFDO1FBRUYsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEMsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDYixPQUFPLEVBQUUsWUFBWTtnQkFDckIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxPQUFPO2FBQzFCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQixTQUFtQixDQUFDLElBQUksQ0FBQztnQkFDeEIsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFdBQVcsRUFBRSxlQUFlO2FBQzdCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPO1lBQ0wsTUFBTSxFQUFFLGlCQUFlO1lBQ3ZCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxJQUFJLEtBQUs7WUFDL0IsU0FBUztZQUNULE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDO1NBQ3pELENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUyxDQUFDLFFBQTRCO1FBQ3BDLFFBQVEsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQztDQUNGLENBQUE7QUFuQ1ksZUFBZTtJQUQzQixNQUFNLENBQUMsRUFBRSxDQUFDO0dBQ0UsZUFBZSxDQW1DM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbWljTW9kdWxlLCBNaWRkbGV3YXJlQ29uc3VtZXIsIE1vZHVsZSwgTmVzdE1vZHVsZSwgUmVxdWVzdE1ldGhvZCwgVHlwZSB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgQVBQX0lOVEVSQ0VQVE9SIH0gZnJvbSBcIkBuZXN0anMvY29yZVwiO1xuXG5pbXBvcnQgeyBBdXRoSW50ZXJjZXB0b3IgfSBmcm9tIFwiLi9BdXRoSW50ZXJjZXB0b3JcIjtcbmltcG9ydCB7IEF1dGhNaWRkbGV3YXJlIH0gZnJvbSBcIi4vQXV0aE1pZGRsZXdhcmVcIjtcbmltcG9ydCB7IEFVVEhfSEFORExFUiB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgQXV0aEhhbmRsZXIgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuZXhwb3J0IHR5cGUgRGVjYWZBdXRoTW9kdWxlT3B0aW9ucyA9IHtcbiAgZ2xvYmFsPzogYm9vbGVhbjtcbiAgaGFuZGxlcj86IFR5cGU8QXV0aEhhbmRsZXI+O1xufTtcblxuQE1vZHVsZSh7fSlcbmV4cG9ydCBjbGFzcyBEZWNhZkF1dGhNb2R1bGUgaW1wbGVtZW50cyBOZXN0TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoXG4gICAgb3B0aW9uczogRGVjYWZBdXRoTW9kdWxlT3B0aW9ucyA9IHt9XG4gICk6IER5bmFtaWNNb2R1bGUge1xuICAgIGNvbnN0IHByb3ZpZGVyczogRHluYW1pY01vZHVsZVtcInByb3ZpZGVyc1wiXSA9IFtcbiAgICAgIEF1dGhJbnRlcmNlcHRvcixcbiAgICAgIEF1dGhNaWRkbGV3YXJlLFxuICAgIF07XG5cbiAgICBpZiAob3B0aW9ucy5oYW5kbGVyKSB7XG4gICAgICBwcm92aWRlcnMucHVzaChvcHRpb25zLmhhbmRsZXIpO1xuICAgICAgcHJvdmlkZXJzLnB1c2goe1xuICAgICAgICBwcm92aWRlOiBBVVRIX0hBTkRMRVIsXG4gICAgICAgIHVzZUNsYXNzOiBvcHRpb25zLmhhbmRsZXIsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5nbG9iYWwpIHtcbiAgICAgIChwcm92aWRlcnMgYXMgYW55W10pLnB1c2goe1xuICAgICAgICBwcm92aWRlOiBBUFBfSU5URVJDRVBUT1IsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBBdXRoSW50ZXJjZXB0b3IsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlOiBEZWNhZkF1dGhNb2R1bGUsXG4gICAgICBnbG9iYWw6IG9wdGlvbnMuZ2xvYmFsID8/IGZhbHNlLFxuICAgICAgcHJvdmlkZXJzLFxuICAgICAgZXhwb3J0czogW0F1dGhJbnRlcmNlcHRvciwgQXV0aE1pZGRsZXdhcmUsIEFVVEhfSEFORExFUl0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbmZpZ3VyZShjb25zdW1lcjogTWlkZGxld2FyZUNvbnN1bWVyKSB7XG4gICAgY29uc3VtZXIuYXBwbHkoQXV0aE1pZGRsZXdhcmUpLmZvclJvdXRlcyh7IHBhdGg6IFwiKlwiLCBtZXRob2Q6IFJlcXVlc3RNZXRob2QuQUxMIH0pO1xuICB9XG59XG4iXX0=
@@ -2,5 +2,7 @@ export const AUTH_HANDLER = Symbol("AUTH_HANDLER");
2
2
  export const AUTH_META_KEY = "auth:meta";
3
3
  export const IS_PUBLIC_KEY = "isPublic";
4
4
  export const REQUIRED_ROLES_KEY = "requiredRoles";
5
+ export const REQUIRED_NAMESPACES_KEY = "requiredNamespaces";
5
6
  export const SKIP_MODEL_ROLES_KEY = "skipModelRoles";
6
- //# sourceMappingURL=constants.js.map
7
+ export const SKIP_MODEL_NAMESPACES_KEY = "skipModelNamespaces";
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F1dGgvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGVBQWUsQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxvQkFBb0IsQ0FBQztBQUM1RCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBVVRIX0hBTkRMRVIgPSBTeW1ib2woXCJBVVRIX0hBTkRMRVJcIik7XG5leHBvcnQgY29uc3QgQVVUSF9NRVRBX0tFWSA9IFwiYXV0aDptZXRhXCI7XG5leHBvcnQgY29uc3QgSVNfUFVCTElDX0tFWSA9IFwiaXNQdWJsaWNcIjtcbmV4cG9ydCBjb25zdCBSRVFVSVJFRF9ST0xFU19LRVkgPSBcInJlcXVpcmVkUm9sZXNcIjtcbmV4cG9ydCBjb25zdCBSRVFVSVJFRF9OQU1FU1BBQ0VTX0tFWSA9IFwicmVxdWlyZWROYW1lc3BhY2VzXCI7XG5leHBvcnQgY29uc3QgU0tJUF9NT0RFTF9ST0xFU19LRVkgPSBcInNraXBNb2RlbFJvbGVzXCI7XG5leHBvcnQgY29uc3QgU0tJUF9NT0RFTF9OQU1FU1BBQ0VTX0tFWSA9IFwic2tpcE1vZGVsTmFtZXNwYWNlc1wiO1xuIl19
@@ -1,6 +1,6 @@
1
1
  import { applyDecorators, SetMetadata, UseInterceptors } from "@nestjs/common";
2
2
  import { ApiBearerAuth, ApiSecurity } from "@nestjs/swagger";
3
- import { AUTH_META_KEY, IS_PUBLIC_KEY, REQUIRED_ROLES_KEY } from "./constants.js";
3
+ import { AUTH_META_KEY, IS_PUBLIC_KEY, REQUIRED_NAMESPACES_KEY, REQUIRED_ROLES_KEY, } from "./constants.js";
4
4
  import { AuthInterceptor } from "./AuthInterceptor.js";
5
5
  export function Auth(model) {
6
6
  const resource = model
@@ -19,4 +19,7 @@ export function Public() {
19
19
  export function RequireRoles(...roles) {
20
20
  return applyDecorators(ApiSecurity("bearer"), SetMetadata(REQUIRED_ROLES_KEY, roles), UseInterceptors(AuthInterceptor));
21
21
  }
22
- //# sourceMappingURL=decorators.js.map
22
+ export function RequireNamespaces(...namespaces) {
23
+ return applyDecorators(ApiSecurity("bearer"), SetMetadata(REQUIRED_NAMESPACES_KEY, namespaces), UseInterceptors(AuthInterceptor));
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUc3RCxPQUFPLEVBQ0wsYUFBYSxFQUNiLGFBQWEsRUFDYix1QkFBdUIsRUFDdkIsa0JBQWtCLEdBQ25CLHVCQUFvQjtBQUNyQixPQUFPLEVBQUUsZUFBZSxFQUFFLDZCQUEwQjtBQUVwRCxNQUFNLFVBQVUsSUFBSSxDQUFDLEtBQTRCO0lBQy9DLE1BQU0sUUFBUSxHQUFHLEtBQUs7UUFDcEIsQ0FBQyxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFDekIsQ0FBQyxDQUFDLEtBQUs7WUFDUCxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUk7UUFDZCxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2QsTUFBTSxJQUFJLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRSxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUNqRSxJQUFJLFFBQVE7UUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM5RCxPQUFPLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTTtJQUNwQixPQUFPLGVBQWUsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBRyxLQUFlO0lBQzdDLE9BQU8sZUFBZSxDQUNwQixXQUFXLENBQUMsUUFBUSxDQUFDLEVBQ3JCLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsRUFDdEMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUNqQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxHQUFHLFVBQW9CO0lBQ3ZELE9BQU8sZUFBZSxDQUNwQixXQUFXLENBQUMsUUFBUSxDQUFDLEVBQ3JCLFdBQVcsQ0FBQyx1QkFBdUIsRUFBRSxVQUFVLENBQUMsRUFDaEQsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUNqQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcGx5RGVjb3JhdG9ycywgU2V0TWV0YWRhdGEsIFVzZUludGVyY2VwdG9ycyB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgQXBpQmVhcmVyQXV0aCwgQXBpU2VjdXJpdHkgfSBmcm9tIFwiQG5lc3Rqcy9zd2FnZ2VyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuXG5pbXBvcnQge1xuICBBVVRIX01FVEFfS0VZLFxuICBJU19QVUJMSUNfS0VZLFxuICBSRVFVSVJFRF9OQU1FU1BBQ0VTX0tFWSxcbiAgUkVRVUlSRURfUk9MRVNfS0VZLFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEF1dGhJbnRlcmNlcHRvciB9IGZyb20gXCIuL0F1dGhJbnRlcmNlcHRvclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gQXV0aChtb2RlbD86IHN0cmluZyB8IENvbnN0cnVjdG9yKSB7XG4gIGNvbnN0IHJlc291cmNlID0gbW9kZWxcbiAgICA/IHR5cGVvZiBtb2RlbCA9PT0gXCJzdHJpbmdcIlxuICAgICAgPyBtb2RlbFxuICAgICAgOiBtb2RlbC5uYW1lXG4gICAgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGRlY3MgPSBbQXBpQmVhcmVyQXV0aCgpLCBVc2VJbnRlcmNlcHRvcnMoQXV0aEludGVyY2VwdG9yKV07XG4gIGlmIChyZXNvdXJjZSkgZGVjcy5wdXNoKFNldE1ldGFkYXRhKEFVVEhfTUVUQV9LRVksIHJlc291cmNlKSk7XG4gIHJldHVybiBhcHBseURlY29yYXRvcnMoLi4uZGVjcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQdWJsaWMoKSB7XG4gIHJldHVybiBhcHBseURlY29yYXRvcnMoU2V0TWV0YWRhdGEoSVNfUFVCTElDX0tFWSwgdHJ1ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVxdWlyZVJvbGVzKC4uLnJvbGVzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gYXBwbHlEZWNvcmF0b3JzKFxuICAgIEFwaVNlY3VyaXR5KFwiYmVhcmVyXCIpLFxuICAgIFNldE1ldGFkYXRhKFJFUVVJUkVEX1JPTEVTX0tFWSwgcm9sZXMpLFxuICAgIFVzZUludGVyY2VwdG9ycyhBdXRoSW50ZXJjZXB0b3IpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSZXF1aXJlTmFtZXNwYWNlcyguLi5uYW1lc3BhY2VzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gYXBwbHlEZWNvcmF0b3JzKFxuICAgIEFwaVNlY3VyaXR5KFwiYmVhcmVyXCIpLFxuICAgIFNldE1ldGFkYXRhKFJFUVVJUkVEX05BTUVTUEFDRVNfS0VZLCBuYW1lc3BhY2VzKSxcbiAgICBVc2VJbnRlcmNlcHRvcnMoQXV0aEludGVyY2VwdG9yKVxuICApO1xufVxuIl19
@@ -1,6 +1,7 @@
1
1
  export * from "./constants.js";
2
2
  export * from "./AuthInterceptor.js";
3
+ export * from "./AuthMiddleware.js";
3
4
  export * from "./DecafAuthHandler.js";
4
5
  export * from "./decorators.js";
5
6
  export * from "./DecafAuthModule.js";
6
- //# sourceMappingURL=index.js.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXV0aC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBNEI7QUFDNUIscUNBQWtDO0FBQ2xDLG9DQUFpQztBQUNqQyxzQ0FBbUM7QUFDbkMsZ0NBQTZCO0FBQzdCLHFDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vQXV0aEludGVyY2VwdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9BdXRoTWlkZGxld2FyZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vRGVjYWZBdXRoSGFuZGxlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRGVjYWZBdXRoTW9kdWxlXCI7XG5cbmV4cG9ydCB0eXBlIHtcbiAgQXV0aEhhbmRsZXIgYXMgQXV0aEhhbmRsZXJCYXNlLFxuICBBdXRoRGF0YSxcbiAgVXNlckRhdGEsXG4gIEF1dGhSZXF1ZXN0TGlrZSxcbn0gZnJvbSBcIkBkZWNhZi10cy9mb3ItaHR0cC9zZXJ2ZXJcIjtcbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  import nest from "./../cli-module.js";
2
2
  nest().parse(process.argv);
3
- //# sourceMappingURL=cli.js.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jpbi9jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLDJCQUFzQjtBQUVqQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG5lc3QgZnJvbSBcIi4uL2NsaS1tb2R1bGVcIjtcblxubmVzdCgpLnBhcnNlKHByb2Nlc3MuYXJndik7XG4iXX0=