@decaf-ts/core 0.5.42 → 0.5.44

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 (266) hide show
  1. package/LICENSE.md +185 -17
  2. package/README.md +23 -2
  3. package/dist/core.cjs +2 -5776
  4. package/dist/core.cjs.map +1 -0
  5. package/dist/core.js +2 -0
  6. package/dist/core.js.map +1 -0
  7. package/lib/esm/identity/decorators.js +1 -1
  8. package/lib/esm/identity/decorators.js.map +1 -0
  9. package/lib/esm/identity/index.js +1 -1
  10. package/lib/esm/identity/index.js.map +1 -0
  11. package/lib/esm/identity/utils.js +1 -1
  12. package/lib/esm/identity/utils.js.map +1 -0
  13. package/lib/esm/index.d.ts +1 -1
  14. package/lib/esm/index.js +2 -2
  15. package/lib/esm/index.js.map +1 -0
  16. package/lib/esm/interfaces/ErrorParser.js +1 -1
  17. package/lib/esm/interfaces/ErrorParser.js.map +1 -0
  18. package/lib/esm/interfaces/Executor.js +1 -1
  19. package/lib/esm/interfaces/Executor.js.map +1 -0
  20. package/lib/esm/interfaces/Observable.js +1 -1
  21. package/lib/esm/interfaces/Observable.js.map +1 -0
  22. package/lib/esm/interfaces/Observer.js +1 -1
  23. package/lib/esm/interfaces/Observer.js.map +1 -0
  24. package/lib/esm/interfaces/Paginatable.js +1 -1
  25. package/lib/esm/interfaces/Paginatable.js.map +1 -0
  26. package/lib/esm/interfaces/Queriable.js +1 -1
  27. package/lib/esm/interfaces/Queriable.js.map +1 -0
  28. package/lib/esm/interfaces/RawExecutor.js +1 -1
  29. package/lib/esm/interfaces/RawExecutor.js.map +1 -0
  30. package/lib/esm/interfaces/SequenceOptions.js +1 -1
  31. package/lib/esm/interfaces/SequenceOptions.js.map +1 -0
  32. package/lib/esm/interfaces/index.js +1 -1
  33. package/lib/esm/interfaces/index.js.map +1 -0
  34. package/lib/esm/model/BaseModel.js +1 -1
  35. package/lib/esm/model/BaseModel.js.map +1 -0
  36. package/lib/esm/model/construction.js +1 -1
  37. package/lib/esm/model/construction.js.map +1 -0
  38. package/lib/esm/model/decorators.js +1 -1
  39. package/lib/esm/model/decorators.js.map +1 -0
  40. package/lib/esm/model/index.js +1 -1
  41. package/lib/esm/model/index.js.map +1 -0
  42. package/lib/esm/model/types.js +1 -1
  43. package/lib/esm/model/types.js.map +1 -0
  44. package/lib/esm/overrides/Metadata.js +1 -1
  45. package/lib/esm/overrides/Metadata.js.map +1 -0
  46. package/lib/esm/overrides/index.js +1 -1
  47. package/lib/esm/overrides/index.js.map +1 -0
  48. package/lib/esm/overrides/overrides.js +1 -1
  49. package/lib/esm/overrides/overrides.js.map +1 -0
  50. package/lib/esm/persistence/Adapter.js +1 -1
  51. package/lib/esm/persistence/Adapter.js.map +1 -0
  52. package/lib/esm/persistence/Dispatch.js +1 -1
  53. package/lib/esm/persistence/Dispatch.js.map +1 -0
  54. package/lib/esm/persistence/ObserverHandler.js +1 -1
  55. package/lib/esm/persistence/ObserverHandler.js.map +1 -0
  56. package/lib/esm/persistence/Sequence.js +1 -1
  57. package/lib/esm/persistence/Sequence.js.map +1 -0
  58. package/lib/esm/persistence/constants.js +1 -1
  59. package/lib/esm/persistence/constants.js.map +1 -0
  60. package/lib/esm/persistence/decorators.js +1 -1
  61. package/lib/esm/persistence/decorators.js.map +1 -0
  62. package/lib/esm/persistence/errors.js +1 -1
  63. package/lib/esm/persistence/errors.js.map +1 -0
  64. package/lib/esm/persistence/index.js +1 -1
  65. package/lib/esm/persistence/index.js.map +1 -0
  66. package/lib/esm/persistence/types.js +1 -1
  67. package/lib/esm/persistence/types.js.map +1 -0
  68. package/lib/esm/query/Condition.js +1 -1
  69. package/lib/esm/query/Condition.js.map +1 -0
  70. package/lib/esm/query/MethodQueryBuilder.js +1 -1
  71. package/lib/esm/query/MethodQueryBuilder.js.map +1 -0
  72. package/lib/esm/query/Paginator.js +1 -1
  73. package/lib/esm/query/Paginator.js.map +1 -0
  74. package/lib/esm/query/Statement.js +1 -1
  75. package/lib/esm/query/Statement.js.map +1 -0
  76. package/lib/esm/query/constants.js +1 -1
  77. package/lib/esm/query/constants.js.map +1 -0
  78. package/lib/esm/query/decorators.js +1 -1
  79. package/lib/esm/query/decorators.js.map +1 -0
  80. package/lib/esm/query/errors.js +1 -1
  81. package/lib/esm/query/errors.js.map +1 -0
  82. package/lib/esm/query/index.js +1 -1
  83. package/lib/esm/query/index.js.map +1 -0
  84. package/lib/esm/query/options.js +1 -1
  85. package/lib/esm/query/options.js.map +1 -0
  86. package/lib/esm/query/selectors.js +1 -1
  87. package/lib/esm/query/selectors.js.map +1 -0
  88. package/lib/esm/query/types.js +1 -1
  89. package/lib/esm/query/types.js.map +1 -0
  90. package/lib/esm/query/utils.js +1 -1
  91. package/lib/esm/query/utils.js.map +1 -0
  92. package/lib/esm/ram/RamAdapter.js +1 -1
  93. package/lib/esm/ram/RamAdapter.js.map +1 -0
  94. package/lib/esm/ram/RamContext.js +1 -1
  95. package/lib/esm/ram/RamContext.js.map +1 -0
  96. package/lib/esm/ram/RamPaginator.js +1 -1
  97. package/lib/esm/ram/RamPaginator.js.map +1 -0
  98. package/lib/esm/ram/RamSequence.js +1 -1
  99. package/lib/esm/ram/RamSequence.js.map +1 -0
  100. package/lib/esm/ram/RamStatement.js +1 -1
  101. package/lib/esm/ram/RamStatement.js.map +1 -0
  102. package/lib/esm/ram/constants.js +1 -1
  103. package/lib/esm/ram/constants.js.map +1 -0
  104. package/lib/esm/ram/handlers.js +1 -1
  105. package/lib/esm/ram/handlers.js.map +1 -0
  106. package/lib/esm/ram/index.js +1 -1
  107. package/lib/esm/ram/index.js.map +1 -0
  108. package/lib/esm/ram/model/RamSequenceModel.js +1 -1
  109. package/lib/esm/ram/model/RamSequenceModel.js.map +1 -0
  110. package/lib/esm/ram/model/index.js +1 -1
  111. package/lib/esm/ram/model/index.js.map +1 -0
  112. package/lib/esm/ram/types.js +1 -1
  113. package/lib/esm/ram/types.js.map +1 -0
  114. package/lib/esm/repository/Repository.js +1 -1
  115. package/lib/esm/repository/Repository.js.map +1 -0
  116. package/lib/esm/repository/constants.js +1 -1
  117. package/lib/esm/repository/constants.js.map +1 -0
  118. package/lib/esm/repository/decorators.js +1 -1
  119. package/lib/esm/repository/decorators.js.map +1 -0
  120. package/lib/esm/repository/errors.js +1 -1
  121. package/lib/esm/repository/errors.js.map +1 -0
  122. package/lib/esm/repository/index.js +1 -1
  123. package/lib/esm/repository/index.js.map +1 -0
  124. package/lib/esm/repository/injectables.js +1 -1
  125. package/lib/esm/repository/injectables.js.map +1 -0
  126. package/lib/esm/repository/types.js +1 -1
  127. package/lib/esm/repository/types.js.map +1 -0
  128. package/lib/esm/repository/utils.js +1 -1
  129. package/lib/esm/repository/utils.js.map +1 -0
  130. package/lib/esm/utils/decorators.js +1 -1
  131. package/lib/esm/utils/decorators.js.map +1 -0
  132. package/lib/esm/utils/errors.js +1 -1
  133. package/lib/esm/utils/errors.js.map +1 -0
  134. package/lib/esm/utils/index.js +1 -1
  135. package/lib/esm/utils/index.js.map +1 -0
  136. package/lib/identity/decorators.cjs +1 -1
  137. package/lib/identity/decorators.js.map +1 -0
  138. package/lib/identity/index.cjs +1 -1
  139. package/lib/identity/index.js.map +1 -0
  140. package/lib/identity/utils.cjs +1 -1
  141. package/lib/identity/utils.js.map +1 -0
  142. package/lib/index.cjs +2 -2
  143. package/lib/index.d.ts +1 -1
  144. package/lib/index.js.map +1 -0
  145. package/lib/interfaces/ErrorParser.cjs +1 -1
  146. package/lib/interfaces/ErrorParser.js.map +1 -0
  147. package/lib/interfaces/Executor.cjs +1 -1
  148. package/lib/interfaces/Executor.js.map +1 -0
  149. package/lib/interfaces/Observable.cjs +1 -1
  150. package/lib/interfaces/Observable.js.map +1 -0
  151. package/lib/interfaces/Observer.cjs +1 -1
  152. package/lib/interfaces/Observer.js.map +1 -0
  153. package/lib/interfaces/Paginatable.cjs +1 -1
  154. package/lib/interfaces/Paginatable.js.map +1 -0
  155. package/lib/interfaces/Queriable.cjs +1 -1
  156. package/lib/interfaces/Queriable.js.map +1 -0
  157. package/lib/interfaces/RawExecutor.cjs +1 -1
  158. package/lib/interfaces/RawExecutor.js.map +1 -0
  159. package/lib/interfaces/SequenceOptions.cjs +1 -1
  160. package/lib/interfaces/SequenceOptions.js.map +1 -0
  161. package/lib/interfaces/index.cjs +1 -1
  162. package/lib/interfaces/index.js.map +1 -0
  163. package/lib/model/BaseModel.cjs +1 -1
  164. package/lib/model/BaseModel.js.map +1 -0
  165. package/lib/model/construction.cjs +1 -1
  166. package/lib/model/construction.js.map +1 -0
  167. package/lib/model/decorators.cjs +1 -1
  168. package/lib/model/decorators.js.map +1 -0
  169. package/lib/model/index.cjs +1 -1
  170. package/lib/model/index.js.map +1 -0
  171. package/lib/model/types.cjs +1 -1
  172. package/lib/model/types.js.map +1 -0
  173. package/lib/overrides/Metadata.cjs +1 -1
  174. package/lib/overrides/Metadata.js.map +1 -0
  175. package/lib/overrides/index.cjs +1 -1
  176. package/lib/overrides/index.js.map +1 -0
  177. package/lib/overrides/overrides.cjs +1 -1
  178. package/lib/overrides/overrides.js.map +1 -0
  179. package/lib/persistence/Adapter.cjs +1 -1
  180. package/lib/persistence/Adapter.js.map +1 -0
  181. package/lib/persistence/Dispatch.cjs +1 -1
  182. package/lib/persistence/Dispatch.js.map +1 -0
  183. package/lib/persistence/ObserverHandler.cjs +1 -1
  184. package/lib/persistence/ObserverHandler.js.map +1 -0
  185. package/lib/persistence/Sequence.cjs +1 -1
  186. package/lib/persistence/Sequence.js.map +1 -0
  187. package/lib/persistence/constants.cjs +1 -1
  188. package/lib/persistence/constants.js.map +1 -0
  189. package/lib/persistence/decorators.cjs +1 -1
  190. package/lib/persistence/decorators.js.map +1 -0
  191. package/lib/persistence/errors.cjs +1 -1
  192. package/lib/persistence/errors.js.map +1 -0
  193. package/lib/persistence/index.cjs +1 -1
  194. package/lib/persistence/index.js.map +1 -0
  195. package/lib/persistence/types.cjs +1 -1
  196. package/lib/persistence/types.js.map +1 -0
  197. package/lib/query/Condition.cjs +1 -1
  198. package/lib/query/Condition.js.map +1 -0
  199. package/lib/query/MethodQueryBuilder.cjs +1 -1
  200. package/lib/query/MethodQueryBuilder.js.map +1 -0
  201. package/lib/query/Paginator.cjs +1 -1
  202. package/lib/query/Paginator.js.map +1 -0
  203. package/lib/query/Statement.cjs +1 -1
  204. package/lib/query/Statement.js.map +1 -0
  205. package/lib/query/constants.cjs +1 -1
  206. package/lib/query/constants.js.map +1 -0
  207. package/lib/query/decorators.cjs +1 -1
  208. package/lib/query/decorators.js.map +1 -0
  209. package/lib/query/errors.cjs +1 -1
  210. package/lib/query/errors.js.map +1 -0
  211. package/lib/query/index.cjs +1 -1
  212. package/lib/query/index.js.map +1 -0
  213. package/lib/query/options.cjs +1 -1
  214. package/lib/query/options.js.map +1 -0
  215. package/lib/query/selectors.cjs +1 -1
  216. package/lib/query/selectors.js.map +1 -0
  217. package/lib/query/types.cjs +1 -1
  218. package/lib/query/types.js.map +1 -0
  219. package/lib/query/utils.cjs +1 -1
  220. package/lib/query/utils.js.map +1 -0
  221. package/lib/ram/RamAdapter.cjs +1 -1
  222. package/lib/ram/RamAdapter.js.map +1 -0
  223. package/lib/ram/RamContext.cjs +1 -1
  224. package/lib/ram/RamContext.js.map +1 -0
  225. package/lib/ram/RamPaginator.cjs +1 -1
  226. package/lib/ram/RamPaginator.js.map +1 -0
  227. package/lib/ram/RamSequence.cjs +1 -1
  228. package/lib/ram/RamSequence.js.map +1 -0
  229. package/lib/ram/RamStatement.cjs +1 -1
  230. package/lib/ram/RamStatement.js.map +1 -0
  231. package/lib/ram/constants.cjs +1 -1
  232. package/lib/ram/constants.js.map +1 -0
  233. package/lib/ram/handlers.cjs +1 -1
  234. package/lib/ram/handlers.js.map +1 -0
  235. package/lib/ram/index.cjs +1 -1
  236. package/lib/ram/index.js.map +1 -0
  237. package/lib/ram/model/RamSequenceModel.cjs +1 -1
  238. package/lib/ram/model/RamSequenceModel.js.map +1 -0
  239. package/lib/ram/model/index.cjs +1 -1
  240. package/lib/ram/model/index.js.map +1 -0
  241. package/lib/ram/types.cjs +1 -1
  242. package/lib/ram/types.js.map +1 -0
  243. package/lib/repository/Repository.cjs +1 -1
  244. package/lib/repository/Repository.js.map +1 -0
  245. package/lib/repository/constants.cjs +1 -1
  246. package/lib/repository/constants.js.map +1 -0
  247. package/lib/repository/decorators.cjs +1 -1
  248. package/lib/repository/decorators.js.map +1 -0
  249. package/lib/repository/errors.cjs +1 -1
  250. package/lib/repository/errors.js.map +1 -0
  251. package/lib/repository/index.cjs +1 -1
  252. package/lib/repository/index.js.map +1 -0
  253. package/lib/repository/injectables.cjs +1 -1
  254. package/lib/repository/injectables.js.map +1 -0
  255. package/lib/repository/types.cjs +1 -1
  256. package/lib/repository/types.js.map +1 -0
  257. package/lib/repository/utils.cjs +1 -1
  258. package/lib/repository/utils.js.map +1 -0
  259. package/lib/utils/decorators.cjs +1 -1
  260. package/lib/utils/decorators.js.map +1 -0
  261. package/lib/utils/errors.cjs +1 -1
  262. package/lib/utils/errors.js.map +1 -0
  263. package/lib/utils/index.cjs +1 -1
  264. package/lib/utils/index.js.map +1 -0
  265. package/package.json +17 -51
  266. package/dist/core.esm.cjs +0 -5712
@@ -669,4 +669,4 @@ __decorate([
669
669
  __metadata("design:type", Object),
670
670
  __metadata("design:paramtypes", [])
671
671
  ], Adapter.prototype, "client", null);
