payload 3.0.0-alpha.2 → 3.0.0-alpha.21

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 (348) hide show
  1. package/auth.js +5 -44
  2. package/bin.js +40 -1
  3. package/components.d.ts +14 -0
  4. package/components.js +71 -0
  5. package/config.js +10 -59
  6. package/database.js +21 -108
  7. package/dist/admin/RichText.js +2 -5
  8. package/dist/admin/elements/Cell.js +2 -5
  9. package/dist/admin/elements/DatePicker.js +2 -5
  10. package/dist/admin/elements/PreviewButton.js +2 -5
  11. package/dist/admin/elements/PublishButton.js +2 -5
  12. package/dist/admin/elements/SaveButton.js +2 -5
  13. package/dist/admin/elements/SaveDraftButton.js +2 -5
  14. package/dist/admin/elements/Tab.js +2 -5
  15. package/dist/admin/forms/Error.js +2 -5
  16. package/dist/admin/forms/FieldDescription.js +2 -5
  17. package/dist/admin/forms/FieldTypes.js +2 -5
  18. package/dist/admin/forms/Form.d.ts +22 -0
  19. package/dist/admin/forms/Form.d.ts.map +1 -1
  20. package/dist/admin/forms/Form.js +2 -5
  21. package/dist/admin/forms/Label.js +2 -5
  22. package/dist/admin/forms/RowLabel.js +2 -5
  23. package/dist/admin/types.d.ts +2 -1
  24. package/dist/admin/types.d.ts.map +1 -1
  25. package/dist/admin/types.js +2 -5
  26. package/dist/admin/views/types.d.ts +41 -0
  27. package/dist/admin/views/types.d.ts.map +1 -0
  28. package/dist/admin/views/types.js +3 -0
  29. package/dist/assets/assets.d.js +0 -1
  30. package/dist/auth/baseFields/accountLock.js +2 -12
  31. package/dist/auth/baseFields/apiKey.js +6 -21
  32. package/dist/auth/baseFields/auth.js +6 -16
  33. package/dist/auth/baseFields/verification.js +4 -14
  34. package/dist/auth/cookies.js +6 -33
  35. package/dist/auth/crypto.js +7 -30
  36. package/dist/auth/defaultAccess.js +2 -12
  37. package/dist/auth/defaultUser.js +4 -14
  38. package/dist/auth/executeAccess.js +5 -15
  39. package/dist/auth/extractJWT.js +4 -14
  40. package/dist/auth/getAccessResults.js +5 -15
  41. package/dist/auth/getAuthenticatedUser.js +2 -12
  42. package/dist/auth/getFieldsToSign.js +5 -15
  43. package/dist/auth/index.js +4 -27
  44. package/dist/auth/isLocked.js +2 -12
  45. package/dist/auth/operations/access.js +12 -22
  46. package/dist/auth/operations/forgotPassword.js +17 -32
  47. package/dist/auth/operations/init.js +2 -12
  48. package/dist/auth/operations/local/forgotPassword.js +8 -18
  49. package/dist/auth/operations/local/index.js +12 -27
  50. package/dist/auth/operations/local/login.js +8 -18
  51. package/dist/auth/operations/local/resetPassword.js +8 -18
  52. package/dist/auth/operations/local/unlock.js +8 -18
  53. package/dist/auth/operations/local/verifyEmail.js +8 -18
  54. package/dist/auth/operations/login.js +32 -47
  55. package/dist/auth/operations/logout.js +6 -21
  56. package/dist/auth/operations/me.js +4 -19
  57. package/dist/auth/operations/refresh.js +19 -34
  58. package/dist/auth/operations/registerFirstUser.js +10 -20
  59. package/dist/auth/operations/resetPassword.js +20 -43
  60. package/dist/auth/operations/unlock.js +16 -39
  61. package/dist/auth/operations/verifyEmail.js +14 -37
  62. package/dist/auth/sendVerificationEmail.js +4 -14
  63. package/dist/auth/strategies/apiKey.js +4 -19
  64. package/dist/auth/strategies/jwt.js +6 -21
  65. package/dist/auth/strategies/local/authenticate.js +6 -21
  66. package/dist/auth/strategies/local/generatePasswordSaltHash.js +7 -22
  67. package/dist/auth/strategies/local/incrementLoginAttempts.js +2 -12
  68. package/dist/auth/strategies/local/register.js +6 -16
  69. package/dist/auth/strategies/local/resetLoginAttempts.js +2 -12
  70. package/dist/auth/types.js +2 -12
  71. package/dist/bin/generateTypes.js +12 -27
  72. package/dist/bin/index.js +11 -53
  73. package/dist/bin/loadEnv.js +13 -26
  74. package/dist/bin/migrate.js +15 -30
  75. package/dist/bundlers/mocks/db-mongodb.js +0 -1
  76. package/dist/bundlers/mocks/db-postgres.js +2 -12
  77. package/dist/bundlers/mocks/dotENV.js +2 -12
  78. package/dist/bundlers/mocks/emptyModule.js +2 -12
  79. package/dist/bundlers/mocks/fileMock.js +2 -12
  80. package/dist/bundlers/types.js +2 -5
  81. package/dist/collections/config/build.js +2 -12
  82. package/dist/collections/config/defaults.js +9 -32
  83. package/dist/collections/config/sanitize.js +34 -49
  84. package/dist/collections/config/schema.js +157 -172
  85. package/dist/collections/config/types.d.ts +5 -5
  86. package/dist/collections/config/types.d.ts.map +1 -1
  87. package/dist/collections/config/types.js +2 -5
  88. package/dist/collections/dataloader.js +8 -23
  89. package/dist/collections/operations/create.js +38 -53
  90. package/dist/collections/operations/delete.js +27 -42
  91. package/dist/collections/operations/deleteByID.js +27 -42
  92. package/dist/collections/operations/docAccess.js +10 -20
  93. package/dist/collections/operations/find.js +25 -40
  94. package/dist/collections/operations/findByID.js +21 -36
  95. package/dist/collections/operations/findVersionByID.js +19 -34
  96. package/dist/collections/operations/findVersions.js +20 -35
  97. package/dist/collections/operations/local/create.js +10 -25
  98. package/dist/collections/operations/local/delete.js +10 -20
  99. package/dist/collections/operations/local/find.js +8 -18
  100. package/dist/collections/operations/local/findByID.js +8 -18
  101. package/dist/collections/operations/local/findVersionByID.js +8 -18
  102. package/dist/collections/operations/local/findVersions.js +8 -18
  103. package/dist/collections/operations/local/index.js +20 -35
  104. package/dist/collections/operations/local/restoreVersion.js +8 -18
  105. package/dist/collections/operations/local/update.js +12 -27
  106. package/dist/collections/operations/restoreVersion.js +26 -41
  107. package/dist/collections/operations/update.js +43 -58
  108. package/dist/collections/operations/updateByID.js +44 -59
  109. package/dist/collections/operations/utils.js +3 -12
  110. package/dist/config/build.js +9 -15
  111. package/dist/config/clientFiles.js +2 -12
  112. package/dist/config/createClientConfig.d.ts.map +1 -1
  113. package/dist/config/createClientConfig.js +12 -25
  114. package/dist/config/defaults.js +4 -19
  115. package/dist/config/find.js +18 -33
  116. package/dist/config/load.d.ts +1 -3
  117. package/dist/config/load.d.ts.map +1 -1
  118. package/dist/config/load.js +8 -37
  119. package/dist/config/sanitize.js +25 -40
  120. package/dist/config/schema.d.ts.map +1 -1
  121. package/dist/config/schema.js +116 -133
  122. package/dist/config/shared/adminViewSchema.js +9 -24
  123. package/dist/config/shared/componentSchema.js +21 -50
  124. package/dist/config/types.d.ts +12 -21
  125. package/dist/config/types.d.ts.map +1 -1
  126. package/dist/config/types.js +9 -21
  127. package/dist/config/validate.js +15 -71
  128. package/dist/database/combineQueries.js +4 -14
  129. package/dist/database/createDatabaseAdapter.js +14 -24
  130. package/dist/database/flattenWhereToOperators.js +2 -12
  131. package/dist/database/getLocalizedPaths.js +7 -22
  132. package/dist/database/migrations/createMigration.js +7 -22
  133. package/dist/database/migrations/getMigrations.js +4 -12
  134. package/dist/database/migrations/migrate.js +12 -22
  135. package/dist/database/migrations/migrateDown.js +12 -22
  136. package/dist/database/migrations/migrateRefresh.js +16 -24
  137. package/dist/database/migrations/migrateReset.js +12 -22
  138. package/dist/database/migrations/migrateStatus.js +8 -18
  139. package/dist/database/migrations/migrationTemplate.js +2 -12
  140. package/dist/database/migrations/migrationsCollection.js +2 -12
  141. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  142. package/dist/database/migrations/readMigrationFiles.js +12 -24
  143. package/dist/database/queryValidation/types.js +2 -5
  144. package/dist/database/queryValidation/validateQueryPaths.js +13 -28
  145. package/dist/database/queryValidation/validateSearchParams.js +13 -21
  146. package/dist/database/types.d.ts +5 -2
  147. package/dist/database/types.d.ts.map +1 -1
  148. package/dist/database/types.js +2 -5
  149. package/dist/email/build.js +11 -26
  150. package/dist/email/defaults.js +2 -12
  151. package/dist/email/mockHandler.js +8 -23
  152. package/dist/email/sendEmail.js +2 -12
  153. package/dist/email/types.js +2 -5
  154. package/dist/errors/APIError.js +4 -19
  155. package/dist/errors/AuthenticationError.js +7 -22
  156. package/dist/errors/DuplicateCollection.js +4 -19
  157. package/dist/errors/DuplicateFieldName.js +4 -19
  158. package/dist/errors/DuplicateGlobal.js +4 -19
  159. package/dist/errors/ErrorDeletingFile.js +7 -22
  160. package/dist/errors/FileUploadError.js +7 -22
  161. package/dist/errors/Forbidden.js +7 -22
  162. package/dist/errors/InvalidConfiguration.js +6 -21
  163. package/dist/errors/InvalidFieldName.js +4 -19
  164. package/dist/errors/InvalidFieldRelationship.js +4 -19
  165. package/dist/errors/InvalidSchema.js +6 -21
  166. package/dist/errors/LockedAuth.js +7 -22
  167. package/dist/errors/MissingCollectionLabel.js +4 -19
  168. package/dist/errors/MissingFieldInputOptions.js +4 -19
  169. package/dist/errors/MissingFieldType.js +6 -21
  170. package/dist/errors/MissingFile.js +7 -22
  171. package/dist/errors/NotFound.js +7 -22
  172. package/dist/errors/QueryError.js +6 -21
  173. package/dist/errors/TimestampsRequired.js +4 -19
  174. package/dist/errors/UnathorizedError.js +7 -22
  175. package/dist/errors/ValidationError.js +8 -23
  176. package/dist/errors/index.js +20 -94
  177. package/dist/errors/types.js +2 -19
  178. package/dist/exports/auth.js +5 -44
  179. package/dist/exports/components/utilities.d.ts +0 -1
  180. package/dist/exports/components/utilities.js +0 -1
  181. package/dist/exports/config.js +10 -59
  182. package/dist/exports/database.js +21 -108
  183. package/dist/exports/errors.js +2 -68
  184. package/dist/exports/fields/index.js +3 -26
  185. package/dist/exports/fields/validations.js +2 -19
  186. package/dist/exports/operations.js +29 -125
  187. package/dist/exports/types.js +4 -74
  188. package/dist/exports/utilities.js +28 -141
  189. package/dist/exports/versions.js +9 -45
  190. package/dist/express/middleware/errorHandler.d.ts +0 -1
  191. package/dist/express/middleware/errorHandler.js +0 -1
  192. package/dist/express/middleware/index.d.ts +0 -1
  193. package/dist/express/middleware/index.js +0 -1
  194. package/dist/fields/baseFields/baseBlockFields.js +4 -14
  195. package/dist/fields/baseFields/baseIDField.js +4 -19
  196. package/dist/fields/config/sanitize.js +24 -39
  197. package/dist/fields/config/sanitize.spec.js +25 -29
  198. package/dist/fields/config/schema.js +329 -424
  199. package/dist/fields/config/types.js +15 -69
  200. package/dist/fields/getDefaultValue.js +2 -12
  201. package/dist/fields/hooks/afterChange/index.js +6 -16
  202. package/dist/fields/hooks/afterChange/promise.js +14 -22
  203. package/dist/fields/hooks/afterChange/traverseFields.js +4 -14
  204. package/dist/fields/hooks/afterRead/index.js +6 -16
  205. package/dist/fields/hooks/afterRead/promise.js +28 -36
  206. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +5 -15
  207. package/dist/fields/hooks/afterRead/traverseFields.js +4 -14
  208. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +2 -12
  209. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +2 -12
  210. package/dist/fields/hooks/beforeChange/index.js +8 -18
  211. package/dist/fields/hooks/beforeChange/promise.js +26 -35
  212. package/dist/fields/hooks/beforeChange/traverseFields.js +4 -14
  213. package/dist/fields/hooks/beforeValidate/index.js +6 -16
  214. package/dist/fields/hooks/beforeValidate/promise.js +30 -39
  215. package/dist/fields/hooks/beforeValidate/traverseFields.js +4 -14
  216. package/dist/fields/mergeBaseFields.js +8 -23
  217. package/dist/fields/sortableFieldTypes.js +2 -12
  218. package/dist/fields/validations.js +31 -97
  219. package/dist/fields/validations.spec.js +93 -87
  220. package/dist/globals/config/build.d.ts +0 -1
  221. package/dist/globals/config/build.js +0 -1
  222. package/dist/globals/config/sanitize.js +17 -32
  223. package/dist/globals/config/schema.js +55 -70
  224. package/dist/globals/config/types.d.ts +5 -5
  225. package/dist/globals/config/types.d.ts.map +1 -1
  226. package/dist/globals/config/types.js +2 -5
  227. package/dist/globals/graphql/resolvers/docAccess.d.ts +0 -1
  228. package/dist/globals/graphql/resolvers/docAccess.js +0 -1
  229. package/dist/globals/operations/docAccess.js +10 -20
  230. package/dist/globals/operations/findOne.js +14 -29
  231. package/dist/globals/operations/findVersionByID.js +18 -33
  232. package/dist/globals/operations/findVersions.js +20 -35
  233. package/dist/globals/operations/local/findOne.js +8 -18
  234. package/dist/globals/operations/local/findVersionByID.js +8 -18
  235. package/dist/globals/operations/local/findVersions.js +8 -18
  236. package/dist/globals/operations/local/index.js +12 -27
  237. package/dist/globals/operations/local/restoreVersion.js +8 -18
  238. package/dist/globals/operations/local/update.js +8 -18
  239. package/dist/globals/operations/restoreVersion.js +16 -31
  240. package/dist/globals/operations/update.js +23 -38
  241. package/dist/index.d.ts.map +1 -1
  242. package/dist/index.js +50 -70
  243. package/dist/localization/middleware.js +2 -12
  244. package/dist/localization/sanitizeFallbackLocale.js +2 -12
  245. package/dist/preferences/deleteUserPreferences.js +2 -12
  246. package/dist/preferences/operations/delete.js +10 -25
  247. package/dist/preferences/operations/findOne.js +2 -12
  248. package/dist/preferences/operations/update.js +8 -23
  249. package/dist/preferences/preferencesCollection.js +8 -18
  250. package/dist/preferences/requestHandlers/delete.js +6 -21
  251. package/dist/preferences/requestHandlers/findOne.js +6 -21
  252. package/dist/preferences/requestHandlers/update.js +6 -21
  253. package/dist/preferences/types.js +2 -5
  254. package/dist/translations/extractTranslations.js +4 -14
  255. package/dist/translations/getLocalI18n.js +5 -15
  256. package/dist/types/constants.js +2 -12
  257. package/dist/types/index.js +2 -12
  258. package/dist/uploads/canResizeImage.js +2 -12
  259. package/dist/uploads/cropImage.d.ts +3 -7
  260. package/dist/uploads/cropImage.d.ts.map +1 -1
  261. package/dist/uploads/cropImage.js +4 -28
  262. package/dist/uploads/deleteAssociatedFiles.js +11 -26
  263. package/dist/uploads/docWithFilenameExists.js +2 -12
  264. package/dist/uploads/fileExists.js +4 -19
  265. package/dist/uploads/formatFilesize.js +2 -12
  266. package/dist/uploads/generateFileData.d.ts.map +1 -1
  267. package/dist/uploads/generateFileData.js +40 -53
  268. package/dist/uploads/getBaseFields.js +6 -16
  269. package/dist/uploads/getExternalFile.js +5 -15
  270. package/dist/uploads/getFileByPath.js +10 -25
  271. package/dist/uploads/getImageSize.js +7 -22
  272. package/dist/uploads/getSafeFilename.js +8 -23
  273. package/dist/uploads/imageResizer.d.ts +3 -1
  274. package/dist/uploads/imageResizer.d.ts.map +1 -1
  275. package/dist/uploads/imageResizer.js +28 -44
  276. package/dist/uploads/isImage.js +2 -12
  277. package/dist/uploads/mimeTypeValidator.js +2 -12
  278. package/dist/uploads/mimeTypeValidator.spec.js +11 -15
  279. package/dist/uploads/saveBufferToFile.js +6 -21
  280. package/dist/uploads/types.d.ts +7 -1
  281. package/dist/uploads/types.d.ts.map +1 -1
  282. package/dist/uploads/types.js +2 -5
  283. package/dist/uploads/unlinkTempFiles.js +9 -22
  284. package/dist/uploads/uploadFiles.js +6 -21
  285. package/dist/utilities/checkDuplicateCollections.js +4 -14
  286. package/dist/utilities/combineMerge.js +4 -19
  287. package/dist/utilities/commitTransaction.js +4 -12
  288. package/dist/utilities/configToJSONSchema.js +22 -41
  289. package/dist/utilities/configToJSONSchema.spec.js +5 -9
  290. package/dist/utilities/convertData.js +3 -23
  291. package/dist/utilities/createArrayFromCommaDelineated.js +2 -12
  292. package/dist/utilities/createLocalReq.js +6 -16
  293. package/dist/utilities/deepCopyObject.js +2 -12
  294. package/dist/utilities/deepMerge.js +2 -12
  295. package/dist/utilities/fieldSchemaToJSON.js +2 -12
  296. package/dist/utilities/flattenTopLevelFields.js +6 -16
  297. package/dist/utilities/formatLabels.js +9 -70
  298. package/dist/utilities/formatLabels.spec.js +8 -12
  299. package/dist/utilities/getCSSVariable.js +2 -12
  300. package/dist/utilities/getEntityPolicies.js +4 -14
  301. package/dist/utilities/getIDType.js +2 -12
  302. package/dist/utilities/getObjectDotNotation.js +2 -12
  303. package/dist/utilities/getUniqueListBy.js +2 -12
  304. package/dist/utilities/initTransaction.js +5 -12
  305. package/dist/utilities/isEntityHidden.js +2 -12
  306. package/dist/utilities/isNumber.js +2 -12
  307. package/dist/utilities/isValidID.js +5 -20
  308. package/dist/utilities/isolateObjectProperty.js +2 -12
  309. package/dist/utilities/killTransaction.js +4 -12
  310. package/dist/utilities/logger.d.ts.map +1 -1
  311. package/dist/utilities/logger.js +16 -37
  312. package/dist/utilities/mapAsync.js +2 -12
  313. package/dist/utilities/overwriteMerge.js +2 -12
  314. package/dist/utilities/parseCookies.js +4 -14
  315. package/dist/utilities/pinoPretty.d.ts +1 -0
  316. package/dist/utilities/pinoPretty.d.ts.map +1 -0
  317. package/dist/utilities/pinoPretty.js +2 -0
  318. package/dist/utilities/sanitizeInternalFields.js +2 -12
  319. package/dist/utilities/setsAreEqual.js +2 -12
  320. package/dist/utilities/telemetry/events/adminInit.js +7 -17
  321. package/dist/utilities/telemetry/events/serverInit.js +4 -14
  322. package/dist/utilities/telemetry/index.js +17 -40
  323. package/dist/utilities/telemetry/oneWayHash.js +4 -14
  324. package/dist/utilities/timestamp.js +2 -12
  325. package/dist/utilities/toKebabCase.js +2 -12
  326. package/dist/utilities/wait.js +2 -12
  327. package/dist/utilities/wordBoundariesRegex.js +3 -13
  328. package/dist/versions/baseFields.js +5 -23
  329. package/dist/versions/buildCollectionFields.js +2 -12
  330. package/dist/versions/buildGlobalFields.js +2 -12
  331. package/dist/versions/deleteCollectionVersions.js +2 -12
  332. package/dist/versions/drafts/appendVersionToQueryKey.js +2 -12
  333. package/dist/versions/drafts/getQueryDraftsSort.js +2 -12
  334. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +12 -27
  335. package/dist/versions/enforceMaxVersions.js +2 -12
  336. package/dist/versions/getLatestCollectionVersion.js +4 -14
  337. package/dist/versions/getLatestGlobalVersion.js +4 -14
  338. package/dist/versions/getVersionsModelName.js +2 -12
  339. package/dist/versions/saveVersion.js +8 -23
  340. package/dist/versions/types.js +2 -5
  341. package/errors.js +2 -68
  342. package/graphql.d.ts +3 -0
  343. package/graphql.js +27 -0
  344. package/operations.js +29 -125
  345. package/package.json +17 -5
  346. package/types.js +4 -74
  347. package/utilities.js +28 -141
  348. package/versions.js +9 -45
