@payloadcms/next 3.0.0-alpha.4 → 3.0.0-alpha.40

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 (775) hide show
  1. package/dist/bin/index.js +5 -14
  2. package/dist/bin/install.js +16 -31
  3. package/dist/config.js +2 -12
  4. package/dist/elements/ClearRouteCache/index.d.ts +3 -0
  5. package/dist/elements/ClearRouteCache/index.d.ts.map +1 -0
  6. package/dist/elements/ClearRouteCache/index.js +16 -0
  7. package/dist/elements/LeaveWithoutSaving/index.js +26 -76
  8. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +11 -29
  9. package/dist/exports/index.d.ts +1 -1
  10. package/dist/exports/index.d.ts.map +1 -1
  11. package/dist/exports/index.js +2 -12
  12. package/dist/graphql/registerSchema.js +0 -1
  13. package/dist/index.d.ts +5 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +6 -3
  16. package/dist/layouts/Admin/index.js +9 -32
  17. package/dist/layouts/Root/index.d.ts.map +1 -1
  18. package/dist/layouts/Root/index.js +39 -55
  19. package/dist/next-fileupload/fileFactory.d.ts +2 -2
  20. package/dist/next-fileupload/fileFactory.d.ts.map +1 -1
  21. package/dist/next-fileupload/fileFactory.js +9 -19
  22. package/dist/next-fileupload/handlers.d.ts +2 -2
  23. package/dist/next-fileupload/handlers.d.ts.map +1 -1
  24. package/dist/next-fileupload/handlers.js +25 -89
  25. package/dist/next-fileupload/index.d.ts +1 -1
  26. package/dist/next-fileupload/index.js +10 -25
  27. package/dist/next-fileupload/isEligibleRequest.js +2 -12
  28. package/dist/next-fileupload/processMultipart.d.ts +1 -1
  29. package/dist/next-fileupload/processMultipart.d.ts.map +1 -1
  30. package/dist/next-fileupload/processMultipart.js +33 -46
  31. package/dist/next-fileupload/processNested.js +4 -14
  32. package/dist/next-fileupload/uploadTimer.js +2 -12
  33. package/dist/next-fileupload/utilities.d.ts +1 -1
  34. package/dist/next-fileupload/utilities.d.ts.map +1 -1
  35. package/dist/next-fileupload/utilities.js +31 -76
  36. package/dist/next-stream-file/index.d.ts +4 -0
  37. package/dist/next-stream-file/index.d.ts.map +1 -1
  38. package/dist/next-stream-file/index.js +6 -21
  39. package/dist/routes/graphql/handler.d.ts.map +1 -1
  40. package/dist/routes/graphql/handler.js +19 -36
  41. package/dist/routes/graphql/index.d.ts +2 -2
  42. package/dist/routes/graphql/index.d.ts.map +1 -1
  43. package/dist/routes/graphql/index.js +3 -21
  44. package/dist/routes/graphql/playground.js +6 -16
  45. package/dist/routes/index.d.ts +2 -3
  46. package/dist/routes/index.d.ts.map +1 -1
  47. package/dist/routes/index.js +3 -37
  48. package/dist/routes/rest/RouteError.js +10 -25
  49. package/dist/routes/rest/auth/access.d.ts +1 -1
  50. package/dist/routes/rest/auth/access.d.ts.map +1 -1
  51. package/dist/routes/rest/auth/access.js +6 -21
  52. package/dist/routes/rest/auth/forgotPassword.d.ts +1 -1
  53. package/dist/routes/rest/auth/forgotPassword.d.ts.map +1 -1
  54. package/dist/routes/rest/auth/forgotPassword.js +6 -21
  55. package/dist/routes/rest/auth/init.d.ts +1 -1
  56. package/dist/routes/rest/auth/init.d.ts.map +1 -1
  57. package/dist/routes/rest/auth/init.js +4 -14
  58. package/dist/routes/rest/auth/login.d.ts +1 -1
  59. package/dist/routes/rest/auth/login.d.ts.map +1 -1
  60. package/dist/routes/rest/auth/login.js +10 -25
  61. package/dist/routes/rest/auth/logout.d.ts +1 -1
  62. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  63. package/dist/routes/rest/auth/logout.js +9 -24
  64. package/dist/routes/rest/auth/me.d.ts +1 -1
  65. package/dist/routes/rest/auth/me.d.ts.map +1 -1
  66. package/dist/routes/rest/auth/me.js +8 -23
  67. package/dist/routes/rest/auth/refresh.d.ts +1 -1
  68. package/dist/routes/rest/auth/refresh.d.ts.map +1 -1
  69. package/dist/routes/rest/auth/refresh.js +11 -25
  70. package/dist/routes/rest/auth/registerFirstUser.d.ts +1 -1
  71. package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -1
  72. package/dist/routes/rest/auth/registerFirstUser.js +8 -23
  73. package/dist/routes/rest/auth/resetPassword.d.ts +1 -1
  74. package/dist/routes/rest/auth/resetPassword.d.ts.map +1 -1
  75. package/dist/routes/rest/auth/resetPassword.js +8 -23
  76. package/dist/routes/rest/auth/unlock.d.ts +1 -1
  77. package/dist/routes/rest/auth/unlock.d.ts.map +1 -1
  78. package/dist/routes/rest/auth/unlock.js +6 -21
  79. package/dist/routes/rest/auth/verifyEmail.d.ts +1 -1
  80. package/dist/routes/rest/auth/verifyEmail.d.ts.map +1 -1
  81. package/dist/routes/rest/auth/verifyEmail.js +6 -21
  82. package/dist/routes/rest/buildFormState.js +11 -34
  83. package/dist/routes/rest/checkEndpoints.d.ts.map +1 -1
  84. package/dist/routes/rest/checkEndpoints.js +4 -19
  85. package/dist/routes/rest/collections/create.d.ts +1 -1
  86. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  87. package/dist/routes/rest/collections/create.js +8 -23
  88. package/dist/routes/rest/collections/delete.d.ts +1 -1
  89. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  90. package/dist/routes/rest/collections/delete.js +13 -31
  91. package/dist/routes/rest/collections/deleteByID.d.ts +1 -1
  92. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  93. package/dist/routes/rest/collections/deleteByID.js +9 -24
  94. package/dist/routes/rest/collections/docAccess.d.ts +1 -1
  95. package/dist/routes/rest/collections/docAccess.d.ts.map +1 -1
  96. package/dist/routes/rest/collections/docAccess.js +6 -21
  97. package/dist/routes/rest/collections/find.d.ts +1 -1
  98. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  99. package/dist/routes/rest/collections/find.js +11 -29
  100. package/dist/routes/rest/collections/findByID.d.ts +1 -1
  101. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  102. package/dist/routes/rest/collections/findByID.js +8 -23
  103. package/dist/routes/rest/collections/findVersionByID.d.ts +1 -1
  104. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  105. package/dist/routes/rest/collections/findVersionByID.js +8 -23
  106. package/dist/routes/rest/collections/findVersions.d.ts +1 -1
  107. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  108. package/dist/routes/rest/collections/findVersions.js +11 -29
  109. package/dist/routes/rest/collections/restoreVersion.d.ts +1 -1
  110. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  111. package/dist/routes/rest/collections/restoreVersion.js +8 -23
  112. package/dist/routes/rest/collections/update.d.ts +1 -1
  113. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  114. package/dist/routes/rest/collections/update.js +13 -31
  115. package/dist/routes/rest/collections/updateByID.d.ts +1 -1
  116. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  117. package/dist/routes/rest/collections/updateByID.js +8 -23
  118. package/dist/routes/rest/files/checkFileAccess.d.ts +7 -0
  119. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -0
  120. package/dist/routes/rest/files/checkFileAccess.js +50 -0
  121. package/dist/routes/rest/files/getFile.d.ts +9 -0
  122. package/dist/routes/rest/files/getFile.d.ts.map +1 -0
  123. package/dist/routes/rest/files/getFile.js +52 -0
  124. package/dist/routes/rest/globals/docAccess.d.ts +1 -1
  125. package/dist/routes/rest/globals/docAccess.d.ts.map +1 -1
  126. package/dist/routes/rest/globals/docAccess.js +6 -21
  127. package/dist/routes/rest/globals/findOne.d.ts +1 -1
  128. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  129. package/dist/routes/rest/globals/findOne.js +8 -23
  130. package/dist/routes/rest/globals/findVersionByID.d.ts +1 -1
  131. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  132. package/dist/routes/rest/globals/findVersionByID.js +8 -23
  133. package/dist/routes/rest/globals/findVersions.d.ts +1 -1
  134. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  135. package/dist/routes/rest/globals/findVersions.js +11 -29
  136. package/dist/routes/rest/globals/restoreVersion.d.ts +1 -1
  137. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  138. package/dist/routes/rest/globals/restoreVersion.js +8 -23
  139. package/dist/routes/rest/globals/update.d.ts +1 -1
  140. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  141. package/dist/routes/rest/globals/update.js +8 -23
  142. package/dist/routes/rest/index.d.ts.map +1 -1
  143. package/dist/routes/rest/index.js +101 -121
  144. package/dist/routes/rest/types.js +2 -5
  145. package/dist/utilities/auth.d.ts +3 -3
  146. package/dist/utilities/auth.d.ts.map +1 -1
  147. package/dist/utilities/auth.js +7 -21
  148. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  149. package/dist/utilities/createPayloadRequest.js +29 -31
  150. package/dist/utilities/getDataAndFile.js +6 -16
  151. package/dist/utilities/getNextI18n.js +11 -21
  152. package/dist/utilities/getNextT.js +11 -21
  153. package/dist/utilities/getPayload.d.ts +4 -0
  154. package/dist/utilities/getPayload.d.ts.map +1 -0
  155. package/dist/utilities/getPayload.js +62 -0
  156. package/dist/utilities/getRequestLanguage.d.ts +1 -1
  157. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  158. package/dist/utilities/getRequestLanguage.js +4 -14
  159. package/dist/utilities/getRequestLocales.js +2 -12
  160. package/dist/utilities/initPage.d.ts +6 -15
  161. package/dist/utilities/initPage.d.ts.map +1 -1
  162. package/dist/utilities/initPage.js +45 -45
  163. package/dist/utilities/meta.js +5 -15
  164. package/dist/utilities/timestamp.d.ts +2 -0
  165. package/dist/utilities/timestamp.d.ts.map +1 -0
  166. package/dist/utilities/timestamp.js +7 -0
  167. package/dist/{pages → views}/API/RenderJSON/index.d.ts.map +1 -1
  168. package/dist/views/API/RenderJSON/index.js +91 -0
  169. package/dist/views/API/index.client.d.ts +4 -0
  170. package/dist/views/API/index.client.d.ts.map +1 -0
  171. package/dist/views/API/index.client.js +176 -0
  172. package/dist/views/API/index.d.ts +4 -0
  173. package/dist/views/API/index.d.ts.map +1 -0
  174. package/dist/views/API/index.js +7 -0
  175. package/dist/{pages/LivePreview → views/API}/meta.d.ts +1 -1
  176. package/dist/views/API/meta.d.ts.map +1 -0
  177. package/dist/views/API/meta.js +11 -0
  178. package/dist/{pages → views}/Account/Settings/index.d.ts.map +1 -1
  179. package/dist/views/Account/Settings/index.js +30 -0
  180. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -0
  181. package/dist/views/Account/ToggleTheme/index.js +34 -0
  182. package/dist/views/Account/index.d.ts +5 -0
  183. package/dist/views/Account/index.d.ts.map +1 -0
  184. package/dist/views/Account/index.js +98 -0
  185. package/dist/views/Account/meta.d.ts +3 -0
  186. package/dist/views/Account/meta.d.ts.map +1 -0
  187. package/dist/views/Account/meta.js +11 -0
  188. package/dist/views/CreateFirstUser/index.client.d.ts +7 -0
  189. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -0
  190. package/dist/views/CreateFirstUser/index.client.js +18 -0
  191. package/dist/views/CreateFirstUser/index.d.ts +6 -0
  192. package/dist/views/CreateFirstUser/index.d.ts.map +1 -0
  193. package/dist/views/CreateFirstUser/index.js +51 -0
  194. package/dist/views/CreateFirstUser/meta.d.ts +3 -0
  195. package/dist/views/CreateFirstUser/meta.d.ts.map +1 -0
  196. package/dist/views/CreateFirstUser/meta.js +11 -0
  197. package/dist/{pages → views}/Dashboard/Default/index.client.d.ts +2 -0
  198. package/dist/views/Dashboard/Default/index.client.d.ts.map +1 -0
  199. package/dist/views/Dashboard/Default/index.client.js +99 -0
  200. package/dist/{pages → views}/Dashboard/Default/index.d.ts +2 -0
  201. package/dist/views/Dashboard/Default/index.d.ts.map +1 -0
  202. package/dist/views/Dashboard/Default/index.js +28 -0
  203. package/dist/views/Dashboard/index.d.ts +5 -0
  204. package/dist/views/Dashboard/index.d.ts.map +1 -0
  205. package/dist/views/Dashboard/index.js +46 -0
  206. package/dist/views/Dashboard/meta.d.ts +3 -0
  207. package/dist/views/Dashboard/meta.d.ts.map +1 -0
  208. package/dist/views/Dashboard/meta.js +11 -0
  209. package/dist/{pages → views}/Document/getCustomViewByKey.d.ts +2 -2
  210. package/dist/views/Document/getCustomViewByKey.d.ts.map +1 -0
  211. package/dist/views/Document/getCustomViewByKey.js +5 -0
  212. package/dist/{pages → views}/Document/getCustomViewByPath.d.ts +2 -2
  213. package/dist/views/Document/getCustomViewByPath.d.ts.map +1 -0
  214. package/dist/views/Document/getCustomViewByPath.js +16 -0
  215. package/dist/views/Document/getMetaBySegment.d.ts +10 -0
  216. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -0
  217. package/dist/views/Document/getMetaBySegment.js +77 -0
  218. package/dist/{pages → views}/Document/getViewsFromConfig.d.ts +3 -3
  219. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -0
  220. package/dist/views/Document/getViewsFromConfig.js +155 -0
  221. package/dist/views/Document/index.d.ts +6 -0
  222. package/dist/views/Document/index.d.ts.map +1 -0
  223. package/dist/views/Document/index.js +159 -0
  224. package/dist/views/Document/meta.d.ts +3 -0
  225. package/dist/views/Document/meta.d.ts.map +1 -0
  226. package/dist/views/Document/meta.js +4 -0
  227. package/dist/{pages → views}/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  228. package/dist/views/Edit/Default/Auth/APIKey.js +89 -0
  229. package/dist/{pages → views}/Edit/Default/Auth/index.d.ts +1 -1
  230. package/dist/{pages → views}/Edit/Default/Auth/index.d.ts.map +1 -1
  231. package/dist/views/Edit/Default/Auth/index.js +124 -0
  232. package/dist/{pages → views}/Edit/Default/Auth/types.d.ts.map +1 -1
  233. package/dist/views/Edit/Default/Auth/types.js +3 -0
  234. package/dist/views/Edit/Default/SetDocumentTitle/formatTitle.d.ts +10 -0
  235. package/dist/views/Edit/Default/SetDocumentTitle/formatTitle.d.ts.map +1 -0
  236. package/dist/views/Edit/Default/SetDocumentTitle/formatTitle.js +23 -0
  237. package/dist/{pages → views}/Edit/Default/SetDocumentTitle/index.d.ts +1 -1
  238. package/dist/{pages → views}/Edit/Default/SetDocumentTitle/index.d.ts.map +1 -1
  239. package/dist/views/Edit/Default/SetDocumentTitle/index.js +33 -0
  240. package/dist/{pages → views}/Edit/Default/SetStepNav/index.d.ts +1 -2
  241. package/dist/views/Edit/Default/SetStepNav/index.d.ts.map +1 -0
  242. package/dist/views/Edit/Default/SetStepNav/index.js +60 -0
  243. package/dist/views/Edit/Default/index.d.ts.map +1 -0
  244. package/dist/views/Edit/Default/index.js +145 -0
  245. package/dist/{pages → views}/Edit/Default/types.d.ts.map +1 -1
  246. package/dist/views/Edit/Default/types.js +3 -0
  247. package/dist/views/Edit/index.client.d.ts +3 -0
  248. package/dist/views/Edit/index.client.d.ts.map +1 -0
  249. package/dist/views/Edit/index.client.js +53 -0
  250. package/dist/views/Edit/index.d.ts +4 -0
  251. package/dist/views/Edit/index.d.ts.map +1 -0
  252. package/dist/views/Edit/index.js +7 -0
  253. package/dist/{pages/API → views/Edit}/meta.d.ts +1 -1
  254. package/dist/views/Edit/meta.d.ts.map +1 -0
  255. package/dist/views/Edit/meta.js +26 -0
  256. package/dist/views/Edit/sanitizeEditViewProps.d.ts +3 -0
  257. package/dist/views/Edit/sanitizeEditViewProps.d.ts.map +1 -0
  258. package/dist/views/Edit/sanitizeEditViewProps.js +11 -0
  259. package/dist/views/ForgotPassword/index.d.ts +6 -0
  260. package/dist/views/ForgotPassword/index.d.ts.map +1 -0
  261. package/dist/views/ForgotPassword/index.js +58 -0
  262. package/dist/views/ForgotPassword/meta.d.ts +3 -0
  263. package/dist/views/ForgotPassword/meta.d.ts.map +1 -0
  264. package/dist/views/ForgotPassword/meta.js +11 -0
  265. package/dist/{pages → views}/List/Default/Cell/cellTypes.spec.js +21 -30
  266. package/dist/{pages → views}/List/Default/Cell/fields/Array/index.d.ts.map +1 -1
  267. package/dist/views/List/Default/Cell/fields/Array/index.js +12 -0
  268. package/dist/{pages → views}/List/Default/Cell/fields/Blocks/index.d.ts.map +1 -1
  269. package/dist/views/List/Default/Cell/fields/Blocks/index.js +30 -0
  270. package/dist/{pages → views}/List/Default/Cell/fields/Checkbox/index.d.ts.map +1 -1
  271. package/dist/views/List/Default/Cell/fields/Checkbox/index.js +8 -0
  272. package/dist/{pages → views}/List/Default/Cell/fields/Code/index.d.ts.map +1 -1
  273. package/dist/views/List/Default/Cell/fields/Code/index.js +14 -0
  274. package/dist/{pages → views}/List/Default/Cell/fields/Date/index.d.ts.map +1 -1
  275. package/dist/views/List/Default/Cell/fields/Date/index.js +11 -0
  276. package/dist/{pages → views}/List/Default/Cell/fields/File/index.d.ts.map +1 -1
  277. package/dist/{pages → views}/List/Default/Cell/fields/File/index.js +8 -23
  278. package/dist/{pages → views}/List/Default/Cell/fields/JSON/index.d.ts.map +1 -1
  279. package/dist/views/List/Default/Cell/fields/JSON/index.js +11 -0
  280. package/dist/{pages → views}/List/Default/Cell/fields/Relationship/index.d.ts.map +1 -1
  281. package/dist/views/List/Default/Cell/fields/Relationship/index.js +70 -0
  282. package/dist/{pages → views}/List/Default/Cell/fields/Select/index.d.ts.map +1 -1
  283. package/dist/{pages → views}/List/Default/Cell/fields/Select/index.js +10 -25
  284. package/dist/{pages → views}/List/Default/Cell/fields/Textarea/index.d.ts.map +1 -1
  285. package/dist/views/List/Default/Cell/fields/Textarea/index.js +8 -0
  286. package/dist/views/List/Default/Cell/fields/index.d.ts +17 -0
  287. package/dist/views/List/Default/Cell/fields/index.d.ts.map +1 -0
  288. package/dist/views/List/Default/Cell/fields/index.js +26 -0
  289. package/dist/views/List/Default/Cell/index.d.ts.map +1 -0
  290. package/dist/views/List/Default/Cell/index.js +75 -0
  291. package/dist/{pages → views}/List/Default/RelationshipProvider/index.d.ts.map +1 -1
  292. package/dist/views/List/Default/RelationshipProvider/index.js +89 -0
  293. package/dist/{pages → views}/List/Default/RelationshipProvider/reducer.d.ts +1 -1
  294. package/dist/{pages → views}/List/Default/RelationshipProvider/reducer.d.ts.map +1 -1
  295. package/dist/views/List/Default/RelationshipProvider/reducer.js +45 -0
  296. package/dist/views/List/Default/index.d.ts.map +1 -0
  297. package/dist/views/List/Default/index.js +130 -0
  298. package/dist/{pages → views}/List/Default/types.d.ts.map +1 -1
  299. package/dist/views/List/Default/types.js +3 -0
  300. package/dist/views/List/index.d.ts +5 -0
  301. package/dist/views/List/index.d.ts.map +1 -0
  302. package/dist/views/List/index.js +70 -0
  303. package/dist/views/List/meta.d.ts +7 -0
  304. package/dist/views/List/meta.d.ts.map +1 -0
  305. package/dist/views/List/meta.js +19 -0
  306. package/dist/{pages → views}/LivePreview/Context/collisionDetection.d.ts.map +1 -1
  307. package/dist/{pages → views}/LivePreview/Context/collisionDetection.js +6 -14
  308. package/dist/{pages → views}/LivePreview/Context/context.d.ts +2 -2
  309. package/dist/views/LivePreview/Context/context.d.ts.map +1 -0
  310. package/dist/views/LivePreview/Context/context.js +40 -0
  311. package/dist/{pages → views}/LivePreview/Context/index.d.ts +3 -3
  312. package/dist/views/LivePreview/Context/index.d.ts.map +1 -0
  313. package/dist/views/LivePreview/Context/index.js +157 -0
  314. package/dist/{pages → views}/LivePreview/Context/sizeReducer.d.ts.map +1 -1
  315. package/dist/{pages → views}/LivePreview/Context/sizeReducer.js +2 -12
  316. package/dist/{pages → views}/LivePreview/Device/index.d.ts.map +1 -1
  317. package/dist/views/LivePreview/Device/index.js +51 -0
  318. package/dist/{pages → views}/LivePreview/DeviceContainer/index.d.ts.map +1 -1
  319. package/dist/views/LivePreview/DeviceContainer/index.js +29 -0
  320. package/dist/{pages → views}/LivePreview/IFrame/index.d.ts.map +1 -1
  321. package/dist/views/LivePreview/IFrame/index.js +23 -0
  322. package/dist/{pages → views}/LivePreview/Preview/index.d.ts +1 -1
  323. package/dist/views/LivePreview/Preview/index.d.ts.map +1 -0
  324. package/dist/views/LivePreview/Preview/index.js +76 -0
  325. package/dist/{pages → views}/LivePreview/Toolbar/Controls/index.d.ts +1 -1
  326. package/dist/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -0
  327. package/dist/views/LivePreview/Toolbar/Controls/index.js +81 -0
  328. package/dist/{pages → views}/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  329. package/dist/views/LivePreview/Toolbar/SizeInput/index.js +61 -0
  330. package/dist/{pages → views}/LivePreview/Toolbar/index.d.ts +1 -1
  331. package/dist/views/LivePreview/Toolbar/index.d.ts.map +1 -0
  332. package/dist/views/LivePreview/Toolbar/index.js +50 -0
  333. package/dist/{pages → views}/LivePreview/ToolbarArea/index.d.ts.map +1 -1
  334. package/dist/views/LivePreview/ToolbarArea/index.js +17 -0
  335. package/dist/views/LivePreview/index.client.d.ts.map +1 -0
  336. package/dist/views/LivePreview/index.client.js +141 -0
  337. package/dist/views/LivePreview/index.d.ts +4 -0
  338. package/dist/views/LivePreview/index.d.ts.map +1 -0
  339. package/dist/views/LivePreview/index.js +45 -0
  340. package/dist/{pages/Version → views/LivePreview}/meta.d.ts +1 -1
  341. package/dist/views/LivePreview/meta.d.ts.map +1 -0
  342. package/dist/views/LivePreview/meta.js +26 -0
  343. package/dist/{pages → views}/LivePreview/usePopupWindow.d.ts.map +1 -1
  344. package/dist/{pages → views}/LivePreview/usePopupWindow.js +11 -21
  345. package/dist/{pages → views}/Login/LoginForm/index.d.ts.map +1 -1
  346. package/dist/views/Login/LoginForm/index.js +58 -0
  347. package/dist/views/Login/index.d.ts +7 -0
  348. package/dist/views/Login/index.d.ts.map +1 -0
  349. package/dist/views/Login/index.js +29 -0
  350. package/dist/views/Login/index.scss +8 -0
  351. package/dist/views/Login/meta.d.ts +3 -0
  352. package/dist/views/Login/meta.d.ts.map +1 -0
  353. package/dist/views/Login/meta.js +11 -0
  354. package/dist/views/Logout/LogoutClient.d.ts.map +1 -0
  355. package/dist/views/Logout/LogoutClient.js +33 -0
  356. package/dist/views/Logout/index.d.ts +9 -0
  357. package/dist/views/Logout/index.d.ts.map +1 -0
  358. package/dist/views/Logout/index.js +26 -0
  359. package/dist/views/Logout/meta.d.ts +3 -0
  360. package/dist/views/Logout/meta.d.ts.map +1 -0
  361. package/dist/views/Logout/meta.js +11 -0
  362. package/dist/views/NotFound/index.client.d.ts +6 -0
  363. package/dist/views/NotFound/index.client.d.ts.map +1 -0
  364. package/dist/views/NotFound/index.client.js +38 -0
  365. package/dist/views/NotFound/index.d.ts +12 -0
  366. package/dist/views/NotFound/index.d.ts.map +1 -0
  367. package/dist/views/NotFound/index.js +20 -0
  368. package/dist/views/NotFound/meta.d.ts +8 -0
  369. package/dist/views/NotFound/meta.d.ts.map +1 -0
  370. package/dist/views/NotFound/meta.js +11 -0
  371. package/dist/views/ResetPassword/index.d.ts +7 -0
  372. package/dist/views/ResetPassword/index.d.ts.map +1 -0
  373. package/dist/views/ResetPassword/index.js +63 -0
  374. package/dist/views/ResetPassword/meta.d.ts +3 -0
  375. package/dist/views/ResetPassword/meta.d.ts.map +1 -0
  376. package/dist/views/ResetPassword/meta.js +11 -0
  377. package/dist/views/Root/index.d.ts +31 -0
  378. package/dist/views/Root/index.d.ts.map +1 -0
  379. package/dist/views/Root/index.js +174 -0
  380. package/dist/views/Root/meta.d.ts +14 -0
  381. package/dist/views/Root/meta.d.ts.map +1 -0
  382. package/dist/views/Root/meta.js +159 -0
  383. package/dist/views/Unauthorized/UnauthorizedClient.d.ts.map +1 -0
  384. package/dist/views/Unauthorized/UnauthorizedClient.js +15 -0
  385. package/dist/views/Unauthorized/index.d.ts +5 -0
  386. package/dist/views/Unauthorized/index.d.ts.map +1 -0
  387. package/dist/views/Unauthorized/index.js +11 -0
  388. package/dist/views/Unauthorized/meta.d.ts +3 -0
  389. package/dist/views/Unauthorized/meta.d.ts.map +1 -0
  390. package/dist/views/Unauthorized/meta.js +11 -0
  391. package/dist/views/Verify/index.d.ts +7 -0
  392. package/dist/views/Verify/index.d.ts.map +1 -0
  393. package/dist/views/Verify/index.js +33 -0
  394. package/dist/views/Verify/meta.d.ts +3 -0
  395. package/dist/views/Verify/meta.d.ts.map +1 -0
  396. package/dist/views/Verify/meta.js +11 -0
  397. package/dist/{pages → views}/Version/Default/SetStepNav.d.ts.map +1 -1
  398. package/dist/{pages → views}/Version/Default/SetStepNav.js +13 -23
  399. package/dist/{pages → views}/Version/Default/index.d.ts +1 -1
  400. package/dist/views/Version/Default/index.d.ts.map +1 -0
  401. package/dist/views/Version/Default/index.js +100 -0
  402. package/dist/{pages → views}/Version/Default/types.d.ts +2 -7
  403. package/dist/views/Version/Default/types.d.ts.map +1 -0
  404. package/dist/views/Version/Default/types.js +3 -0
  405. package/dist/{pages → views}/Version/RenderFieldsToDiff/Label/index.d.ts.map +1 -1
  406. package/dist/views/Version/RenderFieldsToDiff/Label/index.js +9 -0
  407. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +1 -1
  408. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  409. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +65 -0
  410. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Nested/index.d.ts +1 -1
  411. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
  412. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +29 -0
  413. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +1 -1
  414. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -0
  415. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +75 -0
  416. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts.map +1 -1
  417. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +17 -0
  418. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/index.d.ts +1 -1
  419. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  420. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +39 -0
  421. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +1 -1
  422. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  423. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +39 -0
  424. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts.map +1 -1
  425. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +17 -0
  426. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/index.d.ts +1 -1
  427. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  428. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +31 -0
  429. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/diffMethods.d.ts.map +1 -1
  430. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/diffMethods.js +2 -12
  431. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +25 -0
  432. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -0
  433. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +29 -0
  434. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/styles.d.ts.map +1 -1
  435. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/styles.js +2 -12
  436. package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  437. package/dist/views/Version/RenderFieldsToDiff/fields/types.js +3 -0
  438. package/dist/{pages → views}/Version/RenderFieldsToDiff/index.d.ts +1 -1
  439. package/dist/{pages → views}/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  440. package/dist/views/Version/RenderFieldsToDiff/index.js +100 -0
  441. package/dist/{pages → views}/Version/RenderFieldsToDiff/types.d.ts +1 -1
  442. package/dist/{pages → views}/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  443. package/dist/views/Version/RenderFieldsToDiff/types.js +3 -0
  444. package/dist/{pages → views}/Version/Restore/index.d.ts +1 -1
  445. package/dist/views/Version/Restore/index.d.ts.map +1 -0
  446. package/dist/views/Version/Restore/index.js +71 -0
  447. package/dist/{pages → views}/Version/Restore/types.d.ts.map +1 -1
  448. package/dist/views/Version/Restore/types.js +3 -0
  449. package/dist/{pages → views}/Version/SelectComparison/index.d.ts +1 -1
  450. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -0
  451. package/dist/views/Version/SelectComparison/index.js +112 -0
  452. package/dist/{pages → views}/Version/SelectComparison/types.d.ts +1 -1
  453. package/dist/{pages → views}/Version/SelectComparison/types.d.ts.map +1 -1
  454. package/dist/views/Version/SelectComparison/types.js +3 -0
  455. package/dist/{pages → views}/Version/SelectLocales/index.d.ts +1 -1
  456. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -0
  457. package/dist/views/Version/SelectLocales/index.js +33 -0
  458. package/dist/{pages → views}/Version/SelectLocales/types.d.ts.map +1 -1
  459. package/dist/views/Version/SelectLocales/types.js +3 -0
  460. package/dist/views/Version/index.d.ts +3 -0
  461. package/dist/views/Version/index.d.ts.map +1 -0
  462. package/dist/views/Version/index.js +89 -0
  463. package/dist/{pages/Edit → views/Version}/meta.d.ts +1 -1
  464. package/dist/views/Version/meta.d.ts.map +1 -0
  465. package/dist/views/Version/meta.js +37 -0
  466. package/dist/{pages → views}/Version/shared.d.ts.map +1 -1
  467. package/dist/views/Version/shared.js +10 -0
  468. package/dist/{pages → views}/Versions/buildColumns.d.ts.map +1 -1
  469. package/dist/views/Versions/buildColumns.js +54 -0
  470. package/dist/{pages → views}/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  471. package/dist/views/Versions/cells/AutosaveCell/index.js +12 -0
  472. package/dist/{pages → views}/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  473. package/dist/views/Versions/cells/CreatedAt/index.js +19 -0
  474. package/dist/{pages → views}/Versions/cells/ID/index.d.ts.map +1 -1
  475. package/dist/views/Versions/cells/ID/index.js +9 -0
  476. package/dist/{pages → views}/Versions/index.client.d.ts +0 -3
  477. package/dist/views/Versions/index.client.d.ts.map +1 -0
  478. package/dist/views/Versions/index.client.js +93 -0
  479. package/dist/{pages → views}/Versions/index.d.ts +1 -1
  480. package/dist/views/Versions/index.d.ts.map +1 -0
  481. package/dist/views/Versions/index.js +86 -0
  482. package/dist/views/Versions/meta.d.ts +3 -0
  483. package/dist/views/Versions/meta.d.ts.map +1 -0
  484. package/dist/views/Versions/meta.js +33 -0
  485. package/dist/{pages → views}/Versions/types.d.ts.map +1 -1
  486. package/dist/views/Versions/types.js +3 -0
  487. package/dist/withPayload.d.ts +2 -1
  488. package/dist/withPayload.d.ts.map +1 -1
  489. package/dist/withPayload.js +3 -6
  490. package/package.json +24 -15
  491. package/src/index.ts +5 -1
  492. package/dist/layouts/Document/index.d.ts +0 -14
  493. package/dist/layouts/Document/index.d.ts.map +0 -1
  494. package/dist/layouts/Document/index.js +0 -82
  495. package/dist/pages/API/RenderJSON/index.js +0 -142
  496. package/dist/pages/API/index.client.d.ts +0 -5
  497. package/dist/pages/API/index.client.d.ts.map +0 -1
  498. package/dist/pages/API/index.client.js +0 -241
  499. package/dist/pages/API/index.d.ts +0 -4
  500. package/dist/pages/API/index.d.ts.map +0 -1
  501. package/dist/pages/API/index.js +0 -27
  502. package/dist/pages/API/meta.d.ts.map +0 -1
  503. package/dist/pages/API/meta.js +0 -21
  504. package/dist/pages/Account/Settings/index.js +0 -45
  505. package/dist/pages/Account/ToggleTheme/index.d.ts.map +0 -1
  506. package/dist/pages/Account/ToggleTheme/index.js +0 -85
  507. package/dist/pages/Account/index.d.ts +0 -13
  508. package/dist/pages/Account/index.d.ts.map +0 -1
  509. package/dist/pages/Account/index.js +0 -171
  510. package/dist/pages/CreateFirstUser/index.client.d.ts +0 -5
  511. package/dist/pages/CreateFirstUser/index.client.d.ts.map +0 -1
  512. package/dist/pages/CreateFirstUser/index.client.js +0 -29
  513. package/dist/pages/CreateFirstUser/index.d.ts +0 -11
  514. package/dist/pages/CreateFirstUser/index.d.ts.map +0 -1
  515. package/dist/pages/CreateFirstUser/index.js +0 -91
  516. package/dist/pages/Dashboard/Default/index.client.d.ts.map +0 -1
  517. package/dist/pages/Dashboard/Default/index.client.js +0 -154
  518. package/dist/pages/Dashboard/Default/index.d.ts.map +0 -1
  519. package/dist/pages/Dashboard/Default/index.js +0 -44
  520. package/dist/pages/Dashboard/index.d.ts +0 -13
  521. package/dist/pages/Dashboard/index.d.ts.map +0 -1
  522. package/dist/pages/Dashboard/index.js +0 -128
  523. package/dist/pages/Document/getCustomViewByKey.d.ts.map +0 -1
  524. package/dist/pages/Document/getCustomViewByKey.js +0 -15
  525. package/dist/pages/Document/getCustomViewByPath.d.ts.map +0 -1
  526. package/dist/pages/Document/getCustomViewByPath.js +0 -26
  527. package/dist/pages/Document/getMetaBySegment.d.ts +0 -20
  528. package/dist/pages/Document/getMetaBySegment.d.ts.map +0 -1
  529. package/dist/pages/Document/getMetaBySegment.js +0 -124
  530. package/dist/pages/Document/getViewsFromConfig.d.ts.map +0 -1
  531. package/dist/pages/Document/getViewsFromConfig.js +0 -224
  532. package/dist/pages/Document/index.d.ts +0 -23
  533. package/dist/pages/Document/index.d.ts.map +0 -1
  534. package/dist/pages/Document/index.js +0 -237
  535. package/dist/pages/Edit/Default/Auth/APIKey.js +0 -140
  536. package/dist/pages/Edit/Default/Auth/index.js +0 -180
  537. package/dist/pages/Edit/Default/Auth/types.js +0 -6
  538. package/dist/pages/Edit/Default/RenderCustomView.d.ts +0 -2
  539. package/dist/pages/Edit/Default/RenderCustomView.d.ts.map +0 -1
  540. package/dist/pages/Edit/Default/RenderCustomView.js +0 -3
  541. package/dist/pages/Edit/Default/SetDocumentTitle/index.js +0 -50
  542. package/dist/pages/Edit/Default/SetStepNav/index.d.ts.map +0 -1
  543. package/dist/pages/Edit/Default/SetStepNav/index.js +0 -70
  544. package/dist/pages/Edit/Default/index.d.ts.map +0 -1
  545. package/dist/pages/Edit/Default/index.js +0 -202
  546. package/dist/pages/Edit/Default/types.js +0 -6
  547. package/dist/pages/Edit/index.client.d.ts +0 -4
  548. package/dist/pages/Edit/index.client.d.ts.map +0 -1
  549. package/dist/pages/Edit/index.client.js +0 -99
  550. package/dist/pages/Edit/index.d.ts +0 -4
  551. package/dist/pages/Edit/index.d.ts.map +0 -1
  552. package/dist/pages/Edit/index.js +0 -27
  553. package/dist/pages/Edit/meta.d.ts.map +0 -1
  554. package/dist/pages/Edit/meta.js +0 -36
  555. package/dist/pages/Edit/sanitizeEditViewProps.d.ts +0 -4
  556. package/dist/pages/Edit/sanitizeEditViewProps.d.ts.map +0 -1
  557. package/dist/pages/Edit/sanitizeEditViewProps.js +0 -24
  558. package/dist/pages/Edit/types.d.js +0 -7
  559. package/dist/pages/Edit/types.d.ts +0 -37
  560. package/dist/pages/Edit/types.d.ts.map +0 -1
  561. package/dist/pages/Edit/types.js +0 -6
  562. package/dist/pages/ForgotPassword/index.d.ts +0 -10
  563. package/dist/pages/ForgotPassword/index.d.ts.map +0 -1
  564. package/dist/pages/ForgotPassword/index.js +0 -101
  565. package/dist/pages/List/Default/Cell/fields/Array/index.js +0 -27
  566. package/dist/pages/List/Default/Cell/fields/Blocks/index.js +0 -45
  567. package/dist/pages/List/Default/Cell/fields/Checkbox/index.js +0 -23
  568. package/dist/pages/List/Default/Cell/fields/Code/index.js +0 -29
  569. package/dist/pages/List/Default/Cell/fields/Date/index.js +0 -26
  570. package/dist/pages/List/Default/Cell/fields/JSON/index.js +0 -26
  571. package/dist/pages/List/Default/Cell/fields/Relationship/index.js +0 -121
  572. package/dist/pages/List/Default/Cell/fields/Richtext/index.d.ts +0 -2
  573. package/dist/pages/List/Default/Cell/fields/Richtext/index.d.ts.map +0 -1
  574. package/dist/pages/List/Default/Cell/fields/Richtext/index.js +0 -3
  575. package/dist/pages/List/Default/Cell/fields/Textarea/index.js +0 -23
  576. package/dist/pages/List/Default/Cell/fields/index.d.ts +0 -17
  577. package/dist/pages/List/Default/Cell/fields/index.d.ts.map +0 -1
  578. package/dist/pages/List/Default/Cell/fields/index.js +0 -36
  579. package/dist/pages/List/Default/Cell/index.d.ts.map +0 -1
  580. package/dist/pages/List/Default/Cell/index.js +0 -89
  581. package/dist/pages/List/Default/RelationshipProvider/index.js +0 -153
  582. package/dist/pages/List/Default/RelationshipProvider/reducer.js +0 -55
  583. package/dist/pages/List/Default/index.d.ts.map +0 -1
  584. package/dist/pages/List/Default/index.js +0 -174
  585. package/dist/pages/List/Default/types.js +0 -6
  586. package/dist/pages/List/index.d.ts +0 -18
  587. package/dist/pages/List/index.d.ts.map +0 -1
  588. package/dist/pages/List/index.js +0 -158
  589. package/dist/pages/LivePreview/Context/context.d.ts.map +0 -1
  590. package/dist/pages/LivePreview/Context/context.js +0 -58
  591. package/dist/pages/LivePreview/Context/index.d.ts.map +0 -1
  592. package/dist/pages/LivePreview/Context/index.js +0 -208
  593. package/dist/pages/LivePreview/Device/index.js +0 -102
  594. package/dist/pages/LivePreview/DeviceContainer/index.js +0 -44
  595. package/dist/pages/LivePreview/IFrame/index.js +0 -74
  596. package/dist/pages/LivePreview/Preview/index.d.ts.map +0 -1
  597. package/dist/pages/LivePreview/Preview/index.js +0 -127
  598. package/dist/pages/LivePreview/Toolbar/Controls/index.d.ts.map +0 -1
  599. package/dist/pages/LivePreview/Toolbar/Controls/index.js +0 -96
  600. package/dist/pages/LivePreview/Toolbar/SizeInput/index.js +0 -112
  601. package/dist/pages/LivePreview/Toolbar/index.d.ts.map +0 -1
  602. package/dist/pages/LivePreview/Toolbar/index.js +0 -65
  603. package/dist/pages/LivePreview/ToolbarArea/index.js +0 -32
  604. package/dist/pages/LivePreview/index.client.d.ts.map +0 -1
  605. package/dist/pages/LivePreview/index.client.js +0 -195
  606. package/dist/pages/LivePreview/index.d.ts +0 -5
  607. package/dist/pages/LivePreview/index.d.ts.map +0 -1
  608. package/dist/pages/LivePreview/index.js +0 -59
  609. package/dist/pages/LivePreview/meta.d.ts.map +0 -1
  610. package/dist/pages/LivePreview/meta.js +0 -36
  611. package/dist/pages/Login/LoginForm/index.js +0 -67
  612. package/dist/pages/Login/index.d.ts +0 -14
  613. package/dist/pages/Login/index.d.ts.map +0 -1
  614. package/dist/pages/Login/index.js +0 -108
  615. package/dist/pages/Login/index.scss +0 -38
  616. package/dist/pages/Logout/LogoutClient.d.ts.map +0 -1
  617. package/dist/pages/Logout/LogoutClient.js +0 -88
  618. package/dist/pages/Logout/index.d.ts +0 -16
  619. package/dist/pages/Logout/index.d.ts.map +0 -1
  620. package/dist/pages/Logout/index.js +0 -61
  621. package/dist/pages/NotFound/index.d.ts +0 -7
  622. package/dist/pages/NotFound/index.d.ts.map +0 -1
  623. package/dist/pages/NotFound/index.js +0 -48
  624. package/dist/pages/ResetPassword/index.d.ts +0 -12
  625. package/dist/pages/ResetPassword/index.d.ts.map +0 -1
  626. package/dist/pages/ResetPassword/index.js +0 -99
  627. package/dist/pages/Root/index.d.ts +0 -5
  628. package/dist/pages/Root/index.d.ts.map +0 -1
  629. package/dist/pages/Root/index.js +0 -17
  630. package/dist/pages/Unauthorized/UnauthorizedClient.d.ts.map +0 -1
  631. package/dist/pages/Unauthorized/UnauthorizedClient.js +0 -27
  632. package/dist/pages/Unauthorized/index.d.ts +0 -10
  633. package/dist/pages/Unauthorized/index.d.ts.map +0 -1
  634. package/dist/pages/Unauthorized/index.js +0 -51
  635. package/dist/pages/Verify/index.d.ts +0 -13
  636. package/dist/pages/Verify/index.d.ts.map +0 -1
  637. package/dist/pages/Verify/index.js +0 -90
  638. package/dist/pages/Version/Default/index.d.ts.map +0 -1
  639. package/dist/pages/Version/Default/index.js +0 -157
  640. package/dist/pages/Version/Default/types.d.ts.map +0 -1
  641. package/dist/pages/Version/Default/types.js +0 -6
  642. package/dist/pages/Version/RenderFieldsToDiff/Label/index.js +0 -24
  643. package/dist/pages/Version/RenderFieldsToDiff/fields/Iterable/index.js +0 -80
  644. package/dist/pages/Version/RenderFieldsToDiff/fields/Nested/index.js +0 -44
  645. package/dist/pages/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +0 -1
  646. package/dist/pages/Version/RenderFieldsToDiff/fields/Relationship/index.js +0 -89
  647. package/dist/pages/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +0 -72
  648. package/dist/pages/Version/RenderFieldsToDiff/fields/Select/index.js +0 -54
  649. package/dist/pages/Version/RenderFieldsToDiff/fields/Tabs/index.js +0 -54
  650. package/dist/pages/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +0 -72
  651. package/dist/pages/Version/RenderFieldsToDiff/fields/Text/index.js +0 -46
  652. package/dist/pages/Version/RenderFieldsToDiff/fields/index.d.ts +0 -25
  653. package/dist/pages/Version/RenderFieldsToDiff/fields/index.d.ts.map +0 -1
  654. package/dist/pages/Version/RenderFieldsToDiff/fields/index.js +0 -44
  655. package/dist/pages/Version/RenderFieldsToDiff/fields/types.js +0 -6
  656. package/dist/pages/Version/RenderFieldsToDiff/index.js +0 -115
  657. package/dist/pages/Version/RenderFieldsToDiff/types.js +0 -6
  658. package/dist/pages/Version/Restore/index.d.ts.map +0 -1
  659. package/dist/pages/Version/Restore/index.js +0 -121
  660. package/dist/pages/Version/Restore/types.js +0 -6
  661. package/dist/pages/Version/SelectComparison/index.d.ts.map +0 -1
  662. package/dist/pages/Version/SelectComparison/index.js +0 -167
  663. package/dist/pages/Version/SelectComparison/types.js +0 -6
  664. package/dist/pages/Version/SelectLocales/index.d.ts.map +0 -1
  665. package/dist/pages/Version/SelectLocales/index.js +0 -47
  666. package/dist/pages/Version/SelectLocales/types.js +0 -6
  667. package/dist/pages/Version/index.d.ts +0 -4
  668. package/dist/pages/Version/index.d.ts.map +0 -1
  669. package/dist/pages/Version/index.js +0 -111
  670. package/dist/pages/Version/meta.d.ts.map +0 -1
  671. package/dist/pages/Version/meta.js +0 -47
  672. package/dist/pages/Version/shared.js +0 -28
  673. package/dist/pages/Versions/buildColumns.js +0 -69
  674. package/dist/pages/Versions/cells/AutosaveCell/index.js +0 -63
  675. package/dist/pages/Versions/cells/CreatedAt/index.js +0 -33
  676. package/dist/pages/Versions/cells/ID/index.js +0 -60
  677. package/dist/pages/Versions/index.client.d.ts.map +0 -1
  678. package/dist/pages/Versions/index.client.js +0 -142
  679. package/dist/pages/Versions/index.d.ts.map +0 -1
  680. package/dist/pages/Versions/index.js +0 -125
  681. package/dist/pages/Versions/meta.d.ts +0 -3
  682. package/dist/pages/Versions/meta.d.ts.map +0 -1
  683. package/dist/pages/Versions/meta.js +0 -43
  684. package/dist/pages/Versions/types.js +0 -6
  685. package/dist/routes/rest/[collection]/file/[filename]/route.d.ts +0 -8
  686. package/dist/routes/rest/[collection]/file/[filename]/route.d.ts.map +0 -1
  687. package/dist/routes/rest/[collection]/file/[filename]/route.js +0 -116
  688. package/dist/utilities/createClientConfig.d.ts +0 -5
  689. package/dist/utilities/createClientConfig.d.ts.map +0 -1
  690. package/dist/utilities/createClientConfig.js +0 -120
  691. /package/dist/{pages → views}/API/RenderJSON/index.d.ts +0 -0
  692. /package/dist/{pages → views}/API/RenderJSON/index.scss +0 -0
  693. /package/dist/{pages → views}/API/index.scss +0 -0
  694. /package/dist/{pages → views}/Account/Settings/index.d.ts +0 -0
  695. /package/dist/{pages → views}/Account/Settings/index.scss +0 -0
  696. /package/dist/{pages → views}/Account/ToggleTheme/index.d.ts +0 -0
  697. /package/dist/{pages → views}/CreateFirstUser/index.scss +0 -0
  698. /package/dist/{pages → views}/Dashboard/Default/index.scss +0 -0
  699. /package/dist/{pages → views}/Edit/Default/Auth/APIKey.d.ts +0 -0
  700. /package/dist/{pages → views}/Edit/Default/Auth/index.scss +0 -0
  701. /package/dist/{pages → views}/Edit/Default/Auth/types.d.ts +0 -0
  702. /package/dist/{pages → views}/Edit/Default/index.d.ts +0 -0
  703. /package/dist/{pages → views}/Edit/Default/index.scss +0 -0
  704. /package/dist/{pages → views}/Edit/Default/types.d.ts +0 -0
  705. /package/dist/{pages → views}/List/Default/Cell/fields/Array/index.d.ts +0 -0
  706. /package/dist/{pages → views}/List/Default/Cell/fields/Blocks/index.d.ts +0 -0
  707. /package/dist/{pages → views}/List/Default/Cell/fields/Checkbox/index.d.ts +0 -0
  708. /package/dist/{pages → views}/List/Default/Cell/fields/Checkbox/index.scss +0 -0
  709. /package/dist/{pages → views}/List/Default/Cell/fields/Code/index.d.ts +0 -0
  710. /package/dist/{pages → views}/List/Default/Cell/fields/Code/index.scss +0 -0
  711. /package/dist/{pages → views}/List/Default/Cell/fields/Date/index.d.ts +0 -0
  712. /package/dist/{pages → views}/List/Default/Cell/fields/File/index.d.ts +0 -0
  713. /package/dist/{pages → views}/List/Default/Cell/fields/File/index.scss +0 -0
  714. /package/dist/{pages → views}/List/Default/Cell/fields/JSON/index.d.ts +0 -0
  715. /package/dist/{pages → views}/List/Default/Cell/fields/JSON/index.scss +0 -0
  716. /package/dist/{pages → views}/List/Default/Cell/fields/Relationship/index.d.ts +0 -0
  717. /package/dist/{pages → views}/List/Default/Cell/fields/Relationship/index.scss +0 -0
  718. /package/dist/{pages → views}/List/Default/Cell/fields/Select/index.d.ts +0 -0
  719. /package/dist/{pages → views}/List/Default/Cell/fields/Textarea/index.d.ts +0 -0
  720. /package/dist/{pages → views}/List/Default/Cell/index.d.ts +0 -0
  721. /package/dist/{pages → views}/List/Default/RelationshipProvider/index.d.ts +0 -0
  722. /package/dist/{pages → views}/List/Default/index.d.ts +0 -0
  723. /package/dist/{pages → views}/List/Default/index.scss +0 -0
  724. /package/dist/{pages → views}/List/Default/types.d.ts +0 -0
  725. /package/dist/{pages → views}/LivePreview/Context/collisionDetection.d.ts +0 -0
  726. /package/dist/{pages → views}/LivePreview/Context/sizeReducer.d.ts +0 -0
  727. /package/dist/{pages → views}/LivePreview/Device/index.d.ts +0 -0
  728. /package/dist/{pages → views}/LivePreview/DeviceContainer/index.d.ts +0 -0
  729. /package/dist/{pages → views}/LivePreview/IFrame/index.d.ts +0 -0
  730. /package/dist/{pages → views}/LivePreview/IFrame/index.scss +0 -0
  731. /package/dist/{pages → views}/LivePreview/Preview/index.scss +0 -0
  732. /package/dist/{pages → views}/LivePreview/Toolbar/Controls/index.scss +0 -0
  733. /package/dist/{pages → views}/LivePreview/Toolbar/SizeInput/index.d.ts +0 -0
  734. /package/dist/{pages → views}/LivePreview/Toolbar/SizeInput/index.scss +0 -0
  735. /package/dist/{pages → views}/LivePreview/Toolbar/index.scss +0 -0
  736. /package/dist/{pages → views}/LivePreview/ToolbarArea/index.d.ts +0 -0
  737. /package/dist/{pages → views}/LivePreview/ToolbarArea/index.scss +0 -0
  738. /package/dist/{pages → views}/LivePreview/index.client.d.ts +0 -0
  739. /package/dist/{pages → views}/LivePreview/index.scss +0 -0
  740. /package/dist/{pages → views}/LivePreview/usePopupWindow.d.ts +0 -0
  741. /package/dist/{pages → views}/Login/LoginForm/index.d.ts +0 -0
  742. /package/dist/{pages → views}/Login/LoginForm/index.scss +0 -0
  743. /package/dist/{pages → views}/Logout/LogoutClient.d.ts +0 -0
  744. /package/dist/{pages → views}/Logout/index.scss +0 -0
  745. /package/dist/{pages → views}/NotFound/index.scss +0 -0
  746. /package/dist/{pages → views}/ResetPassword/index.scss +0 -0
  747. /package/dist/{pages → views}/Unauthorized/UnauthorizedClient.d.ts +0 -0
  748. /package/dist/{pages → views}/Verify/index.scss +0 -0
  749. /package/dist/{pages → views}/Version/Default/SetStepNav.d.ts +0 -0
  750. /package/dist/{pages → views}/Version/Default/index.scss +0 -0
  751. /package/dist/{pages → views}/Version/RenderFieldsToDiff/Label/index.d.ts +0 -0
  752. /package/dist/{pages → views}/Version/RenderFieldsToDiff/Label/index.scss +0 -0
  753. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Iterable/index.scss +0 -0
  754. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Nested/index.scss +0 -0
  755. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Relationship/index.scss +0 -0
  756. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts +0 -0
  757. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Select/index.scss +0 -0
  758. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts +0 -0
  759. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/Text/index.scss +0 -0
  760. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/diffMethods.d.ts +0 -0
  761. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/styles.d.ts +0 -0
  762. /package/dist/{pages → views}/Version/RenderFieldsToDiff/fields/types.d.ts +0 -0
  763. /package/dist/{pages → views}/Version/RenderFieldsToDiff/index.scss +0 -0
  764. /package/dist/{pages → views}/Version/Restore/index.scss +0 -0
  765. /package/dist/{pages → views}/Version/Restore/types.d.ts +0 -0
  766. /package/dist/{pages → views}/Version/SelectComparison/index.scss +0 -0
  767. /package/dist/{pages → views}/Version/SelectLocales/index.scss +0 -0
  768. /package/dist/{pages → views}/Version/SelectLocales/types.d.ts +0 -0
  769. /package/dist/{pages → views}/Version/shared.d.ts +0 -0
  770. /package/dist/{pages → views}/Versions/buildColumns.d.ts +0 -0
  771. /package/dist/{pages → views}/Versions/cells/AutosaveCell/index.d.ts +0 -0
  772. /package/dist/{pages → views}/Versions/cells/CreatedAt/index.d.ts +0 -0
  773. /package/dist/{pages → views}/Versions/cells/ID/index.d.ts +0 -0
  774. /package/dist/{pages → views}/Versions/index.scss +0 -0
  775. /package/dist/{pages → views}/Versions/types.d.ts +0 -0