672
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wZXJzaXN0ZW5jZS9BZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJEQVdpQztBQUVqQyx5RUFRd0M7QUFJeEMsK0NBQThDO0FBSzlDLGdEQUFpQztBQUdqQywyREFBb0Q7QUFDcEQsK0NBQWdEO0FBQ2hELG1EQUFnRTtBQUNoRSwyREFBNkQ7QUFFN0QscURBQWdEO0FBRWhELGlDQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUM1QyxJQUFJLENBQUM7UUFDSCxPQUFPLENBQ0wsT0FBTyxDQUFDLFNBQVMsQ0FBQyw0QkFBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUUsR0FBVyxDQUFDO1lBQ3RFLE9BQU8sQ0FBQyxjQUFjO1lBQ3RCLHFDQUFjLENBQ2YsQ0FBQztRQUNGLDZEQUE2RDtJQUMvRCxDQUFDO0lBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztRQUNwQix5QkFBeUI7SUFDM0IsQ0FBQztJQUNELElBQUksQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDLGNBQWMsSUFBSSxxQ0FBYyxDQUFDO1FBQ2hELDZEQUE2RDtJQUMvRCxDQUFDO0lBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztRQUNwQixPQUFPLHFDQUFjLENBQUM7SUFDeEIsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyRkc7QUFDSCxNQUFzQixPQU9wQixTQUFRLHFCQUFXO2FBU0osV0FBTSxHQUFxRCxFQUFFLEFBQXZELENBQXdEO0lBWTdFOzs7OztPQUtHO0lBQ0gsSUFBSSxNQUFNO1FB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OzhDQXVCUDtBQWtKSztJQURMLElBQUEsYUFBSyxHQUFFOzs7O3NDQWlCUDtBQXdSRDtJQURDLElBQUEsYUFBSyxHQUFFOzs7O3NDQWdCUDtBQVNEO0lBREMsSUFBQSxhQUFLLEdBQUU7Ozs7d0NBVVA7QUFtTUQ7SUFBQyxJQUFBLGFBQUssR0FBRTs7O3FDQU1QIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUVycm9yLFxuICBEQktleXMsXG4gIEludGVybmFsRXJyb3IsXG4gIENvbnRleHQsXG4gIE9wZXJhdGlvbktleXMsXG4gIFJlcG9zaXRvcnlGbGFncyxcbiAgRGVmYXVsdFJlcG9zaXRvcnlGbGFncyxcbiAgQ29udGV4dHVhbCxcbiAgQnVsa0NydWRPcGVyYXRpb25LZXlzLFxuICBtb2RlbFRvVHJhbnNpZW50LFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IHR5cGUgT2JzZXJ2ZXIgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9PYnNlcnZlclwiO1xuaW1wb3J0IHtcbiAgdHlwZSBDb25zdHJ1Y3RvcixcbiAgRGVjb3JhdGlvbixcbiAgRGVmYXVsdEZsYXZvdXIsXG4gIGhhc2hPYmosXG4gIE1vZGVsLFxuICBNb2RlbENvbnN0cnVjdG9yLFxuICBNb2RlbFJlZ2lzdHJ5LFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBTZXF1ZW5jZU9wdGlvbnMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9TZXF1ZW5jZU9wdGlvbnNcIjtcbmltcG9ydCB7IFJhd0V4ZWN1dG9yIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvUmF3RXhlY3V0b3JcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9PYnNlcnZhYmxlXCI7XG5pbXBvcnQgeyBQZXJzaXN0ZW5jZUtleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB0eXBlIHsgUmVwb3NpdG9yeSB9IGZyb20gXCIuLi9yZXBvc2l0b3J5L1JlcG9zaXRvcnlcIjtcbmltcG9ydCB7IFNlcXVlbmNlIH0gZnJvbSBcIi4vU2VxdWVuY2VcIjtcbmltcG9ydCB7IEVycm9yUGFyc2VyIH0gZnJvbSBcIi4uL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IFN0YXRlbWVudCB9IGZyb20gXCIuLi9xdWVyeS9TdGF0ZW1lbnRcIjtcbmltcG9ydCB7IGZpbmFsIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgdHlwZSB7IERpc3BhdGNoIH0gZnJvbSBcIi4vRGlzcGF0Y2hcIjtcbmltcG9ydCB7IHR5cGUgRXZlbnRJZHMsIHR5cGUgT2JzZXJ2ZXJGaWx0ZXIgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgT2JzZXJ2ZXJIYW5kbGVyIH0gZnJvbSBcIi4vT2JzZXJ2ZXJIYW5kbGVyXCI7XG5pbXBvcnQgeyBMb2dnZWRDbGFzcyB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHsgZ2V0Q29sdW1uTmFtZSwgZ2V0VGFibGVOYW1lIH0gZnJvbSBcIi4uL2lkZW50aXR5L3V0aWxzXCI7XG5pbXBvcnQgeyBSZXBvc2l0b3J5IGFzIFJlcG8gfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IEFkYXB0ZXJEaXNwYXRjaCB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBNZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuXG5EZWNvcmF0aW9uLnNldEZsYXZvdXJSZXNvbHZlcigob2JqOiBvYmplY3QpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gKFxuICAgICAgQWRhcHRlci5mbGF2b3VyT2YoTW9kZWwuaXNNb2RlbChvYmopID8gb2JqLmNvbnN0cnVjdG9yIDogKG9iaiBhcyBhbnkpKSB8fFxuICAgICAgQWRhcHRlci5jdXJyZW50Rmxhdm91ciB8fFxuICAgICAgRGVmYXVsdEZsYXZvdXJcbiAgICApO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgIC8vIHJldHVybiBEZWZhdWx0Rmxhdm91cjtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBBZGFwdGVyLmN1cnJlbnRGbGF2b3VyIHx8IERlZmF1bHRGbGF2b3VyO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgIHJldHVybiBEZWZhdWx0Rmxhdm91cjtcbiAgfVxufSk7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEFic3RyYWN0IEZhY2FkZSBjbGFzcyBmb3IgcGVyc2lzdGVuY2UgYWRhcHRlcnNcbiAqIEBzdW1tYXJ5IFByb3ZpZGVzIHRoZSBmb3VuZGF0aW9uIGZvciBhbGwgZGF0YWJhc2UgYWRhcHRlcnMgaW4gdGhlIHBlcnNpc3RlbmNlIGxheWVyLiBUaGlzIGNsYXNzXG4gKiBpbXBsZW1lbnRzIHNldmVyYWwgaW50ZXJmYWNlcyB0byBwcm92aWRlIGEgY29uc2lzdGVudCBBUEkgZm9yIGRhdGFiYXNlIG9wZXJhdGlvbnMsIG9ic2VydmVyXG4gKiBwYXR0ZXJuIHN1cHBvcnQsIGFuZCBlcnJvciBoYW5kbGluZy4gSXQgbWFuYWdlcyBhZGFwdGVyIHJlZ2lzdHJhdGlvbiwgQ1JVRCBvcGVyYXRpb25zLCBhbmRcbiAqIG9ic2VydmVyIG5vdGlmaWNhdGlvbnMuXG4gKiBAdGVtcGxhdGUgQ09ORklHIC0gVGhlIHVuZGVybHlpbmcgcGVyc2lzdGVuY2UgZHJpdmVyIGNvbmZpZ1xuICogQHRlbXBsYXRlIFFVRVJZIC0gVGhlIHF1ZXJ5IG9iamVjdCB0eXBlIHVzZWQgYnkgdGhlIGFkYXB0ZXJcbiAqIEB0ZW1wbGF0ZSBGTEFHUyAtIFRoZSByZXBvc2l0b3J5IGZsYWdzIHR5cGVcbiAqIEB0ZW1wbGF0ZSBDT05URVhUIC0gVGhlIGNvbnRleHQgdHlwZVxuICogQHBhcmFtIHtDT05GSUd9IF9jb25maWcgLSBUaGUgdW5kZXJseWluZyBwZXJzaXN0ZW5jZSBkcml2ZXIgY29uZmlnXG4gKiBAcGFyYW0ge3N0cmluZ30gZmxhdm91ciAtIFRoZSBpZGVudGlmaWVyIGZvciB0aGlzIGFkYXB0ZXIgdHlwZVxuICogQHBhcmFtIHtzdHJpbmd9IFtfYWxpYXNdIC0gT3B0aW9uYWwgYWx0ZXJuYXRpdmUgbmFtZSBmb3IgdGhpcyBhZGFwdGVyXG4gKiBAY2xhc3MgQWRhcHRlclxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIEltcGxlbWVudGluZyBhIGNvbmNyZXRlIGFkYXB0ZXJcbiAqIGNsYXNzIFBvc3RncmVzQWRhcHRlciBleHRlbmRzIEFkYXB0ZXI8cGcuUG9vbENvbmZpZywgcGcuUXVlcnksIFBvc3RncmVzRmxhZ3MsIFBvc3RncmVzQ29udGV4dD4ge1xuICogICBjb25zdHJ1Y3RvcihjbGllbnQ6IHBnLlBvb2xDb25maWcpIHtcbiAqICAgICBzdXBlcihjbGllbnQsICdwb3N0Z3JlcycpO1xuICogICB9XG4gKlxuICogICBhc3luYyBpbml0aWFsaXplKCkge1xuICogICAgIC8vIFNldCB1cCB0aGUgYWRhcHRlclxuICogICAgIGF3YWl0IHRoaXMubmF0aXZlLmNvbm5lY3QoKTtcbiAqICAgfVxuICpcbiAqICAgYXN5bmMgY3JlYXRlKHRhYmxlTmFtZSwgaWQsIG1vZGVsKSB7XG4gKiAgICAgLy8gSW1wbGVtZW50YXRpb24gZm9yIGNyZWF0aW5nIHJlY29yZHNcbiAqICAgICBjb25zdCBjb2x1bW5zID0gT2JqZWN0LmtleXMobW9kZWwpLmpvaW4oJywgJyk7XG4gKiAgICAgY29uc3QgdmFsdWVzID0gT2JqZWN0LnZhbHVlcyhtb2RlbCk7XG4gKiAgICAgY29uc3QgcGxhY2Vob2xkZXJzID0gdmFsdWVzLm1hcCgoXywgaSkgPT4gYCQke2krMX1gKS5qb2luKCcsICcpO1xuICpcbiAqICAgICBjb25zdCBxdWVyeSA9IGBJTlNFUlQgSU5UTyAke3RhYmxlTmFtZX0gKCR7Y29sdW1uc30pIFZBTFVFUyAoJHtwbGFjZWhvbGRlcnN9KSBSRVRVUk5JTkcgKmA7XG4gKiAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5uYXRpdmUucXVlcnkocXVlcnksIHZhbHVlcyk7XG4gKiAgICAgcmV0dXJuIHJlc3VsdC5yb3dzWzBdO1xuICogICB9XG4gKlxuICogICAvLyBPdGhlciByZXF1aXJlZCBtZXRob2QgaW1wbGVtZW50YXRpb25zLi4uXG4gKiB9XG4gKlxuICogLy8gVXNpbmcgdGhlIGFkYXB0ZXJcbiAqIGNvbnN0IHBnQ2xpZW50ID0gbmV3IHBnLkNsaWVudChjb25uZWN0aW9uU3RyaW5nKTtcbiAqIGNvbnN0IGFkYXB0ZXIgPSBuZXcgUG9zdGdyZXNBZGFwdGVyKHBnQ2xpZW50KTtcbiAqIGF3YWl0IGFkYXB0ZXIuaW5pdGlhbGl6ZSgpO1xuICpcbiAqIC8vIFNldCBhcyB0aGUgZGVmYXVsdCBhZGFwdGVyXG4gKiBBZGFwdGVyLnNldEN1cnJlbnQoJ3Bvc3RncmVzJyk7XG4gKlxuICogLy8gUGVyZm9ybSBvcGVyYXRpb25zXG4gKiBjb25zdCB1c2VyID0gYXdhaXQgYWRhcHRlci5jcmVhdGUoJ3VzZXJzJywgMSwgeyBuYW1lOiAnSm9obicsIGVtYWlsOiAnam9obkBleGFtcGxlLmNvbScgfSk7XG4gKiBgYGBcbiAqIEBtZXJtYWlkXG4gKiBjbGFzc0RpYWdyYW1cbiAqICAgY2xhc3MgQWRhcHRlciB7XG4gKiAgICAgK1kgbmF0aXZlXG4gKiAgICAgK3N0cmluZyBmbGF2b3VyXG4gKiAgICAgK3N0cmluZyBhbGlhc1xuICogICAgICtjcmVhdGUodGFibGVOYW1lLCBpZCwgbW9kZWwpXG4gKiAgICAgK3JlYWQodGFibGVOYW1lLCBpZClcbiAqICAgICArdXBkYXRlKHRhYmxlTmFtZSwgaWQsIG1vZGVsKVxuICogICAgICtkZWxldGUodGFibGVOYW1lLCBpZClcbiAqICAgICArb2JzZXJ2ZShvYnNlcnZlciwgZmlsdGVyKVxuICogICAgICt1bk9ic2VydmUob2JzZXJ2ZXIpXG4gKiAgICAgK3N0YXRpYyBjdXJyZW50XG4gKiAgICAgK3N0YXRpYyBnZXQoZmxhdm91cilcbiAqICAgICArc3RhdGljIHNldEN1cnJlbnQoZmxhdm91cilcbiAqICAgfVxuICpcbiAqICAgY2xhc3MgUmF3RXhlY3V0b3Ige1xuICogICAgICtyYXcocXVlcnkpXG4gKiAgIH1cbiAqXG4gKiAgIGNsYXNzIE9ic2VydmFibGUge1xuICogICAgICtvYnNlcnZlKG9ic2VydmVyLCBmaWx0ZXIpXG4gKiAgICAgK3VuT2JzZXJ2ZShvYnNlcnZlcilcbiAqICAgICArdXBkYXRlT2JzZXJ2ZXJzKHRhYmxlLCBldmVudCwgaWQpXG4gKiAgIH1cbiAqXG4gKiAgIGNsYXNzIE9ic2VydmVyIHtcbiAqICAgICArcmVmcmVzaCh0YWJsZSwgZXZlbnQsIGlkKVxuICogICB9XG4gKlxuICogICBjbGFzcyBFcnJvclBhcnNlciB7XG4gKiAgICAgK3BhcnNlRXJyb3IoZXJyKVxuICogICB9XG4gKlxuICogICBBZGFwdGVyIC0tfD4gUmF3RXhlY3V0b3JcbiAqICAgQWRhcHRlciAtLXw+IE9ic2VydmFibGVcbiAqICAgQWRhcHRlciAtLXw+IE9ic2VydmVyXG4gKiAgIEFkYXB0ZXIgLS18PiBFcnJvclBhcnNlclxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWRhcHRlcjxcbiAgICBDT05GLFxuICAgIENPTk4sXG4gICAgUVVFUlksXG4gICAgRkxBR1MgZXh0ZW5kcyBSZXBvc2l0b3J5RmxhZ3MgPSBSZXBvc2l0b3J5RmxhZ3MsXG4gICAgQ09OVEVYVCBleHRlbmRzIENvbnRleHQ8RkxBR1M+ID0gQ29udGV4dDxGTEFHUz4sXG4gID5cbiAgZXh0ZW5kcyBMb2dnZWRDbGFzc1xuICBpbXBsZW1lbnRzXG4gICAgUmF3RXhlY3V0b3I8UVVFUlk+LFxuICAgIENvbnRleHR1YWw8RkxBR1MsIENPTlRFWFQ+LFxuICAgIE9ic2VydmFibGUsXG4gICAgT2JzZXJ2ZXIsXG4gICAgRXJyb3JQYXJzZXJcbntcbiAgcHJpdmF0ZSBzdGF0aWMgX2N1cnJlbnRGbGF2b3VyOiBzdHJpbmc7XG4gIHByaXZhdGUgc3RhdGljIF9jYWNoZTogUmVjb3JkPHN0cmluZywgQWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnksIGFueT4+ID0ge307XG4gIHByaXZhdGUgc3RhdGljIF9iYXNlUmVwb3NpdG9yeTogQ29uc3RydWN0b3I8XG4gICAgUmVwb3NpdG9yeTxhbnksIGFueSwgYW55LCBhbnksIGFueT5cbiAgPjtcbiAgcHJpdmF0ZSBzdGF0aWMgX2Jhc2VEaXNwYXRjaDogQ29uc3RydWN0b3I8RGlzcGF0Y2g+O1xuXG4gIHByb3RlY3RlZCBkaXNwYXRjaD86IEFkYXB0ZXJEaXNwYXRjaDtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb2JzZXJ2ZXJIYW5kbGVyPzogT2JzZXJ2ZXJIYW5kbGVyO1xuXG4gIHByb3RlY3RlZCBfY2xpZW50PzogQ09OTjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdldHMgdGhlIG5hdGl2ZSBwZXJzaXN0ZW5jZSBjb25maWdcbiAgICogQHN1bW1hcnkgUHJvdmlkZXMgYWNjZXNzIHRvIHRoZSB1bmRlcmx5aW5nIHBlcnNpc3RlbmNlIGRyaXZlciBjb25maWdcbiAgICogQHRlbXBsYXRlIENPTkZcbiAgICogQHJldHVybiB7Q09ORn0gVGhlIG5hdGl2ZSBwZXJzaXN0ZW5jZSBkcml2ZXIgY29uZmlnXG4gICAqL1xuICBnZXQgY29uZmlnKCk6IENPTkYge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdldHMgdGhlIGFkYXB0ZXIncyBhbGlhcyBvciBmbGF2b3IgbmFtZVxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSBhbGlhcyBpZiBzZXQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBmbGF2b3IgbmFtZVxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBhZGFwdGVyJ3MgaWRlbnRpZmllclxuICAgKi9cbiAgZ2V0IGFsaWFzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2FsaWFzIHx8IHRoaXMuZmxhdm91cjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR2V0cyB0aGUgcmVwb3NpdG9yeSBjb25zdHJ1Y3RvciBmb3IgdGhpcyBhZGFwdGVyXG4gICAqIEBzdW1tYXJ5IFJldHVybnMgdGhlIGNvbnN0cnVjdG9yIGZvciBjcmVhdGluZyByZXBvc2l0b3JpZXMgdGhhdCB3b3JrIHdpdGggdGhpcyBhZGFwdGVyXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGVcbiAgICogQHJldHVybiB7Q29uc3RydWN0b3I8UmVwb3NpdG9yeTxNLCBRVUVSWSwgQWRhcHRlcjxDT05GLCBDT05OLCBRVUVSWSwgRkxBR1MsIENPTlRFWFQ+LCBGTEFHUywgQ09OVEVYVD4+fSBUaGUgcmVwb3NpdG9yeSBjb25zdHJ1Y3RvclxuICAgKi9cbiAgcmVwb3NpdG9yeTxNIGV4dGVuZHMgTW9kZWw8Ym9vbGVhbj4+KCk6IENvbnN0cnVjdG9yPFxuICAgIFJlcG9zaXRvcnk8XG4gICAgICBNLFxuICAgICAgUVVFUlksXG4gICAgICBBZGFwdGVyPENPTkYsIENPTk4sIFFVRVJZLCBGTEFHUywgQ09OVEVYVD4sXG4gICAgICBGTEFHUyxcbiAgICAgIENPTlRFWFRcbiAgICA+XG4gID4ge1xuICAgIGlmICghQWRhcHRlci5fYmFzZVJlcG9zaXRvcnkpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYFRoaXMgc2hvdWxkIGJlIG92ZXJyaWRkZW4gd2hlbiBuZWNlc3NhcnkuIE90aGVyd2lzZSBpdCB3aWxsIGJlIHJlcGxhY2VkIGxhemlseWBcbiAgICAgICk7XG4gICAgcmV0dXJuIEFkYXB0ZXIuX2Jhc2VSZXBvc2l0b3J5O1xuICB9XG5cbiAgQGZpbmFsKClcbiAgcHJvdGVjdGVkIGFzeW5jIHNodXRkb3duUHJveGllcyhrPzogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLnByb3hpZXMpIHJldHVybjtcbiAgICBpZiAoayAmJiAhKGsgaW4gdGhpcy5wcm94aWVzKSlcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBObyBwcm94eSBmb3VuZCBmb3IgJHtrfWApO1xuICAgIGlmICghaykge1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5wcm94aWVzKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5wcm94aWVzW2tleV0uc2h1dGRvd24oKTtcbiAgICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgIHRoaXMubG9nLmVycm9yKGBGYWlsZWQgdG8gc2h1dGRvd24gcHJveGllZCBhZGFwdGVyICR7a2V5fTogJHtlfWApO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGRlbGV0ZSB0aGlzLnByb3hpZXNba2V5XTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5wcm94aWVzW2tdLnNodXRkb3duKCk7XG4gICAgICAgIGRlbGV0ZSB0aGlzLnByb3hpZXNba107XG4gICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgIHRoaXMubG9nLmVycm9yKGBGYWlsZWQgdG8gc2h1dGRvd24gcHJveGllZCBhZGFwdGVyICR7a306ICR7ZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNodXRzIGRvd24gdGhlIGFkYXB0ZXJcbiAgICogQHN1bW1hcnkgUGVyZm9ybXMgYW55IG5lY2Vzc2FyeSBjbGVhbnVwIHRhc2tzLCBzdWNoIGFzIGNsb3NpbmcgY29ubmVjdGlvbnNcbiAgICogV2hlbiBvdmVycmlkaW5nIHRoaXMgbWV0aG9kLCBlbnN1cmUgdG8gY2FsbCB0aGUgYmFzZSBtZXRob2QgZmlyc3RcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiBzaHV0ZG93biBpcyBjb21wbGV0ZVxuICAgKi9cbiAgYXN5bmMgc2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zaHV0ZG93blByb3hpZXMoKTtcbiAgICBpZiAodGhpcy5kaXNwYXRjaCkgYXdhaXQgdGhpcy5kaXNwYXRjaC5jbG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IGFkYXB0ZXIgaW5zdGFuY2VcbiAgICogQHN1bW1hcnkgSW5pdGlhbGl6ZXMgdGhlIGFkYXB0ZXIgd2l0aCB0aGUgbmF0aXZlIGRyaXZlciBhbmQgcmVnaXN0ZXJzIGl0IGluIHRoZSBhZGFwdGVyIGNhY2hlXG4gICAqL1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29uZmlnOiBDT05GLFxuICAgIHJlYWRvbmx5IGZsYXZvdXI6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hbGlhcz86IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcigpO1xuICAgIGlmICh0aGlzLmFsaWFzIGluIEFkYXB0ZXIuX2NhY2hlKVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIGAke3RoaXMuYWxpYXN9IHBlcnNpc3RlbmNlIGFkYXB0ZXIgJHt0aGlzLl9hbGlhcyA/IGAoJHt0aGlzLmZsYXZvdXJ9KSBgIDogXCJcIn0gYWxyZWFkeSByZWdpc3RlcmVkYFxuICAgICAgKTtcbiAgICBBZGFwdGVyLl9jYWNoZVt0aGlzLmFsaWFzXSA9IHRoaXM7XG4gICAgdGhpcy5sb2cuaW5mbyhcbiAgICAgIGBDcmVhdGVkICR7dGhpcy5hbGlhc30gcGVyc2lzdGVuY2UgYWRhcHRlciAke3RoaXMuX2FsaWFzID8gYCgke3RoaXMuZmxhdm91cn0pIGAgOiBcIlwifSBwZXJzaXN0ZW5jZSBhZGFwdGVyYFxuICAgICk7XG4gICAgaWYgKCFBZGFwdGVyLl9jdXJyZW50Rmxhdm91cikge1xuICAgICAgdGhpcy5sb2cudmVyYm9zZShgRGVmaW5lZCAke3RoaXMuYWxpYXN9IHBlcnNpc3RlbmNlIGFkYXB0ZXIgYXMgY3VycmVudGApO1xuICAgICAgQWRhcHRlci5fY3VycmVudEZsYXZvdXIgPSB0aGlzLmFsaWFzO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyBzdGF0ZW1lbnQgYnVpbGRlciBmb3IgYSBtb2RlbFxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIGEgc3RhdGVtZW50IGJ1aWxkZXIgdGhhdCBjYW4gYmUgdXNlZCB0byBjb25zdHJ1Y3QgcXVlcmllcyBmb3IgYSBzcGVjaWZpYyBtb2RlbFxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlXG4gICAqIEByZXR1cm4ge1N0YXRlbWVudH0gQSBzdGF0ZW1lbnQgYnVpbGRlciBmb3IgdGhlIG1vZGVsXG4gICAqL1xuICBhYnN0cmFjdCBTdGF0ZW1lbnQ8TSBleHRlbmRzIE1vZGVsPigpOiBTdGF0ZW1lbnQ8UVVFUlksIE0sIGFueT47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IGRpc3BhdGNoIGluc3RhbmNlXG4gICAqIEBzdW1tYXJ5IEZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIGRpc3BhdGNoIGluc3RhbmNlIGZvciB0aGlzIGFkYXB0ZXJcbiAgICogQHJldHVybiB7RGlzcGF0Y2h9IEEgbmV3IGRpc3BhdGNoIGluc3RhbmNlXG4gICAqL1xuICBwcm90ZWN0ZWQgRGlzcGF0Y2goKTogRGlzcGF0Y2gge1xuICAgIHJldHVybiBuZXcgQWRhcHRlci5fYmFzZURpc3BhdGNoKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBuZXcgb2JzZXJ2ZXIgaGFuZGxlclxuICAgKiBAc3VtbWFyeSBGYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gb2JzZXJ2ZXIgaGFuZGxlciBmb3IgdGhpcyBhZGFwdGVyXG4gICAqIEByZXR1cm4ge09ic2VydmVySGFuZGxlcn0gQSBuZXcgb2JzZXJ2ZXIgaGFuZGxlciBpbnN0YW5jZVxuICAgKi9cbiAgcHJvdGVjdGVkIE9ic2VydmVySGFuZGxlcigpOiBPYnNlcnZlckhhbmRsZXIge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2ZXJIYW5kbGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENoZWNrcyBpZiBhbiBhdHRyaWJ1dGUgbmFtZSBpcyByZXNlcnZlZFxuICAgKiBAc3VtbWFyeSBEZXRlcm1pbmVzIGlmIGEgZ2l2ZW4gYXR0cmlidXRlIG5hbWUgaXMgcmVzZXJ2ZWQgYW5kIGNhbm5vdCBiZSB1c2VkIGFzIGEgY29sdW1uIG5hbWVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGF0dHIgLSBUaGUgYXR0cmlidXRlIG5hbWUgdG8gY2hlY2tcbiAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgYXR0cmlidXRlIGlzIHJlc2VydmVkLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHByb3RlY3RlZCBpc1Jlc2VydmVkKGF0dHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhYXR0cjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUGFyc2VzIGEgZGF0YWJhc2UgZXJyb3IgaW50byBhIHN0YW5kYXJkaXplZCBlcnJvclxuICAgKiBAc3VtbWFyeSBDb252ZXJ0cyBkYXRhYmFzZS1zcGVjaWZpYyBlcnJvcnMgaW50byBzdGFuZGFyZGl6ZWQgYXBwbGljYXRpb24gZXJyb3JzXG4gICAqIEBwYXJhbSB7RXJyb3J9IGVyciAtIFRoZSBvcmlnaW5hbCBkYXRhYmFzZSBlcnJvclxuICAgKiBAcmV0dXJuIHtCYXNlRXJyb3J9IEEgc3RhbmRhcmRpemVkIGVycm9yXG4gICAqL1xuICBhYnN0cmFjdCBwYXJzZUVycm9yKGVycjogRXJyb3IpOiBCYXNlRXJyb3I7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBJbml0aWFsaXplcyB0aGUgYWRhcHRlclxuICAgKiBAc3VtbWFyeSBQZXJmb3JtcyBhbnkgbmVjZXNzYXJ5IHNldHVwIGZvciB0aGUgYWRhcHRlciwgc3VjaCBhcyBlc3RhYmxpc2hpbmcgY29ubmVjdGlvbnNcbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEluaXRpYWxpemF0aW9uIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGFzeW5jIGluaXRpYWxpemUoLi4uYXJnczogYW55W10pOiBQcm9taXNlPHZvaWQ+IHt9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgc2VxdWVuY2UgZ2VuZXJhdG9yXG4gICAqIEBzdW1tYXJ5IEZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIHNlcXVlbmNlIGdlbmVyYXRvciBmb3IgZ2VuZXJhdGluZyBzZXF1ZW50aWFsIHZhbHVlc1xuICAgKiBAcGFyYW0ge1NlcXVlbmNlT3B0aW9uc30gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHNlcXVlbmNlXG4gICAqIEByZXR1cm4ge1Byb21pc2U8U2VxdWVuY2U+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIG5ldyBzZXF1ZW5jZSBpbnN0YW5jZVxuICAgKi9cbiAgYWJzdHJhY3QgU2VxdWVuY2Uob3B0aW9uczogU2VxdWVuY2VPcHRpb25zKTogUHJvbWlzZTxTZXF1ZW5jZT47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIHJlcG9zaXRvcnkgZmxhZ3MgZm9yIGFuIG9wZXJhdGlvblxuICAgKiBAc3VtbWFyeSBHZW5lcmF0ZXMgYSBzZXQgb2YgZmxhZ3MgdGhhdCBkZXNjcmliZSBhIGRhdGFiYXNlIG9wZXJhdGlvbiwgY29tYmluaW5nIGRlZmF1bHQgZmxhZ3Mgd2l0aCBvdmVycmlkZXNcbiAgICogQHRlbXBsYXRlIEYgLSBUaGUgUmVwb3NpdG9yeSBGbGFncyB0eXBlXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGVcbiAgICogQHBhcmFtIHtPcGVyYXRpb25LZXlzfSBvcGVyYXRpb24gLSBUaGUgdHlwZSBvZiBvcGVyYXRpb24gYmVpbmcgcGVyZm9ybWVkXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0b3I8TT59IG1vZGVsIC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7UGFydGlhbDxGPn0gZmxhZ3MgLSBDdXN0b20gZmxhZyBvdmVycmlkZXNcbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzXG4gICAqIEByZXR1cm4ge1Byb21pc2U8Rj59IFRoZSBjb21wbGV0ZSBzZXQgb2YgZmxhZ3NcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBmbGFnczxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uS2V5cyxcbiAgICBtb2RlbDogQ29uc3RydWN0b3I8TT4sXG4gICAgZmxhZ3M6IFBhcnRpYWw8RkxBR1M+LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPEZMQUdTPiB7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIERlZmF1bHRSZXBvc2l0b3J5RmxhZ3MsIGZsYWdzLCB7XG4gICAgICBhZmZlY3RlZFRhYmxlczogZ2V0VGFibGVOYW1lKG1vZGVsKSxcbiAgICAgIHdyaXRlT3BlcmF0aW9uOiBvcGVyYXRpb24gIT09IE9wZXJhdGlvbktleXMuUkVBRCxcbiAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKSxcbiAgICAgIG9wZXJhdGlvbjogb3BlcmF0aW9uLFxuICAgICAgaWdub3JlZFZhbGlkYXRpb25Qcm9wZXJ0aWVzOiBNZXRhZGF0YS52YWxpZGF0aW9uRXhjZXB0aW9ucyhcbiAgICAgICAgbW9kZWwsXG4gICAgICAgIG9wZXJhdGlvblxuICAgICAgKSxcbiAgICB9KSBhcyBGTEFHUztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGNvbnRleHQgY29uc3RydWN0b3IgZm9yIHRoaXMgYWRhcHRlclxuICAgKiBAc3VtbWFyeSBSZWZlcmVuY2UgdG8gdGhlIGNvbnRleHQgY2xhc3MgY29uc3RydWN0b3IgdXNlZCBieSB0aGlzIGFkYXB0ZXJcbiAgICovXG4gIHByb3RlY3RlZCBDb250ZXh0ID0gQ29udGV4dDxGTEFHUz47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgY29udGV4dCBmb3IgYSBkYXRhYmFzZSBvcGVyYXRpb25cbiAgICogQHN1bW1hcnkgR2VuZXJhdGVzIGEgY29udGV4dCBvYmplY3QgdGhhdCBkZXNjcmliZXMgYSBkYXRhYmFzZSBvcGVyYXRpb24sIHVzZWQgZm9yIHRyYWNraW5nIGFuZCBhdWRpdGluZ1xuICAgKiBAdGVtcGxhdGUgRiAtIFRoZSBSZXBvc2l0b3J5IGZsYWdzIHR5cGVcbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZVxuICAgKiBAcGFyYW0ge09wZXJhdGlvbktleXMuQ1JFQVRFfE9wZXJhdGlvbktleXMuUkVBRHxPcGVyYXRpb25LZXlzLlVQREFURXxPcGVyYXRpb25LZXlzLkRFTEVURX0gb3BlcmF0aW9uIC0gVGhlIHR5cGUgb2Ygb3BlcmF0aW9uXG4gICAqIEBwYXJhbSB7UGFydGlhbDxGPn0gb3ZlcnJpZGVzIC0gQ3VzdG9tIGZsYWcgb3ZlcnJpZGVzXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0b3I8TT59IG1vZGVsIC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7Li4uYW55W119IGFyZ3MgLSBBZGRpdGlvbmFsIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPEM+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgY29udGV4dCBvYmplY3RcbiAgICovXG4gIEBmaW5hbCgpXG4gIGFzeW5jIGNvbnRleHQ8TSBleHRlbmRzIE1vZGVsPihcbiAgICBvcGVyYXRpb246XG4gICAgICB8IE9wZXJhdGlvbktleXMuQ1JFQVRFXG4gICAgICB8IE9wZXJhdGlvbktleXMuUkVBRFxuICAgICAgfCBPcGVyYXRpb25LZXlzLlVQREFURVxuICAgICAgfCBPcGVyYXRpb25LZXlzLkRFTEVURSxcbiAgICBvdmVycmlkZXM6IFBhcnRpYWw8RkxBR1M+LFxuICAgIG1vZGVsOiBDb25zdHJ1Y3RvcjxNPixcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPENPTlRFWFQ+IHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5jb250ZXh0KTtcbiAgICBsb2cuZGVidWcoXG4gICAgICBgQ3JlYXRpbmcgbmV3IGNvbnRleHQgZm9yICR7b3BlcmF0aW9ufSBvcGVyYXRpb24gb24gJHttb2RlbC5uYW1lfSBtb2RlbCB3aXRoIGZsYWcgb3ZlcnJpZGVzOiAke0pTT04uc3RyaW5naWZ5KG92ZXJyaWRlcyl9YFxuICAgICk7XG4gICAgY29uc3QgZmxhZ3MgPSBhd2FpdCB0aGlzLmZsYWdzKG9wZXJhdGlvbiwgbW9kZWwsIG92ZXJyaWRlcywgLi4uYXJncyk7XG4gICAgcmV0dXJuIG5ldyB0aGlzLkNvbnRleHQoKS5hY2N1bXVsYXRlKGZsYWdzKSBhcyB1bmtub3duIGFzIENPTlRFWFQ7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFByZXBhcmVzIGEgbW9kZWwgZm9yIHBlcnNpc3RlbmNlXG4gICAqIEBzdW1tYXJ5IENvbnZlcnRzIGEgbW9kZWwgaW5zdGFuY2UgaW50byBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgZGF0YWJhc2Ugc3RvcmFnZSxcbiAgICogaGFuZGxpbmcgY29sdW1uIG1hcHBpbmcgYW5kIHNlcGFyYXRpbmcgdHJhbnNpZW50IHByb3BlcnRpZXNcbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZVxuICAgKiBAcGFyYW0ge019IG1vZGVsIC0gVGhlIG1vZGVsIGluc3RhbmNlIHRvIHByZXBhcmVcbiAgICogQHBhcmFtIHBrIC0gVGhlIHByaW1hcnkga2V5IHByb3BlcnR5IG5hbWVcbiAgICogQHJldHVybiBUaGUgcHJlcGFyZWQgZGF0YVxuICAgKi9cbiAgcHJlcGFyZTxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIG1vZGVsOiBNLFxuICAgIHBrOiBrZXlvZiBNXG4gICk6IHtcbiAgICByZWNvcmQ6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgaWQ6IHN0cmluZztcbiAgICB0cmFuc2llbnQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICB9IHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5wcmVwYXJlKTtcbiAgICBjb25zdCBzcGxpdCA9IG1vZGVsVG9UcmFuc2llbnQobW9kZWwpO1xuICAgIGNvbnN0IHJlc3VsdCA9IE9iamVjdC5lbnRyaWVzKHNwbGl0Lm1vZGVsKS5yZWR1Y2UoXG4gICAgICAoYWNjdW06IFJlY29yZDxzdHJpbmcsIGFueT4sIFtrZXksIHZhbF0pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybiBhY2N1bTtcbiAgICAgICAgY29uc3QgbWFwcGVkUHJvcCA9IGdldENvbHVtbk5hbWUobW9kZWwsIGtleSk7XG4gICAgICAgIGlmICh0aGlzLmlzUmVzZXJ2ZWQobWFwcGVkUHJvcCkpXG4gICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYFByb3BlcnR5IG5hbWUgJHttYXBwZWRQcm9wfSBpcyByZXNlcnZlZGApO1xuICAgICAgICBhY2N1bVttYXBwZWRQcm9wXSA9IHZhbDtcbiAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcbiAgICBpZiAoKG1vZGVsIGFzIGFueSlbUGVyc2lzdGVuY2VLZXlzLk1FVEFEQVRBXSkge1xuICAgICAgbG9nLnNpbGx5KFxuICAgICAgICBgUGFzc2luZyBhbG9uZyBwZXJzaXN0ZW5jZSBtZXRhZGF0YSBmb3IgJHsobW9kZWwgYXMgYW55KVtQZXJzaXN0ZW5jZUtleXMuTUVUQURBVEFdfWBcbiAgICAgICk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzdWx0LCBQZXJzaXN0ZW5jZUtleXMuTUVUQURBVEEsIHtcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogKG1vZGVsIGFzIGFueSlbUGVyc2lzdGVuY2VLZXlzLk1FVEFEQVRBXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICByZWNvcmQ6IHJlc3VsdCxcbiAgICAgIGlkOiBtb2RlbFtwa10gYXMgc3RyaW5nLFxuICAgICAgdHJhbnNpZW50OiBzcGxpdC50cmFuc2llbnQsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ29udmVydHMgZGF0YWJhc2UgZGF0YSBiYWNrIGludG8gYSBtb2RlbCBpbnN0YW5jZVxuICAgKiBAc3VtbWFyeSBSZWNvbnN0cnVjdHMgYSBtb2RlbCBpbnN0YW5jZSBmcm9tIGRhdGFiYXNlIGRhdGEsIGhhbmRsaW5nIGNvbHVtbiBtYXBwaW5nXG4gICAqIGFuZCByZWF0dGFjaGluZyB0cmFuc2llbnQgcHJvcGVydGllc1xuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlXG4gICAqIEBwYXJhbSBvYmogLSBUaGUgZGF0YWJhc2UgcmVjb3JkXG4gICAqIEBwYXJhbSB7c3RyaW5nfENvbnN0cnVjdG9yPE0+fSBjbGF6eiAtIFRoZSBtb2RlbCBjbGFzcyBvciBuYW1lXG4gICAqIEBwYXJhbSBwayAtIFRoZSBwcmltYXJ5IGtleSBwcm9wZXJ0eSBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcnxiaWdpbnR9IGlkIC0gVGhlIHByaW1hcnkga2V5IHZhbHVlXG4gICAqIEBwYXJhbSBbdHJhbnNpZW50XSAtIFRyYW5zaWVudCBwcm9wZXJ0aWVzIHRvIHJlYXR0YWNoXG4gICAqIEByZXR1cm4ge019IFRoZSByZWNvbnN0cnVjdGVkIG1vZGVsIGluc3RhbmNlXG4gICAqL1xuICByZXZlcnQ8TSBleHRlbmRzIE1vZGVsPihcbiAgICBvYmo6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgY2xheno6IHN0cmluZyB8IENvbnN0cnVjdG9yPE0+LFxuICAgIHBrOiBrZXlvZiBNLFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQsXG4gICAgdHJhbnNpZW50PzogUmVjb3JkPHN0cmluZywgYW55PlxuICApOiBNIHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5yZXZlcnQpO1xuICAgIGNvbnN0IG9iOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgb2JbcGsgYXMgc3RyaW5nXSA9IGlkO1xuICAgIGNvbnN0IG0gPSAoXG4gICAgICB0eXBlb2YgY2xhenogPT09IFwic3RyaW5nXCIgPyBNb2RlbC5idWlsZChvYiwgY2xhenopIDogbmV3IGNsYXp6KG9iKVxuICAgICkgYXMgTTtcbiAgICBsb2cuc2lsbHkoYFJlYnVpbGRpbmcgbW9kZWwgJHttLmNvbnN0cnVjdG9yLm5hbWV9IGlkICR7aWR9YCk7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBvYmpbUGVyc2lzdGVuY2VLZXlzLk1FVEFEQVRBXTtcbiAgICBjb25zdCByZXN1bHQgPSBPYmplY3Qua2V5cyhtKS5yZWR1Y2UoKGFjY3VtOiBNLCBrZXkpID0+IHtcbiAgICAgIGlmIChrZXkgPT09IHBrKSByZXR1cm4gYWNjdW07XG4gICAgICAoYWNjdW0gYXMgUmVjb3JkPHN0cmluZywgYW55Pilba2V5XSA9IG9ialtnZXRDb2x1bW5OYW1lKGFjY3VtLCBrZXkpXTtcbiAgICAgIHJldHVybiBhY2N1bTtcbiAgICB9LCBtKTtcblxuICAgIGlmICh0cmFuc2llbnQpIHtcbiAgICAgIGxvZy52ZXJib3NlKFxuICAgICAgICBgcmUtYWRkaW5nIHRyYW5zaWVudCBwcm9wZXJ0aWVzOiAke09iamVjdC5rZXlzKHRyYW5zaWVudCkuam9pbihcIiwgXCIpfWBcbiAgICAgICk7XG4gICAgICBPYmplY3QuZW50cmllcyh0cmFuc2llbnQpLmZvckVhY2goKFtrZXksIHZhbF0pID0+IHtcbiAgICAgICAgaWYgKGtleSBpbiByZXN1bHQpXG4gICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgICBgVHJhbnNpZW50IHByb3BlcnR5ICR7a2V5fSBhbHJlYWR5IGV4aXN0cyBvbiBtb2RlbCAke20uY29uc3RydWN0b3IubmFtZX0uIHNob3VsZCBiZSBpbXBvc3NpYmxlYFxuICAgICAgICAgICk7XG4gICAgICAgIHJlc3VsdFtrZXkgYXMga2V5b2YgTV0gPSB2YWw7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAobWV0YWRhdGEpIHtcbiAgICAgIGxvZy5zaWxseShcbiAgICAgICAgYFBhc3NpbmcgYWxvbmcgJHt0aGlzLmZsYXZvdXJ9IHBlcnNpc3RlbmNlIG1ldGFkYXRhIGZvciAke20uY29uc3RydWN0b3IubmFtZX0gaWQgJHtpZH06ICR7bWV0YWRhdGF9YFxuICAgICAgKTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXN1bHQsIFBlcnNpc3RlbmNlS2V5cy5NRVRBREFUQSwge1xuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICB2YWx1ZTogbWV0YWRhdGEsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IHJlY29yZCBpbiB0aGUgZGF0YWJhc2VcbiAgICogQHN1bW1hcnkgSW5zZXJ0cyBhIG5ldyByZWNvcmQgd2l0aCB0aGUgZ2l2ZW4gSUQgYW5kIGRhdGEgaW50byB0aGUgc3BlY2lmaWVkIHRhYmxlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdGFibGUgdG8gaW5zZXJ0IGludG9cbiAgICogQHBhcmFtIHtzdHJpbmd8bnVtYmVyfSBpZCAtIFRoZSBpZGVudGlmaWVyIGZvciB0aGUgbmV3IHJlY29yZFxuICAgKiBAcGFyYW0gbW9kZWwgLSBUaGUgZGF0YSB0byBpbnNlcnRcbiAgICogQHBhcmFtIHthbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzIHNwZWNpZmljIHRvIHRoZSBhZGFwdGVyIGltcGxlbWVudGF0aW9uXG4gICAqIEByZXR1cm4gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGNyZWF0ZWQgcmVjb3JkXG4gICAqL1xuICBhYnN0cmFjdCBjcmVhdGUoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlcixcbiAgICBtb2RlbDogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBtdWx0aXBsZSByZWNvcmRzIGluIHRoZSBkYXRhYmFzZVxuICAgKiBAc3VtbWFyeSBJbnNlcnRzIG11bHRpcGxlIHJlY29yZHMgd2l0aCB0aGUgZ2l2ZW4gSURzIGFuZCBkYXRhIGludG8gdGhlIHNwZWNpZmllZCB0YWJsZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlIHRvIGluc2VydCBpbnRvXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBpZGVudGlmaWVycyBmb3IgdGhlIG5ldyByZWNvcmRzXG4gICAqIEBwYXJhbSBtb2RlbCAtIFRoZSBkYXRhIHRvIGluc2VydCBmb3IgZWFjaCByZWNvcmRcbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzIHNwZWNpZmljIHRvIHRoZSBhZGFwdGVyIGltcGxlbWVudGF0aW9uXG4gICAqIEByZXR1cm4gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgY3JlYXRlZCByZWNvcmRzXG4gICAqL1xuICBhc3luYyBjcmVhdGVBbGwoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IChzdHJpbmcgfCBudW1iZXIpW10sXG4gICAgbW9kZWw6IFJlY29yZDxzdHJpbmcsIGFueT5bXSxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT5bXT4ge1xuICAgIGlmIChpZC5sZW5ndGggIT09IG1vZGVsLmxlbmd0aClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiSWRzIGFuZCBtb2RlbHMgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aFwiKTtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5jcmVhdGVBbGwpO1xuICAgIGxvZy52ZXJib3NlKGBDcmVhdGluZyAke2lkLmxlbmd0aH0gZW50cmllcyAke3RhYmxlTmFtZX0gdGFibGVgKTtcbiAgICBsb2cuZGVidWcoYHBrczogJHtpZH1gKTtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICBpZC5tYXAoKGksIGNvdW50KSA9PiB0aGlzLmNyZWF0ZSh0YWJsZU5hbWUsIGksIG1vZGVsW2NvdW50XSwgLi4uYXJncykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmV0cmlldmVzIGEgcmVjb3JkIGZyb20gdGhlIGRhdGFiYXNlXG4gICAqIEBzdW1tYXJ5IEZldGNoZXMgYSByZWNvcmQgd2l0aCB0aGUgZ2l2ZW4gSUQgZnJvbSB0aGUgc3BlY2lmaWVkIHRhYmxlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdGFibGUgdG8gcmVhZCBmcm9tXG4gICAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcnxiaWdpbnR9IGlkIC0gVGhlIGlkZW50aWZpZXIgb2YgdGhlIHJlY29yZCB0byByZXRyaWV2ZVxuICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMgc3BlY2lmaWMgdG8gdGhlIGFkYXB0ZXIgaW1wbGVtZW50YXRpb25cbiAgICogQHJldHVybiBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgcmV0cmlldmVkIHJlY29yZFxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZChcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50LFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgbXVsdGlwbGUgcmVjb3JkcyBmcm9tIHRoZSBkYXRhYmFzZVxuICAgKiBAc3VtbWFyeSBGZXRjaGVzIG11bHRpcGxlIHJlY29yZHMgd2l0aCB0aGUgZ2l2ZW4gSURzIGZyb20gdGhlIHNwZWNpZmllZCB0YWJsZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlIHRvIHJlYWQgZnJvbVxuICAgKiBAcGFyYW0gaWQgLSBUaGUgaWRlbnRpZmllcnMgb2YgdGhlIHJlY29yZHMgdG8gcmV0cmlldmVcbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzIHNwZWNpZmljIHRvIHRoZSBhZGFwdGVyIGltcGxlbWVudGF0aW9uXG4gICAqIEByZXR1cm4gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgcmV0cmlldmVkIHJlY29yZHNcbiAgICovXG4gIGFzeW5jIHJlYWRBbGwoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IChzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQpW10sXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+W10+IHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5yZWFkQWxsKTtcbiAgICBsb2cudmVyYm9zZShgUmVhZGluZyAke2lkLmxlbmd0aH0gZW50cmllcyAke3RhYmxlTmFtZX0gdGFibGVgKTtcbiAgICBsb2cuZGVidWcoYHBrczogJHtpZH1gKTtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoaWQubWFwKChpKSA9PiB0aGlzLnJlYWQodGFibGVOYW1lLCBpLCAuLi5hcmdzKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGVzIGEgcmVjb3JkIGluIHRoZSBkYXRhYmFzZVxuICAgKiBAc3VtbWFyeSBNb2RpZmllcyBhbiBleGlzdGluZyByZWNvcmQgd2l0aCB0aGUgZ2l2ZW4gSUQgaW4gdGhlIHNwZWNpZmllZCB0YWJsZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlIHRvIHVwZGF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ9IGlkIC0gVGhlIGlkZW50aWZpZXIgb2YgdGhlIHJlY29yZCB0byB1cGRhdGVcbiAgICogQHBhcmFtICBtb2RlbCAtIFRoZSBuZXcgZGF0YSBmb3IgdGhlIHJlY29yZFxuICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMgc3BlY2lmaWMgdG8gdGhlIGFkYXB0ZXIgaW1wbGVtZW50YXRpb25cbiAgICogQHJldHVybiBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgdXBkYXRlZCByZWNvcmRcbiAgICovXG4gIGFic3RyYWN0IHVwZGF0ZShcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGVzIG11bHRpcGxlIHJlY29yZHMgaW4gdGhlIGRhdGFiYXNlXG4gICAqIEBzdW1tYXJ5IE1vZGlmaWVzIG11bHRpcGxlIGV4aXN0aW5nIHJlY29yZHMgd2l0aCB0aGUgZ2l2ZW4gSURzIGluIHRoZSBzcGVjaWZpZWQgdGFibGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRhYmxlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0YWJsZSB0byB1cGRhdGVcbiAgICogQHBhcmFtIHtzdHJpbmdbXXxudW1iZXJbXX0gaWQgLSBUaGUgaWRlbnRpZmllcnMgb2YgdGhlIHJlY29yZHMgdG8gdXBkYXRlXG4gICAqIEBwYXJhbSBtb2RlbCAtIFRoZSBuZXcgZGF0YSBmb3IgZWFjaCByZWNvcmRcbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzIHNwZWNpZmljIHRvIHRoZSBhZGFwdGVyIGltcGxlbWVudGF0aW9uXG4gICAqIEByZXR1cm4gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgdXBkYXRlZCByZWNvcmRzXG4gICAqL1xuICBhc3luYyB1cGRhdGVBbGwoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZ1tdIHwgbnVtYmVyW10sXG4gICAgbW9kZWw6IFJlY29yZDxzdHJpbmcsIGFueT5bXSxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT5bXT4ge1xuICAgIGlmIChpZC5sZW5ndGggIT09IG1vZGVsLmxlbmd0aClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiSWRzIGFuZCBtb2RlbHMgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aFwiKTtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy51cGRhdGVBbGwpO1xuICAgIGxvZy52ZXJib3NlKGBVcGRhdGluZyAke2lkLmxlbmd0aH0gZW50cmllcyAke3RhYmxlTmFtZX0gdGFibGVgKTtcbiAgICBsb2cuZGVidWcoYHBrczogJHtpZH1gKTtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICBpZC5tYXAoKGksIGNvdW50KSA9PiB0aGlzLnVwZGF0ZSh0YWJsZU5hbWUsIGksIG1vZGVsW2NvdW50XSwgLi4uYXJncykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRGVsZXRlcyBhIHJlY29yZCBmcm9tIHRoZSBkYXRhYmFzZVxuICAgKiBAc3VtbWFyeSBSZW1vdmVzIGEgcmVjb3JkIHdpdGggdGhlIGdpdmVuIElEIGZyb20gdGhlIHNwZWNpZmllZCB0YWJsZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlIHRvIGRlbGV0ZSBmcm9tXG4gICAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcnxiaWdpbnR9IGlkIC0gVGhlIGlkZW50aWZpZXIgb2YgdGhlIHJlY29yZCB0byBkZWxldGVcbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzIHNwZWNpZmljIHRvIHRoZSBhZGFwdGVyIGltcGxlbWVudGF0aW9uXG4gICAqIEByZXR1cm4gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGRlbGV0ZWQgcmVjb3JkXG4gICAqL1xuICBhYnN0cmFjdCBkZWxldGUoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludCxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRGVsZXRlcyBtdWx0aXBsZSByZWNvcmRzIGZyb20gdGhlIGRhdGFiYXNlXG4gICAqIEBzdW1tYXJ5IFJlbW92ZXMgbXVsdGlwbGUgcmVjb3JkcyB3aXRoIHRoZSBnaXZlbiBJRHMgZnJvbSB0aGUgc3BlY2lmaWVkIHRhYmxlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdGFibGUgdG8gZGVsZXRlIGZyb21cbiAgICogQHBhcmFtIGlkIC0gVGhlIGlkZW50aWZpZXJzIG9mIHRoZSByZWNvcmRzIHRvIGRlbGV0ZVxuICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMgc3BlY2lmaWMgdG8gdGhlIGFkYXB0ZXIgaW1wbGVtZW50YXRpb25cbiAgICogQHJldHVybiBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBvZiBkZWxldGVkIHJlY29yZHNcbiAgICovXG4gIGFzeW5jIGRlbGV0ZUFsbChcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZDogKHN0cmluZyB8IG51bWJlciB8IGJpZ2ludClbXSxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT5bXT4ge1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLmNyZWF0ZUFsbCk7XG4gICAgbG9nLnZlcmJvc2UoYERlbGV0aW5nICR7aWQubGVuZ3RofSBlbnRyaWVzICR7dGFibGVOYW1lfSB0YWJsZWApO1xuICAgIGxvZy5kZWJ1ZyhgcGtzOiAke2lkfWApO1xuICAgIHJldHVybiBQcm9taXNlLmFsbChpZC5tYXAoKGkpID0+IHRoaXMuZGVsZXRlKHRhYmxlTmFtZSwgaSwgLi4uYXJncykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRXhlY3V0ZXMgYSByYXcgcXVlcnkgYWdhaW5zdCB0aGUgZGF0YWJhc2VcbiAgICogQHN1bW1hcnkgQWxsb3dzIGV4ZWN1dGluZyBkYXRhYmFzZS1zcGVjaWZpYyBxdWVyaWVzIGRpcmVjdGx5XG4gICAqIEB0ZW1wbGF0ZSBRIC0gVGhlIHJhdyBxdWVyeSB0eXBlXG4gICAqIEB0ZW1wbGF0ZSBSIC0gVGhlIHJldHVybiB0eXBlIG9mIHRoZSBxdWVyeVxuICAgKiBAcGFyYW0ge1F9IHJhd0lucHV0IC0gVGhlIHF1ZXJ5IHRvIGV4ZWN1dGVcbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzIHNwZWNpZmljIHRvIHRoZSBhZGFwdGVyIGltcGxlbWVudGF0aW9uXG4gICAqIEByZXR1cm4ge1Byb21pc2U8Uj59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBxdWVyeSByZXN1bHRcbiAgICovXG4gIGFic3RyYWN0IHJhdzxSPihyYXdJbnB1dDogUVVFUlksIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxSPjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVycyBhbiBvYnNlcnZlciBmb3IgZGF0YWJhc2UgZXZlbnRzXG4gICAqIEBzdW1tYXJ5IEFkZHMgYW4gb2JzZXJ2ZXIgdG8gYmUgbm90aWZpZWQgYWJvdXQgZGF0YWJhc2UgY2hhbmdlcy4gVGhlIG9ic2VydmVyIGNhbiBvcHRpb25hbGx5XG4gICAqIHByb3ZpZGUgYSBmaWx0ZXIgZnVuY3Rpb24gdG8gcmVjZWl2ZSBvbmx5IHNwZWNpZmljIGV2ZW50cy5cbiAgICogQHBhcmFtIHtPYnNlcnZlcn0gb2JzZXJ2ZXIgLSBUaGUgb2JzZXJ2ZXIgdG8gcmVnaXN0ZXJcbiAgICogQHBhcmFtIHtPYnNlcnZlckZpbHRlcn0gW2ZpbHRlcl0gLSBPcHRpb25hbCBmaWx0ZXIgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHdoaWNoIGV2ZW50cyB0aGUgb2JzZXJ2ZXIgcmVjZWl2ZXNcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIEBmaW5hbCgpXG4gIG9ic2VydmUob2JzZXJ2ZXI6IE9ic2VydmVyLCBmaWx0ZXI/OiBPYnNlcnZlckZpbHRlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5vYnNlcnZlckhhbmRsZXIpXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJvYnNlcnZlckhhbmRsZXJcIiwge1xuICAgICAgICB2YWx1ZTogdGhpcy5PYnNlcnZlckhhbmRsZXIoKSxcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgdGhpcy5vYnNlcnZlckhhbmRsZXIhLm9ic2VydmUob2JzZXJ2ZXIsIGZpbHRlcik7XG4gICAgdGhpcy5sb2dcbiAgICAgIC5mb3IodGhpcy5vYnNlcnZlKVxuICAgICAgLnZlcmJvc2UoYFJlZ2lzdGVyaW5nIG5ldyBvYnNlcnZlciAke29ic2VydmVyLnRvU3RyaW5nKCl9YCk7XG4gICAgaWYgKCF0aGlzLmRpc3BhdGNoKSB7XG4gICAgICB0aGlzLmxvZy5mb3IodGhpcy5vYnNlcnZlKS5pbmZvKGBDcmVhdGluZyBkaXNwYXRjaCBmb3IgJHt0aGlzLmFsaWFzfWApO1xuICAgICAgdGhpcy5kaXNwYXRjaCA9IHRoaXMuRGlzcGF0Y2goKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2gub2JzZXJ2ZSh0aGlzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFVucmVnaXN0ZXJzIGFuIG9ic2VydmVyXG4gICAqIEBzdW1tYXJ5IFJlbW92ZXMgYSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgb2JzZXJ2ZXIgc28gaXQgbm8gbG9uZ2VyIHJlY2VpdmVzIGRhdGFiYXNlIGV2ZW50IG5vdGlmaWNhdGlvbnNcbiAgICogQHBhcmFtIHtPYnNlcnZlcn0gb2JzZXJ2ZXIgLSBUaGUgb2JzZXJ2ZXIgdG8gdW5yZWdpc3RlclxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgQGZpbmFsKClcbiAgdW5PYnNlcnZlKG9ic2VydmVyOiBPYnNlcnZlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5vYnNlcnZlckhhbmRsZXIpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgXCJPYnNlcnZlckhhbmRsZXIgbm90IGluaXRpYWxpemVkLiBEaWQgeW91IHJlZ2lzdGVyIGFueSBvYnNlcnZhYmxlcz9cIlxuICAgICAgKTtcbiAgICB0aGlzLm9ic2VydmVySGFuZGxlci51bk9ic2VydmUob2JzZXJ2ZXIpO1xuICAgIHRoaXMubG9nXG4gICAgICAuZm9yKHRoaXMudW5PYnNlcnZlKVxuICAgICAgLnZlcmJvc2UoYE9ic2VydmVyICR7b2JzZXJ2ZXIudG9TdHJpbmcoKX0gcmVtb3ZlZGApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBOb3RpZmllcyBhbGwgb2JzZXJ2ZXJzIGFib3V0IGEgZGF0YWJhc2UgZXZlbnRcbiAgICogQHN1bW1hcnkgU2VuZHMgbm90aWZpY2F0aW9ucyB0byBhbGwgcmVnaXN0ZXJlZCBvYnNlcnZlcnMgYWJvdXQgYSBjaGFuZ2UgaW4gdGhlIGRhdGFiYXNlLFxuICAgKiBmaWx0ZXJpbmcgYmFzZWQgb24gZWFjaCBvYnNlcnZlcidzIGZpbHRlciBmdW5jdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGUgLSBUaGUgbmFtZSBvZiB0aGUgdGFibGUgd2hlcmUgdGhlIGNoYW5nZSBvY2N1cnJlZFxuICAgKiBAcGFyYW0ge09wZXJhdGlvbktleXN8QnVsa0NydWRPcGVyYXRpb25LZXlzfHN0cmluZ30gZXZlbnQgLSBUaGUgdHlwZSBvZiBvcGVyYXRpb24gdGhhdCBvY2N1cnJlZFxuICAgKiBAcGFyYW0ge0V2ZW50SWRzfSBpZCAtIFRoZSBpZGVudGlmaWVyKHMpIG9mIHRoZSBhZmZlY3RlZCByZWNvcmQocylcbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIG9ic2VydmVyc1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGFsbCBvYnNlcnZlcnMgaGF2ZSBiZWVuIG5vdGlmaWVkXG4gICAqL1xuICBhc3luYyB1cGRhdGVPYnNlcnZlcnMoXG4gICAgdGFibGU6IHN0cmluZyxcbiAgICBldmVudDogT3BlcmF0aW9uS2V5cyB8IEJ1bGtDcnVkT3BlcmF0aW9uS2V5cyB8IHN0cmluZyxcbiAgICBpZDogRXZlbnRJZHMsXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLm9ic2VydmVySGFuZGxlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIk9ic2VydmVySGFuZGxlciBub3QgaW5pdGlhbGl6ZWQuIERpZCB5b3UgcmVnaXN0ZXIgYW55IG9ic2VydmFibGVzP1wiXG4gICAgICApO1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLnVwZGF0ZU9ic2VydmVycyk7XG4gICAgbG9nLnZlcmJvc2UoXG4gICAgICBgVXBkYXRpbmcgJHt0aGlzLm9ic2VydmVySGFuZGxlci5jb3VudCgpfSBvYnNlcnZlcnMgZm9yIGFkYXB0ZXIgJHt0aGlzLmFsaWFzfWBcbiAgICApO1xuICAgIGF3YWl0IHRoaXMub2JzZXJ2ZXJIYW5kbGVyLnVwZGF0ZU9ic2VydmVycyhcbiAgICAgIHRoaXMubG9nLFxuICAgICAgdGFibGUsXG4gICAgICBldmVudCxcbiAgICAgIGlkLFxuICAgICAgLi4uYXJnc1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlZnJlc2hlcyBkYXRhIGJhc2VkIG9uIGEgZGF0YWJhc2UgZXZlbnRcbiAgICogQHN1bW1hcnkgSW1wbGVtZW50YXRpb24gb2YgdGhlIE9ic2VydmVyIGludGVyZmFjZSBtZXRob2QgdGhhdCBkZWxlZ2F0ZXMgdG8gdXBkYXRlT2JzZXJ2ZXJzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZSAtIFRoZSBuYW1lIG9mIHRoZSB0YWJsZSB3aGVyZSB0aGUgY2hhbmdlIG9jY3VycmVkXG4gICAqIEBwYXJhbSB7T3BlcmF0aW9uS2V5c3xCdWxrQ3J1ZE9wZXJhdGlvbktleXN8c3RyaW5nfSBldmVudCAtIFRoZSB0eXBlIG9mIG9wZXJhdGlvbiB0aGF0IG9jY3VycmVkXG4gICAqIEBwYXJhbSB7RXZlbnRJZHN9IGlkIC0gVGhlIGlkZW50aWZpZXIocykgb2YgdGhlIGFmZmVjdGVkIHJlY29yZChzKVxuICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMgcmVsYXRlZCB0byB0aGUgZXZlbnRcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcmVmcmVzaCBpcyBjb21wbGV0ZVxuICAgKi9cbiAgYXN5bmMgcmVmcmVzaChcbiAgICB0YWJsZTogc3RyaW5nLFxuICAgIGV2ZW50OiBPcGVyYXRpb25LZXlzIHwgQnVsa0NydWRPcGVyYXRpb25LZXlzIHwgc3RyaW5nLFxuICAgIGlkOiBFdmVudElkcyxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGVPYnNlcnZlcnModGFibGUsIGV2ZW50LCBpZCwgLi4uYXJncyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdldHMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGFkYXB0ZXJcbiAgICogQHN1bW1hcnkgUmV0dXJucyBhIGh1bWFuLXJlYWRhYmxlIHN0cmluZyBpZGVudGlmeWluZyB0aGlzIGFkYXB0ZXJcbiAgICogQHJldHVybiB7c3RyaW5nfSBBIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgYWRhcHRlclxuICAgKi9cbiAgb3ZlcnJpZGUgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuZmxhdm91cn0gcGVyc2lzdGVuY2UgQWRhcHRlcmA7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdldHMgdGhlIGFkYXB0ZXIgZmxhdm9yIGFzc29jaWF0ZWQgd2l0aCBhIG1vZGVsXG4gICAqIEBzdW1tYXJ5IFJldHJpZXZlcyB0aGUgYWRhcHRlciBmbGF2b3IgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgYSBzcGVjaWZpYyBtb2RlbCBjbGFzc1xuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0b3I8TT59IG1vZGVsIC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGFkYXB0ZXIgZmxhdm9yIG5hbWVcbiAgICovXG4gIHN0YXRpYyBmbGF2b3VyT2Y8TSBleHRlbmRzIE1vZGVsPihtb2RlbDogQ29uc3RydWN0b3I8TT4pOiBzdHJpbmcge1xuICAgIHJldHVybiAoXG4gICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKHRoaXMua2V5KFBlcnNpc3RlbmNlS2V5cy5BREFQVEVSKSwgbW9kZWwpIHx8XG4gICAgICB0aGlzLmN1cnJlbnQ/LmZsYXZvdXJcbiAgICApO1xuICB9XG5cbiAgc3RhdGljIGdldCBjdXJyZW50Rmxhdm91cigpIHtcbiAgICBpZiAoIUFkYXB0ZXIuX2N1cnJlbnRGbGF2b3VyKVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIGBObyBwZXJzaXN0ZW5jZSBmbGF2b3VyIHNldC4gUGxlYXNlIGluaXRpYWxpemUgeW91ciBhZGFwdGVyYFxuICAgICAgKTtcbiAgICByZXR1cm4gQWRhcHRlci5fY3VycmVudEZsYXZvdXI7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdldHMgdGhlIGN1cnJlbnQgZGVmYXVsdCBhZGFwdGVyXG4gICAqIEBzdW1tYXJ5IFJldHJpZXZlcyB0aGUgYWRhcHRlciB0aGF0IGlzIGN1cnJlbnRseSBzZXQgYXMgdGhlIGRlZmF1bHQgZm9yIG9wZXJhdGlvbnNcbiAgICogQHJldHVybiB7QWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnk+fSBUaGUgY3VycmVudCBhZGFwdGVyXG4gICAqL1xuICBzdGF0aWMgZ2V0IGN1cnJlbnQoKTogQWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gQWRhcHRlci5nZXQodGhpcy5jdXJyZW50Rmxhdm91cik7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdldHMgYW4gYWRhcHRlciBieSBmbGF2b3JcbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIGEgcmVnaXN0ZXJlZCBhZGFwdGVyIGJ5IGl0cyBmbGF2b3IgbmFtZVxuICAgKiBAdGVtcGxhdGUgQ09ORiAtIFRoZSBkYXRhYmFzZSBkcml2ZXIgY29uZmlnXG4gICAqIEB0ZW1wbGF0ZSBDT05OIC0gVGhlIGRhdGFiYXNlIGRyaXZlciBpbnN0YW5jZVxuICAgKiBAdGVtcGxhdGUgUVVFUlkgLSBUaGUgcXVlcnkgdHlwZVxuICAgKiBAdGVtcGxhdGUgQ0NPTlRFWFQgLSBUaGUgY29udGV4dCB0eXBlXG4gICAqIEB0ZW1wbGF0ZSBGTEFHUyAtIFRoZSByZXBvc2l0b3J5IGZsYWdzIHR5cGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZsYXZvdXIgLSBUaGUgZmxhdm9yIG5hbWUgb2YgdGhlIGFkYXB0ZXIgdG8gcmV0cmlldmVcbiAgICogQHJldHVybiB7QWRhcHRlcjxDT05GLCBDT05OLCBRVUVSWSwgQ09OVEVYVCwgRkxBR1M+IHwgdW5kZWZpbmVkfSBUaGUgYWRhcHRlciBpbnN0YW5jZSBvciB1bmRlZmluZWQgaWYgbm90IGZvdW5kXG4gICAqL1xuICBzdGF0aWMgZ2V0PFxuICAgIENPTkYsXG4gICAgQ09OTixcbiAgICBRVUVSWSxcbiAgICBDT05URVhUIGV4dGVuZHMgQ29udGV4dDxGTEFHUz4sXG4gICAgRkxBR1MgZXh0ZW5kcyBSZXBvc2l0b3J5RmxhZ3MsXG4gID4oZmxhdm91cj86IGFueSk6IEFkYXB0ZXI8Q09ORiwgQ09OTiwgUVVFUlksIEZMQUdTLCBDT05URVhUPiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFmbGF2b3VyKSByZXR1cm4gQWRhcHRlci5nZXQodGhpcy5fY3VycmVudEZsYXZvdXIpO1xuICAgIGlmIChmbGF2b3VyIGluIHRoaXMuX2NhY2hlKSByZXR1cm4gdGhpcy5fY2FjaGVbZmxhdm91cl07XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYE5vIEFkYXB0ZXIgcmVnaXN0ZXJlZCB1bmRlciAke2ZsYXZvdXJ9LmApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTZXRzIHRoZSBjdXJyZW50IGRlZmF1bHQgYWRhcHRlclxuICAgKiBAc3VtbWFyeSBDaGFuZ2VzIHdoaWNoIGFkYXB0ZXIgaXMgdXNlZCBhcyB0aGUgZGVmYXVsdCBmb3Igb3BlcmF0aW9uc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gZmxhdm91ciAtIFRoZSBmbGF2b3IgbmFtZSBvZiB0aGUgYWRhcHRlciB0byBzZXQgYXMgY3VycmVudFxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgc3RhdGljIHNldEN1cnJlbnQoZmxhdm91cjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fY3VycmVudEZsYXZvdXIgPSBmbGF2b3VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbWV0YWRhdGEga2V5XG4gICAqIEBzdW1tYXJ5IEdlbmVyYXRlcyBhIHN0YW5kYXJkaXplZCBtZXRhZGF0YSBrZXkgZm9yIHBlcnNpc3RlbmNlLXJlbGF0ZWQgbWV0YWRhdGFcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIFRoZSBiYXNlIGtleSBuYW1lXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGZvcm1hdHRlZCBtZXRhZGF0YSBrZXlcbiAgICovXG4gIHN0YXRpYyBrZXkoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gUmVwby5rZXkoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR2V0cyBhbGwgbW9kZWxzIGFzc29jaWF0ZWQgd2l0aCBhbiBhZGFwdGVyIGZsYXZvclxuICAgKiBAc3VtbWFyeSBSZXRyaWV2ZXMgYWxsIG1vZGVsIGNvbnN0cnVjdG9ycyB0aGF0IGFyZSBjb25maWd1cmVkIHRvIHVzZSBhIHNwZWNpZmljIGFkYXB0ZXIgZmxhdm9yXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZsYXZvdXIgLSBUaGUgYWRhcHRlciBmbGF2b3IgdG8gZmluZCBtb2RlbHMgZm9yXG4gICAqIEByZXR1cm4gQW4gYXJyYXkgb2YgbW9kZWwgY29uc3RydWN0b3JzXG4gICAqL1xuICBzdGF0aWMgbW9kZWxzPE0gZXh0ZW5kcyBNb2RlbD4oZmxhdm91cjogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlZ2lzdHJ5ID0gKE1vZGVsIGFzIGFueSkuZ2V0UmVnaXN0cnkoKSBhcyBNb2RlbFJlZ2lzdHJ5PGFueT47XG4gICAgICBjb25zdCBjYWNoZSA9IChcbiAgICAgICAgcmVnaXN0cnkgYXMgdW5rbm93biBhcyB7IGNhY2hlOiBSZWNvcmQ8c3RyaW5nLCBNb2RlbENvbnN0cnVjdG9yPGFueT4+IH1cbiAgICAgICkuY2FjaGU7XG4gICAgICBjb25zdCBtYW5hZ2VkTW9kZWxzOiBNb2RlbENvbnN0cnVjdG9yPGFueT5bXSA9IE9iamVjdC52YWx1ZXMoY2FjaGUpXG4gICAgICAgIC5tYXAoKG06IE1vZGVsQ29uc3RydWN0b3I8TT4pID0+IHtcbiAgICAgICAgICBsZXQgZiA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoXG4gICAgICAgICAgICBBZGFwdGVyLmtleShQZXJzaXN0ZW5jZUtleXMuQURBUFRFUiksXG4gICAgICAgICAgICBtIGFzIE1vZGVsQ29uc3RydWN0b3I8YW55PlxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKGYgJiYgZiA9PT0gZmxhdm91cikgcmV0dXJuIG07XG4gICAgICAgICAgaWYgKCFmKSB7XG4gICAgICAgICAgICBjb25zdCByZXBvID0gUmVmbGVjdC5nZXRNZXRhZGF0YShcbiAgICAgICAgICAgICAgUmVwby5rZXkoREJLZXlzLlJFUE9TSVRPUlkpLFxuICAgICAgICAgICAgICBtIGFzIE1vZGVsQ29uc3RydWN0b3I8YW55PlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmICghcmVwbykgcmV0dXJuO1xuICAgICAgICAgICAgY29uc3QgcmVwb3NpdG9yeSA9ICh0aGlzLl9iYXNlUmVwb3NpdG9yeSBhcyBhbnkpLmZvck1vZGVsKG0pO1xuXG4gICAgICAgICAgICBmID0gUmVmbGVjdC5nZXRNZXRhZGF0YShcbiAgICAgICAgICAgICAgQWRhcHRlci5rZXkoUGVyc2lzdGVuY2VLZXlzLkFEQVBURVIpLFxuICAgICAgICAgICAgICByZXBvc2l0b3J5XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIGY7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuZmlsdGVyKChtKSA9PiAhIW0pO1xuICAgICAgcmV0dXJuIG1hbmFnZWRNb2RlbHM7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihlKTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZGVjb3JhdGlvbigpOiB2b2lkIHt9XG5cbiAgcHJvdGVjdGVkIHByb3hpZXM/OiBSZWNvcmQ8c3RyaW5nLCB0eXBlb2YgdGhpcz47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXR1cm5zIHRoZSBjbGllbnQgaW5zdGFuY2UgZm9yIHRoZSBhZGFwdGVyXG4gICAqIEBzdW1tYXJ5IFRoaXMgbWV0aG9kIHNob3VsZCBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMgdG8gcmV0dXJuIHRoZSBjbGllbnQgaW5zdGFuY2UgZm9yIHRoZSBhZGFwdGVyLlxuICAgKiBAdGVtcGxhdGUgQ09OIC0gVGhlIHR5cGUgb2YgdGhlIGNsaWVudCBpbnN0YW5jZVxuICAgKiBAcmV0dXJuIHtDT059IFRoZSBjbGllbnQgaW5zdGFuY2UgZm9yIHRoZSBhZGFwdGVyXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAZnVuY3Rpb24gZ2V0Q2xpZW50XG4gICAqIEBtZW1iZXJPZiBtb2R1bGU6Y29yZVxuICAgKiBAaW5zdGFuY2VcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldENsaWVudCgpOiBDT05OO1xuXG4gIEBmaW5hbCgpXG4gIGdldCBjbGllbnQoKTogQ09OTiB7XG4gICAgaWYgKCF0aGlzLl9jbGllbnQpIHtcbiAgICAgIHRoaXMuX2NsaWVudCA9IHRoaXMuZ2V0Q2xpZW50KCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jbGllbnQ7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGZvcihjb25maWc6IFBhcnRpYWw8Q09ORj4sIC4uLmFyZ3M6IGFueVtdKTogdHlwZW9mIHRoaXMge1xuICAgIGlmICghdGhpcy5wcm94aWVzKSB0aGlzLnByb3hpZXMgPSB7fTtcbiAgICBjb25zdCBrZXkgPSBgJHt0aGlzLmFsaWFzfSAtICR7aGFzaE9iaihjb25maWcpfWA7XG4gICAgaWYgKGtleSBpbiB0aGlzLnByb3hpZXMpIHJldHVybiB0aGlzLnByb3hpZXNba2V5XSBhcyB0eXBlb2YgdGhpcztcblxuICAgIGxldCBjbGllbnQ6IGFueTtcbiAgICBjb25zdCBwcm94eSA9IG5ldyBQcm94eSh0aGlzLCB7XG4gICAgICBnZXQ6ICh0YXJnZXQ6IHR5cGVvZiB0aGlzLCBwOiBzdHJpbmcgfCBzeW1ib2wsIHJlY2VpdmVyOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHAgPT09IFwiX2NvbmZpZ1wiKSB7XG4gICAgICAgICAgY29uc3Qgb3JpZ2luYWxDb25mOiBDT05GID0gUmVmbGVjdC5nZXQodGFyZ2V0LCBwLCByZWNlaXZlcik7XG4gICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIG9yaWdpbmFsQ29uZiwgY29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocCA9PT0gXCJfY2xpZW50XCIpIHtcbiAgICAgICAgICByZXR1cm4gY2xpZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBSZWZsZWN0LmdldCh0YXJnZXQsIHAsIHJlY2VpdmVyKTtcbiAgICAgIH0sXG4gICAgICBzZXQ6ICh0YXJnZXQ6IGFueSwgcDogc3RyaW5nIHwgc3ltYm9sLCB2YWx1ZTogYW55LCByZWNlaXZlcjogYW55KSA9PiB7XG4gICAgICAgIGlmIChwID09PSBcIl9jbGllbnRcIikge1xuICAgICAgICAgIGNsaWVudCA9IHZhbHVlO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBSZWZsZWN0LnNldCh0YXJnZXQsIHAsIHZhbHVlLCByZWNlaXZlcik7XG4gICAgICB9LFxuICAgIH0pO1xuICAgIHRoaXMucHJveGllc1trZXldID0gcHJveHk7XG4gICAgcmV0dXJuIHByb3h5O1xuICB9XG59XG4iXX0=
672
+ //# sourceMappingURL=Adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Adapter.js","sourceRoot":"","sources":["../../src/persistence/Adapter.ts"],"names":[],"mappings":"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"}
@@ -188,4 +188,4 @@ class Dispatch extends logging_1.LoggedClass {
188
188
  exports.Dispatch = Dispatch;
189
189
  if (Adapter_1.Adapter)
190
190
  Adapter_1.Adapter["_baseDispatch"] = Dispatch;
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlzcGF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGVyc2lzdGVuY2UvRGlzcGF0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBSWlDO0FBR2pDLDJDQUFvQztBQUNwQyx5Q0FBNEM7QUFFNUMsK0NBQWdEO0FBRWhEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJHO0FBQ0gsTUFBYSxRQUFTLFNBQVEscUJBQVc7SUFhdkM7OztPQUdHO0lBQ0g7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FtQ0c7SUFDTyxLQUFLLENBQUMsVUFBVTtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLGtFQUFrRTtZQUNsRSwwRUFBMEU7WUFDMUUscUVBQXFFO1lBQ3JFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUNkLDJEQUEyRCxDQUM1RCxDQUFDO1lBQ0YsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBc0MsQ0FBQztRQUUxRDtZQUNFLDZCQUFhLENBQUMsTUFBTTtZQUNwQiw2QkFBYSxDQUFDLE1BQU07WUFDcEIsNkJBQWEsQ0FBQyxNQUFNO1lBQ3BCLHFDQUFxQixDQUFDLFVBQVU7WUFDaEMscUNBQXFCLENBQUMsVUFBVTtZQUNoQyxxQ0FBcUIsQ0FBQyxVQUFVO1NBRW5DLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ2xCLE1BQU0sSUFBSSw2QkFBYSxDQUNyQixVQUFVLE1BQU0saUJBQWlCLE9BQU8sQ0FBQyxLQUFLLHVDQUF1QyxDQUN0RixDQUFDO1lBRUosSUFBSSxVQUFVLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxNQUFNLENB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Q0FDMUQsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLFFBQWtCO1FBQzFCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRO1lBQzNCLE1BQU0sSUFBSSx5QkFBZ0IsQ0FDeEIsNkRBQTZELENBQzlELENBQUM7UUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQ25CLEtBQWEsRUFDYixLQUFxRCxFQUNyRCxFQUFZO1FBRVosSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FDZCxrRUFBa0UsS0FBSyxJQUFJLEtBQUssRUFBRSxDQUNuRixDQUFDO1lBQ0YsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLDZCQUFhLENBQUMsK0JBQStCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXJNRCw0QkFxTUM7QUFFRCxJQUFJLGlCQUFPO0lBQUUsaUJBQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbnRlcm5hbEVycm9yLFxuICBPcGVyYXRpb25LZXlzLFxuICBCdWxrQ3J1ZE9wZXJhdGlvbktleXMsXG59IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgTW9kZWxDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IE9ic2VydmVyIH0gZnJvbSBcIi4uL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IEFkYXB0ZXIgfSBmcm9tIFwiLi9BZGFwdGVyXCI7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZEVycm9yIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBBZGFwdGVyRGlzcGF0Y2gsIEV2ZW50SWRzIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IExvZ2dlZENsYXNzIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERpc3BhdGNoZXMgZGF0YWJhc2Ugb3BlcmF0aW9uIGV2ZW50cyB0byBvYnNlcnZlcnNcbiAqIEBzdW1tYXJ5IFRoZSBEaXNwYXRjaCBjbGFzcyBpbXBsZW1lbnRzIHRoZSBPYnNlcnZhYmxlIGludGVyZmFjZSBhbmQgaXMgcmVzcG9uc2libGUgZm9yIGludGVyY2VwdGluZ1xuICogZGF0YWJhc2Ugb3BlcmF0aW9ucyBmcm9tIGFuIEFkYXB0ZXIgYW5kIG5vdGlmeWluZyBvYnNlcnZlcnMgd2hlbiBjaGFuZ2VzIG9jY3VyLiBJdCB1c2VzIHByb3hpZXMgdG9cbiAqIHdyYXAgdGhlIGFkYXB0ZXIncyBDUlVEIG1ldGhvZHMgYW5kIGF1dG9tYXRpY2FsbHkgdHJpZ2dlciBvYnNlcnZlciB1cGRhdGVzIGFmdGVyIG9wZXJhdGlvbnMgY29tcGxldGUuXG4gKiBAdGVtcGxhdGUgWSAtIFRoZSBuYXRpdmUgZGF0YWJhc2UgZHJpdmVyIHR5cGVcbiAqIEBwYXJhbSB7dm9pZH0gLSBObyBjb25zdHJ1Y3RvciBwYXJhbWV0ZXJzXG4gKiBAY2xhc3MgRGlzcGF0Y2hcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBDcmVhdGluZyBhbmQgdXNpbmcgYSBEaXNwYXRjaCBpbnN0YW5jZVxuICogY29uc3QgZGlzcGF0Y2ggPSBuZXcgRGlzcGF0Y2g8UG9zdGdyZXNEcml2ZXI+KCk7XG4gKlxuICogLy8gQ29ubmVjdCBpdCB0byBhbiBhZGFwdGVyXG4gKiBjb25zdCBhZGFwdGVyID0gbmV3IFBvc3RncmVzQWRhcHRlcihjb25uZWN0aW9uKTtcbiAqIGRpc3BhdGNoLm9ic2VydmUoYWRhcHRlcik7XG4gKlxuICogLy8gTm93IGFueSBDUlVEIG9wZXJhdGlvbnMgb24gdGhlIGFkYXB0ZXIgd2lsbCBhdXRvbWF0aWNhbGx5XG4gKiAvLyB0cmlnZ2VyIG9ic2VydmVyIG5vdGlmaWNhdGlvbnNcbiAqIGF3YWl0IGFkYXB0ZXIuY3JlYXRlKCd1c2VycycsIDEyMywgdXNlck1vZGVsKTtcbiAqIC8vIE9ic2VydmVycyB3aWxsIGJlIG5vdGlmaWVkIGFib3V0IHRoZSBjcmVhdGlvblxuICpcbiAqIC8vIFdoZW4gZG9uZSwgeW91IGNhbiBkaXNjb25uZWN0XG4gKiBkaXNwYXRjaC51bk9ic2VydmUoYWRhcHRlcik7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIERpc3BhdGNoIGV4dGVuZHMgTG9nZ2VkQ2xhc3MgaW1wbGVtZW50cyBBZGFwdGVyRGlzcGF0Y2gge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBhZGFwdGVyIGJlaW5nIG9ic2VydmVkXG4gICAqIEBzdW1tYXJ5IFJlZmVyZW5jZSB0byB0aGUgZGF0YWJhc2UgYWRhcHRlciB3aG9zZSBvcGVyYXRpb25zIGFyZSBiZWluZyBtb25pdG9yZWRcbiAgICovXG4gIHByb3RlY3RlZCBhZGFwdGVyPzogQWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnksIGFueT47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMaXN0IG9mIG1vZGVsIGNvbnN0cnVjdG9yc1xuICAgKiBAc3VtbWFyeSBBcnJheSBvZiBtb2RlbCBjb25zdHJ1Y3RvcnMgdGhhdCBhcmUgcmVnaXN0ZXJlZCB3aXRoIHRoZSBhZGFwdGVyXG4gICAqL1xuICBwcm90ZWN0ZWQgbW9kZWxzITogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+W107XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IERpc3BhdGNoIGluc3RhbmNlXG4gICAqIEBzdW1tYXJ5IEluaXRpYWxpemVzIGEgbmV3IERpc3BhdGNoIGluc3RhbmNlIHdpdGhvdXQgYW55IGFkYXB0ZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIHRoZSBkaXNwYXRjaCBieSBwcm94eWluZyBhZGFwdGVyIG1ldGhvZHNcbiAgICogQHN1bW1hcnkgU2V0cyB1cCBwcm94aWVzIG9uIHRoZSBhZGFwdGVyJ3MgQ1JVRCBtZXRob2RzIHRvIGludGVyY2VwdCBvcGVyYXRpb25zIGFuZCBub3RpZnkgb2JzZXJ2ZXJzLlxuICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYXV0b21hdGljYWxseSB3aGVuIGFuIGFkYXB0ZXIgaXMgb2JzZXJ2ZWQuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGVcbiAgICogQG1lcm1haWRcbiAgICogc2VxdWVuY2VEaWFncmFtXG4gICAqICAgcGFydGljaXBhbnQgRGlzcGF0Y2hcbiAgICogICBwYXJ0aWNpcGFudCBBZGFwdGVyXG4gICAqICAgcGFydGljaXBhbnQgUHJveHlcbiAgICpcbiAgICogICBEaXNwYXRjaC0+PkRpc3BhdGNoOiBpbml0aWFsaXplKClcbiAgICogICBEaXNwYXRjaC0+PkRpc3BhdGNoOiBDaGVjayBpZiBhZGFwdGVyIGV4aXN0c1xuICAgKiAgIGFsdCBObyBhZGFwdGVyXG4gICAqICAgICBEaXNwYXRjaC0tPj5EaXNwYXRjaDogVGhyb3cgSW50ZXJuYWxFcnJvclxuICAgKiAgIGVuZFxuICAgKlxuICAgKiAgIGxvb3AgRm9yIGVhY2ggQ1JVRCBtZXRob2RcbiAgICogICAgIERpc3BhdGNoLT4+QWRhcHRlcjogQ2hlY2sgaWYgbWV0aG9kIGV4aXN0c1xuICAgKiAgICAgYWx0IE1ldGhvZCBkb2Vzbid0IGV4aXN0XG4gICAqICAgICAgIERpc3BhdGNoLS0+PkRpc3BhdGNoOiBUaHJvdyBJbnRlcm5hbEVycm9yXG4gICAqICAgICBlbmRcbiAgICpcbiAgICogICAgIERpc3BhdGNoLT4+QWRhcHRlcjogR2V0IHByb3BlcnR5IGRlc2NyaXB0b3JcbiAgICogICAgIGxvb3AgV2hpbGUgZGVzY3JpcHRvciBub3QgZm91bmRcbiAgICogICAgICAgRGlzcGF0Y2gtPj5BZGFwdGVyOiBDaGVjayBwcm90b3R5cGUgY2hhaW5cbiAgICogICAgIGVuZFxuICAgKlxuICAgKiAgICAgYWx0IERlc2NyaXB0b3Igbm90IGZvdW5kIG9yIG5vdCB3cml0YWJsZVxuICAgKiAgICAgICBEaXNwYXRjaC0+PkRpc3BhdGNoOiBMb2cgZXJyb3IgYW5kIGNvbnRpbnVlXG4gICAqICAgICBlbHNlIERlc2NyaXB0b3IgZm91bmQgYW5kIHdyaXRhYmxlXG4gICAqICAgICAgIERpc3BhdGNoLT4+UHJveHk6IENyZWF0ZSBwcm94eSBmb3IgbWV0aG9kXG4gICAqICAgICAgIERpc3BhdGNoLT4+QWRhcHRlcjogUmVwbGFjZSBtZXRob2Qgd2l0aCBwcm94eVxuICAgKiAgICAgZW5kXG4gICAqICAgZW5kXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuYWRhcHRlcikge1xuICAgICAgLy8gR3JhY2VmdWxseSBza2lwIGluaXRpYWxpemF0aW9uIHdoZW4gbm8gYWRhcHRlciBpcyBvYnNlcnZlZCB5ZXQuXG4gICAgICAvLyBTb21lIHRlc3RzIG9yIHNldHVwcyBtYXkgY29uc3RydWN0IGEgRGlzcGF0Y2ggYmVmb3JlIGNhbGxpbmcgb2JzZXJ2ZSgpLlxuICAgICAgLy8gSW5zdGVhZCBvZiB0aHJvd2luZywgd2Ugbm8tb3Agc28gdGhhdCBsYXRlciBvYnNlcnZlKCkgY2FuIHByb2NlZWQuXG4gICAgICB0aGlzLmxvZy52ZXJib3NlKFxuICAgICAgICBgTm8gYWRhcHRlciBvYnNlcnZlZCBmb3IgZGlzcGF0Y2g7IHNraXBwaW5nIGluaXRpYWxpemF0aW9uYFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgYWRhcHRlciA9IHRoaXMuYWRhcHRlciBhcyBBZGFwdGVyPGFueSwgYW55LCBhbnksIGFueT47XG4gICAgKFxuICAgICAgW1xuICAgICAgICBPcGVyYXRpb25LZXlzLkNSRUFURSxcbiAgICAgICAgT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gICAgICAgIE9wZXJhdGlvbktleXMuREVMRVRFLFxuICAgICAgICBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuQ1JFQVRFX0FMTCxcbiAgICAgICAgQnVsa0NydWRPcGVyYXRpb25LZXlzLlVQREFURV9BTEwsXG4gICAgICAgIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5ERUxFVEVfQUxMLFxuICAgICAgXSBhcyAoa2V5b2YgQWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnk+KVtdXG4gICAgKS5mb3JFYWNoKChtZXRob2QpID0+IHtcbiAgICAgIGlmICghYWRhcHRlclttZXRob2RdKVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICBgTWV0aG9kICR7bWV0aG9kfSBub3QgZm91bmQgaW4gJHthZGFwdGVyLmFsaWFzfSBhZGFwdGVyIHRvIGJpbmQgT2JzZXJ2YWJsZXMgRGlzcGF0Y2hgXG4gICAgICAgICk7XG5cbiAgICAgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhZGFwdGVyLCBtZXRob2QpO1xuICAgICAgbGV0IHByb3RvOiBhbnkgPSBhZGFwdGVyO1xuICAgICAgd2hpbGUgKCFkZXNjcmlwdG9yICYmIHByb3RvICE9PSBPYmplY3QucHJvdG90eXBlKSB7XG4gICAgICAgIHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHByb3RvKTtcbiAgICAgICAgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocHJvdG8sIG1ldGhvZCk7XG4gICAgICB9XG5cbiAgICAgIGlmICghZGVzY3JpcHRvciB8fCAhZGVzY3JpcHRvci53cml0YWJsZSkge1xuICAgICAgICB0aGlzLmxvZy5lcnJvcihcbiAgICAgICAgICBgQ291bGQgbm90IGZpbmQgbWV0aG9kICR7bWV0aG9kfSB0byBiaW5kIE9ic2VydmFibGVzIERpc3BhdGNoYFxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBidWxrVG9TaW5nbGUobWV0aG9kOiBzdHJpbmcpIHtcbiAgICAgICAgc3dpdGNoIChtZXRob2QpIHtcbiAgICAgICAgICBjYXNlIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5DUkVBVEVfQUxMOlxuICAgICAgICAgICAgcmV0dXJuIE9wZXJhdGlvbktleXMuQ1JFQVRFO1xuICAgICAgICAgIGNhc2UgQnVsa0NydWRPcGVyYXRpb25LZXlzLlVQREFURV9BTEw6XG4gICAgICAgICAgICByZXR1cm4gT3BlcmF0aW9uS2V5cy5VUERBVEU7XG4gICAgICAgICAgY2FzZSBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuREVMRVRFX0FMTDpcbiAgICAgICAgICAgIHJldHVybiBPcGVyYXRpb25LZXlzLkRFTEVURTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIG1ldGhvZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBiZWNhdXNlIHRoZXJlIGFyZSByZWFkIG9ubHkgcHJvcGVydGllc1xuICAgICAgYWRhcHRlclttZXRob2RdID0gbmV3IFByb3h5KGFkYXB0ZXJbbWV0aG9kXSwge1xuICAgICAgICBhcHBseTogYXN5bmMgKHRhcmdldDogYW55LCB0aGlzQXJnLCBhcmdBcnJheTogYW55W10pID0+IHtcbiAgICAgICAgICBjb25zdCBbdGFibGVOYW1lLCBpZHNdID0gYXJnQXJyYXk7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGFyZ2V0LmFwcGx5KHRoaXNBcmcsIGFyZ0FycmF5KTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZU9ic2VydmVycyh0YWJsZU5hbWUsIGJ1bGtUb1NpbmdsZShtZXRob2QpLCBpZHMgYXMgRXZlbnRJZHMpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubG9nLnZlcmJvc2UoXG4gICAgICAgICAgICAgICAgYE9ic2VydmVyIHJlZnJlc2ggZGlzcGF0Y2hlZCBieSAke21ldGhvZH0gZm9yICR7dGFibGVOYW1lfWBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgdGhpcy5sb2cuZGVidWcoYHBrczogJHtpZHN9YCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlOiB1bmtub3duKSA9PlxuICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcihcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIGRpc3BhdGNoIG9ic2VydmVyIHJlZnJlc2ggZm9yICR7bWV0aG9kfSBvbiAke3RhYmxlTmFtZX06ICR7ZX1gXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDbG9zZXMgdGhlIGRpc3BhdGNoXG4gICAqIEBzdW1tYXJ5IFBlcmZvcm1zIGFueSBuZWNlc3NhcnkgY2xlYW51cCB3aGVuIHRoZSBkaXNwYXRjaCBpcyBubyBsb25nZXIgbmVlZGVkXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gY2xvc2luZyBpcyBjb21wbGV0ZVxuICAgKi9cbiAgYXN5bmMgY2xvc2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gdG8gbm90aGluZyBpbiB0aGlzIGluc3RhbmNlIGJ1dCBtYXkgYmUgcmVxdWlyZWQgZm9yIGNsb3NpbmcgY29ubmVjdGlvbnNcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU3RhcnRzIG9ic2VydmluZyBhbiBhZGFwdGVyXG4gICAqIEBzdW1tYXJ5IENvbm5lY3RzIHRoaXMgZGlzcGF0Y2ggdG8gYW4gYWRhcHRlciB0byBtb25pdG9yIGl0cyBvcGVyYXRpb25zXG4gICAqIEBwYXJhbSB7QWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnk+fSBvYnNlcnZlciAtIFRoZSBhZGFwdGVyIHRvIG9ic2VydmVcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIG9ic2VydmUob2JzZXJ2ZXI6IEFkYXB0ZXI8YW55LCBhbnksIGFueSwgYW55Pik6IHZvaWQge1xuICAgIGlmICghKG9ic2VydmVyIGluc3RhbmNlb2YgQWRhcHRlcikpXG4gICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRFcnJvcihcIk9ubHkgQWRhcHRlcnMgY2FuIGJlIG9ic2VydmVkIGJ5IGRpc3BhdGNoXCIpO1xuICAgIHRoaXMuYWRhcHRlciA9IG9ic2VydmVyO1xuICAgIHRoaXMubW9kZWxzID0gQWRhcHRlci5tb2RlbHModGhpcy5hZGFwdGVyLmFsaWFzKTtcbiAgICB0aGlzLmluaXRpYWxpemUoKS50aGVuKCgpID0+XG4gICAgICB0aGlzLmxvZy52ZXJib3NlKFxuICAgICAgICBgRGlzcGF0Y2ggaW5pdGlhbGl6ZWQgZm9yICR7dGhpcy5hZGFwdGVyIS5hbGlhc30gYWRhcHRlcmBcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTdG9wcyBvYnNlcnZpbmcgYW4gYWRhcHRlclxuICAgKiBAc3VtbWFyeSBEaXNjb25uZWN0cyB0aGlzIGRpc3BhdGNoIGZyb20gYW4gYWRhcHRlclxuICAgKiBAcGFyYW0ge09ic2VydmVyfSBvYnNlcnZlciAtIFRoZSBhZGFwdGVyIHRvIHN0b3Agb2JzZXJ2aW5nXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqL1xuICB1bk9ic2VydmUob2JzZXJ2ZXI6IE9ic2VydmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWRhcHRlciAhPT0gb2JzZXJ2ZXIpXG4gICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRFcnJvcihcbiAgICAgICAgXCJPbmx5IHRoZSBhZGFwdGVyIHRoYXQgd2FzIHVzZWQgdG8gb2JzZXJ2ZSBjYW4gYmUgdW5vYnNlcnZlZFwiXG4gICAgICApO1xuICAgIHRoaXMuYWRhcHRlciA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVXBkYXRlcyBvYnNlcnZlcnMgYWJvdXQgYSBkYXRhYmFzZSBldmVudFxuICAgKiBAc3VtbWFyeSBOb3RpZmllcyBvYnNlcnZlcnMgYWJvdXQgYSBjaGFuZ2UgaW4gdGhlIGRhdGFiYXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZSAtIFRoZSBuYW1lIG9mIHRoZSB0YWJsZSB3aGVyZSB0aGUgY2hhbmdlIG9jY3VycmVkXG4gICAqIEBwYXJhbSB7T3BlcmF0aW9uS2V5c3xCdWxrQ3J1ZE9wZXJhdGlvbktleXN8c3RyaW5nfSBldmVudCAtIFRoZSB0eXBlIG9mIG9wZXJhdGlvbiB0aGF0IG9jY3VycmVkXG4gICAqIEBwYXJhbSB7RXZlbnRJZHN9IGlkIC0gVGhlIGlkZW50aWZpZXIocykgb2YgdGhlIGFmZmVjdGVkIHJlY29yZChzKVxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGFsbCBvYnNlcnZlcnMgaGF2ZSBiZWVuIG5vdGlmaWVkXG4gICAqL1xuICBhc3luYyB1cGRhdGVPYnNlcnZlcnMoXG4gICAgdGFibGU6IHN0cmluZyxcbiAgICBldmVudDogT3BlcmF0aW9uS2V5cyB8IEJ1bGtDcnVkT3BlcmF0aW9uS2V5cyB8IHN0cmluZyxcbiAgICBpZDogRXZlbnRJZHNcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmFkYXB0ZXIpIHtcbiAgICAgIHRoaXMubG9nLnZlcmJvc2UoXG4gICAgICAgIGBObyBhZGFwdGVyIG9ic2VydmVkIGZvciBkaXNwYXRjaDsgc2tpcHBpbmcgb2JzZXJ2ZXIgdXBkYXRlIGZvciAke3RhYmxlfToke2V2ZW50fWBcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmFkYXB0ZXIucmVmcmVzaCh0YWJsZSwgZXZlbnQsIGlkKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIHJlZnJlc2ggZGlzcGF0Y2g6ICR7ZX1gKTtcbiAgICB9XG4gIH1cbn1cblxuaWYgKEFkYXB0ZXIpIEFkYXB0ZXJbXCJfYmFzZURpc3BhdGNoXCJdID0gRGlzcGF0Y2g7XG4iXX0=
191
+ //# sourceMappingURL=Dispatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dispatch.js","sourceRoot":"","sources":["../../src/persistence/Dispatch.ts"],"names":[],"mappings":"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"}
@@ -140,4 +140,4 @@ class ObserverHandler {
140
140
  }
141
141
  }