@@ -1,42 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "updateByIDOperation", {
6
- enumerable: true,
7
- get: function() {
8
- return updateByIDOperation;
9
- }
10
- });
11
- const _httpstatus = /*#__PURE__*/ _interop_require_default(require("http-status"));
12
- const _executeAccess = /*#__PURE__*/ _interop_require_default(require("../../auth/executeAccess"));
13
- const _generatePasswordSaltHash = require("../../auth/strategies/local/generatePasswordSaltHash");
14
- const _types = require("../../auth/types");
15
- const _combineQueries = require("../../database/combineQueries");
16
- const _errors = require("../../errors");
17
- const _afterChange = require("../../fields/hooks/afterChange");
18
- const _afterRead = require("../../fields/hooks/afterRead");
19
- const _beforeChange = require("../../fields/hooks/beforeChange");
20
- const _beforeValidate = require("../../fields/hooks/beforeValidate");
21
- const _deleteAssociatedFiles = require("../../uploads/deleteAssociatedFiles");
22
- const _generateFileData = require("../../uploads/generateFileData");
23
- const _unlinkTempFiles = require("../../uploads/unlinkTempFiles");
24
- const _uploadFiles = require("../../uploads/uploadFiles");
25
- const _commitTransaction = require("../../utilities/commitTransaction");
26
- const _initTransaction = require("../../utilities/initTransaction");
27
- const _killTransaction = require("../../utilities/killTransaction");
28
- const _getLatestCollectionVersion = require("../../versions/getLatestCollectionVersion");
29
- const _saveVersion = require("../../versions/saveVersion");
30
- const _utils = require("./utils");
31
- function _interop_require_default(obj) {
32
- return obj && obj.__esModule ? obj : {
33
- default: obj
34
- };
35
- }
36
- const updateByIDOperation = async (incomingArgs)=>{
1
+ import httpStatus from 'http-status';
2
+ import executeAccess from '../../auth/executeAccess';
3
+ import { generatePasswordSaltHash } from '../../auth/strategies/local/generatePasswordSaltHash';
4
+ import { hasWhereAccessResult } from '../../auth/types';
5
+ import { combineQueries } from '../../database/combineQueries';
6
+ import { APIError, Forbidden, NotFound } from '../../errors';
7
+ import { afterChange } from '../../fields/hooks/afterChange';
8
+ import { afterRead } from '../../fields/hooks/afterRead';
9
+ import { beforeChange } from '../../fields/hooks/beforeChange';
10
+ import { beforeValidate } from '../../fields/hooks/beforeValidate';
11
+ import { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles';
12
+ import { generateFileData } from '../../uploads/generateFileData';
13
+ import { unlinkTempFiles } from '../../uploads/unlinkTempFiles';
14
+ import { uploadFiles } from '../../uploads/uploadFiles';
15
+ import { commitTransaction } from '../../utilities/commitTransaction';
16
+ import { initTransaction } from '../../utilities/initTransaction';
17
+ import { killTransaction } from '../../utilities/killTransaction';
18
+ import { getLatestCollectionVersion } from '../../versions/getLatestCollectionVersion';
19
+ import { saveVersion } from '../../versions/saveVersion';
20
+ import { buildAfterOperation } from './utils';
21
+ export const updateByIDOperation = async (incomingArgs)=>{
37
22
  let args = incomingArgs;
38
23
  try {
39
- const shouldCommit = await (0, _initTransaction.initTransaction)(args.req);
24
+ const shouldCommit = await initTransaction(args.req);
40
25
  // /////////////////////////////////////
41
26
  // beforeOperation - Collection
42
27
  // /////////////////////////////////////
@@ -52,7 +37,7 @@ const updateByIDOperation = async (incomingArgs)=>{
52
37
  }, Promise.resolve());
53
38
  const { id, autosave = false, collection: { config: collectionConfig }, collection, depth, draft: draftArg = false, overrideAccess, overwriteExistingFiles = false, req: { fallbackLocale, locale, payload: { config }, payload }, req, showHiddenFields } = args;
54
39
  if (!id) {
55
- throw new _errors.APIError('Missing ID of document to update.', _httpstatus.default.BAD_REQUEST);
40
+ throw new APIError('Missing ID of document to update.', httpStatus.BAD_REQUEST);
56
41
  }
57
42
  let { data } = args;
58
43
  const password = data?.password;
@@ -61,12 +46,12 @@ const updateByIDOperation = async (incomingArgs)=>{
61
46
  // /////////////////////////////////////
62
47
  // Access
63
48
  // /////////////////////////////////////
64
- const accessResults = !overrideAccess ? await (0, _executeAccess.default)({
49
+ const accessResults = !overrideAccess ? await executeAccess({
65
50
  id,
66
51
  data,
67
52
  req
68
53
  }, collectionConfig.access.update) : true;
69
- const hasWherePolicy = (0, _types.hasWhereAccessResult)(accessResults);
54
+ const hasWherePolicy = hasWhereAccessResult(accessResults);
70
55
  // /////////////////////////////////////
71
56
  // Retrieve document
72
57
  // /////////////////////////////////////
@@ -74,22 +59,22 @@ const updateByIDOperation = async (incomingArgs)=>{
74
59
  collection: collectionConfig.slug,
75
60
  locale,
76
61
  req,
77
- where: (0, _combineQueries.combineQueries)({
62
+ where: combineQueries({
78
63
  id: {
79
64
  equals: id
80
65
  }
81
66
  }, accessResults)
82
67
  };
83
- const docWithLocales = await (0, _getLatestCollectionVersion.getLatestCollectionVersion)({
68
+ const docWithLocales = await getLatestCollectionVersion({
84
69
  id,
85
70
  config: collectionConfig,
86
71
  payload,
87
72
  query: findOneArgs,
88
73
  req
89
74
  });
90
- if (!docWithLocales && !hasWherePolicy) throw new _errors.NotFound(req.t);
91
- if (!docWithLocales && hasWherePolicy) throw new _errors.Forbidden(req.t);
92
- const originalDoc = await (0, _afterRead.afterRead)({
75
+ if (!docWithLocales && !hasWherePolicy) throw new NotFound(req.t);
76
+ if (!docWithLocales && hasWherePolicy) throw new Forbidden(req.t);
77
+ const originalDoc = await afterRead({
93
78
  collection: collectionConfig,
94
79
  context: req.context,
95
80
  depth: 0,
@@ -104,7 +89,7 @@ const updateByIDOperation = async (incomingArgs)=>{
104
89
  // /////////////////////////////////////
105
90
  // Generate data for all files and sizes
106
91
  // /////////////////////////////////////
107
- const { data: newFileData, files: filesToUpload } = await (0, _generateFileData.generateFileData)({
92
+ const { data: newFileData, files: filesToUpload } = await generateFileData({
108
93
  collection,
109
94
  config,
110
95
  data,
@@ -116,7 +101,7 @@ const updateByIDOperation = async (incomingArgs)=>{
116
101
  // /////////////////////////////////////
117
102
  // Delete any associated files
118
103
  // /////////////////////////////////////
119
- await (0, _deleteAssociatedFiles.deleteAssociatedFiles)({
104
+ await deleteAssociatedFiles({
120
105
  collectionConfig,
121
106
  config,
122
107
  doc: docWithLocales,
@@ -127,7 +112,7 @@ const updateByIDOperation = async (incomingArgs)=>{
127
112
  // /////////////////////////////////////
128
113
  // beforeValidate - Fields
129
114
  // /////////////////////////////////////
130
- data = await (0, _beforeValidate.beforeValidate)({
115
+ data = await beforeValidate({
131
116
  id,
132
117
  collection: collectionConfig,
133
118
  context: req.context,
@@ -156,7 +141,7 @@ const updateByIDOperation = async (incomingArgs)=>{
156
141
  // Write files to local storage
157
142
  // /////////////////////////////////////
158
143
  if (!collectionConfig.upload.disableLocalStorage) {
159
- await (0, _uploadFiles.uploadFiles)(payload, filesToUpload, req);
144
+ await uploadFiles(payload, filesToUpload, req);
160
145
  }
161
146
  // /////////////////////////////////////
162
147
  // beforeChange - Collection
@@ -175,7 +160,7 @@ const updateByIDOperation = async (incomingArgs)=>{
175
160
  // /////////////////////////////////////
176
161
  // beforeChange - Fields
177
162
  // /////////////////////////////////////
178
- let result = await (0, _beforeChange.beforeChange)({
163
+ let result = await beforeChange({
179
164
  id,
180
165
  collection: collectionConfig,
181
166
  context: req.context,
@@ -194,7 +179,7 @@ const updateByIDOperation = async (incomingArgs)=>{
194
179
  ...result
195
180
  };
196
181
  if (shouldSavePassword && typeof password === 'string') {
197
- const { hash, salt } = await (0, _generatePasswordSaltHash.generatePasswordSaltHash)({
182
+ const { hash, salt } = await generatePasswordSaltHash({
198
183
  password
199
184
  });
200
185
  dataToUpdate.salt = salt;
@@ -218,7 +203,7 @@ const updateByIDOperation = async (incomingArgs)=>{
218
203
  // Create version
219
204
  // /////////////////////////////////////
220
205
  if (collectionConfig.versions) {
221
- result = await (0, _saveVersion.saveVersion)({
206
+ result = await saveVersion({
222
207
  id,
223
208
  autosave,
224
209
  collection: collectionConfig,
@@ -234,7 +219,7 @@ const updateByIDOperation = async (incomingArgs)=>{
234
219
  // /////////////////////////////////////
235
220
  // afterRead - Fields
236
221
  // /////////////////////////////////////
237
- result = await (0, _afterRead.afterRead)({
222
+ result = await afterRead({
238
223
  collection: collectionConfig,
239
224
  context: req.context,
240
225
  depth,
@@ -261,7 +246,7 @@ const updateByIDOperation = async (incomingArgs)=>{
261
246
  // /////////////////////////////////////
262
247
  // afterChange - Fields
263
248
  // /////////////////////////////////////
264
- result = await (0, _afterChange.afterChange)({
249
+ result = await afterChange({
265
250
  collection: collectionConfig,
266
251
  context: req.context,
267
252
  data,
@@ -288,13 +273,13 @@ const updateByIDOperation = async (incomingArgs)=>{
288
273
  // /////////////////////////////////////
289
274
  // afterOperation - Collection
290
275
  // /////////////////////////////////////
291
- result = await (0, _utils.buildAfterOperation)({
276
+ result = await buildAfterOperation({
292
277
  args,
293
278
  collection: collectionConfig,
294
279
  operation: 'updateByID',
295
280
  result
296
281
  });
297
- await (0, _unlinkTempFiles.unlinkTempFiles)({
282
+ await unlinkTempFiles({
298
283
  collectionConfig,
299
284
  config,
300
285
  req
@@ -302,12 +287,12 @@ const updateByIDOperation = async (incomingArgs)=>{
302
287
  // /////////////////////////////////////
303
288
  // Return results
304
289
  // /////////////////////////////////////
305
- if (shouldCommit) await (0, _commitTransaction.commitTransaction)(req);
290
+ if (shouldCommit) await commitTransaction(req);
306
291
  return result;
307
292
  } catch (error) {
308
- await (0, _killTransaction.killTransaction)(args.req);
293
+ await killTransaction(args.req);
309
294
  throw error;
310
295
  }
311
296
  };
312
297
 
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL3VwZGF0ZUJ5SUQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZWVwUGFydGlhbCB9IGZyb20gJ3RzLWVzc2VudGlhbHMnXG5cbmltcG9ydCBodHRwU3RhdHVzIGZyb20gJ2h0dHAtc3RhdHVzJ1xuXG5pbXBvcnQgdHlwZSB7IEZpbmRPbmVBcmdzIH0gZnJvbSAnLi4vLi4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vaW5kZXgnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBleGVjdXRlQWNjZXNzIGZyb20gJy4uLy4uL2F1dGgvZXhlY3V0ZUFjY2VzcydcbmltcG9ydCB7IGdlbmVyYXRlUGFzc3dvcmRTYWx0SGFzaCB9IGZyb20gJy4uLy4uL2F1dGgvc3RyYXRlZ2llcy9sb2NhbC9nZW5lcmF0ZVBhc3N3b3JkU2FsdEhhc2gnXG5pbXBvcnQgeyBoYXNXaGVyZUFjY2Vzc1Jlc3VsdCB9IGZyb20gJy4uLy4uL2F1dGgvdHlwZXMnXG5pbXBvcnQgeyBjb21iaW5lUXVlcmllcyB9IGZyb20gJy4uLy4uL2RhdGFiYXNlL2NvbWJpbmVRdWVyaWVzJ1xuaW1wb3J0IHsgQVBJRXJyb3IsIEZvcmJpZGRlbiwgTm90Rm91bmQgfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBhZnRlckNoYW5nZSB9IGZyb20gJy4uLy4uL2ZpZWxkcy9ob29rcy9hZnRlckNoYW5nZSdcbmltcG9ydCB7IGFmdGVyUmVhZCB9IGZyb20gJy4uLy4uL2ZpZWxkcy9ob29rcy9hZnRlclJlYWQnXG5pbXBvcnQgeyBiZWZvcmVDaGFuZ2UgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlJ1xuaW1wb3J0IHsgYmVmb3JlVmFsaWRhdGUgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYmVmb3JlVmFsaWRhdGUnXG5pbXBvcnQgeyBkZWxldGVBc3NvY2lhdGVkRmlsZXMgfSBmcm9tICcuLi8uLi91cGxvYWRzL2RlbGV0ZUFzc29jaWF0ZWRGaWxlcydcbmltcG9ydCB7IGdlbmVyYXRlRmlsZURhdGEgfSBmcm9tICcuLi8uLi91cGxvYWRzL2dlbmVyYXRlRmlsZURhdGEnXG5pbXBvcnQgeyB1bmxpbmtUZW1wRmlsZXMgfSBmcm9tICcuLi8uLi91cGxvYWRzL3VubGlua1RlbXBGaWxlcydcbmltcG9ydCB7IHVwbG9hZEZpbGVzIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy91cGxvYWRGaWxlcydcbmltcG9ydCB7IGNvbW1pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2NvbW1pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9raWxsVHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBnZXRMYXRlc3RDb2xsZWN0aW9uVmVyc2lvbiB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL2dldExhdGVzdENvbGxlY3Rpb25WZXJzaW9uJ1xuaW1wb3J0IHsgc2F2ZVZlcnNpb24gfSBmcm9tICcuLi8uLi92ZXJzaW9ucy9zYXZlVmVyc2lvbidcbmltcG9ydCB7IGJ1aWxkQWZ0ZXJPcGVyYXRpb24gfSBmcm9tICcuL3V0aWxzJ1xuXG5leHBvcnQgdHlwZSBBcmd1bWVudHM8VCBleHRlbmRzIHsgW2ZpZWxkOiBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2xdOiB1bmtub3duIH0+ID0ge1xuICBhdXRvc2F2ZT86IGJvb2xlYW5cbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBkYXRhOiBEZWVwUGFydGlhbDxUPlxuICBkZXB0aD86IG51bWJlclxuICBkaXNhYmxlVmVyaWZpY2F0aW9uRW1haWw/OiBib29sZWFuXG4gIGRyYWZ0PzogYm9vbGVhblxuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzPzogYm9vbGVhblxuICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNob3dIaWRkZW5GaWVsZHM/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVCeUlET3BlcmF0aW9uID0gYXN5bmMgPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBpbmNvbWluZ0FyZ3M6IEFyZ3VtZW50czxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+LFxuKTogUHJvbWlzZTxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+ID0+IHtcbiAgbGV0IGFyZ3MgPSBpbmNvbWluZ0FyZ3NcblxuICB0cnkge1xuICAgIGNvbnN0IHNob3VsZENvbW1pdCA9IGF3YWl0IGluaXRUcmFuc2FjdGlvbihhcmdzLnJlcSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVPcGVyYXRpb24gLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgYXJncy5jb2xsZWN0aW9uLmNvbmZpZy5ob29rcy5iZWZvcmVPcGVyYXRpb24ucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICBhcmdzID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgY29sbGVjdGlvbjogYXJncy5jb2xsZWN0aW9uLmNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiBhcmdzLnJlcS5jb250ZXh0LFxuICAgICAgICAgIG9wZXJhdGlvbjogJ3VwZGF0ZScsXG4gICAgICAgICAgcmVxOiBhcmdzLnJlcSxcbiAgICAgICAgfSkpIHx8IGFyZ3NcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIGNvbnN0IHtcbiAgICAgIGlkLFxuICAgICAgYXV0b3NhdmUgPSBmYWxzZSxcbiAgICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgZGVwdGgsXG4gICAgICBkcmFmdDogZHJhZnRBcmcgPSBmYWxzZSxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyA9IGZhbHNlLFxuICAgICAgcmVxOiB7XG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHBheWxvYWQ6IHsgY29uZmlnIH0sXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9LFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICB9ID0gYXJnc1xuXG4gICAgaWYgKCFpZCkge1xuICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKCdNaXNzaW5nIElEIG9mIGRvY3VtZW50IHRvIHVwZGF0ZS4nLCBodHRwU3RhdHVzLkJBRF9SRVFVRVNUKVxuICAgIH1cblxuICAgIGxldCB7IGRhdGEgfSA9IGFyZ3NcbiAgICBjb25zdCBwYXNzd29yZCA9IGRhdGE/LnBhc3N3b3JkXG4gICAgY29uc3Qgc2hvdWxkU2F2ZURyYWZ0ID0gQm9vbGVhbihkcmFmdEFyZyAmJiBjb2xsZWN0aW9uQ29uZmlnLnZlcnNpb25zLmRyYWZ0cylcbiAgICBjb25zdCBzaG91bGRTYXZlUGFzc3dvcmQgPSBCb29sZWFuKHBhc3N3b3JkICYmIGNvbGxlY3Rpb25Db25maWcuYXV0aCAmJiAhc2hvdWxkU2F2ZURyYWZ0KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEFjY2Vzc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IGFjY2Vzc1Jlc3VsdHMgPSAhb3ZlcnJpZGVBY2Nlc3NcbiAgICAgID8gYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IGlkLCBkYXRhLCByZXEgfSwgY29sbGVjdGlvbkNvbmZpZy5hY2Nlc3MudXBkYXRlKVxuICAgICAgOiB0cnVlXG4gICAgY29uc3QgaGFzV2hlcmVQb2xpY3kgPSBoYXNXaGVyZUFjY2Vzc1Jlc3VsdChhY2Nlc3NSZXN1bHRzKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHJpZXZlIGRvY3VtZW50XG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgZmluZE9uZUFyZ3M6IEZpbmRPbmVBcmdzID0ge1xuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZy5zbHVnLFxuICAgICAgbG9jYWxlLFxuICAgICAgcmVxLFxuICAgICAgd2hlcmU6IGNvbWJpbmVRdWVyaWVzKHsgaWQ6IHsgZXF1YWxzOiBpZCB9IH0sIGFjY2Vzc1Jlc3VsdHMpLFxuICAgIH1cblxuICAgIGNvbnN0IGRvY1dpdGhMb2NhbGVzID0gYXdhaXQgZ2V0TGF0ZXN0Q29sbGVjdGlvblZlcnNpb24oe1xuICAgICAgaWQsXG4gICAgICBjb25maWc6IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBwYXlsb2FkLFxuICAgICAgcXVlcnk6IGZpbmRPbmVBcmdzLFxuICAgICAgcmVxLFxuICAgIH0pXG5cbiAgICBpZiAoIWRvY1dpdGhMb2NhbGVzICYmICFoYXNXaGVyZVBvbGljeSkgdGhyb3cgbmV3IE5vdEZvdW5kKHJlcS50KVxuICAgIGlmICghZG9jV2l0aExvY2FsZXMgJiYgaGFzV2hlcmVQb2xpY3kpIHRocm93IG5ldyBGb3JiaWRkZW4ocmVxLnQpXG5cbiAgICBjb25zdCBvcmlnaW5hbERvYyA9IGF3YWl0IGFmdGVyUmVhZCh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkZXB0aDogMCxcbiAgICAgIGRvYzogZG9jV2l0aExvY2FsZXMsXG4gICAgICBmYWxsYmFja0xvY2FsZTogbnVsbCxcbiAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgIGxvY2FsZSxcbiAgICAgIG92ZXJyaWRlQWNjZXNzOiB0cnVlLFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkczogdHJ1ZSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEdlbmVyYXRlIGRhdGEgZm9yIGFsbCBmaWxlcyBhbmQgc2l6ZXNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCB7IGRhdGE6IG5ld0ZpbGVEYXRhLCBmaWxlczogZmlsZXNUb1VwbG9hZCB9ID0gYXdhaXQgZ2VuZXJhdGVGaWxlRGF0YSh7XG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgY29uZmlnLFxuICAgICAgZGF0YSxcbiAgICAgIG92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMsXG4gICAgICByZXEsXG4gICAgICB0aHJvd09uTWlzc2luZ0ZpbGU6IGZhbHNlLFxuICAgIH0pXG5cbiAgICBkYXRhID0gbmV3RmlsZURhdGFcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBEZWxldGUgYW55IGFzc29jaWF0ZWQgZmlsZXNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBkZWxldGVBc3NvY2lhdGVkRmlsZXMoe1xuICAgICAgY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIGNvbmZpZyxcbiAgICAgIGRvYzogZG9jV2l0aExvY2FsZXMsXG4gICAgICBmaWxlczogZmlsZXNUb1VwbG9hZCxcbiAgICAgIG92ZXJyaWRlRGVsZXRlOiBmYWxzZSxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZVZhbGlkYXRlIC0gRmllbGRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgZGF0YSA9IGF3YWl0IGJlZm9yZVZhbGlkYXRlPERlZXBQYXJ0aWFsPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4+KHtcbiAgICAgIGlkLFxuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGF0YSxcbiAgICAgIGRvYzogb3JpZ2luYWxEb2MsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVWYWxpZGF0ZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmJlZm9yZVZhbGlkYXRlLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgZGF0YSA9XG4gICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgICAgICBvcmlnaW5hbERvYyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCBkYXRhXG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gV3JpdGUgZmlsZXMgdG8gbG9jYWwgc3RvcmFnZVxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmICghY29sbGVjdGlvbkNvbmZpZy51cGxvYWQuZGlzYWJsZUxvY2FsU3RvcmFnZSkge1xuICAgICAgYXdhaXQgdXBsb2FkRmlsZXMocGF5bG9hZCwgZmlsZXNUb1VwbG9hZCwgcmVxKVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVDaGFuZ2UgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5iZWZvcmVDaGFuZ2UucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICBkYXRhID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgICAgIG9yaWdpbmFsRG9jLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSkpIHx8IGRhdGFcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVDaGFuZ2UgLSBGaWVsZHNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBsZXQgcmVzdWx0ID0gYXdhaXQgYmVmb3JlQ2hhbmdlPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4oe1xuICAgICAgaWQsXG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkYXRhLFxuICAgICAgZG9jOiBvcmlnaW5hbERvYyxcbiAgICAgIGRvY1dpdGhMb2NhbGVzLFxuICAgICAgZ2xvYmFsOiBudWxsLFxuICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgIHJlcSxcbiAgICAgIHNraXBWYWxpZGF0aW9uOiBzaG91bGRTYXZlRHJhZnQgfHwgZGF0YS5fc3RhdHVzID09PSAnZHJhZnQnLFxuICAgIH0pXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSGFuZGxlIHBvdGVudGlhbCBwYXNzd29yZCB1cGRhdGVcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCBkYXRhVG9VcGRhdGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0geyAuLi5yZXN1bHQgfVxuXG4gICAgaWYgKHNob3VsZFNhdmVQYXNzd29yZCAmJiB0eXBlb2YgcGFzc3dvcmQgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCB7IGhhc2gsIHNhbHQgfSA9IGF3YWl0IGdlbmVyYXRlUGFzc3dvcmRTYWx0SGFzaCh7IHBhc3N3b3JkIH0pXG4gICAgICBkYXRhVG9VcGRhdGUuc2FsdCA9IHNhbHRcbiAgICAgIGRhdGFUb1VwZGF0ZS5oYXNoID0gaGFzaFxuICAgICAgZGVsZXRlIGRhdGFUb1VwZGF0ZS5wYXNzd29yZFxuICAgICAgZGVsZXRlIGRhdGEucGFzc3dvcmRcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gVXBkYXRlXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKCFzaG91bGRTYXZlRHJhZnQpIHtcbiAgICAgIHJlc3VsdCA9IGF3YWl0IHJlcS5wYXlsb2FkLmRiLnVwZGF0ZU9uZSh7XG4gICAgICAgIGlkLFxuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgIGRhdGE6IGRhdGFUb1VwZGF0ZSxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBDcmVhdGUgdmVyc2lvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLnZlcnNpb25zKSB7XG4gICAgICByZXN1bHQgPSBhd2FpdCBzYXZlVmVyc2lvbih7XG4gICAgICAgIGlkLFxuICAgICAgICBhdXRvc2F2ZSxcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgZG9jV2l0aExvY2FsZXM6IHtcbiAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgY3JlYXRlZEF0OiBkb2NXaXRoTG9jYWxlcy5jcmVhdGVkQXQsXG4gICAgICAgIH0sXG4gICAgICAgIGRyYWZ0OiBzaG91bGRTYXZlRHJhZnQsXG4gICAgICAgIHBheWxvYWQsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyUmVhZCh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkZXB0aCxcbiAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBsb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckNoYW5nZSAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyQ2hhbmdlPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4oe1xuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGF0YSxcbiAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgZ2xvYmFsOiBudWxsLFxuICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgIHByZXZpb3VzRG9jOiBvcmlnaW5hbERvYyxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyQ2hhbmdlIC0gQ29sbGVjdGlvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYWZ0ZXJDaGFuZ2UucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgICAgIHByZXZpb3VzRG9jOiBvcmlnaW5hbERvYyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlck9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSBhd2FpdCBidWlsZEFmdGVyT3BlcmF0aW9uPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4oe1xuICAgICAgYXJncyxcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBvcGVyYXRpb246ICd1cGRhdGVCeUlEJyxcbiAgICAgIHJlc3VsdCxcbiAgICB9KVxuXG4gICAgYXdhaXQgdW5saW5rVGVtcEZpbGVzKHtcbiAgICAgIGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb25maWcsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBSZXR1cm4gcmVzdWx0c1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24oYXJncy5yZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuIl0sIm5hbWVzIjpbInVwZGF0ZUJ5SURPcGVyYXRpb24iLCJpbmNvbWluZ0FyZ3MiLCJhcmdzIiwic2hvdWxkQ29tbWl0IiwiaW5pdFRyYW5zYWN0aW9uIiwicmVxIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImhvb2tzIiwiYmVmb3JlT3BlcmF0aW9uIiwicmVkdWNlIiwicHJpb3JIb29rIiwiaG9vayIsImNvbnRleHQiLCJvcGVyYXRpb24iLCJQcm9taXNlIiwicmVzb2x2ZSIsImlkIiwiYXV0b3NhdmUiLCJjb2xsZWN0aW9uQ29uZmlnIiwiZGVwdGgiLCJkcmFmdCIsImRyYWZ0QXJnIiwib3ZlcnJpZGVBY2Nlc3MiLCJvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzIiwiZmFsbGJhY2tMb2NhbGUiLCJsb2NhbGUiLCJwYXlsb2FkIiwic2hvd0hpZGRlbkZpZWxkcyIsIkFQSUVycm9yIiwiaHR0cFN0YXR1cyIsIkJBRF9SRVFVRVNUIiwiZGF0YSIsInBhc3N3b3JkIiwic2hvdWxkU2F2ZURyYWZ0IiwiQm9vbGVhbiIsInZlcnNpb25zIiwiZHJhZnRzIiwic2hvdWxkU2F2ZVBhc3N3b3JkIiwiYXV0aCIsImFjY2Vzc1Jlc3VsdHMiLCJleGVjdXRlQWNjZXNzIiwiYWNjZXNzIiwidXBkYXRlIiwiaGFzV2hlcmVQb2xpY3kiLCJoYXNXaGVyZUFjY2Vzc1Jlc3VsdCIsImZpbmRPbmVBcmdzIiwic2x1ZyIsIndoZXJlIiwiY29tYmluZVF1ZXJpZXMiLCJlcXVhbHMiLCJkb2NXaXRoTG9jYWxlcyIsImdldExhdGVzdENvbGxlY3Rpb25WZXJzaW9uIiwicXVlcnkiLCJOb3RGb3VuZCIsInQiLCJGb3JiaWRkZW4iLCJvcmlnaW5hbERvYyIsImFmdGVyUmVhZCIsImRvYyIsImdsb2JhbCIsIm5ld0ZpbGVEYXRhIiwiZmlsZXMiLCJmaWxlc1RvVXBsb2FkIiwiZ2VuZXJhdGVGaWxlRGF0YSIsInRocm93T25NaXNzaW5nRmlsZSIsImRlbGV0ZUFzc29jaWF0ZWRGaWxlcyIsIm92ZXJyaWRlRGVsZXRlIiwiYmVmb3JlVmFsaWRhdGUiLCJ1cGxvYWQiLCJkaXNhYmxlTG9jYWxTdG9yYWdlIiwidXBsb2FkRmlsZXMiLCJiZWZvcmVDaGFuZ2UiLCJyZXN1bHQiLCJza2lwVmFsaWRhdGlvbiIsIl9zdGF0dXMiLCJkYXRhVG9VcGRhdGUiLCJoYXNoIiwic2FsdCIsImdlbmVyYXRlUGFzc3dvcmRTYWx0SGFzaCIsImRiIiwidXBkYXRlT25lIiwic2F2ZVZlcnNpb24iLCJjcmVhdGVkQXQiLCJhZnRlckNoYW5nZSIsInByZXZpb3VzRG9jIiwiYnVpbGRBZnRlck9wZXJhdGlvbiIsInVubGlua1RlbXBGaWxlcyIsImNvbW1pdFRyYW5zYWN0aW9uIiwiZXJyb3IiLCJraWxsVHJhbnNhY3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBMkNhQTs7O2VBQUFBOzs7bUVBekNVO3NFQU9HOzBDQUNlO3VCQUNKO2dDQUNOO3dCQUNlOzZC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
298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL3VwZGF0ZUJ5SUQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZWVwUGFydGlhbCB9IGZyb20gJ3RzLWVzc2VudGlhbHMnXG5cbmltcG9ydCBodHRwU3RhdHVzIGZyb20gJ2h0dHAtc3RhdHVzJ1xuXG5pbXBvcnQgdHlwZSB7IEZpbmRPbmVBcmdzIH0gZnJvbSAnLi4vLi4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vaW5kZXgnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBleGVjdXRlQWNjZXNzIGZyb20gJy4uLy4uL2F1dGgvZXhlY3V0ZUFjY2VzcydcbmltcG9ydCB7IGdlbmVyYXRlUGFzc3dvcmRTYWx0SGFzaCB9IGZyb20gJy4uLy4uL2F1dGgvc3RyYXRlZ2llcy9sb2NhbC9nZW5lcmF0ZVBhc3N3b3JkU2FsdEhhc2gnXG5pbXBvcnQgeyBoYXNXaGVyZUFjY2Vzc1Jlc3VsdCB9IGZyb20gJy4uLy4uL2F1dGgvdHlwZXMnXG5pbXBvcnQgeyBjb21iaW5lUXVlcmllcyB9IGZyb20gJy4uLy4uL2RhdGFiYXNlL2NvbWJpbmVRdWVyaWVzJ1xuaW1wb3J0IHsgQVBJRXJyb3IsIEZvcmJpZGRlbiwgTm90Rm91bmQgfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBhZnRlckNoYW5nZSB9IGZyb20gJy4uLy4uL2ZpZWxkcy9ob29rcy9hZnRlckNoYW5nZSdcbmltcG9ydCB7IGFmdGVyUmVhZCB9IGZyb20gJy4uLy4uL2ZpZWxkcy9ob29rcy9hZnRlclJlYWQnXG5pbXBvcnQgeyBiZWZvcmVDaGFuZ2UgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlJ1xuaW1wb3J0IHsgYmVmb3JlVmFsaWRhdGUgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYmVmb3JlVmFsaWRhdGUnXG5pbXBvcnQgeyBkZWxldGVBc3NvY2lhdGVkRmlsZXMgfSBmcm9tICcuLi8uLi91cGxvYWRzL2RlbGV0ZUFzc29jaWF0ZWRGaWxlcydcbmltcG9ydCB7IGdlbmVyYXRlRmlsZURhdGEgfSBmcm9tICcuLi8uLi91cGxvYWRzL2dlbmVyYXRlRmlsZURhdGEnXG5pbXBvcnQgeyB1bmxpbmtUZW1wRmlsZXMgfSBmcm9tICcuLi8uLi91cGxvYWRzL3VubGlua1RlbXBGaWxlcydcbmltcG9ydCB7IHVwbG9hZEZpbGVzIH0gZnJvbSAnLi4vLi4vdXBsb2Fkcy91cGxvYWRGaWxlcydcbmltcG9ydCB7IGNvbW1pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2NvbW1pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9raWxsVHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBnZXRMYXRlc3RDb2xsZWN0aW9uVmVyc2lvbiB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL2dldExhdGVzdENvbGxlY3Rpb25WZXJzaW9uJ1xuaW1wb3J0IHsgc2F2ZVZlcnNpb24gfSBmcm9tICcuLi8uLi92ZXJzaW9ucy9zYXZlVmVyc2lvbidcbmltcG9ydCB7IGJ1aWxkQWZ0ZXJPcGVyYXRpb24gfSBmcm9tICcuL3V0aWxzJ1xuXG5leHBvcnQgdHlwZSBBcmd1bWVudHM8VCBleHRlbmRzIHsgW2ZpZWxkOiBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2xdOiB1bmtub3duIH0+ID0ge1xuICBhdXRvc2F2ZT86IGJvb2xlYW5cbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvblxuICBkYXRhOiBEZWVwUGFydGlhbDxUPlxuICBkZXB0aD86IG51bWJlclxuICBkaXNhYmxlVmVyaWZpY2F0aW9uRW1haWw/OiBib29sZWFuXG4gIGRyYWZ0PzogYm9vbGVhblxuICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzPzogYm9vbGVhblxuICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHNob3dIaWRkZW5GaWVsZHM/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVCeUlET3BlcmF0aW9uID0gYXN5bmMgPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBpbmNvbWluZ0FyZ3M6IEFyZ3VtZW50czxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+LFxuKTogUHJvbWlzZTxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+ID0+IHtcbiAgbGV0IGFyZ3MgPSBpbmNvbWluZ0FyZ3NcblxuICB0cnkge1xuICAgIGNvbnN0IHNob3VsZENvbW1pdCA9IGF3YWl0IGluaXRUcmFuc2FjdGlvbihhcmdzLnJlcSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVPcGVyYXRpb24gLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgYXJncy5jb2xsZWN0aW9uLmNvbmZpZy5ob29rcy5iZWZvcmVPcGVyYXRpb24ucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICBhcmdzID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgY29sbGVjdGlvbjogYXJncy5jb2xsZWN0aW9uLmNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiBhcmdzLnJlcS5jb250ZXh0LFxuICAgICAgICAgIG9wZXJhdGlvbjogJ3VwZGF0ZScsXG4gICAgICAgICAgcmVxOiBhcmdzLnJlcSxcbiAgICAgICAgfSkpIHx8IGFyZ3NcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIGNvbnN0IHtcbiAgICAgIGlkLFxuICAgICAgYXV0b3NhdmUgPSBmYWxzZSxcbiAgICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgZGVwdGgsXG4gICAgICBkcmFmdDogZHJhZnRBcmcgPSBmYWxzZSxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyA9IGZhbHNlLFxuICAgICAgcmVxOiB7XG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHBheWxvYWQ6IHsgY29uZmlnIH0sXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9LFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICB9ID0gYXJnc1xuXG4gICAgaWYgKCFpZCkge1xuICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKCdNaXNzaW5nIElEIG9mIGRvY3VtZW50IHRvIHVwZGF0ZS4nLCBodHRwU3RhdHVzLkJBRF9SRVFVRVNUKVxuICAgIH1cblxuICAgIGxldCB7IGRhdGEgfSA9IGFyZ3NcbiAgICBjb25zdCBwYXNzd29yZCA9IGRhdGE/LnBhc3N3b3JkXG4gICAgY29uc3Qgc2hvdWxkU2F2ZURyYWZ0ID0gQm9vbGVhbihkcmFmdEFyZyAmJiBjb2xsZWN0aW9uQ29uZmlnLnZlcnNpb25zLmRyYWZ0cylcbiAgICBjb25zdCBzaG91bGRTYXZlUGFzc3dvcmQgPSBCb29sZWFuKHBhc3N3b3JkICYmIGNvbGxlY3Rpb25Db25maWcuYXV0aCAmJiAhc2hvdWxkU2F2ZURyYWZ0KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEFjY2Vzc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IGFjY2Vzc1Jlc3VsdHMgPSAhb3ZlcnJpZGVBY2Nlc3NcbiAgICAgID8gYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IGlkLCBkYXRhLCByZXEgfSwgY29sbGVjdGlvbkNvbmZpZy5hY2Nlc3MudXBkYXRlKVxuICAgICAgOiB0cnVlXG4gICAgY29uc3QgaGFzV2hlcmVQb2xpY3kgPSBoYXNXaGVyZUFjY2Vzc1Jlc3VsdChhY2Nlc3NSZXN1bHRzKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHJpZXZlIGRvY3VtZW50XG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgY29uc3QgZmluZE9uZUFyZ3M6IEZpbmRPbmVBcmdzID0ge1xuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZy5zbHVnLFxuICAgICAgbG9jYWxlLFxuICAgICAgcmVxLFxuICAgICAgd2hlcmU6IGNvbWJpbmVRdWVyaWVzKHsgaWQ6IHsgZXF1YWxzOiBpZCB9IH0sIGFjY2Vzc1Jlc3VsdHMpLFxuICAgIH1cblxuICAgIGNvbnN0IGRvY1dpdGhMb2NhbGVzID0gYXdhaXQgZ2V0TGF0ZXN0Q29sbGVjdGlvblZlcnNpb24oe1xuICAgICAgaWQsXG4gICAgICBjb25maWc6IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBwYXlsb2FkLFxuICAgICAgcXVlcnk6IGZpbmRPbmVBcmdzLFxuICAgICAgcmVxLFxuICAgIH0pXG5cbiAgICBpZiAoIWRvY1dpdGhMb2NhbGVzICYmICFoYXNXaGVyZVBvbGljeSkgdGhyb3cgbmV3IE5vdEZvdW5kKHJlcS50KVxuICAgIGlmICghZG9jV2l0aExvY2FsZXMgJiYgaGFzV2hlcmVQb2xpY3kpIHRocm93IG5ldyBGb3JiaWRkZW4ocmVxLnQpXG5cbiAgICBjb25zdCBvcmlnaW5hbERvYyA9IGF3YWl0IGFmdGVyUmVhZCh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkZXB0aDogMCxcbiAgICAgIGRvYzogZG9jV2l0aExvY2FsZXMsXG4gICAgICBmYWxsYmFja0xvY2FsZTogbnVsbCxcbiAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgIGxvY2FsZSxcbiAgICAgIG92ZXJyaWRlQWNjZXNzOiB0cnVlLFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkczogdHJ1ZSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEdlbmVyYXRlIGRhdGEgZm9yIGFsbCBmaWxlcyBhbmQgc2l6ZXNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCB7IGRhdGE6IG5ld0ZpbGVEYXRhLCBmaWxlczogZmlsZXNUb1VwbG9hZCB9ID0gYXdhaXQgZ2VuZXJhdGVGaWxlRGF0YSh7XG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgY29uZmlnLFxuICAgICAgZGF0YSxcbiAgICAgIG92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMsXG4gICAgICByZXEsXG4gICAgICB0aHJvd09uTWlzc2luZ0ZpbGU6IGZhbHNlLFxuICAgIH0pXG5cbiAgICBkYXRhID0gbmV3RmlsZURhdGFcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBEZWxldGUgYW55IGFzc29jaWF0ZWQgZmlsZXNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBkZWxldGVBc3NvY2lhdGVkRmlsZXMoe1xuICAgICAgY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIGNvbmZpZyxcbiAgICAgIGRvYzogZG9jV2l0aExvY2FsZXMsXG4gICAgICBmaWxlczogZmlsZXNUb1VwbG9hZCxcbiAgICAgIG92ZXJyaWRlRGVsZXRlOiBmYWxzZSxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZVZhbGlkYXRlIC0gRmllbGRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgZGF0YSA9IGF3YWl0IGJlZm9yZVZhbGlkYXRlPERlZXBQYXJ0aWFsPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4+KHtcbiAgICAgIGlkLFxuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGF0YSxcbiAgICAgIGRvYzogb3JpZ2luYWxEb2MsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVWYWxpZGF0ZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmJlZm9yZVZhbGlkYXRlLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgZGF0YSA9XG4gICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgICAgICBvcmlnaW5hbERvYyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCBkYXRhXG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gV3JpdGUgZmlsZXMgdG8gbG9jYWwgc3RvcmFnZVxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmICghY29sbGVjdGlvbkNvbmZpZy51cGxvYWQuZGlzYWJsZUxvY2FsU3RvcmFnZSkge1xuICAgICAgYXdhaXQgdXBsb2FkRmlsZXMocGF5bG9hZCwgZmlsZXNUb1VwbG9hZCwgcmVxKVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVDaGFuZ2UgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5iZWZvcmVDaGFuZ2UucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICBkYXRhID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgICAgIG9yaWdpbmFsRG9jLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSkpIHx8IGRhdGFcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVDaGFuZ2UgLSBGaWVsZHNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBsZXQgcmVzdWx0ID0gYXdhaXQgYmVmb3JlQ2hhbmdlPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4oe1xuICAgICAgaWQsXG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkYXRhLFxuICAgICAgZG9jOiBvcmlnaW5hbERvYyxcbiAgICAgIGRvY1dpdGhMb2NhbGVzLFxuICAgICAgZ2xvYmFsOiBudWxsLFxuICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgIHJlcSxcbiAgICAgIHNraXBWYWxpZGF0aW9uOiBzaG91bGRTYXZlRHJhZnQgfHwgZGF0YS5fc3RhdHVzID09PSAnZHJhZnQnLFxuICAgIH0pXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSGFuZGxlIHBvdGVudGlhbCBwYXNzd29yZCB1cGRhdGVcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCBkYXRhVG9VcGRhdGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0geyAuLi5yZXN1bHQgfVxuXG4gICAgaWYgKHNob3VsZFNhdmVQYXNzd29yZCAmJiB0eXBlb2YgcGFzc3dvcmQgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCB7IGhhc2gsIHNhbHQgfSA9IGF3YWl0IGdlbmVyYXRlUGFzc3dvcmRTYWx0SGFzaCh7IHBhc3N3b3JkIH0pXG4gICAgICBkYXRhVG9VcGRhdGUuc2FsdCA9IHNhbHRcbiAgICAgIGRhdGFUb1VwZGF0ZS5oYXNoID0gaGFzaFxuICAgICAgZGVsZXRlIGRhdGFUb1VwZGF0ZS5wYXNzd29yZFxuICAgICAgZGVsZXRlIGRhdGEucGFzc3dvcmRcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gVXBkYXRlXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKCFzaG91bGRTYXZlRHJhZnQpIHtcbiAgICAgIHJlc3VsdCA9IGF3YWl0IHJlcS5wYXlsb2FkLmRiLnVwZGF0ZU9uZSh7XG4gICAgICAgIGlkLFxuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgIGRhdGE6IGRhdGFUb1VwZGF0ZSxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBDcmVhdGUgdmVyc2lvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLnZlcnNpb25zKSB7XG4gICAgICByZXN1bHQgPSBhd2FpdCBzYXZlVmVyc2lvbih7XG4gICAgICAgIGlkLFxuICAgICAgICBhdXRvc2F2ZSxcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgZG9jV2l0aExvY2FsZXM6IHtcbiAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgY3JlYXRlZEF0OiBkb2NXaXRoTG9jYWxlcy5jcmVhdGVkQXQsXG4gICAgICAgIH0sXG4gICAgICAgIGRyYWZ0OiBzaG91bGRTYXZlRHJhZnQsXG4gICAgICAgIHBheWxvYWQsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyUmVhZCh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkZXB0aCxcbiAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBsb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckNoYW5nZSAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyQ2hhbmdlPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4oe1xuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGF0YSxcbiAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgZ2xvYmFsOiBudWxsLFxuICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgIHByZXZpb3VzRG9jOiBvcmlnaW5hbERvYyxcbiAgICAgIHJlcSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyQ2hhbmdlIC0gQ29sbGVjdGlvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYWZ0ZXJDaGFuZ2UucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICBvcGVyYXRpb246ICd1cGRhdGUnLFxuICAgICAgICAgIHByZXZpb3VzRG9jOiBvcmlnaW5hbERvYyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlck9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSBhd2FpdCBidWlsZEFmdGVyT3BlcmF0aW9uPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4oe1xuICAgICAgYXJncyxcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBvcGVyYXRpb246ICd1cGRhdGVCeUlEJyxcbiAgICAgIHJlc3VsdCxcbiAgICB9KVxuXG4gICAgYXdhaXQgdW5saW5rVGVtcEZpbGVzKHtcbiAgICAgIGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb25maWcsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBSZXR1cm4gcmVzdWx0c1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24oYXJncy5yZXEpXG4gICAgdGhyb3cgZXJyb3JcbiAgfVxufVxuIl0sIm5hbWVzIjpbImh0dHBTdGF0dXMiLCJleGVjdXRlQWNjZXNzIiwiZ2VuZXJhdGVQYXNzd29yZFNhbHRIYXNoIiwiaGFzV2hlcmVBY2Nlc3NSZXN1bHQiLCJjb21iaW5lUXVlcmllcyIsIkFQSUVycm9yIiwiRm9yYmlkZGVuIiwiTm90Rm91bmQiLCJhZnRlckNoYW5nZSIsImFmdGVyUmVhZCIsImJlZm9yZUNoYW5nZSIsImJlZm9yZVZhbGlkYXRlIiwiZGVsZXRlQXNzb2NpYXRlZEZpbGVzIiwiZ2VuZXJhdGVGaWxlRGF0YSIsInVubGlua1RlbXBGaWxlcyIsInVwbG9hZEZpbGVzIiwiY29tbWl0VHJhbnNhY3Rpb24iLCJpbml0VHJhbnNhY3Rpb24iLCJraWxsVHJhbnNhY3Rpb24iLCJnZXRMYXRlc3RDb2xsZWN0aW9uVmVyc2lvbiIsInNhdmVWZXJzaW9uIiwiYnVpbGRBZnRlck9wZXJhdGlvbiIsInVwZGF0ZUJ5SURPcGVyYXRpb24iLCJpbmNvbWluZ0FyZ3MiLCJhcmdzIiwic2hvdWxkQ29tbWl0IiwicmVxIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImhvb2tzIiwiYmVmb3JlT3BlcmF0aW9uIiwicmVkdWNlIiwicHJpb3JIb29rIiwiaG9vayIsImNvbnRleHQiLCJvcGVyYXRpb24iLCJQcm9taXNlIiwicmVzb2x2ZSIsImlkIiwiYXV0b3NhdmUiLCJjb2xsZWN0aW9uQ29uZmlnIiwiZGVwdGgiLCJkcmFmdCIsImRyYWZ0QXJnIiwib3ZlcnJpZGVBY2Nlc3MiLCJvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzIiwiZmFsbGJhY2tMb2NhbGUiLCJsb2NhbGUiLCJwYXlsb2FkIiwic2hvd0hpZGRlbkZpZWxkcyIsIkJBRF9SRVFVRVNUIiwiZGF0YSIsInBhc3N3b3JkIiwic2hvdWxkU2F2ZURyYWZ0IiwiQm9vbGVhbiIsInZlcnNpb25zIiwiZHJhZnRzIiwic2hvdWxkU2F2ZVBhc3N3b3JkIiwiYXV0aCIsImFjY2Vzc1Jlc3VsdHMiLCJhY2Nlc3MiLCJ1cGRhdGUiLCJoYXNXaGVyZVBvbGljeSIsImZpbmRPbmVBcmdzIiwic2x1ZyIsIndoZXJlIiwiZXF1YWxzIiwiZG9jV2l0aExvY2FsZXMiLCJxdWVyeSIsInQiLCJvcmlnaW5hbERvYyIsImRvYyIsImdsb2JhbCIsIm5ld0ZpbGVEYXRhIiwiZmlsZXMiLCJmaWxlc1RvVXBsb2FkIiwidGhyb3dPbk1pc3NpbmdGaWxlIiwib3ZlcnJpZGVEZWxldGUiLCJ1cGxvYWQiLCJkaXNhYmxlTG9jYWxTdG9yYWdlIiwicmVzdWx0Iiwic2tpcFZhbGlkYXRpb24iLCJfc3RhdHVzIiwiZGF0YVRvVXBkYXRlIiwiaGFzaCIsInNhbHQiLCJkYiIsInVwZGF0ZU9uZSIsImNyZWF0ZWRBdCIsInByZXZpb3VzRG9jIiwiZXJyb3IiXSwibWFwcGluZ3MiOiJBQUVBLE9BQU9BLGdCQUFnQixjQUFhO0FBT3BDLE9BQU9DLG1CQUFtQiwyQkFBMEI7QUFDcEQsU0FBU0Msd0JBQXdCLFFBQVEsdURBQXNEO0FBQy9GLFNBQVNDLG9CQUFvQixRQUFRLG1CQUFrQjtBQUN2RCxTQUFTQyxjQUFjLFFBQVEsZ0NBQStCO0FBQzlELFNBQVNDLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxRQUFRLFFBQVEsZUFBYztBQUM1RCxTQUFTQyxXQUFXLFFBQVEsaUNBQWdDO0FBQzVELFNBQVNDLFNBQVMsUUFBUSwrQkFBOEI7QUFDeEQsU0FBU0MsWUFBWSxRQUFRLGtDQUFpQztBQUM5RCxTQUFTQyxjQUFjLFFBQVEsb0NBQW1DO0FBQ2xFLFNBQVNDLHFCQUFxQixRQUFRLHNDQUFxQztBQUMzRSxTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBZ0M7QUFDakUsU0FBU0MsZUFBZSxRQUFRLGdDQUErQjtBQUMvRCxTQUFTQyxXQUFXLFFBQVEsNEJBQTJCO0FBQ3ZELFNBQVNDLGlCQUFpQixRQUFRLG9DQUFtQztBQUNyRSxTQUFTQyxlQUFlLFFBQVEsa0NBQWlDO0FBQ2pFLFNBQVNDLGVBQWUsUUFBUSxrQ0FBaUM7QUFDakUsU0FBU0MsMEJBQTBCLFFBQVEsNENBQTJDO0FBQ3RGLFNBQVNDLFdBQVcsUUFBUSw2QkFBNEI7QUFDeEQsU0FBU0MsbUJBQW1CLFFBQVEsVUFBUztBQWdCN0MsT0FBTyxNQUFNQyxzQkFBc0IsT0FDakNDO0lBRUEsSUFBSUMsT0FBT0Q7SUFFWCxJQUFJO1FBQ0YsTUFBTUUsZUFBZSxNQUFNUixnQkFBZ0JPLEtBQUtFLEdBQUc7UUFFbkQsd0NBQXdDO1FBQ3hDLCtCQUErQjtRQUMvQix3Q0FBd0M7UUFFeEMsTUFBTUYsS0FBS0csVUFBVSxDQUFDQyxNQUFNLENBQUNDLEtBQUssQ0FBQ0MsZUFBZSxDQUFDQyxNQUFNLENBQUMsT0FBT0MsV0FBV0M7WUFDMUUsTUFBTUQ7WUFFTlIsT0FDRSxBQUFDLE1BQU1TLEtBQUs7Z0JBQ1ZUO2dCQUNBRyxZQUFZSCxLQUFLRyxVQUFVLENBQUNDLE1BQU07Z0JBQ2xDTSxTQUFTVixLQUFLRSxHQUFHLENBQUNRLE9BQU87Z0JBQ3pCQyxXQUFXO2dCQUNYVCxLQUFLRixLQUFLRSxHQUFHO1lBQ2YsTUFBT0Y7UUFDWCxHQUFHWSxRQUFRQyxPQUFPO1FBRWxCLE1BQU0sRUFDSkMsRUFBRSxFQUNGQyxXQUFXLEtBQUssRUFDaEJaLFlBQVksRUFBRUMsUUFBUVksZ0JBQWdCLEVBQUUsRUFDeENiLFVBQVUsRUFDVmMsS0FBSyxFQUNMQyxPQUFPQyxXQUFXLEtBQUssRUFDdkJDLGNBQWMsRUFDZEMseUJBQXlCLEtBQUssRUFDOUJuQixLQUFLLEVBQ0hvQixjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsU0FBUyxFQUFFcEIsTUFBTSxFQUFFLEVBQ25Cb0IsT0FBTyxFQUNSLEVBQ0R0QixHQUFHLEVBQ0h1QixnQkFBZ0IsRUFDakIsR0FBR3pCO1FBRUosSUFBSSxDQUFDYyxJQUFJO1lBQ1AsTUFBTSxJQUFJakMsU0FBUyxxQ0FBcUNMLFdBQVdrRCxXQUFXO1FBQ2hGO1FBRUEsSUFBSSxFQUFFQyxJQUFJLEVBQUUsR0FBRzNCO1FBQ2YsTUFBTTRCLFdBQVdELE1BQU1DO1FBQ3ZCLE1BQU1DLGtCQUFrQkMsUUFBUVgsWUFBWUgsaUJBQWlCZSxRQUFRLENBQUNDLE1BQU07UUFDNUUsTUFBTUMscUJBQXFCSCxRQUFRRixZQUFZWixpQkFBaUJrQixJQUFJLElBQUksQ0FBQ0w7UUFFekUsd0NBQXdDO1FBQ3hDLFNBQVM7UUFDVCx3Q0FBd0M7UUFFeEMsTUFBTU0sZ0JBQWdCLENBQUNmLGlCQUNuQixNQUFNM0MsY0FBYztZQUFFcUM7WUFBSWE7WUFBTXpCO1FBQUksR0FBR2MsaUJBQWlCb0IsTUFBTSxDQUFDQyxNQUFNLElBQ3JFO1FBQ0osTUFBTUMsaUJBQWlCM0QscUJBQXFCd0Q7UUFFNUMsd0NBQXdDO1FBQ3hDLG9CQUFvQjtRQUNwQix3Q0FBd0M7UUFFeEMsTUFBTUksY0FBMkI7WUFDL0JwQyxZQUFZYSxpQkFBaUJ3QixJQUFJO1lBQ2pDakI7WUFDQXJCO1lBQ0F1QyxPQUFPN0QsZUFBZTtnQkFBRWtDLElBQUk7b0JBQUU0QixRQUFRNUI7Z0JBQUc7WUFBRSxHQUFHcUI7UUFDaEQ7UUFFQSxNQUFNUSxpQkFBaUIsTUFBTWhELDJCQUEyQjtZQUN0RG1CO1lBQ0FWLFFBQVFZO1lBQ1JRO1lBQ0FvQixPQUFPTDtZQUNQckM7UUFDRjtRQUVBLElBQUksQ0FBQ3lDLGtCQUFrQixDQUFDTCxnQkFBZ0IsTUFBTSxJQUFJdkQsU0FBU21CLElBQUkyQyxDQUFDO1FBQ2hFLElBQUksQ0FBQ0Ysa0JBQWtCTCxnQkFBZ0IsTUFBTSxJQUFJeEQsVUFBVW9CLElBQUkyQyxDQUFDO1FBRWhFLE1BQU1DLGNBQWMsTUFBTTdELFVBQVU7WUFDbENrQixZQUFZYTtZQUNaTixTQUFTUixJQUFJUSxPQUFPO1lBQ3BCTyxPQUFPO1lBQ1A4QixLQUFLSjtZQUNMckIsZ0JBQWdCO1lBQ2hCMEIsUUFBUTtZQUNSekI7WUFDQUgsZ0JBQWdCO1lBQ2hCbEI7WUFDQXVCLGtCQUFrQjtRQUNwQjtRQUVBLHdDQUF3QztRQUN4Qyx3Q0FBd0M7UUFDeEMsd0NBQXdDO1FBRXhDLE1BQU0sRUFBRUUsTUFBTXNCLFdBQVcsRUFBRUMsT0FBT0MsYUFBYSxFQUFFLEdBQUcsTUFBTTlELGlCQUFpQjtZQUN6RWM7WUFDQUM7WUFDQXVCO1lBQ0FOO1lBQ0FuQjtZQUNBa0Qsb0JBQW9CO1FBQ3RCO1FBRUF6QixPQUFPc0I7UUFFUCx3Q0FBd0M7UUFDeEMsOEJBQThCO1FBQzlCLHdDQUF3QztRQUV4QyxNQUFNN0Qsc0JBQXNCO1lBQzFCNEI7WUFDQVo7WUFDQTJDLEtBQUtKO1lBQ0xPLE9BQU9DO1lBQ1BFLGdCQUFnQjtZQUNoQm5EO1FBQ0Y7UUFFQSx3Q0FBd0M7UUFDeEMsMEJBQTBCO1FBQzFCLHdDQUF3QztRQUV4Q3lCLE9BQU8sTUFBTXhDLGVBQWtFO1lBQzdFMkI7WUFDQVgsWUFBWWE7WUFDWk4sU0FBU1IsSUFBSVEsT0FBTztZQUNwQmlCO1lBQ0FvQixLQUFLRDtZQUNMRSxRQUFRO1lBQ1JyQyxXQUFXO1lBQ1hTO1lBQ0FsQjtRQUNGO1FBRUEsd0NBQXdDO1FBQ3hDLDhCQUE4QjtRQUM5Qix3Q0FBd0M7UUFFeEMsTUFBTWMsaUJBQWlCWCxLQUFLLENBQUNsQixjQUFjLENBQUNvQixNQUFNLENBQUMsT0FBT0MsV0FBV0M7WUFDbkUsTUFBTUQ7WUFFTm1CLE9BQ0UsQUFBQyxNQUFNbEIsS0FBSztnQkFDVk4sWUFBWWE7Z0JBQ1pOLFNBQVNSLElBQUlRLE9BQU87Z0JBQ3BCaUI7Z0JBQ0FoQixXQUFXO2dCQUNYbUM7Z0JBQ0E1QztZQUNGLE1BQU95QjtRQUNYLEdBQUdmLFFBQVFDLE9BQU87UUFFbEIsd0NBQXdDO1FBQ3hDLCtCQUErQjtRQUMvQix3Q0FBd0M7UUFFeEMsSUFBSSxDQUFDRyxpQkFBaUJzQyxNQUFNLENBQUNDLG1CQUFtQixFQUFFO1lBQ2hELE1BQU1oRSxZQUFZaUMsU0FBUzJCLGVBQWVqRDtRQUM1QztRQUVBLHdDQUF3QztRQUN4Qyw0QkFBNEI7UUFDNUIsd0NBQXdDO1FBRXhDLE1BQU1jLGlCQUFpQlgsS0FBSyxDQUFDbkIsWUFBWSxDQUFDcUIsTUFBTSxDQUFDLE9BQU9DLFdBQVdDO1lBQ2pFLE1BQU1EO1lBRU5tQixPQUNFLEFBQUMsTUFBTWxCLEtBQUs7Z0JBQ1ZOLFlBQVlhO2dCQUNaTixTQUFTUixJQUFJUSxPQUFPO2dCQUNwQmlCO2dCQUNBaEIsV0FBVztnQkFDWG1DO2dCQUNBNUM7WUFDRixNQUFPeUI7UUFDWCxHQUFHZixRQUFRQyxPQUFPO1FBRWxCLHdDQUF3QztRQUN4Qyx3QkFBd0I7UUFDeEIsd0NBQXdDO1FBRXhDLElBQUkyQyxTQUFTLE1BQU10RSxhQUFtRDtZQUNwRTRCO1lBQ0FYLFlBQVlhO1lBQ1pOLFNBQVNSLElBQUlRLE9BQU87WUFDcEJpQjtZQUNBb0IsS0FBS0Q7WUFDTEg7WUFDQUssUUFBUTtZQUNSckMsV0FBVztZQUNYVDtZQUNBdUQsZ0JBQWdCNUIsbUJBQW1CRixLQUFLK0IsT0FBTyxLQUFLO1FBQ3REO1FBRUEsd0NBQXdDO1FBQ3hDLG1DQUFtQztRQUNuQyx3Q0FBd0M7UUFFeEMsTUFBTUMsZUFBd0M7WUFBRSxHQUFHSCxNQUFNO1FBQUM7UUFFMUQsSUFBSXZCLHNCQUFzQixPQUFPTCxhQUFhLFVBQVU7WUFDdEQsTUFBTSxFQUFFZ0MsSUFBSSxFQUFFQyxJQUFJLEVBQUUsR0FBRyxNQUFNbkYseUJBQXlCO2dCQUFFa0Q7WUFBUztZQUNqRStCLGFBQWFFLElBQUksR0FBR0E7WUFDcEJGLGFBQWFDLElBQUksR0FBR0E7WUFDcEIsT0FBT0QsYUFBYS9CLFFBQVE7WUFDNUIsT0FBT0QsS0FBS0MsUUFBUTtRQUN0QjtRQUVBLHdDQUF3QztRQUN4QyxTQUFTO1FBQ1Qsd0NBQXdDO1FBRXhDLElBQUksQ0FBQ0MsaUJBQWlCO1lBQ3BCMkIsU0FBUyxNQUFNdEQsSUFBSXNCLE9BQU8sQ0FBQ3NDLEVBQUUsQ0FBQ0MsU0FBUyxDQUFDO2dCQUN0Q2pEO2dCQUNBWCxZQUFZYSxpQkFBaUJ3QixJQUFJO2dCQUNqQ2IsTUFBTWdDO2dCQUNOcEM7Z0JBQ0FyQjtZQUNGO1FBQ0Y7UUFFQSx3Q0FBd0M7UUFDeEMsaUJBQWlCO1FBQ2pCLHdDQUF3QztRQUV4QyxJQUFJYyxpQkFBaUJlLFFBQVEsRUFBRTtZQUM3QnlCLFNBQVMsTUFBTTVELFlBQVk7Z0JBQ3pCa0I7Z0JBQ0FDO2dCQUNBWixZQUFZYTtnQkFDWjJCLGdCQUFnQjtvQkFDZCxHQUFHYSxNQUFNO29CQUNUUSxXQUFXckIsZUFBZXFCLFNBQVM7Z0JBQ3JDO2dCQUNBOUMsT0FBT1c7Z0JBQ1BMO2dCQUNBdEI7WUFDRjtRQUNGO1FBRUEsd0NBQXdDO1FBQ3hDLHFCQUFxQjtRQUNyQix3Q0FBd0M7UUFFeENzRCxTQUFTLE1BQU12RSxVQUFVO1lBQ3ZCa0IsWUFBWWE7WUFDWk4sU0FBU1IsSUFBSVEsT0FBTztZQUNwQk87WUFDQThCLEtBQUtTO1lBQ0xsQztZQUNBMEIsUUFBUTtZQUNSekI7WUFDQUg7WUFDQWxCO1lBQ0F1QjtRQUNGO1FBRUEsd0NBQXdDO1FBQ3hDLHlCQUF5QjtRQUN6Qix3Q0FBd0M7UUFFeEMsTUFBTVQsaUJBQWlCWCxLQUFLLENBQUNwQixTQUFTLENBQUNzQixNQUFNLENBQUMsT0FBT0MsV0FBV0M7WUFDOUQsTUFBTUQ7WUFFTmdELFNBQ0UsQUFBQyxNQUFNL0MsS0FBSztnQkFDVk4sWUFBWWE7Z0JBQ1pOLFNBQVNSLElBQUlRLE9BQU87Z0JBQ3BCcUMsS0FBS1M7Z0JBQ0x0RDtZQUNGLE1BQU9zRDtRQUNYLEdBQUc1QyxRQUFRQyxPQUFPO1FBRWxCLHdDQUF3QztRQUN4Qyx1QkFBdUI7UUFDdkIsd0NBQXdDO1FBRXhDMkMsU0FBUyxNQUFNeEUsWUFBa0Q7WUFDL0RtQixZQUFZYTtZQUNaTixTQUFTUixJQUFJUSxPQUFPO1lBQ3BCaUI7WUFDQW9CLEtBQUtTO1lBQ0xSLFFBQVE7WUFDUnJDLFdBQVc7WUFDWHNELGFBQWFuQjtZQUNiNUM7UUFDRjtRQUVBLHdDQUF3QztRQUN4QywyQkFBMkI7UUFDM0Isd0NBQXdDO1FBRXhDLE1BQU1jLGlCQUFpQlgsS0FBSyxDQUFDckIsV0FBVyxDQUFDdUIsTUFBTSxDQUFDLE9BQU9DLFdBQVdDO1lBQ2hFLE1BQU1EO1lBRU5nRCxTQUNFLEFBQUMsTUFBTS9DLEtBQUs7Z0JBQ1ZOLFlBQVlhO2dCQUNaTixTQUFTUixJQUFJUSxPQUFPO2dCQUNwQnFDLEtBQUtTO2dCQUNMN0MsV0FBVztnQkFDWHNELGFBQWFuQjtnQkFDYjVDO1lBQ0YsTUFBT3NEO1FBQ1gsR0FBRzVDLFFBQVFDLE9BQU87UUFFbEIsd0NBQXdDO1FBQ3hDLDhCQUE4QjtRQUM5Qix3Q0FBd0M7UUFFeEMyQyxTQUFTLE1BQU0zRCxvQkFBMEQ7WUFDdkVHO1lBQ0FHLFlBQVlhO1lBQ1pMLFdBQVc7WUFDWDZDO1FBQ0Y7UUFFQSxNQUFNbEUsZ0JBQWdCO1lBQ3BCMEI7WUFDQVo7WUFDQUY7UUFDRjtRQUVBLHdDQUF3QztRQUN4QyxpQkFBaUI7UUFDakIsd0NBQXdDO1FBRXhDLElBQUlELGNBQWMsTUFBTVQsa0JBQWtCVTtRQUUxQyxPQUFPc0Q7SUFDVCxFQUFFLE9BQU9VLE9BQWdCO1FBQ3ZCLE1BQU14RSxnQkFBZ0JNLEtBQUtFLEdBQUc7UUFDOUIsTUFBTWdFO0lBQ1I7QUFDRixFQUFDIn0=
@@ -1,14 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "buildAfterOperation", {
6
- enumerable: true,
7
- get: function() {
8
- return buildAfterOperation;
9
- }
10
- });
11
- const buildAfterOperation = async (operationArgs)=>{
1
+ // export type AfterOperationHook = typeof buildAfterOperation;
2
+ export const buildAfterOperation = async (operationArgs)=>{
12
3
  const { args, collection, operation, result } = operationArgs;
13
4
  let newResult = result;
14
5
  await args.collection.config.hooks.afterOperation.reduce(async (priorHook, hook)=>{
@@ -27,4 +18,4 @@ const buildAfterOperation = async (operationArgs)=>{
27
18
  return newResult;
28
19
  };
29
20
 
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgZm9yZ290UGFzc3dvcmRPcGVyYXRpb24gfSBmcm9tICcuLi8uLi9hdXRoL29wZXJhdGlvbnMvZm9yZ290UGFzc3dvcmQnXG5pbXBvcnQgdHlwZSB7IGxvZ2luT3BlcmF0aW9uIH0gZnJvbSAnLi4vLi4vYXV0aC9vcGVyYXRpb25zL2xvZ2luJ1xuaW1wb3J0IHR5cGUgeyByZWZyZXNoT3BlcmF0aW9uIH0gZnJvbSAnLi4vLi4vYXV0aC9vcGVyYXRpb25zL3JlZnJlc2gnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZXhwb3J0cy90eXBlcydcbmltcG9ydCB0eXBlIHsgQWZ0ZXJPcGVyYXRpb25Ib29rLCBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLCBUeXBlV2l0aElEIH0gZnJvbSAnLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBjcmVhdGVPcGVyYXRpb24gfSBmcm9tICcuL2NyZWF0ZSdcbmltcG9ydCB0eXBlIHsgZGVsZXRlT3BlcmF0aW9uIH0gZnJvbSAnLi9kZWxldGUnXG5pbXBvcnQgdHlwZSB7IGRlbGV0ZUJ5SURPcGVyYXRpb24gfSBmcm9tICcuL2RlbGV0ZUJ5SUQnXG5pbXBvcnQgdHlwZSB7IGZpbmRPcGVyYXRpb24gfSBmcm9tICcuL2ZpbmQnXG5pbXBvcnQgdHlwZSB7IGZpbmRCeUlET3BlcmF0aW9uIH0gZnJvbSAnLi9maW5kQnlJRCdcbmltcG9ydCB0eXBlIHsgdXBkYXRlT3BlcmF0aW9uIH0gZnJvbSAnLi91cGRhdGUnXG5pbXBvcnQgdHlwZSB7IHVwZGF0ZUJ5SURPcGVyYXRpb24gfSBmcm9tICcuL3VwZGF0ZUJ5SUQnXG5cbmV4cG9ydCB0eXBlIEFmdGVyT3BlcmF0aW9uTWFwPFQgZXh0ZW5kcyBUeXBlV2l0aElEPiA9IHtcbiAgY3JlYXRlOiB0eXBlb2YgY3JlYXRlT3BlcmF0aW9uIC8vIHRvZG86IHBhc3MgY29ycmVjdCBnZW5lcmljXG4gIGRlbGV0ZTogdHlwZW9mIGRlbGV0ZU9wZXJhdGlvbiAvLyB0b2RvOiBwYXNzIGNvcnJlY3QgZ2VuZXJpY1xuICBkZWxldGVCeUlEOiB0eXBlb2YgZGVsZXRlQnlJRE9wZXJhdGlvbiAvLyB0b2RvOiBwYXNzIGNvcnJlY3QgZ2VuZXJpY1xuICBmaW5kOiB0eXBlb2YgZmluZE9wZXJhdGlvbjxUPlxuICBmaW5kQnlJRDogdHlwZW9mIGZpbmRCeUlET3BlcmF0aW9uPFQ+XG4gIGZvcmdvdFBhc3N3b3JkOiB0eXBlb2YgZm9yZ290UGFzc3dvcmRPcGVyYXRpb25cbiAgbG9naW46IHR5cGVvZiBsb2dpbk9wZXJhdGlvblxuICByZWZyZXNoOiB0eXBlb2YgcmVmcmVzaE9wZXJhdGlvblxuICB1cGRhdGU6IHR5cGVvZiB1cGRhdGVPcGVyYXRpb24gLy8gdG9kbzogcGFzcyBjb3JyZWN0IGdlbmVyaWNcbiAgdXBkYXRlQnlJRDogdHlwZW9mIHVwZGF0ZUJ5SURPcGVyYXRpb24gLy8gdG9kbzogcGFzcyBjb3JyZWN0IGdlbmVyaWNcbn1cbmV4cG9ydCB0eXBlIEFmdGVyT3BlcmF0aW9uQXJnPFQgZXh0ZW5kcyBUeXBlV2l0aElEPiA9IHtcbiAgLyoqIFRoZSBjb2xsZWN0aW9uIHdoaWNoIHRoaXMgaG9vayBpcyBiZWluZyBydW4gb24gKi9cbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59ICYgKFxuICB8IHtcbiAgICAgIGFyZ3M6IFBhcmFtZXRlcnM8QWZ0ZXJPcGVyYXRpb25NYXA8VD5bJ2NyZWF0ZSddPlswXVxuICAgICAgb3BlcmF0aW9uOiAnY3JlYXRlJ1xuICAgICAgcmVzdWx0OiBBd2FpdGVkPFJldHVyblR5cGU8QWZ0ZXJPcGVyYXRpb25NYXA8VD5bJ2NyZWF0ZSddPj5cbiAgICB9XG4gIHwge1xuICAgICAgYXJnczogUGFyYW1ldGVyczxBZnRlck9wZXJhdGlvbk1hcDxUPlsnZGVsZXRlJ10+WzBdXG4gICAgICBvcGVyYXRpb246ICdkZWxldGUnXG4gICAgICByZXN1bHQ6IEF3YWl0ZWQ8UmV0dXJuVHlwZTxBZnRlck9wZXJhdGlvbk1hcDxUPlsnZGVsZXRlJ10+PlxuICAgIH1cbiAgfCB7XG4gICAgICBhcmdzOiBQYXJhbWV0ZXJzPEFmdGVyT3BlcmF0aW9uTWFwPFQ+WydkZWxldGVCeUlEJ10+WzBdXG4gICAgICBvcGVyYXRpb246ICdkZWxldGVCeUlEJ1xuICAgICAgcmVzdWx0OiBBd2FpdGVkPFJldHVyblR5cGU8QWZ0ZXJPcGVyYXRpb25NYXA8VD5bJ2RlbGV0ZUJ5SUQnXT4+XG4gICAgfVxuICB8IHtcbiAgICAgIGFyZ3M6IFBhcmFtZXRlcnM8QWZ0ZXJPcGVyYXRpb25NYXA8VD5bJ2ZpbmQnXT5bMF1cbiAgICAgIG9wZXJhdGlvbjogJ2ZpbmQnXG4gICAgICByZXN1bHQ6IEF3YWl0ZWQ8UmV0dXJuVHlwZTxBZnRlck9wZXJhdGlvbk1hcDxUPlsnZmluZCddPj5cbiAgICB9XG4gIHwge1xuICAgICAgYXJnczogUGFyYW1ldGVyczxBZnRlck9wZXJhdGlvbk1hcDxUPlsnZmluZEJ5SUQnXT5bMF1cbiAgICAgIG9wZXJhdGlvbjogJ2ZpbmRCeUlEJ1xuICAgICAgcmVzdWx0OiBBd2FpdGVkPFJldHVyblR5cGU8QWZ0ZXJPcGVyYXRpb25NYXA8VD5bJ2ZpbmRCeUlEJ10+PlxuICAgIH1cbiAgfCB7XG4gICAgICBhcmdzOiBQYXJhbWV0ZXJzPEFmdGVyT3BlcmF0aW9uTWFwPFQ+Wydmb3Jnb3RQYXNzd29yZCddPlswXVxuICAgICAgb3BlcmF0aW9uOiAnZm9yZ290UGFzc3dvcmQnXG4gICAgICByZXN1bHQ6IEF3YWl0ZWQ8UmV0dXJuVHlwZTxBZnRlck9wZXJhdGlvbk1hcDxUPlsnZm9yZ290UGFzc3dvcmQnXT4+XG4gICAgfVxuICB8IHtcbiAgICAgIGFyZ3M6IFBhcmFtZXRlcnM8QWZ0ZXJPcGVyYXRpb25NYXA8VD5bJ2xvZ2luJ10+WzBdXG4gICAgICBvcGVyYXRpb246ICdsb2dpbidcbiAgICAgIHJlc3VsdDogQXdhaXRlZDxSZXR1cm5UeXBlPEFmdGVyT3BlcmF0aW9uTWFwPFQ+Wydsb2dpbiddPj5cbiAgICB9XG4gIHwge1xuICAgICAgYXJnczogUGFyYW1ldGVyczxBZnRlck9wZXJhdGlvbk1hcDxUPlsncmVmcmVzaCddPlswXVxuICAgICAgb3BlcmF0aW9uOiAncmVmcmVzaCdcbiAgICAgIHJlc3VsdDogQXdhaXRlZDxSZXR1cm5UeXBlPEFmdGVyT3BlcmF0aW9uTWFwPFQ+WydyZWZyZXNoJ10+PlxuICAgIH1cbiAgfCB7XG4gICAgICBhcmdzOiBQYXJhbWV0ZXJzPEFmdGVyT3BlcmF0aW9uTWFwPFQ+Wyd1cGRhdGUnXT5bMF1cbiAgICAgIG9wZXJhdGlvbjogJ3VwZGF0ZSdcbiAgICAgIHJlc3VsdDogQXdhaXRlZDxSZXR1cm5UeXBlPEFmdGVyT3BlcmF0aW9uTWFwPFQ+Wyd1cGRhdGUnXT4+XG4gICAgfVxuICB8IHtcbiAgICAgIGFyZ3M6IFBhcmFtZXRlcnM8QWZ0ZXJPcGVyYXRpb25NYXA8VD5bJ3VwZGF0ZUJ5SUQnXT5bMF1cbiAgICAgIG9wZXJhdGlvbjogJ3VwZGF0ZUJ5SUQnXG4gICAgICByZXN1bHQ6IEF3YWl0ZWQ8UmV0dXJuVHlwZTxBZnRlck9wZXJhdGlvbk1hcDxUPlsndXBkYXRlQnlJRCddPj5cbiAgICB9XG4pXG5cbi8vIGV4cG9ydCB0eXBlIEFmdGVyT3BlcmF0aW9uSG9vayA9IHR5cGVvZiBidWlsZEFmdGVyT3BlcmF0aW9uO1xuXG5leHBvcnQgY29uc3QgYnVpbGRBZnRlck9wZXJhdGlvbiA9IGFzeW5jIDxcbiAgVCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksXG4gIE8gZXh0ZW5kcyBrZXlvZiBBZnRlck9wZXJhdGlvbk1hcDxUPiA9IGtleW9mIEFmdGVyT3BlcmF0aW9uTWFwPFQ+LFxuPihcbiAgb3BlcmF0aW9uQXJnczogT21pdDxBZnRlck9wZXJhdGlvbkFyZzxUPiwgJ3JlcSc+ICYgeyBvcGVyYXRpb246IE8gfSxcbik6IFByb21pc2U8QXdhaXRlZDxSZXR1cm5UeXBlPEFmdGVyT3BlcmF0aW9uTWFwPFQ+W09dPj4+ID0+IHtcbiAgY29uc3QgeyBhcmdzLCBjb2xsZWN0aW9uLCBvcGVyYXRpb24sIHJlc3VsdCB9ID0gb3BlcmF0aW9uQXJnc1xuXG4gIGxldCBuZXdSZXN1bHQgPSByZXN1bHRcblxuICBhd2FpdCBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLmhvb2tzLmFmdGVyT3BlcmF0aW9uLnJlZHVjZShcbiAgICBhc3luYyAocHJpb3JIb29rLCBob29rOiBBZnRlck9wZXJhdGlvbkhvb2s8VD4pID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICBjb25zdCBob29rUmVzdWx0ID0gYXdhaXQgaG9vayh7XG4gICAgICAgIGFyZ3MsXG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcmVxOiBhcmdzLnJlcSxcbiAgICAgICAgcmVzdWx0OiBuZXdSZXN1bHQsXG4gICAgICB9IGFzIEFmdGVyT3BlcmF0aW9uQXJnPFQ+KVxuXG4gICAgICBpZiAoaG9va1Jlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG5ld1Jlc3VsdCA9IGhvb2tSZXN1bHRcbiAgICAgIH1cbiAgICB9LFxuICAgIFByb21pc2UucmVzb2x2ZSgpLFxuICApXG5cbiAgcmV0dXJuIG5ld1Jlc3VsdFxufVxuIl0sIm5hbWVzIjpbImJ1aWxkQWZ0ZXJPcGVyYXRpb24iLCJvcGVyYXRpb25BcmdzIiwiYXJncyIsImNvbGxlY3Rpb24iLCJvcGVyYXRpb24iLCJyZXN1bHQiLCJuZXdSZXN1bHQiLCJjb25maWciLCJob29rcyIsImFmdGVyT3BlcmF0aW9uIiwicmVkdWNlIiwicHJpb3JIb29rIiwiaG9vayIsImhvb2tSZXN1bHQiLCJyZXEiLCJ1bmRlZmluZWQiLCJQcm9taXNlIiwicmVzb2x2ZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFvRmFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLHNCQUFzQixPQUlqQ0M7SUFFQSxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sRUFBRSxHQUFHSjtJQUVoRCxJQUFJSyxZQUFZRDtJQUVoQixNQUFNSCxLQUFLQyxVQUFVLENBQUNJLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDQyxjQUFjLENBQUNDLE1BQU0sQ0FDdEQsT0FBT0MsV0FBV0M7UUFDaEIsTUFBTUQ7UUFFTixNQUFNRSxhQUFhLE1BQU1ELEtBQUs7WUFDNUJWO1lBQ0FDO1lBQ0FDO1lBQ0FVLEtBQUtaLEtBQUtZLEdBQUc7WUFDYlQsUUFBUUM7UUFDVjtRQUVBLElBQUlPLGVBQWVFLFdBQVc7WUFDNUJULFlBQVlPO1FBQ2Q7SUFDRixHQUNBRyxRQUFRQyxPQUFPO0lBR2pCLE9BQU9YO0FBQ1QifQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgZm9yZ290UGFzc3dvcmRPcGVyYXRpb24gfSBmcm9tICcuLi8uLi9hdXRoL29wZXJhdGlvbnMvZm9yZ290UGFzc3dvcmQnXG5pbXBvcnQgdHlwZSB7IGxvZ2luT3BlcmF0aW9uIH0gZnJvbSAnLi4vLi4vYXV0aC9vcGVyYXRpb25zL2xvZ2luJ1xuaW1wb3J0IHR5cGUgeyByZWZyZXNoT3BlcmF0aW9uIH0gZnJvbSAnLi4vLi4vYXV0aC9vcGVyYXRpb25zL3JlZnJlc2gnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZXhwb3J0cy90eXBlcydcbmltcG9ydCB0eXBlIHsgQWZ0ZXJPcGVyYXRpb25Ib29rLCBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLCBUeXBlV2l0aElEIH0gZnJvbSAnLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBjcmVhdGVPcGVyYXRpb24gfSBmcm9tICcuL2NyZWF0ZSdcbmltcG9ydCB0eXBlIHsgZGVsZXRlT3BlcmF0aW9uIH0gZnJvbSAnLi9kZWxldGUnXG5pbXBvcnQgdHlwZSB7IGRlbGV0ZUJ5SURPcGVyYXRpb24gfSBmcm9tICcuL2RlbGV0ZUJ5SUQnXG5pbXBvcnQgdHlwZSB7IGZpbmRPcGVyYXRpb24gfSBmcm9tICcuL2ZpbmQnXG5pbXBvcnQgdHlwZSB7IGZpbmRCeUlET3BlcmF0aW9uIH0gZnJvbSAnLi9maW5kQnlJRCdcbmltcG9ydCB0eXBlIHsgdXBkYXRlT3BlcmF0aW9uIH0gZnJvbSAnLi91cGRhdGUnXG5pbXBvcnQgdHlwZSB7IHVwZGF0ZUJ5SURPcGVyYXRpb24gfSBmcm9tICcuL3VwZGF0ZUJ5SUQnXG5cbmV4cG9ydCB0eXBlIEFmdGVyT3BlcmF0aW9uTWFwPFQgZXh0ZW5kcyBUeXBlV2l0aElEPiA9IHtcbiAgY3JlYXRlOiB0eXBlb2YgY3JlYXRlT3BlcmF0aW9uIC8vIHRvZG86IHBhc3MgY29ycmVjdCBnZW5lcmljXG4gIGRlbGV0ZTogdHlwZW9mIGRlbGV0ZU9wZXJhdGlvbiAvLyB0b2RvOiBwYXNzIGNvcnJlY3QgZ2VuZXJpY1xuICBkZWxldGVCeUlEOiB0eXBlb2YgZGVsZXRlQnlJRE9wZXJhdGlvbiAvLyB0b2RvOiBwYXNzIGNvcnJlY3QgZ2VuZXJpY1xuICBmaW5kOiB0eXBlb2YgZmluZE9wZXJhdGlvbjxUPlxuICBmaW5kQnlJRDogdHlwZW9mIGZpbmRCeUlET3BlcmF0aW9uPFQ+XG4gIGZvcmdvdFBhc3N3b3JkOiB0eXBlb2YgZm9yZ290UGFzc3dvcmRPcGVyYXRpb25cbiAgbG9naW46IHR5cGVvZiBsb2dpbk9wZXJhdGlvblxuICByZWZyZXNoOiB0eXBlb2YgcmVmcmVzaE9wZXJhdGlvblxuICB1cGRhdGU6IHR5cGVvZiB1cGRhdGVPcGVyYXRpb24gLy8gdG9kbzogcGFzcyBjb3JyZWN0IGdlbmVyaWNcbiAgdXBkYXRlQnlJRDogdHlwZW9mIHVwZGF0ZUJ5SURPcGVyYXRpb24gLy8gdG9kbzogcGFzcyBjb3JyZWN0IGdlbmVyaWNcbn1cbmV4cG9ydCB0eXBlIEFmdGVyT3BlcmF0aW9uQXJnPFQgZXh0ZW5kcyBUeXBlV2l0aElEPiA9IHtcbiAgLyoqIFRoZSBjb2xsZWN0aW9uIHdoaWNoIHRoaXMgaG9vayBpcyBiZWluZyBydW4gb24gKi9cbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59ICYgKFxuICB8IHtcbiAgICAgIGFyZ3M6IFBhcmFtZXRlcnM8QWZ0ZXJPcGVyYXRpb25NYXA8VD5bJ2NyZWF0ZSddPlswXVxuICAgICAgb3BlcmF0aW9uOiAnY3JlYXRlJ1xuICAgICAgcmVzdWx0OiBBd2FpdGVkPFJldHVyblR5cGU8QWZ0ZXJPcGVyYXRpb25NYXA8VD5bJ2NyZWF0ZSddPj5cbiAgICB9XG4gIHwge1xuICAgICAgYXJnczogUGFyYW1ldGVyczxBZnRlck9wZXJhdGlvbk1hcDxUPlsnZGVsZXRlJ10+WzBdXG4gICAgICBvcGVyYXRpb246ICdkZWxldGUnXG4gICAgICByZXN1bHQ6IEF3YWl0ZWQ8UmV0dXJuVHlwZTxBZnRlck9wZXJhdGlvbk1hcDxUPlsnZGVsZXRlJ10+PlxuICAgIH1cbiAgfCB7XG4gICAgICBhcmdzOiBQYXJhbWV0ZXJzPEFmdGVyT3BlcmF0aW9uTWFwPFQ+WydkZWxldGVCeUlEJ10+WzBdXG4gICAgICBvcGVyYXRpb246ICdkZWxldGVCeUlEJ1xuICAgICAgcmVzdWx0OiBBd2FpdGVkPFJldHVyblR5cGU8QWZ0ZXJPcGVyYXRpb25NYXA8VD5bJ2RlbGV0ZUJ5SUQnXT4+XG4gICAgfVxuICB8IHtcbiAgICAgIGFyZ3M6IFBhcmFtZXRlcnM8QWZ0ZXJPcGVyYXRpb25NYXA8VD5bJ2ZpbmQnXT5bMF1cbiAgICAgIG9wZXJhdGlvbjogJ2ZpbmQnXG4gICAgICByZXN1bHQ6IEF3YWl0ZWQ8UmV0dXJuVHlwZTxBZnRlck9wZXJhdGlvbk1hcDxUPlsnZmluZCddPj5cbiAgICB9XG4gIHwge1xuICAgICAgYXJnczogUGFyYW1ldGVyczxBZnRlck9wZXJhdGlvbk1hcDxUPlsnZmluZEJ5SUQnXT5bMF1cbiAgICAgIG9wZXJhdGlvbjogJ2ZpbmRCeUlEJ1xuICAgICAgcmVzdWx0OiBBd2FpdGVkPFJldHVyblR5cGU8QWZ0ZXJPcGVyYXRpb25NYXA8VD5bJ2ZpbmRCeUlEJ10+PlxuICAgIH1cbiAgfCB7XG4gICAgICBhcmdzOiBQYXJhbWV0ZXJzPEFmdGVyT3BlcmF0aW9uTWFwPFQ+Wydmb3Jnb3RQYXNzd29yZCddPlswXVxuICAgICAgb3BlcmF0aW9uOiAnZm9yZ290UGFzc3dvcmQnXG4gICAgICByZXN1bHQ6IEF3YWl0ZWQ8UmV0dXJuVHlwZTxBZnRlck9wZXJhdGlvbk1hcDxUPlsnZm9yZ290UGFzc3dvcmQnXT4+XG4gICAgfVxuICB8IHtcbiAgICAgIGFyZ3M6IFBhcmFtZXRlcnM8QWZ0ZXJPcGVyYXRpb25NYXA8VD5bJ2xvZ2luJ10+WzBdXG4gICAgICBvcGVyYXRpb246ICdsb2dpbidcbiAgICAgIHJlc3VsdDogQXdhaXRlZDxSZXR1cm5UeXBlPEFmdGVyT3BlcmF0aW9uTWFwPFQ+Wydsb2dpbiddPj5cbiAgICB9XG4gIHwge1xuICAgICAgYXJnczogUGFyYW1ldGVyczxBZnRlck9wZXJhdGlvbk1hcDxUPlsncmVmcmVzaCddPlswXVxuICAgICAgb3BlcmF0aW9uOiAncmVmcmVzaCdcbiAgICAgIHJlc3VsdDogQXdhaXRlZDxSZXR1cm5UeXBlPEFmdGVyT3BlcmF0aW9uTWFwPFQ+WydyZWZyZXNoJ10+PlxuICAgIH1cbiAgfCB7XG4gICAgICBhcmdzOiBQYXJhbWV0ZXJzPEFmdGVyT3BlcmF0aW9uTWFwPFQ+Wyd1cGRhdGUnXT5bMF1cbiAgICAgIG9wZXJhdGlvbjogJ3VwZGF0ZSdcbiAgICAgIHJlc3VsdDogQXdhaXRlZDxSZXR1cm5UeXBlPEFmdGVyT3BlcmF0aW9uTWFwPFQ+Wyd1cGRhdGUnXT4+XG4gICAgfVxuICB8IHtcbiAgICAgIGFyZ3M6IFBhcmFtZXRlcnM8QWZ0ZXJPcGVyYXRpb25NYXA8VD5bJ3VwZGF0ZUJ5SUQnXT5bMF1cbiAgICAgIG9wZXJhdGlvbjogJ3VwZGF0ZUJ5SUQnXG4gICAgICByZXN1bHQ6IEF3YWl0ZWQ8UmV0dXJuVHlwZTxBZnRlck9wZXJhdGlvbk1hcDxUPlsndXBkYXRlQnlJRCddPj5cbiAgICB9XG4pXG5cbi8vIGV4cG9ydCB0eXBlIEFmdGVyT3BlcmF0aW9uSG9vayA9IHR5cGVvZiBidWlsZEFmdGVyT3BlcmF0aW9uO1xuXG5leHBvcnQgY29uc3QgYnVpbGRBZnRlck9wZXJhdGlvbiA9IGFzeW5jIDxcbiAgVCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksXG4gIE8gZXh0ZW5kcyBrZXlvZiBBZnRlck9wZXJhdGlvbk1hcDxUPiA9IGtleW9mIEFmdGVyT3BlcmF0aW9uTWFwPFQ+LFxuPihcbiAgb3BlcmF0aW9uQXJnczogT21pdDxBZnRlck9wZXJhdGlvbkFyZzxUPiwgJ3JlcSc+ICYgeyBvcGVyYXRpb246IE8gfSxcbik6IFByb21pc2U8QXdhaXRlZDxSZXR1cm5UeXBlPEFmdGVyT3BlcmF0aW9uTWFwPFQ+W09dPj4+ID0+IHtcbiAgY29uc3QgeyBhcmdzLCBjb2xsZWN0aW9uLCBvcGVyYXRpb24sIHJlc3VsdCB9ID0gb3BlcmF0aW9uQXJnc1xuXG4gIGxldCBuZXdSZXN1bHQgPSByZXN1bHRcblxuICBhd2FpdCBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLmhvb2tzLmFmdGVyT3BlcmF0aW9uLnJlZHVjZShcbiAgICBhc3luYyAocHJpb3JIb29rLCBob29rOiBBZnRlck9wZXJhdGlvbkhvb2s8VD4pID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICBjb25zdCBob29rUmVzdWx0ID0gYXdhaXQgaG9vayh7XG4gICAgICAgIGFyZ3MsXG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgcmVxOiBhcmdzLnJlcSxcbiAgICAgICAgcmVzdWx0OiBuZXdSZXN1bHQsXG4gICAgICB9IGFzIEFmdGVyT3BlcmF0aW9uQXJnPFQ+KVxuXG4gICAgICBpZiAoaG9va1Jlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG5ld1Jlc3VsdCA9IGhvb2tSZXN1bHRcbiAgICAgIH1cbiAgICB9LFxuICAgIFByb21pc2UucmVzb2x2ZSgpLFxuICApXG5cbiAgcmV0dXJuIG5ld1Jlc3VsdFxufVxuIl0sIm5hbWVzIjpbImJ1aWxkQWZ0ZXJPcGVyYXRpb24iLCJvcGVyYXRpb25BcmdzIiwiYXJncyIsImNvbGxlY3Rpb24iLCJvcGVyYXRpb24iLCJyZXN1bHQiLCJuZXdSZXN1bHQiLCJjb25maWciLCJob29rcyIsImFmdGVyT3BlcmF0aW9uIiwicmVkdWNlIiwicHJpb3JIb29rIiwiaG9vayIsImhvb2tSZXN1bHQiLCJyZXEiLCJ1bmRlZmluZWQiLCJQcm9taXNlIiwicmVzb2x2ZSJdLCJtYXBwaW5ncyI6IkFBa0ZBLCtEQUErRDtBQUUvRCxPQUFPLE1BQU1BLHNCQUFzQixPQUlqQ0M7SUFFQSxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sRUFBRSxHQUFHSjtJQUVoRCxJQUFJSyxZQUFZRDtJQUVoQixNQUFNSCxLQUFLQyxVQUFVLENBQUNJLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDQyxjQUFjLENBQUNDLE1BQU0sQ0FDdEQsT0FBT0MsV0FBV0M7UUFDaEIsTUFBTUQ7UUFFTixNQUFNRSxhQUFhLE1BQU1ELEtBQUs7WUFDNUJWO1lBQ0FDO1lBQ0FDO1lBQ0FVLEtBQUtaLEtBQUtZLEdBQUc7WUFDYlQsUUFBUUM7UUFDVjtRQUVBLElBQUlPLGVBQWVFLFdBQVc7WUFDNUJULFlBQVlPO1FBQ2Q7SUFDRixHQUNBRyxRQUFRQyxPQUFPO0lBR2pCLE9BQU9YO0FBQ1QsRUFBQyJ9
@@ -1,24 +1,18 @@
1
- /* eslint-disable no-use-before-define */ /* eslint-disable no-nested-ternary */ "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "buildConfig", {
6
- enumerable: true,
7
- get: function() {
8
- return buildConfig;
9
- }
10
- });
11
- const _sanitize = require("./sanitize");
12
- async function buildConfig(config) {
1
+ /* eslint-disable no-use-before-define */ /* eslint-disable no-nested-ternary */ import { sanitizeConfig } from './sanitize';
2
+ /**
3
+ * @description Builds and validates Payload configuration
4
+ * @param config Payload Config
5
+ * @returns Built and sanitized Payload Config
6
+ */ export async function buildConfig(config) {
13
7
  if (Array.isArray(config.plugins)) {
14
8
  const configAfterPlugins = await config.plugins.reduce(async (acc, plugin)=>{
15
9
  const configAfterPlugin = await acc;
16
10
  return plugin(configAfterPlugin);
17
11
  }, Promise.resolve(config));
18
- const sanitizedConfig = (0, _sanitize.sanitizeConfig)(configAfterPlugins);
12
+ const sanitizedConfig = sanitizeConfig(configAfterPlugins);
19
13
  return sanitizedConfig;
20
14
  }
21
- return (0, _sanitize.sanitizeConfig)(config);
15
+ return sanitizeConfig(config);
22
16
  }
23
17
 
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvYnVpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLW5lc3RlZC10ZXJuYXJ5ICovXG5pbXBvcnQgdHlwZSB7IENvbmZpZywgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgc2FuaXRpemVDb25maWcgfSBmcm9tICcuL3Nhbml0aXplJ1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBCdWlsZHMgYW5kIHZhbGlkYXRlcyBQYXlsb2FkIGNvbmZpZ3VyYXRpb25cbiAqIEBwYXJhbSBjb25maWcgUGF5bG9hZCBDb25maWdcbiAqIEByZXR1cm5zIEJ1aWx0IGFuZCBzYW5pdGl6ZWQgUGF5bG9hZCBDb25maWdcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkQ29uZmlnKGNvbmZpZzogQ29uZmlnKTogUHJvbWlzZTxTYW5pdGl6ZWRDb25maWc+IHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoY29uZmlnLnBsdWdpbnMpKSB7XG4gICAgY29uc3QgY29uZmlnQWZ0ZXJQbHVnaW5zID0gYXdhaXQgY29uZmlnLnBsdWdpbnMucmVkdWNlKGFzeW5jIChhY2MsIHBsdWdpbikgPT4ge1xuICAgICAgY29uc3QgY29uZmlnQWZ0ZXJQbHVnaW4gPSBhd2FpdCBhY2NcbiAgICAgIHJldHVybiBwbHVnaW4oY29uZmlnQWZ0ZXJQbHVnaW4pXG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKGNvbmZpZykpXG5cbiAgICBjb25zdCBzYW5pdGl6ZWRDb25maWcgPSBzYW5pdGl6ZUNvbmZpZyhjb25maWdBZnRlclBsdWdpbnMpXG5cbiAgICByZXR1cm4gc2FuaXRpemVkQ29uZmlnXG4gIH1cblxuICByZXR1cm4gc2FuaXRpemVDb25maWcoY29uZmlnKVxufVxuIl0sIm5hbWVzIjpbImJ1aWxkQ29uZmlnIiwiY29uZmlnIiwiQXJyYXkiLCJpc0FycmF5IiwicGx1Z2lucyIsImNvbmZpZ0FmdGVyUGx1Z2lucyIsInJlZHVjZSIsImFjYyIsInBsdWdpbiIsImNvbmZpZ0FmdGVyUGx1Z2luIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzYW5pdGl6ZWRDb25maWciLCJzYW5pdGl6ZUNvbmZpZyJdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDLEdBQ3ZDLG9DQUFvQzs7OzsrQkFVZEE7OztlQUFBQTs7OzBCQVBTO0FBT3hCLGVBQWVBLFlBQVlDLE1BQWM7SUFDOUMsSUFBSUMsTUFBTUMsT0FBTyxDQUFDRixPQUFPRyxPQUFPLEdBQUc7UUFDakMsTUFBTUMscUJBQXFCLE1BQU1KLE9BQU9HLE9BQU8sQ0FBQ0UsTUFBTSxDQUFDLE9BQU9DLEtBQUtDO1lBQ2pFLE1BQU1DLG9CQUFvQixNQUFNRjtZQUNoQyxPQUFPQyxPQUFPQztRQUNoQixHQUFHQyxRQUFRQyxPQUFPLENBQUNWO1FBRW5CLE1BQU1XLGtCQUFrQkMsSUFBQUEsd0JBQWMsRUFBQ1I7UUFFdkMsT0FBT087SUFDVDtJQUVBLE9BQU9DLElBQUFBLHdCQUFjLEVBQUNaO0FBQ3hCIn0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvYnVpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLW5lc3RlZC10ZXJuYXJ5ICovXG5pbXBvcnQgdHlwZSB7IENvbmZpZywgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgc2FuaXRpemVDb25maWcgfSBmcm9tICcuL3Nhbml0aXplJ1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBCdWlsZHMgYW5kIHZhbGlkYXRlcyBQYXlsb2FkIGNvbmZpZ3VyYXRpb25cbiAqIEBwYXJhbSBjb25maWcgUGF5bG9hZCBDb25maWdcbiAqIEByZXR1cm5zIEJ1aWx0IGFuZCBzYW5pdGl6ZWQgUGF5bG9hZCBDb25maWdcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkQ29uZmlnKGNvbmZpZzogQ29uZmlnKTogUHJvbWlzZTxTYW5pdGl6ZWRDb25maWc+IHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoY29uZmlnLnBsdWdpbnMpKSB7XG4gICAgY29uc3QgY29uZmlnQWZ0ZXJQbHVnaW5zID0gYXdhaXQgY29uZmlnLnBsdWdpbnMucmVkdWNlKGFzeW5jIChhY2MsIHBsdWdpbikgPT4ge1xuICAgICAgY29uc3QgY29uZmlnQWZ0ZXJQbHVnaW4gPSBhd2FpdCBhY2NcbiAgICAgIHJldHVybiBwbHVnaW4oY29uZmlnQWZ0ZXJQbHVnaW4pXG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKGNvbmZpZykpXG5cbiAgICBjb25zdCBzYW5pdGl6ZWRDb25maWcgPSBzYW5pdGl6ZUNvbmZpZyhjb25maWdBZnRlclBsdWdpbnMpXG5cbiAgICByZXR1cm4gc2FuaXRpemVkQ29uZmlnXG4gIH1cblxuICByZXR1cm4gc2FuaXRpemVDb25maWcoY29uZmlnKVxufVxuIl0sIm5hbWVzIjpbInNhbml0aXplQ29uZmlnIiwiYnVpbGRDb25maWciLCJjb25maWciLCJBcnJheSIsImlzQXJyYXkiLCJwbHVnaW5zIiwiY29uZmlnQWZ0ZXJQbHVnaW5zIiwicmVkdWNlIiwiYWNjIiwicGx1Z2luIiwiY29uZmlnQWZ0ZXJQbHVnaW4iLCJQcm9taXNlIiwicmVzb2x2ZSIsInNhbml0aXplZENvbmZpZyJdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDLEdBQ3ZDLG9DQUFvQyxHQUdwQyxTQUFTQSxjQUFjLFFBQVEsYUFBWTtBQUUzQzs7OztDQUlDLEdBQ0QsT0FBTyxlQUFlQyxZQUFZQyxNQUFjO0lBQzlDLElBQUlDLE1BQU1DLE9BQU8sQ0FBQ0YsT0FBT0csT0FBTyxHQUFHO1FBQ2pDLE1BQU1DLHFCQUFxQixNQUFNSixPQUFPRyxPQUFPLENBQUNFLE1BQU0sQ0FBQyxPQUFPQyxLQUFLQztZQUNqRSxNQUFNQyxvQkFBb0IsTUFBTUY7WUFDaEMsT0FBT0MsT0FBT0M7UUFDaEIsR0FBR0MsUUFBUUMsT0FBTyxDQUFDVjtRQUVuQixNQUFNVyxrQkFBa0JiLGVBQWVNO1FBRXZDLE9BQU9PO0lBQ1Q7SUFFQSxPQUFPYixlQUFlRTtBQUN4QiJ9
@@ -1,14 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "clientFiles", {
6
- enumerable: true,
7
- get: function() {
8
- return clientFiles;
9
- }
10
- });
11
- const clientFiles = [
1
+ export const clientFiles = [
12
2
  '.scss',
13
3
  '.css',
14
4
  '.svg',
@@ -20,4 +10,4 @@ const clientFiles = [
20
10
  '.woff2'
21
11
  ];
22
12
 
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvY2xpZW50RmlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGNsaWVudEZpbGVzID0gW1xuICAnLnNjc3MnLFxuICAnLmNzcycsXG4gICcuc3ZnJyxcbiAgJy5wbmcnLFxuICAnLmpwZycsXG4gICcuZW90JyxcbiAgJy50dGYnLFxuICAnLndvZmYnLFxuICAnLndvZmYyJyxcbl1cbiJdLCJuYW1lcyI6WyJjbGllbnRGaWxlcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFBYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsY0FBYztJQUN6QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRCJ9
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvY2xpZW50RmlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGNsaWVudEZpbGVzID0gW1xuICAnLnNjc3MnLFxuICAnLmNzcycsXG4gICcuc3ZnJyxcbiAgJy5wbmcnLFxuICAnLmpwZycsXG4gICcuZW90JyxcbiAgJy50dGYnLFxuICAnLndvZmYnLFxuICAnLndvZmYyJyxcbl1cbiJdLCJuYW1lcyI6WyJjbGllbnRGaWxlcyJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNQSxjQUFjO0lBQ3pCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNELENBQUEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"createClientConfig.d.ts","sourceRoot":"","sources":["../../src/config/createClientConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE5D,eAAO,MAAM,aAAa,iBA8CzB,CAAA;AA6DD,eAAO,MAAM,cAAc,WAAY,KAAK,EAAE,KAAG,KAAK,EAA+B,CAAA;AAErF,eAAO,MAAM,kBAAkB,kBACd,QAAQ,eAAe,CAAC,GAAG,eAAe,KACxD,QAAQ,YAAY,CAoBtB,CAAA"}
1
+ {"version":3,"file":"createClientConfig.d.ts","sourceRoot":"","sources":["../../src/config/createClientConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE5D,eAAO,MAAM,aAAa,iBA8CzB,CAAA;AAkED,eAAO,MAAM,cAAc,WAAY,KAAK,EAAE,KAAG,KAAK,EAA+B,CAAA;AAErF,eAAO,MAAM,kBAAkB,kBACd,QAAQ,eAAe,CAAC,GAAG,eAAe,KACxD,QAAQ,YAAY,CAsBtB,CAAA"}
@@ -1,25 +1,4 @@
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
- createClientConfig: function() {
13
- return createClientConfig;
14
- },
15
- sanitizeField: function() {
16
- return sanitizeField;
17
- },
18
- sanitizeFields: function() {
19
- return sanitizeFields;
20
- }
21
- });
22
- const sanitizeField = (f)=>{
1
+ export const sanitizeField = (f)=>{
23
2
  const field = {
24
3
  ...f
25
4
  };
@@ -71,6 +50,12 @@ const sanitizeCollections = (collections)=>collections.map((collection)=>{
71
50
  delete sanitized.access;
72
51
  delete sanitized.endpoints;
73
52
  if ('editor' in sanitized) delete sanitized.editor;
53
+ if ('upload' in sanitized && typeof sanitized.upload === 'object') {
54
+ sanitized.upload = {
55
+ ...sanitized.upload
56
+ };
57
+ delete sanitized.upload.handlers;
58
+ }
74
59
  if ('admin' in sanitized) {
75
60
  sanitized.admin = {
76
61
  ...sanitized.admin
@@ -111,8 +96,8 @@ const sanitizeGlobals = (globals)=>globals.map((global)=>{
111
96
  }
112
97
  return sanitized;
113
98
  });
114
- const sanitizeFields = (fields)=>fields.map(sanitizeField);
115
- const createClientConfig = async (configPromise)=>{
99
+ export const sanitizeFields = (fields)=>fields.map(sanitizeField);
100
+ export const createClientConfig = async (configPromise)=>{
116
101
  const config = await configPromise;
117
102
  const clientConfig = {
118
103
  ...config
@@ -120,6 +105,8 @@ const createClientConfig = async (configPromise)=>{
120
105
  delete clientConfig.endpoints;
121
106
  delete clientConfig.db;
122
107
  delete clientConfig.editor;
108
+ delete clientConfig.plugins;
109
+ delete clientConfig.sharp;
123
110
  'localization' in clientConfig && clientConfig.localization && clientConfig.localization.locales.forEach((locale)=>{
124
111
  delete locale.toString;
125
112
  });
@@ -129,4 +116,4 @@ const createClientConfig = async (configPromise)=>{
129
116
  return clientConfig;
130
117
  };
131
118
 
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvY3JlYXRlQ2xpZW50Q29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBDbGllbnRDb25maWcsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBzYW5pdGl6ZUZpZWxkID0gKGYpID0+IHtcbiAgY29uc3QgZmllbGQgPSB7IC4uLmYgfVxuXG4gIGlmICgnYWNjZXNzJyBpbiBmaWVsZCkgZGVsZXRlIGZpZWxkLmFjY2Vzc1xuICBpZiAoJ2hvb2tzJyBpbiBmaWVsZCkgZGVsZXRlIGZpZWxkLmhvb2tzXG4gIGlmICgndmFsaWRhdGUnIGluIGZpZWxkKSBkZWxldGUgZmllbGQudmFsaWRhdGVcbiAgaWYgKCdkZWZhdWx0VmFsdWUnIGluIGZpZWxkKSBkZWxldGUgZmllbGQuZGVmYXVsdFZhbHVlXG4gIGlmICgnbGFiZWwnIGluIGZpZWxkKSBkZWxldGUgZmllbGQubGFiZWxcblxuICBpZiAoJ2ZpZWxkcycgaW4gZmllbGQpIHtcbiAgICBmaWVsZC5maWVsZHMgPSBzYW5pdGl6ZUZpZWxkcyhmaWVsZC5maWVsZHMpXG4gIH1cblxuICBpZiAoJ2VkaXRvcicgaW4gZmllbGQpIHtcbiAgICBkZWxldGUgZmllbGQuZWRpdG9yXG4gIH1cblxuICBpZiAoJ2Jsb2NrcycgaW4gZmllbGQpIHtcbiAgICBmaWVsZC5ibG9ja3MgPSBmaWVsZC5ibG9ja3MubWFwKChibG9jaykgPT4ge1xuICAgICAgY29uc3Qgc2FuaXRpemVkID0geyAuLi5ibG9jayB9XG4gICAgICBzYW5pdGl6ZWQuZmllbGRzID0gc2FuaXRpemVGaWVsZHMoc2FuaXRpemVkLmZpZWxkcylcbiAgICAgIHJldHVybiBzYW5pdGl6ZWRcbiAgICB9KVxuICB9XG5cbiAgaWYgKCd0YWJzJyBpbiBmaWVsZCkge1xuICAgIGZpZWxkLnRhYnMgPSBmaWVsZC50YWJzLm1hcCgodGFiKSA9PiBzYW5pdGl6ZUZpZWxkKHRhYikpXG4gIH1cblxuICBpZiAoJ2FkbWluJyBpbiBmaWVsZCkge1xuICAgIGZpZWxkLmFkbWluID0geyAuLi5maWVsZC5hZG1pbiB9XG5cbiAgICBpZiAoJ2NvbXBvbmVudHMnIGluIGZpZWxkLmFkbWluKSB7XG4gICAgICBkZWxldGUgZmllbGQuYWRtaW4uY29tcG9uZW50c1xuICAgIH1cblxuICAgIGlmICgnY29uZGl0aW9uJyBpbiBmaWVsZC5hZG1pbikge1xuICAgICAgZGVsZXRlIGZpZWxkLmFkbWluLmNvbmRpdGlvblxuICAgIH1cblxuICAgIGlmICgnZGVzY3JpcHRpb24nIGluIGZpZWxkLmFkbWluKSB7XG4gICAgICBkZWxldGUgZmllbGQuYWRtaW4uZGVzY3JpcHRpb25cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmllbGRcbn1cblxuY29uc3Qgc2FuaXRpemVDb2xsZWN0aW9ucyA9IChcbiAgY29sbGVjdGlvbnM6IFNhbml0aXplZENvbmZpZ1snY29sbGVjdGlvbnMnXSxcbik6IENsaWVudENvbmZpZ1snY29sbGVjdGlvbnMnXSA9PlxuICBjb2xsZWN0aW9ucy5tYXAoKGNvbGxlY3Rpb24pID0+IHtcbiAgICBjb25zdCBzYW5pdGl6ZWQgPSB7IC4uLmNvbGxlY3Rpb24gfVxuICAgIHNhbml0aXplZC5maWVsZHMgPSBzYW5pdGl6ZUZpZWxkcyhzYW5pdGl6ZWQuZmllbGRzKVxuXG4gICAgZGVsZXRlIHNhbml0aXplZC5ob29rc1xuICAgIGRlbGV0ZSBzYW5pdGl6ZWQuYWNjZXNzXG4gICAgZGVsZXRlIHNhbml0aXplZC5lbmRwb2ludHNcblxuICAgIGlmICgnZWRpdG9yJyBpbiBzYW5pdGl6ZWQpIGRlbGV0ZSBzYW5pdGl6ZWQuZWRpdG9yXG5cbiAgICBpZiAoJ2FkbWluJyBpbiBzYW5pdGl6ZWQpIHtcbiAgICAgIHNhbml0aXplZC5hZG1pbiA9IHsgLi4uc2FuaXRpemVkLmFkbWluIH1cblxuICAgICAgaWYgKCdjb21wb25lbnRzJyBpbiBzYW5pdGl6ZWQuYWRtaW4pIHtcbiAgICAgICAgZGVsZXRlIHNhbml0aXplZC5hZG1pbi5jb21wb25lbnRzXG4gICAgICB9XG5cbiAgICAgIGlmICgnaGlkZGVuJyBpbiBzYW5pdGl6ZWQuYWRtaW4pIHtcbiAgICAgICAgZGVsZXRlIHNhbml0aXplZC5hZG1pbi5oaWRkZW5cbiAgICAgIH1cblxuICAgICAgaWYgKCdwcmV2aWV3JyBpbiBzYW5pdGl6ZWQuYWRtaW4pIHtcbiAgICAgICAgZGVsZXRlIHNhbml0aXplZC5hZG1pbi5wcmV2aWV3XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNhbml0aXplZFxuICB9KVxuXG5jb25zdCBzYW5pdGl6ZUdsb2JhbHMgPSAoZ2xvYmFsczogU2FuaXRpemVkQ29uZmlnWydnbG9iYWxzJ10pOiBDbGllbnRDb25maWdbJ2dsb2JhbHMnXSA9PlxuICBnbG9iYWxzLm1hcCgoZ2xvYmFsKSA9PiB7XG4gICAgY29uc3Qgc2FuaXRpemVkID0geyAuLi5nbG9iYWwgfVxuICAgIHNhbml0aXplZC5maWVsZHMgPSBzYW5pdGl6ZUZpZWxkcyhzYW5pdGl6ZWQuZmllbGRzKVxuICAgIGRlbGV0ZSBzYW5pdGl6ZWQuaG9va3NcbiAgICBkZWxldGUgc2FuaXRpemVkLmFjY2Vzc1xuICAgIGRlbGV0ZSBzYW5pdGl6ZWQuZW5kcG9pbnRzXG5cbiAgICBpZiAoJ2FkbWluJyBpbiBzYW5pdGl6ZWQpIHtcbiAgICAgIHNhbml0aXplZC5hZG1pbiA9IHsgLi4uc2FuaXRpemVkLmFkbWluIH1cblxuICAgICAgaWYgKCdjb21wb25lbnRzJyBpbiBzYW5pdGl6ZWQuYWRtaW4pIHtcbiAgICAgICAgZGVsZXRlIHNhbml0aXplZC5hZG1pbi5jb21wb25lbnRzXG4gICAgICB9XG5cbiAgICAgIGlmICgnaGlkZGVuJyBpbiBzYW5pdGl6ZWQuYWRtaW4pIHtcbiAgICAgICAgZGVsZXRlIHNhbml0aXplZC5hZG1pbi5oaWRkZW5cbiAgICAgIH1cblxuICAgICAgaWYgKCdwcmV2aWV3JyBpbiBzYW5pdGl6ZWQuYWRtaW4pIHtcbiAgICAgICAgZGVsZXRlIHNhbml0aXplZC5hZG1pbi5wcmV2aWV3XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNhbml0aXplZFxuICB9KVxuXG5leHBvcnQgY29uc3Qgc2FuaXRpemVGaWVsZHMgPSAoZmllbGRzOiBGaWVsZFtdKTogRmllbGRbXSA9PiBmaWVsZHMubWFwKHNhbml0aXplRmllbGQpXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDbGllbnRDb25maWcgPSBhc3luYyAoXG4gIGNvbmZpZ1Byb21pc2U6IFByb21pc2U8U2FuaXRpemVkQ29uZmlnPiB8IFNhbml0aXplZENvbmZpZyxcbik6IFByb21pc2U8Q2xpZW50Q29uZmlnPiA9PiB7XG4gIGNvbnN0IGNvbmZpZyA9IGF3YWl0IGNvbmZpZ1Byb21pc2VcbiAgY29uc3QgY2xpZW50Q29uZmlnID0geyAuLi5jb25maWcgfVxuXG4gIGRlbGV0ZSBjbGllbnRDb25maWcuZW5kcG9pbnRzXG4gIGRlbGV0ZSBjbGllbnRDb25maWcuZGJcbiAgZGVsZXRlIGNsaWVudENvbmZpZy5lZGl0b3JcblxuICAnbG9jYWxpemF0aW9uJyBpbiBjbGllbnRDb25maWcgJiZcbiAgICBjbGllbnRDb25maWcubG9jYWxpemF0aW9uICYmXG4gICAgY2xpZW50Q29uZmlnLmxvY2FsaXphdGlvbi5sb2NhbGVzLmZvckVhY2goKGxvY2FsZSkgPT4ge1xuICAgICAgZGVsZXRlIGxvY2FsZS50b1N0cmluZ1xuICAgIH0pXG5cbiAgY2xpZW50Q29uZmlnLm9uSW5pdCA9IHVuZGVmaW5lZFxuXG4gIGNsaWVudENvbmZpZy5jb2xsZWN0aW9ucyA9IHNhbml0aXplQ29sbGVjdGlvbnMoY2xpZW50Q29uZmlnLmNvbGxlY3Rpb25zKVxuICBjbGllbnRDb25maWcuZ2xvYmFscyA9IHNhbml0aXplR2xvYmFscyhjbGllbnRDb25maWcuZ2xvYmFscylcblxuICByZXR1cm4gY2xpZW50Q29uZmlnXG59XG4iXSwibmFtZXMiOlsiY3JlYXRlQ2xpZW50Q29uZmlnIiwic2FuaXRpemVGaWVsZCIsInNhbml0aXplRmllbGRzIiwiZiIsImZpZWxkIiwiYWNjZXNzIiwiaG9va3MiLCJ2YWxpZGF0ZSIsImRlZmF1bHRWYWx1ZSIsImxhYmVsIiwiZmllbGRzIiwiZWRpdG9yIiwiYmxvY2tzIiwibWFwIiwiYmxvY2siLCJzYW5pdGl6ZWQiLCJ0YWJzIiwidGFiIiwiYWRtaW4iLCJjb21wb25lbnRzIiwiY29uZGl0aW9uIiwiZGVzY3JpcHRpb24iLCJzYW5pdGl6ZUNvbGxlY3Rpb25zIiwiY29sbGVjdGlvbnMiLCJjb2xsZWN0aW9uIiwiZW5kcG9pbnRzIiwiaGlkZGVuIiwicHJldmlldyIsInNhbml0aXplR2xvYmFscyIsImdsb2JhbHMiLCJnbG9iYWwiLCJjb25maWdQcm9taXNlIiwiY29uZmlnIiwiY2xpZW50Q29uZmlnIiwiZGIiLCJsb2NhbGl6YXRpb24iLCJsb2NhbGVzIiwiZm9yRWFjaCIsImxvY2FsZSIsInRvU3RyaW5nIiwib25Jbml0IiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQWdIYUEsa0JBQWtCO2VBQWxCQTs7SUE3R0FDLGFBQWE7ZUFBYkE7O0lBMkdBQyxjQUFjO2VBQWRBOzs7QUEzR04sTUFBTUQsZ0JBQWdCLENBQUNFO0lBQzVCLE1BQU1DLFFBQVE7UUFBRSxHQUFHRCxDQUFDO0lBQUM7SUFFckIsSUFBSSxZQUFZQyxPQUFPLE9BQU9BLE1BQU1DLE1BQU07SUFDMUMsSUFBSSxXQUFXRCxPQUFPLE9BQU9BLE1BQU1FLEtBQUs7SUFDeEMsSUFBSSxjQUFjRixPQUFPLE9BQU9BLE1BQU1HLFFBQVE7SUFDOUMsSUFBSSxrQkFBa0JILE9BQU8sT0FBT0EsTUFBTUksWUFBWTtJQUN0RCxJQUFJLFdBQVdKLE9BQU8sT0FBT0EsTUFBTUssS0FBSztJQUV4QyxJQUFJLFlBQVlMLE9BQU87UUFDckJBLE1BQU1NLE1BQU0sR0FBR1IsZUFBZUUsTUFBTU0sTUFBTTtJQUM1QztJ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
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvY3JlYXRlQ2xpZW50Q29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBDbGllbnRDb25maWcsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBzYW5pdGl6ZUZpZWxkID0gKGYpID0+IHtcbiAgY29uc3QgZmllbGQgPSB7IC4uLmYgfVxuXG4gIGlmICgnYWNjZXNzJyBpbiBmaWVsZCkgZGVsZXRlIGZpZWxkLmFjY2Vzc1xuICBpZiAoJ2hvb2tzJyBpbiBmaWVsZCkgZGVsZXRlIGZpZWxkLmhvb2tzXG4gIGlmICgndmFsaWRhdGUnIGluIGZpZWxkKSBkZWxldGUgZmllbGQudmFsaWRhdGVcbiAgaWYgKCdkZWZhdWx0VmFsdWUnIGluIGZpZWxkKSBkZWxldGUgZmllbGQuZGVmYXVsdFZhbHVlXG4gIGlmICgnbGFiZWwnIGluIGZpZWxkKSBkZWxldGUgZmllbGQubGFiZWxcblxuICBpZiAoJ2ZpZWxkcycgaW4gZmllbGQpIHtcbiAgICBmaWVsZC5maWVsZHMgPSBzYW5pdGl6ZUZpZWxkcyhmaWVsZC5maWVsZHMpXG4gIH1cblxuICBpZiAoJ2VkaXRvcicgaW4gZmllbGQpIHtcbiAgICBkZWxldGUgZmllbGQuZWRpdG9yXG4gIH1cblxuICBpZiAoJ2Jsb2NrcycgaW4gZmllbGQpIHtcbiAgICBmaWVsZC5ibG9ja3MgPSBmaWVsZC5ibG9ja3MubWFwKChibG9jaykgPT4ge1xuICAgICAgY29uc3Qgc2FuaXRpemVkID0geyAuLi5ibG9jayB9XG4gICAgICBzYW5pdGl6ZWQuZmllbGRzID0gc2FuaXRpemVGaWVsZHMoc2FuaXRpemVkLmZpZWxkcylcbiAgICAgIHJldHVybiBzYW5pdGl6ZWRcbiAgICB9KVxuICB9XG5cbiAgaWYgKCd0YWJzJyBpbiBmaWVsZCkge1xuICAgIGZpZWxkLnRhYnMgPSBmaWVsZC50YWJzLm1hcCgodGFiKSA9PiBzYW5pdGl6ZUZpZWxkKHRhYikpXG4gIH1cblxuICBpZiAoJ2FkbWluJyBpbiBmaWVsZCkge1xuICAgIGZpZWxkLmFkbWluID0geyAuLi5maWVsZC5hZG1pbiB9XG5cbiAgICBpZiAoJ2NvbXBvbmVudHMnIGluIGZpZWxkLmFkbWluKSB7XG4gICAgICBkZWxldGUgZmllbGQuYWRtaW4uY29tcG9uZW50c1xuICAgIH1cblxuICAgIGlmICgnY29uZGl0aW9uJyBpbiBmaWVsZC5hZG1pbikge1xuICAgICAgZGVsZXRlIGZpZWxkLmFkbWluLmNvbmRpdGlvblxuICAgIH1cblxuICAgIGlmICgnZGVzY3JpcHRpb24nIGluIGZpZWxkLmFkbWluKSB7XG4gICAgICBkZWxldGUgZmllbGQuYWRtaW4uZGVzY3JpcHRpb25cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmllbGRcbn1cblxuY29uc3Qgc2FuaXRpemVDb2xsZWN0aW9ucyA9IChcbiAgY29sbGVjdGlvbnM6IFNhbml0aXplZENvbmZpZ1snY29sbGVjdGlvbnMnXSxcbik6IENsaWVudENvbmZpZ1snY29sbGVjdGlvbnMnXSA9PlxuICBjb2xsZWN0aW9ucy5tYXAoKGNvbGxlY3Rpb24pID0+IHtcbiAgICBjb25zdCBzYW5pdGl6ZWQgPSB7IC4uLmNvbGxlY3Rpb24gfVxuICAgIHNhbml0aXplZC5maWVsZHMgPSBzYW5pdGl6ZUZpZWxkcyhzYW5pdGl6ZWQuZmllbGRzKVxuXG4gICAgZGVsZXRlIHNhbml0aXplZC5ob29rc1xuICAgIGRlbGV0ZSBzYW5pdGl6ZWQuYWNjZXNzXG4gICAgZGVsZXRlIHNhbml0aXplZC5lbmRwb2ludHNcblxuICAgIGlmICgnZWRpdG9yJyBpbiBzYW5pdGl6ZWQpIGRlbGV0ZSBzYW5pdGl6ZWQuZWRpdG9yXG5cbiAgICBpZiAoJ3VwbG9hZCcgaW4gc2FuaXRpemVkICYmIHR5cGVvZiBzYW5pdGl6ZWQudXBsb2FkID09PSAnb2JqZWN0Jykge1xuICAgICAgc2FuaXRpemVkLnVwbG9hZCA9IHsgLi4uc2FuaXRpemVkLnVwbG9hZCB9XG4gICAgICBkZWxldGUgc2FuaXRpemVkLnVwbG9hZC5oYW5kbGVyc1xuICAgIH1cblxuICAgIGlmICgnYWRtaW4nIGluIHNhbml0aXplZCkge1xuICAgICAgc2FuaXRpemVkLmFkbWluID0geyAuLi5zYW5pdGl6ZWQuYWRtaW4gfVxuXG4gICAgICBpZiAoJ2NvbXBvbmVudHMnIGluIHNhbml0aXplZC5hZG1pbikge1xuICAgICAgICBkZWxldGUgc2FuaXRpemVkLmFkbWluLmNvbXBvbmVudHNcbiAgICAgIH1cblxuICAgICAgaWYgKCdoaWRkZW4nIGluIHNhbml0aXplZC5hZG1pbikge1xuICAgICAgICBkZWxldGUgc2FuaXRpemVkLmFkbWluLmhpZGRlblxuICAgICAgfVxuXG4gICAgICBpZiAoJ3ByZXZpZXcnIGluIHNhbml0aXplZC5hZG1pbikge1xuICAgICAgICBkZWxldGUgc2FuaXRpemVkLmFkbWluLnByZXZpZXdcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2FuaXRpemVkXG4gIH0pXG5cbmNvbnN0IHNhbml0aXplR2xvYmFscyA9IChnbG9iYWxzOiBTYW5pdGl6ZWRDb25maWdbJ2dsb2JhbHMnXSk6IENsaWVudENvbmZpZ1snZ2xvYmFscyddID0+XG4gIGdsb2JhbHMubWFwKChnbG9iYWwpID0+IHtcbiAgICBjb25zdCBzYW5pdGl6ZWQgPSB7IC4uLmdsb2JhbCB9XG4gICAgc2FuaXRpemVkLmZpZWxkcyA9IHNhbml0aXplRmllbGRzKHNhbml0aXplZC5maWVsZHMpXG4gICAgZGVsZXRlIHNhbml0aXplZC5ob29rc1xuICAgIGRlbGV0ZSBzYW5pdGl6ZWQuYWNjZXNzXG4gICAgZGVsZXRlIHNhbml0aXplZC5lbmRwb2ludHNcblxuICAgIGlmICgnYWRtaW4nIGluIHNhbml0aXplZCkge1xuICAgICAgc2FuaXRpemVkLmFkbWluID0geyAuLi5zYW5pdGl6ZWQuYWRtaW4gfVxuXG4gICAgICBpZiAoJ2NvbXBvbmVudHMnIGluIHNhbml0aXplZC5hZG1pbikge1xuICAgICAgICBkZWxldGUgc2FuaXRpemVkLmFkbWluLmNvbXBvbmVudHNcbiAgICAgIH1cblxuICAgICAgaWYgKCdoaWRkZW4nIGluIHNhbml0aXplZC5hZG1pbikge1xuICAgICAgICBkZWxldGUgc2FuaXRpemVkLmFkbWluLmhpZGRlblxuICAgICAgfVxuXG4gICAgICBpZiAoJ3ByZXZpZXcnIGluIHNhbml0aXplZC5hZG1pbikge1xuICAgICAgICBkZWxldGUgc2FuaXRpemVkLmFkbWluLnByZXZpZXdcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2FuaXRpemVkXG4gIH0pXG5cbmV4cG9ydCBjb25zdCBzYW5pdGl6ZUZpZWxkcyA9IChmaWVsZHM6IEZpZWxkW10pOiBGaWVsZFtdID0+IGZpZWxkcy5tYXAoc2FuaXRpemVGaWVsZClcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNsaWVudENvbmZpZyA9IGFzeW5jIChcbiAgY29uZmlnUHJvbWlzZTogUHJvbWlzZTxTYW5pdGl6ZWRDb25maWc+IHwgU2FuaXRpemVkQ29uZmlnLFxuKTogUHJvbWlzZTxDbGllbnRDb25maWc+ID0+IHtcbiAgY29uc3QgY29uZmlnID0gYXdhaXQgY29uZmlnUHJvbWlzZVxuICBjb25zdCBjbGllbnRDb25maWcgPSB7IC4uLmNvbmZpZyB9XG5cbiAgZGVsZXRlIGNsaWVudENvbmZpZy5lbmRwb2ludHNcbiAgZGVsZXRlIGNsaWVudENvbmZpZy5kYlxuICBkZWxldGUgY2xpZW50Q29uZmlnLmVkaXRvclxuICBkZWxldGUgY2xpZW50Q29uZmlnLnBsdWdpbnNcbiAgZGVsZXRlIGNsaWVudENvbmZpZy5zaGFycFxuXG4gICdsb2NhbGl6YXRpb24nIGluIGNsaWVudENvbmZpZyAmJlxuICAgIGNsaWVudENvbmZpZy5sb2NhbGl6YXRpb24gJiZcbiAgICBjbGllbnRDb25maWcubG9jYWxpemF0aW9uLmxvY2FsZXMuZm9yRWFjaCgobG9jYWxlKSA9PiB7XG4gICAgICBkZWxldGUgbG9jYWxlLnRvU3RyaW5nXG4gICAgfSlcblxuICBjbGllbnRDb25maWcub25Jbml0ID0gdW5kZWZpbmVkXG5cbiAgY2xpZW50Q29uZmlnLmNvbGxlY3Rpb25zID0gc2FuaXRpemVDb2xsZWN0aW9ucyhjbGllbnRDb25maWcuY29sbGVjdGlvbnMpXG4gIGNsaWVudENvbmZpZy5nbG9iYWxzID0gc2FuaXRpemVHbG9iYWxzKGNsaWVudENvbmZpZy5nbG9iYWxzKVxuXG4gIHJldHVybiBjbGllbnRDb25maWdcbn1cbiJdLCJuYW1lcyI6WyJzYW5pdGl6ZUZpZWxkIiwiZiIsImZpZWxkIiwiYWNjZXNzIiwiaG9va3MiLCJ2YWxpZGF0ZSIsImRlZmF1bHRWYWx1ZSIsImxhYmVsIiwiZmllbGRzIiwic2FuaXRpemVGaWVsZHMiLCJlZGl0b3IiLCJibG9ja3MiLCJtYXAiLCJibG9jayIsInNhbml0aXplZCIsInRhYnMiLCJ0YWIiLCJhZG1pbiIsImNvbXBvbmVudHMiLCJjb25kaXRpb24iLCJkZXNjcmlwdGlvbiIsInNhbml0aXplQ29sbGVjdGlvbnMiLCJjb2xsZWN0aW9ucyIsImNvbGxlY3Rpb24iLCJlbmRwb2ludHMiLCJ1cGxvYWQiLCJoYW5kbGVycyIsImhpZGRlbiIsInByZXZpZXciLCJzYW5pdGl6ZUdsb2JhbHMiLCJnbG9iYWxzIiwiZ2xvYmFsIiwiY3JlYXRlQ2xpZW50Q29uZmlnIiwiY29uZmlnUHJvbWlzZSIsImNvbmZpZyIsImNsaWVudENvbmZpZyIsImRiIiwicGx1Z2lucyIsInNoYXJwIiwibG9jYWxpemF0aW9uIiwibG9jYWxlcyIsImZvckVhY2giLCJsb2NhbGUiLCJ0b1N0cmluZyIsIm9uSW5pdCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxNQUFNQSxnQkFBZ0IsQ0FBQ0M7SUFDNUIsTUFBTUMsUUFBUTtRQUFFLEdBQUdELENBQUM7SUFBQztJQUVyQixJQUFJLFlBQVlDLE9BQU8sT0FBT0EsTUFBTUMsTUFBTTtJQUMxQyxJQUFJLFdBQVdELE9BQU8sT0FBT0EsTUFBTUUsS0FBSztJQUN4QyxJQUFJLGNBQWNGLE9BQU8sT0FBT0EsTUFBTUcsUUFBUTtJQUM5QyxJQUFJLGtCQUFrQkgsT0FBTyxPQUFPQSxNQUFNSSxZQUFZO0lBQ3RELElBQUksV0FBV0osT0FBTyxPQUFPQSxNQUFNSyxLQUFLO0lBRXhDLElBQUksWUFBWUwsT0FBTztRQUNyQkEsTUFBTU0sTUFBTSxHQUFHQyxlQUFlUCxNQUFNTSxNQUFNO0lBQzVDO0lBRUEsSUFBSSxZQUFZTixPQUFPO1FBQ3JCLE9BQU9BLE1BQU1RLE1BQU07SUFDckI7SUFFQSxJQUFJLFlBQVlSLE9BQU87UUFDckJBLE1BQU1TLE1BQU0sR0FBR1QsTUFBTVMsTUFBTSxDQUFDQyxHQUFHLENBQUMsQ0FBQ0M7WUFDL0IsTUFBTUMsWUFBWTtnQkFBRSxHQUFHRCxLQUFLO1lBQUM7WUFDN0JDLFVBQVVOLE1BQU0sR0FBR0MsZUFBZUssVUFBVU4sTUFBTTtZQUNsRCxPQUFPTTtRQUNUO0lBQ0Y7SUFFQSxJQUFJLFVBQVVaLE9BQU87UUFDbkJBLE1BQU1hLElBQUksR0FBR2IsTUFBTWEsSUFBSSxDQUFDSCxHQUFHLENBQUMsQ0FBQ0ksTUFBUWhCLGNBQWNnQjtJQUNyRDtJQUVBLElBQUksV0FBV2QsT0FBTztRQUNwQkEsTUFBTWUsS0FBSyxHQUFHO1lBQUUsR0FBR2YsTUFBTWUsS0FBSztRQUFDO1FBRS9CLElBQUksZ0JBQWdCZixNQUFNZSxLQUFLLEVBQUU7WUFDL0IsT0FBT2YsTUFBTWUsS0FBSyxDQUFDQyxVQUFVO1FBQy9CO1FBRUEsSUFBSSxlQUFlaEIsTUFBTWUsS0FBSyxFQUFFO1lBQzlCLE9BQU9mLE1BQU1lLEtBQUssQ0FBQ0UsU0FBUztRQUM5QjtRQUVBLElBQUksaUJBQWlCakIsTUFBTWUsS0FBSyxFQUFFO1lBQ2hDLE9BQU9mLE1BQU1lLEtBQUssQ0FBQ0csV0FBVztRQUNoQztJQUNGO0lBRUEsT0FBT2xCO0FBQ1QsRUFBQztBQUVELE1BQU1tQixzQkFBc0IsQ0FDMUJDLGNBRUFBLFlBQVlWLEdBQUcsQ0FBQyxDQUFDVztRQUNmLE1BQU1ULFlBQVk7WUFBRSxHQUFHUyxVQUFVO1FBQUM7UUFDbENULFVBQVVOLE1BQU0sR0FBR0MsZUFBZUssVUFBVU4sTUFBTTtRQUVsRCxPQUFPTSxVQUFVVixLQUFLO1FBQ3RCLE9BQU9VLFVBQVVYLE1BQU07UUFDdkIsT0FBT1csVUFBVVUsU0FBUztRQUUxQixJQUFJLFlBQVlWLFdBQVcsT0FBT0EsVUFBVUosTUFBTTtRQUVsRCxJQUFJLFlBQVlJLGFBQWEsT0FBT0EsVUFBVVcsTUFBTSxLQUFLLFVBQVU7WUFDakVYLFVBQVVXLE1BQU0sR0FBRztnQkFBRSxHQUFHWCxVQUFVVyxNQUFNO1lBQUM7WUFDekMsT0FBT1gsVUFBVVcsTUFBTSxDQUFDQyxRQUFRO1FBQ2xDO1FBRUEsSUFBSSxXQUFXWixXQUFXO1lBQ3hCQSxVQUFVRyxLQUFLLEdBQUc7Z0JBQUUsR0FBR0gsVUFBVUcsS0FBSztZQUFDO1lBRXZDLElBQUksZ0JBQWdCSCxVQUFVRyxLQUFLLEVBQUU7Z0JBQ25DLE9BQU9ILFVBQVVHLEtBQUssQ0FBQ0MsVUFBVTtZQUNuQztZQUVBLElBQUksWUFBWUosVUFBVUcsS0FBSyxFQUFFO2dCQUMvQixPQUFPSCxVQUFVRyxLQUFLLENBQUNVLE1BQU07WUFDL0I7WUFFQSxJQUFJLGFBQWFiLFVBQVVHLEtBQUssRUFBRTtnQkFDaEMsT0FBT0gsVUFBVUcsS0FBSyxDQUFDVyxPQUFPO1lBQ2hDO1FBQ0Y7UUFFQSxPQUFPZDtJQUNUO0FBRUYsTUFBTWUsa0JBQWtCLENBQUNDLFVBQ3ZCQSxRQUFRbEIsR0FBRyxDQUFDLENBQUNtQjtRQUNYLE1BQU1qQixZQUFZO1lBQUUsR0FBR2lCLE1BQU07UUFBQztRQUM5QmpCLFVBQVVOLE1BQU0sR0FBR0MsZUFBZUssVUFBVU4sTUFBTTtRQUNsRCxPQUFPTSxVQUFVVixLQUFLO1FBQ3RCLE9BQU9VLFVBQVVYLE1BQU07UUFDdkIsT0FBT1csVUFBVVUsU0FBUztRQUUxQixJQUFJLFdBQVdWLFdBQVc7WUFDeEJBLFVBQVVHLEtBQUssR0FBRztnQkFBRSxHQUFHSCxVQUFVRyxLQUFLO1lBQUM7WUFFdkMsSUFBSSxnQkFBZ0JILFVBQVVHLEtBQUssRUFBRTtnQkFDbkMsT0FBT0gsVUFBVUcsS0FBSyxDQUFDQyxVQUFVO1lBQ25DO1lBRUEsSUFBSSxZQUFZSixVQUFVRyxLQUFLLEVBQUU7Z0JBQy9CLE9BQU9ILFVBQVVHLEtBQUssQ0FBQ1UsTUFBTTtZQUMvQjtZQUVBLElBQUksYUFBYWIsVUFBVUcsS0FBSyxFQUFFO2dCQUNoQyxPQUFPSCxVQUFVRyxLQUFLLENBQUNXLE9BQU87WUFDaEM7UUFDRjtRQUVBLE9BQU9kO0lBQ1Q7QUFFRixPQUFPLE1BQU1MLGlCQUFpQixDQUFDRCxTQUE2QkEsT0FBT0ksR0FBRyxDQUFDWixlQUFjO0FBRXJGLE9BQU8sTUFBTWdDLHFCQUFxQixPQUNoQ0M7SUFFQSxNQUFNQyxTQUFTLE1BQU1EO0lBQ3JCLE1BQU1FLGVBQWU7UUFBRSxHQUFHRCxNQUFNO0lBQUM7SUFFakMsT0FBT0MsYUFBYVgsU0FBUztJQUM3QixPQUFPVyxhQUFhQyxFQUFFO0lBQ3RCLE9BQU9ELGFBQWF6QixNQUFNO0lBQzFCLE9BQU95QixhQUFhRSxPQUFPO0lBQzNCLE9BQU9GLGFBQWFHLEtBQUs7SUFFekIsa0JBQWtCSCxnQkFDaEJBLGFBQWFJLFlBQVksSUFDekJKLGFBQWFJLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUMsQ0FBQ0M7UUFDekMsT0FBT0EsT0FBT0MsUUFBUTtJQUN4QjtJQUVGUixhQUFhUyxNQUFNLEdBQUdDO0lBRXRCVixhQUFhYixXQUFXLEdBQUdELG9CQUFvQmMsYUFBYWIsV0FBVztJQUN2RWEsYUFBYUwsT0FBTyxHQUFHRCxnQkFBZ0JNLGFBQWFMLE9BQU87SUFFM0QsT0FBT0s7QUFDVCxFQUFDIn0=
@@ -1,23 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "defaults", {
6
- enumerable: true,
7
- get: function() {
8
- return defaults;
9
- }
10
- });
11
- const _path = /*#__PURE__*/ _interop_require_default(require("path"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- const defaults = {
1
+ import path from 'path';
2
+ export const defaults = {
18
3
  admin: {
19
4
  avatar: 'default',
20
- buildPath: _path.default.resolve(process.cwd(), './build'),
5
+ buildPath: path.resolve(process.cwd(), './build'),
21
6
  components: {},
22
7
  dateFormat: 'MMMM do yyyy, h:mm a',
23
8
  disable: false,
@@ -59,4 +44,4 @@ const defaults = {
59
44
  upload: {}
60
45
  };
61
46
 
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvZGVmYXVsdHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcblxuaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdHM6IE9taXQ8Q29uZmlnLCAnZGInIHwgJ2VkaXRvcicgfCAnc2VjcmV0Jz4gPSB7XG4gIGFkbWluOiB7XG4gICAgYXZhdGFyOiAnZGVmYXVsdCcsXG4gICAgYnVpbGRQYXRoOiBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgJy4vYnVpbGQnKSxcbiAgICBjb21wb25lbnRzOiB7fSxcbiAgICBkYXRlRm9ybWF0OiAnTU1NTSBkbyB5eXl5LCBoOm1tIGEnLFxuICAgIGRpc2FibGU6IGZhbHNlLFxuICAgIGluYWN0aXZpdHlSb3V0ZTogJy9sb2dvdXQtaW5hY3Rpdml0eScsXG4gICAgbG9nb3V0Um91dGU6ICcvbG9nb3V0JyxcbiAgICBtZXRhOiB7XG4gICAgICB0aXRsZVN1ZmZpeDogJy0gUGF5bG9hZCcsXG4gICAgfSxcbiAgfSxcbiAgYmluOiBbXSxcbiAgY29sbGVjdGlvbnM6IFtdLFxuICBjb29raWVQcmVmaXg6ICdwYXlsb2FkJyxcbiAgY29yczogW10sXG4gIGNzcmY6IFtdLFxuICBjdXN0b206IHt9LFxuICBkZWZhdWx0RGVwdGg6IDIsXG4gIGRlZmF1bHRNYXhUZXh0TGVuZ3RoOiA0MDAwMCxcbiAgZW5kcG9pbnRzOiBbXSxcbiAgZ2xvYmFsczogW10sXG4gIGdyYXBoUUw6IHtcbiAgICBkaXNhYmxlUGxheWdyb3VuZEluUHJvZHVjdGlvbjogdHJ1ZSxcbiAgICBtYXhDb21wbGV4aXR5OiAxMDAwLFxuICAgIHNjaGVtYU91dHB1dEZpbGU6IGAke3R5cGVvZiBwcm9jZXNzPy5jd2QgPT09ICdmdW5jdGlvbicgPyBwcm9jZXNzLmN3ZCgpIDogJyd9L3NjaGVtYS5ncmFwaHFsYCxcbiAgfSxcbiAgaG9va3M6IHt9LFxuICBsb2NhbGl6YXRpb246IGZhbHNlLFxuICBtYXhEZXB0aDogMTAsXG4gIHJvdXRlczoge1xuICAgIGFkbWluOiAnL2FkbWluJyxcbiAgICBhcGk6ICcvYXBpJyxcbiAgICBncmFwaFFMOiAnL2dyYXBocWwnLFxuICAgIGdyYXBoUUxQbGF5Z3JvdW5kOiAnL2dyYXBocWwtcGxheWdyb3VuZCcsXG4gIH0sXG4gIHNlcnZlclVSTDogJycsXG4gIHRlbGVtZXRyeTogdHJ1ZSxcbiAgdHlwZXNjcmlwdDoge1xuICAgIG91dHB1dEZpbGU6IGAke3R5cGVvZiBwcm9jZXNzPy5jd2QgPT09ICdmdW5jdGlvbicgPyBwcm9jZXNzLmN3ZCgpIDogJyd9L3BheWxvYWQtdHlwZXMudHNgLFxuICB9LFxuICB1cGxvYWQ6IHt9LFxufVxuIl0sIm5hbWVzIjpbImRlZmF1bHRzIiwiYWRtaW4iLCJhdmF0YXIiLCJidWlsZFBhdGgiLCJwYXRoIiwicmVzb2x2ZSIsInByb2Nlc3MiLCJjd2QiLCJjb21wb25lbnRzIiwiZGF0ZUZvcm1hdCIsImRpc2FibGUiLCJpbmFjdGl2aXR5Um91dGUiLCJsb2dvdXRSb3V0ZSIsIm1ldGEiLCJ0aXRsZVN1ZmZpeCIsImJpbiIsImNvbGxlY3Rpb25zIiwiY29va2llUHJlZml4IiwiY29ycyIsImNzcmYiLCJjdXN0b20iLCJkZWZhdWx0RGVwdGgiLCJkZWZhdWx0TWF4VGV4dExlbmd0aCIsImVuZHBvaW50cyIsImdsb2JhbHMiLCJncmFwaFFMIiwiZGlzYWJsZVBsYXlncm91bmRJblByb2R1Y3Rpb24iLCJtYXhDb21wbGV4aXR5Iiwic2NoZW1hT3V0cHV0RmlsZSIsImhvb2tzIiwibG9jYWxpemF0aW9uIiwibWF4RGVwdGgiLCJyb3V0ZXMiLCJhcGkiLCJncmFwaFFMUGxheWdyb3VuZCIsInNlcnZlclVSTCIsInRlbGVtZXRyeSIsInR5cGVzY3JpcHQiLCJvdXRwdXRGaWxlIiwidXBsb2FkIl0sIm1hcHBpbmdzIjoiOzs7OytCQUlhQTs7O2VBQUFBOzs7NkRBSkk7Ozs7OztBQUlWLE1BQU1BLFdBQXFEO0lBQ2hFQyxPQUFPO1FBQ0xDLFFBQVE7UUFDUkMsV0FBV0MsYUFBSSxDQUFDQyxPQUFPLENBQUNDLFFBQVFDLEdBQUcsSUFBSTtRQUN2Q0MsWUFBWSxDQUFDO1FBQ2JDLFlBQVk7UUFDWkMsU0FBUztRQUNUQyxpQkFBaUI7UUFDakJDLGFBQWE7UUFDYkMsTUFBTTtZQUNKQyxhQUFhO1FBQ2Y7SUFDRjtJQUNBQyxLQUFLLEVBQUU7SUFDUEMsYUFBYSxFQUFFO0lBQ2ZDLGNBQWM7SUFDZEMsTUFBTSxFQUFFO0lBQ1JDLE1BQU0sRUFBRTtJQUNSQyxRQUFRLENBQUM7SUFDVEMsY0FBYztJQUNkQyxzQkFBc0I7SUFDdEJDLFdBQVcsRUFBRTtJQUNiQyxTQUFTLEVBQUU7SUFDWEMsU0FBUztRQUNQQywrQkFBK0I7UUFDL0JDLGVBQWU7UUFDZkMsa0JBQWtCLENBQUMsRUFBRSxPQUFPdEIsU0FBU0MsUUFBUSxhQUFhRCxRQUFRQyxHQUFHLEtBQUssR0FBRyxlQUFlLENBQUM7SUFDL0Y7SUFDQXNCLE9BQU8sQ0FBQztJQUNSQyxjQUFjO0lBQ2RDLFVBQVU7SUFDVkMsUUFBUTtRQUNOL0IsT0FBTztRQUNQZ0MsS0FBSztRQUNMUixTQUFTO1FBQ1RTLG1CQUFtQjtJQUNyQjtJQUNBQyxXQUFXO0lBQ1hDLFdBQVc7SUFDWEMsWUFBWTtRQUNWQyxZQUFZLENBQUMsRUFBRSxPQUFPaEMsU0FBU0MsUUFBUSxhQUFhRCxRQUFRQyxHQUFHLEtBQUssR0FBRyxpQkFBaUIsQ0FBQztJQUMzRjtJQUNBZ0MsUUFBUSxDQUFDO0FBQ1gifQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvZGVmYXVsdHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcblxuaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdHM6IE9taXQ8Q29uZmlnLCAnZGInIHwgJ2VkaXRvcicgfCAnc2VjcmV0Jz4gPSB7XG4gIGFkbWluOiB7XG4gICAgYXZhdGFyOiAnZGVmYXVsdCcsXG4gICAgYnVpbGRQYXRoOiBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgJy4vYnVpbGQnKSxcbiAgICBjb21wb25lbnRzOiB7fSxcbiAgICBkYXRlRm9ybWF0OiAnTU1NTSBkbyB5eXl5LCBoOm1tIGEnLFxuICAgIGRpc2FibGU6IGZhbHNlLFxuICAgIGluYWN0aXZpdHlSb3V0ZTogJy9sb2dvdXQtaW5hY3Rpdml0eScsXG4gICAgbG9nb3V0Um91dGU6ICcvbG9nb3V0JyxcbiAgICBtZXRhOiB7XG4gICAgICB0aXRsZVN1ZmZpeDogJy0gUGF5bG9hZCcsXG4gICAgfSxcbiAgfSxcbiAgYmluOiBbXSxcbiAgY29sbGVjdGlvbnM6IFtdLFxuICBjb29raWVQcmVmaXg6ICdwYXlsb2FkJyxcbiAgY29yczogW10sXG4gIGNzcmY6IFtdLFxuICBjdXN0b206IHt9LFxuICBkZWZhdWx0RGVwdGg6IDIsXG4gIGRlZmF1bHRNYXhUZXh0TGVuZ3RoOiA0MDAwMCxcbiAgZW5kcG9pbnRzOiBbXSxcbiAgZ2xvYmFsczogW10sXG4gIGdyYXBoUUw6IHtcbiAgICBkaXNhYmxlUGxheWdyb3VuZEluUHJvZHVjdGlvbjogdHJ1ZSxcbiAgICBtYXhDb21wbGV4aXR5OiAxMDAwLFxuICAgIHNjaGVtYU91dHB1dEZpbGU6IGAke3R5cGVvZiBwcm9jZXNzPy5jd2QgPT09ICdmdW5jdGlvbicgPyBwcm9jZXNzLmN3ZCgpIDogJyd9L3NjaGVtYS5ncmFwaHFsYCxcbiAgfSxcbiAgaG9va3M6IHt9LFxuICBsb2NhbGl6YXRpb246IGZhbHNlLFxuICBtYXhEZXB0aDogMTAsXG4gIHJvdXRlczoge1xuICAgIGFkbWluOiAnL2FkbWluJyxcbiAgICBhcGk6ICcvYXBpJyxcbiAgICBncmFwaFFMOiAnL2dyYXBocWwnLFxuICAgIGdyYXBoUUxQbGF5Z3JvdW5kOiAnL2dyYXBocWwtcGxheWdyb3VuZCcsXG4gIH0sXG4gIHNlcnZlclVSTDogJycsXG4gIHRlbGVtZXRyeTogdHJ1ZSxcbiAgdHlwZXNjcmlwdDoge1xuICAgIG91dHB1dEZpbGU6IGAke3R5cGVvZiBwcm9jZXNzPy5jd2QgPT09ICdmdW5jdGlvbicgPyBwcm9jZXNzLmN3ZCgpIDogJyd9L3BheWxvYWQtdHlwZXMudHNgLFxuICB9LFxuICB1cGxvYWQ6IHt9LFxufVxuIl0sIm5hbWVzIjpbInBhdGgiLCJkZWZhdWx0cyIsImFkbWluIiwiYXZhdGFyIiwiYnVpbGRQYXRoIiwicmVzb2x2ZSIsInByb2Nlc3MiLCJjd2QiLCJjb21wb25lbnRzIiwiZGF0ZUZvcm1hdCIsImRpc2FibGUiLCJpbmFjdGl2aXR5Um91dGUiLCJsb2dvdXRSb3V0ZSIsIm1ldGEiLCJ0aXRsZVN1ZmZpeCIsImJpbiIsImNvbGxlY3Rpb25zIiwiY29va2llUHJlZml4IiwiY29ycyIsImNzcmYiLCJjdXN0b20iLCJkZWZhdWx0RGVwdGgiLCJkZWZhdWx0TWF4VGV4dExlbmd0aCIsImVuZHBvaW50cyIsImdsb2JhbHMiLCJncmFwaFFMIiwiZGlzYWJsZVBsYXlncm91bmRJblByb2R1Y3Rpb24iLCJtYXhDb21wbGV4aXR5Iiwic2NoZW1hT3V0cHV0RmlsZSIsImhvb2tzIiwibG9jYWxpemF0aW9uIiwibWF4RGVwdGgiLCJyb3V0ZXMiLCJhcGkiLCJncmFwaFFMUGxheWdyb3VuZCIsInNlcnZlclVSTCIsInRlbGVtZXRyeSIsInR5cGVzY3JpcHQiLCJvdXRwdXRGaWxlIiwidXBsb2FkIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxVQUFVLE9BQU07QUFJdkIsT0FBTyxNQUFNQyxXQUFxRDtJQUNoRUMsT0FBTztRQUNMQyxRQUFRO1FBQ1JDLFdBQVdKLEtBQUtLLE9BQU8sQ0FBQ0MsUUFBUUMsR0FBRyxJQUFJO1FBQ3ZDQyxZQUFZLENBQUM7UUFDYkMsWUFBWTtRQUNaQyxTQUFTO1FBQ1RDLGlCQUFpQjtRQUNqQkMsYUFBYTtRQUNiQyxNQUFNO1lBQ0pDLGFBQWE7UUFDZjtJQUNGO0lBQ0FDLEtBQUssRUFBRTtJQUNQQyxhQUFhLEVBQUU7SUFDZkMsY0FBYztJQUNkQyxNQUFNLEVBQUU7SUFDUkMsTUFBTSxFQUFFO0lBQ1JDLFFBQVEsQ0FBQztJQUNUQyxjQUFjO0lBQ2RDLHNCQUFzQjtJQUN0QkMsV0FBVyxFQUFFO0lBQ2JDLFNBQVMsRUFBRTtJQUNYQyxTQUFTO1FBQ1BDLCtCQUErQjtRQUMvQkMsZUFBZTtRQUNmQyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU90QixTQUFTQyxRQUFRLGFBQWFELFFBQVFDLEdBQUcsS0FBSyxHQUFHLGVBQWUsQ0FBQztJQUMvRjtJQUNBc0IsT0FBTyxDQUFDO0lBQ1JDLGNBQWM7SUFDZEMsVUFBVTtJQUNWQyxRQUFRO1FBQ045QixPQUFPO1FBQ1ArQixLQUFLO1FBQ0xSLFNBQVM7UUFDVFMsbUJBQW1CO0lBQ3JCO0lBQ0FDLFdBQVc7SUFDWEMsV0FBVztJQUNYQyxZQUFZO1FBQ1ZDLFlBQVksQ0FBQyxFQUFFLE9BQU9oQyxTQUFTQyxRQUFRLGFBQWFELFFBQVFDLEdBQUcsS0FBSyxHQUFHLGlCQUFpQixDQUFDO0lBQzNGO0lBQ0FnQyxRQUFRLENBQUM7QUFDWCxFQUFDIn0=