payload 2.14.1 → 2.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/dist/admin/components/elements/ArrayAction/index.d.ts.map +1 -1
  2. package/dist/admin/components/elements/ArrayAction/index.js +4 -4
  3. package/dist/admin/components/elements/ArrayAction/types.d.ts +1 -0
  4. package/dist/admin/components/elements/ArrayAction/types.d.ts.map +1 -1
  5. package/dist/admin/components/elements/DocumentHeader/Tabs/getCustomViews.d.ts +1 -0
  6. package/dist/admin/components/elements/DocumentHeader/Tabs/getCustomViews.d.ts.map +1 -1
  7. package/dist/admin/components/elements/DocumentHeader/Tabs/getViewConfig.d.ts +1 -0
  8. package/dist/admin/components/elements/DocumentHeader/Tabs/getViewConfig.d.ts.map +1 -1
  9. package/dist/admin/components/elements/Drawer/index.d.ts.map +1 -1
  10. package/dist/admin/components/elements/DuplicateDocument/index.js +2 -2
  11. package/dist/admin/components/elements/ListControls/index.d.ts.map +1 -1
  12. package/dist/admin/components/elements/ListControls/index.js +14 -1
  13. package/dist/admin/components/elements/ListDrawer/index.d.ts.map +1 -1
  14. package/dist/admin/components/elements/PublishMany/index.d.ts.map +1 -1
  15. package/dist/admin/components/elements/PublishMany/index.js +5 -5
  16. package/dist/admin/components/elements/TableColumns/buildColumns.d.ts.map +1 -1
  17. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  18. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.js +57 -8
  19. package/dist/admin/components/elements/WhereBuilder/Condition/index.js +11 -11
  20. package/dist/admin/components/elements/WhereBuilder/index.js +29 -28
  21. package/dist/admin/components/forms/Form/context.d.ts.map +1 -1
  22. package/dist/admin/components/forms/Form/getDataByPath.d.ts.map +1 -1
  23. package/dist/admin/components/forms/RenderFields/filterFields.d.ts +2 -2
  24. package/dist/admin/components/forms/RenderFields/filterFields.d.ts.map +1 -1
  25. package/dist/admin/components/forms/field-types/Array/ArrayRow.d.ts +1 -0
  26. package/dist/admin/components/forms/field-types/Array/ArrayRow.d.ts.map +1 -1
  27. package/dist/admin/components/forms/field-types/Array/ArrayRow.js +3 -2
  28. package/dist/admin/components/forms/field-types/Array/index.d.ts.map +1 -1
  29. package/dist/admin/components/forms/field-types/Array/index.js +12 -11
  30. package/dist/admin/components/forms/field-types/Blocks/BlockRow.d.ts +1 -0
  31. package/dist/admin/components/forms/field-types/Blocks/BlockRow.d.ts.map +1 -1
  32. package/dist/admin/components/forms/field-types/Blocks/BlockRow.js +3 -2
  33. package/dist/admin/components/forms/field-types/Blocks/RowActions.d.ts +1 -0
  34. package/dist/admin/components/forms/field-types/Blocks/RowActions.d.ts.map +1 -1
  35. package/dist/admin/components/forms/field-types/Blocks/RowActions.js +3 -2
  36. package/dist/admin/components/forms/field-types/Blocks/index.d.ts.map +1 -1
  37. package/dist/admin/components/forms/field-types/Blocks/index.js +4 -3
  38. package/dist/admin/components/forms/field-types/RadioGroup/Input.d.ts.map +1 -1
  39. package/dist/admin/components/forms/field-types/RadioGroup/Input.js +3 -2
  40. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/index.d.ts.map +1 -1
  41. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/index.js +3 -2
  42. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/index.scss +0 -28
  43. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/types.d.ts +1 -0
  44. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/types.d.ts.map +1 -1
  45. package/dist/admin/components/forms/field-types/RadioGroup/index.d.ts.map +1 -1
  46. package/dist/admin/components/forms/field-types/RadioGroup/index.js +2 -1
  47. package/dist/admin/components/forms/field-types/RadioGroup/index.scss +28 -0
  48. package/dist/admin/components/forms/field-types/RichText/types.d.ts +1 -0
  49. package/dist/admin/components/forms/field-types/RichText/types.d.ts.map +1 -1
  50. package/dist/admin/components/forms/field-types/getFilterOptionsQuery.d.ts.map +1 -1
  51. package/dist/admin/components/forms/useField/index.d.ts.map +1 -1
  52. package/dist/admin/components/forms/withCondition/index.d.ts.map +1 -1
  53. package/dist/admin/components/utilities/Auth/index.d.ts.map +1 -1
  54. package/dist/admin/components/utilities/FormQueryParams/index.d.ts.map +1 -1
  55. package/dist/admin/components/utilities/Portal/index.d.ts.map +1 -1
  56. package/dist/admin/components/views/Global/Routes/custom.d.ts +2 -1
  57. package/dist/admin/components/views/Global/Routes/custom.d.ts.map +1 -1
  58. package/dist/admin/components/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  59. package/dist/admin/components/views/Routes/collections.d.ts +1 -1
  60. package/dist/admin/components/views/Routes/collections.d.ts.map +1 -1
  61. package/dist/admin/components/views/Routes/globals.d.ts +1 -1
  62. package/dist/admin/components/views/Routes/globals.d.ts.map +1 -1
  63. package/dist/admin/components/views/Version/Restore/index.d.ts.map +1 -1
  64. package/dist/admin/components/views/Version/Restore/index.js +4 -2
  65. package/dist/admin/components/views/collections/Edit/Default/index.d.ts.map +1 -1
  66. package/dist/admin/components/views/collections/Edit/Default/index.js +4 -2
  67. package/dist/admin/components/views/collections/Edit/Routes/custom.d.ts +1 -1
  68. package/dist/admin/components/views/collections/Edit/Routes/custom.d.ts.map +1 -1
  69. package/dist/admin/components/views/collections/Edit/index.d.ts.map +1 -1
  70. package/dist/admin/components/views/collections/Edit/index.js +11 -3
  71. package/dist/admin/hooks/useHotkey.d.ts.map +1 -1
  72. package/dist/admin/hooks/usePayloadAPI.d.ts +1 -0
  73. package/dist/admin/hooks/usePayloadAPI.d.ts.map +1 -1
  74. package/dist/admin/hooks/usePayloadAPI.js +15 -11
  75. package/dist/admin/hooks/useTitle.d.ts +1 -0
  76. package/dist/admin/hooks/useTitle.d.ts.map +1 -1
  77. package/dist/admin/utilities/setsAreEqual.d.ts.map +1 -1
  78. package/dist/auth/operations/login.d.ts.map +1 -1
  79. package/dist/auth/operations/login.js +2 -1
  80. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
  81. package/dist/collections/bindCollection.d.ts +1 -1
  82. package/dist/collections/bindCollection.d.ts.map +1 -1
  83. package/dist/collections/dataloader.d.ts.map +1 -1
  84. package/dist/collections/dataloader.js +8 -5
  85. package/dist/collections/graphql/init.d.ts.map +1 -1
  86. package/dist/collections/graphql/init.js +27 -16
  87. package/dist/collections/graphql/resolvers/count.d.ts.map +1 -1
  88. package/dist/collections/graphql/resolvers/count.js +2 -1
  89. package/dist/collections/graphql/resolvers/create.d.ts.map +1 -1
  90. package/dist/collections/graphql/resolvers/create.js +5 -1
  91. package/dist/collections/graphql/resolvers/delete.d.ts.map +1 -1
  92. package/dist/collections/graphql/resolvers/delete.js +5 -1
  93. package/dist/collections/graphql/resolvers/find.d.ts.map +1 -1
  94. package/dist/collections/graphql/resolvers/find.js +5 -1
  95. package/dist/collections/graphql/resolvers/findByID.d.ts.map +1 -1
  96. package/dist/collections/graphql/resolvers/findByID.js +5 -1
  97. package/dist/collections/graphql/resolvers/findVersionByID.d.ts +0 -1
  98. package/dist/collections/graphql/resolvers/findVersionByID.d.ts.map +1 -1
  99. package/dist/collections/graphql/resolvers/findVersionByID.js +2 -2
  100. package/dist/collections/graphql/resolvers/findVersions.d.ts.map +1 -1
  101. package/dist/collections/graphql/resolvers/findVersions.js +5 -1
  102. package/dist/collections/graphql/resolvers/update.d.ts.map +1 -1
  103. package/dist/collections/graphql/resolvers/update.js +5 -1
  104. package/dist/collections/operations/create.d.ts.map +1 -1
  105. package/dist/collections/operations/create.js +2 -1
  106. package/dist/collections/operations/delete.d.ts.map +1 -1
  107. package/dist/collections/operations/delete.js +2 -1
  108. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  109. package/dist/collections/operations/deleteByID.js +2 -1
  110. package/dist/collections/operations/find.d.ts.map +1 -1
  111. package/dist/collections/operations/find.js +2 -1
  112. package/dist/collections/operations/findByID.d.ts.map +1 -1
  113. package/dist/collections/operations/findByID.js +2 -1
  114. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  115. package/dist/collections/operations/findVersionByID.js +2 -1
  116. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  117. package/dist/collections/operations/findVersions.js +2 -1
  118. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  119. package/dist/collections/operations/restoreVersion.js +2 -1
  120. package/dist/collections/operations/update.d.ts.map +1 -1
  121. package/dist/collections/operations/update.js +3 -1
  122. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  123. package/dist/collections/operations/updateByID.js +3 -1
  124. package/dist/collections/operations/utils.d.ts +1 -1
  125. package/dist/collections/operations/utils.d.ts.map +1 -1
  126. package/dist/config/load.d.ts +1 -0
  127. package/dist/config/load.d.ts.map +1 -1
  128. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  129. package/dist/express/responses/formatError.d.ts +4 -2
  130. package/dist/express/responses/formatError.d.ts.map +1 -1
  131. package/dist/fields/config/schema.d.ts.map +1 -1
  132. package/dist/fields/config/schema.js +6 -2
  133. package/dist/fields/config/types.d.ts +8 -0
  134. package/dist/fields/config/types.d.ts.map +1 -1
  135. package/dist/fields/config/types.js +1 -1
  136. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  137. package/dist/fields/hooks/afterRead/index.d.ts +1 -0
  138. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  139. package/dist/fields/hooks/afterRead/index.js +3 -2
  140. package/dist/fields/hooks/afterRead/promise.d.ts +2 -1
  141. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  142. package/dist/fields/hooks/afterRead/promise.js +12 -2
  143. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -1
  144. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  145. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +9 -4
  146. package/dist/fields/hooks/afterRead/traverseFields.d.ts +2 -1
  147. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  148. package/dist/fields/hooks/afterRead/traverseFields.js +3 -2
  149. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  150. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  151. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  152. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  153. package/dist/globals/operations/findOne.d.ts.map +1 -1
  154. package/dist/globals/operations/findOne.js +2 -1
  155. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  156. package/dist/globals/operations/findVersionByID.js +2 -1
  157. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  158. package/dist/globals/operations/findVersions.js +2 -1
  159. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  160. package/dist/globals/operations/restoreVersion.js +2 -1
  161. package/dist/globals/operations/update.d.ts.map +1 -1
  162. package/dist/globals/operations/update.js +3 -1
  163. package/dist/globals/requestHandlers/findVersions.d.ts +1 -1
  164. package/dist/globals/requestHandlers/findVersions.d.ts.map +1 -1
  165. package/dist/graphql/schema/buildObjectType.d.ts.map +1 -1
  166. package/dist/graphql/schema/buildObjectType.js +21 -9
  167. package/dist/payload.d.ts +12 -12
  168. package/dist/payload.d.ts.map +1 -1
  169. package/dist/translations/cs.json +17 -17
  170. package/dist/uploads/generateFileData.d.ts.map +1 -1
  171. package/dist/utilities/formatLabels.d.ts +1 -0
  172. package/dist/utilities/formatLabels.d.ts.map +1 -1
  173. package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
  174. package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -1
  175. package/dist/utilities/telemetry/oneWayHash.d.ts +0 -1
  176. package/dist/utilities/telemetry/oneWayHash.d.ts.map +1 -1
  177. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  178. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  179. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  180. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,QAAQ,EAAE,MAAM,SAAS,CAAA;AAItD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAgBpC,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,GAAG,CAAC,EAAE,QAAQ,CAAA;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,iBAAe,KAAK,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EACpE,YAAY,EAAE,SAAS,GACtB,OAAO,CAAC,MAAM,GAAG;IAAE,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAA;CAAE,CAAC,CA2OlE;AAED,eAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,QAAQ,EAAE,MAAM,SAAS,CAAA;AAItD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAgBpC,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,GAAG,CAAC,EAAE,QAAQ,CAAA;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,iBAAe,KAAK,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EACpE,YAAY,EAAE,SAAS,GACtB,OAAO,CAAC,MAAM,GAAG;IAAE,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAA;CAAE,CAAC,CA4OlE;AAED,eAAe,KAAK,CAAA"}