142
142
  exports.ObserverHandler = ObserverHandler;
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2JzZXJ2ZXJIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BlcnNpc3RlbmNlL09ic2VydmVySGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSwyREFJaUM7QUFHakM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Qkc7QUFDSCxNQUFhLGVBQWU7SUFBNUI7UUFDRTs7O1dBR0c7UUFDZ0IsY0FBUyxHQUd0QixFQUFFLENBQUM7SUFnSFgsQ0FBQztJQTlHQzs7OztPQUlHO0lBQ0gsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE9BQU8sQ0FBQyxRQUFrQixFQUFFLE1BQXVCO1FBQ2pELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RFLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQztZQUFFLE1BQU0sSUFBSSw2QkFBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxRQUFrQjtRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUM7WUFBRSxNQUFNLElBQUksNkJBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0EyQ0c7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUNuQixHQUFXLEVBQ1gsS0FBYSxFQUNiLEtBQXFELEVBQ3JELEVBQVksRUFDWixHQUFHLElBQVc7UUFFZCxNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQ3RDLElBQUksQ0FBQyxTQUFTO2FBQ1gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDWixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQztnQkFDSCxPQUFPLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLENBQUM7WUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO2dCQUNwQixHQUFHLENBQUMsS0FBSyxDQUNQLDZCQUE2QixDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUMzRCxDQUFDO2dCQUNGLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUMsQ0FBQzthQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1QsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBQ0YsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM1QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssVUFBVTtnQkFDOUIsR0FBRyxDQUFDLEtBQUssQ0FDUCwrQkFBK0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQ2hGLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXhIRCwwQ0F3SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gXCIuLi9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBFdmVudElkcywgT2JzZXJ2ZXJGaWx0ZXIgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHtcbiAgQnVsa0NydWRPcGVyYXRpb25LZXlzLFxuICBJbnRlcm5hbEVycm9yLFxuICBPcGVyYXRpb25LZXlzLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBNYW5hZ2VzIGEgY29sbGVjdGlvbiBvZiBvYnNlcnZlcnMgZm9yIGRhdGFiYXNlIGV2ZW50c1xuICogQHN1bW1hcnkgVGhlIE9ic2VydmVySGFuZGxlciBjbGFzcyBpbXBsZW1lbnRzIHRoZSBPYnNlcnZhYmxlIGludGVyZmFjZSBhbmQgcHJvdmlkZXMgYSBjZW50cmFsaXplZFxuICogd2F5IHRvIG1hbmFnZSBtdWx0aXBsZSBvYnNlcnZlcnMuIEl0IGFsbG93cyByZWdpc3RlcmluZyBvYnNlcnZlcnMgd2l0aCBvcHRpb25hbCBmaWx0ZXJzIHRvIGNvbnRyb2xcbiAqIHdoaWNoIGV2ZW50cyB0aGV5IHJlY2VpdmUgbm90aWZpY2F0aW9ucyBmb3IsIGFuZCBoYW5kbGVzIHRoZSBwcm9jZXNzIG9mIG5vdGlmeWluZyBhbGwgcmVsZXZhbnRcbiAqIG9ic2VydmVycyB3aGVuIGRhdGFiYXNlIGV2ZW50cyBvY2N1ci5cbiAqIEBjbGFzcyBPYnNlcnZlckhhbmRsZXJcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBDcmVhdGUgYW4gb2JzZXJ2ZXIgaGFuZGxlclxuICogY29uc3QgaGFuZGxlciA9IG5ldyBPYnNlcnZlckhhbmRsZXIoKTtcbiAqXG4gKiAvLyBSZWdpc3RlciBhbiBvYnNlcnZlclxuICogY29uc3QgbXlPYnNlcnZlciA9IHtcbiAqICAgcmVmcmVzaDogYXN5bmMgKHRhYmxlLCBldmVudCwgaWQpID0+IHtcbiAqICAgICBjb25zb2xlLmxvZyhgQ2hhbmdlIGluICR7dGFibGV9OiAke2V2ZW50fSBmb3IgSUQgJHtpZH1gKTtcbiAqICAgfVxuICogfTtcbiAqXG4gKiAvLyBBZGQgb2JzZXJ2ZXIgd2l0aCBhIGZpbHRlciBmb3Igb25seSB1c2VyIHRhYmxlIGV2ZW50c1xuICogaGFuZGxlci5vYnNlcnZlKG15T2JzZXJ2ZXIsICh0YWJsZSwgZXZlbnQsIGlkKSA9PiB0YWJsZSA9PT0gJ3VzZXJzJyk7XG4gKlxuICogLy8gTm90aWZ5IG9ic2VydmVycyBhYm91dCBhbiBldmVudFxuICogYXdhaXQgaGFuZGxlci51cGRhdGVPYnNlcnZlcnMobG9nZ2VyLCAndXNlcnMnLCAnQ1JFQVRFJywgMTIzKTtcbiAqXG4gKiAvLyBSZW1vdmUgYW4gb2JzZXJ2ZXIgd2hlbiBubyBsb25nZXIgbmVlZGVkXG4gKiBoYW5kbGVyLnVuT2JzZXJ2ZShteU9ic2VydmVyKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgT2JzZXJ2ZXJIYW5kbGVyIGltcGxlbWVudHMgT2JzZXJ2YWJsZSB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ29sbGVjdGlvbiBvZiByZWdpc3RlcmVkIG9ic2VydmVyc1xuICAgKiBAc3VtbWFyeSBBcnJheSBvZiBvYnNlcnZlciBvYmplY3RzIGFsb25nIHdpdGggdGhlaXIgb3B0aW9uYWwgZmlsdGVyc1xuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9ic2VydmVyczoge1xuICAgIG9ic2VydmVyOiBPYnNlcnZlcjtcbiAgICBmaWx0ZXI/OiBPYnNlcnZlckZpbHRlcjtcbiAgfVtdID0gW107XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIHRoZSBudW1iZXIgb2YgcmVnaXN0ZXJlZCBvYnNlcnZlcnNcbiAgICogQHN1bW1hcnkgUmV0dXJucyB0aGUgY291bnQgb2Ygb2JzZXJ2ZXJzIGN1cnJlbnRseSByZWdpc3RlcmVkIHdpdGggdGhpcyBoYW5kbGVyXG4gICAqIEByZXR1cm4ge251bWJlcn0gVGhlIG51bWJlciBvZiByZWdpc3RlcmVkIG9ic2VydmVyc1xuICAgKi9cbiAgY291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMub2JzZXJ2ZXJzLmxlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVnaXN0ZXJzIGEgbmV3IG9ic2VydmVyXG4gICAqIEBzdW1tYXJ5IEFkZHMgYW4gb2JzZXJ2ZXIgdG8gdGhlIGNvbGxlY3Rpb24gd2l0aCBhbiBvcHRpb25hbCBmaWx0ZXIgZnVuY3Rpb25cbiAgICogQHBhcmFtIHtPYnNlcnZlcn0gb2JzZXJ2ZXIgLSBUaGUgb2JzZXJ2ZXIgdG8gcmVnaXN0ZXJcbiAgICogQHBhcmFtIHtPYnNlcnZlckZpbHRlcn0gW2ZpbHRlcl0gLSBPcHRpb25hbCBmaWx0ZXIgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHdoaWNoIGV2ZW50cyB0aGUgb2JzZXJ2ZXIgcmVjZWl2ZXNcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIG9ic2VydmUob2JzZXJ2ZXI6IE9ic2VydmVyLCBmaWx0ZXI/OiBPYnNlcnZlckZpbHRlcik6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vYnNlcnZlcnMubWFwKChvKSA9PiBvLm9ic2VydmVyKS5pbmRleE9mKG9ic2VydmVyKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIk9ic2VydmVyIGFscmVhZHkgcmVnaXN0ZXJlZFwiKTtcbiAgICB0aGlzLm9ic2VydmVycy5wdXNoKHsgb2JzZXJ2ZXI6IG9ic2VydmVyLCBmaWx0ZXI6IGZpbHRlciB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVW5yZWdpc3RlcnMgYW4gb2JzZXJ2ZXJcbiAgICogQHN1bW1hcnkgUmVtb3ZlcyBhbiBvYnNlcnZlciBmcm9tIHRoZSBjb2xsZWN0aW9uXG4gICAqIEBwYXJhbSB7T2JzZXJ2ZXJ9IG9ic2VydmVyIC0gVGhlIG9ic2VydmVyIHRvIHVucmVnaXN0ZXJcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHVuT2JzZXJ2ZShvYnNlcnZlcjogT2JzZXJ2ZXIpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMub2JzZXJ2ZXJzLm1hcCgobykgPT4gby5vYnNlcnZlcikuaW5kZXhPZihvYnNlcnZlcik7XG4gICAgaWYgKGluZGV4ID09PSAtMSkgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJGYWlsZWQgdG8gZmluZCBPYnNlcnZlclwiKTtcbiAgICB0aGlzLm9ic2VydmVycy5zcGxpY2UoaW5kZXgsIDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBOb3RpZmllcyBhbGwgcmVsZXZhbnQgb2JzZXJ2ZXJzIGFib3V0IGEgZGF0YWJhc2UgZXZlbnRcbiAgICogQHN1bW1hcnkgRmlsdGVycyBvYnNlcnZlcnMgYmFzZWQgb24gdGhlaXIgZmlsdGVyIGZ1bmN0aW9ucyBhbmQgY2FsbHMgcmVmcmVzaCBvbiBlYWNoIG1hdGNoaW5nIG9ic2VydmVyXG4gICAqIEBwYXJhbSB7TG9nZ2VyfSBsb2cgLSBMb2dnZXIgZm9yIHJlY29yZGluZyBub3RpZmljYXRpb24gYWN0aXZpdGllc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGUgLSBUaGUgbmFtZSBvZiB0aGUgdGFibGUgd2hlcmUgdGhlIGV2ZW50IG9jY3VycmVkXG4gICAqIEBwYXJhbSB7T3BlcmF0aW9uS2V5c3xCdWxrQ3J1ZE9wZXJhdGlvbktleXN8c3RyaW5nfSBldmVudCAtIFRoZSB0eXBlIG9mIG9wZXJhdGlvbiB0aGF0IG9jY3VycmVkXG4gICAqIEBwYXJhbSB7RXZlbnRJZHN9IGlkIC0gVGhlIGlkZW50aWZpZXIocykgb2YgdGhlIGFmZmVjdGVkIHJlY29yZChzKVxuICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgb2JzZXJ2ZXJzXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gYWxsIG9ic2VydmVycyBoYXZlIGJlZW4gbm90aWZpZWRcbiAgICogQG1lcm1haWRcbiAgICogc2VxdWVuY2VEaWFncmFtXG4gICAqICAgcGFydGljaXBhbnQgQ2xpZW50XG4gICAqICAgcGFydGljaXBhbnQgT2JzZXJ2ZXJIYW5kbGVyXG4gICAqICAgcGFydGljaXBhbnQgT2JzZXJ2ZXJcbiAgICpcbiAgICogICBDbGllbnQtPj5PYnNlcnZlckhhbmRsZXI6IHVwZGF0ZU9ic2VydmVycyhsb2csIHRhYmxlLCBldmVudCwgaWQsIC4uLmFyZ3MpXG4gICAqXG4gICAqICAgT2JzZXJ2ZXJIYW5kbGVyLT4+T2JzZXJ2ZXJIYW5kbGVyOiBGaWx0ZXIgb2JzZXJ2ZXJzXG4gICAqXG4gICAqICAgbG9vcCBGb3IgZWFjaCBvYnNlcnZlciB3aXRoIG1hdGNoaW5nIGZpbHRlclxuICAgKiAgICAgYWx0IE9ic2VydmVyIGhhcyBmaWx0ZXJcbiAgICogICAgICAgT2JzZXJ2ZXJIYW5kbGVyLT4+T2JzZXJ2ZXI6IEFwcGx5IGZpbHRlcih0YWJsZSwgZXZlbnQsIGlkKVxuICAgKiAgICAgICBhbHQgRmlsdGVyIHRocm93cyBlcnJvclxuICAgKiAgICAgICAgIE9ic2VydmVySGFuZGxlci0+PkxvZ2dlcjogTG9nIGVycm9yXG4gICAqICAgICAgICAgT2JzZXJ2ZXJIYW5kbGVyLS0+Pk9ic2VydmVySGFuZGxlcjogU2tpcCBvYnNlcnZlclxuICAgKiAgICAgICBlbHNlIEZpbHRlciByZXR1cm5zIHRydWVcbiAgICogICAgICAgICBPYnNlcnZlckhhbmRsZXItPj5PYnNlcnZlcjogcmVmcmVzaCh0YWJsZSwgZXZlbnQsIGlkLCAuLi5hcmdzKVxuICAgKiAgICAgICBlbHNlIEZpbHRlciByZXR1cm5zIGZhbHNlXG4gICAqICAgICAgICAgT2JzZXJ2ZXJIYW5kbGVyLS0+Pk9ic2VydmVySGFuZGxlcjogU2tpcCBvYnNlcnZlclxuICAgKiAgICAgICBlbmRcbiAgICogICAgIGVsc2UgTm8gZmlsdGVyXG4gICAqICAgICAgIE9ic2VydmVySGFuZGxlci0+Pk9ic2VydmVyOiByZWZyZXNoKHRhYmxlLCBldmVudCwgaWQsIC4uLmFyZ3MpXG4gICAqICAgICBlbmRcbiAgICogICBlbmRcbiAgICpcbiAgICogICBPYnNlcnZlckhhbmRsZXItPj5PYnNlcnZlckhhbmRsZXI6IFByb2Nlc3MgcmVzdWx0c1xuICAgKiAgIGxvb3AgRm9yIGVhY2ggcmVzdWx0XG4gICAqICAgICBhbHQgUmVzdWx0IGlzIHJlamVjdGVkXG4gICAqICAgICAgIE9ic2VydmVySGFuZGxlci0+PkxvZ2dlcjogTG9nIGVycm9yXG4gICAqICAgICBlbmRcbiAgICogICBlbmRcbiAgICpcbiAgICogICBPYnNlcnZlckhhbmRsZXItLT4+Q2xpZW50OiBSZXR1cm5cbiAgICovXG4gIGFzeW5jIHVwZGF0ZU9ic2VydmVycyhcbiAgICBsb2c6IExvZ2dlcixcbiAgICB0YWJsZTogc3RyaW5nLFxuICAgIGV2ZW50OiBPcGVyYXRpb25LZXlzIHwgQnVsa0NydWRPcGVyYXRpb25LZXlzIHwgc3RyaW5nLFxuICAgIGlkOiBFdmVudElkcyxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFxuICAgICAgdGhpcy5vYnNlcnZlcnNcbiAgICAgICAgLmZpbHRlcigobykgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgZmlsdGVyIH0gPSBvO1xuICAgICAgICAgIGlmICghZmlsdGVyKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGZpbHRlcih0YWJsZSwgZXZlbnQsIGlkKTtcbiAgICAgICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoXG4gICAgICAgICAgICAgIGBGYWlsZWQgdG8gZmlsdGVyIG9ic2VydmVyICR7by5vYnNlcnZlci50b1N0cmluZygpfTogJHtlfWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAubWFwKChvKSA9PiB7XG4gICAgICAgICAgby5vYnNlcnZlci5yZWZyZXNoKHRhYmxlLCBldmVudCwgaWQsIC4uLmFyZ3MpO1xuICAgICAgICB9KVxuICAgICk7XG4gICAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQsIGkpID0+IHtcbiAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSBcInJlamVjdGVkXCIpXG4gICAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgICBgRmFpbGVkIHRvIHVwZGF0ZSBvYnNlcnZhYmxlICR7dGhpcy5vYnNlcnZlcnNbaV0udG9TdHJpbmcoKX06ICR7cmVzdWx0LnJlYXNvbn1gXG4gICAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
143
+ //# sourceMappingURL=ObserverHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObserverHandler.js","sourceRoot":"","sources":["../../src/persistence/ObserverHandler.ts"],"names":[],"mappings":";;;AAEA,2DAIiC;AAGjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAa,eAAe;IAA5B;QACE;;;WAGG;QACgB,cAAS,GAGtB,EAAE,CAAC;IAgHX,CAAC;IA9GC;;;;OAIG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,QAAkB,EAAE,MAAuB;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,6BAAa,CAAC,6BAA6B,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,QAAkB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,6BAAa,CAAC,yBAAyB,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,KAAK,CAAC,eAAe,CACnB,GAAW,EACX,KAAa,EACb,KAAqD,EACrD,EAAY,EACZ,GAAG,IAAW;QAEd,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,IAAI,CAAC,SAAS;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,IAAI,CAAC;gBACH,OAAO,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,GAAG,CAAC,KAAK,CACP,6BAA6B,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAC3D,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QAChD,CAAC,CAAC,CACL,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5B,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;gBAC9B,GAAG,CAAC,KAAK,CACP,+BAA+B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,CAChF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAxHD,0CAwHC"}
@@ -104,4 +104,4 @@ class Sequence {
104
104
  }