@@ -1,119 +1,92 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- DELETE: function() {
13
- return DELETE;
14
- },
15
- GET: function() {
16
- return GET;
17
- },
18
- PATCH: function() {
19
- return PATCH;
20
- },
21
- POST: function() {
22
- return POST;
23
- }
24
- });
25
- const _httpstatus = /*#__PURE__*/ _interop_require_default(require("http-status"));
26
- const _pathtoregexp = require("path-to-regexp");
27
- const _createPayloadRequest = require("../../utilities/createPayloadRequest");
28
- const _RouteError = require("./RouteError");
29
- const _access = require("./auth/access");
30
- const _forgotPassword = require("./auth/forgotPassword");
31
- const _init = require("./auth/init");
32
- const _login = require("./auth/login");
33
- const _logout = require("./auth/logout");
34
- const _me = require("./auth/me");
35
- const _refresh = require("./auth/refresh");
36
- const _registerFirstUser = require("./auth/registerFirstUser");
37
- const _resetPassword = require("./auth/resetPassword");
38
- const _unlock = require("./auth/unlock");
39
- const _verifyEmail = require("./auth/verifyEmail");
40
- const _buildFormState = require("./buildFormState");
41
- const _checkEndpoints = require("./checkEndpoints");
42
- const _create = require("./collections/create");
43
- const _delete = require("./collections/delete");
44
- const _deleteByID = require("./collections/deleteByID");
45
- const _docAccess = require("./collections/docAccess");
46
- const _find = require("./collections/find");
47
- const _findByID = require("./collections/findByID");
48
- const _findVersionByID = require("./collections/findVersionByID");
49
- const _findVersions = require("./collections/findVersions");
50
- const _restoreVersion = require("./collections/restoreVersion");
51
- const _update = require("./collections/update");
52
- const _updateByID = require("./collections/updateByID");
53
- const _docAccess1 = require("./globals/docAccess");
54
- const _findOne = require("./globals/findOne");
55
- const _findVersionByID1 = require("./globals/findVersionByID");
56
- const _findVersions1 = require("./globals/findVersions");
57
- const _restoreVersion1 = require("./globals/restoreVersion");
58
- const _update1 = require("./globals/update");
59
- function _interop_require_default(obj) {
60
- return obj && obj.__esModule ? obj : {
61
- default: obj
62
- };
63
- }
1
+ import httpStatus from 'http-status';
2
+ import { match } from 'path-to-regexp';
3
+ import { createPayloadRequest } from '../../utilities/createPayloadRequest.js';
4
+ import { RouteError } from './RouteError.js';
5
+ import { access } from './auth/access.js';
6
+ import { forgotPassword } from './auth/forgotPassword.js';
7
+ import { init } from './auth/init.js';
8
+ import { login } from './auth/login.js';
9
+ import { logout } from './auth/logout.js';
10
+ import { me } from './auth/me.js';
11
+ import { refresh } from './auth/refresh.js';
12
+ import { registerFirstUser } from './auth/registerFirstUser.js';
13
+ import { resetPassword } from './auth/resetPassword.js';
14
+ import { unlock } from './auth/unlock.js';
15
+ import { verifyEmail } from './auth/verifyEmail.js';
16
+ import { buildFormState } from './buildFormState.js';
17
+ import { endpointsAreDisabled } from './checkEndpoints.js';
18
+ import { create } from './collections/create.js';
19
+ import { deleteDoc } from './collections/delete.js';
20
+ import { deleteByID } from './collections/deleteByID.js';
21
+ import { docAccess } from './collections/docAccess.js';
22
+ import { find } from './collections/find.js';
23
+ import { findByID } from './collections/findByID.js';
24
+ import { findVersionByID } from './collections/findVersionByID.js';
25
+ import { findVersions } from './collections/findVersions.js';
26
+ import { restoreVersion } from './collections/restoreVersion.js';
27
+ import { update } from './collections/update.js';
28
+ import { updateByID } from './collections/updateByID.js';
29
+ import { getFile } from './files/getFile.js';
30
+ import { docAccess as docAccessGlobal } from './globals/docAccess.js';
31
+ import { findOne } from './globals/findOne.js';
32
+ import { findVersionByID as findVersionByIdGlobal } from './globals/findVersionByID.js';
33
+ import { findVersions as findVersionsGlobal } from './globals/findVersions.js';
34
+ import { restoreVersion as restoreVersionGlobal } from './globals/restoreVersion.js';
35
+ import { update as updateGlobal } from './globals/update.js';
64
36
  const endpoints = {
65
37
  collection: {
66
38
  DELETE: {
67
- delete: _delete.deleteDoc,
68
- deleteByID: _deleteByID.deleteByID
39
+ delete: deleteDoc,
40
+ deleteByID
69
41
  },
70
42
  GET: {
71
- 'doc-access-by-id': _docAccess.docAccess,
72
- 'doc-versions-by-id': _findVersionByID.findVersionByID,
73
- find: _find.find,
74
- findByID: _findByID.findByID,
75
- init: _init.init,
76
- me: _me.me,
77
- versions: _findVersions.findVersions
43
+ 'doc-access-by-id': docAccess,
44
+ 'doc-versions-by-id': findVersionByID,
45
+ find,
46
+ findByID,
47
+ getFile,
48
+ init,
49
+ me,
50
+ versions: findVersions
78
51
  },
79
52
  PATCH: {
80
- update: _update.update,
81
- updateByID: _updateByID.updateByID
53
+ update,
54
+ updateByID
82
55
  },
83
56
  POST: {
84
- access: _docAccess.docAccess,
85
- create: _create.create,
86
- 'doc-access-by-id': _docAccess.docAccess,
87
- 'doc-verify-by-id': _verifyEmail.verifyEmail,
88
- 'doc-versions-by-id': _restoreVersion.restoreVersion,
89
- 'first-register': _registerFirstUser.registerFirstUser,
90
- 'forgot-password': _forgotPassword.forgotPassword,
91
- login: _login.login,
92
- logout: _logout.logout,
93
- 'refresh-token': _refresh.refresh,
94
- 'reset-password': _resetPassword.resetPassword,
95
- unlock: _unlock.unlock
57
+ access: docAccess,
58
+ create,
59
+ 'doc-access-by-id': docAccess,
60
+ 'doc-verify-by-id': verifyEmail,
61
+ 'doc-versions-by-id': restoreVersion,
62
+ 'first-register': registerFirstUser,
63
+ 'forgot-password': forgotPassword,
64
+ login,
65
+ logout,
66
+ 'refresh-token': refresh,
67
+ 'reset-password': resetPassword,
68
+ unlock
96
69
  }
97
70
  },
98
71
  global: {
99
72
  GET: {
100
- 'doc-access': _docAccess1.docAccess,
101
- 'doc-versions': _findVersions1.findVersions,
102
- 'doc-versions-by-id': _findVersionByID1.findVersionByID,
103
- findOne: _findOne.findOne
73
+ 'doc-access': docAccessGlobal,
74
+ 'doc-versions': findVersionsGlobal,
75
+ 'doc-versions-by-id': findVersionByIdGlobal,
76
+ findOne
104
77
  },
105
78
  POST: {
106
- 'doc-access': _docAccess1.docAccess,
107
- 'doc-versions-by-id': _restoreVersion1.restoreVersion,
108
- update: _update1.update
79
+ 'doc-access': docAccessGlobal,
80
+ 'doc-versions-by-id': restoreVersionGlobal,
81
+ update: updateGlobal
109
82
  }
110
83
  },
111
84
  root: {
112
85
  GET: {
113
- access: _access.access
86
+ access
114
87
  },
115
88
  POST: {
116
- 'form-state': _buildFormState.buildFormState
89
+ 'form-state': buildFormState
117
90
  }
118
91
  }
119
92
  };