@@ -158,6 +158,7 @@ async function login(incomingArgs) {
158
158
  context: req.context,
159
159
  depth,
160
160
  doc: user,
161
+ draft: undefined,
161
162
  fallbackLocale,
162
163
  global: null,
163
164
  locale,
@@ -218,4 +219,4 @@ async function login(incomingArgs) {
218
219
  }
219
220
  const _default = login;
220
221
 
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL29wZXJhdGlvbnMvbG9naW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb29raWVPcHRpb25zLCBSZXNwb25zZSB9IGZyb20gJ2V4cHJlc3MnXG5cbmltcG9ydCBqd3QgZnJvbSAnanNvbndlYnRva2VuJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFVzZXIgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgYnVpbGRBZnRlck9wZXJhdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvdXRpbHMnXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvbkVycm9yLCBMb2NrZWRBdXRoLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgZ2V0Q29va2llRXhwaXJhdGlvbiBmcm9tICcuLi8uLi91dGlsaXRpZXMvZ2V0Q29va2llRXhwaXJhdGlvbidcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHNhbml0aXplSW50ZXJuYWxGaWVsZHMgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3Nhbml0aXplSW50ZXJuYWxGaWVsZHMnXG5pbXBvcnQgaXNMb2NrZWQgZnJvbSAnLi4vaXNMb2NrZWQnXG5pbXBvcnQgeyBhdXRoZW50aWNhdGVMb2NhbFN0cmF0ZWd5IH0gZnJvbSAnLi4vc3RyYXRlZ2llcy9sb2NhbC9hdXRoZW50aWNhdGUnXG5pbXBvcnQgeyBpbmNyZW1lbnRMb2dpbkF0dGVtcHRzIH0gZnJvbSAnLi4vc3RyYXRlZ2llcy9sb2NhbC9pbmNyZW1lbnRMb2dpbkF0dGVtcHRzJ1xuaW1wb3J0IHsgcmVzZXRMb2dpbkF0dGVtcHRzIH0gZnJvbSAnLi4vc3RyYXRlZ2llcy9sb2NhbC9yZXNldExvZ2luQXR0ZW1wdHMnXG5pbXBvcnQgeyBnZXRGaWVsZHNUb1NpZ24gfSBmcm9tICcuL2dldEZpZWxkc1RvU2lnbidcblxuZXhwb3J0IHR5cGUgUmVzdWx0ID0ge1xuICBleHA/OiBudW1iZXJcbiAgdG9rZW4/OiBzdHJpbmdcbiAgdXNlcj86IFVzZXJcbn1cblxuZXhwb3J0IHR5cGUgQXJndW1lbnRzID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIGRhdGE6IHtcbiAgICBlbWFpbDogc3RyaW5nXG4gICAgcGFzc3dvcmQ6IHN0cmluZ1xuICB9XG4gIGRlcHRoPzogbnVtYmVyXG4gIG92ZXJyaWRlQWNjZXNzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHJlcz86IFJlc3BvbnNlXG4gIHNob3dIaWRkZW5GaWVsZHM/OiBib29sZWFuXG59XG5cbmFzeW5jIGZ1bmN0aW9uIGxvZ2luPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBpbmNvbWluZ0FyZ3M6IEFyZ3VtZW50cyxcbik6IFByb21pc2U8UmVzdWx0ICYgeyB1c2VyOiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10gfT4ge1xuICBsZXQgYXJncyA9IGluY29taW5nQXJnc1xuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2hvdWxkQ29tbWl0ID0gYXdhaXQgaW5pdFRyYW5zYWN0aW9uKGFyZ3MucmVxKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZU9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLmhvb2tzLmJlZm9yZU9wZXJhdGlvbi5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIGFyZ3MgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgYXJncyxcbiAgICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24/LmNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiBhcmdzLnJlcS5jb250ZXh0LFxuICAgICAgICAgIG9wZXJhdGlvbjogJ2xvZ2luJyxcbiAgICAgICAgICByZXE6IGFyZ3MucmVxLFxuICAgICAgICB9KSkgfHwgYXJnc1xuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgY29uc3Qge1xuICAgICAgY29sbGVjdGlvbjogeyBjb25maWc6IGNvbGxlY3Rpb25Db25maWcgfSxcbiAgICAgIGRhdGEsXG4gICAgICBkZXB0aCxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxLFxuICAgICAgcmVxOiB7XG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHBheWxvYWQsXG4gICAgICAgIHBheWxvYWQ6IHsgY29uZmlnLCBzZWNyZXQgfSxcbiAgICAgIH0sXG4gICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgIH0gPSBhcmdzXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gTG9naW5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCB7IGVtYWlsOiB1bnNhbml0aXplZEVtYWlsLCBwYXNzd29yZCB9ID0gZGF0YVxuXG4gICAgaWYgKHR5cGVvZiB1bnNhbml0aXplZEVtYWlsICE9PSAnc3RyaW5nJyB8fCB1bnNhbml0aXplZEVtYWlsLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoW3sgZmllbGQ6ICdlbWFpbCcsIG1lc3NhZ2U6IHJlcS5pMThuLnQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKSB9XSlcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBwYXNzd29yZCAhPT0gJ3N0cmluZycgfHwgcGFzc3dvcmQudHJpbSgpID09PSAnJykge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbeyBmaWVsZDogJ3Bhc3N3b3JkJywgbWVzc2FnZTogcmVxLmkxOG4udCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpIH1dKVxuICAgIH1cblxuICAgIGNvbnN0IGVtYWlsID0gdW5zYW5pdGl6ZWRFbWFpbCA/IHVuc2FuaXRpemVkRW1haWwudG9Mb3dlckNhc2UoKS50cmltKCkgOiBudWxsXG5cbiAgICBsZXQgdXNlciA9IGF3YWl0IHBheWxvYWQuZGIuZmluZE9uZTxhbnk+KHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgIHJlcSxcbiAgICAgIHdoZXJlOiB7IGVtYWlsOiB7IGVxdWFsczogZW1haWwudG9Mb3dlckNhc2UoKSB9IH0sXG4gICAgfSlcblxuICAgIGlmICghdXNlciB8fCAoYXJncy5jb2xsZWN0aW9uLmNvbmZpZy5hdXRoLnZlcmlmeSAmJiB1c2VyLl92ZXJpZmllZCA9PT0gZmFsc2UpKSB7XG4gICAgICB0aHJvdyBuZXcgQXV0aGVudGljYXRpb25FcnJvcihyZXEudClcbiAgICB9XG5cbiAgICBpZiAodXNlciAmJiBpc0xvY2tlZCh1c2VyLmxvY2tVbnRpbCkpIHtcbiAgICAgIHRocm93IG5ldyBMb2NrZWRBdXRoKHJlcS50KVxuICAgIH1cblxuICAgIGNvbnN0IGF1dGhSZXN1bHQgPSBhd2FpdCBhdXRoZW50aWNhdGVMb2NhbFN0cmF0ZWd5KHsgZG9jOiB1c2VyLCBwYXNzd29yZCB9KVxuXG4gICAgdXNlciA9IHNhbml0aXplSW50ZXJuYWxGaWVsZHModXNlcilcblxuICAgIGNvbnN0IG1heExvZ2luQXR0ZW1wdHNFbmFibGVkID0gYXJncy5jb2xsZWN0aW9uLmNvbmZpZy5hdXRoLm1heExvZ2luQXR0ZW1wdHMgPiAwXG5cbiAgICBpZiAoIWF1dGhSZXN1bHQpIHtcbiAgICAgIGlmIChtYXhMb2dpbkF0dGVtcHRzRW5hYmxlZCkge1xuICAgICAgICBhd2FpdCBpbmNyZW1lbnRMb2dpbkF0dGVtcHRzKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgIGRvYzogdXNlcixcbiAgICAgICAgICBwYXlsb2FkOiByZXEucGF5bG9hZCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgICAgdGhyb3cgbmV3IEF1dGhlbnRpY2F0aW9uRXJyb3IocmVxLnQpXG4gICAgfVxuXG4gICAgaWYgKG1heExvZ2luQXR0ZW1wdHNFbmFibGVkKSB7XG4gICAgICBhd2FpdCByZXNldExvZ2luQXR0ZW1wdHMoe1xuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICBkb2M6IHVzZXIsXG4gICAgICAgIHBheWxvYWQ6IHJlcS5wYXlsb2FkLFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IGZpZWxkc1RvU2lnbiA9IGdldEZpZWxkc1RvU2lnbih7XG4gICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgZW1haWwsXG4gICAgICB1c2VyLFxuICAgIH0pXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmJlZm9yZUxvZ2luLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgdXNlciA9XG4gICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24/LmNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiBhcmdzLnJlcS5jb250ZXh0LFxuICAgICAgICAgIHJlcTogYXJncy5yZXEsXG4gICAgICAgICAgdXNlcixcbiAgICAgICAgfSkpIHx8IHVzZXJcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIGNvbnN0IHRva2VuID0gand0LnNpZ24oZmllbGRzVG9TaWduLCBzZWNyZXQsIHtcbiAgICAgIGV4cGlyZXNJbjogY29sbGVjdGlvbkNvbmZpZy5hdXRoLnRva2VuRXhwaXJhdGlvbixcbiAgICB9KVxuXG4gICAgaWYgKGFyZ3MucmVzKSB7XG4gICAgICBjb25zdCBjb29raWVPcHRpb25zOiBDb29raWVPcHRpb25zID0ge1xuICAgICAgICBkb21haW46IHVuZGVmaW5lZCxcbiAgICAgICAgZXhwaXJlczogZ2V0Q29va2llRXhwaXJhdGlvbihjb2xsZWN0aW9uQ29uZmlnLmF1dGgudG9rZW5FeHBpcmF0aW9uKSxcbiAgICAgICAgaHR0cE9ubHk6IHRydWUsXG4gICAgICAgIHBhdGg6ICcvJyxcbiAgICAgICAgc2FtZVNpdGU6IGNvbGxlY3Rpb25Db25maWcuYXV0aC5jb29raWVzLnNhbWVTaXRlLFxuICAgICAgICBzZWN1cmU6IGNvbGxlY3Rpb25Db25maWcuYXV0aC5jb29raWVzLnNlY3VyZSxcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbGxlY3Rpb25Db25maWcuYXV0aC5jb29raWVzLmRvbWFpbilcbiAgICAgICAgY29va2llT3B0aW9ucy5kb21haW4gPSBjb2xsZWN0aW9uQ29uZmlnLmF1dGguY29va2llcy5kb21haW5cblxuICAgICAgYXJncy5yZXMuY29va2llKGAke2NvbmZpZy5jb29raWVQcmVmaXh9LXRva2VuYCwgdG9rZW4sIGNvb2tpZU9wdGlvbnMpXG4gICAgfVxuXG4gICAgcmVxLnVzZXIgPSB1c2VyXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJMb2dpbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyTG9naW4ucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICB1c2VyID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGFyZ3MuY29sbGVjdGlvbj8uY29uZmlnLFxuICAgICAgICAgIGNvbnRleHQ6IGFyZ3MucmVxLmNvbnRleHQsXG4gICAgICAgICAgcmVxOiBhcmdzLnJlcSxcbiAgICAgICAgICB0b2tlbixcbiAgICAgICAgICB1c2VyLFxuICAgICAgICB9KSkgfHwgdXNlclxuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHVzZXIgPSBhd2FpdCBhZnRlclJlYWQoe1xuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGVwdGgsXG4gICAgICBkb2M6IHVzZXIsXG4gICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgIGxvY2FsZSxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxLFxuICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyUmVhZC5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIHVzZXIgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogYXJncy5jb2xsZWN0aW9uPy5jb25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZG9jOiB1c2VyLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSkpIHx8IHVzZXJcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICB1c2VyID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGFyZ3MuY29sbGVjdGlvbj8uY29uZmlnLFxuICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgIGRvYzogdXNlcixcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCB1c2VyXG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICBsZXQgcmVzdWx0OiBSZXN1bHQgJiB7IHVzZXI6IEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXSB9ID0ge1xuICAgICAgZXhwOiAoand0LmRlY29kZSh0b2tlbikgYXMgand0Lkp3dFBheWxvYWQpLmV4cCxcbiAgICAgIHRva2VuLFxuICAgICAgdXNlcixcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJPcGVyYXRpb24gLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgcmVzdWx0ID0gYXdhaXQgYnVpbGRBZnRlck9wZXJhdGlvbjxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+KHtcbiAgICAgIGFyZ3MsXG4gICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24/LmNvbmZpZyxcbiAgICAgIG9wZXJhdGlvbjogJ2xvZ2luJyxcbiAgICAgIHJlc3VsdCxcbiAgICB9KVxuXG4gICAgaWYgKGNvbGxlY3Rpb25Db25maWcuYXV0aC5yZW1vdmVUb2tlbkZyb21SZXNwb25zZXMpIHtcbiAgICAgIGRlbGV0ZSByZXN1bHQudG9rZW5cbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gUmV0dXJuIHJlc3VsdHNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoc2hvdWxkQ29tbWl0KSBhd2FpdCBjb21taXRUcmFuc2FjdGlvbihyZXEpXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgYXdhaXQga2lsbFRyYW5zYWN0aW9uKGFyZ3MucmVxKVxuICAgIHRocm93IGVycm9yXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgbG9naW5cbiJdLCJuYW1lcyI6WyJsb2dpbiIsImluY29taW5nQXJncyIsImFyZ3MiLCJzaG91bGRDb21taXQiLCJpbml0VHJhbnNhY3Rpb24iLCJyZXEiLCJjb2xsZWN0aW9uIiwiY29uZmlnIiwiaG9va3MiLCJiZWZvcmVPcGVyYXRpb24iLCJyZWR1Y2UiLCJwcmlvckhvb2siLCJob29rIiwiY29udGV4dCIsIm9wZXJhdGlvbiIsIlByb21pc2UiLCJyZXNvbHZlIiwiY29sbGVjdGlvbkNvbmZpZyIsImRhdGEiLCJkZXB0aCIsIm92ZXJyaWRlQWNjZXNzIiwiZmFsbGJhY2tMb2NhbGUiLCJsb2NhbGUiLCJwYXlsb2FkIiwic2VjcmV0Iiwic2hvd0hpZGRlbkZpZWxkcyIsImVtYWlsIiwidW5zYW5pdGl6ZWRFbWFpbCIsInBhc3N3b3JkIiwidHJpbSIsIlZhbGlkYXRpb25FcnJvciIsImZpZWxkIiwibWVzc2FnZSIsImkxOG4iLCJ0IiwidG9Mb3dlckNhc2UiLCJ1c2VyIiwiZGIiLCJmaW5kT25lIiwic2x1ZyIsIndoZXJlIiwiZXF1YWxzIiwiYXV0aCIsInZlcmlmeSIsIl92ZXJpZmllZCIsIkF1dGhlbnRpY2F0aW9uRXJyb3IiLCJpc0xvY2tlZCIsImxvY2tVbnRpbCIsIkxvY2tlZEF1dGgiLCJhdXRoUmVzdWx0IiwiYXV0aGVudGljYXRlTG9jYWxTdHJhdGVneSIsImRvYyIsInNhbml0aXplSW50ZXJuYWxGaWVsZHMiLCJtYXhMb2dpbkF0dGVtcHRzRW5hYmxlZCIsIm1heExvZ2luQXR0ZW1wdHMiLCJpbmNyZW1lbnRMb2dpbkF0dGVtcHRzIiwiY29tbWl0VHJhbnNhY3Rpb24iLCJyZXNldExvZ2luQXR0ZW1wdHMiLCJmaWVsZHNUb1NpZ24iLCJnZXRGaWVsZHNUb1NpZ24iLCJiZWZvcmVMb2dpbiIsInRva2VuIiwiand0Iiwic2lnbiIsImV4cGlyZXNJbiIsInRva2VuRXhwaXJhdGlvbiIsInJlcyIsImNvb2tpZU9wdGlvbnMiLCJkb21haW4iLCJ1bmRlZmluZWQiLCJleHBpcmVzIiwiZ2V0Q29va2llRXhwaXJhdGlvbiIsImh0dHBPbmx5IiwicGF0aCIsInNhbWVTaXRlIiwiY29va2llcyIsInNlY3VyZSIsImNvb2tpZSIsImNvb2tpZVByZWZpeCIsImFmdGVyTG9naW4iLCJhZnRlclJlYWQiLCJnbG9iYWwiLCJyZXN1bHQiLCJleHAiLCJkZWNvZGUiLCJidWlsZEFmdGVyT3BlcmF0aW9uIiwicmVtb3ZlVG9rZW5Gcm9tUmVzcG9uc2VzIiwiZXJyb3IiLCJraWxsVHJhbnNhY3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBeVJBOzs7ZUFBQTs7O3FFQXZSZ0I7dUJBT29CO3dCQUM2QjsyQkFDdkM7bUNBQ1E7NEVBQ0Y7aUNBQ0E7aUNBQ0E7K0VBQ0c7aUVBQ2Q7OEJBQ3FCO3dDQUNIO29DQUNKO2lDQUNIOzs7Ozs7QUFxQmhDLGVBQWVBLE1BQ2JDLFlBQXVCO0lBRXZCLElBQUlDLE9BQU9EO0lBRVgsSUFBSTtRQUNGLE1BQU1FLGVBQWUsTUFBTUMsSUFBQUEsZ0NBQWUsRUFBQ0YsS0FBS0csR0FBRztRQUVuRCx3Q0FBd0M7UUFDeEMsK0JBQStCO1FBQy9CLHdDQUF3QztRQUV4QyxNQUFNSCxLQUFLSSxVQUFVLENBQUNDLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDQyxlQUFlLENBQUNDLE1BQU0sQ0FBQyxPQUFPQyxXQUFXQztZQUMxRSxNQUFNRDtZQUVOVCxPQUNFLEFBQUMsTUFBTVUsS0FBSztnQkFDVlY7Z0JBQ0FJLFlBQVlKLEtBQUtJLFVBQVUsRUFBRUM7Z0JBQzdCTSxTQUFTWCxLQUFLRyxHQUFHLENBQUNRLE9BQU87Z0JBQ3pCQyxXQUFXO2dCQUNYVCxLQUFLSCxLQUFLRyxHQUFHO1lBQ2YsTUFBT0g7UUFDWCxHQUFHYSxRQUFRQyxPQUFPO1FBRWxCLE1BQU0sRUFDSlYsWUFBWSxFQUFFQyxRQUFRVSxnQkFBZ0IsRUFBRSxFQUN4Q0MsSUFBSSxFQUNKQyxLQUFLLEVBQ0xDLGNBQWMsRUFDZGYsR0FBRyxFQUNIQSxLQUFLLEVBQ0hnQixjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsT0FBTyxFQUNQQSxTQUFTLEVBQUVoQixNQUFNLEVBQUVpQixNQUFNLEVBQUUsRUFDNUIsRUFDREMsZ0JBQWdCLEVBQ2pCLEdBQUd2QjtRQUVKLHdDQUF3QztRQUN4QyxRQUFRO1FBQ1Isd0NBQXdDO1FBRXhDLE1BQU0sRUFBRXdCLE9BQU9DLGdCQUFnQixFQUFFQyxRQUFRLEVBQUUsR0FBR1Y7UUFFOUMsSUFBSSxPQUFPUyxxQkFBcUIsWUFBWUEsaUJBQWlCRSxJQUFJLE9BQU8sSUFBSTtZQUMxRSxNQUFNLElBQUlDLHVCQUFlLENBQUM7Z0JBQUM7b0JBQUVDLE9BQU87b0JBQVNDLFNBQVMzQixJQUFJNEIsSUFBSSxDQUFDQyxDQUFDLENBQUM7Z0JBQXVCO2FBQUU7UUFDNUY7UUFDQSxJQUFJLE9BQU9OLGFBQWEsWUFBWUEsU0FBU0MsSUFBSSxPQUFPLElBQUk7WUFDMUQsTUFBTSxJQUFJQyx1QkFBZSxDQUFDO2dCQUFDO29CQUFFQyxPQUFPO29CQUFZQyxTQUFTM0IsSUFBSTRCLElBQUksQ0FBQ0MsQ0FBQyxDQUFDO2dCQUF1QjthQUFFO1FBQy9GO1FBRUEsTUFBTVIsUUFBUUMsbUJBQW1CQSxpQkFBaUJRLFdBQVcsR0FBR04sSUFBSSxLQUFLO1FBRXpFLElBQUlPLE9BQU8sTUFBTWIsUUFBUWMsRUFBRSxDQUFDQyxPQUFPLENBQU07WUFDdkNoQyxZQUFZVyxpQkFBaUJzQixJQUFJO1lBQ2pDbEM7WUFDQW1DLE9BQU87Z0JBQUVkLE9BQU87b0JBQUVlLFFBQVFmLE1BQU1TLFdBQVc7Z0JBQUc7WUFBRTtRQUNsRDtRQUVBLElBQUksQ0FBQ0MsUUFBU2xDLEtBQUtJLFVBQVUsQ0FBQ0MsTUFBTSxDQUFDbUMsSUFBSSxDQUFDQyxNQUFNLElBQUlQLEtBQUtRLFNBQVMsS0FBSyxPQUFRO1lBQzdFLE1BQU0sSUFBSUMsMkJBQW1CLENBQUN4QyxJQUFJNkIsQ0FBQztRQUNyQztRQUVBLElBQUlFLFFBQVFVLElBQUFBLGlCQUFRLEVBQUNWLEtBQUtXLFNBQVMsR0FBRztZQUNwQyxNQUFNLElBQUlDLGtCQUFVLENBQUMzQyxJQUFJNkIsQ0FBQztRQUM1QjtRQUVBLE1BQU1lLGFBQWEsTUFBTUMsSUFBQUEsdUNBQXlCLEVBQUM7WUFBRUMsS0FBS2Y7WUFBTVI7UUFBUztRQUV6RVEsT0FBT2dCLElBQUFBLCtCQUFzQixFQUFDaEI7UUFFOUIsTUFBTWlCLDBCQUEwQm5ELEtBQUtJLFVBQVUsQ0FBQ0MsTUFBTSxDQUFDbUMsSUFBSSxDQUFDWSxnQkFBZ0IsR0FBRztRQUUvRSxJQUFJLENBQUNMLFlBQVk7WUFDZixJQUFJSSx5QkFBeUI7Z0JBQzNCLE1BQU1FLElBQUFBLDhDQUFzQixFQUFDO29CQUMzQmpELFlBQVlXO29CQUNaa0MsS0FBS2Y7b0JBQ0xiLFNBQVNsQixJQUFJa0IsT0FBTztvQkFDcEJsQjtnQkFDRjtZQUNGO1lBRUEsSUFBSUYsY0FBYyxNQUFNcUQsSUFBQUEsb0NBQWlCLEVBQUNuRDtZQUUxQyxNQUFNLElBQUl3QywyQkFBbUIsQ0FBQ3hDLElBQUk2QixDQUFDO1FBQ3JDO1FBRUEsSUFBSW1CLHlCQUF5QjtZQUMzQixNQUFNSSxJQUFBQSxzQ0FBa0IsRUFBQztnQkFDdkJuRCxZQUFZVztnQkFDWmtDLEtBQUtmO2dCQUNMYixTQUFTbEIsSUFBSWtCLE9BQU87Z0JBQ3BCbEI7WUFDRjtRQUNGO1FBRUEsTUFBTXFELGVBQWVDLElBQUFBLGdDQUFlLEVBQUM7WUFDbkMxQztZQUNBUztZQUNBVTtRQUNGO1FBRUEsTUFBTW5CLGlCQUFpQlQsS0FBSyxDQUFDb0QsV0FBVyxDQUFDbEQsTUFBTSxDQUFDLE9BQU9DLFdBQVdDO1lBQ2hFLE1BQU1EO1lBRU55QixPQUNFLEFBQUMsTUFBTXhCLEtBQUs7Z0JBQ1ZOLFlBQVlKLEtBQUtJLFVBQVUsRUFBRUM7Z0JBQzdCTSxTQUFTWCxLQUFLRyxHQUFHLENBQUNRLE9BQU87Z0JBQ3pCUixLQUFLSCxLQUFLRyxHQUFHO2dCQUNiK0I7WUFDRixNQUFPQTtRQUNYLEdBQUdyQixRQUFRQyxPQUFPO1FBRWxCLE1BQU02QyxRQUFRQyxxQkFBRyxDQUFDQyxJQUFJLENBQUNMLGNBQWNsQyxRQUFRO1lBQzNDd0MsV0FBVy9DLGlCQUFpQnlCLElBQUksQ0FBQ3VCLGVBQWU7UUFDbEQ7UUFFQSxJQUFJL0QsS0FBS2dFLEdBQUcsRUFBRTtZQUNaLE1BQU1DLGdCQUErQjtnQkFDbkNDLFFBQVFDO2dCQUNSQyxTQUFTQyxJQUFBQSw0QkFBbUIsRUFBQ3RELGlCQUFpQnlCLElBQUksQ0FBQ3VCLGVBQWU7Z0JBQ2xFTyxVQUFVO2dCQUNWQyxNQUFNO2dCQUNOQyxVQUFVekQsaUJBQWlCeUIsSUFBSSxDQUFDaUMsT0FBTyxDQUFDRCxRQUFRO2dCQUNoREUsUUFBUTNELGlCQUFpQnlCLElBQUksQ0FBQ2lDLE9BQU8sQ0FBQ0MsTUFBTTtZQUM5QztZQUVBLElBQUkzRCxpQkFBaUJ5QixJQUFJLENBQUNpQyxPQUFPLENBQUNQLE1BQU0sRUFDdENELGNBQWNDLE1BQU0sR0FBR25ELGlCQUFpQnlCLElBQUksQ0FBQ2lDLE9BQU8sQ0FBQ1AsTUFBTTtZQUU3RGxFLEtBQUtnRSxHQUFHLENBQUNXLE1BQU0sQ0FBQyxDQUFDLEVBQUV0RSxPQUFPdUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFakIsT0FBT007UUFDekQ7UUFFQTlELElBQUkrQixJQUFJLEdBQUdBO1FBRVgsd0NBQXdDO1FBQ3hDLDBCQUEwQjtRQUMxQix3Q0FBd0M7UUFFeEMsTUFBTW5CLGlCQUFpQlQsS0FBSyxDQUFDdUUsVUFBVSxDQUFDckUsTUFBTSxDQUFDLE9BQU9DLFdBQVdDO1lBQy9ELE1BQU1EO1lBRU55QixPQUNFLEFBQUMsTUFBTXhCLEtBQUs7Z0JBQ1ZOLFlBQVlKLEtBQUtJLFVBQVUsRUFBRUM7Z0JBQzdCTSxTQUFTWCxLQUFLRyxHQUFHLENBQUNRLE9BQU87Z0JBQ3pCUixLQUFLSCxLQUFLRyxHQUFHO2dCQUNid0Q7Z0JBQ0F6QjtZQUNGLE1BQU9BO1FBQ1gsR0FBR3JCLFFBQVFDLE9BQU87UUFFbEIsd0NBQXdDO1FBQ3hDLHFCQUFxQjtRQUNyQix3Q0FBd0M7UUFFeENvQixPQUFPLE1BQU00QyxJQUFBQSxvQkFBUyxFQUFDO1lBQ3JCMUUsWUFBWVc7WUFDWkosU0FBU1IsSUFBSVEsT0FBTztZQUNwQk07WUFDQWdDLEtBQUtmO1lBQ0xmO1lBQ0E0RCxRQUFRO1lBQ1IzRDtZQUNBRjtZQUNBZjtZQUNBb0I7UUFDRjtRQUVBLHdDQUF3QztRQUN4Qyx5QkFBeUI7UUFDekIsd0NBQXdDO1FBRXhDLE1BQU1SLGlCQUFpQlQsS0FBSyxDQUFDd0UsU0FBUyxDQUFDdEUsTUFBTSxDQUFDLE9BQU9DLFdBQVdDO1lBQzlELE1BQU1EO1lBRU55QixPQUNFLEFBQUMsTUFBTXhCLEtBQUs7Z0JBQ1ZOLFlBQVlKLEtBQUtJLFVBQVUsRUFBRUM7Z0JBQzdCTSxTQUFTUixJQUFJUSxPQUFPO2dCQUNwQnNDLEtBQUtmO2dCQUNML0I7WUFDRixNQUFPK0I7UUFDWCxHQUFHckIsUUFBUUMsT0FBTztRQUVsQix3Q0FBd0M7UUFDeEMseUJBQXlCO1FBQ3pCLHdDQUF3QztRQUV4QyxNQUFNQyxpQkFBaUJULEtBQUssQ0FBQ3dFLFNBQVMsQ0FBQ3RFLE1BQU0sQ0FBQyxPQUFPQyxXQUFXQztZQUM5RCxNQUFNRDtZQUVOeUIsT0FDRSxBQUFDLE1BQU14QixLQUFLO2dCQUNWTixZQUFZSixLQUFLSSxVQUFVLEVBQUVDO2dCQUM3Qk0sU0FBU1IsSUFBSVEsT0FBTztnQkFDcEJzQyxLQUFLZjtnQkFDTC9CO1lBQ0YsTUFBTytCO1FBQ1gsR0FBR3JCLFFBQVFDLE9BQU87UUFFbEIsSUFBSWtFLFNBQWtFO1lBQ3BFQyxLQUFLLEFBQUNyQixxQkFBRyxDQUFDc0IsTUFBTSxDQUFDdkIsT0FBMEJzQixHQUFHO1lBQzlDdEI7WUFDQXpCO1FBQ0Y7UUFFQSx3Q0FBd0M7UUFDeEMsOEJBQThCO1FBQzlCLHdDQUF3QztRQUV4QzhDLFNBQVMsTUFBTUcsSUFBQUEsMEJBQW1CLEVBQXVDO1lBQ3ZFbkY7WUFDQUksWUFBWUosS0FBS0ksVUFBVSxFQUFFQztZQUM3Qk8sV0FBVztZQUNYb0U7UUFDRjtRQUVBLElBQUlqRSxpQkFBaUJ5QixJQUFJLENBQUM0Qyx3QkFBd0IsRUFBRTtZQUNsRCxPQUFPSixPQUFPckIsS0FBSztRQUNyQjtRQUVBLHdDQUF3QztRQUN4QyxpQkFBaUI7UUFDakIsd0NBQXdDO1FBRXhDLElBQUkxRCxjQUFjLE1BQU1xRCxJQUFBQSxvQ0FBaUIsRUFBQ25EO1FBRTFDLE9BQU82RTtJQUNULEVBQUUsT0FBT0ssT0FBZ0I7UUFDdkIsTUFBTUMsSUFBQUEsZ0NBQWUsRUFBQ3RGLEtBQUtHLEdBQUc7UUFDOUIsTUFBTWtGO0lBQ1I7QUFDRjtNQUVBLFdBQWV2RiJ9
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL29wZXJhdGlvbnMvbG9naW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb29raWVPcHRpb25zLCBSZXNwb25zZSB9IGZyb20gJ2V4cHJlc3MnXG5cbmltcG9ydCBqd3QgZnJvbSAnanNvbndlYnRva2VuJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFVzZXIgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgYnVpbGRBZnRlck9wZXJhdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvdXRpbHMnXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvbkVycm9yLCBMb2NrZWRBdXRoLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgZ2V0Q29va2llRXhwaXJhdGlvbiBmcm9tICcuLi8uLi91dGlsaXRpZXMvZ2V0Q29va2llRXhwaXJhdGlvbidcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHNhbml0aXplSW50ZXJuYWxGaWVsZHMgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3Nhbml0aXplSW50ZXJuYWxGaWVsZHMnXG5pbXBvcnQgaXNMb2NrZWQgZnJvbSAnLi4vaXNMb2NrZWQnXG5pbXBvcnQgeyBhdXRoZW50aWNhdGVMb2NhbFN0cmF0ZWd5IH0gZnJvbSAnLi4vc3RyYXRlZ2llcy9sb2NhbC9hdXRoZW50aWNhdGUnXG5pbXBvcnQgeyBpbmNyZW1lbnRMb2dpbkF0dGVtcHRzIH0gZnJvbSAnLi4vc3RyYXRlZ2llcy9sb2NhbC9pbmNyZW1lbnRMb2dpbkF0dGVtcHRzJ1xuaW1wb3J0IHsgcmVzZXRMb2dpbkF0dGVtcHRzIH0gZnJvbSAnLi4vc3RyYXRlZ2llcy9sb2NhbC9yZXNldExvZ2luQXR0ZW1wdHMnXG5pbXBvcnQgeyBnZXRGaWVsZHNUb1NpZ24gfSBmcm9tICcuL2dldEZpZWxkc1RvU2lnbidcblxuZXhwb3J0IHR5cGUgUmVzdWx0ID0ge1xuICBleHA/OiBudW1iZXJcbiAgdG9rZW4/OiBzdHJpbmdcbiAgdXNlcj86IFVzZXJcbn1cblxuZXhwb3J0IHR5cGUgQXJndW1lbnRzID0ge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uXG4gIGRhdGE6IHtcbiAgICBlbWFpbDogc3RyaW5nXG4gICAgcGFzc3dvcmQ6IHN0cmluZ1xuICB9XG4gIGRlcHRoPzogbnVtYmVyXG4gIG92ZXJyaWRlQWNjZXNzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHJlcz86IFJlc3BvbnNlXG4gIHNob3dIaWRkZW5GaWVsZHM/OiBib29sZWFuXG59XG5cbmFzeW5jIGZ1bmN0aW9uIGxvZ2luPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBpbmNvbWluZ0FyZ3M6IEFyZ3VtZW50cyxcbik6IFByb21pc2U8UmVzdWx0ICYgeyB1c2VyOiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10gfT4ge1xuICBsZXQgYXJncyA9IGluY29taW5nQXJnc1xuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2hvdWxkQ29tbWl0ID0gYXdhaXQgaW5pdFRyYW5zYWN0aW9uKGFyZ3MucmVxKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZU9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLmhvb2tzLmJlZm9yZU9wZXJhdGlvbi5yZWR1Y2UoYXN5bmMgKHByaW9ySG9vaywgaG9vaykgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICAgIGFyZ3MgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgYXJncyxcbiAgICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24/LmNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiBhcmdzLnJlcS5jb250ZXh0LFxuICAgICAgICAgIG9wZXJhdGlvbjogJ2xvZ2luJyxcbiAgICAgICAgICByZXE6IGFyZ3MucmVxLFxuICAgICAgICB9KSkgfHwgYXJnc1xuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgY29uc3Qge1xuICAgICAgY29sbGVjdGlvbjogeyBjb25maWc6IGNvbGxlY3Rpb25Db25maWcgfSxcbiAgICAgIGRhdGEsXG4gICAgICBkZXB0aCxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxLFxuICAgICAgcmVxOiB7XG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHBheWxvYWQsXG4gICAgICAgIHBheWxvYWQ6IHsgY29uZmlnLCBzZWNyZXQgfSxcbiAgICAgIH0sXG4gICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgIH0gPSBhcmdzXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gTG9naW5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCB7IGVtYWlsOiB1bnNhbml0aXplZEVtYWlsLCBwYXNzd29yZCB9ID0gZGF0YVxuXG4gICAgaWYgKHR5cGVvZiB1bnNhbml0aXplZEVtYWlsICE9PSAnc3RyaW5nJyB8fCB1bnNhbml0aXplZEVtYWlsLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoW3sgZmllbGQ6ICdlbWFpbCcsIG1lc3NhZ2U6IHJlcS5pMThuLnQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKSB9XSlcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBwYXNzd29yZCAhPT0gJ3N0cmluZycgfHwgcGFzc3dvcmQudHJpbSgpID09PSAnJykge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbeyBmaWVsZDogJ3Bhc3N3b3JkJywgbWVzc2FnZTogcmVxLmkxOG4udCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpIH1dKVxuICAgIH1cblxuICAgIGNvbnN0IGVtYWlsID0gdW5zYW5pdGl6ZWRFbWFpbCA/IHVuc2FuaXRpemVkRW1haWwudG9Mb3dlckNhc2UoKS50cmltKCkgOiBudWxsXG5cbiAgICBsZXQgdXNlciA9IGF3YWl0IHBheWxvYWQuZGIuZmluZE9uZTxhbnk+KHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgIHJlcSxcbiAgICAgIHdoZXJlOiB7IGVtYWlsOiB7IGVxdWFsczogZW1haWwudG9Mb3dlckNhc2UoKSB9IH0sXG4gICAgfSlcblxuICAgIGlmICghdXNlciB8fCAoYXJncy5jb2xsZWN0aW9uLmNvbmZpZy5hdXRoLnZlcmlmeSAmJiB1c2VyLl92ZXJpZmllZCA9PT0gZmFsc2UpKSB7XG4gICAgICB0aHJvdyBuZXcgQXV0aGVudGljYXRpb25FcnJvcihyZXEudClcbiAgICB9XG5cbiAgICBpZiAodXNlciAmJiBpc0xvY2tlZCh1c2VyLmxvY2tVbnRpbCkpIHtcbiAgICAgIHRocm93IG5ldyBMb2NrZWRBdXRoKHJlcS50KVxuICAgIH1cblxuICAgIGNvbnN0IGF1dGhSZXN1bHQgPSBhd2FpdCBhdXRoZW50aWNhdGVMb2NhbFN0cmF0ZWd5KHsgZG9jOiB1c2VyLCBwYXNzd29yZCB9KVxuXG4gICAgdXNlciA9IHNhbml0aXplSW50ZXJuYWxGaWVsZHModXNlcilcblxuICAgIGNvbnN0IG1heExvZ2luQXR0ZW1wdHNFbmFibGVkID0gYXJncy5jb2xsZWN0aW9uLmNvbmZpZy5hdXRoLm1heExvZ2luQXR0ZW1wdHMgPiAwXG5cbiAgICBpZiAoIWF1dGhSZXN1bHQpIHtcbiAgICAgIGlmIChtYXhMb2dpbkF0dGVtcHRzRW5hYmxlZCkge1xuICAgICAgICBhd2FpdCBpbmNyZW1lbnRMb2dpbkF0dGVtcHRzKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICAgIGRvYzogdXNlcixcbiAgICAgICAgICBwYXlsb2FkOiByZXEucGF5bG9hZCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgICAgdGhyb3cgbmV3IEF1dGhlbnRpY2F0aW9uRXJyb3IocmVxLnQpXG4gICAgfVxuXG4gICAgaWYgKG1heExvZ2luQXR0ZW1wdHNFbmFibGVkKSB7XG4gICAgICBhd2FpdCByZXNldExvZ2luQXR0ZW1wdHMoe1xuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICBkb2M6IHVzZXIsXG4gICAgICAgIHBheWxvYWQ6IHJlcS5wYXlsb2FkLFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IGZpZWxkc1RvU2lnbiA9IGdldEZpZWxkc1RvU2lnbih7XG4gICAgICBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgZW1haWwsXG4gICAgICB1c2VyLFxuICAgIH0pXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmJlZm9yZUxvZ2luLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgdXNlciA9XG4gICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24/LmNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiBhcmdzLnJlcS5jb250ZXh0LFxuICAgICAgICAgIHJlcTogYXJncy5yZXEsXG4gICAgICAgICAgdXNlcixcbiAgICAgICAgfSkpIHx8IHVzZXJcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIGNvbnN0IHRva2VuID0gand0LnNpZ24oZmllbGRzVG9TaWduLCBzZWNyZXQsIHtcbiAgICAgIGV4cGlyZXNJbjogY29sbGVjdGlvbkNvbmZpZy5hdXRoLnRva2VuRXhwaXJhdGlvbixcbiAgICB9KVxuXG4gICAgaWYgKGFyZ3MucmVzKSB7XG4gICAgICBjb25zdCBjb29raWVPcHRpb25zOiBDb29raWVPcHRpb25zID0ge1xuICAgICAgICBkb21haW46IHVuZGVmaW5lZCxcbiAgICAgICAgZXhwaXJlczogZ2V0Q29va2llRXhwaXJhdGlvbihjb2xsZWN0aW9uQ29uZmlnLmF1dGgudG9rZW5FeHBpcmF0aW9uKSxcbiAgICAgICAgaHR0cE9ubHk6IHRydWUsXG4gICAgICAgIHBhdGg6ICcvJyxcbiAgICAgICAgc2FtZVNpdGU6IGNvbGxlY3Rpb25Db25maWcuYXV0aC5jb29raWVzLnNhbWVTaXRlLFxuICAgICAgICBzZWN1cmU6IGNvbGxlY3Rpb25Db25maWcuYXV0aC5jb29raWVzLnNlY3VyZSxcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbGxlY3Rpb25Db25maWcuYXV0aC5jb29raWVzLmRvbWFpbilcbiAgICAgICAgY29va2llT3B0aW9ucy5kb21haW4gPSBjb2xsZWN0aW9uQ29uZmlnLmF1dGguY29va2llcy5kb21haW5cblxuICAgICAgYXJncy5yZXMuY29va2llKGAke2NvbmZpZy5jb29raWVQcmVmaXh9LXRva2VuYCwgdG9rZW4sIGNvb2tpZU9wdGlvbnMpXG4gICAgfVxuXG4gICAgcmVxLnVzZXIgPSB1c2VyXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJMb2dpbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyTG9naW4ucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICB1c2VyID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGFyZ3MuY29sbGVjdGlvbj8uY29uZmlnLFxuICAgICAgICAgIGNvbnRleHQ6IGFyZ3MucmVxLmNvbnRleHQsXG4gICAgICAgICAgcmVxOiBhcmdzLnJlcSxcbiAgICAgICAgICB0b2tlbixcbiAgICAgICAgICB1c2VyLFxuICAgICAgICB9KSkgfHwgdXNlclxuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHVzZXIgPSBhd2FpdCBhZnRlclJlYWQoe1xuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGVwdGgsXG4gICAgICBkb2M6IHVzZXIsXG4gICAgICBkcmFmdDogdW5kZWZpbmVkLFxuICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBsb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICB1c2VyID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGFyZ3MuY29sbGVjdGlvbj8uY29uZmlnLFxuICAgICAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgICAgIGRvYzogdXNlcixcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCB1c2VyXG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWZ0ZXJSZWFkIC0gQ29sbGVjdGlvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYWZ0ZXJSZWFkLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgdXNlciA9XG4gICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24/LmNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHVzZXIsXG4gICAgICAgICAgcmVxLFxuICAgICAgICB9KSkgfHwgdXNlclxuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgbGV0IHJlc3VsdDogUmVzdWx0ICYgeyB1c2VyOiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10gfSA9IHtcbiAgICAgIGV4cDogKGp3dC5kZWNvZGUodG9rZW4pIGFzIGp3dC5Kd3RQYXlsb2FkKS5leHAsXG4gICAgICB0b2tlbixcbiAgICAgIHVzZXIsXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyT3BlcmF0aW9uIC0gQ29sbGVjdGlvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGJ1aWxkQWZ0ZXJPcGVyYXRpb248R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPih7XG4gICAgICBhcmdzLFxuICAgICAgY29sbGVjdGlvbjogYXJncy5jb2xsZWN0aW9uPy5jb25maWcsXG4gICAgICBvcGVyYXRpb246ICdsb2dpbicsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLmF1dGgucmVtb3ZlVG9rZW5Gcm9tUmVzcG9uc2VzKSB7XG4gICAgICBkZWxldGUgcmVzdWx0LnRva2VuXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHVybiByZXN1bHRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKHNob3VsZENvbW1pdCkgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihhcmdzLnJlcSlcbiAgICB0aHJvdyBlcnJvclxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGxvZ2luXG4iXSwibmFtZXMiOlsibG9naW4iLCJpbmNvbWluZ0FyZ3MiLCJhcmdzIiwic2hvdWxkQ29tbWl0IiwiaW5pdFRyYW5zYWN0aW9uIiwicmVxIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImhvb2tzIiwiYmVmb3JlT3BlcmF0aW9uIiwicmVkdWNlIiwicHJpb3JIb29rIiwiaG9vayIsImNvbnRleHQiLCJvcGVyYXRpb24iLCJQcm9taXNlIiwicmVzb2x2ZSIsImNvbGxlY3Rpb25Db25maWciLCJkYXRhIiwiZGVwdGgiLCJvdmVycmlkZUFjY2VzcyIsImZhbGxiYWNrTG9jYWxlIiwibG9jYWxlIiwicGF5bG9hZCIsInNlY3JldCIsInNob3dIaWRkZW5GaWVsZHMiLCJlbWFpbCIsInVuc2FuaXRpemVkRW1haWwiLCJwYXNzd29yZCIsInRyaW0iLCJWYWxpZGF0aW9uRXJyb3IiLCJmaWVsZCIsIm1lc3NhZ2UiLCJpMThuIiwidCIsInRvTG93ZXJDYXNlIiwidXNlciIsImRiIiwiZmluZE9uZSIsInNsdWciLCJ3aGVyZSIsImVxdWFscyIsImF1dGgiLCJ2ZXJpZnkiLCJfdmVyaWZpZWQiLCJBdXRoZW50aWNhdGlvbkVycm9yIiwiaXNMb2NrZWQiLCJsb2NrVW50aWwiLCJMb2NrZWRBdXRoIiwiYXV0aFJlc3VsdCIsImF1dGhlbnRpY2F0ZUxvY2FsU3RyYXRlZ3kiLCJkb2MiLCJzYW5pdGl6ZUludGVybmFsRmllbGRzIiwibWF4TG9naW5BdHRlbXB0c0VuYWJsZWQiLCJtYXhMb2dpbkF0dGVtcHRzIiwiaW5jcmVtZW50TG9naW5BdHRlbXB0cyIsImNvbW1pdFRyYW5zYWN0aW9uIiwicmVzZXRMb2dpbkF0dGVtcHRzIiwiZmllbGRzVG9TaWduIiwiZ2V0RmllbGRzVG9TaWduIiwiYmVmb3JlTG9naW4iLCJ0b2tlbiIsImp3dCIsInNpZ24iLCJleHBpcmVzSW4iLCJ0b2tlbkV4cGlyYXRpb24iLCJyZXMiLCJjb29raWVPcHRpb25zIiwiZG9tYWluIiwidW5kZWZpbmVkIiwiZXhwaXJlcyIsImdldENvb2tpZUV4cGlyYXRpb24iLCJodHRwT25seSIsInBhdGgiLCJzYW1lU2l0ZSIsImNvb2tpZXMiLCJzZWN1cmUiLCJjb29raWUiLCJjb29raWVQcmVmaXgiLCJhZnRlckxvZ2luIiwiYWZ0ZXJSZWFkIiwiZHJhZnQiLCJnbG9iYWwiLCJyZXN1bHQiLCJleHAiLCJkZWNvZGUiLCJidWlsZEFmdGVyT3BlcmF0aW9uIiwicmVtb3ZlVG9rZW5Gcm9tUmVzcG9uc2VzIiwiZXJyb3IiLCJraWxsVHJhbnNhY3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBMFJBOzs7ZUFBQTs7O3FFQXhSZ0I7dUJBT29CO3dCQUM2QjsyQkFDdkM7bUNBQ1E7NEVBQ0Y7aUNBQ0E7aUNBQ0E7K0VBQ0c7aUVBQ2Q7OEJBQ3FCO3dDQUNIO29DQUNKO2lDQUNIOzs7Ozs7QUFxQmhDLGVBQWVBLE1BQ2JDLFlBQXVCO0lBRXZCLElBQUlDLE9BQU9EO0lBRVgsSUFBSTtRQUNGLE1BQU1FLGVBQWUsTUFBTUMsSUFBQUEsZ0NBQWUsRUFBQ0YsS0FBS0csR0FBRztRQUVuRCx3Q0FBd0M7UUFDeEMsK0JBQStCO1FBQy9CLHdDQUF3QztRQUV4QyxNQUFNSCxLQUFLSSxVQUFVLENBQUNDLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDQyxlQUFlLENBQUNDLE1BQU0sQ0FBQyxPQUFPQyxXQUFXQztZQUMxRSxNQUFNRDtZQUVOVCxPQUNFLEFBQUMsTUFBTVUsS0FBSztnQkFDVlY7Z0JBQ0FJLFlBQVlKLEtBQUtJLFVBQVUsRUFBRUM7Z0JBQzdCTSxTQUFTWCxLQUFLRyxHQUFHLENBQUNRLE9BQU87Z0JBQ3pCQyxXQUFXO2dCQUNYVCxLQUFLSCxLQUFLRyxHQUFHO1lBQ2YsTUFBT0g7UUFDWCxHQUFHYSxRQUFRQyxPQUFPO1FBRWxCLE1BQU0sRUFDSlYsWUFBWSxFQUFFQyxRQUFRVSxnQkFBZ0IsRUFBRSxFQUN4Q0MsSUFBSSxFQUNKQyxLQUFLLEVBQ0xDLGNB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
@@ -1 +1 @@
1
- {"version":3,"file":"generatePasswordSaltHash.d.ts","sourceRoot":"","sources":["../../../../src/auth/strategies/local/generatePasswordSaltHash.ts"],"names":[],"mappings":"AAyBA,KAAK,IAAI,GAAG;IACV,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,wBAAwB,kBAElC,IAAI,KAAG,QAAQ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAc/C,CAAA"}
1
+ {"version":3,"file":"generatePasswordSaltHash.d.ts","sourceRoot":"","sources":["../../../../src/auth/strategies/local/generatePasswordSaltHash.ts"],"names":[],"mappings":"AAyBA,KAAK,IAAI,GAAG;IACV,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,wBAAwB,kBAElC,IAAI;UAAmB,MAAM;UAAQ,MAAM;EAc7C,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { NextFunction, Request, Response } from 'express';
2
2
  import type { Collection } from './config/types';
3
- declare const bindCollectionMiddleware: (collection: Collection) => (req: Request & {
3
+ declare const bindCollectionMiddleware: (collection: Collection) => (req: Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>> & {
4
4
  collection: Collection;
5
5
  }, res: Response, next: NextFunction) => void;
6
6
  export default bindCollectionMiddleware;
@@ -1 +1 @@
1
- {"version":3,"file":"bindCollection.d.ts","sourceRoot":"","sources":["../../src/collections/bindCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,QAAA,MAAM,wBAAwB,eACf,UAAU,WACjB,OAAO,GAAG;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,OAAO,QAAQ,QAAQ,YAAY,KAAG,IAG/E,CAAA;AAEH,eAAe,wBAAwB,CAAA"}
1
+ {"version":3,"file":"bindCollection.d.ts","sourceRoot":"","sources":["../../src/collections/bindCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,QAAA,MAAM,wBAAwB,eACf,UAAU;gBACO,UAAU;QAAS,QAAQ,QAAQ,YAAY,KAAG,IAG/E,CAAA;AAEH,eAAe,wBAAwB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"dataloader.d.ts","sourceRoot":"","sources":["../../src/collections/dataloader.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAoJhD,eAAO,MAAM,aAAa,QAAS,cAAc,2CAA0C,CAAA"}
1
+ {"version":3,"file":"dataloader.d.ts","sourceRoot":"","sources":["../../src/collections/dataloader.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAyJhD,eAAO,MAAM,aAAa,QAAS,cAAc,2CAA0C,CAAA"}
@@ -42,7 +42,7 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
42
42
  // // etc
43
43
  // };
44
44
  const batchByFindArgs = keys.reduce((batches, key)=>{
45
- const [transactionID, collection, id, depth, currentDepth, locale, fallbackLocale, overrideAccess, showHiddenFields] = JSON.parse(key);
45
+ const [transactionID, collection, id, depth, currentDepth, locale, fallbackLocale, overrideAccess, showHiddenFields, draft] = JSON.parse(key);
46
46
  const batchKeyArray = [
47
47
  transactionID,
48
48
  collection,
@@ -51,7 +51,8 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
51
51
  locale,
52
52
  fallbackLocale,
53
53
  overrideAccess,
54
- showHiddenFields
54
+ showHiddenFields,
55
+ draft
55
56
  ];
56
57
  const batchKey = JSON.stringify(batchKeyArray);
57
58
  const idField = payload.collections?.[collection].config.fields.find((field)=>(0, _types.fieldAffectsData)(field) && field.name === 'id');
@@ -71,13 +72,14 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
71
72
  // Run find requests one after another, so as to not hang transactions
72
73
  await Object.entries(batchByFindArgs).reduce(async (priorFind, [batchKey, ids])=>{
73
74
  await priorFind;
74
- const [transactionID, collection, depth, currentDepth, locale, fallbackLocale, overrideAccess, showHiddenFields] = JSON.parse(batchKey);
75
+ const [transactionID, collection, depth, currentDepth, locale, fallbackLocale, overrideAccess, showHiddenFields, draft] = JSON.parse(batchKey);
75
76
  req.transactionID = transactionID;
76
77
  const result = await payload.find({
77
78
  collection,
78
79
  currentDepth,
79
80
  depth,
80
81
  disableErrors: true,
82
+ draft,
81
83
  fallbackLocale,
82
84
  locale,
83
85
  overrideAccess: Boolean(overrideAccess),
@@ -102,7 +104,8 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
102
104
  locale,
103
105
  fallbackLocale,
104
106
  overrideAccess,
105
- showHiddenFields
107
+ showHiddenFields,
108
+ draft
106
109
  ]);
107
110
  const docsIndex = keys.findIndex((key)=>key === docKey);
108
111
  if (docsIndex > -1) {
@@ -117,4 +120,4 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
117
120
  };
118
121
  const getDataLoader = (req)=>new _dataloader.default(batchAndLoadDocs(req));
119
122
 
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2xsZWN0aW9ucy9kYXRhbG9hZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmF0Y2hMb2FkRm4gfSBmcm9tICdkYXRhbG9hZGVyJ1xuXG5pbXBvcnQgRGF0YUxvYWRlciBmcm9tICdkYXRhbG9hZGVyJ1xuXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgVHlwZVdpdGhJRCB9IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB7IGdldElEVHlwZSB9IGZyb20gJy4uL3V0aWxpdGllcy9nZXRJRFR5cGUnXG5pbXBvcnQgeyBpc1ZhbGlkSUQgfSBmcm9tICcuLi91dGlsaXRpZXMvaXNWYWxpZElEJ1xuXG4vLyBQYXlsb2FkIHVzZXMgYGRhdGFsb2FkZXJgIHRvIHNvbHZlIHRoZSBjbGFzc2ljIEdyYXBoUUwgTisxIHByb2JsZW0uXG5cbi8vIFdlIGtlZXAgYSBsaXN0IG9mIGFsbCBkb2N1bWVudHMgcmVxdWVzdGVkIHRvIGJlIHBvcHVsYXRlZCBmb3IgYW55IGdpdmVuIHJlcXVlc3Rcbi8vIGFuZCB0aGVuIGJhdGNoIHRvZ2V0aGVyIGRvY3VtZW50cyB3aXRoaW4gdGhlIHNhbWUgY29sbGVjdGlvbixcbi8vIG1ha2luZyBvbmx5IDEgZmluZCBwZXIgZWFjaCBjb2xsZWN0aW9uLCByYXRoZXIgdGhhbiBgZmluZEJ5SURgIHBlciBlYWNoIHJlcXVlc3RlZCBkb2MuXG5cbi8vIFRoaXMgZHJhbWF0aWNhbGx5IGltcHJvdmVzIHBlcmZvcm1hbmNlIGZvciBSRVNUIGFuZCBMb2NhbCBBUEkgYGRlcHRoYCBwb3B1bGF0aW9ucyxcbi8vIGFuZCBhbHNvIGVuc3VyZXMgY29tcGxleCBHcmFwaFFMIHF1ZXJpZXMgcGVyZm9ybSBsaWdodG5pbmctZmFzdC5cblxuY29uc3QgYmF0Y2hBbmRMb2FkRG9jcyA9XG4gIChyZXE6IFBheWxvYWRSZXF1ZXN0KTogQmF0Y2hMb2FkRm48c3RyaW5nLCBUeXBlV2l0aElEPiA9PlxuICBhc3luYyAoa2V5czogc3RyaW5nW10pOiBQcm9taXNlPFR5cGVXaXRoSURbXT4gPT4ge1xuICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gcmVxXG5cbiAgICAvLyBDcmVhdGUgZG9jcyBhcnJheSBvZiBzYW1lIGxlbmd0aCBhcyBrZXlzLCB1c2luZyBudWxsIGFzIHZhbHVlXG4gICAgLy8gV2Ugd2lsbCByZXBsYWNlIG51bGxzIHdpdGggaW5qZWN0ZWQgZG9jcyBhcyB0aGV5IGFyZSByZXRyaWV2ZWRcbiAgICBjb25zdCBkb2NzOiAoVHlwZVdpdGhJRCB8IG51bGwpW10gPSBrZXlzLm1hcCgoKSA9PiBudWxsKVxuXG4gICAgLy8gQmF0Y2ggSURzIGJ5IHRoZWlyIGBmaW5kYCBhcmdzXG4gICAgLy8gc28gd2UgY2FuIG1ha2Ugb25lIGZpbmQgcXVlcnkgcGVyIGNvbWJpbmF0aW9uIG9mIGNvbGxlY3Rpb24sIGRlcHRoLCBsb2NhbGUsIGFuZCBmYWxsYmFja0xvY2FsZS5cblxuICAgIC8vIFJlc3VsdGluZyBzaGFwZSB3aWxsIGJlIGFzIGZvbGxvd3M6XG5cbiAgICAvLyB7XG4gICAgLy8gICAvLyBrZXkgaXMgc3RyaW5naWZpZWQgc2V0IG9mIGZpbmQgYXJnc1xuICAgIC8vICAgJ1tudWxsLFwicGFnZXNcIiwyLDAsXCJlc1wiLFwiZW5cIixmYWxzZSxmYWxzZV0nOiBbXG4gICAgLy8gICAgIC8vIHZhbHVlIGlzIGFycmF5IG9mIElEcyB0byBmaW5kIHdpdGggdGhlc2UgYXJnc1xuICAgIC8vICAgICAncTM0dGwyMzQ2MjM0NjIzNDUyNCcsXG4gICAgLy8gICAgICc0MzU1MjM1NDAxOTQzMjQyODAnLFxuICAgIC8vICAgICAnMjM0NjI0NWozNWwzajUyMzQ1MzJsaScsXG4gICAgLy8gICBdLFxuICAgIC8vICAgLy8gZXRjXG4gICAgLy8gfTtcblxuICAgIGNvbnN0IGJhdGNoQnlGaW5kQXJncyA9IGtleXMucmVkdWNlKChiYXRjaGVzLCBrZXkpID0+IHtcbiAgICAgIGNvbnN0IFtcbiAgICAgICAgdHJhbnNhY3Rpb25JRCxcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgaWQsXG4gICAgICAgIGRlcHRoLFxuICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgXSA9IEpTT04ucGFyc2Uoa2V5KVxuXG4gICAgICBjb25zdCBiYXRjaEtleUFycmF5ID0gW1xuICAgICAgICB0cmFuc2FjdGlvbklELFxuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgIF1cblxuICAgICAgY29uc3QgYmF0Y2hLZXkgPSBKU09OLnN0cmluZ2lmeShiYXRjaEtleUFycmF5KVxuXG4gICAgICBjb25zdCBpZEZpZWxkID0gcGF5bG9hZC5jb2xsZWN0aW9ucz8uW2NvbGxlY3Rpb25dLmNvbmZpZy5maWVsZHMuZmluZChcbiAgICAgICAgKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnLFxuICAgICAgKVxuXG4gICAgICBsZXQgc2FuaXRpemVkSUQ6IG51bWJlciB8IHN0cmluZyA9IGlkXG5cbiAgICAgIGlmIChpZEZpZWxkPy50eXBlID09PSAnbnVtYmVyJykgc2FuaXRpemVkSUQgPSBwYXJzZUZsb2F0KGlkKVxuXG4gICAgICBpZiAoaXNWYWxpZElEKHNhbml0aXplZElELCBnZXRJRFR5cGUoaWRGaWVsZCwgcGF5bG9hZD8uZGI/LmRlZmF1bHRJRFR5cGUpKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmJhdGNoZXMsXG4gICAgICAgICAgW2JhdGNoS2V5XTogWy4uLihiYXRjaGVzW2JhdGNoS2V5XSB8fCBbXSksIHNhbml0aXplZElEXSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGJhdGNoZXNcbiAgICB9LCB7fSlcblxuICAgIC8vIFJ1biBmaW5kIHJlcXVlc3RzIG9uZSBhZnRlciBhbm90aGVyLCBzbyBhcyB0byBub3QgaGFuZyB0cmFuc2FjdGlvbnNcblxuICAgIGF3YWl0IE9iamVjdC5lbnRyaWVzKGJhdGNoQnlGaW5kQXJncykucmVkdWNlKGFzeW5jIChwcmlvckZpbmQsIFtiYXRjaEtleSwgaWRzXSkgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JGaW5kXG5cbiAgICAgIGNvbnN0IFtcbiAgICAgICAgdHJhbnNhY3Rpb25JRCxcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICBdID0gSlNPTi5wYXJzZShiYXRjaEtleSlcblxuICAgICAgcmVxLnRyYW5zYWN0aW9uSUQgPSB0cmFuc2FjdGlvbklEXG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBheWxvYWQuZmluZCh7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGRpc2FibGVFcnJvcnM6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzOiBCb29sZWFuKG92ZXJyaWRlQWNjZXNzKSxcbiAgICAgICAgcGFnaW5hdGlvbjogZmFsc2UsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2hvd0hpZGRlbkZpZWxkczogQm9vbGVhbihzaG93SGlkZGVuRmllbGRzKSxcbiAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgaW46IGlkcyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcblxuICAgICAgLy8gRm9yIGVhY2ggcmV0dXJuZWQgZG9jLCBmaW5kIGluZGV4IGluIG9yaWdpbmFsIGtleXNcbiAgICAgIC8vIEluamVjdCBkb2Mgd2l0aGluIGRvY3MgYXJyYXkgaWYgaW5kZXggZXhpc3RzXG5cbiAgICAgIHJlc3VsdC5kb2NzLmZvckVhY2goKGRvYykgPT4ge1xuICAgICAgICBjb25zdCBkb2NLZXkgPSBKU09OLnN0cmluZ2lmeShbXG4gICAgICAgICAgcmVxLnRyYW5zYWN0aW9uSUQsXG4gICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICBkb2MuaWQsXG4gICAgICAgICAgZGVwdGgsXG4gICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICBdKVxuICAgICAgICBjb25zdCBkb2NzSW5kZXggPSBrZXlzLmZpbmRJbmRleCgoa2V5KSA9PiBrZXkgPT09IGRvY0tleSlcblxuICAgICAgICBpZiAoZG9jc0luZGV4ID4gLTEpIHtcbiAgICAgICAgICBkb2NzW2RvY3NJbmRleF0gPSBkb2NcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIFJldHVybiBkb2NzIGFycmF5LFxuICAgIC8vIHdoaWNoIGhhcyBub3cgYmVlbiBpbmplY3RlZCB3aXRoIGFsbCBmZXRjaGVkIGRvY3NcbiAgICAvLyBhbmQgc2hvdWxkIG1hdGNoIHRoZSBsZW5ndGggb2YgdGhlIGluY29taW5nIGtleXMgYXJnXG4gICAgcmV0dXJuIGRvY3NcbiAgfVxuXG5leHBvcnQgY29uc3QgZ2V0RGF0YUxvYWRlciA9IChyZXE6IFBheWxvYWRSZXF1ZXN0KSA9PiBuZXcgRGF0YUxvYWRlcihiYXRjaEFuZExvYWREb2NzKHJlcSkpXG4iXSwibmFtZXMiOlsiZ2V0RGF0YUxvYWRlciIsImJhdGNoQW5kTG9hZERvY3MiLCJyZXEiLCJrZXlzIiwicGF5bG9hZCIsImRvY3MiLCJtYXAiLCJiYXRjaEJ5RmluZEFyZ3MiLCJyZWR1Y2UiLCJiYXRjaGVzIiwia2V5IiwidHJhbnNhY3Rpb25JRCIsImNvbGxlY3Rpb24iLCJpZCIsImRlcHRoIiwiY3VycmVudERlcHRoIiwibG9jYWxlIiwiZmFsbGJhY2tMb2NhbGUiLCJvdmVycmlkZUFjY2VzcyIsInNob3dIaWRkZW5GaWVsZHMiLCJKU09OIiwicGFyc2UiLCJiYXRjaEtleUFycmF5IiwiYmF0Y2hLZXkiLCJzdHJpbmdpZnkiLCJpZEZpZWxkIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJmaWVsZHMiLCJmaW5kIiwiZmllbGQiLCJmaWVsZEFmZmVjdHNEYXRhIiwibmFtZSIsInNhbml0aXplZElEIiwidHlwZSIsInBhcnNlRmxvYXQiLCJpc1ZhbGlkSUQiLCJnZXRJRFR5cGUiLCJkYiIsImRlZmF1bHRJRFR5cGUiLCJPYmplY3QiLCJlbnRyaWVzIiwicHJpb3JGaW5kIiwiaWRzIiwicmVzdWx0IiwiZGlzYWJsZUVycm9ycyIsIkJvb2xlYW4iLCJwYWdpbmF0aW9uIiwid2hlcmUiLCJpbiIsImZvckVhY2giLCJkb2MiLCJkb2NLZXkiLCJkb2NzSW5kZXgiLCJmaW5kSW5kZXgiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkRhdGFMb2FkZXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBeUphQTs7O2VBQUFBOzs7bUVBdkpVO3VCQUtVOzJCQUNQOzJCQUNBOzs7Ozs7QUFFMUIsc0VBQXNFO0FBRXRFLGtGQUFrRjtBQUNs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
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2xsZWN0aW9ucy9kYXRhbG9hZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmF0Y2hMb2FkRm4gfSBmcm9tICdkYXRhbG9hZGVyJ1xuXG5pbXBvcnQgRGF0YUxvYWRlciBmcm9tICdkYXRhbG9hZGVyJ1xuXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgVHlwZVdpdGhJRCB9IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB7IGdldElEVHlwZSB9IGZyb20gJy4uL3V0aWxpdGllcy9nZXRJRFR5cGUnXG5pbXBvcnQgeyBpc1ZhbGlkSUQgfSBmcm9tICcuLi91dGlsaXRpZXMvaXNWYWxpZElEJ1xuXG4vLyBQYXlsb2FkIHVzZXMgYGRhdGFsb2FkZXJgIHRvIHNvbHZlIHRoZSBjbGFzc2ljIEdyYXBoUUwgTisxIHByb2JsZW0uXG5cbi8vIFdlIGtlZXAgYSBsaXN0IG9mIGFsbCBkb2N1bWVudHMgcmVxdWVzdGVkIHRvIGJlIHBvcHVsYXRlZCBmb3IgYW55IGdpdmVuIHJlcXVlc3Rcbi8vIGFuZCB0aGVuIGJhdGNoIHRvZ2V0aGVyIGRvY3VtZW50cyB3aXRoaW4gdGhlIHNhbWUgY29sbGVjdGlvbixcbi8vIG1ha2luZyBvbmx5IDEgZmluZCBwZXIgZWFjaCBjb2xsZWN0aW9uLCByYXRoZXIgdGhhbiBgZmluZEJ5SURgIHBlciBlYWNoIHJlcXVlc3RlZCBkb2MuXG5cbi8vIFRoaXMgZHJhbWF0aWNhbGx5IGltcHJvdmVzIHBlcmZvcm1hbmNlIGZvciBSRVNUIGFuZCBMb2NhbCBBUEkgYGRlcHRoYCBwb3B1bGF0aW9ucyxcbi8vIGFuZCBhbHNvIGVuc3VyZXMgY29tcGxleCBHcmFwaFFMIHF1ZXJpZXMgcGVyZm9ybSBsaWdodG5pbmctZmFzdC5cblxuY29uc3QgYmF0Y2hBbmRMb2FkRG9jcyA9XG4gIChyZXE6IFBheWxvYWRSZXF1ZXN0KTogQmF0Y2hMb2FkRm48c3RyaW5nLCBUeXBlV2l0aElEPiA9PlxuICBhc3luYyAoa2V5czogc3RyaW5nW10pOiBQcm9taXNlPFR5cGVXaXRoSURbXT4gPT4ge1xuICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gcmVxXG5cbiAgICAvLyBDcmVhdGUgZG9jcyBhcnJheSBvZiBzYW1lIGxlbmd0aCBhcyBrZXlzLCB1c2luZyBudWxsIGFzIHZhbHVlXG4gICAgLy8gV2Ugd2lsbCByZXBsYWNlIG51bGxzIHdpdGggaW5qZWN0ZWQgZG9jcyBhcyB0aGV5IGFyZSByZXRyaWV2ZWRcbiAgICBjb25zdCBkb2NzOiAoVHlwZVdpdGhJRCB8IG51bGwpW10gPSBrZXlzLm1hcCgoKSA9PiBudWxsKVxuXG4gICAgLy8gQmF0Y2ggSURzIGJ5IHRoZWlyIGBmaW5kYCBhcmdzXG4gICAgLy8gc28gd2UgY2FuIG1ha2Ugb25lIGZpbmQgcXVlcnkgcGVyIGNvbWJpbmF0aW9uIG9mIGNvbGxlY3Rpb24sIGRlcHRoLCBsb2NhbGUsIGFuZCBmYWxsYmFja0xvY2FsZS5cblxuICAgIC8vIFJlc3VsdGluZyBzaGFwZSB3aWxsIGJlIGFzIGZvbGxvd3M6XG5cbiAgICAvLyB7XG4gICAgLy8gICAvLyBrZXkgaXMgc3RyaW5naWZpZWQgc2V0IG9mIGZpbmQgYXJnc1xuICAgIC8vICAgJ1tudWxsLFwicGFnZXNcIiwyLDAsXCJlc1wiLFwiZW5cIixmYWxzZSxmYWxzZV0nOiBbXG4gICAgLy8gICAgIC8vIHZhbHVlIGlzIGFycmF5IG9mIElEcyB0byBmaW5kIHdpdGggdGhlc2UgYXJnc1xuICAgIC8vICAgICAncTM0dGwyMzQ2MjM0NjIzNDUyNCcsXG4gICAgLy8gICAgICc0MzU1MjM1NDAxOTQzMjQyODAnLFxuICAgIC8vICAgICAnMjM0NjI0NWozNWwzajUyMzQ1MzJsaScsXG4gICAgLy8gICBdLFxuICAgIC8vICAgLy8gZXRjXG4gICAgLy8gfTtcblxuICAgIGNvbnN0IGJhdGNoQnlGaW5kQXJncyA9IGtleXMucmVkdWNlKChiYXRjaGVzLCBrZXkpID0+IHtcbiAgICAgIGNvbnN0IFtcbiAgICAgICAgdHJhbnNhY3Rpb25JRCxcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgaWQsXG4gICAgICAgIGRlcHRoLFxuICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgICBkcmFmdCxcbiAgICAgIF0gPSBKU09OLnBhcnNlKGtleSlcblxuICAgICAgY29uc3QgYmF0Y2hLZXlBcnJheSA9IFtcbiAgICAgICAgdHJhbnNhY3Rpb25JRCxcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgIGRyYWZ0LFxuICAgICAgXVxuXG4gICAgICBjb25zdCBiYXRjaEtleSA9IEpTT04uc3RyaW5naWZ5KGJhdGNoS2V5QXJyYXkpXG5cbiAgICAgIGNvbnN0IGlkRmllbGQgPSBwYXlsb2FkLmNvbGxlY3Rpb25zPy5bY29sbGVjdGlvbl0uY29uZmlnLmZpZWxkcy5maW5kKFxuICAgICAgICAoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcsXG4gICAgICApXG5cbiAgICAgIGxldCBzYW5pdGl6ZWRJRDogbnVtYmVyIHwgc3RyaW5nID0gaWRcblxuICAgICAgaWYgKGlkRmllbGQ/LnR5cGUgPT09ICdudW1iZXInKSBzYW5pdGl6ZWRJRCA9IHBhcnNlRmxvYXQoaWQpXG5cbiAgICAgIGlmIChpc1ZhbGlkSUQoc2FuaXRpemVkSUQsIGdldElEVHlwZShpZEZpZWxkLCBwYXlsb2FkPy5kYj8uZGVmYXVsdElEVHlwZSkpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYmF0Y2hlcyxcbiAgICAgICAgICBbYmF0Y2hLZXldOiBbLi4uKGJhdGNoZXNbYmF0Y2hLZXldIHx8IFtdKSwgc2FuaXRpemVkSURdLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYmF0Y2hlc1xuICAgIH0sIHt9KVxuXG4gICAgLy8gUnVuIGZpbmQgcmVxdWVzdHMgb25lIGFmdGVyIGFub3RoZXIsIHNvIGFzIHRvIG5vdCBoYW5nIHRyYW5zYWN0aW9uc1xuXG4gICAgYXdhaXQgT2JqZWN0LmVudHJpZXMoYmF0Y2hCeUZpbmRBcmdzKS5yZWR1Y2UoYXN5bmMgKHByaW9yRmluZCwgW2JhdGNoS2V5LCBpZHNdKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckZpbmRcblxuICAgICAgY29uc3QgW1xuICAgICAgICB0cmFuc2FjdGlvbklELFxuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgZHJhZnQsXG4gICAgICBdID0gSlNPTi5wYXJzZShiYXRjaEtleSlcblxuICAgICAgcmVxLnRyYW5zYWN0aW9uSUQgPSB0cmFuc2FjdGlvbklEXG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBheWxvYWQuZmluZCh7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGRpc2FibGVFcnJvcnM6IHRydWUsXG4gICAgICAgIGRyYWZ0LFxuICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBvdmVycmlkZUFjY2VzczogQm9vbGVhbihvdmVycmlkZUFjY2VzcyksXG4gICAgICAgIHBhZ2luYXRpb246IGZhbHNlLFxuICAgICAgICByZXEsXG4gICAgICAgIHNob3dIaWRkZW5GaWVsZHM6IEJvb2xlYW4oc2hvd0hpZGRlbkZpZWxkcyksXG4gICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgIGluOiBpZHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG5cbiAgICAgIC8vIEZvciBlYWNoIHJldHVybmVkIGRvYywgZmluZCBpbmRleCBpbiBvcmlnaW5hbCBrZXlzXG4gICAgICAvLyBJbmplY3QgZG9jIHdpdGhpbiBkb2NzIGFycmF5IGlmIGluZGV4IGV4aXN0c1xuXG4gICAgICByZXN1bHQuZG9jcy5mb3JFYWNoKChkb2MpID0+IHtcbiAgICAgICAgY29uc3QgZG9jS2V5ID0gSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgIHJlcS50cmFuc2FjdGlvbklELFxuICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgZG9jLmlkLFxuICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgICBkcmFmdCxcbiAgICAgICAgXSlcbiAgICAgICAgY29uc3QgZG9jc0luZGV4ID0ga2V5cy5maW5kSW5kZXgoKGtleSkgPT4ga2V5ID09PSBkb2NLZXkpXG5cbiAgICAgICAgaWYgKGRvY3NJbmRleCA+IC0xKSB7XG4gICAgICAgICAgZG9jc1tkb2NzSW5kZXhdID0gZG9jXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAvLyBSZXR1cm4gZG9jcyBhcnJheSxcbiAgICAvLyB3aGljaCBoYXMgbm93IGJlZW4gaW5qZWN0ZWQgd2l0aCBhbGwgZmV0Y2hlZCBkb2NzXG4gICAgLy8gYW5kIHNob3VsZCBtYXRjaCB0aGUgbGVuZ3RoIG9mIHRoZSBpbmNvbWluZyBrZXlzIGFyZ1xuICAgIHJldHVybiBkb2NzXG4gIH1cblxuZXhwb3J0IGNvbnN0IGdldERhdGFMb2FkZXIgPSAocmVxOiBQYXlsb2FkUmVxdWVzdCkgPT4gbmV3IERhdGFMb2FkZXIoYmF0Y2hBbmRMb2FkRG9jcyhyZXEpKVxuIl0sIm5hbWVzIjpbImdldERhdGFMb2FkZXIiLCJiYXRjaEFuZExvYWREb2NzIiwicmVxIiwia2V5cyIsInBheWxvYWQiLCJkb2NzIiwibWFwIiwiYmF0Y2hCeUZpbmRBcmdzIiwicmVkdWNlIiwiYmF0Y2hlcyIsImtleSIsInRyYW5zYWN0aW9uSUQiLCJjb2xsZWN0aW9uIiwiaWQiLCJkZXB0aCIsImN1cnJlbnREZXB0aCIsImxvY2FsZSIsImZhbGxiYWNrTG9jYWxlIiwib3ZlcnJpZGVBY2Nlc3MiLCJzaG93SGlkZGVuRmllbGRzIiwiZHJhZnQiLCJKU09OIiwicGFyc2UiLCJiYXRjaEtleUFycmF5IiwiYmF0Y2hLZXkiLCJzdHJpbmdpZnkiLCJpZEZpZWxkIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJmaWVsZHMiLCJmaW5kIiwiZmllbGQiLCJmaWVsZEFmZmVjdHNEYXRhIiwibmFtZSIsInNhbml0aXplZElEIiwidHlwZSIsInBhcnNlRmxvYXQiLCJpc1ZhbGlkSUQiLCJnZXRJRFR5cGUiLCJkYiIsImRlZmF1bHRJRFR5cGUiLCJPYmplY3QiLCJlbnRyaWVzIiwicHJpb3JGaW5kIiwiaWRzIiwicmVzdWx0IiwiZGlzYWJsZUVycm9ycyIsIkJvb2xlYW4iLCJwYWdpbmF0aW9uIiwid2hlcmUiLCJpbiIsImZvckVhY2giLCJkb2MiLCJkb2NLZXkiLCJkb2NzSW5kZXgiLCJmaW5kSW5kZXgiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkRhdGFMb2FkZXIiXSwibWFw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
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/collections/graphql/init.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAmC5C,iBAAS,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8atD;AAED,eAAe,sBAAsB,CAAA"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/collections/graphql/init.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAmC5C,iBAAS,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoctD;AAED,eAAe,sBAAsB,CAAA"}
@@ -89,6 +89,7 @@ function initCollectionsGraphQL(payload) {
89
89
  const collection = payload.collections[slug];
90
90
  const { config, config: { fields, graphQL = {}, versions } } = collection;
91
91
  if (!graphQL) return;
92
+ const draftsEnabled = collection.config.versions?.drafts;
92
93
  let singularName;
93
94
  let pluralName;
94
95
  const fromSlug = (0, _formatLabels.formatNames)(collection.config.slug);
@@ -163,9 +164,11 @@ function initCollectionsGraphQL(payload) {
163
164
  id: {
164
165
  type: new _graphql.GraphQLNonNull(idType)
165
166
  },
166
- draft: {
167
- type: _graphql.GraphQLBoolean
168
- },
167
+ ...draftsEnabled ? {
168
+ draft: {
169
+ type: _graphql.GraphQLBoolean
170
+ }
171
+ } : {},
169
172
  ...payload.config.localization ? {
170
173
  fallbackLocale: {
171
174
  type: payload.types.fallbackLocaleInputType
@@ -180,9 +183,11 @@ function initCollectionsGraphQL(payload) {
180
183
  payload.Query.fields[pluralName] = {
181
184
  type: (0, _buildPaginatedListType.default)(pluralName, collection.graphQL.type),
182
185
  args: {
183
- draft: {
184
- type: _graphql.GraphQLBoolean
185
- },
186
+ ...draftsEnabled ? {
187
+ draft: {
188
+ type: _graphql.GraphQLBoolean
189
+ }
190
+ } : {},
186
191
  where: {
187
192
  type: collection.graphQL.whereInputType
188
193
  },
@@ -216,9 +221,11 @@ function initCollectionsGraphQL(payload) {
216
221
  }
217
222
  }),
218
223
  args: {
219
- draft: {
220
- type: _graphql.GraphQLBoolean
221
- },
224
+ ...draftsEnabled ? {
225
+ draft: {
226
+ type: _graphql.GraphQLBoolean
227
+ }
228
+ } : {},
222
229
  where: {
223
230
  type: collection.graphQL.whereInputType
224
231
  },
@@ -252,9 +259,11 @@ function initCollectionsGraphQL(payload) {
252
259
  type: collection.graphQL.mutationInputType
253
260
  }
254
261
  } : {},
255
- draft: {
256
- type: _graphql.GraphQLBoolean
257
- },
262
+ ...draftsEnabled ? {
263
+ draft: {
264
+ type: _graphql.GraphQLBoolean
265
+ }
266
+ } : {},
258
267
  ...payload.config.localization ? {
259
268
  locale: {
260
269
  type: payload.types.localeInputType
@@ -277,9 +286,11 @@ function initCollectionsGraphQL(payload) {
277
286
  type: collection.graphQL.updateMutationInputType
278
287
  }
279
288
  } : {},
280
- draft: {
281
- type: _graphql.GraphQLBoolean
282
- },
289
+ ...draftsEnabled ? {
290
+ draft: {
291
+ type: _graphql.GraphQLBoolean
292
+ }
293
+ } : {},
283
294
  ...payload.config.localization ? {
284
295
  locale: {
285
296
  type: payload.types.localeInputType
@@ -542,4 +553,4 @@ function initCollectionsGraphQL(payload) {
542
553
  }
543
554
  const _default = initCollectionsGraphQL;
544
555
 
545
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL2luaXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB7XG4gIEdyYXBoUUxCb29sZWFuLFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTm9uTnVsbCxcbiAgR3JhcGhRTE9iamVjdFR5cGUsXG4gIEdyYXBoUUxTdHJpbmcsXG59IGZyb20gJ2dyYXBocWwnXG5cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPYmplY3RUeXBlQ29uZmlnIH0gZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRPYmplY3RUeXBlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4vcGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiwgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGZvcmdvdFBhc3N3b3JkIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvZm9yZ290UGFzc3dvcmQnXG5pbXBvcnQgaW5pdCBmcm9tICcuLi8uLi9hdXRoL2dyYXBocWwvcmVzb2x2ZXJzL2luaXQnXG5pbXBvcnQgbG9naW4gZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9sb2dpbidcbmltcG9ydCBsb2dvdXQgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9sb2dvdXQnXG5pbXBvcnQgbWUgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9tZSdcbmltcG9ydCByZWZyZXNoIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvcmVmcmVzaCdcbmltcG9ydCByZXNldFBhc3N3b3JkIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB1bmxvY2sgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy91bmxvY2snXG5pbXBvcnQgdmVyaWZ5RW1haWwgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy92ZXJpZnlFbWFpbCdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUsIHtcbiAgZ2V0Q29sbGVjdGlvbklEVHlwZSxcbn0gZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRNdXRhdGlvbklucHV0VHlwZSdcbmltcG9ydCBidWlsZE9iamVjdFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRPYmplY3RUeXBlJ1xuaW1wb3J0IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRQYWdpbmF0ZWRMaXN0VHlwZSdcbmltcG9ydCB7IGJ1aWxkUG9saWN5VHlwZSB9IGZyb20gJy4uLy4uL2dyYXBocWwvc2NoZW1hL2J1aWxkUG9saWNpZXNUeXBlJ1xuaW1wb3J0IGJ1aWxkV2hlcmVJbnB1dFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRXaGVyZUlucHV0VHlwZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uLy4uL2dyYXBocWwvdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgZmxhdHRlbkZpZWxkcyBmcm9tICcuLi8uLi91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzJ1xuaW1wb3J0IHsgZm9ybWF0TmFtZXMsIHRvV29yZHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZm9ybWF0TGFiZWxzJ1xuaW1wb3J0IHsgYnVpbGRWZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL2J1aWxkQ29sbGVjdGlvbkZpZWxkcydcbmltcG9ydCBjb3VudFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2NvdW50J1xuaW1wb3J0IGNyZWF0ZVJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2NyZWF0ZSdcbmltcG9ydCBnZXREZWxldGVSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9kZWxldGUnXG5pbXBvcnQgeyBkb2NBY2Nlc3NSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXJzL2RvY0FjY2VzcydcbmltcG9ydCBmaW5kUmVzb2x2ZXIgZnJvbSAnLi9yZXNvbHZlcnMvZmluZCdcbmltcG9ydCBmaW5kQnlJRFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2ZpbmRCeUlEJ1xuaW1wb3J0IGZpbmRWZXJzaW9uQnlJRFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2ZpbmRWZXJzaW9uQnlJRCdcbmltcG9ydCBmaW5kVmVyc2lvbnNSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9maW5kVmVyc2lvbnMnXG5pbXBvcnQgcmVzdG9yZVZlcnNpb25SZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB1cGRhdGVSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy91cGRhdGUnXG5cbmZ1bmN0aW9uIGluaXRDb2xsZWN0aW9uc0dyYXBoUUwocGF5bG9hZDogUGF5bG9hZCk6IHZvaWQge1xuICBPYmplY3Qua2V5cyhwYXlsb2FkLmNvbGxlY3Rpb25zKS5mb3JFYWNoKChzbHVnKSA9PiB7XG4gICAgY29uc3QgY29sbGVjdGlvbjogQ29sbGVjdGlvbiA9IHBheWxvYWQuY29sbGVjdGlvbnNbc2x1Z11cbiAgICBjb25zdCB7XG4gICAgICBjb25maWcsXG4gICAgICBjb25maWc6IHsgZmllbGRzLCBncmFwaFFMID0ge30gYXMgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1snZ3JhcGhRTCddLCB2ZXJzaW9ucyB9LFxuICAgIH0gPSBjb2xsZWN0aW9uXG5cbiAgICBpZiAoIWdyYXBoUUwpIHJldHVyblxuXG4gICAgbGV0IHNpbmd1bGFyTmFtZVxuICAgIGxldCBwbHVyYWxOYW1lXG4gICAgY29uc3QgZnJvbVNsdWcgPSBmb3JtYXROYW1lcyhjb2xsZWN0aW9uLmNvbmZpZy5zbHVnKVxuICAgIGlmIChncmFwaFFMLnNpbmd1bGFyTmFtZSkge1xuICAgICAgc2luZ3VsYXJOYW1lID0gdG9Xb3JkcyhncmFwaFFMLnNpbmd1bGFyTmFtZSwgdHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2luZ3VsYXJOYW1lID0gZnJvbVNsdWcuc2luZ3VsYXJcbiAgICB9XG4gICAgaWYgKGdyYXBoUUwucGx1cmFsTmFtZSkge1xuICAgICAgcGx1cmFsTmFtZSA9IHRvV29yZHMoZ3JhcGhRTC5wbHVyYWxOYW1lLCB0cnVlKVxuICAgIH0gZWxzZSB7XG4gICAgICBwbHVyYWxOYW1lID0gZnJvbVNsdWcucGx1cmFsXG4gICAgfVxuXG4gICAgLy8gRm9yIGNvbGxlY3Rpb25zIG5hbWVkICdNZWRpYScgb3Igc2ltaWxhcixcbiAgICAvLyB0aGVyZSBpcyBhIHBvc3NpYmlsaXR5IHRoYXQgdGhlIHNpbmd1bGFyIG5hbWVcbiAgICAvLyB3aWxsIGVxdWFsIHRoZSBwbHVyYWwgbmFtZS4gQXBwZW5kIGBhbGxgIHRvIHRoZSBiZWdpbm5pbmdcbiAgICAvLyBvZiBwb3RlbnRpYWwgY29uZmxpY3RzXG4gICAgaWYgKHNpbmd1bGFyTmFtZSA9PT0gcGx1cmFsTmFtZSkge1xuICAgICAgcGx1cmFsTmFtZSA9IGBhbGwke3Npbmd1bGFyTmFtZX1gXG4gICAgfVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMID0ge30gYXMgQ29sbGVjdGlvblsnZ3JhcGhRTCddXG5cbiAgICBjb25zdCBoYXNJREZpZWxkID1cbiAgICAgIGZsYXR0ZW5GaWVsZHMoZmllbGRzKS5maW5kSW5kZXgoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKSA+XG4gICAgICAtMVxuXG4gICAgY29uc3QgaWRUeXBlID0gZ2V0Q29sbGVjdGlvbklEVHlwZShwYXlsb2FkLCBjb25maWcpXG5cbiAgICBjb25zdCBiYXNlRmllbGRzOiBPYmplY3RUeXBlQ29uZmlnID0ge31cblxuICAgIGNvbnN0IHdoZXJlSW5wdXRGaWVsZHMgPSBbLi4uZmllbGRzXVxuXG4gICAgaWYgKCFoYXNJREZpZWxkKSB7XG4gICAgICBiYXNlRmllbGRzLmlkID0geyB0eXBlOiBpZFR5cGUgfVxuICAgICAgd2hlcmVJbnB1dEZpZWxkcy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ2lkJyxcbiAgICAgICAgdHlwZTogcGF5bG9hZC5kYi5kZWZhdWx0SURUeXBlIGFzICd0ZXh0JyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgY29uc3QgZm9yY2VOdWxsYWJsZU9iamVjdFR5cGUgPSBCb29sZWFuKHZlcnNpb25zPy5kcmFmdHMpXG5cbiAgICBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICBuYW1lOiBzaW5ndWxhck5hbWUsXG4gICAgICBiYXNlRmllbGRzLFxuICAgICAgZmllbGRzLFxuICAgICAgZm9yY2VOdWxsYWJsZTogZm9yY2VOdWxsYWJsZU9iamVjdFR5cGUsXG4gICAgICBwYXJlbnROYW1lOiBzaW5ndWxhck5hbWUsXG4gICAgICBwYXlsb2FkLFxuICAgIH0pXG5cbiAgICBjb2xsZWN0aW9uLmdyYXBoUUwucGFnaW5hdGVkVHlwZSA9IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUocGx1cmFsTmFtZSwgY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUpXG5cbiAgICBjb2xsZWN0aW9uLmdyYXBoUUwud2hlcmVJbnB1dFR5cGUgPSBidWlsZFdoZXJlSW5wdXRUeXBlKHtcbiAgICAgIG5hbWU6IHNpbmd1bGFyTmFtZSxcbiAgICAgIGZpZWxkczogd2hlcmVJbnB1dEZpZWxkcyxcbiAgICAgIHBhcmVudE5hbWU6IHNpbmd1bGFyTmFtZSxcbiAgICAgIHBheWxvYWQsXG4gICAgfSlcblxuICAgIGlmIChjb25maWcuYXV0aCAmJiAhY29uZmlnLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3kpIHtcbiAgICAgIGZpZWxkcy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ3Bhc3N3b3JkJyxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICBsYWJlbDogJ1Bhc3N3b3JkJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IGNyZWF0ZU11dGF0aW9uSW5wdXRUeXBlID0gYnVpbGRNdXRhdGlvbklucHV0VHlwZShcbiAgICAgIHBheWxvYWQsXG4gICAgICBzaW5ndWxhck5hbWUsXG4gICAgICBmaWVsZHMsXG4gICAgICBzaW5ndWxhck5hbWUsXG4gICAgKVxuICAgIGlmIChjcmVhdGVNdXRhdGlvbklucHV0VHlwZSkge1xuICAgICAgY29sbGVjdGlvbi5ncmFwaFFMLm11dGF0aW9uSW5wdXRUeXBlID0gbmV3IEdyYXBoUUxOb25OdWxsKGNyZWF0ZU11dGF0aW9uSW5wdXRUeXBlKVxuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlID0gYnVpbGRNdXRhdGlvbklucHV0VHlwZShcbiAgICAgIHBheWxvYWQsXG4gICAgICBgJHtzaW5ndWxhck5hbWV9VXBkYXRlYCxcbiAgICAgIGZpZWxkcy5maWx0ZXIoKGZpZWxkKSA9PiAhKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpKSxcbiAgICAgIGAke3Npbmd1bGFyTmFtZX1VcGRhdGVgLFxuICAgICAgdHJ1ZSxcbiAgICApXG4gICAgaWYgKHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlKSB7XG4gICAgICBjb2xsZWN0aW9uLmdyYXBoUUwudXBkYXRlTXV0YXRpb25JbnB1dFR5cGUgPSBuZXcgR3JhcGhRTE5vbk51bGwodXBkYXRlTXV0YXRpb25JbnB1dFR5cGUpXG4gICAgfVxuXG4gICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbc2luZ3VsYXJOYW1lXSA9IHtcbiAgICAgIHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC50eXBlLFxuICAgICAgYXJnczoge1xuICAgICAgICBpZDogeyB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoaWRUeXBlKSB9LFxuICAgICAgICBkcmFmdDogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICAuLi4ocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMuZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGUgfSxcbiAgICAgICAgICAgICAgbG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogZmluZEJ5SURSZXNvbHZlcihjb2xsZWN0aW9uKSxcbiAgICB9XG5cbiAgICBwYXlsb2FkLlF1ZXJ5LmZpZWxkc1twbHVyYWxOYW1lXSA9IHtcbiAgICAgIHR5cGU6IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUocGx1cmFsTmFtZSwgY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUpLFxuICAgICAgYXJnczoge1xuICAgICAgICBkcmFmdDogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICB3aGVyZTogeyB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwud2hlcmVJbnB1dFR5cGUgfSxcbiAgICAgICAgLi4uKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBmYWxsYmFja0xvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgICBsaW1pdDogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgIHBhZ2U6IHsgdHlwZTogR3JhcGhRTEludCB9LFxuICAgICAgICBzb3J0OiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiBmaW5kUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgfVxuXG4gICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbYGNvdW50JHtwbHVyYWxOYW1lfWBdID0ge1xuICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgbmFtZTogYGNvdW50JHtwbHVyYWxOYW1lfWAsXG4gICAgICAgIGZpZWxkczoge1xuICAgICAgICAgIHRvdGFsRG9jczogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgZHJhZnQ6IHsgdHlwZTogR3JhcGhRTEJvb2xlYW4gfSxcbiAgICAgICAgd2hlcmU6IHsgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLndoZXJlSW5wdXRUeXBlIH0sXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgbG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogY291bnRSZXNvbHZlcihjb2xsZWN0aW9uKSxcbiAgICB9XG5cbiAgICBwYXlsb2FkLlF1ZXJ5LmZpZWxkc1tgZG9jQWNjZXNzJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICB0eXBlOiBidWlsZFBvbGljeVR5cGUoe1xuICAgICAgICB0eXBlOiAnY29sbGVjdGlvbicsXG4gICAgICAgIGVudGl0eTogY29uZmlnLFxuICAgICAgICBzY29wZTogJ2RvY0FjY2VzcycsXG4gICAgICAgIHR5cGVTdWZmaXg6ICdEb2NBY2Nlc3MnLFxuICAgICAgfSksXG4gICAgICBhcmdzOiB7XG4gICAgICAgIGlkOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChpZFR5cGUpIH0sXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogZG9jQWNjZXNzUmVzb2x2ZXIoKSxcbiAgICB9XG5cbiAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgY3JlYXRlJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgLi4uKGNyZWF0ZU11dGF0aW9uSW5wdXRUeXBlXG4gICAgICAgICAgPyB7IGRhdGE6IHsgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLm11dGF0aW9uSW5wdXRUeXBlIH0gfVxuICAgICAgICAgIDoge30pLFxuICAgICAgICBkcmFmdDogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICAuLi4ocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IGNyZWF0ZVJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgIH1cblxuICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2B1cGRhdGUke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgIHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC50eXBlLFxuICAgICAgYXJnczoge1xuICAgICAgICBpZDogeyB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoaWRUeXBlKSB9LFxuICAgICAgICBhdXRvc2F2ZTogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICAuLi4odXBkYXRlTXV0YXRpb25JbnB1dFR5cGVcbiAgICAgICAgICA/IHsgZGF0YTogeyB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudXBkYXRlTXV0YXRpb25JbnB1dFR5cGUgfSB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIGRyYWZ0OiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgbG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogdXBkYXRlUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgfVxuXG4gICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYGRlbGV0ZSR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUsXG4gICAgICBhcmdzOiB7XG4gICAgICAgIGlkOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChpZFR5cGUpIH0sXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogZ2V0RGVsZXRlUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy52ZXJzaW9ucykge1xuICAgICAgY29uc3QgdmVyc2lvbklEVHlwZSA9IHBheWxvYWQuZGIuZGVmYXVsdElEVHlwZSA9PT0gJ3RleHQnID8gR3JhcGhRTFN0cmluZyA6IEdyYXBoUUxJbnRcbiAgICAgIGNvbnN0IHZlcnNpb25Db2xsZWN0aW9uRmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICAuLi5idWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzKGNvbmZpZyksXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnaWQnLFxuICAgICAgICAgIHR5cGU6IHBheWxvYWQuZGIuZGVmYXVsdElEVHlwZSBhcyAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnY3JlYXRlZEF0JyxcbiAgICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgICAgbGFiZWw6ICdDcmVhdGVkIEF0JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICd1cGRhdGVkQXQnLFxuICAgICAgICAgIHR5cGU6ICdkYXRlJyxcbiAgICAgICAgICBsYWJlbDogJ1VwZGF0ZWQgQXQnLFxuICAgICAgICB9LFxuICAgICAgXVxuXG4gICAgICBjb2xsZWN0aW9uLmdyYXBoUUwudmVyc2lvblR5cGUgPSBidWlsZE9iamVjdFR5cGUoe1xuICAgICAgICBuYW1lOiBgJHtzaW5ndWxhck5hbWV9VmVyc2lvbmAsXG4gICAgICAgIGZpZWxkczogdmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMsXG4gICAgICAgIGZvcmNlTnVsbGFibGU6IGZvcmNlTnVsbGFibGVPYmplY3RUeXBlLFxuICAgICAgICBwYXJlbnROYW1lOiBgJHtzaW5ndWxhck5hbWV9VmVyc2lvbmAsXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9KVxuXG4gICAgICBwYXlsb2FkLlF1ZXJ5LmZpZWxkc1tgdmVyc2lvbiR7Zm9ybWF0TmFtZShzaW5ndWxhck5hbWUpfWBdID0ge1xuICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudmVyc2lvblR5cGUsXG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBpZDogeyB0eXBlOiB2ZXJzaW9uSURUeXBlIH0sXG4gICAgICAgICAgLi4uKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzb2x2ZTogZmluZFZlcnNpb25CeUlEUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICB9XG4gICAgICBwYXlsb2FkLlF1ZXJ5LmZpZWxkc1tgdmVyc2lvbnMke3BsdXJhbE5hbWV9YF0gPSB7XG4gICAgICAgIHR5cGU6IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUoXG4gICAgICAgICAgYHZlcnNpb25zJHtmb3JtYXROYW1lKHBsdXJhbE5hbWUpfWAsXG4gICAgICAgICAgY29sbGVjdGlvbi5ncmFwaFFMLnZlcnNpb25UeXBlLFxuICAgICAgICApLFxuICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgIHR5cGU6IGJ1aWxkV2hlcmVJbnB1dFR5cGUoe1xuICAgICAgICAgICAgICBuYW1lOiBgdmVyc2lvbnMke3Npbmd1bGFyTmFtZX1gLFxuICAgICAgICAgICAgICBmaWVsZHM6IHZlcnNpb25Db2xsZWN0aW9uRmllbGRzLFxuICAgICAgICAgICAgICBwYXJlbnROYW1lOiBgdmVyc2lvbnMke3Npbmd1bGFyTmFtZX1gLFxuICAgICAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgICAuLi4ocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBmYWxsYmFja0xvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICAgICAgbG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgIGxpbWl0OiB7IHR5cGU6IEdyYXBoUUxJbnQgfSxcbiAgICAgICAgICBwYWdlOiB7IHR5cGU6IEdyYXBoUUxJbnQgfSxcbiAgICAgICAgICBzb3J0OiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzb2x2ZTogZmluZFZlcnNpb25zUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICB9XG4gICAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgcmVzdG9yZVZlcnNpb24ke2Zvcm1hdE5hbWUoc2luZ3VsYXJOYW1lKX1gXSA9IHtcbiAgICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUsXG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBpZDogeyB0eXBlOiB2ZXJzaW9uSURUeXBlIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlc29sdmU6IHJlc3RvcmVWZXJzaW9uUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5hdXRoKSB7XG4gICAgICBjb25zdCBhdXRoRmllbGRzOiBGaWVsZFtdID0gY29uZmlnLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3lcbiAgICAgICAgPyBbXVxuICAgICAgICA6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2VtYWlsJyxcbiAgICAgICAgICAgICAgdHlwZTogJ2VtYWlsJyxcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgIGNvbGxlY3Rpb24uZ3JhcGhRTC5KV1QgPSBidWlsZE9iamVjdFR5cGUoe1xuICAgICAgICBuYW1lOiBmb3JtYXROYW1lKGAke3NsdWd9SldUYCksXG4gICAgICAgIGZpZWxkczogW1xuICAgICAgICAgIC4uLmNvbmZpZy5maWVsZHMuZmlsdGVyKChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQuc2F2ZVRvSldUKSxcbiAgICAgICAgICAuLi5hdXRoRmllbGRzLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdjb2xsZWN0aW9uJyxcbiAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHBhcmVudE5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31KV1RgKSxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgIH0pXG5cbiAgICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2BtZSR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31NZWApLFxuICAgICAgICAgIGZpZWxkczoge1xuICAgICAgICAgICAgY29sbGVjdGlvbjoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV4cDoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMSW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRva2VuOiB7XG4gICAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICAgIHJlc29sdmU6IG1lKGNvbGxlY3Rpb24pLFxuICAgICAgfVxuXG4gICAgICBwYXlsb2FkLlF1ZXJ5LmZpZWxkc1tgaW5pdGlhbGl6ZWQke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgdHlwZTogR3JhcGhRTEJvb2xlYW4sXG4gICAgICAgIHJlc29sdmU6IGluaXQoY29sbGVjdGlvbi5jb25maWcuc2x1ZyksXG4gICAgICB9XG5cbiAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2ByZWZyZXNoVG9rZW4ke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICBuYW1lOiBmb3JtYXROYW1lKGAke3NsdWd9UmVmcmVzaGVkJHtzaW5ndWxhck5hbWV9YCksXG4gICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICBleHA6IHtcbiAgICAgICAgICAgICAgdHlwZTogR3JhcGhRTEludCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWZyZXNoZWRUb2tlbjoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVzZXI6IHtcbiAgICAgICAgICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLkpXVCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICB0b2tlbjogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlc29sdmU6IHJlZnJlc2goY29sbGVjdGlvbiksXG4gICAgICB9XG5cbiAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2Bsb2dvdXQke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgdHlwZTogR3JhcGhRTFN0cmluZyxcbiAgICAgICAgcmVzb2x2ZTogbG9nb3V0KGNvbGxlY3Rpb24pLFxuICAgICAgfVxuXG4gICAgICBpZiAoIWNvbmZpZy5hdXRoLmRpc2FibGVMb2NhbFN0cmF0ZWd5KSB7XG4gICAgICAgIGlmIChjb25maWcuYXV0aC5tYXhMb2dpbkF0dGVtcHRzID4gMCkge1xuICAgICAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2B1bmxvY2ske3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMQm9vbGVhbiksXG4gICAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICAgIGVtYWlsOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMU3RyaW5nKSB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlc29sdmU6IHVubG9jayhjb2xsZWN0aW9uKSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgbG9naW4ke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgICAgbmFtZTogZm9ybWF0TmFtZShgJHtzbHVnfUxvZ2luUmVzdWx0YCksXG4gICAgICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICAgICAgZXhwOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogR3JhcGhRTEludCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdG9rZW46IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICAgIGVtYWlsOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc29sdmU6IGxvZ2luKGNvbGxlY3Rpb24pLFxuICAgICAgICB9XG5cbiAgICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYGZvcmdvdFBhc3N3b3JkJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKEdyYXBoUUxCb29sZWFuKSxcbiAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICBkaXNhYmxlRW1haWw6IHsgdHlwZTogR3JhcGhRTEJvb2xlYW4gfSxcbiAgICAgICAgICAgIGVtYWlsOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMU3RyaW5nKSB9LFxuICAgICAgICAgICAgZXhwaXJhdGlvbjogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNvbHZlOiBmb3Jnb3RQYXNzd29yZChjb2xsZWN0aW9uKSxcbiAgICAgICAgfVxuXG4gICAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2ByZXNldFBhc3N3b3JkJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31SZXNldFBhc3N3b3JkYCksXG4gICAgICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICAgICAgdG9rZW46IHsgdHlwZTogR3JhcGhRTFN0cmluZyB9LFxuICAgICAgICAgICAgICB1c2VyOiB7IHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC50eXBlIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICAgIHRva2VuOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc29sdmU6IHJlc2V0UGFzc3dvcmQoY29sbGVjdGlvbiksXG4gICAgICAgIH1cblxuICAgICAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgdmVyaWZ5RW1haWwke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgICB0eXBlOiBHcmFwaFFMQm9vbGVhbixcbiAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICB0b2tlbjogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNvbHZlOiB2ZXJpZnlFbWFpbChjb2xsZWN0aW9uKSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgaW5pdENvbGxlY3Rpb25zR3JhcGhRTFxuIl0sIm5hbWVzIjpbImluaXRDb2xsZWN0aW9uc0dyYXBoUUwiLCJwYXlsb2FkIiwiT2JqZWN0Iiwia2V5cyIsImNvbGxlY3Rpb25zIiwiZm9yRWFjaCIsInNsdWciLCJjb2xsZWN0aW9uIiwiY29uZmlnIiwiZmllbGRzIiwiZ3JhcGhRTCIsInZlcnNpb25zIiwic2luZ3VsYXJOYW1lIiwicGx1cmFsTmFtZSIsImZyb21TbHVnIiwiZm9ybWF0TmFtZXMiLCJ0b1dvcmRzIiwic2luZ3VsYXIiLCJwbHVyYWwiLCJoYXNJREZpZWxkIiwiZmxhdHRlbkZpZWxkcyIsImZpbmRJbmRleCIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJpZFR5cGUiLCJnZXRDb2xsZWN0aW9uSURUeXBlIiwiYmFzZUZpZWxkcyIsIndoZXJlSW5wdXRGaWVsZHMiLCJpZCIsInR5cGUiLCJwdXNoIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwiZm9yY2VOdWxsYWJsZU9iamVjdFR5cGUiLCJCb29sZWFuIiwiZHJhZnRzIiwiYnVpbGRPYmplY3RUeXBlIiwiZm9yY2VOdWxsYWJsZSIsInBhcmVudE5hbWUiLCJwYWdpbmF0ZWRUeXBlIiwiYnVpbGRQYWdpbmF0ZWRMaXN0VHlwZSIsIndoZXJlSW5wdXRUeXBlIiwiYnVpbGRXaGVyZUlucHV0VHlwZSIsImF1dGgiLCJkaXNhYmxlTG9jYWxTdHJhdGVneSIsImxhYmVsIiwicmVxdWlyZWQiLCJjcmVhdGVNdXRhdGlvbklucHV0VHlwZSIsImJ1aWxkTXV0YXRpb25JbnB1dFR5cGUiLCJtdXRhdGlvbklucHV0VHlwZSIsIkdyYXBoUUxOb25OdWxsIiwidXBkYXRlTXV0YXRpb25JbnB1dFR5cGUiLCJmaWx0ZXIiLCJRdWVyeSIsImFyZ3MiLCJkcmFmdCIsIkdyYXBoUUxCb29sZWFuIiwibG9jYWxpemF0aW9uIiwiZmFsbGJhY2tMb2NhbGUiLCJ0eXBlcyIsImZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlIiwibG9jYWxlIiwibG9jYWxlSW5wdXRUeXBlIiwicmVzb2x2ZSIsImZpbmRCeUlEUmVzb2x2ZXIiLCJ3aGVyZSIsImxpbWl0IiwiR3JhcGhRTEludCIsInBhZ2UiLCJzb3J0IiwiR3JhcGhRTFN0cmluZyIsImZpbmRSZXNvbHZlciIsIkdyYXBoUUxPYmplY3RUeXBlIiwidG90YWxEb2NzIiwiY291bnRSZXNvbHZlciIsImJ1aWxkUG9saWN5VHlwZSIsImVudGl0eSIsInNjb3BlIiwidHlwZVN1ZmZpeCIsImRvY0FjY2Vzc1Jlc29sdmVyIiwiTXV0YXRpb24iLCJkYXRhIiwiY3JlYXRlUmVzb2x2ZXIiLCJhdXRvc2F2ZSIsInVwZGF0ZVJlc29sdmVyIiwiZ2V0RGVsZXRlUmVzb2x2ZXIiLCJ2ZXJzaW9uSURUeXBlIiwidmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIiwidmVyc2lvblR5cGUiLCJmb3JtYXROYW1lIiwiZmluZFZlcnNpb25CeUlEUmVzb2x2ZXIiLCJmaW5kVmVyc2lvbnNSZXNvbHZlciIsInJlc3RvcmVWZXJzaW9uUmVzb2x2ZXIiLCJhdXRoRmllbGRzIiwiSldUIiwic2F2ZVRvSldUIiwiZXhwIiwidG9rZW4iLCJ1c2VyIiwibWUiLCJpbml0IiwicmVmcmVzaGVkVG9rZW4iLCJyZWZyZXNoIiwibG9nb3V0IiwibWF4TG9naW5BdHRlbXB0cyIsImVtYWlsIiwidW5sb2NrIiwicGFzc3dvcmQiLCJsb2dpbiIsImRpc2FibGVFbWFpbCIsImV4cGlyYXRpb24iLCJmb3Jnb3RQYXNzd29yZCIsInJlc2V0UGFzc3dvcmQiLCJ2ZXJpZnlFbWFpbCJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQThk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
556
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL2luaXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB7XG4gIEdyYXBoUUxCb29sZWFuLFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTm9uTnVsbCxcbiAgR3JhcGhRTE9iamVjdFR5cGUsXG4gIEdyYXBoUUxTdHJpbmcsXG59IGZyb20gJ2dyYXBocWwnXG5cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPYmplY3RUeXBlQ29uZmlnIH0gZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRPYmplY3RUeXBlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4vcGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiwgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGZvcmdvdFBhc3N3b3JkIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvZm9yZ290UGFzc3dvcmQnXG5pbXBvcnQgaW5pdCBmcm9tICcuLi8uLi9hdXRoL2dyYXBocWwvcmVzb2x2ZXJzL2luaXQnXG5pbXBvcnQgbG9naW4gZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9sb2dpbidcbmltcG9ydCBsb2dvdXQgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9sb2dvdXQnXG5pbXBvcnQgbWUgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9tZSdcbmltcG9ydCByZWZyZXNoIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvcmVmcmVzaCdcbmltcG9ydCByZXNldFBhc3N3b3JkIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB1bmxvY2sgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy91bmxvY2snXG5pbXBvcnQgdmVyaWZ5RW1haWwgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy92ZXJpZnlFbWFpbCdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUsIHtcbiAgZ2V0Q29sbGVjdGlvbklEVHlwZSxcbn0gZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRNdXRhdGlvbklucHV0VHlwZSdcbmltcG9ydCBidWlsZE9iamVjdFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRPYmplY3RUeXBlJ1xuaW1wb3J0IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRQYWdpbmF0ZWRMaXN0VHlwZSdcbmltcG9ydCB7IGJ1aWxkUG9saWN5VHlwZSB9IGZyb20gJy4uLy4uL2dyYXBocWwvc2NoZW1hL2J1aWxkUG9saWNpZXNUeXBlJ1xuaW1wb3J0IGJ1aWxkV2hlcmVJbnB1dFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRXaGVyZUlucHV0VHlwZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uLy4uL2dyYXBocWwvdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgZmxhdHRlbkZpZWxkcyBmcm9tICcuLi8uLi91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzJ1xuaW1wb3J0IHsgZm9ybWF0TmFtZXMsIHRvV29yZHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZm9ybWF0TGFiZWxzJ1xuaW1wb3J0IHsgYnVpbGRWZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL2J1aWxkQ29sbGVjdGlvbkZpZWxkcydcbmltcG9ydCBjb3VudFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2NvdW50J1xuaW1wb3J0IGNyZWF0ZVJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2NyZWF0ZSdcbmltcG9ydCBnZXREZWxldGVSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9kZWxldGUnXG5pbXBvcnQgeyBkb2NBY2Nlc3NSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXJzL2RvY0FjY2VzcydcbmltcG9ydCBmaW5kUmVzb2x2ZXIgZnJvbSAnLi9yZXNvbHZlcnMvZmluZCdcbmltcG9ydCBmaW5kQnlJRFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2ZpbmRCeUlEJ1xuaW1wb3J0IGZpbmRWZXJzaW9uQnlJRFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2ZpbmRWZXJzaW9uQnlJRCdcbmltcG9ydCBmaW5kVmVyc2lvbnNSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9maW5kVmVyc2lvbnMnXG5pbXBvcnQgcmVzdG9yZVZlcnNpb25SZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB1cGRhdGVSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy91cGRhdGUnXG5cbmZ1bmN0aW9uIGluaXRDb2xsZWN0aW9uc0dyYXBoUUwocGF5bG9hZDogUGF5bG9hZCk6IHZvaWQge1xuICBPYmplY3Qua2V5cyhwYXlsb2FkLmNvbGxlY3Rpb25zKS5mb3JFYWNoKChzbHVnKSA9PiB7XG4gICAgY29uc3QgY29sbGVjdGlvbjogQ29sbGVjdGlvbiA9IHBheWxvYWQuY29sbGVjdGlvbnNbc2x1Z11cbiAgICBjb25zdCB7XG4gICAgICBjb25maWcsXG4gICAgICBjb25maWc6IHsgZmllbGRzLCBncmFwaFFMID0ge30gYXMgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1snZ3JhcGhRTCddLCB2ZXJzaW9ucyB9LFxuICAgIH0gPSBjb2xsZWN0aW9uXG5cbiAgICBpZiAoIWdyYXBoUUwpIHJldHVyblxuXG4gICAgY29uc3QgZHJhZnRzRW5hYmxlZCA9IGNvbGxlY3Rpb24uY29uZmlnLnZlcnNpb25zPy5kcmFmdHNcblxuICAgIGxldCBzaW5ndWxhck5hbWVcbiAgICBsZXQgcGx1cmFsTmFtZVxuICAgIGNvbnN0IGZyb21TbHVnID0gZm9ybWF0TmFtZXMoY29sbGVjdGlvbi5jb25maWcuc2x1ZylcbiAgICBpZiAoZ3JhcGhRTC5zaW5ndWxhck5hbWUpIHtcbiAgICAgIHNpbmd1bGFyTmFtZSA9IHRvV29yZHMoZ3JhcGhRTC5zaW5ndWxhck5hbWUsIHRydWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNpbmd1bGFyTmFtZSA9IGZyb21TbHVnLnNpbmd1bGFyXG4gICAgfVxuICAgIGlmIChncmFwaFFMLnBsdXJhbE5hbWUpIHtcbiAgICAgIHBsdXJhbE5hbWUgPSB0b1dvcmRzKGdyYXBoUUwucGx1cmFsTmFtZSwgdHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgcGx1cmFsTmFtZSA9IGZyb21TbHVnLnBsdXJhbFxuICAgIH1cblxuICAgIC8vIEZvciBjb2xsZWN0aW9ucyBuYW1lZCAnTWVkaWEnIG9yIHNpbWlsYXIsXG4gICAgLy8gdGhlcmUgaXMgYSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBzaW5ndWxhciBuYW1lXG4gICAgLy8gd2lsbCBlcXVhbCB0aGUgcGx1cmFsIG5hbWUuIEFwcGVuZCBgYWxsYCB0byB0aGUgYmVnaW5uaW5nXG4gICAgLy8gb2YgcG90ZW50aWFsIGNvbmZsaWN0c1xuICAgIGlmIChzaW5ndWxhck5hbWUgPT09IHBsdXJhbE5hbWUpIHtcbiAgICAgIHBsdXJhbE5hbWUgPSBgYWxsJHtzaW5ndWxhck5hbWV9YFxuICAgIH1cblxuICAgIGNvbGxlY3Rpb24uZ3JhcGhRTCA9IHt9IGFzIENvbGxlY3Rpb25bJ2dyYXBoUUwnXVxuXG4gICAgY29uc3QgaGFzSURGaWVsZCA9XG4gICAgICBmbGF0dGVuRmllbGRzKGZpZWxkcykuZmluZEluZGV4KChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJykgPlxuICAgICAgLTFcblxuICAgIGNvbnN0IGlkVHlwZSA9IGdldENvbGxlY3Rpb25JRFR5cGUocGF5bG9hZCwgY29uZmlnKVxuXG4gICAgY29uc3QgYmFzZUZpZWxkczogT2JqZWN0VHlwZUNvbmZpZyA9IHt9XG5cbiAgICBjb25zdCB3aGVyZUlucHV0RmllbGRzID0gWy4uLmZpZWxkc11cblxuICAgIGlmICghaGFzSURGaWVsZCkge1xuICAgICAgYmFzZUZpZWxkcy5pZCA9IHsgdHlwZTogaWRUeXBlIH1cbiAgICAgIHdoZXJlSW5wdXRGaWVsZHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgIHR5cGU6IHBheWxvYWQuZGIuZGVmYXVsdElEVHlwZSBhcyAndGV4dCcsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IGZvcmNlTnVsbGFibGVPYmplY3RUeXBlID0gQm9vbGVhbih2ZXJzaW9ucz8uZHJhZnRzKVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUgPSBidWlsZE9iamVjdFR5cGUoe1xuICAgICAgbmFtZTogc2luZ3VsYXJOYW1lLFxuICAgICAgYmFzZUZpZWxkcyxcbiAgICAgIGZpZWxkcyxcbiAgICAgIGZvcmNlTnVsbGFibGU6IGZvcmNlTnVsbGFibGVPYmplY3RUeXBlLFxuICAgICAgcGFyZW50TmFtZTogc2luZ3VsYXJOYW1lLFxuICAgICAgcGF5bG9hZCxcbiAgICB9KVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMLnBhZ2luYXRlZFR5cGUgPSBidWlsZFBhZ2luYXRlZExpc3RUeXBlKHBsdXJhbE5hbWUsIGNvbGxlY3Rpb24uZ3JhcGhRTC50eXBlKVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMLndoZXJlSW5wdXRUeXBlID0gYnVpbGRXaGVyZUlucHV0VHlwZSh7XG4gICAgICBuYW1lOiBzaW5ndWxhck5hbWUsXG4gICAgICBmaWVsZHM6IHdoZXJlSW5wdXRGaWVsZHMsXG4gICAgICBwYXJlbnROYW1lOiBzaW5ndWxhck5hbWUsXG4gICAgICBwYXlsb2FkLFxuICAgIH0pXG5cbiAgICBpZiAoY29uZmlnLmF1dGggJiYgIWNvbmZpZy5hdXRoLmRpc2FibGVMb2NhbFN0cmF0ZWd5KSB7XG4gICAgICBmaWVsZHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdwYXNzd29yZCcsXG4gICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgbGFiZWw6ICdQYXNzd29yZCcsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBjb25zdCBjcmVhdGVNdXRhdGlvbklucHV0VHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoXG4gICAgICBwYXlsb2FkLFxuICAgICAgc2luZ3VsYXJOYW1lLFxuICAgICAgZmllbGRzLFxuICAgICAgc2luZ3VsYXJOYW1lLFxuICAgIClcbiAgICBpZiAoY3JlYXRlTXV0YXRpb25JbnB1dFR5cGUpIHtcbiAgICAgIGNvbGxlY3Rpb24uZ3JhcGhRTC5tdXRhdGlvbklucHV0VHlwZSA9IG5ldyBHcmFwaFFMTm9uTnVsbChjcmVhdGVNdXRhdGlvbklucHV0VHlwZSlcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVNdXRhdGlvbklucHV0VHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoXG4gICAgICBwYXlsb2FkLFxuICAgICAgYCR7c2luZ3VsYXJOYW1lfVVwZGF0ZWAsXG4gICAgICBmaWVsZHMuZmlsdGVyKChmaWVsZCkgPT4gIShmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKSksXG4gICAgICBgJHtzaW5ndWxhck5hbWV9VXBkYXRlYCxcbiAgICAgIHRydWUsXG4gICAgKVxuICAgIGlmICh1cGRhdGVNdXRhdGlvbklucHV0VHlwZSkge1xuICAgICAgY29sbGVjdGlvbi5ncmFwaFFMLnVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlID0gbmV3IEdyYXBoUUxOb25OdWxsKHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlKVxuICAgIH1cblxuICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW3Npbmd1bGFyTmFtZV0gPSB7XG4gICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgaWQ6IHsgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKGlkVHlwZSkgfSxcbiAgICAgICAgLi4uKGRyYWZ0c0VuYWJsZWRcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgZHJhZnQ6IHsgdHlwZTogR3JhcGhRTEJvb2xlYW4gfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBmYWxsYmFja0xvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IGZpbmRCeUlEUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgfVxuXG4gICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbcGx1cmFsTmFtZV0gPSB7XG4gICAgICB0eXBlOiBidWlsZFBhZ2luYXRlZExpc3RUeXBlKHBsdXJhbE5hbWUsIGNvbGxlY3Rpb24uZ3JhcGhRTC50eXBlKSxcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgLi4uKGRyYWZ0c0VuYWJsZWRcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgZHJhZnQ6IHsgdHlwZTogR3JhcGhRTEJvb2xlYW4gfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgICAgd2hlcmU6IHsgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLndoZXJlSW5wdXRUeXBlIH0sXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICBsb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5sb2NhbGVJbnB1dFR5cGUgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgICAgbGltaXQ6IHsgdHlwZTogR3JhcGhRTEludCB9LFxuICAgICAgICBwYWdlOiB7IHR5cGU6IEdyYXBoUUxJbnQgfSxcbiAgICAgICAgc29ydDogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogZmluZFJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgIH1cblxuICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2Bjb3VudCR7cGx1cmFsTmFtZX1gXSA9IHtcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IGBjb3VudCR7cGx1cmFsTmFtZX1gLFxuICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICB0b3RhbERvY3M6IHsgdHlwZTogR3JhcGhRTEludCB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBhcmdzOiB7XG4gICAgICAgIC4uLihkcmFmdHNFbmFibGVkXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGRyYWZ0OiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIHdoZXJlOiB7IHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC53aGVyZUlucHV0VHlwZSB9LFxuICAgICAgICAuLi4ocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IGNvdW50UmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgfVxuXG4gICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbYGRvY0FjY2VzcyR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgdHlwZTogYnVpbGRQb2xpY3lUeXBlKHtcbiAgICAgICAgdHlwZTogJ2NvbGxlY3Rpb24nLFxuICAgICAgICBlbnRpdHk6IGNvbmZpZyxcbiAgICAgICAgc2NvcGU6ICdkb2NBY2Nlc3MnLFxuICAgICAgICB0eXBlU3VmZml4OiAnRG9jQWNjZXNzJyxcbiAgICAgIH0pLFxuICAgICAgYXJnczoge1xuICAgICAgICBpZDogeyB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoaWRUeXBlKSB9LFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IGRvY0FjY2Vzc1Jlc29sdmVyKCksXG4gICAgfVxuXG4gICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYGNyZWF0ZSR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUsXG4gICAgICBhcmdzOiB7XG4gICAgICAgIC4uLihjcmVhdGVNdXRhdGlvbklucHV0VHlwZVxuICAgICAgICAgID8geyBkYXRhOiB7IHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC5tdXRhdGlvbklucHV0VHlwZSB9IH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgICAgLi4uKGRyYWZ0c0VuYWJsZWRcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgZHJhZnQ6IHsgdHlwZTogR3JhcGhRTEJvb2xlYW4gfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBsb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5sb2NhbGVJbnB1dFR5cGUgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiBjcmVhdGVSZXNvbHZlcihjb2xsZWN0aW9uKSxcbiAgICB9XG5cbiAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgdXBkYXRlJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgaWQ6IHsgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKGlkVHlwZSkgfSxcbiAgICAgICAgYXV0b3NhdmU6IHsgdHlwZTogR3JhcGhRTEJvb2xlYW4gfSxcbiAgICAgICAgLi4uKHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlXG4gICAgICAgICAgPyB7IGRhdGE6IHsgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlIH0gfVxuICAgICAgICAgIDoge30pLFxuICAgICAgICAuLi4oZHJhZnRzRW5hYmxlZFxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBkcmFmdDogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IHVwZGF0ZVJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgIH1cblxuICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2BkZWxldGUke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgIHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC50eXBlLFxuICAgICAgYXJnczoge1xuICAgICAgICBpZDogeyB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoaWRUeXBlKSB9LFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IGdldERlbGV0ZVJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgIH1cblxuICAgIGlmIChjb25maWcudmVyc2lvbnMpIHtcbiAgICAgIGNvbnN0IHZlcnNpb25JRFR5cGUgPSBwYXlsb2FkLmRiLmRlZmF1bHRJRFR5cGUgPT09ICd0ZXh0JyA/IEdyYXBoUUxTdHJpbmcgOiBHcmFwaFFMSW50XG4gICAgICBjb25zdCB2ZXJzaW9uQ29sbGVjdGlvbkZpZWxkczogRmllbGRbXSA9IFtcbiAgICAgICAgLi4uYnVpbGRWZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyhjb25maWcpLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2lkJyxcbiAgICAgICAgICB0eXBlOiBwYXlsb2FkLmRiLmRlZmF1bHRJRFR5cGUgYXMgJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2NyZWF0ZWRBdCcsXG4gICAgICAgICAgdHlwZTogJ2RhdGUnLFxuICAgICAgICAgIGxhYmVsOiAnQ3JlYXRlZCBBdCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAndXBkYXRlZEF0JyxcbiAgICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgICAgbGFiZWw6ICdVcGRhdGVkIEF0JyxcbiAgICAgICAgfSxcbiAgICAgIF1cblxuICAgICAgY29sbGVjdGlvbi5ncmFwaFFMLnZlcnNpb25UeXBlID0gYnVpbGRPYmplY3RUeXBlKHtcbiAgICAgICAgbmFtZTogYCR7c2luZ3VsYXJOYW1lfVZlcnNpb25gLFxuICAgICAgICBmaWVsZHM6IHZlcnNpb25Db2xsZWN0aW9uRmllbGRzLFxuICAgICAgICBmb3JjZU51bGxhYmxlOiBmb3JjZU51bGxhYmxlT2JqZWN0VHlwZSxcbiAgICAgICAgcGFyZW50TmFtZTogYCR7c2luZ3VsYXJOYW1lfVZlcnNpb25gLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgfSlcblxuICAgICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbYHZlcnNpb24ke2Zvcm1hdE5hbWUoc2luZ3VsYXJOYW1lKX1gXSA9IHtcbiAgICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnZlcnNpb25UeXBlLFxuICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgaWQ6IHsgdHlwZTogdmVyc2lvbklEVHlwZSB9LFxuICAgICAgICAgIC4uLihwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMuZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGUgfSxcbiAgICAgICAgICAgICAgICBsb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5sb2NhbGVJbnB1dFR5cGUgfSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7fSksXG4gICAgICAgIH0sXG4gICAgICAgIHJlc29sdmU6IGZpbmRWZXJzaW9uQnlJRFJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgfVxuICAgICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbYHZlcnNpb25zJHtwbHVyYWxOYW1lfWBdID0ge1xuICAgICAgICB0eXBlOiBidWlsZFBhZ2luYXRlZExpc3RUeXBlKFxuICAgICAgICAgIGB2ZXJzaW9ucyR7Zm9ybWF0TmFtZShwbHVyYWxOYW1lKX1gLFxuICAgICAgICAgIGNvbGxlY3Rpb24uZ3JhcGhRTC52ZXJzaW9uVHlwZSxcbiAgICAgICAgKSxcbiAgICAgICAgYXJnczoge1xuICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICB0eXBlOiBidWlsZFdoZXJlSW5wdXRUeXBlKHtcbiAgICAgICAgICAgICAgbmFtZTogYHZlcnNpb25zJHtzaW5ndWxhck5hbWV9YCxcbiAgICAgICAgICAgICAgZmllbGRzOiB2ZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyxcbiAgICAgICAgICAgICAgcGFyZW50TmFtZTogYHZlcnNpb25zJHtzaW5ndWxhck5hbWV9YCxcbiAgICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4uKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICBsaW1pdDogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgcGFnZTogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgc29ydDogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlc29sdmU6IGZpbmRWZXJzaW9uc1Jlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgfVxuICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYHJlc3RvcmVWZXJzaW9uJHtmb3JtYXROYW1lKHNpbmd1bGFyTmFtZSl9YF0gPSB7XG4gICAgICAgIHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC50eXBlLFxuICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgaWQ6IHsgdHlwZTogdmVyc2lvbklEVHlwZSB9LFxuICAgICAgICB9LFxuICAgICAgICByZXNvbHZlOiByZXN0b3JlVmVyc2lvblJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjb25maWcuYXV0aCkge1xuICAgICAgY29uc3QgYXV0aEZpZWxkczogRmllbGRbXSA9IGNvbmZpZy5hdXRoLmRpc2FibGVMb2NhbFN0cmF0ZWd5XG4gICAgICAgID8gW11cbiAgICAgICAgOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdlbWFpbCcsXG4gICAgICAgICAgICAgIHR5cGU6ICdlbWFpbCcsXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICBjb2xsZWN0aW9uLmdyYXBoUUwuSldUID0gYnVpbGRPYmplY3RUeXBlKHtcbiAgICAgICAgbmFtZTogZm9ybWF0TmFtZShgJHtzbHVnfUpXVGApLFxuICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAuLi5jb25maWcuZmllbGRzLmZpbHRlcigoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLnNhdmVUb0pXVCksXG4gICAgICAgICAgLi4uYXV0aEZpZWxkcyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnY29sbGVjdGlvbicsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBwYXJlbnROYW1lOiBmb3JtYXROYW1lKGAke3NsdWd9SldUYCksXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9KVxuXG4gICAgICBwYXlsb2FkLlF1ZXJ5LmZpZWxkc1tgbWUke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICBuYW1lOiBmb3JtYXROYW1lKGAke3NsdWd9TWVgKSxcbiAgICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IHtcbiAgICAgICAgICAgICAgdHlwZTogR3JhcGhRTFN0cmluZyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBleHA6IHtcbiAgICAgICAgICAgICAgdHlwZTogR3JhcGhRTEludCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0b2tlbjoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVzZXI6IHtcbiAgICAgICAgICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgICByZXNvbHZlOiBtZShjb2xsZWN0aW9uKSxcbiAgICAgIH1cblxuICAgICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbYGluaXRpYWxpemVkJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICAgIHR5cGU6IEdyYXBoUUxCb29sZWFuLFxuICAgICAgICByZXNvbHZlOiBpbml0KGNvbGxlY3Rpb24uY29uZmlnLnNsdWcpLFxuICAgICAgfVxuXG4gICAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgcmVmcmVzaFRva2VuJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgICAgbmFtZTogZm9ybWF0TmFtZShgJHtzbHVnfVJlZnJlc2hlZCR7c2luZ3VsYXJOYW1lfWApLFxuICAgICAgICAgIGZpZWxkczoge1xuICAgICAgICAgICAgZXhwOiB7XG4gICAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxJbnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVmcmVzaGVkVG9rZW46IHtcbiAgICAgICAgICAgICAgdHlwZTogR3JhcGhRTFN0cmluZyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgICAgIHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC5KV1QsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgdG9rZW46IHsgdHlwZTogR3JhcGhRTFN0cmluZyB9LFxuICAgICAgICB9LFxuICAgICAgICByZXNvbHZlOiByZWZyZXNoKGNvbGxlY3Rpb24pLFxuICAgICAgfVxuXG4gICAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgbG9nb3V0JHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgIHJlc29sdmU6IGxvZ291dChjb2xsZWN0aW9uKSxcbiAgICAgIH1cblxuICAgICAgaWYgKCFjb25maWcuYXV0aC5kaXNhYmxlTG9jYWxTdHJhdGVneSkge1xuICAgICAgICBpZiAoY29uZmlnLmF1dGgubWF4TG9naW5BdHRlbXB0cyA+IDApIHtcbiAgICAgICAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgdW5sb2NrJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgICAgICAgICAgYXJnczoge1xuICAgICAgICAgICAgICBlbWFpbDogeyB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTFN0cmluZykgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNvbHZlOiB1bmxvY2soY29sbGVjdGlvbiksXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYGxvZ2luJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31Mb2dpblJlc3VsdGApLFxuICAgICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICAgIGV4cDoge1xuICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxJbnQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHRva2VuOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogR3JhcGhRTFN0cmluZyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgICAgIHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC50eXBlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICBlbWFpbDogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgICAgICBwYXNzd29yZDogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNvbHZlOiBsb2dpbihjb2xsZWN0aW9uKSxcbiAgICAgICAgfVxuXG4gICAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2Bmb3Jnb3RQYXNzd29yZCR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMQm9vbGVhbiksXG4gICAgICAgICAgYXJnczoge1xuICAgICAgICAgICAgZGlzYWJsZUVtYWlsOiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgICAgICBlbWFpbDogeyB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTFN0cmluZykgfSxcbiAgICAgICAgICAgIGV4cGlyYXRpb246IHsgdHlwZTogR3JhcGhRTEludCB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzb2x2ZTogZm9yZ290UGFzc3dvcmQoY29sbGVjdGlvbiksXG4gICAgICAgIH1cblxuICAgICAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgcmVzZXRQYXNzd29yZCR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICBuYW1lOiBmb3JtYXROYW1lKGAke3NsdWd9UmVzZXRQYXNzd29yZGApLFxuICAgICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICAgIHRva2VuOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICAgICAgdXNlcjogeyB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICBwYXNzd29yZDogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgICAgICB0b2tlbjogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNvbHZlOiByZXNldFBhc3N3b3JkKGNvbGxlY3Rpb24pLFxuICAgICAgICB9XG5cbiAgICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYHZlcmlmeUVtYWlsJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICAgICAgdHlwZTogR3JhcGhRTEJvb2xlYW4sXG4gICAgICAgICAgYXJnczoge1xuICAgICAgICAgICAgdG9rZW46IHsgdHlwZTogR3JhcGhRTFN0cmluZyB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzb2x2ZTogdmVyaWZ5RW1haWwoY29sbGVjdGlvbiksXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGluaXRDb2xsZWN0aW9uc0dyYXBoUUxcbiJdLCJuYW1lcyI6WyJpbml0Q29sbGVjdGlvbnNHcmFwaFFMIiwicGF5bG9hZCIsIk9iamVjdCIsImtleXMiLCJjb2xsZWN0aW9ucyIsImZvckVhY2giLCJzbHVnIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImZpZWxkcyIsImdyYXBoUUwiLCJ2ZXJzaW9ucyIsImRyYWZ0c0VuYWJsZWQiLCJkcmFmdHMiLCJzaW5ndWxhck5hbWUiLCJwbHVyYWxOYW1lIiwiZnJvbVNsdWciLCJmb3JtYXROYW1lcyIsInRvV29yZHMiLCJzaW5ndWxhciIsInBsdXJhbCIsImhhc0lERmllbGQiLCJmbGF0dGVuRmllbGRzIiwiZmluZEluZGV4IiwiZmllbGQiLCJmaWVsZEFmZmVjdHNEYXRhIiwibmFtZSIsImlkVHlwZSIsImdldENvbGxlY3Rpb25JRFR5cGUiLCJiYXNlRmllbGRzIiwid2hlcmVJbnB1dEZpZWxkcyIsImlkIiwidHlwZSIsInB1c2giLCJkYiIsImRlZmF1bHRJRFR5cGUiLCJmb3JjZU51bGxhYmxlT2JqZWN0VHlwZSIsIkJvb2xlYW4iLCJidWlsZE9iamVjdFR5cGUiLCJmb3JjZU51bGxhYmxlIiwicGFyZW50TmFtZSIsInBhZ2luYXRlZFR5cGUiLCJidWlsZFBhZ2luYXRlZExpc3RUeXBlIiwid2hlcmVJbnB1dFR5cGUiLCJidWlsZFdoZXJlSW5wdXRUeXBlIiwiYXV0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwibGFiZWwiLCJyZXF1aXJlZCIsImNyZWF0ZU11dGF0aW9uSW5wdXRUeXBlIiwiYnVpbGRNdXRhdGlvbklucHV0VHlwZSIsIm11dGF0aW9uSW5wdXRUeXBlIiwiR3JhcGhRTE5vbk51bGwiLCJ1cGRhdGVNdXRhdGlvbklucHV0VHlwZSIsImZpbHRlciIsIlF1ZXJ5IiwiYXJncyIsImRyYWZ0IiwiR3JhcGhRTEJvb2xlYW4iLCJsb2NhbGl6YXRpb24iLCJmYWxsYmFja0xvY2FsZSIsInR5cGVzIiwiZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGUiLCJsb2NhbGUiLCJsb2NhbGVJbnB1dFR5cGUiLCJyZXNvbHZlIiwiZmluZEJ5SURSZXNvbHZlciIsIndoZXJlIiwibGltaXQiLCJHcmFwaFFMSW50IiwicGFnZSIsInNvcnQiLCJHcmFwaFFMU3RyaW5nIiwiZmluZFJlc29sdmVyIiwiR3JhcGhRTE9iamVjdFR5cGUiLCJ0b3RhbERvY3MiLCJjb3VudFJlc29sdmVyIiwiYnVpbGRQb2xpY3lUeXBlIiwiZW50aXR5Iiwic2NvcGUiLCJ0eXBlU3VmZml4IiwiZG9jQWNjZXNzUmVzb2x2ZXIiLCJNdXRhdGlvbiIsImRhdGEiLCJjcmVhdGVSZXNvbHZlciIsImF1dG9zYXZlIiwidXBkYXRlUmVzb2x2ZXIiLCJnZXREZWxldGVSZXNvbHZlciIsInZlcnNpb25JRFR5cGUiLCJ2ZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyIsImJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJ2ZXJzaW9uVHlwZSIsImZvcm1hdE5hbWUiLCJmaW5kVmVyc2lvbkJ5SURSZXNvbHZlciIsImZpbmRWZXJzaW9uc1Jlc29sdmVyIiwicmVzdG9yZVZlcnNpb25SZXNvbHZlciIsImF1dGhGaWVsZHMiLCJKV1QiLCJzYXZlVG9KV1QiLCJleHAiLCJ0b2tlbiIsInVzZXIiLCJtZSIsImluaXQiLCJyZWZyZXNoZWRUb2tlbiIsInJlZnJlc2giLCJsb2dvdXQiLCJtYXhMb2dpbkF0dGVtcHRzIiwiZW1haWwiLCJ1bmxvY2siLCJwYXNzd29yZCIsImxvZ2luIiwiZGlzYWJsZUVtYWlsIiwiZXhwaXJhdGlvbiIsImZvcmdvdFBhc3N3b3JkIiwicmVzZXRQYXNzd29yZCIsInZlcmlmeUVtYWlsIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBb2ZwQzs7O2VBQUE7Ozt5QkE3ZU87dUVBT29COzZEQUNWOzhEQUNDOytEQUNDOzJEQUNKO2dFQUNLO3NFQUNNOytEQUNQO29FQUNLO3VCQUNTO2dGQUcxQjt3RUFDcUI7K0VBQ087bUNBQ0g7NEVBQ0E7bUVBQ1Q7OEVBQ0c7OEJBQ1c7dUNBQ1E7OERBQ25COytEQUNDOytEQUNHOzJCQUNJOzZEQUNUO2lFQUNJO3dFQUNPO3FFQUNIO3VFQUNFOytEQUNSOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUzQixTQUFTQSx1QkFBdUJDLE9BQWdCO0lBQzlDQyxPQUFPQyxJQUFJLENBQUNGLFFBQVFHLFdBQVcsRUFBRUMsT0FBTyxDQUFDLENBQUNDO1FBQ3hDLE1BQU1DLGFBQXlCTixRQUFRRyxXQUFXLENBQUNFLEtBQUs7UUFDeEQsTUFBTSxFQUNKRSxNQUFNLEVBQ05BLFFBQVEsRUFBRUMsTUFBTSxFQUFF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
@@ -1 +1 @@
1
- {"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../../src/collections/graphql/resolvers/count.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAKpD,MAAM,MAAM,QAAQ,GAAG,CACrB,CAAC,EAAE,OAAO,EACV,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,EACD,OAAO,EAAE;IACP,GAAG,EAAE,cAAc,CAAA;IACnB,GAAG,EAAE,QAAQ,CAAA;CACd,KACE,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEnC,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,CAmBrE"}
1
+ {"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../../src/collections/graphql/resolvers/count.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAKpD,MAAM,MAAM,QAAQ,GAAG,CACrB,CAAC,EAAE,OAAO,EACV,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,EACD,OAAO,EAAE;IACP,GAAG,EAAE,cAAc,CAAA;IACnB,GAAG,EAAE,QAAQ,CAAA;CACd,KACE,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEnC,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,CAqBrE"}
@@ -24,6 +24,7 @@ function findResolver(collection) {
24
24
  req = (0, _isolateObjectProperty.default)(req, 'fallbackLocale');
25
25
  req.locale = args.locale || locale;
26
26
  req.fallbackLocale = fallbackLocale;
27
+ context.req = req;
27
28
  const options = {
28
29
  collection,
29
30
  req: (0, _isolateObjectProperty.default)(req, 'transactionID'),
@@ -34,4 +35,4 @@ function findResolver(collection) {
34
35
  };
35
36
  }
36
37
 
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL3Jlc29sdmVycy9jb3VudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgV2hlcmUgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGlzb2xhdGVPYmplY3RQcm9wZXJ0eSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvaXNvbGF0ZU9iamVjdFByb3BlcnR5J1xuaW1wb3J0IGNvdW50IGZyb20gJy4uLy4uL29wZXJhdGlvbnMvY291bnQnXG5cbmV4cG9ydCB0eXBlIFJlc29sdmVyID0gKFxuICBfOiB1bmtub3duLFxuICBhcmdzOiB7XG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICBsb2NhbGU/OiBzdHJpbmdcbiAgICB3aGVyZT86IFdoZXJlXG4gIH0sXG4gIGNvbnRleHQ6IHtcbiAgICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gICAgcmVzOiBSZXNwb25zZVxuICB9LFxuKSA9PiBQcm9taXNlPHsgdG90YWxEb2NzOiBudW1iZXIgfT5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZmluZFJlc29sdmVyKGNvbGxlY3Rpb246IENvbGxlY3Rpb24pOiBSZXNvbHZlciB7XG4gIHJldHVybiBhc3luYyBmdW5jdGlvbiByZXNvbHZlcihfLCBhcmdzLCBjb250ZXh0KSB7XG4gICAgbGV0IHsgcmVxIH0gPSBjb250ZXh0XG4gICAgY29uc3QgbG9jYWxlID0gcmVxLmxvY2FsZVxuICAgIGNvbnN0IGZhbGxiYWNrTG9jYWxlID0gcmVxLmZhbGxiYWNrTG9jYWxlXG4gICAgcmVxID0gaXNvbGF0ZU9iamVjdFByb3BlcnR5KHJlcSwgJ2xvY2FsZScpXG4gICAgcmVxID0gaXNvbGF0ZU9iamVjdFByb3BlcnR5KHJlcSwgJ2ZhbGxiYWNrTG9jYWxlJylcbiAgICByZXEubG9jYWxlID0gYXJncy5sb2NhbGUgfHwgbG9jYWxlXG4gICAgcmVxLmZhbGxiYWNrTG9jYWxlID0gZmFsbGJhY2tMb2NhbGVcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgcmVxOiBpc29sYXRlT2JqZWN0UHJvcGVydHk8UGF5bG9hZFJlcXVlc3Q+KHJlcSwgJ3RyYW5zYWN0aW9uSUQnKSxcbiAgICAgIHdoZXJlOiBhcmdzLndoZXJlLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBjb3VudChvcHRpb25zKVxuICAgIHJldHVybiByZXN1bHRzXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJmaW5kUmVzb2x2ZXIiLCJjb2xsZWN0aW9uIiwicmVzb2x2ZXIiLCJfIiwiYXJncyIsImNvbnRleHQiLCJyZXEiLCJsb2NhbGUiLCJmYWxsYmFja0xvY2FsZSIsImlzb2xhdGVPYmplY3RQcm9wZXJ0eSIsIm9wdGlvbnMiLCJ3aGVyZSIsInJlc3VsdHMiLCJjb3VudCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFvQkE7OztlQUF3QkE7Ozs4RUFoQlU7OERBQ2hCOzs7Ozs7QUFlSCxTQUFTQSxhQUFhQyxVQUFzQjtJQUN6RCxPQUFPLGVBQWVDLFNBQVNDLENBQUMsRUFBRUMsSUFBSSxFQUFFQyxPQUFPO1FBQzdDLElBQUksRUFBRUMsR0FBRyxFQUFFLEdBQUdEO1FBQ2QsTUFBTUUsU0FBU0QsSUFBSUMsTUFBTTtRQUN6QixNQUFNQyxpQkFBaUJGLElBQUlFLGNBQWM7UUFDekNGLE1BQU1HLElBQUFBLDhCQUFxQixFQUFDSCxLQUFLO1FBQ2pDQSxNQUFNRyxJQUFBQSw4QkFBcUIsRUFBQ0gsS0FBSztRQUNqQ0EsSUFBSUMsTUFBTSxHQUFHSCxLQUFLRyxNQUFNLElBQUlBO1FBQzVCRCxJQUFJRSxjQUFjLEdBQUdBO1FBRXJCLE1BQU1FLFVBQVU7WUFDZFQ7WUFDQUssS0FBS0csSUFBQUEsOEJBQXFCLEVBQWlCSCxLQUFLO1lBQ2hESyxPQUFPUCxLQUFLTyxLQUFLO1FBQ25CO1FBRUEsTUFBTUMsVUFBVSxNQUFNQyxJQUFBQSxjQUFLLEVBQUNIO1FBQzVCLE9BQU9FO0lBQ1Q7QUFDRiJ9
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL3Jlc29sdmVycy9jb3VudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgV2hlcmUgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGlzb2xhdGVPYmplY3RQcm9wZXJ0eSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvaXNvbGF0ZU9iamVjdFByb3BlcnR5J1xuaW1wb3J0IGNvdW50IGZyb20gJy4uLy4uL29wZXJhdGlvbnMvY291bnQnXG5cbmV4cG9ydCB0eXBlIFJlc29sdmVyID0gKFxuICBfOiB1bmtub3duLFxuICBhcmdzOiB7XG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICBsb2NhbGU/OiBzdHJpbmdcbiAgICB3aGVyZT86IFdoZXJlXG4gIH0sXG4gIGNvbnRleHQ6IHtcbiAgICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gICAgcmVzOiBSZXNwb25zZVxuICB9LFxuKSA9PiBQcm9taXNlPHsgdG90YWxEb2NzOiBudW1iZXIgfT5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZmluZFJlc29sdmVyKGNvbGxlY3Rpb246IENvbGxlY3Rpb24pOiBSZXNvbHZlciB7XG4gIHJldHVybiBhc3luYyBmdW5jdGlvbiByZXNvbHZlcihfLCBhcmdzLCBjb250ZXh0KSB7XG4gICAgbGV0IHsgcmVxIH0gPSBjb250ZXh0XG4gICAgY29uc3QgbG9jYWxlID0gcmVxLmxvY2FsZVxuICAgIGNvbnN0IGZhbGxiYWNrTG9jYWxlID0gcmVxLmZhbGxiYWNrTG9jYWxlXG4gICAgcmVxID0gaXNvbGF0ZU9iamVjdFByb3BlcnR5KHJlcSwgJ2xvY2FsZScpXG4gICAgcmVxID0gaXNvbGF0ZU9iamVjdFByb3BlcnR5KHJlcSwgJ2ZhbGxiYWNrTG9jYWxlJylcbiAgICByZXEubG9jYWxlID0gYXJncy5sb2NhbGUgfHwgbG9jYWxlXG4gICAgcmVxLmZhbGxiYWNrTG9jYWxlID0gZmFsbGJhY2tMb2NhbGVcblxuICAgIGNvbnRleHQucmVxID0gcmVxXG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHJlcTogaXNvbGF0ZU9iamVjdFByb3BlcnR5PFBheWxvYWRSZXF1ZXN0PihyZXEsICd0cmFuc2FjdGlvbklEJyksXG4gICAgICB3aGVyZTogYXJncy53aGVyZSxcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgY291bnQob3B0aW9ucylcbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG59XG4iXSwibmFtZXMiOlsiZmluZFJlc29sdmVyIiwiY29sbGVjdGlvbiIsInJlc29sdmVyIiwiXyIsImFyZ3MiLCJjb250ZXh0IiwicmVxIiwibG9jYWxlIiwiZmFsbGJhY2tMb2NhbGUiLCJpc29sYXRlT2JqZWN0UHJvcGVydHkiLCJvcHRpb25zIiwid2hlcmUiLCJyZXN1bHRzIiwiY291bnQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBb0JBOzs7ZUFBd0JBOzs7OEVBaEJVOzhEQUNoQjs7Ozs7O0FBZUgsU0FBU0EsYUFBYUMsVUFBc0I7SUFDekQsT0FBTyxlQUFlQyxTQUFTQyxDQUFDLEVBQUVDLElBQUksRUFBRUMsT0FBTztRQUM3QyxJQUFJLEVBQUVDLEdBQUcsRUFBRSxHQUFHRDtRQUNkLE1BQU1FLFNBQVNELElBQUlDLE1BQU07UUFDekIsTUFBTUMsaUJBQWlCRixJQUFJRSxjQUFjO1FBQ3pDRixNQUFNRyxJQUFBQSw4QkFBcUIsRUFBQ0gsS0FBSztRQUNqQ0EsTUFBTUcsSUFBQUEsOEJBQXFCLEVBQUNILEtBQUs7UUFDakNBLElBQUlDLE1BQU0sR0FBR0gsS0FBS0csTUFBTSxJQUFJQTtRQUM1QkQsSUFBSUUsY0FBYyxHQUFHQTtRQUVyQkgsUUFBUUMsR0FBRyxHQUFHQTtRQUVkLE1BQU1JLFVBQVU7WUFDZFQ7WUFDQUssS0FBS0csSUFBQUEsOEJBQXFCLEVBQWlCSCxLQUFLO1lBQ2hESyxPQUFPUCxLQUFLTyxLQUFLO1FBQ25CO1FBRUEsTUFBTUMsVUFBVSxNQUFNQyxJQUFBQSxjQUFLLEVBQUNIO1FBQzVCLE9BQU9FO0lBQ1Q7QUFDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/collections/graphql/resolvers/create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAKpD,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CACxE,CAAC,EAAE,OAAO,EACV,IAAI,EAAE;IACJ,IAAI,EAAE,YAAY,CAChB,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,EACpC,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAC3C,CAAA;IACD,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,EACD,OAAO,EAAE;IACP,GAAG,EAAE,cAAc,CAAA;IACnB,GAAG,EAAE,QAAQ,CAAA;CACd,KACE,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAElD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EACtF,UAAU,EAAE,UAAU,GACrB,QAAQ,CAAC,KAAK,CAAC,CAmBjB"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/collections/graphql/resolvers/create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAKpD,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CACxE,CAAC,EAAE,OAAO,EACV,IAAI,EAAE;IACJ,IAAI,EAAE,YAAY,CAChB,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,EACpC,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAC3C,CAAA;IACD,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,EACD,OAAO,EAAE;IACP,GAAG,EAAE,cAAc,CAAA;IACnB,GAAG,EAAE,QAAQ,CAAA;CACd,KACE,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAElD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EACtF,UAAU,EAAE,UAAU,GACrB,QAAQ,CAAC,KAAK,CAAC,CA8BjB"}
@@ -21,6 +21,10 @@ function createResolver(collection) {
21
21
  const locale = req.locale;
22
22
  req = (0, _isolateObjectProperty.default)(req, 'locale');
23
23
  req.locale = args.locale || locale;
24
+ if (!req.query) req.query = {};
25
+ const draft = args.draft ?? req.query?.draft === 'false' ? false : req.query?.draft === 'true' ? true : undefined;
26
+ if (typeof draft === 'boolean') req.query.draft = String(draft);
27
+ context.req = req;
24
28
  const options = {
25
29
  collection,
26
30
  data: args.data,
@@ -33,4 +37,4 @@ function createResolver(collection) {
33
37
  };
34
38
  }
35
39
 
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL3Jlc29sdmVycy9jcmVhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJ1xuaW1wb3J0IHR5cGUgeyBNYXJrT3B0aW9uYWwgfSBmcm9tICd0cy1lc3NlbnRpYWxzJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBpc29sYXRlT2JqZWN0UHJvcGVydHkgZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2lzb2xhdGVPYmplY3RQcm9wZXJ0eSdcbmltcG9ydCBjcmVhdGUgZnJvbSAnLi4vLi4vb3BlcmF0aW9ucy9jcmVhdGUnXG5cbmV4cG9ydCB0eXBlIFJlc29sdmVyPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+ID0gKFxuICBfOiB1bmtub3duLFxuICBhcmdzOiB7XG4gICAgZGF0YTogTWFya09wdGlvbmFsPFxuICAgICAgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddLFxuICAgICAgJ2NyZWF0ZWRBdCcgfCAnaWQnIHwgJ3NpemVzJyB8ICd1cGRhdGVkQXQnXG4gICAgPlxuICAgIGRyYWZ0OiBib29sZWFuXG4gICAgbG9jYWxlPzogc3RyaW5nXG4gIH0sXG4gIGNvbnRleHQ6IHtcbiAgICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gICAgcmVzOiBSZXNwb25zZVxuICB9LFxuKSA9PiBQcm9taXNlPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlUmVzb2x2ZXI8VFNsdWcgZXh0ZW5kcyBrZXlvZiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb24sXG4pOiBSZXNvbHZlcjxUU2x1Zz4ge1xuICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZXIoXywgYXJncywgY29udGV4dCkge1xuICAgIGxldCB7IHJlcSB9ID0gY29udGV4dFxuICAgIGNvbnN0IGxvY2FsZSA9IHJlcS5sb2NhbGVcbiAgICByZXEgPSBpc29sYXRlT2JqZWN0UHJvcGVydHkocmVxLCAnbG9jYWxlJylcbiAgICByZXEubG9jYWxlID0gYXJncy5sb2NhbGUgfHwgbG9jYWxlXG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGRhdGE6IGFyZ3MuZGF0YSxcbiAgICAgIGRlcHRoOiAwLFxuICAgICAgZHJhZnQ6IGFyZ3MuZHJhZnQsXG4gICAgICByZXE6IGlzb2xhdGVPYmplY3RQcm9wZXJ0eTxQYXlsb2FkUmVxdWVzdD4ocmVxLCAndHJhbnNhY3Rpb25JRCcpLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNyZWF0ZShvcHRpb25zKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlUmVzb2x2ZXIiLCJjb2xsZWN0aW9uIiwicmVzb2x2ZXIiLCJfIiwiYXJncyIsImNvbnRleHQiLCJyZXEiLCJsb2NhbGUiLCJpc29sYXRlT2JqZWN0UHJvcGVydHkiLCJvcHRpb25zIiwiZGF0YSIsImRlcHRoIiwiZHJhZnQiLCJyZXN1bHQiLCJjcmVhdGUiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkEyQnBDOzs7ZUFBd0JBOzs7OEVBbkJVOytEQUNmOzs7Ozs7QUFrQkosU0FBU0EsZUFDdEJDLFVBQXNCO0lBRXRCLE9BQU8sZUFBZUMsU0FBU0MsQ0FBQyxFQUFFQyxJQUFJLEVBQUVDLE9BQU87UUFDN0MsSUFBSSxFQUFFQyxHQUFHLEVBQUUsR0FBR0Q7UUFDZCxNQUFNRSxTQUFTRCxJQUFJQyxNQUFNO1FBQ3pCRCxNQUFNRSxJQUFBQSw4QkFBcUIsRUFBQ0YsS0FBSztRQUNqQ0EsSUFBSUMsTUFBTSxHQUFHSCxLQUFLRyxNQUFNLElBQUlBO1FBRTVCLE1BQU1FLFVBQVU7WUFDZFI7WUFDQVMsTUFBTU4sS0FBS00sSUFBSTtZQUNmQyxPQUFPO1lBQ1BDLE9BQU9SLEtBQUtRLEtBQUs7WUFDakJOLEtBQUtFLElBQUFBLDhCQUFxQixFQUFpQkYsS0FBSztRQUNsRDtRQUVBLE1BQU1PLFNBQVMsTUFBTUMsSUFBQUEsZUFBTSxFQUFDTDtRQUU1QixPQUFPSTtJQUNUO0FBQ0YifQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL3Jlc29sdmVycy9jcmVhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJ1xuaW1wb3J0IHR5cGUgeyBNYXJrT3B0aW9uYWwgfSBmcm9tICd0cy1lc3NlbnRpYWxzJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBpc29sYXRlT2JqZWN0UHJvcGVydHkgZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2lzb2xhdGVPYmplY3RQcm9wZXJ0eSdcbmltcG9ydCBjcmVhdGUgZnJvbSAnLi4vLi4vb3BlcmF0aW9ucy9jcmVhdGUnXG5cbmV4cG9ydCB0eXBlIFJlc29sdmVyPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+ID0gKFxuICBfOiB1bmtub3duLFxuICBhcmdzOiB7XG4gICAgZGF0YTogTWFya09wdGlvbmFsPFxuICAgICAgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddLFxuICAgICAgJ2NyZWF0ZWRBdCcgfCAnaWQnIHwgJ3NpemVzJyB8ICd1cGRhdGVkQXQnXG4gICAgPlxuICAgIGRyYWZ0OiBib29sZWFuXG4gICAgbG9jYWxlPzogc3RyaW5nXG4gIH0sXG4gIGNvbnRleHQ6IHtcbiAgICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gICAgcmVzOiBSZXNwb25zZVxuICB9LFxuKSA9PiBQcm9taXNlPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlUmVzb2x2ZXI8VFNsdWcgZXh0ZW5kcyBrZXlvZiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb24sXG4pOiBSZXNvbHZlcjxUU2x1Zz4ge1xuICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZXIoXywgYXJncywgY29udGV4dCkge1xuICAgIGxldCB7IHJlcSB9ID0gY29udGV4dFxuICAgIGNvbnN0IGxvY2FsZSA9IHJlcS5sb2NhbGVcbiAgICByZXEgPSBpc29sYXRlT2JqZWN0UHJvcGVydHkocmVxLCAnbG9jYWxlJylcbiAgICByZXEubG9jYWxlID0gYXJncy5sb2NhbGUgfHwgbG9jYWxlXG4gICAgaWYgKCFyZXEucXVlcnkpIHJlcS5xdWVyeSA9IHt9XG5cbiAgICBjb25zdCBkcmFmdDogYm9vbGVhbiA9XG4gICAgICBhcmdzLmRyYWZ0ID8/IHJlcS5xdWVyeT8uZHJhZnQgPT09ICdmYWxzZSdcbiAgICAgICAgPyBmYWxzZVxuICAgICAgICA6IHJlcS5xdWVyeT8uZHJhZnQgPT09ICd0cnVlJ1xuICAgICAgICA/IHRydWVcbiAgICAgICAgOiB1bmRlZmluZWRcbiAgICBpZiAodHlwZW9mIGRyYWZ0ID09PSAnYm9vbGVhbicpIHJlcS5xdWVyeS5kcmFmdCA9IFN0cmluZyhkcmFmdClcblxuICAgIGNvbnRleHQucmVxID0gcmVxXG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGRhdGE6IGFyZ3MuZGF0YSxcbiAgICAgIGRlcHRoOiAwLFxuICAgICAgZHJhZnQ6IGFyZ3MuZHJhZnQsXG4gICAgICByZXE6IGlzb2xhdGVPYmplY3RQcm9wZXJ0eTxQYXlsb2FkUmVxdWVzdD4ocmVxLCAndHJhbnNhY3Rpb25JRCcpLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNyZWF0ZShvcHRpb25zKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlUmVzb2x2ZXIiLCJjb2xsZWN0aW9uIiwicmVzb2x2ZXIiLCJfIiwiYXJncyIsImNvbnRleHQiLCJyZXEiLCJsb2NhbGUiLCJpc29sYXRlT2JqZWN0UHJvcGVydHkiLCJxdWVyeSIsImRyYWZ0IiwidW5kZWZpbmVkIiwiU3RyaW5nIiwib3B0aW9ucyIsImRhdGEiLCJkZXB0aCIsInJlc3VsdCIsImNyZWF0ZSJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQTJCcEM7OztlQUF3QkE7Ozs4RUFuQlU7K0RBQ2Y7Ozs7OztBQWtCSixTQUFTQSxlQUN0QkMsVUFBc0I7SUFFdEIsT0FBTyxlQUFlQyxTQUFTQyxDQUFDLEVBQUVDLElBQUksRUFBRUMsT0FBTztRQUM3QyxJQUFJLEVBQUVDLEdBQUcsRUFBRSxHQUFHRDtRQUNkLE1BQU1FLFNBQVNELElBQUlDLE1BQU07UUFDekJELE1BQU1FLElBQUFBLDhCQUFxQixFQUFDRixLQUFLO1FBQ2pDQSxJQUFJQyxNQUFNLEdBQUdILEtBQUtHLE1BQU0sSUFBSUE7UUFDNUIsSUFBSSxDQUFDRCxJQUFJRyxLQUFLLEVBQUVILElBQUlHLEtBQUssR0FBRyxDQUFDO1FBRTdCLE1BQU1DLFFBQ0pOLEtBQUtNLEtBQUssSUFBSUosSUFBSUcsS0FBSyxFQUFFQyxVQUFVLFVBQy9CLFFBQ0FKLElBQUlHLEtBQUssRUFBRUMsVUFBVSxTQUNyQixPQUNBQztRQUNOLElBQUksT0FBT0QsVUFBVSxXQUFXSixJQUFJRyxLQUFLLENBQUNDLEtBQUssR0FBR0UsT0FBT0Y7UUFFekRMLFFBQVFDLEdBQUcsR0FBR0E7UUFFZCxNQUFNTyxVQUFVO1lBQ2RaO1lBQ0FhLE1BQU1WLEtBQUtVLElBQUk7WUFDZkMsT0FBTztZQUNQTCxPQUFPTixLQUFLTSxLQUFLO1lBQ2pCSixLQUFLRSxJQUFBQSw4QkFBcUIsRUFBaUJGLEtBQUs7UUFDbEQ7UUFFQSxNQUFNVSxTQUFTLE1BQU1DLElBQUFBLGVBQU0sRUFBQ0o7UUFFNUIsT0FBT0c7SUFDVDtBQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/collections/graphql/resolvers/delete.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAKpD,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CACxE,CAAC,EAAE,OAAO,EACV,IAAI,EAAE;IACJ,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,EACD,OAAO,EAAE;IACP,GAAG,EAAE,cAAc,CAAA;IACnB,GAAG,EAAE,QAAQ,CAAA;CACd,KACE,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAElD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EACzF,UAAU,EAAE,UAAU,GACrB,QAAQ,CAAC,KAAK,CAAC,CAuBjB"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/collections/graphql/resolvers/delete.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAKpD,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,IAAI,CACxE,CAAC,EAAE,OAAO,EACV,IAAI,EAAE;IACJ,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,EACD,OAAO,EAAE;IACP,GAAG,EAAE,cAAc,CAAA;IACnB,GAAG,EAAE,QAAQ,CAAA;CACd,KACE,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAElD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EACzF,UAAU,EAAE,UAAU,GACrB,QAAQ,CAAC,KAAK,CAAC,CAkCjB"}
@@ -24,6 +24,10 @@ function getDeleteResolver(collection) {
24
24
  req = (0, _isolateObjectProperty.default)(req, 'fallbackLocale');
25
25
  req.locale = args.locale || locale;
26
26
  req.fallbackLocale = args.fallbackLocale || fallbackLocale;
27
+ if (!req.query) req.query = {};
28
+ const draft = args.draft ?? req.query?.draft === 'false' ? false : req.query?.draft === 'true' ? true : undefined;
29
+ if (typeof draft === 'boolean') req.query.draft = String(draft);
30
+ context.req = req;
27
31
  const options = {
28
32
  id: args.id,
29
33
  collection,
@@ -36,4 +40,4 @@ function getDeleteResolver(collection) {
36
40
  return resolver;
37
41
  }
38
42
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL3Jlc29sdmVycy9kZWxldGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBpc29sYXRlT2JqZWN0UHJvcGVydHkgZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2lzb2xhdGVPYmplY3RQcm9wZXJ0eSdcbmltcG9ydCBkZWxldGVCeUlEIGZyb20gJy4uLy4uL29wZXJhdGlvbnMvZGVsZXRlQnlJRCdcblxuZXhwb3J0IHR5cGUgUmVzb2x2ZXI8VFNsdWcgZXh0ZW5kcyBrZXlvZiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4gPSAoXG4gIF86IHVua25vd24sXG4gIGFyZ3M6IHtcbiAgICBmYWxsYmFja0xvY2FsZT86IHN0cmluZ1xuICAgIGxvY2FsZT86IHN0cmluZ1xuICB9LFxuICBjb250ZXh0OiB7XG4gICAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAgIHJlczogUmVzcG9uc2VcbiAgfSxcbikgPT4gUHJvbWlzZTxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERlbGV0ZVJlc29sdmVyPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uLFxuKTogUmVzb2x2ZXI8VFNsdWc+IHtcbiAgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZXIoXywgYXJncywgY29udGV4dCkge1xuICAgIGxldCB7IHJlcSB9ID0gY29udGV4dFxuICAgIGNvbnN0IGxvY2FsZSA9IHJlcS5sb2NhbGVcbiAgICBjb25zdCBmYWxsYmFja0xvY2FsZSA9IHJlcS5mYWxsYmFja0xvY2FsZVxuICAgIHJlcSA9IGlzb2xhdGVPYmplY3RQcm9wZXJ0eShyZXEsICdsb2NhbGUnKVxuICAgIHJlcSA9IGlzb2xhdGVPYmplY3RQcm9wZXJ0eShyZXEsICdmYWxsYmFja0xvY2FsZScpXG4gICAgcmVxLmxvY2FsZSA9IGFyZ3MubG9jYWxlIHx8IGxvY2FsZVxuICAgIHJlcS5mYWxsYmFja0xvY2FsZSA9IGFyZ3MuZmFsbGJhY2tMb2NhbGUgfHwgZmFsbGJhY2tMb2NhbGVcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBpZDogYXJncy5pZCxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBkZXB0aDogMCxcbiAgICAgIHJlcTogaXNvbGF0ZU9iamVjdFByb3BlcnR5PFBheWxvYWRSZXF1ZXN0PihyZXEsICd0cmFuc2FjdGlvbklEJyksXG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZGVsZXRlQnlJRChvcHRpb25zKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgcmV0dXJuIHJlc29sdmVyXG59XG4iXSwibmFtZXMiOlsiZ2V0RGVsZXRlUmVzb2x2ZXIiLCJjb2xsZWN0aW9uIiwicmVzb2x2ZXIiLCJfIiwiYXJncyIsImNvbnRleHQiLCJyZXEiLCJsb2NhbGUiLCJmYWxsYmFja0xvY2FsZSIsImlzb2xhdGVPYmplY3RQcm9wZXJ0eSIsIm9wdGlvbnMiLCJpZCIsImRlcHRoIiwicmVzdWx0IiwiZGVsZXRlQnlJRCJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQXNCcEM7OztlQUF3QkE7Ozs4RUFmVTttRUFDWDs7Ozs7O0FBY1IsU0FBU0Esa0JBQ3RCQyxVQUFzQjtJQUV0QixlQUFlQyxTQUFTQyxDQUFDLEVBQUVDLElBQUksRUFBRUMsT0FBTztRQUN0QyxJQUFJLEVBQUVDLEdBQUcsRUFBRSxHQUFHRDtRQUNkLE1BQU1FLFNBQVNELElBQUlDLE1BQU07UUFDekIsTUFBTUMsaUJBQWlCRixJQUFJRSxjQUFjO1FBQ3pDRixNQUFNRyxJQUFBQSw4QkFBcUIsRUFBQ0gsS0FBSztRQUNqQ0EsTUFBTUcsSUFBQUEsOEJBQXFCLEVBQUNILEtBQUs7UUFDakNBLElBQUlDLE1BQU0sR0FBR0gsS0FBS0csTUFBTSxJQUFJQTtRQUM1QkQsSUFBSUUsY0FBYyxHQUFHSixLQUFLSSxjQUFjLElBQUlBO1FBRTVDLE1BQU1FLFVBQVU7WUFDZEMsSUFBSVAsS0FBS08sRUFBRTtZQUNYVjtZQUNBVyxPQUFPO1lBQ1BOLEtBQUtHLElBQUFBLDhCQUFxQixFQUFpQkgsS0FBSztRQUNsRDtRQUVBLE1BQU1PLFNBQVMsTUFBTUMsSUFBQUEsbUJBQVUsRUFBQ0o7UUFFaEMsT0FBT0c7SUFDVDtJQUVBLE9BQU9YO0FBQ1QifQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL3Jlc29sdmVycy9kZWxldGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBpc29sYXRlT2JqZWN0UHJvcGVydHkgZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2lzb2xhdGVPYmplY3RQcm9wZXJ0eSdcbmltcG9ydCBkZWxldGVCeUlEIGZyb20gJy4uLy4uL29wZXJhdGlvbnMvZGVsZXRlQnlJRCdcblxuZXhwb3J0IHR5cGUgUmVzb2x2ZXI8VFNsdWcgZXh0ZW5kcyBrZXlvZiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4gPSAoXG4gIF86IHVua25vd24sXG4gIGFyZ3M6IHtcbiAgICBmYWxsYmFja0xvY2FsZT86IHN0cmluZ1xuICAgIGxvY2FsZT86IHN0cmluZ1xuICB9LFxuICBjb250ZXh0OiB7XG4gICAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAgIHJlczogUmVzcG9uc2VcbiAgfSxcbikgPT4gUHJvbWlzZTxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERlbGV0ZVJlc29sdmVyPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uLFxuKTogUmVzb2x2ZXI8VFNsdWc+IHtcbiAgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZXIoXywgYXJncywgY29udGV4dCkge1xuICAgIGxldCB7IHJlcSB9ID0gY29udGV4dFxuICAgIGNvbnN0IGxvY2FsZSA9IHJlcS5sb2NhbGVcbiAgICBjb25zdCBmYWxsYmFja0xvY2FsZSA9IHJlcS5mYWxsYmFja0xvY2FsZVxuICAgIHJlcSA9IGlzb2xhdGVPYmplY3RQcm9wZXJ0eShyZXEsICdsb2NhbGUnKVxuICAgIHJlcSA9IGlzb2xhdGVPYmplY3RQcm9wZXJ0eShyZXEsICdmYWxsYmFja0xvY2FsZScpXG4gICAgcmVxLmxvY2FsZSA9IGFyZ3MubG9jYWxlIHx8IGxvY2FsZVxuICAgIHJlcS5mYWxsYmFja0xvY2FsZSA9IGFyZ3MuZmFsbGJhY2tMb2NhbGUgfHwgZmFsbGJhY2tMb2NhbGVcbiAgICBpZiAoIXJlcS5xdWVyeSkgcmVxLnF1ZXJ5ID0ge31cblxuICAgIGNvbnN0IGRyYWZ0OiBib29sZWFuID1cbiAgICAgIGFyZ3MuZHJhZnQgPz8gcmVxLnF1ZXJ5Py5kcmFmdCA9PT0gJ2ZhbHNlJ1xuICAgICAgICA/IGZhbHNlXG4gICAgICAgIDogcmVxLnF1ZXJ5Py5kcmFmdCA9PT0gJ3RydWUnXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgIGlmICh0eXBlb2YgZHJhZnQgPT09ICdib29sZWFuJykgcmVxLnF1ZXJ5LmRyYWZ0ID0gU3RyaW5nKGRyYWZ0KVxuXG4gICAgY29udGV4dC5yZXEgPSByZXFcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBpZDogYXJncy5pZCxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBkZXB0aDogMCxcbiAgICAgIHJlcTogaXNvbGF0ZU9iamVjdFByb3BlcnR5PFBheWxvYWRSZXF1ZXN0PihyZXEsICd0cmFuc2FjdGlvbklEJyksXG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZGVsZXRlQnlJRChvcHRpb25zKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgcmV0dXJuIHJlc29sdmVyXG59XG4iXSwibmFtZXMiOlsiZ2V0RGVsZXRlUmVzb2x2ZXIiLCJjb2xsZWN0aW9uIiwicmVzb2x2ZXIiLCJfIiwiYXJncyIsImNvbnRleHQiLCJyZXEiLCJsb2NhbGUiLCJmYWxsYmFja0xvY2FsZSIsImlzb2xhdGVPYmplY3RQcm9wZXJ0eSIsInF1ZXJ5IiwiZHJhZnQiLCJ1bmRlZmluZWQiLCJTdHJpbmciLCJvcHRpb25zIiwiaWQiLCJkZXB0aCIsInJlc3VsdCIsImRlbGV0ZUJ5SUQiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkFzQnBDOzs7ZUFBd0JBOzs7OEVBZlU7bUVBQ1g7Ozs7OztBQWNSLFNBQVNBLGtCQUN0QkMsVUFBc0I7SUFFdEIsZUFBZUMsU0FBU0MsQ0FBQyxFQUFFQyxJQUFJLEVBQUVDLE9BQU87UUFDdEMsSUFBSSxFQUFFQyxHQUFHLEVBQUUsR0FBR0Q7UUFDZCxNQUFNRSxTQUFTRCxJQUFJQyxNQUFNO1FBQ3pCLE1BQU1DLGlCQUFpQkYsSUFBSUUsY0FBYztRQUN6Q0YsTUFBTUcsSUFBQUEsOEJBQXFCLEVBQUNILEtBQUs7UUFDakNBLE1BQU1HLElBQUFBLDhCQUFxQixFQUFDSCxLQUFLO1FBQ2pDQSxJQUFJQyxNQUFNLEdBQUdILEtBQUtHLE1BQU0sSUFBSUE7UUFDNUJELElBQUlFLGNBQWMsR0FBR0osS0FBS0ksY0FBYyxJQUFJQTtRQUM1QyxJQUFJLENBQUNGLElBQUlJLEtBQUssRUFBRUosSUFBSUksS0FBSyxHQUFHLENBQUM7UUFFN0IsTUFBTUMsUUFDSlAsS0FBS08sS0FBSyxJQUFJTCxJQUFJSSxLQUFLLEVBQUVDLFVBQVUsVUFDL0IsUUFDQUwsSUFBSUksS0FBSyxFQUFFQyxVQUFVLFNBQ3JCLE9BQ0FDO1FBQ04sSUFBSSxPQUFPRCxVQUFVLFdBQVdMLElBQUlJLEtBQUssQ0FBQ0MsS0FBSyxHQUFHRSxPQUFPRjtRQUV6RE4sUUFBUUMsR0FBRyxHQUFHQTtRQUVkLE1BQU1RLFVBQVU7WUFDZEMsSUFBSVgsS0FBS1csRUFBRTtZQUNYZDtZQUNBZSxPQUFPO1lBQ1BWLEtBQUtHLElBQUFBLDhCQUFxQixFQUFpQkgsS0FBSztRQUNsRDtRQUVBLE1BQU1XLFNBQVMsTUFBTUMsSUFBQUEsbUJBQVUsRUFBQ0o7UUFFaEMsT0FBT0c7SUFDVDtJQUVBLE9BQU9mO0FBQ1QifQ==