105
105
  }
106
106
  exports.Sequence = Sequence;
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VxdWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGVyc2lzdGVuY2UvU2VxdWVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQXlEO0FBRXpELCtDQUFvRDtBQUNwRCx5Q0FBNEM7QUFFNUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZDRztBQUNILE1BQXNCLFFBQVE7SUFPNUI7Ozs7T0FJRztJQUNILElBQWMsR0FBRztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsaUJBQU8sQ0FBQyxHQUFHLENBQUMsSUFBVyxDQUFDLENBQUM7UUFDekQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUF5QyxPQUF3QjtRQUF4QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtJQUFHLENBQUM7SUF3QnJFOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxFQUFFLENBQWtCLEtBQXlCO1FBQ2xELE9BQU8sSUFBQSw0QkFBb0IsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQ2YsSUFBOEMsRUFDOUMsS0FBK0I7UUFFL0IsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssUUFBUTtnQkFDWCxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVE7b0JBQzlCLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO29CQUNqQixDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUTt3QkFDekIsQ0FBQyxDQUFDLEtBQUs7d0JBQ1AsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxLQUFLLENBQUM7WUFDZjtnQkFDRSxNQUFNLElBQUkseUJBQWdCLENBQ3hCLDhCQUE4QixJQUFJLGdCQUFnQixJQUFJLEVBQUUsQ0FDekQsQ0FBQztRQUNOLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFyRkQsNEJBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0b3IsIE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgc2VxdWVuY2VOYW1lRm9yTW9kZWwgfSBmcm9tIFwiLi4vaWRlbnRpdHkvdXRpbHNcIjtcbmltcG9ydCB7IFNlcXVlbmNlT3B0aW9ucyB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL1NlcXVlbmNlT3B0aW9uc1wiO1xuaW1wb3J0IHsgTG9nZ2VyLCBMb2dnaW5nIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZEVycm9yIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEFic3RyYWN0IGJhc2UgY2xhc3MgZm9yIHNlcXVlbmNlIGdlbmVyYXRpb25cbiAqIEBzdW1tYXJ5IFByb3ZpZGVzIGEgZnJhbWV3b3JrIGZvciBnZW5lcmF0aW5nIHNlcXVlbnRpYWwgdmFsdWVzIChsaWtlIHByaW1hcnkga2V5cykgaW4gdGhlIHBlcnNpc3RlbmNlIGxheWVyLlxuICogSW1wbGVtZW50YXRpb25zIG9mIHRoaXMgY2xhc3MgaGFuZGxlIHRoZSBzcGVjaWZpY3Mgb2YgaG93IHNlcXVlbmNlcyBhcmUgc3RvcmVkIGFuZCBpbmNyZW1lbnRlZCBpbiBkaWZmZXJlbnRcbiAqIGRhdGFiYXNlIHN5c3RlbXMuXG4gKiBAcGFyYW0ge1NlcXVlbmNlT3B0aW9uc30gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHNlcXVlbmNlIGdlbmVyYXRvclxuICogQGNsYXNzIFNlcXVlbmNlXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gRXhhbXBsZSBpbXBsZW1lbnRhdGlvbiBmb3IgYSBzcGVjaWZpYyBkYXRhYmFzZVxuICogY2xhc3MgUG9zdGdyZXNTZXF1ZW5jZSBleHRlbmRzIFNlcXVlbmNlIHtcbiAqICAgY29uc3RydWN0b3Iob3B0aW9uczogU2VxdWVuY2VPcHRpb25zKSB7XG4gKiAgICAgc3VwZXIob3B0aW9ucyk7XG4gKiAgIH1cbiAqXG4gKiAgIGFzeW5jIG5leHQoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAqICAgICAvLyBJbXBsZW1lbnRhdGlvbiB0byBnZXQgbmV4dCB2YWx1ZSBmcm9tIFBvc3RncmVTUUwgc2VxdWVuY2VcbiAqICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLm9wdGlvbnMuZXhlY3V0b3IucmF3KGBTRUxFQ1QgbmV4dHZhbCgnJHt0aGlzLm9wdGlvbnMubmFtZX0nKWApO1xuICogICAgIHJldHVybiBwYXJzZUludChyZXN1bHQucm93c1swXS5uZXh0dmFsKTtcbiAqICAgfVxuICpcbiAqICAgYXN5bmMgY3VycmVudCgpOiBQcm9taXNlPG51bWJlcj4ge1xuICogICAgIC8vIEltcGxlbWVudGF0aW9uIHRvIGdldCBjdXJyZW50IHZhbHVlIGZyb20gUG9zdGdyZVNRTCBzZXF1ZW5jZVxuICogICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMub3B0aW9ucy5leGVjdXRvci5yYXcoYFNFTEVDVCBjdXJydmFsKCcke3RoaXMub3B0aW9ucy5uYW1lfScpYCk7XG4gKiAgICAgcmV0dXJuIHBhcnNlSW50KHJlc3VsdC5yb3dzWzBdLmN1cnJ2YWwpO1xuICogICB9XG4gKlxuICogICBhc3luYyByYW5nZShjb3VudDogbnVtYmVyKTogUHJvbWlzZTxudW1iZXJbXT4ge1xuICogICAgIC8vIEltcGxlbWVudGF0aW9uIHRvIGdldCBhIHJhbmdlIG9mIHZhbHVlc1xuICogICAgIGNvbnN0IHZhbHVlczogbnVtYmVyW10gPSBbXTtcbiAqICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcbiAqICAgICAgIHZhbHVlcy5wdXNoKGF3YWl0IHRoaXMubmV4dCgpKTtcbiAqICAgICB9XG4gKiAgICAgcmV0dXJuIHZhbHVlcztcbiAqICAgfVxuICogfVxuICpcbiAqIC8vIFVzYWdlXG4gKiBjb25zdCBzZXF1ZW5jZSA9IG5ldyBQb3N0Z3Jlc1NlcXVlbmNlKHtcbiAqICAgbmFtZTogJ3VzZXJfaWRfc2VxJyxcbiAqICAgZXhlY3V0b3I6IGRiRXhlY3V0b3JcbiAqIH0pO1xuICpcbiAqIGNvbnN0IG5leHRJZCA9IGF3YWl0IHNlcXVlbmNlLm5leHQoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2VxdWVuY2Uge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIExvZ2dlciBpbnN0YW5jZSBmb3IgdGhpcyBzZXF1ZW5jZVxuICAgKiBAc3VtbWFyeSBMYXppbHkgaW5pdGlhbGl6ZWQgbG9nZ2VyIGZvciB0aGUgc2VxdWVuY2UgaW5zdGFuY2VcbiAgICovXG4gIHByaXZhdGUgbG9nZ2VyITogTG9nZ2VyO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQWNjZXNzb3IgZm9yIHRoZSBsb2dnZXIgaW5zdGFuY2VcbiAgICogQHN1bW1hcnkgR2V0cyBvciBpbml0aWFsaXplcyB0aGUgbG9nZ2VyIGZvciB0aGlzIHNlcXVlbmNlXG4gICAqIEByZXR1cm4ge0xvZ2dlcn0gVGhlIGxvZ2dlciBpbnN0YW5jZVxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCBsb2coKTogTG9nZ2VyIHtcbiAgICBpZiAoIXRoaXMubG9nZ2VyKSB0aGlzLmxvZ2dlciA9IExvZ2dpbmcuZm9yKHRoaXMgYXMgYW55KTtcbiAgICByZXR1cm4gdGhpcy5sb2dnZXI7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBuZXcgc2VxdWVuY2UgaW5zdGFuY2VcbiAgICogQHN1bW1hcnkgUHJvdGVjdGVkIGNvbnN0cnVjdG9yIHRoYXQgaW5pdGlhbGl6ZXMgdGhlIHNlcXVlbmNlIHdpdGggdGhlIHByb3ZpZGVkIG9wdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9uczogU2VxdWVuY2VPcHRpb25zKSB7fVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR2V0cyB0aGUgbmV4dCB2YWx1ZSBpbiB0aGUgc2VxdWVuY2VcbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIHRoZSBuZXh0IHZhbHVlIGZyb20gdGhlIHNlcXVlbmNlLCBpbmNyZW1lbnRpbmcgaXQgaW4gdGhlIHByb2Nlc3NcbiAgICogQHJldHVybiBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgbmV4dCB2YWx1ZSBpbiB0aGUgc2VxdWVuY2VcbiAgICovXG4gIGFic3RyYWN0IG5leHQoKTogUHJvbWlzZTxzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQ+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR2V0cyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgc2VxdWVuY2VcbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzZXF1ZW5jZSB3aXRob3V0IGluY3JlbWVudGluZyBpdFxuICAgKiBAcmV0dXJuIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBjdXJyZW50IHZhbHVlIGluIHRoZSBzZXF1ZW5jZVxuICAgKi9cbiAgYWJzdHJhY3QgY3VycmVudCgpOiBQcm9taXNlPHN0cmluZyB8IG51bWJlciB8IGJpZ2ludD47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIGEgcmFuZ2Ugb2Ygc2VxdWVudGlhbCB2YWx1ZXNcbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIG11bHRpcGxlIHNlcXVlbnRpYWwgdmFsdWVzIGF0IG9uY2UsIHdoaWNoIGNhbiBiZSBtb3JlIGVmZmljaWVudCB0aGFuIGNhbGxpbmcgbmV4dCgpIG11bHRpcGxlIHRpbWVzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBjb3VudCAtIFRoZSBudW1iZXIgb2Ygc2VxdWVudGlhbCB2YWx1ZXMgdG8gcmV0cmlldmVcbiAgICogQHJldHVybiBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBvZiBzZXF1ZW50aWFsIHZhbHVlc1xuICAgKi9cbiAgYWJzdHJhY3QgcmFuZ2UoY291bnQ6IG51bWJlcik6IFByb21pc2U8KG51bWJlciB8IHN0cmluZyB8IGJpZ2ludClbXT47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXRzIHRoZSBwcmltYXJ5IGtleSBzZXF1ZW5jZSBuYW1lIGZvciBhIG1vZGVsXG4gICAqIEBzdW1tYXJ5IFV0aWxpdHkgbWV0aG9kIHRoYXQgcmV0dXJucyB0aGUgc3RhbmRhcmRpemVkIHNlcXVlbmNlIG5hbWUgZm9yIGEgbW9kZWwncyBwcmltYXJ5IGtleVxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlXG4gICAqIEBwYXJhbSB7TXxDb25zdHJ1Y3RvcjxNPn0gbW9kZWwgLSBUaGUgbW9kZWwgaW5zdGFuY2Ugb3IgY29uc3RydWN0b3JcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgc2VxdWVuY2UgbmFtZSBmb3IgdGhlIG1vZGVsJ3MgcHJpbWFyeSBrZXlcbiAgICovXG4gIHN0YXRpYyBwazxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBNIHwgQ29uc3RydWN0b3I8TT4pIHtcbiAgICByZXR1cm4gc2VxdWVuY2VOYW1lRm9yTW9kZWwobW9kZWwsIFwicGtcIik7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBhcnNlcyBhIHNlcXVlbmNlIHZhbHVlIHRvIHRoZSBhcHByb3ByaWF0ZSB0eXBlXG4gICAqIEBzdW1tYXJ5IENvbnZlcnRzIGEgc2VxdWVuY2UgdmFsdWUgdG8gdGhlIHNwZWNpZmllZCB0eXBlIChOdW1iZXIgb3IgQmlnSW50KVxuICAgKiBAcGFyYW0ge1wiTnVtYmVyXCJ8XCJCaWdJbnRcInx1bmRlZmluZWR9IHR5cGUgLSBUaGUgdGFyZ2V0IHR5cGUgdG8gY29udmVydCB0b1xuICAgKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ8YmlnaW50fSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjb252ZXJ0XG4gICAqIEByZXR1cm4ge3N0cmluZ3xudW1iZXJ8YmlnaW50fSBUaGUgY29udmVydGVkIHZhbHVlXG4gICAqL1xuICBzdGF0aWMgcGFyc2VWYWx1ZShcbiAgICB0eXBlOiBcIk51bWJlclwiIHwgXCJCaWdJbnRcIiB8IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50XG4gICk6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludCB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFwiTnVtYmVyXCI6XG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCJcbiAgICAgICAgICA/IHBhcnNlSW50KHZhbHVlKVxuICAgICAgICAgIDogdHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiXG4gICAgICAgICAgICA/IHZhbHVlXG4gICAgICAgICAgICA6IEJpZ0ludCh2YWx1ZSk7XG4gICAgICBjYXNlIFwiQmlnSW50XCI6XG4gICAgICAgIHJldHVybiBCaWdJbnQodmFsdWUpO1xuICAgICAgY2FzZSB1bmRlZmluZWQ6XG4gICAgICBjYXNlIFwiU3RyaW5nXCI6XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFxuICAgICAgICAgIGBVbnN1cHBvcnRlZCBzZXF1ZW5jZSB0eXBlOiAke3R5cGV9IGZvciBhZGFwdGVyICR7dGhpc31gXG4gICAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
107
+ //# sourceMappingURL=Sequence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../../src/persistence/Sequence.ts"],"names":[],"mappings":";;;AACA,mDAAyD;AAEzD,+CAAoD;AACpD,yCAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAsB,QAAQ;IAO5B;;;;OAIG;IACH,IAAc,GAAG;QACf,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,iBAAO,CAAC,GAAG,CAAC,IAAW,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,YAAyC,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAwBrE;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAkB,KAAyB;QAClD,OAAO,IAAA,4BAAoB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CACf,IAA8C,EAC9C,KAA+B;QAE/B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,OAAO,KAAK,KAAK,QAAQ;oBAC9B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACjB,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;wBACzB,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ;gBACX,OAAO,KAAK,CAAC;YACf;gBACE,MAAM,IAAI,yBAAgB,CACxB,8BAA8B,IAAI,gBAAgB,IAAI,EAAE,CACzD,CAAC;QACN,CAAC;IACH,CAAC;CACF;AArFD,4BAqFC"}
@@ -49,4 +49,4 @@ var PersistenceKeys;
49
49
  /** @description Key for populate metadata */