@@ -124,7 +97,7 @@ const handleCustomEndpoints = ({ endpoints, entitySlug, payloadRequest })=>{
124
97
  const pathPrefix = payloadRequest.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '');
125
98
  const customEndpoint = endpoints.find((endpoint)=>{
126
99
  if (endpoint.method === payloadRequest.method.toLowerCase()) {
127
- const pathMatchFn = (0, _pathtoregexp.match)(`${pathPrefix}${endpoint.path}`, {
100
+ const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {
128
101
  decode: decodeURIComponent
129
102
  });
130
103
  const tempParams = pathMatchFn(pathname);
@@ -144,29 +117,29 @@ const handleCustomEndpoints = ({ endpoints, entitySlug, payloadRequest })=>{
144
117
  const RouteNotFoundResponse = (slug)=>Response.json({
145
118
  message: `Route Not Found: "${slug.join('/')}"`
146
119
  }, {
147
- status: _httpstatus.default.NOT_FOUND
120
+ status: httpStatus.NOT_FOUND
148
121
  });
149
- const GET = (config)=>async (request, { params: { slug } })=>{
122
+ export const GET = (config)=>async (request, { params: { slug } })=>{
150
123
  const [slug1, slug2, slug3, slug4] = slug;
151
124
  let req;
152
125
  let res;
153
126
  let collection;
154
127
  try {
155
- req = await (0, _createPayloadRequest.createPayloadRequest)({
128
+ req = await createPayloadRequest({
156
129
  config,
157
130
  params: {
158
131
  collection: slug1
159
132
  },
160
133
  request
161
134
  });
162
- const disableEndpoints = (0, _checkEndpoints.endpointsAreDisabled)({
135
+ const disableEndpoints = endpointsAreDisabled({
163
136
  endpoints: req.payload.config.endpoints,
164
137
  request
165
138
  });
166
139
  if (disableEndpoints) return disableEndpoints;
167
140
  collection = req.payload.collections?.[slug1];
168
141
  if (collection) {
169
- const disableEndpoints = (0, _checkEndpoints.endpointsAreDisabled)({
142
+ const disableEndpoints = endpointsAreDisabled({
170
143
  endpoints: collection.config.endpoints,
171
144
  request
172
145
  });
@@ -204,7 +177,14 @@ const GET = (config)=>async (request, { params: { slug } })=>{
204
177
  }
205
178
  break;
206
179
  case 3:
207
- if (`doc-${slug2}-by-id` in endpoints.collection.GET) {
180
+ if (slug2 === 'file') {
181
+ // /:collection/file/:filename
182
+ res = await endpoints.collection.GET.getFile({
183
+ collection,
184
+ filename: slug3,
185
+ req
186
+ });
187
+ } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {
208
188
  // /:collection/access/:id
209
189
  // /:collection/versions/:id
210
190
  res = await endpoints.collection.GET[`doc-${slug2}-by-id`]({
@@ -217,7 +197,7 @@ const GET = (config)=>async (request, { params: { slug } })=>{
217
197
  }
218
198
  } else if (slug1 === 'globals') {
219
199
  const globalConfig = req.payload.config.globals.find((global)=>global.slug === slug2);
220
- const disableEndpoints = (0, _checkEndpoints.endpointsAreDisabled)({
200
+ const disableEndpoints = endpointsAreDisabled({
221
201
  endpoints: globalConfig.endpoints,
222
202
  request
223
203
  });
@@ -271,20 +251,20 @@ const GET = (config)=>async (request, { params: { slug } })=>{
271
251
  if (customEndpointResponse) return customEndpointResponse;
272
252
  return RouteNotFoundResponse(slug);
273
253
  } catch (error) {
274
- return (0, _RouteError.RouteError)({
254
+ return RouteError({
275
255
  collection,
276
256
  err: error,
277
257
  req
278
258
  });
279
259
  }
280
260
  };
281
- const POST = (config)=>async (request, { params: { slug } })=>{
261
+ export const POST = (config)=>async (request, { params: { slug } })=>{
282
262
  const [slug1, slug2, slug3, slug4] = slug;
283
263
  let req;
284
264
  let res;
285
265
  let collection;
286
266
  try {
287
- req = await (0, _createPayloadRequest.createPayloadRequest)({
267
+ req = await createPayloadRequest({
288
268
  config,
289
269
  params: {
290
270
  collection: slug1
@@ -292,13 +272,13 @@ const POST = (config)=>async (request, { params: { slug } })=>{
292
272
  request
293
273
  });
294
274
  collection = req.payload.collections?.[slug1];
295
- const disableEndpoints = (0, _checkEndpoints.endpointsAreDisabled)({
275
+ const disableEndpoints = endpointsAreDisabled({
296
276
  endpoints: req.payload.config.endpoints,
297
277
  request
298
278
  });
299
279
  if (disableEndpoints) return disableEndpoints;
300
280
  if (collection) {
301
- const disableEndpoints = (0, _checkEndpoints.endpointsAreDisabled)({
281
+ const disableEndpoints = endpointsAreDisabled({
302
282
  endpoints: collection.config.endpoints,
303
283
  request
304
284
  });
@@ -348,7 +328,7 @@ const POST = (config)=>async (request, { params: { slug } })=>{
348
328
  }
349
329
  } else if (slug1 === 'globals' && slug2) {
350
330
  const globalConfig = req.payload.config.globals.find((global)=>global.slug === slug2);
351
- const disableEndpoints = (0, _checkEndpoints.endpointsAreDisabled)({
331
+ const disableEndpoints = endpointsAreDisabled({
352
332
  endpoints: globalConfig.endpoints,
353
333
  request
354
334
  });
@@ -405,20 +385,20 @@ const POST = (config)=>async (request, { params: { slug } })=>{
405
385
  if (customEndpointResponse) return customEndpointResponse;
406
386
  return RouteNotFoundResponse(slug);
407
387
  } catch (error) {
408
- return (0, _RouteError.RouteError)({
388
+ return RouteError({
409
389
  collection,
410
390
  err: error,
411
391
  req
412
392
  });
413
393
  }
414
394
  };
415
- const DELETE = (config)=>async (request, { params: { slug } })=>{
395
+ export const DELETE = (config)=>async (request, { params: { slug } })=>{
416
396
  const [slug1, slug2] = slug;
417
397
  let req;
418
398
  let res;
419
399
  let collection;
420
400
  try {
421
- req = await (0, _createPayloadRequest.createPayloadRequest)({
401
+ req = await createPayloadRequest({
422
402
  config,
423
403
  params: {
424
404
  collection: slug1
@@ -426,13 +406,13 @@ const DELETE = (config)=>async (request, { params: { slug } })=>{
426
406
  request
427
407
  });
428
408
  collection = req.payload.collections?.[slug1];
429
- const disableEndpoints = (0, _checkEndpoints.endpointsAreDisabled)({
409
+ const disableEndpoints = endpointsAreDisabled({
430
410
  endpoints: req.payload.config.endpoints,
431
411
  request
432
412
  });
433
413
  if (disableEndpoints) return disableEndpoints;
434
414
  if (collection) {
435
- const disableEndpoints = (0, _checkEndpoints.endpointsAreDisabled)({
415
+ const disableEndpoints = endpointsAreDisabled({
436
416
  endpoints: collection.config.endpoints,
437
417
  request
438
418
  });
@@ -470,20 +450,20 @@ const DELETE = (config)=>async (request, { params: { slug } })=>{
470
450
  if (customEndpointResponse) return customEndpointResponse;
471
451
  return RouteNotFoundResponse(slug);
472
452
  } catch (error) {
473
- return (0, _RouteError.RouteError)({
453
+ return RouteError({
474
454
  collection,
475
455
  err: error,
476
456
  req
477
457
  });
478
458
  }
479
459
  };
480
- const PATCH = (config)=>async (request, { params: { slug } })=>{
460
+ export const PATCH = (config)=>async (request, { params: { slug } })=>{
481
461
  const [slug1, slug2] = slug;
482
462
  let req;
483
463
  let res;
484
464
  let collection;
485
465
  try {
486
- req = await (0, _createPayloadRequest.createPayloadRequest)({
466
+ req = await createPayloadRequest({
487
467
  config,
488
468
  params: {
489
469
  collection: slug1
@@ -491,13 +471,13 @@ const PATCH = (config)=>async (request, { params: { slug } })=>{
491
471
  request
492
472
  });
493
473
  collection = req.payload.collections?.[slug1];
494
- const disableEndpoints = (0, _checkEndpoints.endpointsAreDisabled)({
474
+ const disableEndpoints = endpointsAreDisabled({
495
475
  endpoints: req.payload.config.endpoints,
496
476
  request
497
477
  });
498
478
  if (disableEndpoints) return disableEndpoints;
499
479
  if (collection) {
500
- const disableEndpoints = (0, _checkEndpoints.endpointsAreDisabled)({
480
+ const disableEndpoints = endpointsAreDisabled({
501
481
  endpoints: collection.config.endpoints,
502
482
  request
503
483
  });
@@ -535,7 +515,7 @@ const PATCH = (config)=>async (request, { params: { slug } })=>{
535
515
  if (customEndpointResponse) return customEndpointResponse;
536
516
  return RouteNotFoundResponse(slug);
537
517
  } catch (error) {
538
- return (0, _RouteError.RouteError)({
518
+ return RouteError({
539
519
  collection,
540
520
  err: error,
541
521
  req
@@ -543,4 +523,4 @@ const PATCH = (config)=>async (request, { params: { slug } })=>{
543
523
  }
544
524
  };
545
525
 
546
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0ZXMvcmVzdC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuZHBvaW50IH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24sIEdsb2JhbENvbmZpZywgUGF5bG9hZFJlcXVlc3QsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCBodHRwU3RhdHVzIGZyb20gJ2h0dHAtc3RhdHVzJ1xuaW1wb3J0IHsgbWF0Y2ggfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCdcblxuaW1wb3J0IHR5cGUge1xuICBDb2xsZWN0aW9uUm91dGVIYW5kbGVyLFxuICBDb2xsZWN0aW9uUm91dGVIYW5kbGVyV2l0aElELFxuICBHbG9iYWxSb3V0ZUhhbmRsZXIsXG4gIEdsb2JhbFJvdXRlSGFuZGxlcldpdGhJRCxcbn0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgY3JlYXRlUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY3JlYXRlUGF5bG9hZFJlcXVlc3QnXG5pbXBvcnQgeyBSb3V0ZUVycm9yIH0gZnJvbSAnLi9Sb3V0ZUVycm9yJ1xuaW1wb3J0IHsgYWNjZXNzIH0gZnJvbSAnLi9hdXRoL2FjY2VzcydcbmltcG9ydCB7IGZvcmdvdFBhc3N3b3JkIH0gZnJvbSAnLi9hdXRoL2ZvcmdvdFBhc3N3b3JkJ1xuaW1wb3J0IHsgaW5pdCB9IGZyb20gJy4vYXV0aC9pbml0J1xuaW1wb3J0IHsgbG9naW4gfSBmcm9tICcuL2F1dGgvbG9naW4nXG5pbXBvcnQgeyBsb2dvdXQgfSBmcm9tICcuL2F1dGgvbG9nb3V0J1xuaW1wb3J0IHsgbWUgfSBmcm9tICcuL2F1dGgvbWUnXG5pbXBvcnQgeyByZWZyZXNoIH0gZnJvbSAnLi9hdXRoL3JlZnJlc2gnXG5pbXBvcnQgeyByZWdpc3RlckZpcnN0VXNlciB9IGZyb20gJy4vYXV0aC9yZWdpc3RlckZpcnN0VXNlcidcbmltcG9ydCB7IHJlc2V0UGFzc3dvcmQgfSBmcm9tICcuL2F1dGgvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB7IHVubG9jayB9IGZyb20gJy4vYXV0aC91bmxvY2snXG5pbXBvcnQgeyB2ZXJpZnlFbWFpbCB9IGZyb20gJy4vYXV0aC92ZXJpZnlFbWFpbCdcbmltcG9ydCB7IGJ1aWxkRm9ybVN0YXRlIH0gZnJvbSAnLi9idWlsZEZvcm1TdGF0ZSdcbmltcG9ydCB7IGVuZHBvaW50c0FyZURpc2FibGVkIH0gZnJvbSAnLi9jaGVja0VuZHBvaW50cydcbmltcG9ydCB7IGNyZWF0ZSB9IGZyb20gJy4vY29sbGVjdGlvbnMvY3JlYXRlJ1xuaW1wb3J0IHsgZGVsZXRlRG9jIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9kZWxldGUnXG5pbXBvcnQgeyBkZWxldGVCeUlEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9kZWxldGVCeUlEJ1xuaW1wb3J0IHsgZG9jQWNjZXNzIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9kb2NBY2Nlc3MnXG5pbXBvcnQgeyBmaW5kIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9maW5kJ1xuaW1wb3J0IHsgZmluZEJ5SUQgfSBmcm9tICcuL2NvbGxlY3Rpb25zL2ZpbmRCeUlEJ1xuaW1wb3J0IHsgZmluZFZlcnNpb25CeUlEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9maW5kVmVyc2lvbkJ5SUQnXG5pbXBvcnQgeyBmaW5kVmVyc2lvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL2ZpbmRWZXJzaW9ucydcbmltcG9ydCB7IHJlc3RvcmVWZXJzaW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB7IHVwZGF0ZSB9IGZyb20gJy4vY29sbGVjdGlvbnMvdXBkYXRlJ1xuaW1wb3J0IHsgdXBkYXRlQnlJRCB9IGZyb20gJy4vY29sbGVjdGlvbnMvdXBkYXRlQnlJRCdcbmltcG9ydCB7IGRvY0FjY2VzcyBhcyBkb2NBY2Nlc3NHbG9iYWwgfSBmcm9tICcuL2dsb2JhbHMvZG9jQWNjZXNzJ1xuaW1wb3J0IHsgZmluZE9uZSB9IGZyb20gJy4vZ2xvYmFscy9maW5kT25lJ1xuaW1wb3J0IHsgZmluZFZlcnNpb25CeUlEIGFzIGZpbmRWZXJzaW9uQnlJZEdsb2JhbCB9IGZyb20gJy4vZ2xvYmFscy9maW5kVmVyc2lvbkJ5SUQnXG5pbXBvcnQgeyBmaW5kVmVyc2lvbnMgYXMgZmluZFZlcnNpb25zR2xvYmFsIH0gZnJvbSAnLi9nbG9iYWxzL2ZpbmRWZXJzaW9ucydcbmltcG9ydCB7IHJlc3RvcmVWZXJzaW9uIGFzIHJlc3RvcmVWZXJzaW9uR2xvYmFsIH0gZnJvbSAnLi9nbG9iYWxzL3Jlc3RvcmVWZXJzaW9uJ1xuaW1wb3J0IHsgdXBkYXRlIGFzIHVwZGF0ZUdsb2JhbCB9IGZyb20gJy4vZ2xvYmFscy91cGRhdGUnXG5cbmNvbnN0IGVuZHBvaW50cyA9IHtcbiAgY29sbGVjdGlvbjoge1xuICAgIERFTEVURToge1xuICAgICAgZGVsZXRlOiBkZWxldGVEb2MsXG4gICAgICBkZWxldGVCeUlELFxuICAgIH0sXG4gICAgR0VUOiB7XG4gICAgICAnZG9jLWFjY2Vzcy1ieS1pZCc6IGRvY0FjY2VzcyxcbiAgICAgICdkb2MtdmVyc2lvbnMtYnktaWQnOiBmaW5kVmVyc2lvbkJ5SUQsXG4gICAgICBmaW5kLFxuICAgICAgZmluZEJ5SUQsXG4gICAgICBpbml0LFxuICAgICAgbWUsXG4gICAgICB2ZXJzaW9uczogZmluZFZlcnNpb25zLFxuICAgIH0sXG4gICAgUEFUQ0g6IHtcbiAgICAgIHVwZGF0ZSxcbiAgICAgIHVwZGF0ZUJ5SUQsXG4gICAgfSxcbiAgICBQT1NUOiB7XG4gICAgICBhY2Nlc3M6IGRvY0FjY2VzcyxcbiAgICAgIGNyZWF0ZSxcbiAgICAgICdkb2MtYWNjZXNzLWJ5LWlkJzogZG9jQWNjZXNzLFxuICAgICAgJ2RvYy12ZXJpZnktYnktaWQnOiB2ZXJpZnlFbWFpbCxcbiAgICAgICdkb2MtdmVyc2lvbnMtYnktaWQnOiByZXN0b3JlVmVyc2lvbixcbiAgICAgICdmaXJzdC1yZWdpc3Rlcic6IHJlZ2lzdGVyRmlyc3RVc2VyLFxuICAgICAgJ2ZvcmdvdC1wYXNzd29yZCc6IGZvcmdvdFBhc3N3b3JkLFxuICAgICAgbG9naW4sXG4gICAgICBsb2dvdXQsXG4gICAgICAncmVmcmVzaC10b2tlbic6IHJlZnJlc2gsXG4gICAgICAncmVzZXQtcGFzc3dvcmQnOiByZXNldFBhc3N3b3JkLFxuICAgICAgdW5sb2NrLFxuICAgIH0sXG4gIH0sXG4gIGdsb2JhbDoge1xuICAgIEdFVDoge1xuICAgICAgJ2RvYy1hY2Nlc3MnOiBkb2NBY2Nlc3NHbG9iYWwsXG4gICAgICAnZG9jLXZlcnNpb25zJzogZmluZFZlcnNpb25zR2xvYmFsLFxuICAgICAgJ2RvYy12ZXJzaW9ucy1ieS1pZCc6IGZpbmRWZXJzaW9uQnlJZEdsb2JhbCxcbiAgICAgIGZpbmRPbmUsXG4gICAgfSxcbiAgICBQT1NUOiB7XG4gICAgICAnZG9jLWFjY2Vzcyc6IGRvY0FjY2Vzc0dsb2JhbCxcbiAgICAgICdkb2MtdmVyc2lvbnMtYnktaWQnOiByZXN0b3JlVmVyc2lvbkdsb2JhbCxcbiAgICAgIHVwZGF0ZTogdXBkYXRlR2xvYmFsLFxuICAgIH0sXG4gIH0sXG4gIHJvb3Q6IHtcbiAgICBHRVQ6IHtcbiAgICAgIGFjY2VzcyxcbiAgICB9LFxuICAgIFBPU1Q6IHtcbiAgICAgICdmb3JtLXN0YXRlJzogYnVpbGRGb3JtU3RhdGUsXG4gICAgfSxcbiAgfSxcbn1cblxuY29uc3QgaGFuZGxlQ3VzdG9tRW5kcG9pbnRzID0gKHtcbiAgZW5kcG9pbnRzLFxuICBlbnRpdHlTbHVnLFxuICBwYXlsb2FkUmVxdWVzdCxcbn06IHtcbiAgZW5kcG9pbnRzOiBFbmRwb2ludFtdIHwgR2xvYmFsQ29uZmlnWydlbmRwb2ludHMnXVxuICBlbnRpdHlTbHVnPzogc3RyaW5nXG4gIHBheWxvYWRSZXF1ZXN0OiBQYXlsb2FkUmVxdWVzdFxufSk6IFByb21pc2U8UmVzcG9uc2U+IHwgUmVzcG9uc2UgPT4ge1xuICBpZiAoZW5kcG9pbnRzICYmIGVuZHBvaW50cy5sZW5ndGggPiAwKSB7XG4gICAgbGV0IGhhbmRsZXJQYXJhbXMgPSB7fVxuICAgIGNvbnN0IHsgcGF0aG5hbWUgfSA9IHBheWxvYWRSZXF1ZXN0XG4gICAgY29uc3QgcGF0aFByZWZpeCA9XG4gICAgICBwYXlsb2FkUmVxdWVzdC5wYXlsb2FkLmNvbmZpZy5yb3V0ZXMuYXBpICsgKGVudGl0eVNsdWcgPyBgLyR7ZW50aXR5U2x1Z31gIDogJycpXG5cbiAgICBjb25zdCBjdXN0b21FbmRwb2ludCA9IGVuZHBvaW50cy5maW5kKChlbmRwb2ludCkgPT4ge1xuICAgICAgaWYgKGVuZHBvaW50Lm1ldGhvZCA9PT0gcGF5bG9hZFJlcXVlc3QubWV0aG9kLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgY29uc3QgcGF0aE1hdGNoRm4gPSBtYXRjaChgJHtwYXRoUHJlZml4fSR7ZW5kcG9pbnQucGF0aH1gLCB7XG4gICAgICAgICAgZGVjb2RlOiBkZWNvZGVVUklDb21wb25lbnQsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IHRlbXBQYXJhbXMgPSBwYXRoTWF0Y2hGbihwYXRobmFtZSlcbiAgICAgICAgaWYgKHRlbXBQYXJhbXMpIHtcbiAgICAgICAgICBoYW5kbGVyUGFyYW1zID0gdGVtcFBhcmFtcy5wYXJhbXNcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcblxuICAgIGlmIChjdXN0b21FbmRwb2ludCkge1xuICAgICAgcGF5bG9hZFJlcXVlc3Qucm91dGVQYXJhbXMgPSBoYW5kbGVyUGFyYW1zXG4gICAgICByZXR1cm4gY3VzdG9tRW5kcG9pbnQuaGFuZGxlcihwYXlsb2FkUmVxdWVzdClcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbFxufVxuXG5jb25zdCBSb3V0ZU5vdEZvdW5kUmVzcG9uc2UgPSAoc2x1Zzogc3RyaW5nW10pID0+XG4gIFJlc3BvbnNlLmpzb24oXG4gICAge1xuICAgICAgbWVzc2FnZTogYFJvdXRlIE5vdCBGb3VuZDogXCIke3NsdWcuam9pbignLycpfVwiYCxcbiAgICB9LFxuICAgIHsgc3RhdHVzOiBodHRwU3RhdHVzLk5PVF9GT1VORCB9LFxuICApXG5cbmV4cG9ydCBjb25zdCBHRVQgPVxuICAoY29uZmlnOiBQcm9taXNlPFNhbml0aXplZENvbmZpZz4gfCBTYW5pdGl6ZWRDb25maWcpID0+XG4gIGFzeW5jIChyZXF1ZXN0OiBSZXF1ZXN0LCB7IHBhcmFtczogeyBzbHVnIH0gfTogeyBwYXJhbXM6IHsgc2x1Zzogc3RyaW5nW10gfSB9KSA9PiB7XG4gICAgY29uc3QgW3NsdWcxLCBzbHVnMiwgc2x1ZzMsIHNsdWc0XSA9IHNsdWdcbiAgICBsZXQgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAgIGxldCByZXM6IFJlc3BvbnNlXG4gICAgbGV0IGNvbGxlY3Rpb246IENvbGxlY3Rpb25cblxuICAgIHRyeSB7XG4gICAgICByZXEgPSBhd2FpdCBjcmVhdGVQYXlsb2FkUmVxdWVzdCh7XG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgY29sbGVjdGlvbjogc2x1ZzEsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBkaXNhYmxlRW5kcG9pbnRzID0gZW5kcG9pbnRzQXJlRGlzYWJsZWQoe1xuICAgICAgICBlbmRwb2ludHM6IHJlcS5wYXlsb2FkLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgaWYgKGRpc2FibGVFbmRwb2ludHMpIHJldHVybiBkaXNhYmxlRW5kcG9pbnRzXG5cbiAgICAgIGNvbGxlY3Rpb24gPSByZXEucGF5bG9hZC5jb2xsZWN0aW9ucz8uW3NsdWcxXVxuXG4gICAgICBpZiAoY29sbGVjdGlvbikge1xuICAgICAgICBjb25zdCBkaXNhYmxlRW5kcG9pbnRzID0gZW5kcG9pbnRzQXJlRGlzYWJsZWQoe1xuICAgICAgICAgIGVuZHBvaW50czogY29sbGVjdGlvbi5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICAgIGNvbnN0IGN1c3RvbUVuZHBvaW50UmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVDdXN0b21FbmRwb2ludHMoe1xuICAgICAgICAgIGVuZHBvaW50czogY29sbGVjdGlvbi5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIGVudGl0eVNsdWc6IHNsdWcxLFxuICAgICAgICAgIHBheWxvYWRSZXF1ZXN0OiByZXEsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICAgIHN3aXRjaCAoc2x1Zy5sZW5ndGgpIHtcbiAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb25cbiAgICAgICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5jb2xsZWN0aW9uLkdFVC5maW5kKHsgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIGlmIChzbHVnMiBpbiBlbmRwb2ludHMuY29sbGVjdGlvbi5HRVQpIHtcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL2luaXRcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL21lXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi92ZXJzaW9uc1xuICAgICAgICAgICAgICByZXMgPSBhd2FpdCAoZW5kcG9pbnRzLmNvbGxlY3Rpb24uR0VUW3NsdWcyXSBhcyBDb2xsZWN0aW9uUm91dGVIYW5kbGVyKSh7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vOmlkXG4gICAgICAgICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5jb2xsZWN0aW9uLkdFVC5maW5kQnlJRCh7IGlkOiBzbHVnMiwgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIGlmIChgZG9jLSR7c2x1ZzJ9LWJ5LWlkYCBpbiBlbmRwb2ludHMuY29sbGVjdGlvbi5HRVQpIHtcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL2FjY2Vzcy86aWRcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL3ZlcnNpb25zLzppZFxuICAgICAgICAgICAgICByZXMgPSBhd2FpdCAoXG4gICAgICAgICAgICAgICAgZW5kcG9pbnRzLmNvbGxlY3Rpb24uR0VUW2Bkb2MtJHtzbHVnMn0tYnktaWRgXSBhcyBDb2xsZWN0aW9uUm91dGVIYW5kbGVyV2l0aElEXG4gICAgICAgICAgICAgICkoeyBpZDogc2x1ZzMsIGNvbGxlY3Rpb24sIHJlcSB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChzbHVnMSA9PT0gJ2dsb2JhbHMnKSB7XG4gICAgICAgIGNvbnN0IGdsb2JhbENvbmZpZyA9IHJlcS5wYXlsb2FkLmNvbmZpZy5nbG9iYWxzLmZpbmQoKGdsb2JhbCkgPT4gZ2xvYmFsLnNsdWcgPT09IHNsdWcyKVxuXG4gICAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBnbG9iYWxDb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICAgIGNvbnN0IGN1c3RvbUVuZHBvaW50UmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVDdXN0b21FbmRwb2ludHMoe1xuICAgICAgICAgIGVuZHBvaW50czogZ2xvYmFsQ29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICBlbnRpdHlTbHVnOiBgJHtzbHVnMX0vJHtzbHVnMn1gLFxuICAgICAgICAgIHBheWxvYWRSZXF1ZXN0OiByZXEsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICAgIHN3aXRjaCAoc2x1Zy5sZW5ndGgpIHtcbiAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Z1xuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmdsb2JhbC5HRVQuZmluZE9uZSh7IGdsb2JhbENvbmZpZywgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIGlmIChgZG9jLSR7c2x1ZzN9YCBpbiBlbmRwb2ludHMuZ2xvYmFsLkdFVCkge1xuICAgICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Zy9hY2Nlc3NcbiAgICAgICAgICAgICAgLy8gL2dsb2JhbHMvOnNsdWcvdmVyc2lvbnNcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgKGVuZHBvaW50cy5nbG9iYWwuR0VUPy5bYGRvYy0ke3NsdWczfWBdIGFzIEdsb2JhbFJvdXRlSGFuZGxlcikoe1xuICAgICAgICAgICAgICAgIGdsb2JhbENvbmZpZyxcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgIGlmIChgZG9jLSR7c2x1ZzN9LWJ5LWlkYCBpbiBlbmRwb2ludHMuZ2xvYmFsLkdFVCkge1xuICAgICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Zy92ZXJzaW9ucy86aWRcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgKFxuICAgICAgICAgICAgICAgIGVuZHBvaW50cy5nbG9iYWwuR0VUPy5bYGRvYy0ke3NsdWczfS1ieS1pZGBdIGFzIEdsb2JhbFJvdXRlSGFuZGxlcldpdGhJRFxuICAgICAgICAgICAgICApKHtcbiAgICAgICAgICAgICAgICBpZDogc2x1ZzQsXG4gICAgICAgICAgICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoc2x1Zy5sZW5ndGggPT09IDEgJiYgc2x1ZzEgaW4gZW5kcG9pbnRzLnJvb3QuR0VUKSB7XG4gICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5yb290LkdFVFtzbHVnMV0oeyByZXEgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcyBpbnN0YW5jZW9mIFJlc3BvbnNlKSByZXR1cm4gcmVzXG5cbiAgICAgIC8vIHJvb3Qgcm91dGVzXG4gICAgICBjb25zdCBjdXN0b21FbmRwb2ludFJlc3BvbnNlID0gYXdhaXQgaGFuZGxlQ3VzdG9tRW5kcG9pbnRzKHtcbiAgICAgICAgZW5kcG9pbnRzOiByZXEucGF5bG9hZC5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICBwYXlsb2FkUmVxdWVzdDogcmVxLFxuICAgICAgfSlcbiAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICByZXR1cm4gUm91dGVOb3RGb3VuZFJlc3BvbnNlKHNsdWcpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBSb3V0ZUVycm9yKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgZXJyOiBlcnJvcixcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuZXhwb3J0IGNvbnN0IFBPU1QgPVxuICAoY29uZmlnOiBQcm9taXNlPFNhbml0aXplZENvbmZpZz4gfCBTYW5pdGl6ZWRDb25maWcpID0+XG4gIGFzeW5jIChyZXF1ZXN0OiBSZXF1ZXN0LCB7IHBhcmFtczogeyBzbHVnIH0gfTogeyBwYXJhbXM6IHsgc2x1Zzogc3RyaW5nW10gfSB9KSA9PiB7XG4gICAgY29uc3QgW3NsdWcxLCBzbHVnMiwgc2x1ZzMsIHNsdWc0XSA9IHNsdWdcbiAgICBsZXQgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAgIGxldCByZXM6IFJlc3BvbnNlXG4gICAgbGV0IGNvbGxlY3Rpb246IENvbGxlY3Rpb25cblxuICAgIHRyeSB7XG4gICAgICByZXEgPSBhd2FpdCBjcmVhdGVQYXlsb2FkUmVxdWVzdCh7XG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgcGFyYW1zOiB7IGNvbGxlY3Rpb246IHNsdWcxIH0sXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICB9KVxuXG4gICAgICBjb2xsZWN0aW9uID0gcmVxLnBheWxvYWQuY29sbGVjdGlvbnM/LltzbHVnMV1cblxuICAgICAgY29uc3QgZGlzYWJsZUVuZHBvaW50cyA9IGVuZHBvaW50c0FyZURpc2FibGVkKHtcbiAgICAgICAgZW5kcG9pbnRzOiByZXEucGF5bG9hZC5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgfSlcbiAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICBpZiAoY29sbGVjdGlvbikge1xuICAgICAgICBjb25zdCBkaXNhYmxlRW5kcG9pbnRzID0gZW5kcG9pbnRzQXJlRGlzYWJsZWQoe1xuICAgICAgICAgIGVuZHBvaW50czogY29sbGVjdGlvbi5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICAgIGNvbnN0IGN1c3RvbUVuZHBvaW50UmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVDdXN0b21FbmRwb2ludHMoe1xuICAgICAgICAgIGVuZHBvaW50czogY29sbGVjdGlvbi5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIGVudGl0eVNsdWc6IHNsdWcxLFxuICAgICAgICAgIHBheWxvYWRSZXF1ZXN0OiByZXEsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKGN1c3RvbUVuZHBvaW50UmVzcG9uc2UpIHJldHVybiBjdXN0b21FbmRwb2ludFJlc3BvbnNlXG5cbiAgICAgICAgc3dpdGNoIChzbHVnLmxlbmd0aCkge1xuICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvblxuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmNvbGxlY3Rpb24uUE9TVC5jcmVhdGUoeyBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgaWYgKHNsdWcyIGluIGVuZHBvaW50cy5jb2xsZWN0aW9uLlBPU1QpIHtcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL2xvZ2luXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi9sb2dvdXRcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL3VubG9ja1xuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vYWNjZXNzXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi9maXJzdC1yZWdpc3RlclxuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vZm9yZ290LXBhc3N3b3JkXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi9yZXNldC1wYXNzd29yZFxuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vcmVmcmVzaC10b2tlblxuICAgICAgICAgICAgICByZXMgPSBhd2FpdCAoZW5kcG9pbnRzLmNvbGxlY3Rpb24uUE9TVD8uW3NsdWcyXSBhcyBDb2xsZWN0aW9uUm91dGVIYW5kbGVyKSh7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIGlmIChgZG9jLSR7c2x1ZzJ9LWJ5LWlkYCBpbiBlbmRwb2ludHMuY29sbGVjdGlvbi5QT1NUKSB7XG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi9hY2Nlc3MvOmlkXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi92ZXJzaW9ucy86aWRcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL3ZlcmlmeS86dG9rZW4gKFwiZG9jLXZlcmlmeS1ieS1pZFwiIHVzZXMgaWQgYXMgdG9rZW4gaW50ZXJuYWxseSlcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgKFxuICAgICAgICAgICAgICAgIGVuZHBvaW50cy5jb2xsZWN0aW9uLlBPU1RbYGRvYy0ke3NsdWcyfS1ieS1pZGBdIGFzIENvbGxlY3Rpb25Sb3V0ZUhhbmRsZXJXaXRoSURcbiAgICAgICAgICAgICAgKSh7IGlkOiBzbHVnMywgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHNsdWcxID09PSAnZ2xvYmFscycgJiYgc2x1ZzIpIHtcbiAgICAgICAgY29uc3QgZ2xvYmFsQ29uZmlnID0gcmVxLnBheWxvYWQuY29uZmlnLmdsb2JhbHMuZmluZCgoZ2xvYmFsKSA9PiBnbG9iYWwuc2x1ZyA9PT0gc2x1ZzIpXG4gICAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBnbG9iYWxDb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICAgIGNvbnN0IGN1c3RvbUVuZHBvaW50UmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVDdXN0b21FbmRwb2ludHMoe1xuICAgICAgICAgIGVuZHBvaW50czogZ2xvYmFsQ29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICBlbnRpdHlTbHVnOiBgJHtzbHVnMX0vJHtzbHVnMn1gLFxuICAgICAgICAgIHBheWxvYWRSZXF1ZXN0OiByZXEsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICAgIHN3aXRjaCAoc2x1Zy5sZW5ndGgpIHtcbiAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Z1xuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmdsb2JhbC5QT1NULnVwZGF0ZSh7IGdsb2JhbENvbmZpZywgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIGlmIChgZG9jLSR7c2x1ZzN9YCBpbiBlbmRwb2ludHMuZ2xvYmFsLlBPU1QpIHtcbiAgICAgICAgICAgICAgLy8gL2dsb2JhbHMvOnNsdWcvYWNjZXNzXG4gICAgICAgICAgICAgIHJlcyA9IGF3YWl0IChlbmRwb2ludHMuZ2xvYmFsLlBPU1Q/LltgZG9jLSR7c2x1ZzN9YF0gYXMgR2xvYmFsUm91dGVIYW5kbGVyKSh7XG4gICAgICAgICAgICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgaWYgKGBkb2MtJHtzbHVnM30tYnktaWRgIGluIGVuZHBvaW50cy5nbG9iYWwuUE9TVCkge1xuICAgICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Zy92ZXJzaW9ucy86aWRcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgKFxuICAgICAgICAgICAgICAgIGVuZHBvaW50cy5nbG9iYWwuUE9TVD8uW2Bkb2MtJHtzbHVnM30tYnktaWRgXSBhcyBHbG9iYWxSb3V0ZUhhbmRsZXJXaXRoSURcbiAgICAgICAgICAgICAgKSh7XG4gICAgICAgICAgICAgICAgaWQ6IHNsdWc0LFxuICAgICAgICAgICAgICAgIGdsb2JhbENvbmZpZyxcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXMgPSBuZXcgUmVzcG9uc2UoJ1JvdXRlIE5vdCBGb3VuZCcsIHsgc3RhdHVzOiA0MDQgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChzbHVnLmxlbmd0aCA9PT0gMSAmJiBzbHVnMSBpbiBlbmRwb2ludHMucm9vdC5QT1NUKSB7XG4gICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5yb290LlBPU1Rbc2x1ZzFdKHsgcmVxIH0pXG4gICAgICB9XG5cbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkgcmV0dXJuIHJlc1xuXG4gICAgICAvLyByb290IHJvdXRlc1xuICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgIH0pXG4gICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgcmV0dXJuIFJvdXRlTm90Rm91bmRSZXNwb25zZShzbHVnKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gUm91dGVFcnJvcih7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGVycjogZXJyb3IsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbmV4cG9ydCBjb25zdCBERUxFVEUgPVxuICAoY29uZmlnOiBQcm9taXNlPFNhbml0aXplZENvbmZpZz4gfCBTYW5pdGl6ZWRDb25maWcpID0+XG4gIGFzeW5jIChyZXF1ZXN0OiBSZXF1ZXN0LCB7IHBhcmFtczogeyBzbHVnIH0gfTogeyBwYXJhbXM6IHsgc2x1Zzogc3RyaW5nW10gfSB9KSA9PiB7XG4gICAgY29uc3QgW3NsdWcxLCBzbHVnMl0gPSBzbHVnXG4gICAgbGV0IHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgICBsZXQgcmVzOiBSZXNwb25zZVxuICAgIGxldCBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG5cbiAgICB0cnkge1xuICAgICAgcmVxID0gYXdhaXQgY3JlYXRlUGF5bG9hZFJlcXVlc3Qoe1xuICAgICAgICBjb25maWcsXG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIGNvbGxlY3Rpb246IHNsdWcxLFxuICAgICAgICB9LFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgfSlcbiAgICAgIGNvbGxlY3Rpb24gPSByZXEucGF5bG9hZC5jb2xsZWN0aW9ucz8uW3NsdWcxXVxuXG4gICAgICBjb25zdCBkaXNhYmxlRW5kcG9pbnRzID0gZW5kcG9pbnRzQXJlRGlzYWJsZWQoe1xuICAgICAgICBlbmRwb2ludHM6IHJlcS5wYXlsb2FkLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgaWYgKGRpc2FibGVFbmRwb2ludHMpIHJldHVybiBkaXNhYmxlRW5kcG9pbnRzXG5cbiAgICAgIGlmIChjb2xsZWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBjb2xsZWN0aW9uLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGRpc2FibGVFbmRwb2ludHMpIHJldHVybiBkaXNhYmxlRW5kcG9pbnRzXG5cbiAgICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBjb2xsZWN0aW9uLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgICAgZW50aXR5U2x1Zzogc2x1ZzEsXG4gICAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGN1c3RvbUVuZHBvaW50UmVzcG9uc2UpIHJldHVybiBjdXN0b21FbmRwb2ludFJlc3BvbnNlXG5cbiAgICAgICAgc3dpdGNoIChzbHVnLmxlbmd0aCkge1xuICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvblxuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmNvbGxlY3Rpb24uREVMRVRFLmRlbGV0ZSh7IGNvbGxlY3Rpb24sIHJlcSB9KVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vOmlkXG4gICAgICAgICAgICByZXMgPSBhd2FpdCBlbmRwb2ludHMuY29sbGVjdGlvbi5ERUxFVEUuZGVsZXRlQnlJRCh7IGlkOiBzbHVnMiwgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkgcmV0dXJuIHJlc1xuXG4gICAgICAvLyByb290IHJvdXRlc1xuICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgIH0pXG4gICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgcmV0dXJuIFJvdXRlTm90Rm91bmRSZXNwb25zZShzbHVnKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gUm91dGVFcnJvcih7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGVycjogZXJyb3IsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbmV4cG9ydCBjb25zdCBQQVRDSCA9XG4gIChjb25maWc6IFByb21pc2U8U2FuaXRpemVkQ29uZmlnPiB8IFNhbml0aXplZENvbmZpZykgPT5cbiAgYXN5bmMgKHJlcXVlc3Q6IFJlcXVlc3QsIHsgcGFyYW1zOiB7IHNsdWcgfSB9OiB7IHBhcmFtczogeyBzbHVnOiBzdHJpbmdbXSB9IH0pID0+IHtcbiAgICBjb25zdCBbc2x1ZzEsIHNsdWcyXSA9IHNsdWdcbiAgICBsZXQgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAgIGxldCByZXM6IFJlc3BvbnNlXG4gICAgbGV0IGNvbGxlY3Rpb246IENvbGxlY3Rpb25cblxuICAgIHRyeSB7XG4gICAgICByZXEgPSBhd2FpdCBjcmVhdGVQYXlsb2FkUmVxdWVzdCh7XG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgY29sbGVjdGlvbjogc2x1ZzEsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgY29sbGVjdGlvbiA9IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zPy5bc2x1ZzFdXG5cbiAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICBpZiAoZGlzYWJsZUVuZHBvaW50cykgcmV0dXJuIGRpc2FibGVFbmRwb2ludHNcblxuICAgICAgaWYgKGNvbGxlY3Rpb24pIHtcbiAgICAgICAgY29uc3QgZGlzYWJsZUVuZHBvaW50cyA9IGVuZHBvaW50c0FyZURpc2FibGVkKHtcbiAgICAgICAgICBlbmRwb2ludHM6IGNvbGxlY3Rpb24uY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICB9KVxuICAgICAgICBpZiAoZGlzYWJsZUVuZHBvaW50cykgcmV0dXJuIGRpc2FibGVFbmRwb2ludHNcblxuICAgICAgICBjb25zdCBjdXN0b21FbmRwb2ludFJlc3BvbnNlID0gYXdhaXQgaGFuZGxlQ3VzdG9tRW5kcG9pbnRzKHtcbiAgICAgICAgICBlbmRwb2ludHM6IGNvbGxlY3Rpb24uY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICBlbnRpdHlTbHVnOiBzbHVnMSxcbiAgICAgICAgICBwYXlsb2FkUmVxdWVzdDogcmVxLFxuICAgICAgICB9KVxuICAgICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgICBzd2l0Y2ggKHNsdWcubGVuZ3RoKSB7XG4gICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uXG4gICAgICAgICAgICByZXMgPSBhd2FpdCBlbmRwb2ludHMuY29sbGVjdGlvbi5QQVRDSC51cGRhdGUoeyBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uLzppZFxuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmNvbGxlY3Rpb24uUEFUQ0gudXBkYXRlQnlJRCh7IGlkOiBzbHVnMiwgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkgcmV0dXJuIHJlc1xuXG4gICAgICAvLyByb290IHJvdXRlc1xuICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgIH0pXG4gICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgcmV0dXJuIFJvdXRlTm90Rm91bmRSZXNwb25zZShzbHVnKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gUm91dGVFcnJvcih7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGVycjogZXJyb3IsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG4iXSwibmFtZXMiOlsiREVMRVRFIiwiR0VUIiwiUEFUQ0giLCJQT1NUIiwiZW5kcG9pbnRzIiwiY29sbGVjdGlvbiIsImRlbGV0ZSIsImRlbGV0ZURvYyIsImRlbGV0ZUJ5SUQiLCJkb2NBY2Nlc3MiLCJmaW5kVmVyc2lvbkJ5SUQiLCJmaW5kIiwiZmluZEJ5SUQiLCJpbml0IiwibWUiLCJ2ZXJzaW9ucyIsImZpbmRWZXJzaW9ucyIsInVwZGF0ZSIsInVwZGF0ZUJ5SUQiLCJhY2Nlc3MiLCJjcmVhdGUiLCJ2ZXJpZnlFbWFpbCIsInJlc3RvcmVWZXJzaW9uIiwicmVnaXN0ZXJGaXJzdFVzZXIiLCJmb3Jnb3RQYXNzd29yZCIsImxvZ2luIiwibG9nb3V0IiwicmVmcmVzaCIsInJlc2V0UGFzc3dvcmQiLCJ1bmxvY2siLCJnbG9iYWwiLCJkb2NBY2Nlc3NHbG9iYWwiLCJmaW5kVmVyc2lvbnNHbG9iYWwiLCJmaW5kVmVyc2lvbkJ5SWRHbG9iYWwiLCJmaW5kT25lIiwicmVzdG9yZVZlcnNpb25HbG9iYWwiLCJ1cGRhdGVHbG9iYWwiLCJyb290IiwiYnVpbGRGb3JtU3RhdGUiLCJoYW5kbGVDdXN0b21FbmRwb2ludHMiLCJlbnRpdHlTbHVnIiwicGF5bG9hZFJlcXVlc3QiLCJsZW5ndGgiLCJoYW5kbGVyUGFyYW1zIiwicGF0aG5hbWUiLCJwYXRoUHJlZml4IiwicGF5bG9hZCIsImNvbmZpZyIsInJvdXRlcyIsImFwaSIsImN1c3RvbUVuZHBvaW50IiwiZW5kcG9pbnQiLCJtZXRob2QiLCJ0b0xvd2VyQ2FzZSIsInBhdGhNYXRjaEZuIiwibWF0Y2giLCJwYXRoIiwiZGVjb2RlIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwidGVtcFBhcmFtcyIsInBhcmFtcyIsInJvdXRlUGFyYW1zIiwiaGFuZGxlciIsIlJvdXRlTm90Rm91bmRSZXNwb25zZSIsInNsdWciLCJSZXNwb25zZSIsImpzb24iLCJtZXNzYWdlIiwiam9pbiIsInN0YXR1cyIsImh0dHBTdGF0dXMiLCJOT1RfRk9VTkQiLCJyZXF1ZXN0Iiwic2x1ZzEiLCJzbHVnMiIsInNsdWczIiwic2x1ZzQiLCJyZXEiLCJyZXMiLCJjcmVhdGVQYXlsb2FkUmVxdWVzdCIsImRpc2FibGVFbmRwb2ludHMiLCJlbmRwb2ludHNBcmVEaXNhYmxlZCIsImNvbGxlY3Rpb25zIiwiY3VzdG9tRW5kcG9pbnRSZXNwb25zZSIsImlkIiwiZ2xvYmFsQ29uZmlnIiwiZ2xvYmFscyIsImVycm9yIiwiUm91dGVFcnJvciIsImVyciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFvYWFBLE1BQU07ZUFBTkE7O0lBaFJBQyxHQUFHO2VBQUhBOztJQXFWQUMsS0FBSztl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
526
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0ZXMvcmVzdC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuZHBvaW50IH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24sIEdsb2JhbENvbmZpZywgUGF5bG9hZFJlcXVlc3QsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCBodHRwU3RhdHVzIGZyb20gJ2h0dHAtc3RhdHVzJ1xuaW1wb3J0IHsgbWF0Y2ggfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCdcblxuaW1wb3J0IHR5cGUge1xuICBDb2xsZWN0aW9uUm91dGVIYW5kbGVyLFxuICBDb2xsZWN0aW9uUm91dGVIYW5kbGVyV2l0aElELFxuICBHbG9iYWxSb3V0ZUhhbmRsZXIsXG4gIEdsb2JhbFJvdXRlSGFuZGxlcldpdGhJRCxcbn0gZnJvbSAnLi90eXBlcy5qcydcblxuaW1wb3J0IHsgY3JlYXRlUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY3JlYXRlUGF5bG9hZFJlcXVlc3QuanMnXG5pbXBvcnQgeyBSb3V0ZUVycm9yIH0gZnJvbSAnLi9Sb3V0ZUVycm9yLmpzJ1xuaW1wb3J0IHsgYWNjZXNzIH0gZnJvbSAnLi9hdXRoL2FjY2Vzcy5qcydcbmltcG9ydCB7IGZvcmdvdFBhc3N3b3JkIH0gZnJvbSAnLi9hdXRoL2ZvcmdvdFBhc3N3b3JkLmpzJ1xuaW1wb3J0IHsgaW5pdCB9IGZyb20gJy4vYXV0aC9pbml0LmpzJ1xuaW1wb3J0IHsgbG9naW4gfSBmcm9tICcuL2F1dGgvbG9naW4uanMnXG5pbXBvcnQgeyBsb2dvdXQgfSBmcm9tICcuL2F1dGgvbG9nb3V0LmpzJ1xuaW1wb3J0IHsgbWUgfSBmcm9tICcuL2F1dGgvbWUuanMnXG5pbXBvcnQgeyByZWZyZXNoIH0gZnJvbSAnLi9hdXRoL3JlZnJlc2guanMnXG5pbXBvcnQgeyByZWdpc3RlckZpcnN0VXNlciB9IGZyb20gJy4vYXV0aC9yZWdpc3RlckZpcnN0VXNlci5qcydcbmltcG9ydCB7IHJlc2V0UGFzc3dvcmQgfSBmcm9tICcuL2F1dGgvcmVzZXRQYXNzd29yZC5qcydcbmltcG9ydCB7IHVubG9jayB9IGZyb20gJy4vYXV0aC91bmxvY2suanMnXG5pbXBvcnQgeyB2ZXJpZnlFbWFpbCB9IGZyb20gJy4vYXV0aC92ZXJpZnlFbWFpbC5qcydcbmltcG9ydCB7IGJ1aWxkRm9ybVN0YXRlIH0gZnJvbSAnLi9idWlsZEZvcm1TdGF0ZS5qcydcbmltcG9ydCB7IGVuZHBvaW50c0FyZURpc2FibGVkIH0gZnJvbSAnLi9jaGVja0VuZHBvaW50cy5qcydcbmltcG9ydCB7IGNyZWF0ZSB9IGZyb20gJy4vY29sbGVjdGlvbnMvY3JlYXRlLmpzJ1xuaW1wb3J0IHsgZGVsZXRlRG9jIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9kZWxldGUuanMnXG5pbXBvcnQgeyBkZWxldGVCeUlEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9kZWxldGVCeUlELmpzJ1xuaW1wb3J0IHsgZG9jQWNjZXNzIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9kb2NBY2Nlc3MuanMnXG5pbXBvcnQgeyBmaW5kIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9maW5kLmpzJ1xuaW1wb3J0IHsgZmluZEJ5SUQgfSBmcm9tICcuL2NvbGxlY3Rpb25zL2ZpbmRCeUlELmpzJ1xuaW1wb3J0IHsgZmluZFZlcnNpb25CeUlEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9maW5kVmVyc2lvbkJ5SUQuanMnXG5pbXBvcnQgeyBmaW5kVmVyc2lvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL2ZpbmRWZXJzaW9ucy5qcydcbmltcG9ydCB7IHJlc3RvcmVWZXJzaW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9yZXN0b3JlVmVyc2lvbi5qcydcbmltcG9ydCB7IHVwZGF0ZSB9IGZyb20gJy4vY29sbGVjdGlvbnMvdXBkYXRlLmpzJ1xuaW1wb3J0IHsgdXBkYXRlQnlJRCB9IGZyb20gJy4vY29sbGVjdGlvbnMvdXBkYXRlQnlJRC5qcydcbmltcG9ydCB7IGdldEZpbGUgfSBmcm9tICcuL2ZpbGVzL2dldEZpbGUuanMnXG5pbXBvcnQgeyBkb2NBY2Nlc3MgYXMgZG9jQWNjZXNzR2xvYmFsIH0gZnJvbSAnLi9nbG9iYWxzL2RvY0FjY2Vzcy5qcydcbmltcG9ydCB7IGZpbmRPbmUgfSBmcm9tICcuL2dsb2JhbHMvZmluZE9uZS5qcydcbmltcG9ydCB7IGZpbmRWZXJzaW9uQnlJRCBhcyBmaW5kVmVyc2lvbkJ5SWRHbG9iYWwgfSBmcm9tICcuL2dsb2JhbHMvZmluZFZlcnNpb25CeUlELmpzJ1xuaW1wb3J0IHsgZmluZFZlcnNpb25zIGFzIGZpbmRWZXJzaW9uc0dsb2JhbCB9IGZyb20gJy4vZ2xvYmFscy9maW5kVmVyc2lvbnMuanMnXG5pbXBvcnQgeyByZXN0b3JlVmVyc2lvbiBhcyByZXN0b3JlVmVyc2lvbkdsb2JhbCB9IGZyb20gJy4vZ2xvYmFscy9yZXN0b3JlVmVyc2lvbi5qcydcbmltcG9ydCB7IHVwZGF0ZSBhcyB1cGRhdGVHbG9iYWwgfSBmcm9tICcuL2dsb2JhbHMvdXBkYXRlLmpzJ1xuXG5jb25zdCBlbmRwb2ludHMgPSB7XG4gIGNvbGxlY3Rpb246IHtcbiAgICBERUxFVEU6IHtcbiAgICAgIGRlbGV0ZTogZGVsZXRlRG9jLFxuICAgICAgZGVsZXRlQnlJRCxcbiAgICB9LFxuICAgIEdFVDoge1xuICAgICAgJ2RvYy1hY2Nlc3MtYnktaWQnOiBkb2NBY2Nlc3MsXG4gICAgICAnZG9jLXZlcnNpb25zLWJ5LWlkJzogZmluZFZlcnNpb25CeUlELFxuICAgICAgZmluZCxcbiAgICAgIGZpbmRCeUlELFxuICAgICAgZ2V0RmlsZSxcbiAgICAgIGluaXQsXG4gICAgICBtZSxcbiAgICAgIHZlcnNpb25zOiBmaW5kVmVyc2lvbnMsXG4gICAgfSxcbiAgICBQQVRDSDoge1xuICAgICAgdXBkYXRlLFxuICAgICAgdXBkYXRlQnlJRCxcbiAgICB9LFxuICAgIFBPU1Q6IHtcbiAgICAgIGFjY2VzczogZG9jQWNjZXNzLFxuICAgICAgY3JlYXRlLFxuICAgICAgJ2RvYy1hY2Nlc3MtYnktaWQnOiBkb2NBY2Nlc3MsXG4gICAgICAnZG9jLXZlcmlmeS1ieS1pZCc6IHZlcmlmeUVtYWlsLFxuICAgICAgJ2RvYy12ZXJzaW9ucy1ieS1pZCc6IHJlc3RvcmVWZXJzaW9uLFxuICAgICAgJ2ZpcnN0LXJlZ2lzdGVyJzogcmVnaXN0ZXJGaXJzdFVzZXIsXG4gICAgICAnZm9yZ290LXBhc3N3b3JkJzogZm9yZ290UGFzc3dvcmQsXG4gICAgICBsb2dpbixcbiAgICAgIGxvZ291dCxcbiAgICAgICdyZWZyZXNoLXRva2VuJzogcmVmcmVzaCxcbiAgICAgICdyZXNldC1wYXNzd29yZCc6IHJlc2V0UGFzc3dvcmQsXG4gICAgICB1bmxvY2ssXG4gICAgfSxcbiAgfSxcbiAgZ2xvYmFsOiB7XG4gICAgR0VUOiB7XG4gICAgICAnZG9jLWFjY2Vzcyc6IGRvY0FjY2Vzc0dsb2JhbCxcbiAgICAgICdkb2MtdmVyc2lvbnMnOiBmaW5kVmVyc2lvbnNHbG9iYWwsXG4gICAgICAnZG9jLXZlcnNpb25zLWJ5LWlkJzogZmluZFZlcnNpb25CeUlkR2xvYmFsLFxuICAgICAgZmluZE9uZSxcbiAgICB9LFxuICAgIFBPU1Q6IHtcbiAgICAgICdkb2MtYWNjZXNzJzogZG9jQWNjZXNzR2xvYmFsLFxuICAgICAgJ2RvYy12ZXJzaW9ucy1ieS1pZCc6IHJlc3RvcmVWZXJzaW9uR2xvYmFsLFxuICAgICAgdXBkYXRlOiB1cGRhdGVHbG9iYWwsXG4gICAgfSxcbiAgfSxcbiAgcm9vdDoge1xuICAgIEdFVDoge1xuICAgICAgYWNjZXNzLFxuICAgIH0sXG4gICAgUE9TVDoge1xuICAgICAgJ2Zvcm0tc3RhdGUnOiBidWlsZEZvcm1TdGF0ZSxcbiAgICB9LFxuICB9LFxufVxuXG5jb25zdCBoYW5kbGVDdXN0b21FbmRwb2ludHMgPSAoe1xuICBlbmRwb2ludHMsXG4gIGVudGl0eVNsdWcsXG4gIHBheWxvYWRSZXF1ZXN0LFxufToge1xuICBlbmRwb2ludHM6IEVuZHBvaW50W10gfCBHbG9iYWxDb25maWdbJ2VuZHBvaW50cyddXG4gIGVudGl0eVNsdWc/OiBzdHJpbmdcbiAgcGF5bG9hZFJlcXVlc3Q6IFBheWxvYWRSZXF1ZXN0XG59KTogUHJvbWlzZTxSZXNwb25zZT4gfCBSZXNwb25zZSA9PiB7XG4gIGlmIChlbmRwb2ludHMgJiYgZW5kcG9pbnRzLmxlbmd0aCA+IDApIHtcbiAgICBsZXQgaGFuZGxlclBhcmFtcyA9IHt9XG4gICAgY29uc3QgeyBwYXRobmFtZSB9ID0gcGF5bG9hZFJlcXVlc3RcbiAgICBjb25zdCBwYXRoUHJlZml4ID1cbiAgICAgIHBheWxvYWRSZXF1ZXN0LnBheWxvYWQuY29uZmlnLnJvdXRlcy5hcGkgKyAoZW50aXR5U2x1ZyA/IGAvJHtlbnRpdHlTbHVnfWAgOiAnJylcblxuICAgIGNvbnN0IGN1c3RvbUVuZHBvaW50ID0gZW5kcG9pbnRzLmZpbmQoKGVuZHBvaW50KSA9PiB7XG4gICAgICBpZiAoZW5kcG9pbnQubWV0aG9kID09PSBwYXlsb2FkUmVxdWVzdC5tZXRob2QudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICBjb25zdCBwYXRoTWF0Y2hGbiA9IG1hdGNoKGAke3BhdGhQcmVmaXh9JHtlbmRwb2ludC5wYXRofWAsIHtcbiAgICAgICAgICBkZWNvZGU6IGRlY29kZVVSSUNvbXBvbmVudCxcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgdGVtcFBhcmFtcyA9IHBhdGhNYXRjaEZuKHBhdGhuYW1lKVxuICAgICAgICBpZiAodGVtcFBhcmFtcykge1xuICAgICAgICAgIGhhbmRsZXJQYXJhbXMgPSB0ZW1wUGFyYW1zLnBhcmFtc1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgaWYgKGN1c3RvbUVuZHBvaW50KSB7XG4gICAgICBwYXlsb2FkUmVxdWVzdC5yb3V0ZVBhcmFtcyA9IGhhbmRsZXJQYXJhbXNcbiAgICAgIHJldHVybiBjdXN0b21FbmRwb2ludC5oYW5kbGVyKHBheWxvYWRSZXF1ZXN0KVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsXG59XG5cbmNvbnN0IFJvdXRlTm90Rm91bmRSZXNwb25zZSA9IChzbHVnOiBzdHJpbmdbXSkgPT5cbiAgUmVzcG9uc2UuanNvbihcbiAgICB7XG4gICAgICBtZXNzYWdlOiBgUm91dGUgTm90IEZvdW5kOiBcIiR7c2x1Zy5qb2luKCcvJyl9XCJgLFxuICAgIH0sXG4gICAgeyBzdGF0dXM6IGh0dHBTdGF0dXMuTk9UX0ZPVU5EIH0sXG4gIClcblxuZXhwb3J0IGNvbnN0IEdFVCA9XG4gIChjb25maWc6IFByb21pc2U8U2FuaXRpemVkQ29uZmlnPiB8IFNhbml0aXplZENvbmZpZykgPT5cbiAgYXN5bmMgKHJlcXVlc3Q6IFJlcXVlc3QsIHsgcGFyYW1zOiB7IHNsdWcgfSB9OiB7IHBhcmFtczogeyBzbHVnOiBzdHJpbmdbXSB9IH0pID0+IHtcbiAgICBjb25zdCBbc2x1ZzEsIHNsdWcyLCBzbHVnMywgc2x1ZzRdID0gc2x1Z1xuICAgIGxldCByZXE6IFBheWxvYWRSZXF1ZXN0XG4gICAgbGV0IHJlczogUmVzcG9uc2VcbiAgICBsZXQgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuXG4gICAgdHJ5IHtcbiAgICAgIHJlcSA9IGF3YWl0IGNyZWF0ZVBheWxvYWRSZXF1ZXN0KHtcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiBzbHVnMSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICBpZiAoZGlzYWJsZUVuZHBvaW50cykgcmV0dXJuIGRpc2FibGVFbmRwb2ludHNcblxuICAgICAgY29sbGVjdGlvbiA9IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zPy5bc2x1ZzFdXG5cbiAgICAgIGlmIChjb2xsZWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBjb2xsZWN0aW9uLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGRpc2FibGVFbmRwb2ludHMpIHJldHVybiBkaXNhYmxlRW5kcG9pbnRzXG5cbiAgICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBjb2xsZWN0aW9uLmNvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgICAgZW50aXR5U2x1Zzogc2x1ZzEsXG4gICAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGN1c3RvbUVuZHBvaW50UmVzcG9uc2UpIHJldHVybiBjdXN0b21FbmRwb2ludFJlc3BvbnNlXG5cbiAgICAgICAgc3dpdGNoIChzbHVnLmxlbmd0aCkge1xuICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvblxuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmNvbGxlY3Rpb24uR0VULmZpbmQoeyBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgaWYgKHNsdWcyIGluIGVuZHBvaW50cy5jb2xsZWN0aW9uLkdFVCkge1xuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vaW5pdFxuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vbWVcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL3ZlcnNpb25zXG4gICAgICAgICAgICAgIHJlcyA9IGF3YWl0IChlbmRwb2ludHMuY29sbGVjdGlvbi5HRVRbc2x1ZzJdIGFzIENvbGxlY3Rpb25Sb3V0ZUhhbmRsZXIpKHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi86aWRcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmNvbGxlY3Rpb24uR0VULmZpbmRCeUlEKHsgaWQ6IHNsdWcyLCBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgaWYgKHNsdWcyID09PSAnZmlsZScpIHtcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL2ZpbGUvOmZpbGVuYW1lXG4gICAgICAgICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5jb2xsZWN0aW9uLkdFVC5nZXRGaWxlKHsgY29sbGVjdGlvbiwgZmlsZW5hbWU6IHNsdWczLCByZXEgfSlcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYGRvYy0ke3NsdWcyfS1ieS1pZGAgaW4gZW5kcG9pbnRzLmNvbGxlY3Rpb24uR0VUKSB7XG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi9hY2Nlc3MvOmlkXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi92ZXJzaW9ucy86aWRcblxuICAgICAgICAgICAgICByZXMgPSBhd2FpdCAoXG4gICAgICAgICAgICAgICAgZW5kcG9pbnRzLmNvbGxlY3Rpb24uR0VUW2Bkb2MtJHtzbHVnMn0tYnktaWRgXSBhcyBDb2xsZWN0aW9uUm91dGVIYW5kbGVyV2l0aElEXG4gICAgICAgICAgICAgICkoeyBpZDogc2x1ZzMsIGNvbGxlY3Rpb24sIHJlcSB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChzbHVnMSA9PT0gJ2dsb2JhbHMnKSB7XG4gICAgICAgIGNvbnN0IGdsb2JhbENvbmZpZyA9IHJlcS5wYXlsb2FkLmNvbmZpZy5nbG9iYWxzLmZpbmQoKGdsb2JhbCkgPT4gZ2xvYmFsLnNsdWcgPT09IHNsdWcyKVxuXG4gICAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBnbG9iYWxDb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICAgIGNvbnN0IGN1c3RvbUVuZHBvaW50UmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVDdXN0b21FbmRwb2ludHMoe1xuICAgICAgICAgIGVuZHBvaW50czogZ2xvYmFsQ29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICBlbnRpdHlTbHVnOiBgJHtzbHVnMX0vJHtzbHVnMn1gLFxuICAgICAgICAgIHBheWxvYWRSZXF1ZXN0OiByZXEsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICAgIHN3aXRjaCAoc2x1Zy5sZW5ndGgpIHtcbiAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Z1xuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmdsb2JhbC5HRVQuZmluZE9uZSh7IGdsb2JhbENvbmZpZywgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIGlmIChgZG9jLSR7c2x1ZzN9YCBpbiBlbmRwb2ludHMuZ2xvYmFsLkdFVCkge1xuICAgICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Zy9hY2Nlc3NcbiAgICAgICAgICAgICAgLy8gL2dsb2JhbHMvOnNsdWcvdmVyc2lvbnNcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgKGVuZHBvaW50cy5nbG9iYWwuR0VUPy5bYGRvYy0ke3NsdWczfWBdIGFzIEdsb2JhbFJvdXRlSGFuZGxlcikoe1xuICAgICAgICAgICAgICAgIGdsb2JhbENvbmZpZyxcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgIGlmIChgZG9jLSR7c2x1ZzN9LWJ5LWlkYCBpbiBlbmRwb2ludHMuZ2xvYmFsLkdFVCkge1xuICAgICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Zy92ZXJzaW9ucy86aWRcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgKFxuICAgICAgICAgICAgICAgIGVuZHBvaW50cy5nbG9iYWwuR0VUPy5bYGRvYy0ke3NsdWczfS1ieS1pZGBdIGFzIEdsb2JhbFJvdXRlSGFuZGxlcldpdGhJRFxuICAgICAgICAgICAgICApKHtcbiAgICAgICAgICAgICAgICBpZDogc2x1ZzQsXG4gICAgICAgICAgICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoc2x1Zy5sZW5ndGggPT09IDEgJiYgc2x1ZzEgaW4gZW5kcG9pbnRzLnJvb3QuR0VUKSB7XG4gICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5yb290LkdFVFtzbHVnMV0oeyByZXEgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcyBpbnN0YW5jZW9mIFJlc3BvbnNlKSByZXR1cm4gcmVzXG5cbiAgICAgIC8vIHJvb3Qgcm91dGVzXG4gICAgICBjb25zdCBjdXN0b21FbmRwb2ludFJlc3BvbnNlID0gYXdhaXQgaGFuZGxlQ3VzdG9tRW5kcG9pbnRzKHtcbiAgICAgICAgZW5kcG9pbnRzOiByZXEucGF5bG9hZC5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICBwYXlsb2FkUmVxdWVzdDogcmVxLFxuICAgICAgfSlcbiAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICByZXR1cm4gUm91dGVOb3RGb3VuZFJlc3BvbnNlKHNsdWcpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBSb3V0ZUVycm9yKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgZXJyOiBlcnJvcixcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuZXhwb3J0IGNvbnN0IFBPU1QgPVxuICAoY29uZmlnOiBQcm9taXNlPFNhbml0aXplZENvbmZpZz4gfCBTYW5pdGl6ZWRDb25maWcpID0+XG4gIGFzeW5jIChyZXF1ZXN0OiBSZXF1ZXN0LCB7IHBhcmFtczogeyBzbHVnIH0gfTogeyBwYXJhbXM6IHsgc2x1Zzogc3RyaW5nW10gfSB9KSA9PiB7XG4gICAgY29uc3QgW3NsdWcxLCBzbHVnMiwgc2x1ZzMsIHNsdWc0XSA9IHNsdWdcbiAgICBsZXQgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAgIGxldCByZXM6IFJlc3BvbnNlXG4gICAgbGV0IGNvbGxlY3Rpb246IENvbGxlY3Rpb25cblxuICAgIHRyeSB7XG4gICAgICByZXEgPSBhd2FpdCBjcmVhdGVQYXlsb2FkUmVxdWVzdCh7XG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgcGFyYW1zOiB7IGNvbGxlY3Rpb246IHNsdWcxIH0sXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICB9KVxuXG4gICAgICBjb2xsZWN0aW9uID0gcmVxLnBheWxvYWQuY29sbGVjdGlvbnM/LltzbHVnMV1cblxuICAgICAgY29uc3QgZGlzYWJsZUVuZHBvaW50cyA9IGVuZHBvaW50c0FyZURpc2FibGVkKHtcbiAgICAgICAgZW5kcG9pbnRzOiByZXEucGF5bG9hZC5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgfSlcbiAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICBpZiAoY29sbGVjdGlvbikge1xuICAgICAgICBjb25zdCBkaXNhYmxlRW5kcG9pbnRzID0gZW5kcG9pbnRzQXJlRGlzYWJsZWQoe1xuICAgICAgICAgIGVuZHBvaW50czogY29sbGVjdGlvbi5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICAgIGNvbnN0IGN1c3RvbUVuZHBvaW50UmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVDdXN0b21FbmRwb2ludHMoe1xuICAgICAgICAgIGVuZHBvaW50czogY29sbGVjdGlvbi5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIGVudGl0eVNsdWc6IHNsdWcxLFxuICAgICAgICAgIHBheWxvYWRSZXF1ZXN0OiByZXEsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKGN1c3RvbUVuZHBvaW50UmVzcG9uc2UpIHJldHVybiBjdXN0b21FbmRwb2ludFJlc3BvbnNlXG5cbiAgICAgICAgc3dpdGNoIChzbHVnLmxlbmd0aCkge1xuICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvblxuICAgICAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLmNvbGxlY3Rpb24uUE9TVC5jcmVhdGUoeyBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgaWYgKHNsdWcyIGluIGVuZHBvaW50cy5jb2xsZWN0aW9uLlBPU1QpIHtcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL2xvZ2luXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi9sb2dvdXRcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL3VubG9ja1xuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vYWNjZXNzXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi9maXJzdC1yZWdpc3RlclxuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vZm9yZ290LXBhc3N3b3JkXG4gICAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi9yZXNldC1wYXNzd29yZFxuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vcmVmcmVzaC10b2tlblxuXG4gICAgICAgICAgICAgIHJlcyA9IGF3YWl0IChlbmRwb2ludHMuY29sbGVjdGlvbi5QT1NUPy5bc2x1ZzJdIGFzIENvbGxlY3Rpb25Sb3V0ZUhhbmRsZXIpKHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgaWYgKGBkb2MtJHtzbHVnMn0tYnktaWRgIGluIGVuZHBvaW50cy5jb2xsZWN0aW9uLlBPU1QpIHtcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL2FjY2Vzcy86aWRcbiAgICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uL3ZlcnNpb25zLzppZFxuICAgICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vdmVyaWZ5Lzp0b2tlbiAoXCJkb2MtdmVyaWZ5LWJ5LWlkXCIgdXNlcyBpZCBhcyB0b2tlbiBpbnRlcm5hbGx5KVxuICAgICAgICAgICAgICByZXMgPSBhd2FpdCAoXG4gICAgICAgICAgICAgICAgZW5kcG9pbnRzLmNvbGxlY3Rpb24uUE9TVFtgZG9jLSR7c2x1ZzJ9LWJ5LWlkYF0gYXMgQ29sbGVjdGlvblJvdXRlSGFuZGxlcldpdGhJRFxuICAgICAgICAgICAgICApKHsgaWQ6IHNsdWczLCBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoc2x1ZzEgPT09ICdnbG9iYWxzJyAmJiBzbHVnMikge1xuICAgICAgICBjb25zdCBnbG9iYWxDb25maWcgPSByZXEucGF5bG9hZC5jb25maWcuZ2xvYmFscy5maW5kKChnbG9iYWwpID0+IGdsb2JhbC5zbHVnID09PSBzbHVnMilcbiAgICAgICAgY29uc3QgZGlzYWJsZUVuZHBvaW50cyA9IGVuZHBvaW50c0FyZURpc2FibGVkKHtcbiAgICAgICAgICBlbmRwb2ludHM6IGdsb2JhbENvbmZpZy5lbmRwb2ludHMsXG4gICAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGRpc2FibGVFbmRwb2ludHMpIHJldHVybiBkaXNhYmxlRW5kcG9pbnRzXG5cbiAgICAgICAgY29uc3QgY3VzdG9tRW5kcG9pbnRSZXNwb25zZSA9IGF3YWl0IGhhbmRsZUN1c3RvbUVuZHBvaW50cyh7XG4gICAgICAgICAgZW5kcG9pbnRzOiBnbG9iYWxDb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIGVudGl0eVNsdWc6IGAke3NsdWcxfS8ke3NsdWcyfWAsXG4gICAgICAgICAgcGF5bG9hZFJlcXVlc3Q6IHJlcSxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGN1c3RvbUVuZHBvaW50UmVzcG9uc2UpIHJldHVybiBjdXN0b21FbmRwb2ludFJlc3BvbnNlXG5cbiAgICAgICAgc3dpdGNoIChzbHVnLmxlbmd0aCkge1xuICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIC8vIC9nbG9iYWxzLzpzbHVnXG4gICAgICAgICAgICByZXMgPSBhd2FpdCBlbmRwb2ludHMuZ2xvYmFsLlBPU1QudXBkYXRlKHsgZ2xvYmFsQ29uZmlnLCByZXEgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgaWYgKGBkb2MtJHtzbHVnM31gIGluIGVuZHBvaW50cy5nbG9iYWwuUE9TVCkge1xuICAgICAgICAgICAgICAvLyAvZ2xvYmFscy86c2x1Zy9hY2Nlc3NcbiAgICAgICAgICAgICAgcmVzID0gYXdhaXQgKGVuZHBvaW50cy5nbG9iYWwuUE9TVD8uW2Bkb2MtJHtzbHVnM31gXSBhcyBHbG9iYWxSb3V0ZUhhbmRsZXIpKHtcbiAgICAgICAgICAgICAgICBnbG9iYWxDb25maWcsXG4gICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgICBpZiAoYGRvYy0ke3NsdWczfS1ieS1pZGAgaW4gZW5kcG9pbnRzLmdsb2JhbC5QT1NUKSB7XG4gICAgICAgICAgICAgIC8vIC9nbG9iYWxzLzpzbHVnL3ZlcnNpb25zLzppZFxuICAgICAgICAgICAgICByZXMgPSBhd2FpdCAoXG4gICAgICAgICAgICAgICAgZW5kcG9pbnRzLmdsb2JhbC5QT1NUPy5bYGRvYy0ke3NsdWczfS1ieS1pZGBdIGFzIEdsb2JhbFJvdXRlSGFuZGxlcldpdGhJRFxuICAgICAgICAgICAgICApKHtcbiAgICAgICAgICAgICAgICBpZDogc2x1ZzQsXG4gICAgICAgICAgICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJlcyA9IG5ldyBSZXNwb25zZSgnUm91dGUgTm90IEZvdW5kJywgeyBzdGF0dXM6IDQwNCB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHNsdWcubGVuZ3RoID09PSAxICYmIHNsdWcxIGluIGVuZHBvaW50cy5yb290LlBPU1QpIHtcbiAgICAgICAgcmVzID0gYXdhaXQgZW5kcG9pbnRzLnJvb3QuUE9TVFtzbHVnMV0oeyByZXEgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcyBpbnN0YW5jZW9mIFJlc3BvbnNlKSByZXR1cm4gcmVzXG5cbiAgICAgIC8vIHJvb3Qgcm91dGVzXG4gICAgICBjb25zdCBjdXN0b21FbmRwb2ludFJlc3BvbnNlID0gYXdhaXQgaGFuZGxlQ3VzdG9tRW5kcG9pbnRzKHtcbiAgICAgICAgZW5kcG9pbnRzOiByZXEucGF5bG9hZC5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICBwYXlsb2FkUmVxdWVzdDogcmVxLFxuICAgICAgfSlcbiAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICByZXR1cm4gUm91dGVOb3RGb3VuZFJlc3BvbnNlKHNsdWcpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBSb3V0ZUVycm9yKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgZXJyOiBlcnJvcixcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuZXhwb3J0IGNvbnN0IERFTEVURSA9XG4gIChjb25maWc6IFByb21pc2U8U2FuaXRpemVkQ29uZmlnPiB8IFNhbml0aXplZENvbmZpZykgPT5cbiAgYXN5bmMgKHJlcXVlc3Q6IFJlcXVlc3QsIHsgcGFyYW1zOiB7IHNsdWcgfSB9OiB7IHBhcmFtczogeyBzbHVnOiBzdHJpbmdbXSB9IH0pID0+IHtcbiAgICBjb25zdCBbc2x1ZzEsIHNsdWcyXSA9IHNsdWdcbiAgICBsZXQgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAgIGxldCByZXM6IFJlc3BvbnNlXG4gICAgbGV0IGNvbGxlY3Rpb246IENvbGxlY3Rpb25cblxuICAgIHRyeSB7XG4gICAgICByZXEgPSBhd2FpdCBjcmVhdGVQYXlsb2FkUmVxdWVzdCh7XG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgY29sbGVjdGlvbjogc2x1ZzEsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgY29sbGVjdGlvbiA9IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zPy5bc2x1ZzFdXG5cbiAgICAgIGNvbnN0IGRpc2FibGVFbmRwb2ludHMgPSBlbmRwb2ludHNBcmVEaXNhYmxlZCh7XG4gICAgICAgIGVuZHBvaW50czogcmVxLnBheWxvYWQuY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICBpZiAoZGlzYWJsZUVuZHBvaW50cykgcmV0dXJuIGRpc2FibGVFbmRwb2ludHNcblxuICAgICAgaWYgKGNvbGxlY3Rpb24pIHtcbiAgICAgICAgY29uc3QgZGlzYWJsZUVuZHBvaW50cyA9IGVuZHBvaW50c0FyZURpc2FibGVkKHtcbiAgICAgICAgICBlbmRwb2ludHM6IGNvbGxlY3Rpb24uY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICB9KVxuICAgICAgICBpZiAoZGlzYWJsZUVuZHBvaW50cykgcmV0dXJuIGRpc2FibGVFbmRwb2ludHNcblxuICAgICAgICBjb25zdCBjdXN0b21FbmRwb2ludFJlc3BvbnNlID0gYXdhaXQgaGFuZGxlQ3VzdG9tRW5kcG9pbnRzKHtcbiAgICAgICAgICBlbmRwb2ludHM6IGNvbGxlY3Rpb24uY29uZmlnLmVuZHBvaW50cyxcbiAgICAgICAgICBlbnRpdHlTbHVnOiBzbHVnMSxcbiAgICAgICAgICBwYXlsb2FkUmVxdWVzdDogcmVxLFxuICAgICAgICB9KVxuICAgICAgICBpZiAoY3VzdG9tRW5kcG9pbnRSZXNwb25zZSkgcmV0dXJuIGN1c3RvbUVuZHBvaW50UmVzcG9uc2VcblxuICAgICAgICBzd2l0Y2ggKHNsdWcubGVuZ3RoKSB7XG4gICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgLy8gLzpjb2xsZWN0aW9uXG4gICAgICAgICAgICByZXMgPSBhd2FpdCBlbmRwb2ludHMuY29sbGVjdGlvbi5ERUxFVEUuZGVsZXRlKHsgY29sbGVjdGlvbiwgcmVxIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIC8vIC86Y29sbGVjdGlvbi86aWRcbiAgICAgICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5jb2xsZWN0aW9uLkRFTEVURS5kZWxldGVCeUlEKHsgaWQ6IHNsdWcyLCBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHJlcyBpbnN0YW5jZW9mIFJlc3BvbnNlKSByZXR1cm4gcmVzXG5cbiAgICAgIC8vIHJvb3Qgcm91dGVzXG4gICAgICBjb25zdCBjdXN0b21FbmRwb2ludFJlc3BvbnNlID0gYXdhaXQgaGFuZGxlQ3VzdG9tRW5kcG9pbnRzKHtcbiAgICAgICAgZW5kcG9pbnRzOiByZXEucGF5bG9hZC5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICBwYXlsb2FkUmVxdWVzdDogcmVxLFxuICAgICAgfSlcbiAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICByZXR1cm4gUm91dGVOb3RGb3VuZFJlc3BvbnNlKHNsdWcpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBSb3V0ZUVycm9yKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgZXJyOiBlcnJvcixcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuZXhwb3J0IGNvbnN0IFBBVENIID1cbiAgKGNvbmZpZzogUHJvbWlzZTxTYW5pdGl6ZWRDb25maWc+IHwgU2FuaXRpemVkQ29uZmlnKSA9PlxuICBhc3luYyAocmVxdWVzdDogUmVxdWVzdCwgeyBwYXJhbXM6IHsgc2x1ZyB9IH06IHsgcGFyYW1zOiB7IHNsdWc6IHN0cmluZ1tdIH0gfSkgPT4ge1xuICAgIGNvbnN0IFtzbHVnMSwgc2x1ZzJdID0gc2x1Z1xuICAgIGxldCByZXE6IFBheWxvYWRSZXF1ZXN0XG4gICAgbGV0IHJlczogUmVzcG9uc2VcbiAgICBsZXQgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuXG4gICAgdHJ5IHtcbiAgICAgIHJlcSA9IGF3YWl0IGNyZWF0ZVBheWxvYWRSZXF1ZXN0KHtcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiBzbHVnMSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICBjb2xsZWN0aW9uID0gcmVxLnBheWxvYWQuY29sbGVjdGlvbnM/LltzbHVnMV1cblxuICAgICAgY29uc3QgZGlzYWJsZUVuZHBvaW50cyA9IGVuZHBvaW50c0FyZURpc2FibGVkKHtcbiAgICAgICAgZW5kcG9pbnRzOiByZXEucGF5bG9hZC5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgfSlcbiAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICBpZiAoY29sbGVjdGlvbikge1xuICAgICAgICBjb25zdCBkaXNhYmxlRW5kcG9pbnRzID0gZW5kcG9pbnRzQXJlRGlzYWJsZWQoe1xuICAgICAgICAgIGVuZHBvaW50czogY29sbGVjdGlvbi5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChkaXNhYmxlRW5kcG9pbnRzKSByZXR1cm4gZGlzYWJsZUVuZHBvaW50c1xuXG4gICAgICAgIGNvbnN0IGN1c3RvbUVuZHBvaW50UmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVDdXN0b21FbmRwb2ludHMoe1xuICAgICAgICAgIGVuZHBvaW50czogY29sbGVjdGlvbi5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICAgIGVudGl0eVNsdWc6IHNsdWcxLFxuICAgICAgICAgIHBheWxvYWRSZXF1ZXN0OiByZXEsXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICAgIHN3aXRjaCAoc2x1Zy5sZW5ndGgpIHtcbiAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb25cbiAgICAgICAgICAgIHJlcyA9IGF3YWl0IGVuZHBvaW50cy5jb2xsZWN0aW9uLlBBVENILnVwZGF0ZSh7IGNvbGxlY3Rpb24sIHJlcSB9KVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAvLyAvOmNvbGxlY3Rpb24vOmlkXG4gICAgICAgICAgICByZXMgPSBhd2FpdCBlbmRwb2ludHMuY29sbGVjdGlvbi5QQVRDSC51cGRhdGVCeUlEKHsgaWQ6IHNsdWcyLCBjb2xsZWN0aW9uLCByZXEgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHJlcyBpbnN0YW5jZW9mIFJlc3BvbnNlKSByZXR1cm4gcmVzXG5cbiAgICAgIC8vIHJvb3Qgcm91dGVzXG4gICAgICBjb25zdCBjdXN0b21FbmRwb2ludFJlc3BvbnNlID0gYXdhaXQgaGFuZGxlQ3VzdG9tRW5kcG9pbnRzKHtcbiAgICAgICAgZW5kcG9pbnRzOiByZXEucGF5bG9hZC5jb25maWcuZW5kcG9pbnRzLFxuICAgICAgICBwYXlsb2FkUmVxdWVzdDogcmVxLFxuICAgICAgfSlcbiAgICAgIGlmIChjdXN0b21FbmRwb2ludFJlc3BvbnNlKSByZXR1cm4gY3VzdG9tRW5kcG9pbnRSZXNwb25zZVxuXG4gICAgICByZXR1cm4gUm91dGVOb3RGb3VuZFJlc3BvbnNlKHNsdWcpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBSb3V0ZUVycm9yKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgZXJyOiBlcnJvcixcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG4gIH1cbiJdLCJuYW1lcyI6WyJodHRwU3RhdHVzIiwibWF0Y2giLCJjcmVhdGVQYXlsb2FkUmVxdWVzdCIsIlJvdXRlRXJyb3IiLCJhY2Nlc3MiLCJmb3Jnb3RQYXNzd29yZCIsImluaXQiLCJsb2dpbiIsImxvZ291dCIsIm1lIiwicmVmcmVzaCIsInJlZ2lzdGVyRmlyc3RVc2VyIiwicmVzZXRQYXNzd29yZCIsInVubG9jayIsInZlcmlmeUVtYWlsIiwiYnVpbGRGb3JtU3RhdGUiLCJlbmRwb2ludHNBcmVEaXNhYmxlZCIsImNyZWF0ZSIsImRlbGV0ZURvYyIsImRlbGV0ZUJ5SUQiLCJkb2NBY2Nlc3MiLCJmaW5kIiwiZmluZEJ5SUQiLCJmaW5kVmVyc2lvbkJ5SUQiLCJmaW5kVmVyc2lvbnMiLCJyZXN0b3JlVmVyc2lvbiIsInVwZGF0ZSIsInVwZGF0ZUJ5SUQiLCJnZXRGaWxlIiwiZG9jQWNjZXNzR2xvYmFsIiwiZmluZE9uZSIsImZpbmRWZXJzaW9uQnlJZEdsb2JhbCIsImZpbmRWZXJzaW9uc0dsb2JhbCIsInJlc3RvcmVWZXJzaW9uR2xvYmFsIiwidXBkYXRlR2xvYmFsIiwiZW5kcG9pbnRzIiwiY29sbGVjdGlvbiIsIkRFTEVURSIsImRlbGV0ZSIsIkdFVCIsInZlcnNpb25zIiwiUEFUQ0giLCJQT1NUIiwiZ2xvYmFsIiwicm9vdCIsImhhbmRsZUN1c3RvbUVuZHBvaW50cyIsImVudGl0eVNsdWciLCJwYXlsb2FkUmVxdWVzdCIsImxlbmd0aCIsImhhbmRsZXJQYXJhbXMiLCJwYXRobmFtZSIsInBhdGhQcmVmaXgiLCJwYXlsb2FkIiwiY29uZmlnIiwicm91dGVzIiwiYXBpIiwiY3VzdG9tRW5kcG9pbnQiLCJlbmRwb2ludCIsIm1ldGhvZCIsInRvTG93ZXJDYXNlIiwicGF0aE1hdGNoRm4iLCJwYXRoIiwiZGVjb2RlIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwidGVtcFBhcmFtcyIsInBhcmFtcyIsInJvdXRlUGFyYW1zIiwiaGFuZGxlciIsIlJvdXRlTm90Rm91bmRSZXNwb25zZSIsInNsdWciLCJSZXNwb25zZSIsImpzb24iLCJtZXNzYWdlIiwiam9pbiIsInN0YXR1cyIsIk5PVF9GT1VORCIsInJlcXVlc3QiLCJzbHVnMSIsInNsdWcyIiwic2x1ZzMiLCJzbHVnNCIsInJlcSIsInJlcyIsImRpc2FibGVFbmRwb2ludHMiLCJjb2xsZWN0aW9ucyIsImN1c3RvbUVuZHBvaW50UmVzcG9uc2UiLCJpZCIsImZpbGVuYW1lIiwiZ2xvYmFsQ29uZmlnIiwiZ2xvYmFscyIsImVycm9yIiwiZXJyIl0sIm1hcHBpbmdzIjoiQUFHQSxPQUFPQSxnQkFBZ0IsY0FBYTtBQUNwQyxTQUFTQyxLQUFLLFFBQVEsaUJBQWdCO0FBU3RDLFNBQVNDLG9CQUFvQixRQUFRLDBDQUF5QztBQUM5RSxTQUFTQyxVQUFVLFFBQVEsa0JBQWlCO0FBQzVDLFNBQVNDLE1BQU0sUUFBUSxtQkFBa0I7QUFDekMsU0FBU0MsY0FBYyxRQUFRLDJCQUEwQjtBQUN6RCxTQUFTQyxJQUFJLFFBQVEsaUJBQWdCO0FBQ3JDLFNBQVNDLEtBQUssUUFBUSxrQkFBaUI7QUFDdkMsU0FBU0MsTUFBTSxRQUFRLG1CQUFrQjtBQUN6QyxTQUFTQyxFQUFFLFFBQVEsZUFBYztBQUNqQyxTQUFTQyxPQUFPLFFBQVEsb0JBQW1CO0FBQzNDLFNBQVNDLGlCQUFpQixRQUFRLDhCQUE2QjtBQUMvRCxTQUFTQyxhQUFhLFFBQVEsMEJBQXlCO0FBQ3ZELFNBQVNDLE1BQU0sUUFBUSxtQkFBa0I7QUFDekMsU0FBU0MsV0FBVyxRQUFRLHdCQUF1QjtBQUNuRCxTQUFTQyxjQUFjLFFBQVEsc0JBQXFCO0FBQ3BELFNBQVNDLG9CQUFvQixRQUFRLHNCQUFxQjtBQUMxRCxTQUFTQyxNQUFNLFFBQVEsMEJBQXlCO0FBQ2hELFNBQVNDLFNBQVMsUUFBUSwwQkFBeUI7QUFDbkQsU0FBU0MsVUFBVSxRQUFRLDhCQUE2QjtBQUN4RCxTQUFT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
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
1
+ export { };
5
2
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0ZXMvcmVzdC90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24sIFBheWxvYWRSZXF1ZXN0LCBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBCYXNlUm91dGVIYW5kbGVyID0gKHsgcmVxIH06IHsgcmVxOiBQYXlsb2FkUmVxdWVzdCB9KSA9PiBQcm9taXNlPFJlc3BvbnNlPiB8IFJlc3BvbnNlXG5cbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25Sb3V0ZUhhbmRsZXIgPSAoe1xuICBjb2xsZWN0aW9uLFxuICByZXEsXG59OiB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufSkgPT4gUHJvbWlzZTxSZXNwb25zZT4gfCBSZXNwb25zZVxuXG5leHBvcnQgdHlwZSBDb2xsZWN0aW9uUm91dGVIYW5kbGVyV2l0aElEID0gKHtcbiAgaWQsXG4gIGNvbGxlY3Rpb24sXG4gIHJlcSxcbn06IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBpZDogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn0pID0+IFByb21pc2U8UmVzcG9uc2U+IHwgUmVzcG9uc2VcblxuZXhwb3J0IHR5cGUgR2xvYmFsUm91dGVIYW5kbGVyID0gKHtcbiAgZ2xvYmFsQ29uZmlnLFxuICByZXEsXG59OiB7XG4gIGdsb2JhbENvbmZpZzogU2FuaXRpemVkR2xvYmFsQ29uZmlnXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn0pID0+IFByb21pc2U8UmVzcG9uc2U+IHwgUmVzcG9uc2VcblxuZXhwb3J0IHR5cGUgR2xvYmFsUm91dGVIYW5kbGVyV2l0aElEID0gKHtcbiAgaWQsXG4gIGdsb2JhbENvbmZpZyxcbiAgcmVxLFxufToge1xuICBnbG9iYWxDb25maWc6IFNhbml0aXplZEdsb2JhbENvbmZpZ1xuICBpZDogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn0pID0+IFByb21pc2U8UmVzcG9uc2U+IHwgUmVzcG9uc2VcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4QkEsV0FRa0MifQ==
@@ -1,7 +1,7 @@
1
- import type { SanitizedConfig } from 'payload/types';
2
- export declare const auth: ({ config, headers, }: {
3
- config: Promise<SanitizedConfig> | SanitizedConfig;
1
+ import type { Payload } from 'payload/types';
2
+ export declare const auth: ({ headers, payload }: {
4
3
  headers: Request['headers'];
4
+ payload: Payload;
5
5
  }) => Promise<{
6
6
  cookies: Map<string, string>;
7
7
  permissions: import("payload/auth").Permissions;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/utilities/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,eAAe,CAAA;AAMpE,eAAO,MAAM,IAAI;YAKL,QAAQ,eAAe,CAAC,GAAG,eAAe;aACzC,OAAO,CAAC,SAAS,CAAC;;;;;EA4B9B,CAAA"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/utilities/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,eAAe,CAAA;AAK5D,eAAO,MAAM,IAAI;aACyB,OAAO,CAAC,SAAS,CAAC;;;;;;EA2B3D,CAAA"}