50
50
  PersistenceKeys["NO_VALIDATE"] = "no-validate";
51
51
  })(PersistenceKeys || (exports.PersistenceKeys = PersistenceKeys = {}));
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BlcnNpc3RlbmNlL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7O0dBTUc7QUFDSCxJQUFZLGVBdURYO0FBdkRELFdBQVksZUFBZTtJQUN6QiwwQ0FBMEM7SUFDMUMsa0NBQWUsQ0FBQTtJQUVmLHNEQUFzRDtJQUN0RCxvQ0FBaUIsQ0FBQTtJQUVqQiw0Q0FBNEM7SUFDNUMsc0NBQW1CLENBQUE7SUFFbkIseURBQXlEO0lBQ3pELDJEQUF3QyxDQUFBO0lBRXhDLCtDQUErQztJQUMvQyxrQ0FBZSxDQUFBO0lBRWYsZ0RBQWdEO0lBQ2hELG9DQUFpQixDQUFBO0lBRWpCLG9EQUFvRDtJQUNwRCwwQ0FBdUIsQ0FBQTtJQUV2QixZQUFZO0lBQ1oseURBQXlEO0lBQ3pELDBDQUF1QixDQUFBO0lBRXZCLHlEQUF5RDtJQUN6RCxzREFBc0MsQ0FBQTtJQUV0Qyx5REFBeUQ7SUFDekQsc0RBQXNDLENBQUE7SUFFdEMsWUFBWTtJQUVaLHNEQUFzRDtJQUN0RCw0Q0FBeUIsQ0FBQTtJQUV6QixzREFBc0Q7SUFDdEQsd0NBQXFCLENBQUE7SUFFckIsd0RBQXdEO0lBQ3hELHFEQUFxQyxDQUFBO0lBRXJDLHlEQUF5RDtJQUN6RCx1REFBdUMsQ0FBQTtJQUV2Qyx5REFBeUQ7SUFDekQsdURBQXVDLENBQUE7SUFDdkMseURBQXlEO0lBQ3pELHlEQUF5QyxDQUFBO0lBRXpDLDZDQUE2QztJQUM3Qyx3Q0FBcUIsQ0FBQTtJQUNyQiw2Q0FBNkM7SUFDN0MsOENBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQXZEVyxlQUFlLCtCQUFmLGVBQWUsUUF1RDFCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gUGVyc2lzdGVuY2UtcmVsYXRlZCBjb25zdGFudCBrZXlzXG4gKiBAc3VtbWFyeSBFbnVtIGNvbnRhaW5pbmcgc3RyaW5nIGNvbnN0YW50cyB1c2VkIHRocm91Z2hvdXQgdGhlIHBlcnNpc3RlbmNlIGxheWVyIGZvciBtZXRhZGF0YSwgcmVsYXRpb25zLCBhbmQgb3RoZXIgcGVyc2lzdGVuY2UtcmVsYXRlZCBvcGVyYXRpb25zXG4gKiBAZW51bSB7c3RyaW5nfVxuICogQHJlYWRvbmx5XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmNvcmVcbiAqL1xuZXhwb3J0IGVudW0gUGVyc2lzdGVuY2VLZXlzIHtcbiAgLyoqIEBkZXNjcmlwdGlvbiBLZXkgZm9yIGluZGV4IG1ldGFkYXRhICovXG4gIElOREVYID0gXCJpbmRleFwiLFxuXG4gIC8qKiBAZGVzY3JpcHRpb24gS2V5IGZvciB1bmlxdWUgY29uc3RyYWludCBtZXRhZGF0YSAqL1xuICBVTklRVUUgPSBcInVuaXF1ZVwiLFxuXG4gIC8qKiBAZGVzY3JpcHRpb24gS2V5IGZvciBhZGFwdGVyIG1ldGFkYXRhICovXG4gIEFEQVBURVIgPSBcImFkYXB0ZXJcIixcblxuICAvKiogQGRlc2NyaXB0aW9uIFRlbXBsYXRlIGZvciBpbmplY3RhYmxlIGFkYXB0ZXIgbmFtZXMgKi9cbiAgSU5KRUNUQUJMRSA9IFwiZGVjYWZfezB9X2FkYXB0ZXJfZm9yX3sxfVwiLFxuXG4gIC8qKiBAZGVzY3JpcHRpb24gS2V5IGZvciB0YWJsZSBuYW1lIG1ldGFkYXRhICovXG4gIFRBQkxFID0gXCJ0YWJsZVwiLFxuXG4gIC8qKiBAZGVzY3JpcHRpb24gS2V5IGZvciBjb2x1bW4gbmFtZSBtZXRhZGF0YSAqL1xuICBDT0xVTU4gPSBcImNvbHVtblwiLFxuXG4gIC8qKiBAZGVzY3JpcHRpb24gS2V5IGZvciBnZW5lcmFsIG1ldGFkYXRhIHN0b3JhZ2UgKi9cbiAgTUVUQURBVEEgPSBcIl9fbWV0YWRhdGFcIixcblxuICAvLyBPd25lcnNoaXBcbiAgLyoqIEBkZXNjcmlwdGlvbiBLZXkgZm9yIGNyZWF0ZWQtYnkgb3duZXJzaGlwIG1ldGFkYXRhICovXG4gIE9XTkVSU0hJUCA9IFwib3duZXJzaGlwXCIsXG5cbiAgLyoqIEBkZXNjcmlwdGlvbiBLZXkgZm9yIGNyZWF0ZWQtYnkgb3duZXJzaGlwIG1ldGFkYXRhICovXG4gIENSRUFURURfQlkgPSBgJHtPV05FUlNISVB9LmNyZWF0ZWQtYnlgLFxuXG4gIC8qKiBAZGVzY3JpcHRpb24gS2V5IGZvciB1cGRhdGVkLWJ5IG93bmVyc2hpcCBtZXRhZGF0YSAqL1xuICBVUERBVEVEX0JZID0gYCR7T1dORVJTSElQfS51cGRhdGVkLWJ5YCxcblxuICAvLyBSZWxhdGlvbnNcblxuICAvKiogQGRlc2NyaXB0aW9uIEtleSBmb3IgcmVsYXRpb25zIG1ldGFkYXRhIHN0b3JhZ2UgKi9cbiAgUkVMQVRJT05TID0gXCJfX3JlbGF0aW9uc1wiLFxuXG4gIC8qKiBAZGVzY3JpcHRpb24gS2V5IGZvciByZWxhdGlvbnMgbWV0YWRhdGEgc3RvcmFnZSAqL1xuICBSRUxBVElPTiA9IFwicmVsYXRpb25cIixcblxuICAvKiogQGRlc2NyaXB0aW9uIEtleSBmb3Igb25lLXRvLW9uZSByZWxhdGlvbiBtZXRhZGF0YSAqL1xuICBPTkVfVE9fT05FID0gYCR7UkVMQVRJT059Lm9uZS10by1vbmVgLFxuXG4gIC8qKiBAZGVzY3JpcHRpb24gS2V5IGZvciBvbmUtdG8tbWFueSByZWxhdGlvbiBtZXRhZGF0YSAqL1xuICBPTkVfVE9fTUFOWSA9IGAke1JFTEFUSU9OfS5vbmUtdG8tbWFueWAsXG5cbiAgLyoqIEBkZXNjcmlwdGlvbiBLZXkgZm9yIG1hbnktdG8tb25lIHJlbGF0aW9uIG1ldGFkYXRhICovXG4gIE1BTllfVE9fT05FID0gYCR7UkVMQVRJT059Lm1hbnktdG8tb25lYCxcbiAgLyoqIEBkZXNjcmlwdGlvbiBLZXkgZm9yIG1hbnktdG8tb25lIHJlbGF0aW9uIG1ldGFkYXRhICovXG4gIE1BTllfVE9fTUFOWSA9IGAke1JFTEFUSU9OfS5tYW55LXRvLW1hbnlgLFxuXG4gIC8qKiBAZGVzY3JpcHRpb24gS2V5IGZvciBwb3B1bGF0ZSBtZXRhZGF0YSAqL1xuICBQT1BVTEFURSA9IFwicG9wdWxhdGVcIixcbiAgLyoqIEBkZXNjcmlwdGlvbiBLZXkgZm9yIHBvcHVsYXRlIG1ldGFkYXRhICovXG4gIE5PX1ZBTElEQVRFID0gXCJuby12YWxpZGF0ZVwiLFxufVxuIl19
52
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/persistence/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,IAAY,eAuDX;AAvDD,WAAY,eAAe;IACzB,0CAA0C;IAC1C,kCAAe,CAAA;IAEf,sDAAsD;IACtD,oCAAiB,CAAA;IAEjB,4CAA4C;IAC5C,sCAAmB,CAAA;IAEnB,yDAAyD;IACzD,2DAAwC,CAAA;IAExC,+CAA+C;IAC/C,kCAAe,CAAA;IAEf,gDAAgD;IAChD,oCAAiB,CAAA;IAEjB,oDAAoD;IACpD,0CAAuB,CAAA;IAEvB,YAAY;IACZ,yDAAyD;IACzD,0CAAuB,CAAA;IAEvB,yDAAyD;IACzD,sDAAsC,CAAA;IAEtC,yDAAyD;IACzD,sDAAsC,CAAA;IAEtC,YAAY;IAEZ,sDAAsD;IACtD,4CAAyB,CAAA;IAEzB,sDAAsD;IACtD,wCAAqB,CAAA;IAErB,wDAAwD;IACxD,qDAAqC,CAAA;IAErC,yDAAyD;IACzD,uDAAuC,CAAA;IAEvC,yDAAyD;IACzD,uDAAuC,CAAA;IACvC,yDAAyD;IACzD,yDAAyC,CAAA;IAEzC,6CAA6C;IAC7C,wCAAqB,CAAA;IACrB,6CAA6C;IAC7C,8CAA2B,CAAA;AAC7B,CAAC,EAvDW,eAAe,+BAAf,eAAe,QAuD1B"}
@@ -19,4 +19,4 @@ function uses(flavour) {
19
19
  return (0, reflection_1.apply)((0, reflection_1.metadata)(Adapter_1.Adapter.key(constants_1.PersistenceKeys.ADAPTER), flavour))(original);
20
20
  };
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wZXJzaXN0ZW5jZS9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBY0Esb0JBTUM7QUFwQkQscURBQXVEO0FBQ3ZELCtDQUE4QztBQUM5QywyQ0FBb0M7QUFFcEM7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBZ0IsSUFBSSxDQUFDLE9BQWU7SUFDbEMsT0FBTyxTQUFTLElBQUksQ0FBQyxRQUFhO1FBQ2hDLE9BQU8sSUFBQSxrQkFBSyxFQUFDLElBQUEscUJBQVEsRUFBQyxpQkFBTyxDQUFDLEdBQUcsQ0FBQywyQkFBZSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQ25FLFFBQVEsQ0FDVCxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcGx5LCBtZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvcmVmbGVjdGlvblwiO1xuaW1wb3J0IHsgUGVyc2lzdGVuY2VLZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBBZGFwdGVyIH0gZnJvbSBcIi4vQWRhcHRlclwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBTcGVjaWZpZXMgd2hpY2ggcGVyc2lzdGVuY2UgYWRhcHRlciBmbGF2b3IgYSBtb2RlbCBzaG91bGQgdXNlXG4gKiBAc3VtbWFyeSBUaGlzIGRlY29yYXRvciBhcHBsaWVzIG1ldGFkYXRhIHRvIGEgbW9kZWwgY2xhc3MgdG8gaW5kaWNhdGUgd2hpY2ggcGVyc2lzdGVuY2UgYWRhcHRlciBmbGF2b3JcbiAqIHNob3VsZCBiZSB1c2VkIHdoZW4gcGVyZm9ybWluZyBkYXRhYmFzZSBvcGVyYXRpb25zIG9uIGluc3RhbmNlcyBvZiB0aGUgbW9kZWwuIFRoZSBmbGF2b3IgaXMgYSBzdHJpbmdcbiAqIGlkZW50aWZpZXIgdGhhdCBjb3JyZXNwb25kcyB0byBhIHJlZ2lzdGVyZWQgYWRhcHRlciBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHtzdHJpbmd9IGZsYXZvdXIgLSBUaGUgaWRlbnRpZmllciBvZiB0aGUgYWRhcHRlciBmbGF2b3IgdG8gdXNlXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBkZWNvcmF0b3IgZnVuY3Rpb24gdGhhdCBjYW4gYmUgYXBwbGllZCB0byBhIG1vZGVsIGNsYXNzXG4gKiBAZnVuY3Rpb24gdXNlc1xuICogQGNhdGVnb3J5IENsYXNzIERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZXMoZmxhdm91cjogc3RyaW5nKSB7XG4gIHJldHVybiBmdW5jdGlvbiB1c2VzKG9yaWdpbmFsOiBhbnkpIHtcbiAgICByZXR1cm4gYXBwbHkobWV0YWRhdGEoQWRhcHRlci5rZXkoUGVyc2lzdGVuY2VLZXlzLkFEQVBURVIpLCBmbGF2b3VyKSkoXG4gICAgICBvcmlnaW5hbFxuICAgICk7XG4gIH07XG59XG4iXX0=
22
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/persistence/decorators.ts"],"names":[],"mappings":";;AAcA,oBAMC;AApBD,qDAAuD;AACvD,+CAA8C;AAC9C,2CAAoC;AAEpC;;;;;;;;;GASG;AACH,SAAgB,IAAI,CAAC,OAAe;IAClC,OAAO,SAAS,IAAI,CAAC,QAAa;QAChC,OAAO,IAAA,kBAAK,EAAC,IAAA,qBAAQ,EAAC,iBAAO,CAAC,GAAG,CAAC,2BAAe,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CACnE,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -31,4 +31,4 @@ class UnsupportedError extends db_decorators_1.InternalError {
31
31
  }
32
32
  }
33
33
  exports.UnsupportedError = UnsupportedError;
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BlcnNpc3RlbmNlL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBd0Q7QUFFeEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLDZCQUFhO0lBQ2pELFlBQVksR0FBbUI7UUFDN0IsS0FBSyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNGO0FBSkQsNENBSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEVycm9yIHRocm93biB3aGVuIGFuIHVuc3VwcG9ydGVkIG9wZXJhdGlvbiBpcyBhdHRlbXB0ZWRcbiAqIEBzdW1tYXJ5IFRoaXMgZXJyb3IgaXMgdGhyb3duIHdoZW4gYW4gb3BlcmF0aW9uIGlzIHJlcXVlc3RlZCB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnRcbiAqIHBlcnNpc3RlbmNlIGFkYXB0ZXIgb3IgY29uZmlndXJhdGlvbi4gSXQgZXh0ZW5kcyB0aGUgQmFzZUVycm9yIGNsYXNzIGFuZCBzZXRzIGEgNTAwIHN0YXR1cyBjb2RlLlxuICogQHBhcmFtIHtzdHJpbmd8RXJyb3J9IG1zZyAtIFRoZSBlcnJvciBtZXNzYWdlIG9yIGFuIEVycm9yIG9iamVjdCB0byB3cmFwXG4gKiBAY2xhc3MgVW5zdXBwb3J0ZWRFcnJvclxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIFRocm93aW5nIGFuIFVuc3VwcG9ydGVkRXJyb3JcbiAqIGlmICghYWRhcHRlci5zdXBwb3J0c1RyYW5zYWN0aW9ucygpKSB7XG4gKiAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKCdUcmFuc2FjdGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBhZGFwdGVyJyk7XG4gKiB9XG4gKlxuICogLy8gQ2F0Y2hpbmcgYW4gVW5zdXBwb3J0ZWRFcnJvclxuICogdHJ5IHtcbiAqICAgYXdhaXQgYWRhcHRlci5iZWdpblRyYW5zYWN0aW9uKCk7XG4gKiB9IGNhdGNoIChlcnJvcikge1xuICogICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBVbnN1cHBvcnRlZEVycm9yKSB7XG4gKiAgICAgY29uc29sZS5lcnJvcignT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQ6JywgZXJyb3IubWVzc2FnZSk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgVW5zdXBwb3J0ZWRFcnJvciBleHRlbmRzIEludGVybmFsRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcihtc2c6IHN0cmluZyB8IEVycm9yKSB7XG4gICAgc3VwZXIobXNnLCBVbnN1cHBvcnRlZEVycm9yLm5hbWUsIDUwMCk7XG4gIH1cbn1cbiJdfQ==
34
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/persistence/errors.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAExD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,gBAAiB,SAAQ,6BAAa;IACjD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;CACF;AAJD,4CAIC"}
@@ -23,4 +23,4 @@ __exportStar(require("./errors.cjs"), exports);
23
23
  __exportStar(require("./ObserverHandler.cjs"), exports);
24
24
  __exportStar(require("./Sequence.cjs"), exports);
25
25
  __exportStar(require("./types.cjs"), exports);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGVyc2lzdGVuY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJCQUEyQjtBQUMzQixpREFBMkI7QUFFM0IsZ0RBQTBCO0FBQzFCLGtEQUE0QjtBQUM1QixtREFBNkI7QUFDN0IsK0NBQXlCO0FBQ3pCLHdEQUFrQztBQUNsQyxpREFBMkI7QUFDM0IsOENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcHVycG9zZWx5IGluIGZpcnN0IHBsYWNlXG5leHBvcnQgKiBmcm9tIFwiLi9EaXNwYXRjaFwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9BZGFwdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vT2JzZXJ2ZXJIYW5kbGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TZXF1ZW5jZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbiJdfQ==
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2BAA2B;AAC3B,iDAA2B;AAE3B,gDAA0B;AAC1B,kDAA4B;AAC5B,mDAA6B;AAC7B,+CAAyB;AACzB,wDAAkC;AAClC,iDAA2B;AAC3B,8CAAwB"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGVyc2lzdGVuY2UvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1bGtDcnVkT3BlcmF0aW9uS2V5cywgT3BlcmF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQWRhcHRlciB9IGZyb20gXCIuL0FkYXB0ZXJcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9pbmRleFwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUeXBlIHJlcHJlc2VudGluZyBwb3NzaWJsZSBJRCBmb3JtYXRzIGZvciBkYXRhYmFzZSBldmVudHNcbiAqIEBzdW1tYXJ5IEEgdW5pb24gdHlwZSB0aGF0IGRlZmluZXMgdGhlIHBvc3NpYmxlIGZvcm1hdHMgZm9yIGV2ZW50IGlkZW50aWZpZXJzIGluIHRoZSBwZXJzaXN0ZW5jZSBsYXllci5cbiAqIFRoZXNlIGNhbiBiZSBzaW5nbGUgdmFsdWVzIChzdHJpbmcsIG51bWJlciwgYmlnaW50KSBvciBhcnJheXMgb2YgdGhlc2UgdHlwZXMuXG4gKiBAdHlwZWRlZiB7KHN0cmluZ3xudW1iZXJ8YmlnaW50fHN0cmluZ1tdfG51bWJlcltdfGJpZ2ludFtdKX0gRXZlbnRJZHNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Y29yZVxuICovXG5leHBvcnQgdHlwZSBFdmVudElkcyA9XG4gIHwgc3RyaW5nXG4gIHwgbnVtYmVyXG4gIHwgYmlnaW50XG4gIHwgc3RyaW5nW11cbiAgfCBudW1iZXJbXVxuICB8IGJpZ2ludFtdO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiB0eXBlIGZvciBmaWx0ZXJpbmcgb2JzZXJ2ZXIgbm90aWZpY2F0aW9uc1xuICogQHN1bW1hcnkgQSBmdW5jdGlvbiB0eXBlIHRoYXQgZGVmaW5lcyBhIHByZWRpY2F0ZSB1c2VkIHRvIGRldGVybWluZSB3aGV0aGVyIGFuIG9ic2VydmVyIHNob3VsZCBiZSBub3RpZmllZFxuICogYWJvdXQgYSBzcGVjaWZpYyBkYXRhYmFzZSBldmVudC4gVGhlIGZpbHRlciBleGFtaW5lcyB0aGUgdGFibGUgbmFtZSwgZXZlbnQgdHlwZSwgYW5kIGFmZmVjdGVkIElEcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZSAtIFRoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZSB0YWJsZSB3aGVyZSB0aGUgZXZlbnQgb2NjdXJyZWRcbiAqIEBwYXJhbSB7KE9wZXJhdGlvbktleXN8QnVsa0NydWRPcGVyYXRpb25LZXlzfHN0cmluZyl9IGV2ZW50IC0gVGhlIHR5cGUgb2Ygb3BlcmF0aW9uIHRoYXQgdHJpZ2dlcmVkIHRoZSBldmVudFxuICogQHBhcmFtIHtFdmVudElkc30gaWQgLSBUaGUgaWRlbnRpZmllcihzKSBvZiB0aGUgYWZmZWN0ZWQgcmVjb3JkKHMpXG4gKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBvYnNlcnZlciBzaG91bGQgYmUgbm90aWZpZWQsIGZhbHNlIG90aGVyd2lzZVxuICogQHR5cGVkZWYge0Z1bmN0aW9ufSBPYnNlcnZlckZpbHRlclxuICogQG1lbWJlck9mIG1vZHVsZTpjb3JlXG4gKi9cbmV4cG9ydCB0eXBlIE9ic2VydmVyRmlsdGVyID0gKFxuICB0YWJsZTogc3RyaW5nLFxuICBldmVudDogT3BlcmF0aW9uS2V5cyB8IEJ1bGtDcnVkT3BlcmF0aW9uS2V5cyB8IHN0cmluZyxcbiAgaWQ6IEV2ZW50SWRzXG4pID0+IGJvb2xlYW47XG5cbmV4cG9ydCB0eXBlIEluZmVycmVkQWRhcHRlckNvbmZpZzxBPiA9XG4gIEEgZXh0ZW5kcyBBZGFwdGVyPGluZmVyIENPTkYsIGFueSwgYW55LCBhbnk+ID8gQ09ORiA6IG5ldmVyO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFkYXB0ZXJEaXNwYXRjaCBleHRlbmRzIE9ic2VydmFibGUge1xuICBjbG9zZSgpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIHVwZGF0ZU9ic2VydmVycyhcbiAgICB0YWJsZTogc3RyaW5nLFxuICAgIGV2ZW50OiBPcGVyYXRpb25LZXlzIHwgQnVsa0NydWRPcGVyYXRpb25LZXlzIHwgc3RyaW5nLFxuICAgIGlkOiBFdmVudElkc1xuICApOiBQcm9taXNlPHZvaWQ+O1xufVxuIl19
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/persistence/types.ts"],"names":[],"mappings":""}
@@ -338,4 +338,4 @@ __decorate([
338
338
  (0, decorator_validation_1.required)(),
339
339
  __metadata("design:type", Object)
340
340
  ], Condition.prototype, "comparison", void 0);
341
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZGl0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L0NvbmRpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSx5RUFLd0M7QUFDeEMsK0NBQXNEO0FBQ3RELHlDQUFzQztBQUl0Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJHO0FBQ0gsTUFBYSxTQUFnQyxTQUFRLDRCQUFvQjtJQVF2RSxZQUNFLEtBQTRCLEVBQzVCLFFBQWtDLEVBQ2xDLFVBQWU7UUFFZixLQUFLLEVBQUUsQ0FBQztRQVhBLFVBQUssR0FBMkIsU0FBUyxDQUFDO1FBRTFDLGFBQVEsR0FBOEIsU0FBUyxDQUFDO1FBRWhELGVBQVUsR0FBUyxTQUFTLENBQUM7UUFRckMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsR0FBRyxDQUFDLFNBQXVCO1FBQ3pCLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsRUFBRSxDQUFDLFNBQXVCO1FBQ3hCLE9BQU8sU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsR0FBRyxDQUFDLEdBQVE7UUFDVixPQUFPLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxvQkFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDTSxTQUFTLENBQ2hCLEdBQUcsVUFBb0I7UUFFdkIsTUFBTSxjQUFjLEdBQUcsR0FBcUMsRUFBRTtZQUM1RCxNQUFNLGdC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O0FBRTFDO0lBRFQsSUFBQSwrQkFBUSxHQUFFOzsyQ0FDK0M7QUFFaEQ7SUFEVCxJQUFBLCtCQUFRLEdBQUU7OzZDQUM0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbiwgQ29uZGl0aW9uQnVpbGRlck9wdGlvbiB9IGZyb20gXCIuL29wdGlvbnNcIjtcbmltcG9ydCB7XG4gIENvbmRpdGlvbmFsQXN5bmMsXG4gIE1vZGVsLFxuICBNb2RlbEVycm9yRGVmaW5pdGlvbixcbiAgcmVxdWlyZWQsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IEdyb3VwT3BlcmF0b3IsIE9wZXJhdG9yIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBRdWVyeUVycm9yIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5cbnR5cGUgSW5mZXJBc3luYzxNPiA9IE0gZXh0ZW5kcyBNb2RlbDxpbmZlciBBPiA/IEEgOiBmYWxzZTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyBhIGxvZ2ljYWwgY29uZGl0aW9uIGZvciBkYXRhYmFzZSBxdWVyaWVzXG4gKiBAc3VtbWFyeSBBIGNsYXNzIHRoYXQgZW5jYXBzdWxhdGVzIHF1ZXJ5IGNvbmRpdGlvbnMgd2l0aCBzdXBwb3J0IGZvciBjb21wbGV4IGxvZ2ljYWwgb3BlcmF0aW9ucy5cbiAqIFRoaXMgY2xhc3MgYWxsb3dzIGZvciBidWlsZGluZyBhbmQgY29tYmluaW5nIHF1ZXJ5IGNvbmRpdGlvbnMgdXNpbmcgbG9naWNhbCBvcGVyYXRvcnMgKEFORCwgT1IsIE5PVClcbiAqIGFuZCBjb21wYXJpc29uIG9wZXJhdG9ycyAoZXF1YWxzLCBub3QgZXF1YWxzLCBncmVhdGVyIHRoYW4sIGV0Yy4pLlxuICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZSB0aGlzIGNvbmRpdGlvbiBvcGVyYXRlcyBvblxuICogQHBhcmFtIHtzdHJpbmcgfCBDb25kaXRpb248TT59IGF0dHIxIC0gVGhlIGF0dHJpYnV0ZSBuYW1lIG9yIGEgbmVzdGVkIGNvbmRpdGlvblxuICogQHBhcmFtIHtPcGVyYXRvciB8IEdyb3VwT3BlcmF0b3J9IG9wZXJhdG9yIC0gVGhlIG9wZXJhdG9yIHRvIHVzZSBmb3IgdGhlIGNvbmRpdGlvblxuICogQHBhcmFtIHthbnl9IGNvbXBhcmlzb24gLSBUaGUgdmFsdWUgdG8gY29tcGFyZSBhZ2FpbnN0IG9yIGFub3RoZXIgY29uZGl0aW9uXG4gKiBAY2xhc3MgQ29uZGl0aW9uXG4gKiBAZXhhbXBsZVxuICogLy8gQ3JlYXRlIGEgc2ltcGxlIGNvbmRpdGlvblxuICogY29uc3QgbmFtZUNvbmRpdGlvbiA9IENvbmRpdGlvbi5hdHRyaWJ1dGUoXCJuYW1lXCIpLmVxKFwiSm9oblwiKTtcbiAqXG4gKiAvLyBDcmVhdGUgYSBjb21wbGV4IGNvbmRpdGlvblxuICogY29uc3QgY29tcGxleENvbmRpdGlvbiA9IENvbmRpdGlvbi5hdHRyaWJ1dGUoXCJhZ2VcIikuZ3QoMTgpXG4gKiAgIC5hbmQoQ29uZGl0aW9uLmF0dHJpYnV0ZShcInN0YXR1c1wiKS5lcShcImFjdGl2ZVwiKSk7XG4gKlxuICogLy8gVXNlIHRoZSBidWlsZGVyIHBhdHRlcm5cbiAqIGNvbnN0IHVzZXJRdWVyeSA9IENvbmRpdGlvbi5idWlsZGVyKClcbiAqICAgLmF0dHJpYnV0ZShcImVtYWlsXCIpLnJlZ2V4cChcIi4qQGV4YW1wbGUuY29tXCIpXG4gKiAgIC5hbmQoQ29uZGl0aW9uLmF0dHJpYnV0ZShcImxhc3RMb2dpblwiKS5ndChuZXcgRGF0ZShcIjIwMjMtMDEtMDFcIikpKTtcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgRGV2XG4gKiAgIHBhcnRpY2lwYW50IENvbmRpdGlvblxuICogICBEZXYtPj5Db25kaXRpb246IGJ1aWxkZXIoKS5hdHRyaWJ1dGUoXCJhZ2VcIikuZ3QoMTgpXG4gKiAgIENvbmRpdGlvbi0tPj5EZXY6IENvbmRpdGlvbihhZ2UgPiAxOClcbiAqICAgRGV2LT4+Q29uZGl0aW9uOiAuYW5kKGF0dHJpYnV0ZShcInN0YXR1c1wiKS5lcShcImFjdGl2ZVwiKSlcbiAqICAgQ29uZGl0aW9uLS0+PkRldjogQ29uZGl0aW9uKChhZ2UgPiAxOCkgQU5EIChzdGF0dXMgPSBcImFjdGl2ZVwiKSlcbiAqL1xuZXhwb3J0IGNsYXNzIENvbmRpdGlvbjxNIGV4dGVuZHMgTW9kZWw8YW55Pj4gZXh0ZW5kcyBNb2RlbDxJbmZlckFzeW5jPE0+PiB7XG4gIEByZXF1aXJlZCgpXG4gIHByb3RlY3RlZCBhdHRyMT86IHN0cmluZyB8IENvbmRpdGlvbjxNPiA9IHVuZGVmaW5lZDtcbiAgQHJlcXVpcmVkKClcbiAgcHJvdGVjdGVkIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBHcm91cE9wZXJhdG9yID0gdW5kZWZpbmVkO1xuICBAcmVxdWlyZWQoKVxuICBwcm90ZWN0ZWQgY29tcGFyaXNvbj86IGFueSA9IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIGF0dHIxOiBzdHJpbmcgfCBDb25kaXRpb248TT4sXG4gICAgb3BlcmF0b3I6IE9wZXJhdG9yIHwgR3JvdXBPcGVyYXRvcixcbiAgICBjb21wYXJpc29uOiBhbnlcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmF0dHIxID0gYXR0cjE7XG4gICAgdGhpcy5vcGVyYXRvciA9IG9wZXJhdG9yO1xuICAgIHRoaXMuY29tcGFyaXNvbiA9IGNvbXBhcmlzb247XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbWJpbmVzIHRoaXMgY29uZGl0aW9uIHdpdGggYW5vdGhlciB1c2luZyBsb2dpY2FsIEFORFxuICAgKiBAc3VtbWFyeSBKb2lucyB0d28gY29uZGl0aW9ucyB3aXRoIGFuIEFORCBvcGVyYXRvciwgcmVxdWlyaW5nIGJvdGggdG8gYmUgdHJ1ZVxuICAgKiBAcGFyYW0ge0NvbmRpdGlvbjxNPn0gY29uZGl0aW9uIC0gVGhlIGNvbmRpdGlvbiB0byBjb21iaW5lIHdpdGggdGhpcyBvbmVcbiAgICogQHJldHVybiB7Q29uZGl0aW9uPE0+fSBBIG5ldyBjb25kaXRpb24gcmVwcmVzZW50aW5nIHRoZSBBTkQgb3BlcmF0aW9uXG4gICAqL1xuICBhbmQoY29uZGl0aW9uOiBDb25kaXRpb248TT4pOiBDb25kaXRpb248TT4ge1xuICAgIHJldHVybiBDb25kaXRpb24uYW5kKHRoaXMsIGNvbmRpdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbWJpbmVzIHRoaXMgY29uZGl0aW9uIHdpdGggYW5vdGhlciB1c2luZyBsb2dpY2FsIE9SXG4gICAqIEBzdW1tYXJ5IEpvaW5zIHR3byBjb25kaXRpb25zIHdpdGggYW4gT1Igb3BlcmF0b3IsIHJlcXVpcmluZyBhdCBsZWFzdCBvbmUgdG8gYmUgdHJ1ZVxuICAgKiBAcGFyYW0ge0NvbmRpdGlvbjxNPn0gY29uZGl0aW9uIC0gVGhlIGNvbmRpdGlvbiB0byBjb21iaW5lIHdpdGggdGhpcyBvbmVcbiAgICogQHJldHVybiB7Q29uZGl0aW9uPE0+fSBBIG5ldyBjb25kaXRpb24gcmVwcmVzZW50aW5nIHRoZSBPUiBvcGVyYXRpb25cbiAgICovXG4gIG9yKGNvbmRpdGlvbjogQ29uZGl0aW9uPE0+KTogQ29uZGl0aW9uPE0+IHtcbiAgICByZXR1cm4gQ29uZGl0aW9uLm9yKHRoaXMsIGNvbmRpdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBuZWdhdGlvbiBjb25kaXRpb25cbiAgICogQHN1bW1hcnkgRXhjbHVkZXMgYSB2YWx1ZSBmcm9tIHRoZSByZXN1bHQgYnkgYXBwbHlpbmcgYSBOT1Qgb3BlcmF0b3JcbiAgICogQHBhcmFtIHthbnl9IHZhbCAtIFRoZSB2YWx1ZSB0byBuZWdhdGVcbiAgICogQHJldHVybiB7Q29uZGl0aW9uPE0+fSBBIG5ldyBjb25kaXRpb24gcmVwcmVzZW50aW5nIHRoZSBOT1Qgb3BlcmF0aW9uXG4gICAqL1xuICBub3QodmFsOiBhbnkpOiBDb25kaXRpb248TT4ge1xuICAgIHJldHVybiBuZXcgQ29uZGl0aW9uKHRoaXMsIE9wZXJhdG9yLk5PVCwgdmFsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVmFsaWRhdGVzIHRoZSBjb25kaXRpb24gYW5kIGNoZWNrcyBmb3IgZXJyb3JzXG4gICAqIEBzdW1tYXJ5IEV4dGVuZHMgdGhlIGJhc2UgdmFsaWRhdGlvbiB0byBlbnN1cmUgdGhlIGNvbmRpdGlvbiBpcyBwcm9wZXJseSBmb3JtZWRcbiAgICogQHBhcmFtIHsuLi5zdHJpbmdbXX0gZXhjZXB0aW9ucyAtIEZpZWxkcyB0byBleGNsdWRlIGZyb20gdmFsaWRhdGlvblxuICAgKiBAcmV0dXJuIHtNb2RlbEVycm9yRGVmaW5pdGlvbiB8IHVuZGVmaW5lZH0gRXJyb3IgZGVmaW5pdGlvbiBpZiB2YWxpZGF0aW9uIGZhaWxzLCB1bmRlZmluZWQgb3RoZXJ3aXNlXG4gICAqL1xuICBvdmVycmlkZSBoYXNFcnJvcnMoXG4gICAgLi4uZXhjZXB0aW9uczogc3RyaW5nW11cbiAgKTogQ29uZGl0aW9uYWxBc3luYzxJbmZlckFzeW5jPE0+LCBNb2RlbEVycm9yRGVmaW5pdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGNvbmRpdGlvbkNoZWNrID0gKCk6IE1vZGVsRXJyb3JEZWZpbml0aW9uIHwgdW5kZWZpbmVkID0+IHtcbiAgICAgIGNvbnN0IGludmFsaWRPcE1lc3NhZ2UgPSBgSW52YWxpZCBvcGVyYXRvciAke3RoaXMub3BlcmF0b3J9fWA7XG5cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5hdHRyMSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBpZiAodGhpcy5jb21wYXJpc29uIGluc3RhbmNlb2YgQ29uZGl0aW9uKVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb21wYXJpc29uOiB7XG4gICAgICAgICAgICAgIGNvbmRpdGlvbjpcbiAgICAgICAgICAgICAgICBcIkJvdGggc2lkZXMgb2YgdGhlIGNvbXBhcmlzb24gbXVzdCBiZSBvZiB0aGUgc2FtZSB0eXBlXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0gYXMgTW9kZWxFcnJvckRlZmluaXRpb247XG4gICAgICAgIGlmIChPYmplY3QudmFsdWVzKE9wZXJhdG9yKS5pbmRleE9mKHRoaXMub3BlcmF0b3IgYXMgT3BlcmF0b3IpID09PSAtMSlcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgb3BlcmF0b3I6IHtcbiAgICAgICAgICAgICAgY29uZGl0aW9uOiBpbnZhbGlkT3BNZXNzYWdlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9IGFzIE1vZGVsRXJyb3JEZWZpbml0aW9uO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5hdHRyMSBpbnN0YW5jZW9mIENvbmRpdGlvbikge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgISh0aGlzLmNvbXBhcmlzb24gaW5zdGFuY2VvZiBDb25kaXRpb24pICYmXG4gICAgICAgICAgdGhpcy5vcGVyYXRvciAhPT0gT3BlcmF0b3IuTk9UXG4gICAgICAgIClcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29tcGFyaXNvbjoge1xuICAgICAgICAgICAgICBjb25kaXRpb246IGludmFsaWRPcE1lc3NhZ2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0gYXMgTW9kZWxFcnJvckRlZmluaXRpb247XG4gICAgICAgIGlmIChcbiAgICAgICAgICBPYmplY3QudmFsdWVzKEdyb3VwT3BlcmF0b3IpLmluZGV4T2YoXG4gICAgICAgICAgICB0aGlzLm9wZXJhdG9yIGFzIEdyb3VwT3BlcmF0b3JcbiAgICAgICAgICApID09PSAtMSAmJlxuICAgICAgICAgIHRoaXMub3BlcmF0b3IgIT09IE9wZXJhdG9yLk5PVFxuICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG9wZXJhdG9yOiB7XG4gICAgICAgICAgICAgIGNvbmRpdGlvbjogaW52YWxpZE9wTWVzc2FnZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSBhcyBNb2RlbEVycm9yRGVmaW5pdGlvbjtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgZXJyb3JzID0gc3VwZXIuaGFzRXJyb3JzKC4uLmV4Y2VwdGlvbnMpO1xuICAgIGlmICghdGhpcy5pc0FzeW5jKCkpXG4gICAgICByZXR1cm4gKFxuICAgICAgICAoZXJyb3JzIGFzIE1vZGVsRXJyb3JEZWZpbml0aW9uIHwgdW5kZWZpbmVkKSA/P1xuICAgICAgICAoY29uZGl0aW9uQ2hlY2soKSBhcyBhbnkpXG4gICAgICApO1xuXG4gICAgcmV0dXJuIChhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXNvbHZlZCA9IGF3YWl0IFByb21pc2UucmVzb2x2ZShcbiAgICAgICAgZXJyb3JzIGFzIHVua25vd24gYXMgUHJvbWlzZTxNb2RlbEVycm9yRGVmaW5pdGlvbiB8IHVuZGVmaW5lZD5cbiAgICAgICk7XG4gICAgICByZXR1cm4gcmVzb2x2ZWQgPz8gY29uZGl0aW9uQ2hlY2soKTtcbiAgICB9KSgpIGFzIENvbmRpdGlvbmFsQXN5bmM8SW5mZXJBc3luYzxNPiwgTW9kZWxFcnJvckRlZmluaXRpb24gfCB1bmRlZmluZWQ+O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IGNvbmRpdGlvbiB0aGF0IGNvbWJpbmVzIHR3byBjb25kaXRpb25zIHdpdGggbG9naWNhbCBBTkRcbiAgICogQHN1bW1hcnkgU3RhdGljIG1ldGhvZCB0aGF0IGpvaW5zIHR3byBjb25kaXRpb25zIHdpdGggYW4gQU5EIG9wZXJhdG9yLCByZXF1aXJpbmcgYm90aCB0byBiZSB0cnVlXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGUgdGhpcyBjb25kaXRpb24gb3BlcmF0ZXMgb25cbiAgICogQHBhcmFtIHtDb25kaXRpb248TT59IGNvbmRpdGlvbjEgLSBUaGUgZmlyc3QgY29uZGl0aW9uXG4gICAqIEBwYXJhbSB7Q29uZGl0aW9uPE0+fSBjb25kaXRpb24yIC0gVGhlIHNlY29uZCBjb25kaXRpb25cbiAgICogQHJldHVybiB7Q29uZGl0aW9uPE0+fSBBIG5ldyBjb25kaXRpb24gcmVwcmVzZW50aW5nIHRoZSBBTkQgb3BlcmF0aW9uXG4gICAqL1xuICBzdGF0aWMgYW5kPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgY29uZGl0aW9uMTogQ29uZGl0aW9uPE0+LFxuICAgIGNvbmRpdGlvbjI6IENvbmRpdGlvbjxNPlxuICApOiBDb25kaXRpb248TT4ge1xuICAgIHJldHVybiBDb25kaXRpb24uZ3JvdXAoY29uZGl0aW9uMSwgR3JvdXBPcGVyYXRvci5BTkQsIGNvbmRpdGlvbjIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IGNvbmRpdGlvbiB0aGF0IGNvbWJpbmVzIHR3byBjb25kaXRpb25zIHdpdGggbG9naWNhbCBPUlxuICAgKiBAc3VtbWFyeSBTdGF0aWMgbWV0aG9kIHRoYXQgam9pbnMgdHdvIGNvbmRpdGlvbnMgd2l0aCBhbiBPUiBvcGVyYXRvciwgcmVxdWlyaW5nIGF0IGxlYXN0IG9uZSB0byBiZSB0cnVlXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGUgdGhpcyBjb25kaXRpb24gb3BlcmF0ZXMgb25cbiAgICogQHBhcmFtIHtDb25kaXRpb248TT59IGNvbmRpdGlvbjEgLSBUaGUgZmlyc3QgY29uZGl0aW9uXG4gICAqIEBwYXJhbSB7Q29uZGl0aW9uPE0+fSBjb25kaXRpb24yIC0gVGhlIHNlY29uZCBjb25kaXRpb25cbiAgICogQHJldHVybiB7Q29uZGl0aW9uPE0+fSBBIG5ldyBjb25kaXRpb24gcmVwcmVzZW50aW5nIHRoZSBPUiBvcGVyYXRpb25cbiAgICovXG4gIHN0YXRpYyBvcjxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIGNvbmRpdGlvbjE6IENvbmRpdGlvbjxNPixcbiAgICBjb25kaXRpb24yOiBDb25kaXRpb248TT5cbiAgKTogQ29uZGl0aW9uPE0+IHtcbiAgICByZXR1cm4gQ29uZGl0aW9uLmdyb3VwKGNvbmRpdGlvbjEsIEdyb3VwT3BlcmF0b3IuT1IsIGNvbmRpdGlvbjIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IGNvbmRpdGlvbiB0aGF0IGdyb3VwcyB0d28gY29uZGl0aW9ucyB3aXRoIGEgc3BlY2lmaWVkIG9wZXJhdG9yXG4gICAqIEBzdW1tYXJ5IFByaXZhdGUgc3RhdGljIG1ldGhvZCB0aGF0IGNvbWJpbmVzIHR3byBjb25kaXRpb25zIHVzaW5nIHRoZSBzcGVjaWZpZWQgZ3JvdXAgb3BlcmF0b3JcbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZSB0aGlzIGNvbmRpdGlvbiBvcGVyYXRlcyBvblxuICAgKiBAcGFyYW0ge0NvbmRpdGlvbjxNPn0gY29uZGl0aW9uMSAtIFRoZSBmaXJzdCBjb25kaXRpb25cbiAgICogQHBhcmFtIHtHcm91cE9wZXJhdG9yfSBvcGVyYXRvciAtIFRoZSBncm91cCBvcGVyYXRvciB0byB1c2UgKEFORCwgT1IpXG4gICAqIEBwYXJhbSB7Q29uZGl0aW9uPE0+fSBjb25kaXRpb24yIC0gVGhlIHNlY29uZCBjb25kaXRpb25cbiAgICogQHJldHVybiB7Q29uZGl0aW9uPE0+fSBBIG5ldyBjb25kaXRpb24gcmVwcmVzZW50aW5nIHRoZSBncm91cGVkIG9wZXJhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZ3JvdXA8TSBleHRlbmRzIE1vZGVsPihcbiAgICBjb25kaXRpb24xOiBDb25kaXRpb248TT4sXG4gICAgb3BlcmF0b3I6IEdyb3VwT3BlcmF0b3IsXG4gICAgY29uZGl0aW9uMjogQ29uZGl0aW9uPE0+XG4gICk6IENvbmRpdGlvbjxNPiB7XG4gICAgcmV0dXJuIG5ldyBDb25kaXRpb24oY29uZGl0aW9uMSwgb3BlcmF0b3IsIGNvbmRpdGlvbjIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgY29uZGl0aW9uIGJ1aWxkZXIgZm9yIGEgc3BlY2lmaWMgbW9kZWwgYXR0cmlidXRlXG4gICAqIEBzdW1tYXJ5IFN0YXRpYyBtZXRob2QgdGhhdCBpbml0aWFsaXplcyBhIGNvbmRpdGlvbiBidWlsZGVyIHdpdGggdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGVcbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZSB0aGlzIGNvbmRpdGlvbiBvcGVyYXRlcyBvblxuICAgKiBAcGFyYW0gYXR0ciAtIFRoZSBtb2RlbCBhdHRyaWJ1dGUgdG8gYnVpbGQgYSBjb25kaXRpb24gZm9yXG4gICAqIEByZXR1cm4ge0F0dHJpYnV0ZU9wdGlvbjxNPn0gQSBjb25kaXRpb24gYnVpbGRlciBpbml0aWFsaXplZCB3aXRoIHRoZSBhdHRyaWJ1dGVcbiAgICovXG4gIHN0YXRpYyBhdHRyaWJ1dGU8TSBleHRlbmRzIE1vZGVsPihhdHRyOiBrZXlvZiBNKSB7XG4gICAgcmV0dXJuIG5ldyBDb25kaXRpb24uQnVpbGRlcjxNPigpLmF0dHJpYnV0ZShhdHRyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQWxpYXMgZm9yIHRoZSBhdHRyaWJ1dGUgbWV0aG9kXG4gICAqIEBzdW1tYXJ5IFNob3J0aGFuZCBtZXRob2QgdGhhdCBpbml0aWFsaXplcyBhIGNvbmRpdGlvbiBidWlsZGVyIHdpdGggdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGVcbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZSB0aGlzIGNvbmRpdGlvbiBvcGVyYXRlcyBvblxuICAgKiBAcGFyYW0gYXR0ciAtIFRoZSBtb2RlbCBhdHRyaWJ1dGUgdG8gYnVpbGQgYSBjb25kaXRpb24gZm9yXG4gICAqIEByZXR1cm4ge0F0dHJpYnV0ZU9wdGlvbjxNPn0gQSBjb25kaXRpb24gYnVpbGRlciBpbml0aWFsaXplZCB3aXRoIHRoZSBhdHRyaWJ1dGVcbiAgICovXG4gIHN0YXRpYyBhdHRyPE0gZXh0ZW5kcyBNb2RlbD4oYXR0cjoga2V5b2YgTSkge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZShhdHRyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUHJvdmlkZXMgYSBmbHVlbnQgQVBJIHRvIGJ1aWxkIHF1ZXJ5IGNvbmRpdGlvbnNcbiAgICogQHN1bW1hcnkgQSBidWlsZGVyIGNsYXNzIHRoYXQgc2ltcGxpZmllcyB0aGUgY3JlYXRpb24gb2YgZGF0YWJhc2UgcXVlcnkgY29uZGl0aW9uc1xuICAgKiB3aXRoIGEgY2hhaW5hYmxlIGludGVyZmFjZSBmb3Igc2V0dGluZyBhdHRyaWJ1dGVzIGFuZCBvcGVyYXRvcnNcbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZSB0aGlzIGNvbmRpdGlvbiBidWlsZGVyIG9wZXJhdGVzIG9uXG4gICAqIEBjbGFzcyBDb25kaXRpb25CdWlsZGVyXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBCdWlsZGVyID0gY2xhc3MgQ29uZGl0aW9uQnVpbGRlcjxNIGV4dGVuZHMgTW9kZWw+XG4gICAgaW1wbGVtZW50cyBDb25kaXRpb25CdWlsZGVyT3B0aW9uPE0+LCBBdHRyaWJ1dGVPcHRpb248TT5cbiAge1xuICAgIGF0dHIxPzoga2V5b2YgTSB8IENvbmRpdGlvbjxNPiA9IHVuZGVmaW5lZDtcbiAgICBvcGVyYXRvcj86IE9wZXJhdG9yIHwgR3JvdXBPcGVyYXRvciA9IHVuZGVmaW5lZDtcbiAgICBjb21wYXJpc29uPzogYW55ID0gdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIGF0dHJpYnV0ZSBmb3IgdGhlIGNvbmRpdGlvblxuICAgICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB3aGljaCBtb2RlbCBhdHRyaWJ1dGUgdGhlIGNvbmRpdGlvbiB3aWxsIG9wZXJhdGUgb25cbiAgICAgKiBAcGFyYW0gYXR0ciAtIFRoZSBtb2RlbCBhdHRyaWJ1dGUgdG8gdXNlIGluIHRoZSBjb25kaXRpb25cbiAgICAgKiBAcmV0dXJuIHtBdHRyaWJ1dGVPcHRpb248TT59IFRoaXMgYnVpbGRlciBpbnN0YW5jZSBmb3IgbWV0aG9kIGNoYWluaW5nXG4gICAgICovXG4gICAgYXR0cmlidXRlKGF0dHI6IGtleW9mIE0pOiBBdHRyaWJ1dGVPcHRpb248TT4ge1xuICAgICAgdGhpcy5hdHRyMSA9IGF0dHI7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxpYXMgZm9yIHRoZSBhdHRyaWJ1dGUgbWV0aG9kXG4gICAgICogQHN1bW1hcnkgU2hvcnRoYW5kIG1ldGhvZCB0byBzcGVjaWZ5IHdoaWNoIG1vZGVsIGF0dHJpYnV0ZSB0aGUgY29uZGl0aW9uIHdpbGwgb3BlcmF0ZSBvblxuICAgICAqIEBwYXJhbSBhdHRyIC0gVGhlIG1vZGVsIGF0dHJpYnV0ZSB0byB1c2UgaW4gdGhlIGNvbmRpdGlvblxuICAgICAqIEByZXR1cm4ge0F0dHJpYnV0ZU9wdGlvbjxNPn0gVGhpcyBidWlsZGVyIGluc3RhbmNlIGZvciBtZXRob2QgY2hhaW5pbmdcbiAgICAgKi9cbiAgICBhdHRyKGF0dHI6IGtleW9mIE0pIHtcbiAgICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZShhdHRyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhbiBlcXVhbGl0eSBjb25kaXRpb25cbiAgICAgKiBAc3VtbWFyeSBCdWlsZHMgYSBjb25kaXRpb24gdGhhdCBjaGVja3MgaWYgdGhlIGF0dHJpYnV0ZSBlcXVhbHMgdGhlIHNwZWNpZmllZCB2YWx1ZVxuICAgICAqIEBwYXJhbSB7YW55fSB2YWwgLSBUaGUgdmFsdWUgdG8gY29tcGFyZSB0aGUgYXR0cmlidXRlIGFnYWluc3RcbiAgICAgKiBAcmV0dXJuIHtDb25kaXRpb248TT59IEEgbmV3IGNvbmRpdGlvbiByZXByZXNlbnRpbmcgdGhlIGVxdWFsaXR5IGNvbXBhcmlzb25cbiAgICAgKi9cbiAgICBlcSh2YWw6IGFueSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2V0T3AoT3BlcmF0b3IuRVFVQUwsIHZhbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYW4gaW5lcXVhbGl0eSBjb25kaXRpb25cbiAgICAgKiBAc3VtbWFyeSBCdWlsZHMgYSBjb25kaXRpb24gdGhhdCBjaGVja3MgaWYgdGhlIGF0dHJpYnV0ZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc3BlY2lmaWVkIHZhbHVlXG4gICAgICogQHBhcmFtIHthbnl9IHZhbCAtIFRoZSB2YWx1ZSB0byBjb21wYXJlIHRoZSBhdHRyaWJ1dGUgYWdhaW5zdFxuICAgICAqIEByZXR1cm4ge0NvbmRpdGlvbjxNPn0gQSBuZXcgY29uZGl0aW9uIHJlcHJlc2VudGluZyB0aGUgaW5lcXVhbGl0eSBjb21wYXJpc29uXG4gICAgICovXG4gICAgZGlmKHZhbDogYW55KSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXRPcChPcGVyYXRvci5ESUZGRVJFTlQsIHZhbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBncmVhdGVyIHRoYW4gY29uZGl0aW9uXG4gICAgICogQHN1bW1hcnkgQnVpbGRzIGEgY29uZGl0aW9uIHRoYXQgY2hlY2tzIGlmIHRoZSBhdHRyaWJ1dGUgaXMgZ3JlYXRlciB0aGFuIHRoZSBzcGVjaWZpZWQgdmFsdWVcbiAgICAgKiBAcGFyYW0ge2FueX0gdmFsIC0gVGhlIHZhbHVlIHRvIGNvbXBhcmUgdGhlIGF0dHJpYnV0ZSBhZ2FpbnN0XG4gICAgICogQHJldHVybiB7Q29uZGl0aW9uPE0+fSBBIG5ldyBjb25kaXRpb24gcmVwcmVzZW50aW5nIHRoZSBncmVhdGVyIHRoYW4gY29tcGFyaXNvblxuICAgICAqL1xuICAgIGd0KHZhbDogYW55KSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXRPcChPcGVyYXRvci5CSUdHRVIsIHZhbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBsZXNzIHRoYW4gY29uZGl0aW9uXG4gICAgICogQHN1bW1hcnkgQnVpbGRzIGEgY29uZGl0aW9uIHRoYXQgY2hlY2tzIGlmIHRoZSBhdHRyaWJ1dGUgaXMgbGVzcyB0aGFuIHRoZSBzcGVjaWZpZWQgdmFsdWVcbiAgICAgKiBAcGFyYW0ge2FueX0gdmFsIC0gVGhlIHZhbHVlIHRvIGNvbXBhcmUgdGhlIGF0dHJpYnV0ZSBhZ2FpbnN0XG4gICAgICogQHJldHVybiB7Q29uZGl0aW9uPE0+fSBBIG5ldyBjb25kaXRpb24gcmVwcmVzZW50aW5nIHRoZSBsZXNzIHRoYW4gY29tcGFyaXNvblxuICAgICAqL1xuICAgIGx0KHZhbDogYW55KSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXRPcChPcGVyYXRvci5TTUFMTEVSLCB2YWwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGNvbmRpdGlvblxuICAgICAqIEBzdW1tYXJ5IEJ1aWxkcyBhIGNvbmRpdGlvbiB0aGF0IGNoZWNrcyBpZiB0aGUgYXR0cmlidXRlIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgc3BlY2lmaWVkIHZhbHVlXG4gICAgICogQHBhcmFtIHthbnl9IHZhbCAtIFRoZSB2YWx1ZSB0byBjb21wYXJlIHRoZSBhdHRyaWJ1dGUgYWdhaW5zdFxuICAgICAqIEByZXR1cm4ge0NvbmRpdGlvbjxNPn0gQSBuZXcgY29uZGl0aW9uIHJlcHJlc2VudGluZyB0aGUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIGNvbXBhcmlzb25cbiAgICAgKi9cbiAgICBndGUodmFsOiBhbnkpIHtcbiAgICAgIHJldHVybiB0aGlzLnNldE9wKE9wZXJhdG9yLkJJR0dFUl9FUSwgdmFsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIGxlc3MgdGhhbiBvciBlcXVhbCB0byBjb25kaXRpb25cbiAgICAgKiBAc3VtbWFyeSBCdWlsZHMgYSBjb25kaXRpb24gdGhhdCBjaGVja3MgaWYgdGhlIGF0dHJpYnV0ZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZVxuICAgICAqIEBwYXJhbSB7YW55fSB2YWwgLSBUaGUgdmFsdWUgdG8gY29tcGFyZSB0aGUgYXR0cmlidXRlIGFnYWluc3RcbiAgICAgKiBAcmV0dXJuIHtDb25kaXRpb248TT59IEEgbmV3IGNvbmRpdGlvbiByZXByZXNlbnRpbmcgdGhlIGxlc3MgdGhhbiBvciBlcXVhbCBjb21wYXJpc29uXG4gICAgICovXG4gICAgbHRlKHZhbDogYW55KSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXRPcChPcGVyYXRvci5TTUFMTEVSX0VRLCB2YWwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGFuIGluY2x1c2lvbiBjb25kaXRpb25cbiAgICAgKiBAc3VtbWFyeSBCdWlsZHMgYSBjb25kaXRpb24gdGhhdCBjaGVja3MgaWYgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBpcyBpbmNsdWRlZCBpbiB0aGUgc3BlY2lmaWVkIGFycmF5XG4gICAgICogQHBhcmFtIHthbnlbXX0gYXJyIC0gVGhlIGFycmF5IG9mIHZhbHVlcyB0byBjaGVjayBhZ2FpbnN0XG4gICAgICogQHJldHVybiB7Q29uZGl0aW9uPE0+fSBBIG5ldyBjb25kaXRpb24gcmVwcmVzZW50aW5nIHRoZSBpbmNsdXNpb24gY29tcGFyaXNvblxuICAgICAqL1xuICAgIGluKGFycjogYW55W10pIHtcbiAgICAgIHJldHVybiB0aGlzLnNldE9wKE9wZXJhdG9yLklOLCBhcnIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgcmVndWxhciBleHByZXNzaW9uIGNvbmRpdGlvblxuICAgICAqIEBzdW1tYXJ5IEJ1aWxkcyBhIGNvbmRpdGlvbiB0aGF0IGNoZWNrcyBpZiB0aGUgYXR0cmlidXRlIG1hdGNoZXMgdGhlIHNwZWNpZmllZCByZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVyblxuICAgICAqIEBwYXJhbSB7YW55fSB2YWwgLSBUaGUgcmVndWxhciBleHByZXNzaW9uIHBhdHRlcm4gdG8gbWF0Y2ggYWdhaW5zdFxuICAgICAqIEByZXR1cm4ge0NvbmRpdGlvbjxNPn0gQSBuZXcgY29uZGl0aW9uIHJlcHJlc2VudGluZyB0aGUgcmVndWxhciBleHByZXNzaW9uIGNvbXBhcmlzb25cbiAgICAgKi9cbiAgICByZWdleHAodmFsOiBhbnkpIHtcbiAgICAgIHJldHVybiB0aGlzLnNldE9wKE9wZXJhdG9yLlJFR0VYUCwgbmV3IFJlZ0V4cCh2YWwpLnNvdXJjZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIG9wZXJhdG9yIGFuZCBjb21wYXJpc29uIHZhbHVlIGZvciB0aGUgY29uZGl0aW9uXG4gICAgICogQHN1bW1hcnkgUHJpdmF0ZSBtZXRob2QgdGhhdCBjb25maWd1cmVzIHRoZSBjb25kaXRpb24gd2l0aCB0aGUgc3BlY2lmaWVkIG9wZXJhdG9yIGFuZCB2YWx1ZVxuICAgICAqIEBwYXJhbSB7T3BlcmF0b3J9IG9wIC0gVGhlIG9wZXJhdG9yIHRvIHVzZSBmb3IgdGhlIGNvbmRpdGlvblxuICAgICAqIEBwYXJhbSB7YW55fSB2YWwgLSBUaGUgdmFsdWUgdG8gY29tcGFyZSBhZ2FpbnN0XG4gICAgICogQHJldHVybiB7Q29uZGl0aW9uPE0+fSBBIG5ldyBjb25kaXRpb24gd2l0aCB0aGUgc3BlY2lmaWVkIG9wZXJhdG9yIGFuZCB2YWx1ZVxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0T3Aob3A6IE9wZXJhdG9yLCB2YWw6IGFueSkge1xuICAgICAgdGhpcy5vcGVyYXRvciA9IG9wO1xuICAgICAgdGhpcy5jb21wYXJpc29uID0gdmFsO1xuICAgICAgcmV0dXJuIHRoaXMuYnVpbGQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ29uc3RydWN0cyBhIENvbmRpdGlvbiBpbnN0YW5jZSBmcm9tIHRoZSBidWlsZGVyJ3Mgc3RhdGVcbiAgICAgKiBAc3VtbWFyeSBGaW5hbGl6ZXMgdGhlIGNvbmRpdGlvbiBidWlsZGluZyBwcm9jZXNzIGJ5IGNyZWF0aW5nIGEgbmV3IENvbmRpdGlvbiBpbnN0YW5jZVxuICAgICAqIEB0aHJvd3Mge1F1ZXJ5RXJyb3J9IElmIHRoZSBjb25kaXRpb24gY2Fubm90IGJlIGJ1aWx0IGR1ZSB0byBpbnZhbGlkIHBhcmFtZXRlcnNcbiAgICAgKiBAcmV0dXJuIHtDb25kaXRpb248TT59IEEgbmV3IGNvbmRpdGlvbiBpbnN0YW5jZSB3aXRoIHRoZSBjb25maWd1cmVkIGF0dHJpYnV0ZXNcbiAgICAgKi9cbiAgICBwcml2YXRlIGJ1aWxkKCk6IENvbmRpdGlvbjxNPiB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbmV3IENvbmRpdGlvbihcbiAgICAgICAgICB0aGlzLmF0dHIxIGFzIHN0cmluZyB8IENvbmRpdGlvbjxNPixcbiAgICAgICAgICB0aGlzLm9wZXJhdG9yIGFzIE9wZXJhdG9yLFxuICAgICAgICAgIHRoaXMuY29tcGFyaXNvbiBhcyBhbnlcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihlKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IGNvbmRpdGlvbiBidWlsZGVyXG4gICAqIEBzdW1tYXJ5IEZhY3RvcnkgbWV0aG9kIHRoYXQgcmV0dXJucyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgY29uZGl0aW9uIGJ1aWxkZXJcbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZSB0aGlzIGNvbmRpdGlvbiBidWlsZGVyIHdpbGwgb3BlcmF0ZSBvblxuICAgKiBAcmV0dXJuIHtDb25kaXRpb25CdWlsZGVyT3B0aW9uPE0+fSBBIG5ldyBjb25kaXRpb24gYnVpbGRlciBpbnN0YW5jZVxuICAgKi9cbiAgc3RhdGljIGJ1aWxkZXI8TSBleHRlbmRzIE1vZGVsPigpOiBDb25kaXRpb25CdWlsZGVyT3B0aW9uPE0+IHtcbiAgICByZXR1cm4gbmV3IENvbmRpdGlvbi5CdWlsZGVyPE0+KCk7XG4gIH1cbn1cbiJdfQ==
341
+ //# sourceMappingURL=Condition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Condition.js","sourceRoot":"","sources":["../../src/query/Condition.ts"],"names":[],"mappings":"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"}
@@ -269,4 +269,4 @@ class MethodQueryBuilder {
269
269
  }
270
270
  }
271
271
  exports.MethodQueryBuilder = MethodQueryBuilder;
272
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWV0aG9kUXVlcnlCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L01ldGhvZFF1ZXJ5QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx1Q0FBcUU7QUFDckUsdUNBQXVDO0FBRXZDLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUUsQ0FDekMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBUTdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0RHO0FBQ0gsTUFBYSxrQkFBa0I7SUFDN0I7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBa0IsRUFBRSxHQUFHLE1BQWE7UUFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsbUJBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELG1EQUFtRDtRQUNuRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1QyxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQzdELElBQUks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LElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEQsT0FBTyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQTJCLENBQUM7UUFFbkQsSUFBSSxTQUFTLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRO1lBQzNELEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdkIsSUFBSSxTQUFTLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRO1lBQzNELE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFeEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBalBELGdEQWlQQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmRpdGlvbiwgT3JkZXJCeVNlbGVjdG9yIH0gZnJvbSBcIi4uL3F1ZXJ5XCI7XG5pbXBvcnQgeyBGaWx0ZXJEZXNjcmlwdG9yLCBRdWVyeUFzc2lzdCwgUXVlcnlDbGF1c2UgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgT3BlcmF0b3JzTWFwIH0gZnJvbSBcIi4vdXRpbHNcIjtcblxuY29uc3QgbG93ZXJGaXJzdCA9IChzdHI6IHN0cmluZyk6IHN0cmluZyA9PlxuICBzdHIuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyBzdHIuc2xpY2UoMSk7XG5cbmV4cG9ydCB0eXBlIE9yZGVyTGltaXRPZmZzZXRFeHRyYWN0ID0ge1xuICBvcmRlckJ5PzogT3JkZXJCeVNlbGVjdG9yPGFueT5bXTtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIG9mZnNldD86IG51bWJlcjtcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBVdGlsaXR5IGNsYXNzIHRvIGJ1aWxkIHF1ZXJ5IG9iamVjdHMgZnJvbSByZXBvc2l0b3J5IG1ldGhvZCBuYW1lcy5cbiAqXG4gKiBAc3VtbWFyeVxuICogVGhlIGBNZXRob2RRdWVyeUJ1aWxkZXJgIGNsYXNzIHBhcnNlcyBtZXRob2QgbmFtZXMgdGhhdCBmb2xsb3cgYSBzcGVjaWZpYyBuYW1pbmcgY29udmVudGlvblxuICogKGUuZy4sIGBmaW5kQnlOYW1lQW5kQWdlT3JkZXJCeUNvdW50cnlBc2NgKSBhbmQgY29udmVydHMgdGhlbSBpbnRvIHN0cnVjdHVyZWQgcXVlcnkgb2JqZWN0c1xuICogKGBRdWVyeUFzc2lzdGApLiBJdCBleHRyYWN0cyBjbGF1c2VzIHN1Y2ggYXMgYHNlbGVjdGAsIGB3aGVyZWAsIGBncm91cEJ5YCwgYG9yZGVyQnlgLCBgbGltaXRgLFxuICogYW5kIGBvZmZzZXRgLCBlbnN1cmluZyB0aGF0IGRldmVsb3BlcnMgY2FuIGRlY2xhcmUgcmVwb3NpdG9yeSBxdWVyaWVzIHVzaW5nIGV4cHJlc3NpdmUgbWV0aG9kIG5hbWVzLlxuICpcbiAqIEBwYXJhbSBtZXRob2ROYW1lIHtzdHJpbmd9IC0gVGhlIHJlcG9zaXRvcnkgbWV0aG9kIG5hbWUgdG8gcGFyc2UgYW5kIGNvbnZlcnQgaW50byBhIHF1ZXJ5LlxuICogQHBhcmFtIHZhbHVlcyB7YW55W119IC0gVGhlIHZhbHVlcyBjb3JyZXNwb25kaW5nIHRvIG1ldGhvZCBwYXJhbWV0ZXJzIHVzZWQgZm9yIHF1ZXJ5IGNvbmRpdGlvbnMuXG4gKlxuICogQHJldHVybiB7UXVlcnlBc3Npc3R9IEEgc3RydWN0dXJlZCBxdWVyeSBvYmplY3QgZGVzY3JpYmluZyB0aGUgcGFyc2VkIGFjdGlvbiwgc2VsZWN0LCB3aGVyZSxcbiAqIGdyb3VwQnksIG9yZGVyQnksIGxpbWl0LCBhbmQgb2Zmc2V0IGNsYXVzZXMuXG4gKlxuICogQGNsYXNzXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBjb25zdCBxdWVyeSA9IE1ldGhvZFF1ZXJ5QnVpbGRlci5idWlsZChcbiAqICAgXCJmaW5kQnlOYW1lQW5kQWdlT3JkZXJCeUNvdW50cnlBc2NcIixcbiAqICAgXCJKb2huXCIsXG4gKiAgIDI1LFxuICogICBbW1wiY291bnRyeVwiLCBcIkFTQ1wiXV1cbiAqICk7XG4gKlxuICogY29uc29sZS5sb2cocXVlcnkpO1xuICogLy8ge1xuICogLy8gICBhY3Rpb246IFwiZmluZFwiLFxuICogLy8gICBzZWxlY3Q6IHVuZGVmaW5lZCxcbiAqIC8vICAgd2hlcmU6IHsgLi4uIH0sXG4gKiAvLyAgIGdyb3VwQnk6IHVuZGVmaW5lZCxcbiAqIC8vICAgb3JkZXJCeTogW1tcImNvdW50cnlcIiwgXCJBU0NcIl1dLFxuICogLy8gICBsaW1pdDogdW5kZWZpbmVkLFxuICogLy8gICBvZmZzZXQ6IHVuZGVmaW5lZFxuICogLy8gfVxuICogYGBgXG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBSZXBvIGFzIFJlcG9zaXRvcnkgTWV0aG9kXG4gKiAgIHBhcnRpY2lwYW50IE1RQiBhcyBNZXRob2RRdWVyeUJ1aWxkZXJcbiAqICAgcGFydGljaXBhbnQgUXVlcnkgYXMgUXVlcnlBc3Npc3RcbiAqXG4gKiAgIFJlcG8tPj5NUUI6IGJ1aWxkKG1ldGhvZE5hbWUsIC4uLnZhbHVlcylcbiAqICAgTVFCLT4+TVFCOiBleHRyYWN0Q29yZShtZXRob2ROYW1lKVxuICogICBNUUItPj5NUUI6IGV4dHJhY3RTZWxlY3QobWV0aG9kTmFtZSlcbiAqICAgTVFCLT4+TVFCOiBleHRyYWN0R3JvdXBCeShtZXRob2ROYW1lKVxuICogICBNUUItPj5NUUI6IGJ1aWxkV2hlcmUoY29yZSwgdmFsdWVzKVxuICogICBNUUItPj5NUUI6IGV4dHJhY3RPcmRlckxpbWl0T2Zmc2V0KGNvcmUsIHZhbHVlcylcbiAqICAgTVFCLT4+UXVlcnk6IHJldHVybiBzdHJ1Y3R1cmVkIFF1ZXJ5QXNzaXN0IG9iamVjdFxuICovXG5leHBvcnQgY2xhc3MgTWV0aG9kUXVlcnlCdWlsZGVyIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBCdWlsZHMgYSBgUXVlcnlBc3Npc3RgIG9iamVjdCBieSBwYXJzaW5nIGEgcmVwb3NpdG9yeSBtZXRob2QgbmFtZSBhbmQgdmFsdWVzLlxuICAgKlxuICAgKiBAc3VtbWFyeVxuICAgKiBUaGUgbWV0aG9kIHZhbGlkYXRlcyB0aGUgbWV0aG9kIG5hbWUsIGV4dHJhY3RzIGNsYXVzZXMgKGNvcmUsIHNlbGVjdCwgZ3JvdXBCeSwgd2hlcmUsXG4gICAqIG9yZGVyQnksIGxpbWl0LCBhbmQgb2Zmc2V0KSwgYW5kIGFzc2VtYmxlcyB0aGVtIGludG8gYSBzdHJ1Y3R1cmVkIHF1ZXJ5IG9iamVjdFxuICAgKiB0aGF0IGNhbiBiZSBleGVjdXRlZCBhZ2FpbnN0IGEgZGF0YSBzb3VyY2UuXG4gICAqXG4gICAqIEBwYXJhbSBtZXRob2ROYW1lIHtzdHJpbmd9IC0gVGhlIHJlcG9zaXRvcnkgbWV0aG9kIG5hbWUgdGhhdCBlbmNvZGVzIHF1ZXJ5IGluZm9ybWF0aW9uLlxuICAgKiBAcGFyYW0gdmFsdWVzIHthbnlbXX0gLSBUaGUgdmFsdWVzIGNvcnJlc3BvbmRpbmcgdG8gY29uZGl0aW9ucyBhbmQgZXh0cmEgY2xhdXNlcy5cbiAgICpcbiAgICogQHJldHVybiB7UXVlcnlBc3Npc3R9IEEgc3RydWN0dXJlZCBxdWVyeSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBwYXJzZWQgcXVlcnkuXG4gICAqL1xuICBzdGF0aWMgYnVpbGQobWV0aG9kTmFtZTogc3RyaW5nLCAuLi52YWx1ZXM6IGFueVtdKTogUXVlcnlBc3Npc3Qge1xuICAgIGlmICghbWV0aG9kTmFtZS5zdGFydHNXaXRoKFF1ZXJ5Q2xhdXNlLkZJTkRfQlkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIG1ldGhvZCAke21ldGhvZE5hbWV9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29yZSA9IHRoaXMuZXh0cmFjdENvcmUobWV0aG9kTmFtZSk7XG4gICAgY29uc3Qgc2VsZWN0ID0gdGhpcy5leHRyYWN0U2VsZWN0KG1ldGhvZE5hbWUpO1xuICAgIGNvbnN0IGdyb3VwQnkgPSB0aGlzLmV4dHJhY3RHcm91cEJ5KG1ldGhvZE5hbWUpO1xuICAgIC8vIGNvbnN0IG9yZGVyQnkgPSB0aGlzLmV4dHJhY3RPcmRlckJ5KG1ldGhvZE5hbWUpO1xuICAgIGNvbnN0IHdoZXJlID0gdGhpcy5idWlsZFdoZXJlKGNvcmUsIHZhbHVlcyk7XG4gICAgY29uc3QgeyBvcmRlckJ5LCBsaW1pdCwgb2Zmc2V0IH0gPSB0aGlzLmV4dHJhY3RPcmRlckxpbWl0T2Zmc2V0KFxuICAgICAgY29yZSxcbiAgICAgIHZhbHVlc1xuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgYWN0aW9uOiBcImZpbmRcIixcbiAgICAgIHNlbGVjdDogc2VsZWN0LFxuICAgICAgd2hlcmUsXG4gICAgICBncm91cEJ5LFxuICAgICAgb3JkZXJCeSxcbiAgICAgIGxpbWl0LFxuICAgICAgb2Zmc2V0LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEV4dHJhY3RzIHRoZSBjb3JlIHBhcnQgb2YgdGhlIG1ldGhvZCBuYW1lIGFmdGVyIGBmaW5kQnlgIGFuZCBiZWZvcmUgYW55IHNwZWNpYWwgY2xhdXNlcy5cbiAgICpcbiAgICogQHN1bW1hcnlcbiAgICogUmVtb3ZlcyBwcmVmaXhlcyBhbmQgZGV0ZWN0cyBkZWxpbWl0ZXJzIChgVGhlbmAsIGBPcmRlckJ5YCwgYEdyb3VwQnlgLCBgTGltaXRgLCBgT2Zmc2V0YClcbiAgICogdG8gaXNvbGF0ZSB0aGUgbWFpbiBjb25kaXRpb25hbCBwYXJ0IG9mIHRoZSBxdWVyeS5cbiAgICpcbiAgICogQHBhcmFtIG1ldGhvZE5hbWUge3N0cmluZ30gLSBUaGUgbWV0aG9kIG5hbWUgdG8gcGFyc2UuXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGV4dHJhY3RlZCBjb3JlIHN0cmluZyB1c2VkIGZvciBidWlsZGluZyBjb25kaXRpb25zLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZXh0cmFjdENvcmUobWV0aG9kTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBhZnRlckZpbmRCeSA9IG1ldGhvZE5hbWUuc3Vic3RyaW5nKFF1ZXJ5Q2xhdXNlLkZJTkRfQlkubGVuZ3RoKTtcbiAgICBjb25zdCByZWdleCA9IC8oVGhlbltBLVpdfE9yZGVyQnl8R3JvdXBCeXxMaW1pdHxPZmZzZXQpLztcbiAgICBjb25zdCBtYXRjaCA9IGFmdGVyRmluZEJ5Lm1hdGNoKHJlZ2V4KTtcbiAgICByZXR1cm4gbWF0Y2ggPyBhZnRlckZpbmRCeS5zdWJzdHJpbmcoMCwgbWF0Y2guaW5kZXgpIDogYWZ0ZXJGaW5kQnk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEV4dHJhY3RzIHRoZSBzZWxlY3QgY2xhdXNlIGZyb20gYSBtZXRob2QgbmFtZS5cbiAgICpcbiAgICogQHN1bW1hcnlcbiAgICogRGV0ZWN0cyB0aGUgYFNlbGVjdGAga2V5d29yZCBpbiB0aGUgbWV0aG9kIG5hbWUsIGlzb2xhdGVzIHRoZSBmaWVsZHMgZm9sbG93aW5nIGl0LFxuICAgKiBhbmQgcmV0dXJucyB0aGVtIGFzIGFuIGFycmF5IG9mIGxvd2VyY2FzZS1maXJzdCBzdHJpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0gbWV0aG9kTmFtZSB7c3RyaW5nfSAtIFRoZSBtZXRob2QgbmFtZSB0byBwYXJzZS5cbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nW10gfCB1bmRlZmluZWR9IEFuIGFycmF5IG9mIHNlbGVjdGVkIGZpZWxkcyBvciBgdW5kZWZpbmVkYCBpZiBubyBzZWxlY3QgY2xhdXNlIGV4aXN0cy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGV4dHJhY3RTZWxlY3QobWV0aG9kTmFtZTogc3RyaW5nKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHNlbGVjdEluZGV4ID0gbWV0aG9kTmFtZS5pbmRleE9mKFF1ZXJ5Q2xhdXNlLlNFTEVDVCk7XG4gICAgaWYgKHNlbGVjdEluZGV4ID09PSAtMSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGFmdGVyU2VsZWN0ID0gbWV0aG9kTmFtZS5zdWJzdHJpbmcoXG4gICAgICBzZWxlY3RJbmRleCArIFF1ZXJ5Q2xhdXNlLlNFTEVDVC5sZW5ndGhcbiAgICApO1xuXG4gICAgLy8gU2VhcmNoIGZvciBuZXh0IFRoZW4sIEdyb3VwQnksIE9yZGVyQnkuLi5cbiAgICBjb25zdCBtYXRjaCA9IGFmdGVyU2VsZWN0Lm1hdGNoKC8oVGhlbltBLVpdfE9yZGVyQnl8R3JvdXBCeXxMaW1pdHxPZmZzZXQpLyk7XG5cbiAgICBjb25zdCBzZWxlY3RQYXJ0ID0gbWF0Y2hcbiAgICAgID8gYWZ0ZXJTZWxlY3Quc3Vic3RyaW5nKDAsIG1hdGNoLmluZGV4KVxuICAgICAgOiBhZnRlclNlbGVjdDtcblxuICAgIHJldHVybiBzZWxlY3RQYXJ0LnNwbGl0KFF1ZXJ5Q2xhdXNlLkFORCkubWFwKGxvd2VyRmlyc3QpLmZpbHRlcihCb29sZWFuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRXh0cmFjdHMgdGhlIGdyb3VwIGJ5IGNsYXVzZSBmcm9tIGEgbWV0aG9kIG5hbWUuXG4gICAqXG4gICAqIEBzdW1tYXJ5XG4gICAqIERldGVjdHMgdGhlIGBHcm91cEJ5YCBrZXl3b3JkIGluIHRoZSBtZXRob2QgbmFtZSwgaXNvbGF0ZXMgdGhlIGZpZWxkcyBmb2xsb3dpbmcgaXQsXG4gICAqIGFuZCByZXR1cm5zIHRoZW0gYXMgYW4gYXJyYXkgb2YgbG93ZXJjYXNlLWZpcnN0IHN0cmluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSBtZXRob2ROYW1lIHtzdHJpbmd9IC0gVGhlIG1ldGhvZCBuYW1lIHRvIHBhcnNlLlxuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmdbXSB8IHVuZGVmaW5lZH0gQW4gYXJyYXkgb2YgZ3JvdXAgYnkgZmllbGRzIG9yIGB1bmRlZmluZWRgIGlmIG5vIGdyb3VwIGJ5IGNsYXVzZSBleGlzdHMuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBleHRyYWN0R3JvdXBCeShtZXRob2ROYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZ3JvdXBCeUluZGV4ID0gbWV0aG9kTmFtZS5pbmRleE9mKFF1ZXJ5Q2xhdXNlLkdST1VQX0JZKTtcbiAgICBpZiAoZ3JvdXBCeUluZGV4ID09PSAtMSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGFmdGVyID0gbWV0aG9kTmFtZS5zdWJzdHJpbmcoXG4gICAgICBncm91cEJ5SW5kZXggKyBRdWVyeUNsYXVzZS5HUk9VUF9CWS5sZW5ndGhcbiAgICApO1xuICAgIGNvbnN0IGdyb3VwQnlQYXJ0ID0gYWZ0ZXIuc3BsaXQoUXVlcnlDbGF1c2UuT1JERVJfQlkpWzBdO1xuICAgIHJldHVybiBncm91cEJ5UGFydFxuICAgICAgLnNwbGl0KFF1ZXJ5Q2xhdXNlLlRIRU5fQlkpXG4gICAgICAubWFwKGxvd2VyRmlyc3QpXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICB9XG5cbiAgLy8gcHJpdmF0ZSBzdGF0aWMgZXh0cmFjdE9yZGVyQnkoXG4gIC8vICAgbWV0aG9kTmFtZTogc3RyaW5nXG4gIC8vICk6IE9yZGVyQnlTZWxlY3Rvcjxhbnk+W10gfCB1bmRlZmluZWQge1xuICAvLyAgIGNvbnN0IG9yZGVyQnlJbmRleCA9IG1ldGhvZE5hbWUuaW5kZXhPZihRdWVyeUNsYXVzZS5PUkRFUl9CWSk7XG4gIC8vICAgaWYgKG9yZGVyQnlJbmRleCA9PT0gLTEpIHJldHVybiB1bmRlZmluZWQ7XG4gIC8vXG4gIC8vICAgY29uc3QgYWZ0ZXIgPSBtZXRob2ROYW1lLnN1YnN0cmluZyhcbiAgLy8gICAgIG9yZGVyQnlJbmRleCArIFF1ZXJ5Q2xhdXNlLk9SREVSX0JZLmxlbmd0aFxuICAvLyAgICk7XG4gIC8vICAgY29uc3Qgb3JkZXJQYXJ0cyA9IGFmdGVyLnNwbGl0KFwiVGhlbkJ5XCIpO1xuICAvL1xuICAvLyAgIHJldHVybiBvcmRlclBhcnRzLm1hcCgocGFydCkgPT4ge1xuICAvLyAgICAgY29uc3QgbWF0Y2ggPSBwYXJ0Lm1hdGNoKC8oLio/KShBc2N8RGVzY3xEc2MpJC8pO1xuICAvLyAgICAgaWYgKCFtYXRjaCkgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE9yZGVyQnkgcGFydDogJHtwYXJ0fWApO1xuICAvLyAgICAgY29uc3QgWywgZmllbGQsIGRpcl0gPSBtYXRjaDtcbiAgLy8gICAgIHJldHVybiBbXG4gIC8vICAgICAgIGxvd2VyRmlyc3QoZmllbGQpLFxuICAvLyAgICAgICBkaXIudG9Mb3dlckNhc2UoKSA9PT0gXCJkc2NcIlxuICAvLyAgICAgICAgID8gT3JkZXJEaXJlY3Rpb24uRFNDXG4gIC8vICAgICAgICAgOiAoZGlyLnRvTG93ZXJDYXNlKCkgYXMgT3JkZXJEaXJlY3Rpb24pLFxuICAvLyAgICAgXTtcbiAgLy8gICB9KTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQnVpbGRzIHRoZSBgd2hlcmVgIGNvbmRpdGlvbiBvYmplY3QgYmFzZWQgb24gdGhlIHBhcnNlZCBjb3JlIHN0cmluZyBhbmQgcGFyYW1ldGVyIHZhbHVlcy5cbiAgICpcbiAgICogQHN1bW1hcnlcbiAgICogU3BsaXRzIHRoZSBjb3JlIHN0cmluZyBieSBsb2dpY2FsIG9wZXJhdG9ycyAoYEFuZGAsIGBPcmApLCBwYXJzZXMgZWFjaCB0b2tlbiBpbnRvIGEgZmllbGRcbiAgICogYW5kIG9wZXJhdG9yLCBhbmQgY29tYmluZXMgdGhlbSBpbnRvIGEgYENvbmRpdGlvbmAgb2JqZWN0IHVzaW5nIHRoZSBwcm92aWRlZCB2YWx1ZXMuXG4gICAqXG4gICAqIEBwYXJhbSBjb3JlIHtzdHJpbmd9IC0gVGhlIGV4dHJhY3RlZCBjb3JlIHN0cmluZyBmcm9tIHRoZSBtZXRob2QgbmFtZS5cbiAgICogQHBhcmFtIHZhbHVlcyB7YW55W119IC0gVGhlIHZhbHVlcyBjb3JyZXNwb25kaW5nIHRvIHRoZSBjb25kaXRpb25zLlxuICAgKlxuICAgKiBAcmV0dXJuIHtDb25kaXRpb248YW55Pn0gQSBzdHJ1Y3R1cmVkIGNvbmRpdGlvbiBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBxdWVyeSdzIHdoZXJlIGNsYXVzZS5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGJ1aWxkV2hlcmUoY29yZTogc3RyaW5nLCB2YWx1ZXM6IGFueVtdKTogQ29uZGl0aW9uPGFueT4ge1xuICAgIGNvbnN0IHBhcnRzID0gY29yZS5zcGxpdCgvT3JkZXJCeXxHcm91cEJ5LylbMF0gfHwgXCJcIjtcbiAgICBjb25zdCBjb25kaXRpb25zID0gcGFydHMuc3BsaXQoL0FuZHxPci8pO1xuXG4gICAgY29uc3Qgb3BlcmF0b3JzID0gY29yZS5tYXRjaCgvQW5kfE9yL2cpIHx8IFtdO1xuXG4gICAgbGV0IHdoZXJlOiBDb25kaXRpb248YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIGNvbmRpdGlvbnMuZm9yRWFjaCgodG9rZW4sIGlkeCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb3BlcmF0b3IgfSA9IHRoaXMucGFyc2VGaWVsZEFuZE9wZXJhdG9yKHRva2VuKTtcbiAgICAgIGNvbnN0IHBhcnNlciA9IG9wZXJhdG9yID8gT3BlcmF0b3JzTWFwW29wZXJhdG9yXSA6IE9wZXJhdG9yc01hcC5FcXVhbHM7XG4gICAgICBpZiAoIXBhcnNlcikgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBvcGVyYXRvciAke29wZXJhdG9yfWApO1xuXG4gICAgICBjb25zdCBjb25kaXRpb25WYWx1ZSA9IHZhbHVlc1tpZHhdO1xuICAgICAgaWYgKHR5cGVvZiBjb25kaXRpb25WYWx1ZSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdmFsdWUgZm9yIGZpZWxkICR7ZmllbGR9YCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbmRpdGlvbiA9IHBhcnNlcihmaWVsZCwgY29uZGl0aW9uVmFsdWUpO1xuICAgICAgd2hlcmUgPVxuICAgICAgICBpZHggPT09IDBcbiAgICAgICAgICA/IGNvbmRpdGlvblxuICAgICAgICAgIDogb3BlcmF0b3JzW2lkeCAtIDFdID09PSBRdWVyeUNsYXVzZS5BTkRcbiAgICAgICAgICAgID8gd2hlcmUhLmFuZChjb25kaXRpb24pXG4gICAgICAgICAgICA6IHdoZXJlIS5vcihjb25kaXRpb24pO1xuICAgIH0pO1xuXG4gICAgaWYgKCF3aGVyZSkgdGhyb3cgbmV3IEVycm9yKFwiTm8gY29uZGl0aW9ucyBmb3VuZCBpbiBtZXRob2QgbmFtZVwiKTtcbiAgICByZXR1cm4gd2hlcmU7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFBhcnNlcyBhIGZpZWxkIG5hbWUgYW5kIG9wZXJhdG9yIGZyb20gYSBzdHJpbmcgdG9rZW4uXG4gICAqXG4gICAqIEBzdW1tYXJ5XG4gICAqIElkZW50aWZpZXMgdGhlIG9wZXJhdG9yIHN1ZmZpeCAoaWYgcHJlc2VudCkgYW5kIHJldHVybnMgYSBkZXNjcmlwdG9yIGNvbnRhaW5pbmcgdGhlIGZpZWxkXG4gICAqIG5hbWUgaW4gbG93ZXJjYXNlLWZpcnN0IGZvcm1hdCBhbG9uZyB3aXRoIHRoZSBvcGVyYXRvci5cbiAgICpcbiAgICogQHBhcmFtIHN0ciB7c3RyaW5nfSAtIFRoZSB0b2tlbiBzdHJpbmcgdG8gcGFyc2UuXG4gICAqXG4gICAqIEByZXR1cm4ge0ZpbHRlckRlc2NyaXB0b3J9IEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBmaWVsZCBuYW1lIGFuZCBvcGVyYXRvci5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHBhcnNlRmllbGRBbmRPcGVyYXRvcihzdHI6IHN0cmluZyk6IEZpbHRlckRlc2NyaXB0b3Ige1xuICAgIGZvciAoY29uc3Qgb3BlcmF0b3Igb2YgT2JqZWN0LmtleXMoT3BlcmF0b3JzTWFwKSkge1xuICAgICAgaWYgKHN0ci5lbmRzV2l0aChvcGVyYXRvcikpIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSBzdHIuc2xpY2UoMCwgLW9wZXJhdG9yLmxlbmd0aCk7XG4gICAgICAgIHJldHVybiB7IGZpZWxkOiBsb3dlckZpcnN0KGZpZWxkKSwgb3BlcmF0b3IgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgZmllbGQ6IGxvd2VyRmlyc3Qoc3RyKSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFeHRyYWN0cyBgb3JkZXJCeWAsIGBsaW1pdGAsIGFuZCBgb2Zmc2V0YCBjbGF1c2VzIGZyb20gbWV0aG9kIGFyZ3VtZW50cy5cbiAgICpcbiAgICogQHN1bW1hcnlcbiAgICogRGV0ZXJtaW5lcyB0aGUgbnVtYmVyIG9mIGNvbmRpdGlvbiBhcmd1bWVudHMsIHRoZW4gY2hlY2tzIHRoZSByZW1haW5pbmcgYXJndW1lbnRzXG4gICAqIHRvIHJlc29sdmUgc29ydGluZywgbGltaXRpbmcsIGFuZCBwYWdpbmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gY29yZSB7c3RyaW5nfSAtIFRoZSBleHRyYWN0ZWQgY29yZSBzdHJpbmcgZnJvbSB0aGUgbWV0aG9kIG5hbWUuXG4gICAqIEBwYXJhbSB2YWx1ZXMge2FueVtdfSAtIFRoZSB2YWx1ZXMgY29ycmVzcG9uZGluZyB0byBtZXRob2QgYXJndW1lbnRzLCBpbmNsdWRpbmcgY29uZGl0aW9ucyBhbmQgZXh0cmFzLlxuICAgKlxuICAgKiBAcmV0dXJuIHtPcmRlckxpbWl0T2Zmc2V0RXh0cmFjdH0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgb3JkZXJCeSwgbGltaXQsIGFuZCBvZmZzZXQgdmFsdWVzIGlmIHByZXNlbnQuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBleHRyYWN0T3JkZXJMaW1pdE9mZnNldChcbiAgICBjb3JlOiBzdHJpbmcsXG4gICAgdmFsdWVzOiBhbnlbXVxuICApOiBPcmRlckxpbWl0T2Zmc2V0RXh0cmFjdCB7XG4gICAgY29uc3QgY29uZGl0aW9uQ291bnQgPSBjb3JlLnNwbGl0KC9BbmR8T3IvKS5sZW5ndGg7XG4gICAgY29uc3QgZXh0cmFBcmdzID0gdmFsdWVzLnNsaWNlKGNvbmRpdGlvbkNvdW50KTtcblxuICAgIGxldCBvcmRlckJ5OiBPcmRlckJ5U2VsZWN0b3I8YW55PltdIHwgdW5kZWZpbmVkO1xuICAgIGxldCBsaW1pdDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGxldCBvZmZzZXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAgIGlmIChleHRyYUFyZ3MubGVuZ3RoID49IDEgJiYgQXJyYXkuaXNBcnJheShleHRyYUFyZ3NbMF0pKVxuICAgICAgb3JkZXJCeSA9IGV4dHJhQXJnc1swXSBhcyBPcmRlckJ5U2VsZWN0b3I8YW55PltdO1xuXG4gICAgaWYgKGV4dHJhQXJncy5sZW5ndGggPj0gMiAmJiB0eXBlb2YgZXh0cmFBcmdzWzFdID09PSBcIm51bWJlclwiKVxuICAgICAgbGltaXQgPSBleHRyYUFyZ3NbMV07XG5cbiAgICBpZiAoZXh0cmFBcmdzLmxlbmd0aCA+PSAzICYmIHR5cGVvZiBleHRyYUFyZ3NbMl0gPT09IFwibnVtYmVyXCIpXG4gICAgICBvZmZzZXQgPSBleHRyYUFyZ3NbMl07XG5cbiAgICByZXR1cm4geyBvcmRlckJ5LCBsaW1pdCwgb2Zmc2V0IH07XG4gIH1cbn1cbiJdfQ==
272
+ //# sourceMappingURL=MethodQueryBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MethodQueryBuilder.js","sourceRoot":"","sources":["../../src/query/MethodQueryBuilder.ts"],"names":[],"mappings":";;;AACA,uCAAqE;AACrE,uCAAuC;AAEvC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAU,EAAE,CACzC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAQ7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAa,kBAAkB;IAC7B;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,CAAC,UAAkB,EAAE,GAAG,MAAa;QAC/C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,mBAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAChD,mDAAmD;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAC7D,IAAI,EACJ,MAAM,CACP,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,KAAK;YACL,OAAO;YACP,OAAO;YACP,KAAK;YACL,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACK,MAAM,CAAC,WAAW,CAAC,UAAkB;QAC3C,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,mBAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,0CAA0C,CAAC;QACzD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;OAWG;IACK,MAAM,CAAC,aAAa,CAAC,UAAkB;QAC7C,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,mBAAW,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,WAAW,KAAK,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CACtC,WAAW,GAAG,mBAAW,CAAC,MAAM,CAAC,MAAM,CACxC,CAAC;QAEF,4CAA4C;QAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAE5E,MAAM,UAAU,GAAG,KAAK;YACtB,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;YACvC,CAAC,CAAC,WAAW,CAAC;QAEhB,OAAO,UAAU,CAAC,KAAK,CAAC,mBAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;OAWG;IACK,MAAM,CAAC,cAAc,CAAC,UAAkB;QAC9C,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,mBAAW,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,YAAY,KAAK,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QAE1C,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAChC,YAAY,GAAG,mBAAW,CAAC,QAAQ,CAAC,MAAM,CAC3C,CAAC;QACF,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,WAAW;aACf,KAAK,CAAC,mBAAW,CAAC,OAAO,CAAC;aAC1B,GAAG,CAAC,UAAU,CAAC;aACf,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,iCAAiC;IACjC,uBAAuB;IACvB,0CAA0C;IAC1C,mEAAmE;IACnE,+CAA+C;IAC/C,EAAE;IACF,wCAAwC;IACxC,iDAAiD;IACjD,OAAO;IACP,8CAA8C;IAC9C,EAAE;IACF,sCAAsC;IACtC,wDAAwD;IACxD,oEAAoE;IACpE,oCAAoC;IACpC,eAAe;IACf,2BAA2B;IAC3B,oCAAoC;IACpC,+BAA+B;IAC/B,mDAAmD;IACnD,SAAS;IACT,QAAQ;IACR,IAAI;IAEJ;;;;;;;;;;;;OAYG;IACK,MAAM,CAAC,UAAU,CAAC,IAAY,EAAE,MAAa;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAE9C,IAAI,KAAiC,CAAC;QAEtC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAChC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,oBAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,oBAAY,CAAC,MAAM,CAAC;YACvE,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;YAEjE,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAChD,KAAK;gBACH,GAAG,KAAK,CAAC;oBACP,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,mBAAW,CAAC,GAAG;wBACtC,CAAC,CAAC,KAAM,CAAC,GAAG,CAAC,SAAS,CAAC;wBACvB,CAAC,CAAC,KAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;OAWG;IACK,MAAM,CAAC,qBAAqB,CAAC,GAAW;QAC9C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAY,CAAC,EAAE,CAAC;YACjD,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC7C,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;YAChD,CAAC;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,MAAM,CAAC,uBAAuB,CACpC,IAAY,EACZ,MAAa;QAEb,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE/C,IAAI,OAA2C,CAAC;QAChD,IAAI,KAAyB,CAAC;QAC9B,IAAI,MAA0B,CAAC;QAE/B,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACtD,OAAO,GAAG,SAAS,CAAC,CAAC,CAA2B,CAAC;QAEnD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ;YAC3D,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAEvB,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ;YAC3D,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAExB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;CACF;AAjPD,gDAiPC"}
@@ -94,4 +94,4 @@ class Paginator {
94
94
  }
95
95
  }
96
96
  exports.Paginator = Paginator;
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnaW5hdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L1BhZ2luYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBdUM7QUFJdkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1REc7QUFDSCxNQUFzQixTQUFTO0lBUTdCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQWMsU0FBUztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFDcUIsT0FBdUMsRUFDdkMsS0FBUSxFQUNsQixJQUFZLEVBQ0YsS0FBcUI7UUFIckIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0M7UUFDdkMsVUFBSyxHQUFMLEtBQUssQ0FBRztRQUNsQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ0YsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFDdkMsQ0FBQztJQUlKLEtBQUssQ0FBQyxJQUFJO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVTLFlBQVksQ0FBQyxJQUFZO1FBQ2pDLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxvQkFBVyxDQUNuQixzREFBc0QsQ0FDdkQsQ0FBQztRQUNKLElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFdBQVcsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVc7WUFDcEUsTUFBTSxJQUFJLG9CQUFXLENBQ25CLFFBQVEsSUFBSSxDQUFDLFdBQVcscUNBQXFDLElBQUksRUFBRSxDQUNwRSxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBR0Y7QUF2REQsOEJBdURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnaW5nRXJyb3IgfSBmcm9tIFwiLi9lcnJvcnNcIjtcbmltcG9ydCB7IEFkYXB0ZXIgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2VcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSGFuZGxlcyBwYWdpbmF0aW9uIGZvciBkYXRhYmFzZSBxdWVyaWVzXG4gKiBAc3VtbWFyeSBQcm92aWRlcyBmdW5jdGlvbmFsaXR5IGZvciBuYXZpZ2F0aW5nIHRocm91Z2ggcGFnaW5hdGVkIHF1ZXJ5IHJlc3VsdHNcbiAqXG4gKiBUaGlzIGFic3RyYWN0IGNsYXNzIG1hbmFnZXMgdGhlIHN0YXRlIGFuZCBuYXZpZ2F0aW9uIG9mIHBhZ2luYXRlZCBkYXRhYmFzZSBxdWVyeSByZXN1bHRzLlxuICogSXQgdHJhY2tzIHRoZSBjdXJyZW50IHBhZ2UsIHRvdGFsIHBhZ2VzLCBhbmQgcmVjb3JkIGNvdW50LCBhbmQgcHJvdmlkZXMgbWV0aG9kcyBmb3JcbiAqIG1vdmluZyBiZXR3ZWVuIHBhZ2VzLlxuICpcbiAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGUgdGhpcyBwYWdpbmF0b3Igb3BlcmF0ZXMgb25cbiAqIEB0ZW1wbGF0ZSBSIC0gVGhlIHJldHVybiB0eXBlIG9mIHRoZSBwYWdpbmF0ZWQgcXVlcnkgKGRlZmF1bHRzIHRvIE1bXSlcbiAqIEB0ZW1wbGF0ZSBRIC0gVGhlIHF1ZXJ5IHR5cGUgKGRlZmF1bHRzIHRvIGFueSlcbiAqIEBwYXJhbSB7QWRhcHRlcjxhbnksIFEsIGFueSwgYW55Pn0gYWRhcHRlciAtIFRoZSBkYXRhYmFzZSBhZGFwdGVyIHRvIHVzZSBmb3IgZXhlY3V0aW5nIHF1ZXJpZXNcbiAqIEBwYXJhbSB7UX0gcXVlcnkgLSBUaGUgcXVlcnkgdG8gcGFnaW5hdGVcbiAqIEBwYXJhbSB7bnVtYmVyfSBzaXplIC0gVGhlIG51bWJlciBvZiByZWNvcmRzIHBlciBwYWdlXG4gKiBAcGFyYW0ge0NvbnN0cnVjdG9yPE0+fSBjbGF6eiAtIFRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIG1vZGVsIHR5cGVcbiAqIEBjbGFzcyBQYWdpbmF0b3JcbiAqIEBleGFtcGxlXG4gKiAvLyBDcmVhdGUgYSBwYWdpbmF0b3IgZm9yIGEgdXNlciBxdWVyeVxuICogY29uc3QgdXNlclF1ZXJ5ID0gZGIuc2VsZWN0KCkuZnJvbShVc2VyKTtcbiAqIGNvbnN0IHBhZ2luYXRvciA9IGF3YWl0IHVzZXJRdWVyeS5wYWdpbmF0ZSgxMCk7IC8vIDEwIHVzZXJzIHBlciBwYWdlXG4gKlxuICogLy8gR2V0IHRoZSBmaXJzdCBwYWdlIG9mIHJlc3VsdHNcbiAqIGNvbnN0IGZpcnN0UGFnZSA9IGF3YWl0IHBhZ2luYXRvci5wYWdlKDEpO1xuICpcbiAqIC8vIE5hdmlnYXRlIHRvIHRoZSBuZXh0IHBhZ2VcbiAqIGNvbnN0IHNlY29uZFBhZ2UgPSBhd2FpdCBwYWdpbmF0b3IubmV4dCgpO1xuICpcbiAqIC8vIEdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcGFnaW5hdGlvblxuICogY29uc29sZS5sb2coYFBhZ2UgJHtwYWdpbmF0b3IuY3VycmVudH0gb2YgJHtwYWdpbmF0b3IudG90YWx9LCAke3BhZ2luYXRvci5jb3VudH0gdG90YWwgcmVjb3Jkc2ApO1xuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQ2xpZW50XG4gKiAgIHBhcnRpY2lwYW50IFBhZ2luYXRvclxuICogICBwYXJ0aWNpcGFudCBBZGFwdGVyXG4gKiAgIHBhcnRpY2lwYW50IERhdGFiYXNlXG4gKlxuICogICBDbGllbnQtPj5QYWdpbmF0b3I6IG5ldyBQYWdpbmF0b3IoYWRhcHRlciwgcXVlcnksIHNpemUsIGNsYXp6KVxuICogICBDbGllbnQtPj5QYWdpbmF0b3I6IHBhZ2UoMSlcbiAqICAgUGFnaW5hdG9yLT4+UGFnaW5hdG9yOiB2YWxpZGF0ZVBhZ2UoMSlcbiAqICAgUGFnaW5hdG9yLT4+UGFnaW5hdG9yOiBwcmVwYXJlKHF1ZXJ5KVxuICogICBQYWdpbmF0b3ItPj5BZGFwdGVyOiBleGVjdXRlIHF1ZXJ5IHdpdGggcGFnaW5hdGlvblxuICogICBBZGFwdGVyLT4+RGF0YWJhc2U6IGV4ZWN1dGUgcXVlcnlcbiAqICAgRGF0YWJhc2UtLT4+QWRhcHRlcjogcmV0dXJuIHJlc3VsdHNcbiAqICAgQWRhcHRlci0tPj5QYWdpbmF0b3I6IHJldHVybiByZXN1bHRzXG4gKiAgIFBhZ2luYXRvci0tPj5DbGllbnQ6IHJldHVybiBwYWdlIHJlc3VsdHNcbiAqXG4gKiAgIENsaWVudC0+PlBhZ2luYXRvcjogbmV4dCgpXG4gKiAgIFBhZ2luYXRvci0+PlBhZ2luYXRvcjogcGFnZShjdXJyZW50ICsgMSlcbiAqICAgUGFnaW5hdG9yLT4+UGFnaW5hdG9yOiB2YWxpZGF0ZVBhZ2UoY3VycmVudCArIDEpXG4gKiAgIFBhZ2luYXRvci0+PkFkYXB0ZXI6IGV4ZWN1dGUgcXVlcnkgd2l0aCBwYWdpbmF0aW9uXG4gKiAgIEFkYXB0ZXItPj5EYXRhYmFzZTogZXhlY3V0ZSBxdWVyeVxuICogICBEYXRhYmFzZS0tPj5BZGFwdGVyOiByZXR1cm4gcmVzdWx0c1xuICogICBBZGFwdGVyLS0+PlBhZ2luYXRvcjogcmV0dXJuIHJlc3VsdHNcbiAqICAgUGFnaW5hdG9yLS0+PkNsaWVudDogcmV0dXJuIHBhZ2UgcmVzdWx0c1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFnaW5hdG9yPE0gZXh0ZW5kcyBNb2RlbCwgUiA9IE1bXSwgUSA9IGFueT4ge1xuICBwcm90ZWN0ZWQgX2N1cnJlbnRQYWdlITogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX3RvdGFsUGFnZXMhOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfcmVjb3JkQ291bnQhOiBudW1iZXI7XG4gIHByb3RlY3RlZCBsaW1pdCE6IG51bWJlcjtcblxuICBwcml2YXRlIF9zdGF0ZW1lbnQ/OiBRO1xuXG4gIGdldCBjdXJyZW50KCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50UGFnZTtcbiAgfVxuXG4gIGdldCB0b3RhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdG90YWxQYWdlcztcbiAgfVxuXG4gIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9yZWNvcmRDb3VudDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgc3RhdGVtZW50KCkge1xuICAgIGlmICghdGhpcy5fc3RhdGVtZW50KSB0aGlzLl9zdGF0ZW1lbnQgPSB0aGlzLnByZXBhcmUodGhpcy5xdWVyeSk7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlbWVudDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWRhcHRlcjogQWRhcHRlcjxhbnksIGFueSwgUSwgYW55LCBhbnk+LFxuICAgIHByb3RlY3RlZCByZWFkb25seSBxdWVyeTogUSxcbiAgICByZWFkb25seSBzaXplOiBudW1iZXIsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNsYXp6OiBDb25zdHJ1Y3RvcjxNPlxuICApIHt9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHByZXBhcmUocmF3U3RhdGVtZW50OiBRKTogUTtcblxuICBhc3luYyBuZXh0KCkge1xuICAgIHJldHVybiB0aGlzLnBhZ2UodGhpcy5jdXJyZW50ICsgMSk7XG4gIH1cblxuICBhc3luYyBwcmV2aW91cygpIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlKHRoaXMuY3VycmVudCAtIDEpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHZhbGlkYXRlUGFnZShwYWdlOiBudW1iZXIpIHtcbiAgICBpZiAocGFnZSA8IDEgfHwgIU51bWJlci5pc0ludGVnZXIocGFnZSkpXG4gICAgICB0aHJvdyBuZXcgUGFnaW5nRXJyb3IoXG4gICAgICAgIFwiUGFnZSBudW1iZXIgY2Fubm90IGJlIHVuZGVyIDEgYW5kIG11c3QgYmUgYW4gaW50ZWdlclwiXG4gICAgICApO1xuICAgIGlmICh0eXBlb2YgdGhpcy5fdG90YWxQYWdlcyAhPT0gXCJ1bmRlZmluZWRcIiAmJiBwYWdlID4gdGhpcy5fdG90YWxQYWdlcylcbiAgICAgIHRocm93IG5ldyBQYWdpbmdFcnJvcihcbiAgICAgICAgYE9ubHkgJHt0aGlzLl90b3RhbFBhZ2VzfSBhcmUgYXZhaWxhYmxlLiBDYW5ub3QgZ28gdG8gcGFnZSAke3BhZ2V9YFxuICAgICAgKTtcbiAgICByZXR1cm4gcGFnZTtcbiAgfVxuXG4gIGFic3RyYWN0IHBhZ2UocGFnZT86IG51bWJlcik6IFByb21pc2U8UltdPjtcbn1cbiJdfQ==
97
+ //# sourceMappingURL=Paginator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Paginator.js","sourceRoot":"","sources":["../../src/query/Paginator.ts"],"names":[],"mappings":";;;AAAA,yCAAuC;AAIvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAsB,SAAS;IAQ7B,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAc,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,YACqB,OAAuC,EACvC,KAAQ,EAClB,IAAY,EACF,KAAqB;QAHrB,YAAO,GAAP,OAAO,CAAgC;QACvC,UAAK,GAAL,KAAK,CAAG;QAClB,SAAI,GAAJ,IAAI,CAAQ;QACF,UAAK,GAAL,KAAK,CAAgB;IACvC,CAAC;IAIJ,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC;IAES,YAAY,CAAC,IAAY;QACjC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YACrC,MAAM,IAAI,oBAAW,CACnB,sDAAsD,CACvD,CAAC;QACJ,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW;YACpE,MAAM,IAAI,oBAAW,CACnB,QAAQ,IAAI,CAAC,WAAW,qCAAqC,IAAI,EAAE,CACpE,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;CAGF;AAvDD,8BAuDC"}