ts2famix 2.1.0-beta.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/.eslintrc.json +24 -24
  2. package/LICENSE +24 -24
  3. package/README.md +78 -78
  4. package/dist/analyze.js +20 -10
  5. package/dist/analyze_functions/process_functions.js +109 -69
  6. package/dist/famix_functions/EntityDictionary.js +691 -606
  7. package/dist/famix_functions/helpers_creation.js +35 -19
  8. package/dist/fqn.js +351 -18
  9. package/dist/lib/famix/famix_JSON_exporter.js +1 -1
  10. package/dist/lib/famix/famix_base_element.js +1 -1
  11. package/dist/lib/famix/famix_repository.js +31 -12
  12. package/dist/lib/famix/index.js +18 -8
  13. package/dist/lib/famix/model/famix/access.js +1 -1
  14. package/dist/lib/famix/model/famix/accessor.js +1 -1
  15. package/dist/lib/famix/model/famix/alias.js +1 -1
  16. package/dist/lib/famix/model/famix/arrow_function.js +1 -1
  17. package/dist/lib/famix/model/famix/behavioral_entity.js +1 -1
  18. package/dist/lib/famix/model/famix/class.js +1 -1
  19. package/dist/lib/famix/model/famix/comment.js +1 -1
  20. package/dist/lib/famix/model/famix/concretisation.js +1 -1
  21. package/dist/lib/famix/model/famix/container_entity.js +1 -1
  22. package/dist/lib/famix/model/famix/decorator.js +1 -1
  23. package/dist/lib/famix/model/famix/entity.js +1 -1
  24. package/dist/lib/famix/model/famix/enum.js +1 -1
  25. package/dist/lib/famix/model/famix/enum_value.js +1 -1
  26. package/dist/lib/famix/model/famix/function.js +1 -1
  27. package/dist/lib/famix/model/famix/import_clause.js +1 -1
  28. package/dist/lib/famix/model/famix/index.js +1 -1
  29. package/dist/lib/famix/model/famix/indexed_file_anchor.js +1 -1
  30. package/dist/lib/famix/model/famix/inheritance.js +1 -1
  31. package/dist/lib/famix/model/famix/interface.js +1 -1
  32. package/dist/lib/famix/model/famix/invocation.js +1 -1
  33. package/dist/lib/famix/model/famix/method.js +1 -1
  34. package/dist/lib/famix/model/famix/module.js +2 -2
  35. package/dist/lib/famix/model/famix/named_entity.js +1 -1
  36. package/dist/lib/famix/model/famix/parameter.js +1 -1
  37. package/dist/lib/famix/model/famix/parameter_concretisation.js +1 -1
  38. package/dist/lib/famix/model/famix/parameter_type.js +1 -1
  39. package/dist/lib/famix/model/famix/parametric_arrow_function.js +1 -1
  40. package/dist/lib/famix/model/famix/parametric_class.js +1 -1
  41. package/dist/lib/famix/model/famix/parametric_function.js +1 -1
  42. package/dist/lib/famix/model/famix/parametric_interface.js +1 -1
  43. package/dist/lib/famix/model/famix/parametric_method.js +1 -1
  44. package/dist/lib/famix/model/famix/primitive_type.js +1 -1
  45. package/dist/lib/famix/model/famix/property.js +1 -1
  46. package/dist/lib/famix/model/famix/reference.js +1 -1
  47. package/dist/lib/famix/model/famix/scoping_entity.js +1 -1
  48. package/dist/lib/famix/model/famix/script_entity.js +1 -1
  49. package/dist/lib/famix/model/famix/source_anchor.js +1 -1
  50. package/dist/lib/famix/model/famix/source_language.js +1 -1
  51. package/dist/lib/famix/model/famix/sourced_entity.js +1 -1
  52. package/dist/lib/famix/model/famix/structural_entity.js +1 -1
  53. package/dist/lib/famix/model/famix/type.js +1 -1
  54. package/dist/lib/famix/model/famix/variable.js +1 -1
  55. package/dist/lib/ts-complex/cyclomatic-service.js +1 -1
  56. package/dist/refactorer/refactor-getter-setter.js +18 -8
  57. package/dist/ts2famix-cli-wrapper.js +18 -8
  58. package/dist/ts2famix-cli.js +18 -8
  59. package/dist/ts2famix-tsconfig.js +18 -8
  60. package/doc-uml/famix-typescript-model.puml +619 -607
  61. package/doc-uml/famix-typescript-model.svg +1 -1
  62. package/eslint.config.mjs +28 -28
  63. package/jest.config.json +1 -1
  64. package/package.json +70 -70
  65. package/src/analyze.ts +120 -120
  66. package/src/analyze_functions/process_functions.ts +1069 -1040
  67. package/src/famix_functions/EntityDictionary.ts +2061 -2016
  68. package/src/famix_functions/helpers_creation.ts +143 -135
  69. package/src/fqn.ts +416 -50
  70. package/src/generate_uml.sh +20 -20
  71. package/src/lib/famix/License.md +22 -22
  72. package/src/lib/famix/famix_JSON_exporter.ts +56 -56
  73. package/src/lib/famix/famix_base_element.ts +22 -22
  74. package/src/lib/famix/famix_repository.ts +288 -278
  75. package/src/lib/famix/index.ts +8 -8
  76. package/src/lib/famix/model/famix/access.ts +50 -50
  77. package/src/lib/famix/model/famix/accessor.ts +15 -15
  78. package/src/lib/famix/model/famix/alias.ts +39 -39
  79. package/src/lib/famix/model/famix/arrow_function.ts +15 -15
  80. package/src/lib/famix/model/famix/behavioral_entity.ts +97 -97
  81. package/src/lib/famix/model/famix/class.ts +85 -85
  82. package/src/lib/famix/model/famix/comment.ts +47 -47
  83. package/src/lib/famix/model/famix/concretisation.ts +40 -40
  84. package/src/lib/famix/model/famix/container_entity.ts +160 -160
  85. package/src/lib/famix/model/famix/decorator.ts +37 -37
  86. package/src/lib/famix/model/famix/entity.ts +15 -15
  87. package/src/lib/famix/model/famix/enum.ts +30 -30
  88. package/src/lib/famix/model/famix/enum_value.ts +28 -28
  89. package/src/lib/famix/model/famix/function.ts +15 -15
  90. package/src/lib/famix/model/famix/import_clause.ts +51 -51
  91. package/src/lib/famix/model/famix/index.ts +41 -41
  92. package/src/lib/famix/model/famix/indexed_file_anchor.ts +46 -46
  93. package/src/lib/famix/model/famix/inheritance.ts +40 -40
  94. package/src/lib/famix/model/famix/interface.ts +75 -75
  95. package/src/lib/famix/model/famix/invocation.ts +65 -65
  96. package/src/lib/famix/model/famix/method.ts +89 -89
  97. package/src/lib/famix/model/famix/module.ts +71 -71
  98. package/src/lib/famix/model/famix/named_entity.ts +95 -95
  99. package/src/lib/famix/model/famix/parameter.ts +28 -28
  100. package/src/lib/famix/model/famix/parameter_concretisation.ts +51 -51
  101. package/src/lib/famix/model/famix/parameter_type.ts +58 -58
  102. package/src/lib/famix/model/famix/parametric_arrow_function.ts +32 -32
  103. package/src/lib/famix/model/famix/parametric_class.ts +49 -49
  104. package/src/lib/famix/model/famix/parametric_function.ts +32 -32
  105. package/src/lib/famix/model/famix/parametric_interface.ts +49 -49
  106. package/src/lib/famix/model/famix/parametric_method.ts +32 -32
  107. package/src/lib/famix/model/famix/primitive_type.ts +15 -15
  108. package/src/lib/famix/model/famix/property.ts +94 -94
  109. package/src/lib/famix/model/famix/reference.ts +40 -40
  110. package/src/lib/famix/model/famix/scoping_entity.ts +35 -35
  111. package/src/lib/famix/model/famix/script_entity.ts +34 -34
  112. package/src/lib/famix/model/famix/source_anchor.ts +30 -30
  113. package/src/lib/famix/model/famix/source_language.ts +35 -35
  114. package/src/lib/famix/model/famix/sourced_entity.ts +70 -70
  115. package/src/lib/famix/model/famix/structural_entity.ts +43 -43
  116. package/src/lib/famix/model/famix/type.ts +87 -87
  117. package/src/lib/famix/model/famix/variable.ts +27 -27
  118. package/src/lib/famix/package.json +28 -28
  119. package/src/lib/ts-complex/cyclomatic-service.ts +83 -83
  120. package/src/refactorer/refactor-getter-setter.ts +140 -140
  121. package/src/ts2famix-cli-wrapper.ts +21 -21
  122. package/src/ts2famix-cli.ts +60 -60
  123. package/tsconfig.check-tests.json +14 -14
  124. package/tsconfig.json +73 -72
  125. package/.vscode/settings.json +0 -4
  126. package/TODO +0 -1
  127. package/arwea-fix.json +0 -1
  128. package/bogus.ts +0 -3
  129. package/class-diagram.puml +0 -792
  130. package/debug.txt +0 -13332
  131. package/debuglog.txt +0 -12073
  132. package/dist/famix2puml.js +0 -126
  133. package/dist/getClasses-arrow-body.js +0 -43
  134. package/dist/lib/famix/src/famix_JSON_exporter.js +0 -55
  135. package/dist/lib/famix/src/famix_base_element.js +0 -18
  136. package/dist/lib/famix/src/famix_repository.js +0 -224
  137. package/dist/lib/famix/src/index.js +0 -31
  138. package/dist/lib/famix/src/model/famix/access.js +0 -40
  139. package/dist/lib/famix/src/model/famix/accessor.js +0 -17
  140. package/dist/lib/famix/src/model/famix/alias.js +0 -33
  141. package/dist/lib/famix/src/model/famix/arrowFunction.js +0 -17
  142. package/dist/lib/famix/src/model/famix/arrow_function.js +0 -17
  143. package/dist/lib/famix/src/model/famix/behavioral_entity.js +0 -79
  144. package/dist/lib/famix/src/model/famix/class.js +0 -71
  145. package/dist/lib/famix/src/model/famix/comment.js +0 -39
  146. package/dist/lib/famix/src/model/famix/concretisation.js +0 -31
  147. package/dist/lib/famix/src/model/famix/container_entity.js +0 -126
  148. package/dist/lib/famix/src/model/famix/decorator.js +0 -32
  149. package/dist/lib/famix/src/model/famix/entity.js +0 -17
  150. package/dist/lib/famix/src/model/famix/enum.js +0 -31
  151. package/dist/lib/famix/src/model/famix/enum_value.js +0 -25
  152. package/dist/lib/famix/src/model/famix/function.js +0 -17
  153. package/dist/lib/famix/src/model/famix/implicit_variable.js +0 -17
  154. package/dist/lib/famix/src/model/famix/import_clause.js +0 -41
  155. package/dist/lib/famix/src/model/famix/index.js +0 -86
  156. package/dist/lib/famix/src/model/famix/indexed_file_anchor.js +0 -38
  157. package/dist/lib/famix/src/model/famix/inheritance.js +0 -33
  158. package/dist/lib/famix/src/model/famix/interface.js +0 -64
  159. package/dist/lib/famix/src/model/famix/invocation.js +0 -54
  160. package/dist/lib/famix/src/model/famix/method.js +0 -67
  161. package/dist/lib/famix/src/model/famix/module.js +0 -60
  162. package/dist/lib/famix/src/model/famix/named_entity.js +0 -78
  163. package/dist/lib/famix/src/model/famix/parameter.js +0 -25
  164. package/dist/lib/famix/src/model/famix/parameterConcretisation.js +0 -44
  165. package/dist/lib/famix/src/model/famix/parameter_concretisation.js +0 -44
  166. package/dist/lib/famix/src/model/famix/parameter_type.js +0 -45
  167. package/dist/lib/famix/src/model/famix/parametricArrowFunction.js +0 -29
  168. package/dist/lib/famix/src/model/famix/parametric_arrow_function.js +0 -31
  169. package/dist/lib/famix/src/model/famix/parametric_class.js +0 -44
  170. package/dist/lib/famix/src/model/famix/parametric_function.js +0 -31
  171. package/dist/lib/famix/src/model/famix/parametric_interface.js +0 -44
  172. package/dist/lib/famix/src/model/famix/parametric_method.js +0 -31
  173. package/dist/lib/famix/src/model/famix/primitive_type.js +0 -17
  174. package/dist/lib/famix/src/model/famix/property.js +0 -73
  175. package/dist/lib/famix/src/model/famix/reference.js +0 -33
  176. package/dist/lib/famix/src/model/famix/scoping_entity.js +0 -36
  177. package/dist/lib/famix/src/model/famix/script_entity.js +0 -29
  178. package/dist/lib/famix/src/model/famix/source_anchor.js +0 -27
  179. package/dist/lib/famix/src/model/famix/source_language.js +0 -35
  180. package/dist/lib/famix/src/model/famix/sourced_entity.js +0 -60
  181. package/dist/lib/famix/src/model/famix/structural_entity.js +0 -39
  182. package/dist/lib/famix/src/model/famix/text_anchor.js +0 -38
  183. package/dist/lib/famix/src/model/famix/type.js +0 -73
  184. package/dist/lib/famix/src/model/famix/variable.js +0 -24
  185. package/fqn-model.json +0 -1
  186. package/iterateGenericTypes.ts +0 -69
  187. package/out/class-diagram/class-diagram.svg +0 -1
  188. package/sample.json +0 -1
  189. package/sample.ts +0 -1
  190. package/stats.txt +0 -3091
  191. package/tabby-debug-output.txt +0 -19433
  192. package/ts2famix.log +0 -22656
  193. package/validate-references.js +0 -103
@@ -52,4 +52,4 @@ class FamixJSONExporter {
52
52
  }
53
53
  }
54
54
  exports.FamixJSONExporter = FamixJSONExporter;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFtaXhfSlNPTl9leHBvcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZmFtaXgvZmFtaXhfSlNPTl9leHBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBd0Q7QUFFeEQ7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjtJQU0xQjs7OztPQUlHO0lBQ0gsWUFBWSxZQUFvQixFQUFFLE9BQXlCO1FBUm5ELGdCQUFXLEdBQVEsRUFBRSxDQUFDLENBQUMsd0RBQXdEO1FBQy9FLGdCQUFXLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyw4QkFBOEI7UUFRbkUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDaEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFdBQVcsQ0FBQyxJQUFZLEVBQUUsSUFBYTtRQUMxQyxJQUFJLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUN0QixNQUFNLFVBQVUsR0FBbUIsRUFBRSxDQUFDO1lBQ3RDLEtBQUssTUFBTSxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLEtBQUssWUFBWSxxQ0FBZ0IsRUFBRSxDQUFDO29CQUNwQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QyxDQUFDO3FCQUNJLENBQUM7b0JBQ0YsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQztRQUN4QyxDQUFDO2FBQ0ksSUFBSSxJQUFJLFlBQVkscUNBQWdCLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNoRCxDQUFDO2FBQ0ksSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDSjtBQWxERCw4Q0FrREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEJhc2VFbGVtZW50IH0gZnJvbSBcIi4vZmFtaXhfYmFzZV9lbGVtZW50XCI7XHJcblxyXG4vKipcclxuICogVGhpcyBjbGFzcyBpcyB1c2VkIHRvIGV4cG9ydCBGYW1peCBlbGVtZW50cyB0byBKU09OXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRmFtaXhKU09ORXhwb3J0ZXIge1xyXG5cclxuICAgIHByaXZhdGUgZWxlbWVudDogRmFtaXhCYXNlRWxlbWVudDsgLy8gQSBGYW1peCBlbGVtZW50IHRvIGV4cG9ydFxyXG4gICAgcHJpdmF0ZSBidWZmZXJBcnJheTogYW55ID0ge307IC8vIEEgYnVmZmVyIHRvIHN0b3JlIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBGYW1peCBlbGVtZW50XHJcbiAgICBwcml2YXRlIEZhbWl4UHJlZml4ID0gXCJGYW1peFR5cGVTY3JpcHRcIjsgLy8gUHJlZml4IG9mIHRoZSBGYW1peCBlbGVtZW50XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb25zdHJ1Y3RvciBvZiB0aGUgRmFtaXhKU09ORXhwb3J0ZXIgY2xhc3NcclxuICAgICAqIEBwYXJhbSBwYWNrYWdlQ2xhc3MgTmFtZSBvZiBhIEZhbWl4IGNsYXNzXHJcbiAgICAgKiBAcGFyYW0gZWxlbWVudCBBIEZhbWl4IGVsZW1lbnQgdG8gZXhwb3J0LCB0aGlzIGVsZW1lbnQgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIGNsYXNzIG5hbWVkIFwicGFja2FnZUNsYXNzXCJcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocGFja2FnZUNsYXNzOiBzdHJpbmcsIGVsZW1lbnQ6IEZhbWl4QmFzZUVsZW1lbnQpIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50O1xyXG4gICAgICAgIHRoaXMuYnVmZmVyQXJyYXlbXCJGTTNcIl0gPSB0aGlzLkZhbWl4UHJlZml4ICsgXCIuXCIgKyBwYWNrYWdlQ2xhc3M7XHJcbiAgICAgICAgdGhpcy5idWZmZXJBcnJheVtcImlkXCJdID0gdGhpcy5lbGVtZW50LmlkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkcyBhIHByb3BlcnR5IHRvIHRoZSBGYW1peCBlbGVtZW50XHJcbiAgICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBwcm9wZXJ0eVxyXG4gICAgICogQHBhcmFtIHByb3AgQSBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydHkobmFtZTogc3RyaW5nLCBwcm9wOiB1bmtub3duKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHByb3AgaW5zdGFuY2VvZiBTZXQpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWVBcnJheTogQXJyYXk8dW5rbm93bj4gPSBbXTtcclxuICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBBcnJheS5mcm9tKHByb3AudmFsdWVzKCkpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBGYW1peEJhc2VFbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVBcnJheS5wdXNoKHsgXCJyZWZcIjogdmFsdWUuaWQgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZUFycmF5LnB1c2godmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyQXJyYXlbbmFtZV0gPSB2YWx1ZUFycmF5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChwcm9wIGluc3RhbmNlb2YgRmFtaXhCYXNlRWxlbWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmJ1ZmZlckFycmF5W25hbWVdID0geyBcInJlZlwiOiBwcm9wLmlkIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHByb3AgIT09IHVuZGVmaW5lZCAmJiAhKHByb3AgaW5zdGFuY2VvZiBTZXQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyQXJyYXlbbmFtZV0gPSBwcm9wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgYSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBGYW1peCBlbGVtZW50XHJcbiAgICAgKiBAcmV0dXJucyBBIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhlIEZhbWl4IGVsZW1lbnRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5idWZmZXJBcnJheSk7XHJcbiAgICB9XHJcbn1cclxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFtaXhfSlNPTl9leHBvcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZmFtaXgvZmFtaXhfSlNPTl9leHBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBd0Q7QUFFeEQ7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjtJQU0xQjs7OztPQUlHO0lBQ0gsWUFBWSxZQUFvQixFQUFFLE9BQXlCO1FBUm5ELGdCQUFXLEdBQVEsRUFBRSxDQUFDLENBQUMsd0RBQXdEO1FBQy9FLGdCQUFXLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyw4QkFBOEI7UUFRbkUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDaEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFdBQVcsQ0FBQyxJQUFZLEVBQUUsSUFBYTtRQUMxQyxJQUFJLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUN0QixNQUFNLFVBQVUsR0FBbUIsRUFBRSxDQUFDO1lBQ3RDLEtBQUssTUFBTSxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLEtBQUssWUFBWSxxQ0FBZ0IsRUFBRSxDQUFDO29CQUNwQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QyxDQUFDO3FCQUNJLENBQUM7b0JBQ0YsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQztRQUN4QyxDQUFDO2FBQ0ksSUFBSSxJQUFJLFlBQVkscUNBQWdCLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNoRCxDQUFDO2FBQ0ksSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDSjtBQWxERCw4Q0FrREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEJhc2VFbGVtZW50IH0gZnJvbSBcIi4vZmFtaXhfYmFzZV9lbGVtZW50XCI7XG5cbi8qKlxuICogVGhpcyBjbGFzcyBpcyB1c2VkIHRvIGV4cG9ydCBGYW1peCBlbGVtZW50cyB0byBKU09OXG4gKi9cbmV4cG9ydCBjbGFzcyBGYW1peEpTT05FeHBvcnRlciB7XG5cbiAgICBwcml2YXRlIGVsZW1lbnQ6IEZhbWl4QmFzZUVsZW1lbnQ7IC8vIEEgRmFtaXggZWxlbWVudCB0byBleHBvcnRcbiAgICBwcml2YXRlIGJ1ZmZlckFycmF5OiBhbnkgPSB7fTsgLy8gQSBidWZmZXIgdG8gc3RvcmUgdGhlIHByb3BlcnRpZXMgb2YgdGhlIEZhbWl4IGVsZW1lbnRcbiAgICBwcml2YXRlIEZhbWl4UHJlZml4ID0gXCJGYW1peFR5cGVTY3JpcHRcIjsgLy8gUHJlZml4IG9mIHRoZSBGYW1peCBlbGVtZW50XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvciBvZiB0aGUgRmFtaXhKU09ORXhwb3J0ZXIgY2xhc3NcbiAgICAgKiBAcGFyYW0gcGFja2FnZUNsYXNzIE5hbWUgb2YgYSBGYW1peCBjbGFzc1xuICAgICAqIEBwYXJhbSBlbGVtZW50IEEgRmFtaXggZWxlbWVudCB0byBleHBvcnQsIHRoaXMgZWxlbWVudCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgY2xhc3MgbmFtZWQgXCJwYWNrYWdlQ2xhc3NcIlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHBhY2thZ2VDbGFzczogc3RyaW5nLCBlbGVtZW50OiBGYW1peEJhc2VFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICAgIHRoaXMuYnVmZmVyQXJyYXlbXCJGTTNcIl0gPSB0aGlzLkZhbWl4UHJlZml4ICsgXCIuXCIgKyBwYWNrYWdlQ2xhc3M7XG4gICAgICAgIHRoaXMuYnVmZmVyQXJyYXlbXCJpZFwiXSA9IHRoaXMuZWxlbWVudC5pZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGEgcHJvcGVydHkgdG8gdGhlIEZhbWl4IGVsZW1lbnRcbiAgICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBwcm9wZXJ0eVxuICAgICAqIEBwYXJhbSBwcm9wIEEgcHJvcGVydHlcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkUHJvcGVydHkobmFtZTogc3RyaW5nLCBwcm9wOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIGlmIChwcm9wIGluc3RhbmNlb2YgU2V0KSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZUFycmF5OiBBcnJheTx1bmtub3duPiA9IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBBcnJheS5mcm9tKHByb3AudmFsdWVzKCkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRmFtaXhCYXNlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZUFycmF5LnB1c2goeyBcInJlZlwiOiB2YWx1ZS5pZCB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlQXJyYXkucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5idWZmZXJBcnJheVtuYW1lXSA9IHZhbHVlQXJyYXk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAocHJvcCBpbnN0YW5jZW9mIEZhbWl4QmFzZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuYnVmZmVyQXJyYXlbbmFtZV0gPSB7IFwicmVmXCI6IHByb3AuaWQgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChwcm9wICE9PSB1bmRlZmluZWQgJiYgIShwcm9wIGluc3RhbmNlb2YgU2V0KSkge1xuICAgICAgICAgICAgdGhpcy5idWZmZXJBcnJheVtuYW1lXSA9IHByb3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGUgRmFtaXggZWxlbWVudFxuICAgICAqIEByZXR1cm5zIEEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGUgRmFtaXggZWxlbWVudFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLmJ1ZmZlckFycmF5KTtcbiAgICB9XG59XG4iXX0=
@@ -15,4 +15,4 @@ class FamixBaseElement {
15
15
  }
16
16
  }
17
17
  exports.FamixBaseElement = FamixBaseElement;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFtaXhfYmFzZV9lbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9mYW1peF9iYXNlX2VsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXVDO0FBRXZDLHdEQUF3RDtBQUV4RCxNQUFzQixnQkFBZ0I7SUFJbEMsdUNBQXVDO0lBQ3ZDLDJCQUEyQjtJQUMzQixJQUFJO0lBRUo7SUFDQSxDQUFDO0lBSUQsNkRBQTZEO0lBQ3RELHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELGdCQUFNLENBQUMsS0FBSyxDQUFDLDhDQUE4QyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztJQUMzRyxDQUFDO0NBQ0o7QUFqQkQsNENBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSBcIi4uLy4uL2FuYWx5emVcIjtcclxuaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbi8vIGltcG9ydCB7IEZhbWl4UmVwb3NpdG9yeSB9IGZyb20gXCIuL2ZhbWl4X3JlcG9zaXRvcnlcIjtcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGYW1peEJhc2VFbGVtZW50IHtcclxuXHJcbiAgICBwdWJsaWMgaWQhOiBudW1iZXI7XHJcblxyXG4gICAgLy8gY29uc3RydWN0b3IocmVwbzogRmFtaXhSZXBvc2l0b3J5KSB7XHJcbiAgICAvLyAgIHJlcG8uYWRkRWxlbWVudCh0aGlzKTtcclxuICAgIC8vIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0SlNPTigpOiBzdHJpbmc7XHJcblxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIGxvZ2dlci5kZWJ1ZyhcImFkZFByb3BlcnRpZXNUb0V4cG9ydGVyIG5vdCBpbXBsZW1lbnRlZCBmb3IgXCIgKyB0aGlzLmNvbnN0cnVjdG9yLm5hbWUgKyBgKCR7ZXhwb3J0ZXJ9KWApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFtaXhfYmFzZV9lbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9mYW1peF9iYXNlX2VsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXVDO0FBRXZDLHdEQUF3RDtBQUV4RCxNQUFzQixnQkFBZ0I7SUFJbEMsdUNBQXVDO0lBQ3ZDLDJCQUEyQjtJQUMzQixJQUFJO0lBRUo7SUFDQSxDQUFDO0lBSUQsNkRBQTZEO0lBQ3RELHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELGdCQUFNLENBQUMsS0FBSyxDQUFDLDhDQUE4QyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztJQUMzRyxDQUFDO0NBQ0o7QUFqQkQsNENBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSBcIi4uLy4uL2FuYWx5emVcIjtcbmltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xuLy8gaW1wb3J0IHsgRmFtaXhSZXBvc2l0b3J5IH0gZnJvbSBcIi4vZmFtaXhfcmVwb3NpdG9yeVwiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmFtaXhCYXNlRWxlbWVudCB7XG5cbiAgICBwdWJsaWMgaWQhOiBudW1iZXI7XG5cbiAgICAvLyBjb25zdHJ1Y3RvcihyZXBvOiBGYW1peFJlcG9zaXRvcnkpIHtcbiAgICAvLyAgIHJlcG8uYWRkRWxlbWVudCh0aGlzKTtcbiAgICAvLyB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0SlNPTigpOiBzdHJpbmc7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgICAgICBsb2dnZXIuZGVidWcoXCJhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlciBub3QgaW1wbGVtZW50ZWQgZm9yIFwiICsgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lICsgYCgke2V4cG9ydGVyfSlgKTtcbiAgICB9XG59XG4iXX0=
@@ -15,17 +15,28 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.FamixRepository = void 0;
27
37
  const famix_1 = require("./model/famix");
28
38
  const Famix = __importStar(require("./model/famix"));
39
+ const analyze_1 = require("../../analyze");
29
40
  /**
30
41
  * This class is used to store all Famix elements
31
42
  */
@@ -222,6 +233,7 @@ class FamixRepository {
222
233
  * @param element A Famix element
223
234
  */
224
235
  addElement(element) {
236
+ analyze_1.logger.debug(`Adding Famix element ${element.constructor.name} with id ${element.id}`);
225
237
  if (element instanceof famix_1.Class) {
226
238
  this.famixClasses.add(element);
227
239
  }
@@ -255,11 +267,18 @@ class FamixRepository {
255
267
  // make sure all elements have unique fully qualified names
256
268
  const fqns = new Set();
257
269
  for (const element of Array.from(this.elements.values())) {
258
- if (element instanceof famix_1.NamedEntity && element.fullyQualifiedName && fqns.has(element.fullyQualifiedName)) {
259
- const theExistingElement = Array.from(this.elements.values()).find(e => e.fullyQualifiedName === element.fullyQualifiedName);
260
- throw new Error(`The fully qualified name ${element.fullyQualifiedName} is not unique.\nIt exists for ${theExistingElement?.getJSON()}`);
270
+ // ignore everything that is not a NamedEntity
271
+ if (element instanceof famix_1.NamedEntity) {
272
+ if (element.fullyQualifiedName && fqns.has(element.fullyQualifiedName)) {
273
+ const theExistingElement = Array.from(this.elements.values()).find(e => e.fullyQualifiedName === element.fullyQualifiedName);
274
+ throw new Error(`The fully qualified name ${element.fullyQualifiedName} is not unique.\nIt exists for ${theExistingElement?.getJSON()}`);
275
+ }
276
+ const theName = element.fullyQualifiedName;
277
+ if (theName === undefined || theName === "") {
278
+ throw new Error(`The element ${element.constructor.name} with id ${element.id} has no valid fully qualified name`);
279
+ }
280
+ fqns.add(theName);
261
281
  }
262
- fqns.add(element.fullyQualifiedName);
263
282
  }
264
283
  }
265
284
  /**
@@ -276,4 +295,4 @@ class FamixRepository {
276
295
  }
277
296
  }
278
297
  exports.FamixRepository = FamixRepository;
279
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFtaXhfcmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZmFtaXgvZmFtaXhfcmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHlDQUE0SztBQUM1SyxxREFBdUM7QUFFdkM7O0dBRUc7QUFDSCxNQUFhLGVBQWU7SUFjeEI7UUFiUSxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUMsQ0FBQyxxQkFBcUI7UUFDN0QsaUJBQVksR0FBRyxJQUFJLEdBQUcsRUFBUyxDQUFDLENBQUMsb0JBQW9CO1FBQ3JELG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQWEsQ0FBQyxDQUFDLHVCQUF1QjtRQUMvRCxpQkFBWSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUMsQ0FBQyx1QkFBdUI7UUFDekQsaUJBQVksR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDLENBQUMsb0JBQW9CO1FBQ3RELG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQVksQ0FBQyxDQUFDLHNCQUFzQjtRQUM1RCxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFDLENBQUMsc0JBQXNCO1FBQ3ZFLGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQyxDQUFDLGtCQUFrQjtRQUNqRSxjQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYTtRQUM1QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQix3QkFBbUIsR0FBRyxJQUFJLEdBQUcsRUFBbUMsQ0FBQztRQUNqRSxxQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBbUMsQ0FBQyxDQUFDLGdGQUFnRjtRQUduSixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksc0JBQWMsRUFBRSxDQUFDLENBQUMsQ0FBRSw4Q0FBOEM7SUFDMUYsQ0FBQztJQUVNLHNCQUFzQixDQUFDLG1CQUF5RDtRQUNuRixJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7SUFDbkQsQ0FBQztJQUVNLHNCQUFzQjtRQUN6QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxDQUFDO0lBRU0sZUFBZTtRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVNLGVBQWUsQ0FBQyxJQUFZO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksa0JBQWtCLENBQUMsRUFBVTtRQUNoQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksa0NBQWtDLENBQUMsa0JBQTBCO1FBQ2hFLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxtQkFBVyxDQUF1QixDQUFDO1FBQ25ILE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDaEMseURBQXlEO1FBQ3pELFVBQVU7UUFDVixDQUFDLENBQUMsa0JBQWtCLEtBQUssa0JBQWtCO1FBQy9DLElBQUk7U0FDSCxDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELHNEQUFzRDtJQUMvQyxtQ0FBbUMsQ0FBQyxRQUErQixFQUFFLFFBQWdDO1FBQ3hHLHNFQUFzRTtRQUN0RSxLQUFLLE1BQU0sTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxLQUFLLENBQUMsTUFBTSxDQUF3QixFQUFFLENBQUM7WUFDcEgsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUMvRCxPQUFPLE1BQU0sQ0FBQztZQUNsQixDQUFDO1FBQ0wsQ0FBQztRQUNELGtEQUFrRDtRQUNsRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBR0QsTUFBTSxDQUFDLElBQXlCO1FBQzVCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0wsQ0FBQztJQUdELGlCQUFpQjtJQUVqQjs7O09BR0c7SUFDSSxlQUFlO1FBQ2xCLE9BQU8sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLHVCQUF1QixDQUFDLE9BQWU7UUFDMUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFzQixDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGNBQWMsQ0FBQyxrQkFBMEI7UUFDNUMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLEtBQUssa0JBQWtCLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGtCQUFrQixDQUFDLGtCQUEwQjtRQUNoRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZUFBZSxDQUFDLGtCQUEwQjtRQUM3QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksaUJBQWlCLENBQUMsa0JBQTBCO1FBQy9DLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGtCQUFrQixLQUFLLGtCQUFrQixDQUFDLENBQUM7SUFDN0csQ0FBQztJQUdEOzs7O09BSUc7SUFDSSxpQkFBaUIsQ0FBQyxrQkFBMEI7UUFDL0MsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEtBQUssa0JBQWtCLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGVBQWUsQ0FBQyxrQkFBMEI7UUFDN0MsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLEtBQUssa0JBQWtCLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZ0JBQWdCO1FBQ25CLE9BQU8sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGFBQWEsQ0FBQyxrQkFBMEI7UUFDM0MsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLGtCQUFrQixDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGNBQWM7UUFDakIsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksMEJBQTBCLENBQUMsU0FBaUI7UUFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQVUsQ0FBQztRQUN6RCxPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksNEJBQTRCLENBQUMsU0FBaUI7UUFDakQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQVUsQ0FBQztRQUN6RCxPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksaUJBQWlCLENBQUMsS0FBYTtRQUNsQyxNQUFNLFdBQVcsR0FBNEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxNQUFNLGNBQWMsR0FBeUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN2RCxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFCLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sY0FBYyxDQUFDO0lBQzFCLENBQUM7SUFHRDs7O09BR0c7SUFDSSxVQUFVLENBQUMsT0FBeUI7UUFDdkMsSUFBSSxPQUFPLFlBQVksYUFBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsQ0FBQzthQUFNLElBQUksT0FBTyxZQUFZLGlCQUFTLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxDQUFDO2FBQU0sSUFBSSxPQUFPLFlBQVksY0FBTSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsQ0FBQzthQUFNLElBQUksT0FBTyxZQUFZLGdCQUFRLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxPQUFPLFlBQVksY0FBTSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsQ0FBQzthQUFNLElBQUksT0FBTyxZQUFZLGdCQUFtQixJQUFJLE9BQU8sWUFBWSxxQkFBYSxFQUFFLENBQUM7WUFDcEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQzthQUFNLElBQUksT0FBTyxZQUFZLG9CQUFZLElBQUksT0FBTyxZQUFZLGNBQU0sRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixPQUFPLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSyxZQUFZO1FBQ2hCLDJEQUEyRDtRQUMzRCxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBQy9CLEtBQUssTUFBTSxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN2RCxJQUFJLE9BQU8sWUFBWSxtQkFBVyxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZHLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUUsQ0FBaUIsQ0FBQyxrQkFBa0IsS0FBSyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDOUksTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsT0FBTyxDQUFDLGtCQUFrQixrQ0FBa0Msa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdJLENBQUM7WUFDRCxJQUFJLENBQUMsR0FBRyxDQUFFLE9BQXVCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0wsQ0FBQztJQUdEOzs7T0FHRztJQUNJLE9BQU87UUFDVixJQUFJLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZCxLQUFLLE1BQU0sT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDdkQsR0FBRyxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxHQUFHLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QyxPQUFPLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDckIsQ0FBQztDQUNKO0FBOVFELDBDQThRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4QmFzZUVsZW1lbnQgfSBmcm9tIFwiLi9mYW1peF9iYXNlX2VsZW1lbnRcIjtcclxuaW1wb3J0IHsgQ2xhc3MsIEludGVyZmFjZSwgVmFyaWFibGUsIE1ldGhvZCwgQXJyb3dGdW5jdGlvbiwgRnVuY3Rpb24gYXMgRmFtaXhGdW5jdGlvbkVudGl0eSwgVHlwZSwgTmFtZWRFbnRpdHksIFNjcmlwdEVudGl0eSwgTW9kdWxlLCBTb3VyY2VMYW5ndWFnZSB9IGZyb20gXCIuL21vZGVsL2ZhbWl4XCI7XHJcbmltcG9ydCAqIGFzIEZhbWl4IGZyb20gXCIuL21vZGVsL2ZhbWl4XCI7XHJcbmltcG9ydCB7IFRTTW9ycGhPYmplY3RUeXBlIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X2Z1bmN0aW9ucy9FbnRpdHlEaWN0aW9uYXJ5XCI7XHJcbi8qKlxyXG4gKiBUaGlzIGNsYXNzIGlzIHVzZWQgdG8gc3RvcmUgYWxsIEZhbWl4IGVsZW1lbnRzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRmFtaXhSZXBvc2l0b3J5IHtcclxuICAgIHByaXZhdGUgZWxlbWVudHMgPSBuZXcgU2V0PEZhbWl4QmFzZUVsZW1lbnQ+KCk7IC8vIEFsbCBGYW1peCBlbGVtZW50c1xyXG4gICAgcHJpdmF0ZSBmYW1peENsYXNzZXMgPSBuZXcgU2V0PENsYXNzPigpOyAvLyBBbGwgRmFtaXggY2xhc3Nlc1xyXG4gICAgcHJpdmF0ZSBmYW1peEludGVyZmFjZXMgPSBuZXcgU2V0PEludGVyZmFjZT4oKTsgLy8gQWxsIEZhbWl4IGludGVyZmFjZXNcclxuICAgIHByaXZhdGUgZmFtaXhNb2R1bGVzID0gbmV3IFNldDxNb2R1bGU+KCk7IC8vIEFsbCBGYW1peCBuYW1lc3BhY2VzXHJcbiAgICBwcml2YXRlIGZhbWl4TWV0aG9kcyA9IG5ldyBTZXQ8TWV0aG9kPigpOyAvLyBBbGwgRmFtaXggbWV0aG9kc1xyXG4gICAgcHJpdmF0ZSBmYW1peFZhcmlhYmxlcyA9IG5ldyBTZXQ8VmFyaWFibGU+KCk7IC8vIEFsbCBGYW1peCB2YXJpYWJsZXNcclxuICAgIHByaXZhdGUgZmFtaXhGdW5jdGlvbnMgPSBuZXcgU2V0PEZhbWl4RnVuY3Rpb25FbnRpdHk+KCk7IC8vIEFsbCBGYW1peCBmdW5jdGlvbnNcclxuICAgIHByaXZhdGUgZmFtaXhGaWxlcyA9IG5ldyBTZXQ8U2NyaXB0RW50aXR5IHwgTW9kdWxlPigpOyAvLyBBbGwgRmFtaXggZmlsZXNcclxuICAgIHByaXZhdGUgaWRDb3VudGVyID0gMTsgLy8gSWQgY291bnRlclxyXG4gICAgcHJpdmF0ZSBhYnNvbHV0ZVBhdGg6IHN0cmluZyA9IFwiXCI7XHJcbiAgICBwcml2YXRlIGZteEVsZW1lbnRPYmplY3RNYXAgPSBuZXcgTWFwPEZhbWl4LkVudGl0eSwgVFNNb3JwaE9iamVjdFR5cGU+KCk7XHJcbiAgICBwcml2YXRlIHRzTW9ycGhPYmplY3RNYXAgPSBuZXcgTWFwPFRTTW9ycGhPYmplY3RUeXBlLCBGYW1peC5FbnRpdHk+KCk7IC8vIFRPRE86IGFkZCB0aGlzIG1hcCB0byBoYXZlIHR3by13YXkgbWFwcGluZyBiZXR3ZWVuIEZhbWl4IGFuZCBUUyBNb3JwaCBvYmplY3RzXHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuYWRkRWxlbWVudChuZXcgU291cmNlTGFuZ3VhZ2UoKSk7ICAvLyBhZGQgdGhlIHNvdXJjZSBsYW5ndWFnZSBlbnRpdHkgKFR5cGVTY3JpcHQpXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldEZteEVsZW1lbnRPYmplY3RNYXAoZm14RWxlbWVudE9iamVjdE1hcDogTWFwPEZhbWl4LkVudGl0eSwgVFNNb3JwaE9iamVjdFR5cGU+KSB7XHJcbiAgICAgICAgdGhpcy5mbXhFbGVtZW50T2JqZWN0TWFwID0gZm14RWxlbWVudE9iamVjdE1hcDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0Rm14RWxlbWVudE9iamVjdE1hcCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mbXhFbGVtZW50T2JqZWN0TWFwO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRBYnNvbHV0ZVBhdGgoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hYnNvbHV0ZVBhdGg7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldEFic29sdXRlUGF0aChwYXRoOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmFic29sdXRlUGF0aCA9IHBhdGg7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGEgRmFtaXggZW50aXR5IGJ5IGlkXHJcbiAgICAgKiBAcGFyYW0gaWQgQW4gaWQgb2YgYSBGYW1peCBlbnRpdHlcclxuICAgICAqIEByZXR1cm5zIFRoZSBGYW1peCBlbnRpdHkgY29ycmVzcG9uZGluZyB0byB0aGUgaWQgb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXNuJ3QgZXhpc3RcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEZhbWl4RW50aXR5QnlJZChpZDogbnVtYmVyKTogRmFtaXhCYXNlRWxlbWVudCB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgY29uc3QgZW50aXR5ID0gQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRzLnZhbHVlcygpKS5maW5kKGUgPT4gZS5pZCA9PT0gaWQpO1xyXG4gICAgICAgIHJldHVybiBlbnRpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGEgRmFtaXggZW50aXR5IGJ5IGZ1bGx5IHF1YWxpZmllZCBuYW1lXHJcbiAgICAgKiBAcGFyYW0gZnVsbHlRdWFsaWZpZWROYW1lIEEgZnVsbHkgcXVhbGlmaWVkIG5hbWVcclxuICAgICAqIEByZXR1cm5zIFRoZSBGYW1peCBlbnRpdHkgY29ycmVzcG9uZGluZyB0byB0aGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUgb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXNuJ3QgZXhpc3RcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEZhbWl4RW50aXR5QnlGdWxseVF1YWxpZmllZE5hbWUoZnVsbHlRdWFsaWZpZWROYW1lOiBzdHJpbmcpOiBGYW1peEJhc2VFbGVtZW50IHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBjb25zdCBhbGxFbnRpdGllcyA9IEFycmF5LmZyb20odGhpcy5lbGVtZW50cy52YWx1ZXMoKSkuZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hbWVkRW50aXR5KSBhcyBBcnJheTxOYW1lZEVudGl0eT47XHJcbiAgICAgICAgY29uc3QgZW50aXR5ID0gYWxsRW50aXRpZXMuZmluZChlID0+IFxyXG4gICAgICAgICAgICAvLyB7Y29uc29sZS5sb2coYG5hbWVkRW50aXR5OiAke2UuZnVsbHlRdWFsaWZpZWROYW1lfWApOyBcclxuICAgICAgICAgICAgLy8gcmV0dXJuIFxyXG4gICAgICAgICAgICBlLmZ1bGx5UXVhbGlmaWVkTmFtZSA9PT0gZnVsbHlRdWFsaWZpZWROYW1lXHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIGVudGl0eTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBNZXRob2QgdG8gZ2V0IEZhbWl4IGFjY2VzcyBieSBhY2Nlc3NvciBhbmQgdmFyaWFibGVcclxuICAgIHB1YmxpYyBnZXRGYW1peEFjY2Vzc0J5QWNjZXNzb3JBbmRWYXJpYWJsZShhY2Nlc3NvcjogRmFtaXguQ29udGFpbmVyRW50aXR5LCB2YXJpYWJsZTogRmFtaXguU3RydWN0dXJhbEVudGl0eSk6IEZhbWl4LkFjY2VzcyB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgLy8gSXRlcmF0ZSB0aHJvdWdoIHRoZSBsaXN0IG9mIEZhbWl4IGFjY2Vzc2VzIHRvIGZpbmQgdGhlIG1hdGNoaW5nIG9uZVxyXG4gICAgICAgIGZvciAoY29uc3QgYWNjZXNzIG9mIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy52YWx1ZXMoKSkuZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIEZhbWl4LkFjY2VzcykgYXMgQXJyYXk8RmFtaXguQWNjZXNzPikge1xyXG4gICAgICAgICAgICBpZiAoYWNjZXNzLmFjY2Vzc29yID09PSBhY2Nlc3NvciAmJiBhY2Nlc3MudmFyaWFibGUgPT09IHZhcmlhYmxlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjZXNzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFJldHVybiB1bmRlZmluZWQgaWYgbm8gbWF0Y2hpbmcgYWNjZXNzIGlzIGZvdW5kXHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZXhwb3J0KGFyZzA6IHsgZm9ybWF0OiBzdHJpbmc7IH0pIHtcclxuICAgICAgICBpZiAoYXJnMC5mb3JtYXQgPT09IFwianNvblwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEpTT04oKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbnN1cHBvcnRlZCBmb3JtYXRcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBPbmx5IGZvciB0ZXN0c1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBhbGwgRmFtaXggZW50aXRpZXNcclxuICAgICAqIEByZXR1cm5zIEFsbCBGYW1peCBlbnRpdGllc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgX2dldEFsbEVudGl0aWVzKCk6IFNldDxGYW1peEJhc2VFbGVtZW50PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTZXQoQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRzLnZhbHVlcygpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGFsbCBGYW1peCBlbnRpdGllcyBvZiBhIGdpdmVuIHR5cGVcclxuICAgICAqIEBwYXJhbSB0aGVUeXBlIEEgdHlwZSBvZiBGYW1peCBlbnRpdHlcclxuICAgICAqIEByZXR1cm5zIEFsbCBGYW1peCBlbnRpdGllcyBvZiB0aGUgZ2l2ZW4gdHlwZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgX2dldEFsbEVudGl0aWVzV2l0aFR5cGUodGhlVHlwZTogc3RyaW5nKTogU2V0PEZhbWl4QmFzZUVsZW1lbnQ+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFNldChBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMudmFsdWVzKCkpLmZpbHRlcihlID0+IChlIGFzIEZhbWl4QmFzZUVsZW1lbnQpLmNvbnN0cnVjdG9yLm5hbWUgPT09IHRoZVR5cGUpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgYSBGYW1peCBjbGFzcyBieSBuYW1lXHJcbiAgICAgKiBAcGFyYW0gbmFtZSBBIGNsYXNzIG5hbWVcclxuICAgICAqIEByZXR1cm5zIFRoZSBGYW1peCBjbGFzcyBjb3JyZXNwb25kaW5nIHRvIHRoZSBuYW1lIG9yIHVuZGVmaW5lZCBpZiBpdCBkb2Vzbid0IGV4aXN0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBfZ2V0RmFtaXhDbGFzcyhmdWxseVF1YWxpZmllZE5hbWU6IHN0cmluZyk6IENsYXNzIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZhbWl4Q2xhc3Nlcy52YWx1ZXMoKSkuZmluZChucyA9PiBucy5mdWxseVF1YWxpZmllZE5hbWUgPT09IGZ1bGx5UXVhbGlmaWVkTmFtZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGEgRmFtaXggaW50ZXJmYWNlIGJ5IG5hbWVcclxuICAgICAqIEBwYXJhbSBuYW1lIEFuIGludGVyZmFjZSBuYW1lXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgRmFtaXggaW50ZXJmYWNlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG5hbWUgb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXNuJ3QgZXhpc3RcclxuICAgICAqL1xyXG4gICAgcHVibGljIF9nZXRGYW1peEludGVyZmFjZShmdWxseVF1YWxpZmllZE5hbWU6IHN0cmluZyk6IEludGVyZmFjZSB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5mYW1peEludGVyZmFjZXMudmFsdWVzKCkpLmZpbmQobnMgPT4gbnMuZnVsbHlRdWFsaWZpZWROYW1lID09PSBmdWxseVF1YWxpZmllZE5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBhIEZhbWl4IG1ldGhvZCBieSBuYW1lXHJcbiAgICAgKiBAcGFyYW0gbmFtZSBBIG1ldGhvZCBuYW1lXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgRmFtaXggbWV0aG9kIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG5hbWUgb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXNuJ3QgZXhpc3RcclxuICAgICAqL1xyXG4gICAgcHVibGljIF9nZXRGYW1peE1ldGhvZChmdWxseVF1YWxpZmllZE5hbWU6IHN0cmluZyk6IE1ldGhvZCB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5mYW1peE1ldGhvZHMudmFsdWVzKCkpLmZpbmQobnMgPT4gbnMuZnVsbHlRdWFsaWZpZWROYW1lID09PSBmdWxseVF1YWxpZmllZE5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBhIEZhbWl4IGZ1bmN0aW9uIGJ5IG5hbWVcclxuICAgICAqIEBwYXJhbSBuYW1lIEEgZnVuY3Rpb24gbmFtZVxyXG4gICAgICogQHJldHVybnMgVGhlIEZhbWl4IGZ1bmN0aW9uIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG5hbWUgb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXNuJ3QgZXhpc3RcclxuICAgICAqL1xyXG4gICAgcHVibGljIF9nZXRGYW1peEZ1bmN0aW9uKGZ1bGx5UXVhbGlmaWVkTmFtZTogc3RyaW5nKTogRmFtaXhGdW5jdGlvbkVudGl0eSB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5mYW1peEZ1bmN0aW9ucy52YWx1ZXMoKSkuZmluZChucyA9PiBucy5mdWxseVF1YWxpZmllZE5hbWUgPT09IGZ1bGx5UXVhbGlmaWVkTmFtZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBhIEZhbWl4IHZhcmlhYmxlIGJ5IG5hbWVcclxuICAgICAqIEBwYXJhbSBuYW1lIEEgdmFyaWFibGUgbmFtZVxyXG4gICAgICogQHJldHVybnMgVGhlIEZhbWl4IHZhcmlhYmxlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG5hbWUgb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXNuJ3QgZXhpc3RcclxuICAgICAqL1xyXG4gICAgcHVibGljIF9nZXRGYW1peFZhcmlhYmxlKGZ1bGx5UXVhbGlmaWVkTmFtZTogc3RyaW5nKTogVmFyaWFibGUgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZmFtaXhWYXJpYWJsZXMudmFsdWVzKCkpLmZpbmQodiA9PiB2LmZ1bGx5UXVhbGlmaWVkTmFtZSA9PT0gZnVsbHlRdWFsaWZpZWROYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgYSBGYW1peCBuYW1lc3BhY2UgYnkgbmFtZVxyXG4gICAgICogQHBhcmFtIG5hbWUgQSBuYW1lc3BhY2UgbmFtZVxyXG4gICAgICogQHJldHVybnMgVGhlIEZhbWl4IG5hbWVzcGFjZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBuYW1lIG9yIHVuZGVmaW5lZCBpZiBpdCBkb2Vzbid0IGV4aXN0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBfZ2V0RmFtaXhNb2R1bGUoZnVsbHlRdWFsaWZpZWROYW1lOiBzdHJpbmcpOiBNb2R1bGUgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZmFtaXhNb2R1bGVzLnZhbHVlcygpKS5maW5kKG5zID0+IG5zLmZ1bGx5UXVhbGlmaWVkTmFtZSA9PT0gZnVsbHlRdWFsaWZpZWROYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgYWxsIEZhbWl4IG5hbWVzcGFjZXNcclxuICAgICAqIEByZXR1cm5zIEFsbCBGYW1peCBuYW1lc3BhY2VzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBfZ2V0RmFtaXhNb2R1bGVzKCk6IFNldDxNb2R1bGU+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFNldChBcnJheS5mcm9tKHRoaXMuZmFtaXhNb2R1bGVzLnZhbHVlcygpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGEgRmFtaXggZmlsZSBieSBuYW1lXHJcbiAgICAgKiBAcGFyYW0gbmFtZSBBIGZpbGUgbmFtZVxyXG4gICAgICogQHJldHVybnMgVGhlIEZhbWl4IGZpbGUgY29ycmVzcG9uZGluZyB0byB0aGUgbmFtZSBvciB1bmRlZmluZWQgaWYgaXQgZG9lc24ndCBleGlzdFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgX2dldEZhbWl4RmlsZShmdWxseVF1YWxpZmllZE5hbWU6IHN0cmluZyk6IFNjcmlwdEVudGl0eSB8IE1vZHVsZSB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5mYW1peEZpbGVzLnZhbHVlcygpKS5maW5kKG5zID0+IG5zLm5hbWUgPT09IGZ1bGx5UXVhbGlmaWVkTmFtZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGFsbCBGYW1peCBmaWxlc1xyXG4gICAgICogQHJldHVybnMgQWxsIEZhbWl4IGZpbGVzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBfZ2V0RmFtaXhGaWxlcygpOiBTZXQ8U2NyaXB0RW50aXR5IHwgTW9kdWxlPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBTZXQoQXJyYXkuZnJvbSh0aGlzLmZhbWl4RmlsZXMudmFsdWVzKCkpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgYWxsIG1ldGhvZCBuYW1lcyBhcyBhIHNldCBmcm9tIGEgY2xhc3NcclxuICAgICAqIEBwYXJhbSBjbGFzc05hbWUgQSBjbGFzcyBuYW1lXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgc2V0IG9mIGNsYXNzIFwiY2xhc3NOYW1lXCIgbWV0aG9kIG5hbWVzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBfbWV0aG9kTmFtZXNBc1NldEZyb21DbGFzcyhjbGFzc05hbWU6IHN0cmluZyk6IFNldDxzdHJpbmc+IHtcclxuICAgICAgICBjb25zdCB0aGVDbGFzcyA9IHRoaXMuX2dldEZhbWl4Q2xhc3MoY2xhc3NOYW1lKSBhcyBDbGFzcztcclxuICAgICAgICByZXR1cm4gbmV3IFNldChBcnJheS5mcm9tKHRoZUNsYXNzLm1ldGhvZHMpLm1hcChtID0+IG0ubmFtZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBhbGwgbWV0aG9kIHBhcmVudHMgYXMgYSBzZXQgZnJvbSBhIGNsYXNzXHJcbiAgICAgKiBAcGFyYW0gY2xhc3NOYW1lIEEgY2xhc3MgbmFtZVxyXG4gICAgICogQHJldHVybnMgVGhlIHNldCBvZiBjbGFzcyBcImNsYXNzTmFtZVwiIG1ldGhvZCBwYXJlbnRzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBfbWV0aG9kUGFyZW50c0FzU2V0RnJvbUNsYXNzKGNsYXNzTmFtZTogc3RyaW5nKTogU2V0PFR5cGU+IHtcclxuICAgICAgICBjb25zdCB0aGVDbGFzcyA9IHRoaXMuX2dldEZhbWl4Q2xhc3MoY2xhc3NOYW1lKSBhcyBDbGFzcztcclxuICAgICAgICByZXR1cm4gbmV3IFNldChBcnJheS5mcm9tKHRoZUNsYXNzLm1ldGhvZHMpLm1hcChtID0+IG0ucGFyZW50RW50aXR5KSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBtYXAgb2YgRmFtaXggZWxlbWVudCBpZHMgYW5kIHRoZWlyIEZhbWl4IGVsZW1lbnQgZnJvbSBhIEpTT04gbW9kZWxcclxuICAgICAqIEBwYXJhbSBtb2RlbCBBIEpTT04gbW9kZWxcclxuICAgICAqIEByZXR1cm5zIFRoZSBtYXAgb2YgRmFtaXggZWxlbWVudCBpZHMgYW5kIHRoZWlyIEZhbWl4IGVsZW1lbnQgZnJvbSB0aGUgSlNPTiBtb2RlbFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgX2luaXRNYXBGcm9tTW9kZWwobW9kZWw6IHN0cmluZyk6IE1hcDxudW1iZXIsIHVua25vd24+IHtcclxuICAgICAgICBjb25zdCBwYXJzZWRNb2RlbDogQXJyYXk8RmFtaXhCYXNlRWxlbWVudD4gPSBKU09OLnBhcnNlKG1vZGVsKTtcclxuICAgICAgICBjb25zdCBpZFRvRWxlbWVudE1hcDogTWFwPG51bWJlciwgdW5rbm93bj4gPSBuZXcgTWFwKCk7XHJcbiAgICAgICAgcGFyc2VkTW9kZWwuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICAgICAgaWRUb0VsZW1lbnRNYXAuc2V0KGVsZW1lbnQuaWQsIGVsZW1lbnQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBpZFRvRWxlbWVudE1hcDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGRzIGEgRmFtaXggZWxlbWVudCB0byB0aGUgcmVwb3NpdG9yeVxyXG4gICAgICogQHBhcmFtIGVsZW1lbnQgQSBGYW1peCBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRFbGVtZW50KGVsZW1lbnQ6IEZhbWl4QmFzZUVsZW1lbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIENsYXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmFtaXhDbGFzc2VzLmFkZChlbGVtZW50KTtcclxuICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBJbnRlcmZhY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5mYW1peEludGVyZmFjZXMuYWRkKGVsZW1lbnQpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIE1vZHVsZSkge1xyXG4gICAgICAgICAgICB0aGlzLmZhbWl4TW9kdWxlcy5hZGQoZWxlbWVudCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50IGluc3RhbmNlb2YgVmFyaWFibGUpIHtcclxuICAgICAgICAgICAgdGhpcy5mYW1peFZhcmlhYmxlcy5hZGQoZWxlbWVudCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50IGluc3RhbmNlb2YgTWV0aG9kKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmFtaXhNZXRob2RzLmFkZChlbGVtZW50KTtcclxuICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBGYW1peEZ1bmN0aW9uRW50aXR5IHx8IGVsZW1lbnQgaW5zdGFuY2VvZiBBcnJvd0Z1bmN0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmFtaXhGdW5jdGlvbnMuYWRkKGVsZW1lbnQpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIFNjcmlwdEVudGl0eSB8fCBlbGVtZW50IGluc3RhbmNlb2YgTW9kdWxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmFtaXhGaWxlcy5hZGQoZWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZWxlbWVudHMuYWRkKGVsZW1lbnQpO1xyXG4gICAgICAgIGVsZW1lbnQuaWQgPSB0aGlzLmlkQ291bnRlcjtcclxuICAgICAgICB0aGlzLmlkQ291bnRlcisrO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGVGUU5zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWYWxpZGF0ZXMgdGhlIGZ1bGx5IHF1YWxpZmllZCBuYW1lcyBvZiBhbGwgRmFtaXggZWxlbWVudHNcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUZRTnMoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gbWFrZSBzdXJlIGFsbCBlbGVtZW50cyBoYXZlIHVuaXF1ZSBmdWxseSBxdWFsaWZpZWQgbmFtZXNcclxuICAgICAgICBjb25zdCBmcW5zID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcbiAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy52YWx1ZXMoKSkpIHtcclxuICAgICAgICAgICAgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBOYW1lZEVudGl0eSAmJiBlbGVtZW50LmZ1bGx5UXVhbGlmaWVkTmFtZSAmJiBmcW5zLmhhcyhlbGVtZW50LmZ1bGx5UXVhbGlmaWVkTmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRoZUV4aXN0aW5nRWxlbWVudCA9IEFycmF5LmZyb20odGhpcy5lbGVtZW50cy52YWx1ZXMoKSkuZmluZChlID0+IChlIGFzIE5hbWVkRW50aXR5KS5mdWxseVF1YWxpZmllZE5hbWUgPT09IGVsZW1lbnQuZnVsbHlRdWFsaWZpZWROYW1lKTtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIGZ1bGx5IHF1YWxpZmllZCBuYW1lICR7ZWxlbWVudC5mdWxseVF1YWxpZmllZE5hbWV9IGlzIG5vdCB1bmlxdWUuXFxuSXQgZXhpc3RzIGZvciAke3RoZUV4aXN0aW5nRWxlbWVudD8uZ2V0SlNPTigpfWApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZxbnMuYWRkKChlbGVtZW50IGFzIE5hbWVkRW50aXR5KS5mdWxseVF1YWxpZmllZE5hbWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGUgcmVwb3NpdG9yeVxyXG4gICAgICogQHJldHVybnMgQSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoZSByZXBvc2l0b3J5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IHJldCA9IFwiW1wiO1xyXG4gICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMudmFsdWVzKCkpKSB7XHJcbiAgICAgICAgICAgIHJldCA9IHJldCArIGVsZW1lbnQuZ2V0SlNPTigpICsgXCIsXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldCA9IHJldC5zdWJzdHJpbmcoMCwgcmV0Lmxlbmd0aCAtIDEpO1xyXG4gICAgICAgIHJldHVybiByZXQgKyBcIl1cIjtcclxuICAgIH1cclxufVxyXG4iXX0=
298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFtaXhfcmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZmFtaXgvZmFtaXhfcmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSx5Q0FBNEs7QUFDNUsscURBQXVDO0FBRXZDLDJDQUF1QztBQUV2Qzs7R0FFRztBQUNILE1BQWEsZUFBZTtJQWN4QjtRQWJRLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQyxDQUFDLHFCQUFxQjtRQUM3RCxpQkFBWSxHQUFHLElBQUksR0FBRyxFQUFTLENBQUMsQ0FBQyxvQkFBb0I7UUFDckQsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBYSxDQUFDLENBQUMsdUJBQXVCO1FBQy9ELGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQyxDQUFDLHVCQUF1QjtRQUN6RCxpQkFBWSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUMsQ0FBQyxvQkFBb0I7UUFDdEQsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBWSxDQUFDLENBQUMsc0JBQXNCO1FBQzVELG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUMsQ0FBQyxzQkFBc0I7UUFDdkUsZUFBVSxHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDLENBQUMsa0JBQWtCO1FBQ2pFLGNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxhQUFhO1FBQzVCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLHdCQUFtQixHQUFHLElBQUksR0FBRyxFQUFtQyxDQUFDO1FBQ2pFLHFCQUFnQixHQUFHLElBQUksR0FBRyxFQUFtQyxDQUFDLENBQUMsZ0ZBQWdGO1FBR25KLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxzQkFBYyxFQUFFLENBQUMsQ0FBQyxDQUFFLDhDQUE4QztJQUMxRixDQUFDO0lBRU0sc0JBQXNCLENBQUMsbUJBQXlEO1FBQ25GLElBQUks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LENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUUsQ0FBaUIsQ0FBQyxrQkFBa0IsS0FBSyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztvQkFDOUksTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsT0FBTyxDQUFDLGtCQUFrQixrQ0FBa0Msa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM3SSxDQUFDO2dCQUNELE1BQU0sT0FBTyxHQUFJLE9BQXVCLENBQUMsa0JBQWtCLENBQUM7Z0JBQzVELElBQUksT0FBTyxLQUFLLFNBQVMsSUFBSSxPQUFPLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQzFDLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksWUFBWSxPQUFPLENBQUMsRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDO2dCQUN2SCxDQUFDO2dCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBR0Q7OztPQUdHO0lBQ0ksT0FBTztRQUNWLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNkLEtBQUssTUFBTSxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN2RCxHQUFHLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDeEMsQ0FBQztRQUNELEdBQUcsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNyQixDQUFDO0NBQ0o7QUF0UkQsMENBc1JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhCYXNlRWxlbWVudCB9IGZyb20gXCIuL2ZhbWl4X2Jhc2VfZWxlbWVudFwiO1xuaW1wb3J0IHsgQ2xhc3MsIEludGVyZmFjZSwgVmFyaWFibGUsIE1ldGhvZCwgQXJyb3dGdW5jdGlvbiwgRnVuY3Rpb24gYXMgRmFtaXhGdW5jdGlvbkVudGl0eSwgVHlwZSwgTmFtZWRFbnRpdHksIFNjcmlwdEVudGl0eSwgTW9kdWxlLCBTb3VyY2VMYW5ndWFnZSB9IGZyb20gXCIuL21vZGVsL2ZhbWl4XCI7XG5pbXBvcnQgKiBhcyBGYW1peCBmcm9tIFwiLi9tb2RlbC9mYW1peFwiO1xuaW1wb3J0IHsgVFNNb3JwaE9iamVjdFR5cGUgfSBmcm9tIFwiLi4vLi4vZmFtaXhfZnVuY3Rpb25zL0VudGl0eURpY3Rpb25hcnlcIjtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCIuLi8uLi9hbmFseXplXCI7XG5cbi8qKlxuICogVGhpcyBjbGFzcyBpcyB1c2VkIHRvIHN0b3JlIGFsbCBGYW1peCBlbGVtZW50c1xuICovXG5leHBvcnQgY2xhc3MgRmFtaXhSZXBvc2l0b3J5IHtcbiAgICBwcml2YXRlIGVsZW1lbnRzID0gbmV3IFNldDxGYW1peEJhc2VFbGVtZW50PigpOyAvLyBBbGwgRmFtaXggZWxlbWVudHNcbiAgICBwcml2YXRlIGZhbWl4Q2xhc3NlcyA9IG5ldyBTZXQ8Q2xhc3M+KCk7IC8vIEFsbCBGYW1peCBjbGFzc2VzXG4gICAgcHJpdmF0ZSBmYW1peEludGVyZmFjZXMgPSBuZXcgU2V0PEludGVyZmFjZT4oKTsgLy8gQWxsIEZhbWl4IGludGVyZmFjZXNcbiAgICBwcml2YXRlIGZhbWl4TW9kdWxlcyA9IG5ldyBTZXQ8TW9kdWxlPigpOyAvLyBBbGwgRmFtaXggbmFtZXNwYWNlc1xuICAgIHByaXZhdGUgZmFtaXhNZXRob2RzID0gbmV3IFNldDxNZXRob2Q+KCk7IC8vIEFsbCBGYW1peCBtZXRob2RzXG4gICAgcHJpdmF0ZSBmYW1peFZhcmlhYmxlcyA9IG5ldyBTZXQ8VmFyaWFibGU+KCk7IC8vIEFsbCBGYW1peCB2YXJpYWJsZXNcbiAgICBwcml2YXRlIGZhbWl4RnVuY3Rpb25zID0gbmV3IFNldDxGYW1peEZ1bmN0aW9uRW50aXR5PigpOyAvLyBBbGwgRmFtaXggZnVuY3Rpb25zXG4gICAgcHJpdmF0ZSBmYW1peEZpbGVzID0gbmV3IFNldDxTY3JpcHRFbnRpdHkgfCBNb2R1bGU+KCk7IC8vIEFsbCBGYW1peCBmaWxlc1xuICAgIHByaXZhdGUgaWRDb3VudGVyID0gMTsgLy8gSWQgY291bnRlclxuICAgIHByaXZhdGUgYWJzb2x1dGVQYXRoOiBzdHJpbmcgPSBcIlwiO1xuICAgIHByaXZhdGUgZm14RWxlbWVudE9iamVjdE1hcCA9IG5ldyBNYXA8RmFtaXguRW50aXR5LCBUU01vcnBoT2JqZWN0VHlwZT4oKTtcbiAgICBwcml2YXRlIHRzTW9ycGhPYmplY3RNYXAgPSBuZXcgTWFwPFRTTW9ycGhPYmplY3RUeXBlLCBGYW1peC5FbnRpdHk+KCk7IC8vIFRPRE86IGFkZCB0aGlzIG1hcCB0byBoYXZlIHR3by13YXkgbWFwcGluZyBiZXR3ZWVuIEZhbWl4IGFuZCBUUyBNb3JwaCBvYmplY3RzXG4gICAgXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuYWRkRWxlbWVudChuZXcgU291cmNlTGFuZ3VhZ2UoKSk7ICAvLyBhZGQgdGhlIHNvdXJjZSBsYW5ndWFnZSBlbnRpdHkgKFR5cGVTY3JpcHQpXG4gICAgfVxuXG4gICAgcHVibGljIHNldEZteEVsZW1lbnRPYmplY3RNYXAoZm14RWxlbWVudE9iamVjdE1hcDogTWFwPEZhbWl4LkVudGl0eSwgVFNNb3JwaE9iamVjdFR5cGU+KSB7XG4gICAgICAgIHRoaXMuZm14RWxlbWVudE9iamVjdE1hcCA9IGZteEVsZW1lbnRPYmplY3RNYXA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZteEVsZW1lbnRPYmplY3RNYXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZteEVsZW1lbnRPYmplY3RNYXA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFic29sdXRlUGF0aCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hYnNvbHV0ZVBhdGg7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEFic29sdXRlUGF0aChwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5hYnNvbHV0ZVBhdGggPSBwYXRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBGYW1peCBlbnRpdHkgYnkgaWRcbiAgICAgKiBAcGFyYW0gaWQgQW4gaWQgb2YgYSBGYW1peCBlbnRpdHlcbiAgICAgKiBAcmV0dXJucyBUaGUgRmFtaXggZW50aXR5IGNvcnJlc3BvbmRpbmcgdG8gdGhlIGlkIG9yIHVuZGVmaW5lZCBpZiBpdCBkb2Vzbid0IGV4aXN0XG4gICAgICovXG4gICAgcHVibGljIGdldEZhbWl4RW50aXR5QnlJZChpZDogbnVtYmVyKTogRmFtaXhCYXNlRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGVudGl0eSA9IEFycmF5LmZyb20odGhpcy5lbGVtZW50cy52YWx1ZXMoKSkuZmluZChlID0+IGUuaWQgPT09IGlkKTtcbiAgICAgICAgcmV0dXJuIGVudGl0eTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgRmFtaXggZW50aXR5IGJ5IGZ1bGx5IHF1YWxpZmllZCBuYW1lXG4gICAgICogQHBhcmFtIGZ1bGx5UXVhbGlmaWVkTmFtZSBBIGZ1bGx5IHF1YWxpZmllZCBuYW1lXG4gICAgICogQHJldHVybnMgVGhlIEZhbWl4IGVudGl0eSBjb3JyZXNwb25kaW5nIHRvIHRoZSBmdWxseSBxdWFsaWZpZWQgbmFtZSBvciB1bmRlZmluZWQgaWYgaXQgZG9lc24ndCBleGlzdFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRGYW1peEVudGl0eUJ5RnVsbHlRdWFsaWZpZWROYW1lKGZ1bGx5UXVhbGlmaWVkTmFtZTogc3RyaW5nKTogRmFtaXhCYXNlRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGFsbEVudGl0aWVzID0gQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRzLnZhbHVlcygpKS5maWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmFtZWRFbnRpdHkpIGFzIEFycmF5PE5hbWVkRW50aXR5PjtcbiAgICAgICAgY29uc3QgZW50aXR5ID0gYWxsRW50aXRpZXMuZmluZChlID0+IFxuICAgICAgICAgICAgLy8ge2NvbnNvbGUubG9nKGBuYW1lZEVudGl0eTogJHtlLmZ1bGx5UXVhbGlmaWVkTmFtZX1gKTsgXG4gICAgICAgICAgICAvLyByZXR1cm4gXG4gICAgICAgICAgICBlLmZ1bGx5UXVhbGlmaWVkTmFtZSA9PT0gZnVsbHlRdWFsaWZpZWROYW1lXG4gICAgICAgIC8vIH1cbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGVudGl0eTtcbiAgICB9XG5cbiAgICAvLyBNZXRob2QgdG8gZ2V0IEZhbWl4IGFjY2VzcyBieSBhY2Nlc3NvciBhbmQgdmFyaWFibGVcbiAgICBwdWJsaWMgZ2V0RmFtaXhBY2Nlc3NCeUFjY2Vzc29yQW5kVmFyaWFibGUoYWNjZXNzb3I6IEZhbWl4LkNvbnRhaW5lckVudGl0eSwgdmFyaWFibGU6IEZhbWl4LlN0cnVjdHVyYWxFbnRpdHkpOiBGYW1peC5BY2Nlc3MgfCB1bmRlZmluZWQge1xuICAgICAgICAvLyBJdGVyYXRlIHRocm91Z2ggdGhlIGxpc3Qgb2YgRmFtaXggYWNjZXNzZXMgdG8gZmluZCB0aGUgbWF0Y2hpbmcgb25lXG4gICAgICAgIGZvciAoY29uc3QgYWNjZXNzIG9mIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy52YWx1ZXMoKSkuZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIEZhbWl4LkFjY2VzcykgYXMgQXJyYXk8RmFtaXguQWNjZXNzPikge1xuICAgICAgICAgICAgaWYgKGFjY2Vzcy5hY2Nlc3NvciA9PT0gYWNjZXNzb3IgJiYgYWNjZXNzLnZhcmlhYmxlID09PSB2YXJpYWJsZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBhY2Nlc3M7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gUmV0dXJuIHVuZGVmaW5lZCBpZiBubyBtYXRjaGluZyBhY2Nlc3MgaXMgZm91bmRcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cblxuICAgIGV4cG9ydChhcmcwOiB7IGZvcm1hdDogc3RyaW5nOyB9KSB7XG4gICAgICAgIGlmIChhcmcwLmZvcm1hdCA9PT0gXCJqc29uXCIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEpTT04oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuc3VwcG9ydGVkIGZvcm1hdFwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gT25seSBmb3IgdGVzdHNcblxuICAgIC8qKlxuICAgICAqIEdldHMgYWxsIEZhbWl4IGVudGl0aWVzXG4gICAgICogQHJldHVybnMgQWxsIEZhbWl4IGVudGl0aWVzXG4gICAgICovXG4gICAgcHVibGljIF9nZXRBbGxFbnRpdGllcygpOiBTZXQ8RmFtaXhCYXNlRWxlbWVudD4ge1xuICAgICAgICByZXR1cm4gbmV3IFNldChBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMudmFsdWVzKCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFsbCBGYW1peCBlbnRpdGllcyBvZiBhIGdpdmVuIHR5cGVcbiAgICAgKiBAcGFyYW0gdGhlVHlwZSBBIHR5cGUgb2YgRmFtaXggZW50aXR5XG4gICAgICogQHJldHVybnMgQWxsIEZhbWl4IGVudGl0aWVzIG9mIHRoZSBnaXZlbiB0eXBlXG4gICAgICovXG4gICAgcHVibGljIF9nZXRBbGxFbnRpdGllc1dpdGhUeXBlKHRoZVR5cGU6IHN0cmluZyk6IFNldDxGYW1peEJhc2VFbGVtZW50PiB7XG4gICAgICAgIHJldHVybiBuZXcgU2V0KEFycmF5LmZyb20odGhpcy5lbGVtZW50cy52YWx1ZXMoKSkuZmlsdGVyKGUgPT4gKGUgYXMgRmFtaXhCYXNlRWxlbWVudCkuY29uc3RydWN0b3IubmFtZSA9PT0gdGhlVHlwZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBGYW1peCBjbGFzcyBieSBuYW1lXG4gICAgICogQHBhcmFtIG5hbWUgQSBjbGFzcyBuYW1lXG4gICAgICogQHJldHVybnMgVGhlIEZhbWl4IGNsYXNzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG5hbWUgb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXNuJ3QgZXhpc3RcbiAgICAgKi9cbiAgICBwdWJsaWMgX2dldEZhbWl4Q2xhc3MoZnVsbHlRdWFsaWZpZWROYW1lOiBzdHJpbmcpOiBDbGFzcyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZmFtaXhDbGFzc2VzLnZhbHVlcygpKS5maW5kKG5zID0+IG5zLmZ1bGx5UXVhbGlmaWVkTmFtZSA9PT0gZnVsbHlRdWFsaWZpZWROYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgRmFtaXggaW50ZXJmYWNlIGJ5IG5hbWVcbiAgICAgKiBAcGFyYW0gbmFtZSBBbiBpbnRlcmZhY2UgbmFtZVxuICAgICAqIEByZXR1cm5zIFRoZSBGYW1peCBpbnRlcmZhY2UgY29ycmVzcG9uZGluZyB0byB0aGUgbmFtZSBvciB1bmRlZmluZWQgaWYgaXQgZG9lc24ndCBleGlzdFxuICAgICAqL1xuICAgIHB1YmxpYyBfZ2V0RmFtaXhJbnRlcmZhY2UoZnVsbHlRdWFsaWZpZWROYW1lOiBzdHJpbmcpOiBJbnRlcmZhY2UgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZhbWl4SW50ZXJmYWNlcy52YWx1ZXMoKSkuZmluZChucyA9PiBucy5mdWxseVF1YWxpZmllZE5hbWUgPT09IGZ1bGx5UXVhbGlmaWVkTmFtZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIEZhbWl4IG1ldGhvZCBieSBuYW1lXG4gICAgICogQHBhcmFtIG5hbWUgQSBtZXRob2QgbmFtZVxuICAgICAqIEByZXR1cm5zIFRoZSBGYW1peCBtZXRob2QgY29ycmVzcG9uZGluZyB0byB0aGUgbmFtZSBvciB1bmRlZmluZWQgaWYgaXQgZG9lc24ndCBleGlzdFxuICAgICAqL1xuICAgIHB1YmxpYyBfZ2V0RmFtaXhNZXRob2QoZnVsbHlRdWFsaWZpZWROYW1lOiBzdHJpbmcpOiBNZXRob2QgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZhbWl4TWV0aG9kcy52YWx1ZXMoKSkuZmluZChucyA9PiBucy5mdWxseVF1YWxpZmllZE5hbWUgPT09IGZ1bGx5UXVhbGlmaWVkTmFtZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIEZhbWl4IGZ1bmN0aW9uIGJ5IG5hbWVcbiAgICAgKiBAcGFyYW0gbmFtZSBBIGZ1bmN0aW9uIG5hbWVcbiAgICAgKiBAcmV0dXJucyBUaGUgRmFtaXggZnVuY3Rpb24gY29ycmVzcG9uZGluZyB0byB0aGUgbmFtZSBvciB1bmRlZmluZWQgaWYgaXQgZG9lc24ndCBleGlzdFxuICAgICAqL1xuICAgIHB1YmxpYyBfZ2V0RmFtaXhGdW5jdGlvbihmdWxseVF1YWxpZmllZE5hbWU6IHN0cmluZyk6IEZhbWl4RnVuY3Rpb25FbnRpdHkgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZhbWl4RnVuY3Rpb25zLnZhbHVlcygpKS5maW5kKG5zID0+IG5zLmZ1bGx5UXVhbGlmaWVkTmFtZSA9PT0gZnVsbHlRdWFsaWZpZWROYW1lKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBGYW1peCB2YXJpYWJsZSBieSBuYW1lXG4gICAgICogQHBhcmFtIG5hbWUgQSB2YXJpYWJsZSBuYW1lXG4gICAgICogQHJldHVybnMgVGhlIEZhbWl4IHZhcmlhYmxlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG5hbWUgb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXNuJ3QgZXhpc3RcbiAgICAgKi9cbiAgICBwdWJsaWMgX2dldEZhbWl4VmFyaWFibGUoZnVsbHlRdWFsaWZpZWROYW1lOiBzdHJpbmcpOiBWYXJpYWJsZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZmFtaXhWYXJpYWJsZXMudmFsdWVzKCkpLmZpbmQodiA9PiB2LmZ1bGx5UXVhbGlmaWVkTmFtZSA9PT0gZnVsbHlRdWFsaWZpZWROYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgRmFtaXggbmFtZXNwYWNlIGJ5IG5hbWVcbiAgICAgKiBAcGFyYW0gbmFtZSBBIG5hbWVzcGFjZSBuYW1lXG4gICAgICogQHJldHVybnMgVGhlIEZhbWl4IG5hbWVzcGFjZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBuYW1lIG9yIHVuZGVmaW5lZCBpZiBpdCBkb2Vzbid0IGV4aXN0XG4gICAgICovXG4gICAgcHVibGljIF9nZXRGYW1peE1vZHVsZShmdWxseVF1YWxpZmllZE5hbWU6IHN0cmluZyk6IE1vZHVsZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZmFtaXhNb2R1bGVzLnZhbHVlcygpKS5maW5kKG5zID0+IG5zLmZ1bGx5UXVhbGlmaWVkTmFtZSA9PT0gZnVsbHlRdWFsaWZpZWROYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFsbCBGYW1peCBuYW1lc3BhY2VzXG4gICAgICogQHJldHVybnMgQWxsIEZhbWl4IG5hbWVzcGFjZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgX2dldEZhbWl4TW9kdWxlcygpOiBTZXQ8TW9kdWxlPiB7XG4gICAgICAgIHJldHVybiBuZXcgU2V0KEFycmF5LmZyb20odGhpcy5mYW1peE1vZHVsZXMudmFsdWVzKCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgRmFtaXggZmlsZSBieSBuYW1lXG4gICAgICogQHBhcmFtIG5hbWUgQSBmaWxlIG5hbWVcbiAgICAgKiBAcmV0dXJucyBUaGUgRmFtaXggZmlsZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBuYW1lIG9yIHVuZGVmaW5lZCBpZiBpdCBkb2Vzbid0IGV4aXN0XG4gICAgICovXG4gICAgcHVibGljIF9nZXRGYW1peEZpbGUoZnVsbHlRdWFsaWZpZWROYW1lOiBzdHJpbmcpOiBTY3JpcHRFbnRpdHkgfCBNb2R1bGUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZhbWl4RmlsZXMudmFsdWVzKCkpLmZpbmQobnMgPT4gbnMubmFtZSA9PT0gZnVsbHlRdWFsaWZpZWROYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFsbCBGYW1peCBmaWxlc1xuICAgICAqIEByZXR1cm5zIEFsbCBGYW1peCBmaWxlc1xuICAgICAqL1xuICAgIHB1YmxpYyBfZ2V0RmFtaXhGaWxlcygpOiBTZXQ8U2NyaXB0RW50aXR5IHwgTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiBuZXcgU2V0KEFycmF5LmZyb20odGhpcy5mYW1peEZpbGVzLnZhbHVlcygpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgbWV0aG9kIG5hbWVzIGFzIGEgc2V0IGZyb20gYSBjbGFzc1xuICAgICAqIEBwYXJhbSBjbGFzc05hbWUgQSBjbGFzcyBuYW1lXG4gICAgICogQHJldHVybnMgVGhlIHNldCBvZiBjbGFzcyBcImNsYXNzTmFtZVwiIG1ldGhvZCBuYW1lc1xuICAgICAqL1xuICAgIHB1YmxpYyBfbWV0aG9kTmFtZXNBc1NldEZyb21DbGFzcyhjbGFzc05hbWU6IHN0cmluZyk6IFNldDxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgdGhlQ2xhc3MgPSB0aGlzLl9nZXRGYW1peENsYXNzKGNsYXNzTmFtZSkgYXMgQ2xhc3M7XG4gICAgICAgIHJldHVybiBuZXcgU2V0KEFycmF5LmZyb20odGhlQ2xhc3MubWV0aG9kcykubWFwKG0gPT4gbS5uYW1lKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgbWV0aG9kIHBhcmVudHMgYXMgYSBzZXQgZnJvbSBhIGNsYXNzXG4gICAgICogQHBhcmFtIGNsYXNzTmFtZSBBIGNsYXNzIG5hbWVcbiAgICAgKiBAcmV0dXJucyBUaGUgc2V0IG9mIGNsYXNzIFwiY2xhc3NOYW1lXCIgbWV0aG9kIHBhcmVudHNcbiAgICAgKi9cbiAgICBwdWJsaWMgX21ldGhvZFBhcmVudHNBc1NldEZyb21DbGFzcyhjbGFzc05hbWU6IHN0cmluZyk6IFNldDxUeXBlPiB7XG4gICAgICAgIGNvbnN0IHRoZUNsYXNzID0gdGhpcy5fZ2V0RmFtaXhDbGFzcyhjbGFzc05hbWUpIGFzIENsYXNzO1xuICAgICAgICByZXR1cm4gbmV3IFNldChBcnJheS5mcm9tKHRoZUNsYXNzLm1ldGhvZHMpLm1hcChtID0+IG0ucGFyZW50RW50aXR5KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbWFwIG9mIEZhbWl4IGVsZW1lbnQgaWRzIGFuZCB0aGVpciBGYW1peCBlbGVtZW50IGZyb20gYSBKU09OIG1vZGVsXG4gICAgICogQHBhcmFtIG1vZGVsIEEgSlNPTiBtb2RlbFxuICAgICAqIEByZXR1cm5zIFRoZSBtYXAgb2YgRmFtaXggZWxlbWVudCBpZHMgYW5kIHRoZWlyIEZhbWl4IGVsZW1lbnQgZnJvbSB0aGUgSlNPTiBtb2RlbFxuICAgICAqL1xuICAgIHB1YmxpYyBfaW5pdE1hcEZyb21Nb2RlbChtb2RlbDogc3RyaW5nKTogTWFwPG51bWJlciwgdW5rbm93bj4ge1xuICAgICAgICBjb25zdCBwYXJzZWRNb2RlbDogQXJyYXk8RmFtaXhCYXNlRWxlbWVudD4gPSBKU09OLnBhcnNlKG1vZGVsKTtcbiAgICAgICAgY29uc3QgaWRUb0VsZW1lbnRNYXA6IE1hcDxudW1iZXIsIHVua25vd24+ID0gbmV3IE1hcCgpO1xuICAgICAgICBwYXJzZWRNb2RlbC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgaWRUb0VsZW1lbnRNYXAuc2V0KGVsZW1lbnQuaWQsIGVsZW1lbnQpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGlkVG9FbGVtZW50TWFwO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIEZhbWl4IGVsZW1lbnQgdG8gdGhlIHJlcG9zaXRvcnlcbiAgICAgKiBAcGFyYW0gZWxlbWVudCBBIEZhbWl4IGVsZW1lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkRWxlbWVudChlbGVtZW50OiBGYW1peEJhc2VFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGxvZ2dlci5kZWJ1ZyhgQWRkaW5nIEZhbWl4IGVsZW1lbnQgJHtlbGVtZW50LmNvbnN0cnVjdG9yLm5hbWV9IHdpdGggaWQgJHtlbGVtZW50LmlkfWApO1xuICAgICAgICBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIENsYXNzKSB7XG4gICAgICAgICAgICB0aGlzLmZhbWl4Q2xhc3Nlcy5hZGQoZWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIEludGVyZmFjZSkge1xuICAgICAgICAgICAgdGhpcy5mYW1peEludGVyZmFjZXMuYWRkKGVsZW1lbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBNb2R1bGUpIHtcbiAgICAgICAgICAgIHRoaXMuZmFtaXhNb2R1bGVzLmFkZChlbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50IGluc3RhbmNlb2YgVmFyaWFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuZmFtaXhWYXJpYWJsZXMuYWRkKGVsZW1lbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBNZXRob2QpIHtcbiAgICAgICAgICAgIHRoaXMuZmFtaXhNZXRob2RzLmFkZChlbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50IGluc3RhbmNlb2YgRmFtaXhGdW5jdGlvbkVudGl0eSB8fCBlbGVtZW50IGluc3RhbmNlb2YgQXJyb3dGdW5jdGlvbikge1xuICAgICAgICAgICAgdGhpcy5mYW1peEZ1bmN0aW9ucy5hZGQoZWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIFNjcmlwdEVudGl0eSB8fCBlbGVtZW50IGluc3RhbmNlb2YgTW9kdWxlKSB7XG4gICAgICAgICAgICB0aGlzLmZhbWl4RmlsZXMuYWRkKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudHMuYWRkKGVsZW1lbnQpO1xuICAgICAgICBlbGVtZW50LmlkID0gdGhpcy5pZENvdW50ZXI7XG4gICAgICAgIHRoaXMuaWRDb3VudGVyKys7XG4gICAgICAgIHRoaXMudmFsaWRhdGVGUU5zKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdGVzIHRoZSBmdWxseSBxdWFsaWZpZWQgbmFtZXMgb2YgYWxsIEZhbWl4IGVsZW1lbnRzXG4gICAgICovXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUZRTnMoKTogdm9pZCB7XG4gICAgICAgIC8vIG1ha2Ugc3VyZSBhbGwgZWxlbWVudHMgaGF2ZSB1bmlxdWUgZnVsbHkgcXVhbGlmaWVkIG5hbWVzXG4gICAgICAgIGNvbnN0IGZxbnMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy52YWx1ZXMoKSkpIHtcbiAgICAgICAgICAgIC8vIGlnbm9yZSBldmVyeXRoaW5nIHRoYXQgaXMgbm90IGEgTmFtZWRFbnRpdHlcbiAgICAgICAgICAgIGlmIChlbGVtZW50IGluc3RhbmNlb2YgTmFtZWRFbnRpdHkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC5mdWxseVF1YWxpZmllZE5hbWUgJiYgZnFucy5oYXMoZWxlbWVudC5mdWxseVF1YWxpZmllZE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRoZUV4aXN0aW5nRWxlbWVudCA9IEFycmF5LmZyb20odGhpcy5lbGVtZW50cy52YWx1ZXMoKSkuZmluZChlID0+IChlIGFzIE5hbWVkRW50aXR5KS5mdWxseVF1YWxpZmllZE5hbWUgPT09IGVsZW1lbnQuZnVsbHlRdWFsaWZpZWROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUgJHtlbGVtZW50LmZ1bGx5UXVhbGlmaWVkTmFtZX0gaXMgbm90IHVuaXF1ZS5cXG5JdCBleGlzdHMgZm9yICR7dGhlRXhpc3RpbmdFbGVtZW50Py5nZXRKU09OKCl9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHRoZU5hbWUgPSAoZWxlbWVudCBhcyBOYW1lZEVudGl0eSkuZnVsbHlRdWFsaWZpZWROYW1lO1xuICAgICAgICAgICAgICAgIGlmICh0aGVOYW1lID09PSB1bmRlZmluZWQgfHwgdGhlTmFtZSA9PT0gXCJcIikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBlbGVtZW50ICR7ZWxlbWVudC5jb25zdHJ1Y3Rvci5uYW1lfSB3aXRoIGlkICR7ZWxlbWVudC5pZH0gaGFzIG5vIHZhbGlkIGZ1bGx5IHF1YWxpZmllZCBuYW1lYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZxbnMuYWRkKHRoZU5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGUgcmVwb3NpdG9yeVxuICAgICAqIEByZXR1cm5zIEEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGUgcmVwb3NpdG9yeVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XG4gICAgICAgIGxldCByZXQgPSBcIltcIjtcbiAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy52YWx1ZXMoKSkpIHtcbiAgICAgICAgICAgIHJldCA9IHJldCArIGVsZW1lbnQuZ2V0SlNPTigpICsgXCIsXCI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0ID0gcmV0LnN1YnN0cmluZygwLCByZXQubGVuZ3RoIC0gMSk7XG4gICAgICAgIHJldHVybiByZXQgKyBcIl1cIjtcbiAgICB9XG59XG4iXX0=
@@ -15,17 +15,27 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  const Famix = __importStar(require("./model/famix"));
26
36
  const famix_base_element_1 = require("./famix_base_element");
27
37
  const famix_JSON_exporter_1 = require("./famix_JSON_exporter");
28
38
  const famix_repository_1 = require("./famix_repository");
29
39
  const model = { Famix };
30
40
  module.exports = { FamixBaseElement: famix_base_element_1.FamixBaseElement, FamixJSONExporter: famix_JSON_exporter_1.FamixJSONExporter, FamixRepository: famix_repository_1.FamixRepository, model };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2ZhbWl4L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUF1QztBQUN2Qyw2REFBd0Q7QUFDeEQsK0RBQTBEO0FBQzFELHlEQUFxRDtBQUVyRCxNQUFNLEtBQUssR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDO0FBRXhCLGlCQUFTLEVBQUUsZ0JBQWdCLEVBQWhCLHFDQUFnQixFQUFFLGlCQUFpQixFQUFqQix1Q0FBaUIsRUFBRSxlQUFlLEVBQWYsa0NBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEZhbWl4IGZyb20gXCIuL21vZGVsL2ZhbWl4XCI7XHJcbmltcG9ydCB7IEZhbWl4QmFzZUVsZW1lbnQgfSBmcm9tIFwiLi9mYW1peF9iYXNlX2VsZW1lbnRcIjtcclxuaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IEZhbWl4UmVwb3NpdG9yeSB9IGZyb20gXCIuL2ZhbWl4X3JlcG9zaXRvcnlcIjtcclxuXHJcbmNvbnN0IG1vZGVsID0geyBGYW1peCB9O1xyXG5cclxuZXhwb3J0ID0geyBGYW1peEJhc2VFbGVtZW50LCBGYW1peEpTT05FeHBvcnRlciwgRmFtaXhSZXBvc2l0b3J5LCBtb2RlbCB9O1xyXG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2ZhbWl4L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBdUM7QUFDdkMsNkRBQXdEO0FBQ3hELCtEQUEwRDtBQUMxRCx5REFBcUQ7QUFFckQsTUFBTSxLQUFLLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUV4QixpQkFBUyxFQUFFLGdCQUFnQixFQUFoQixxQ0FBZ0IsRUFBRSxpQkFBaUIsRUFBakIsdUNBQWlCLEVBQUUsZUFBZSxFQUFmLGtDQUFlLEVBQUUsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBGYW1peCBmcm9tIFwiLi9tb2RlbC9mYW1peFwiO1xuaW1wb3J0IHsgRmFtaXhCYXNlRWxlbWVudCB9IGZyb20gXCIuL2ZhbWl4X2Jhc2VfZWxlbWVudFwiO1xuaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBGYW1peFJlcG9zaXRvcnkgfSBmcm9tIFwiLi9mYW1peF9yZXBvc2l0b3J5XCI7XG5cbmNvbnN0IG1vZGVsID0geyBGYW1peCB9O1xuXG5leHBvcnQgPSB7IEZhbWl4QmFzZUVsZW1lbnQsIEZhbWl4SlNPTkV4cG9ydGVyLCBGYW1peFJlcG9zaXRvcnksIG1vZGVsIH07XG4iXX0=
@@ -37,4 +37,4 @@ class Access extends entity_1.Entity {
37
37
  }
38
38
  }
39
39
  exports.Access = Access;
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9tb2RlbC9mYW1peC9hY2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBRzlELHFDQUFrQztBQUVsQyxNQUFhLE1BQU8sU0FBUSxlQUFNO0lBTXZCLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBeUI7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUEwQjtRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsT0FBZ0I7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDNUIsQ0FBQztDQUNKO0FBNUNELHdCQTRDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgU3RydWN0dXJhbEVudGl0eSB9IGZyb20gXCIuL3N0cnVjdHVyYWxfZW50aXR5XCI7XHJcbmltcG9ydCB7IENvbnRhaW5lckVudGl0eSB9IGZyb20gXCIuL2NvbnRhaW5lcl9lbnRpdHlcIjtcclxuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSBcIi4vZW50aXR5XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQWNjZXNzIGV4dGVuZHMgRW50aXR5IHtcclxuXHJcbiAgICBwcml2YXRlIF9hY2Nlc3NvciE6IENvbnRhaW5lckVudGl0eTtcclxuICAgIHByaXZhdGUgX3ZhcmlhYmxlITogU3RydWN0dXJhbEVudGl0eTtcclxuICAgIHByaXZhdGUgX2lzV3JpdGUhOiBib29sZWFuO1xyXG5cclxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJBY2Nlc3NcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImFjY2Vzc29yXCIsIHRoaXMuYWNjZXNzb3IpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwidmFyaWFibGVcIiwgdGhpcy52YXJpYWJsZSk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJpc1dyaXRlXCIsIHRoaXMuaXNXcml0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGFjY2Vzc29yKCk6IENvbnRhaW5lckVudGl0eSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjY2Vzc29yO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBhY2Nlc3NvcihhY2Nlc3NvcjogQ29udGFpbmVyRW50aXR5KSB7XHJcbiAgICAgICAgdGhpcy5fYWNjZXNzb3IgPSBhY2Nlc3NvcjtcclxuICAgICAgICBhY2Nlc3Nvci5hZGRBY2Nlc3ModGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHZhcmlhYmxlKCk6IFN0cnVjdHVyYWxFbnRpdHkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92YXJpYWJsZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgdmFyaWFibGUodmFyaWFibGU6IFN0cnVjdHVyYWxFbnRpdHkpIHtcclxuICAgICAgICB0aGlzLl92YXJpYWJsZSA9IHZhcmlhYmxlO1xyXG4gICAgICAgIHZhcmlhYmxlLmFkZEluY29taW5nQWNjZXNzKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc1dyaXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc1dyaXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBpc1dyaXRlKGlzV3JpdGU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9pc1dyaXRlID0gaXNXcml0ZTtcclxuICAgIH1cclxufVxyXG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9tb2RlbC9mYW1peC9hY2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBRzlELHFDQUFrQztBQUVsQyxNQUFhLE1BQU8sU0FBUSxlQUFNO0lBTXZCLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBeUI7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUEwQjtRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsT0FBZ0I7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDNUIsQ0FBQztDQUNKO0FBNUNELHdCQTRDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IFN0cnVjdHVyYWxFbnRpdHkgfSBmcm9tIFwiLi9zdHJ1Y3R1cmFsX2VudGl0eVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyRW50aXR5IH0gZnJvbSBcIi4vY29udGFpbmVyX2VudGl0eVwiO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSBcIi4vZW50aXR5XCI7XG5cbmV4cG9ydCBjbGFzcyBBY2Nlc3MgZXh0ZW5kcyBFbnRpdHkge1xuXG4gICAgcHJpdmF0ZSBfYWNjZXNzb3IhOiBDb250YWluZXJFbnRpdHk7XG4gICAgcHJpdmF0ZSBfdmFyaWFibGUhOiBTdHJ1Y3R1cmFsRW50aXR5O1xuICAgIHByaXZhdGUgX2lzV3JpdGUhOiBib29sZWFuO1xuXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJBY2Nlc3NcIiwgdGhpcyk7XG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJhY2Nlc3NvclwiLCB0aGlzLmFjY2Vzc29yKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJ2YXJpYWJsZVwiLCB0aGlzLnZhcmlhYmxlKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJpc1dyaXRlXCIsIHRoaXMuaXNXcml0ZSk7XG4gICAgfVxuXG4gICAgZ2V0IGFjY2Vzc29yKCk6IENvbnRhaW5lckVudGl0eSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY2Nlc3NvcjtcbiAgICB9XG5cbiAgICBzZXQgYWNjZXNzb3IoYWNjZXNzb3I6IENvbnRhaW5lckVudGl0eSkge1xuICAgICAgICB0aGlzLl9hY2Nlc3NvciA9IGFjY2Vzc29yO1xuICAgICAgICBhY2Nlc3Nvci5hZGRBY2Nlc3ModGhpcyk7XG4gICAgfVxuXG4gICAgZ2V0IHZhcmlhYmxlKCk6IFN0cnVjdHVyYWxFbnRpdHkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFyaWFibGU7XG4gICAgfVxuXG4gICAgc2V0IHZhcmlhYmxlKHZhcmlhYmxlOiBTdHJ1Y3R1cmFsRW50aXR5KSB7XG4gICAgICAgIHRoaXMuX3ZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgICAgIHZhcmlhYmxlLmFkZEluY29taW5nQWNjZXNzKHRoaXMpO1xuICAgIH1cblxuICAgIGdldCBpc1dyaXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNXcml0ZTtcbiAgICB9XG5cbiAgICBzZXQgaXNXcml0ZShpc1dyaXRlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzV3JpdGUgPSBpc1dyaXRlO1xuICAgIH1cbn1cbiJdfQ==
@@ -14,4 +14,4 @@ class Accessor extends method_1.Method {
14
14
  }
15
15
  }
16
16
  exports.Accessor = Accessor;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2FjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCxxQ0FBa0M7QUFFbEMsTUFBYSxRQUFTLFNBQVEsZUFBTTtJQUUzQixPQUFPO1FBQ1osTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDeEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRjtBQVhELDRCQVdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xyXG5pbXBvcnQgeyBNZXRob2QgfSBmcm9tIFwiLi9tZXRob2RcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBBY2Nlc3NvciBleHRlbmRzIE1ldGhvZCB7XHJcbiAgXHJcbiAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiQWNjZXNzb3JcIiwgdGhpcyk7XHJcbiAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gIH1cclxufVxyXG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2FjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCxxQ0FBa0M7QUFFbEMsTUFBYSxRQUFTLFNBQVEsZUFBTTtJQUUzQixPQUFPO1FBQ1osTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDeEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRjtBQVhELDRCQVdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xuaW1wb3J0IHsgTWV0aG9kIH0gZnJvbSBcIi4vbWV0aG9kXCI7XG5cbmV4cG9ydCBjbGFzcyBBY2Nlc3NvciBleHRlbmRzIE1ldGhvZCB7XG4gIFxuICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiQWNjZXNzb3JcIiwgdGhpcyk7XG4gICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcbiAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XG4gIH1cblxuICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XG4gICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xuICB9XG59XG4iXX0=
@@ -30,4 +30,4 @@ class Alias extends named_entity_1.NamedEntity {
30
30
  }
31
31
  }
32
32
  exports.Alias = Alias;
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2FsaWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCxpREFBNkM7QUFHN0MsTUFBYSxLQUFNLFNBQVEsMEJBQVc7SUFLM0IsT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLFlBQXlCO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1FBQ2xDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxhQUFhLENBQUMsYUFBbUI7UUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUM7UUFDcEMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0o7QUFsQ0Qsc0JBa0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xyXG5pbXBvcnQgeyBOYW1lZEVudGl0eSB9IGZyb20gXCIuL25hbWVkX2VudGl0eVwiO1xyXG5pbXBvcnQgeyBUeXBlIH0gZnJvbSBcIi4vdHlwZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFsaWFzIGV4dGVuZHMgTmFtZWRFbnRpdHkge1xyXG5cclxuICAgIHByaXZhdGUgX3BhcmVudEVudGl0eSE6IE5hbWVkRW50aXR5O1xyXG4gICAgcHJpdmF0ZSBfYWxpYXNlZEVudGl0eSE6IFR5cGU7XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkFsaWFzXCIsIHRoaXMpO1xyXG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJwYXJlbnRUeXBlXCIsIHRoaXMucGFyZW50RW50aXR5KTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImFsaWFzZWRFbnRpdHlcIiwgdGhpcy5hbGlhc2VkRW50aXR5KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcGFyZW50RW50aXR5KCk6IE5hbWVkRW50aXR5IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50RW50aXR5O1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBwYXJlbnRFbnRpdHkocGFyZW50RW50aXR5OiBOYW1lZEVudGl0eSkge1xyXG4gICAgICAgIHRoaXMuX3BhcmVudEVudGl0eSA9IHBhcmVudEVudGl0eTtcclxuICAgICAgICBwYXJlbnRFbnRpdHkuYWRkQWxpYXModGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGFsaWFzZWRFbnRpdHkoKTogVHlwZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FsaWFzZWRFbnRpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGFsaWFzZWRFbnRpdHkoYWxpYXNlZEVudGl0eTogVHlwZSkge1xyXG4gICAgICAgIHRoaXMuX2FsaWFzZWRFbnRpdHkgPSBhbGlhc2VkRW50aXR5O1xyXG4gICAgICAgIGFsaWFzZWRFbnRpdHkuYWRkVHlwZUFsaWFzKHRoaXMpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2FsaWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCxpREFBNkM7QUFHN0MsTUFBYSxLQUFNLFNBQVEsMEJBQVc7SUFLM0IsT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLFlBQXlCO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1FBQ2xDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxhQUFhLENBQUMsYUFBbUI7UUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUM7UUFDcEMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0o7QUFsQ0Qsc0JBa0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xuaW1wb3J0IHsgTmFtZWRFbnRpdHkgfSBmcm9tIFwiLi9uYW1lZF9lbnRpdHlcIjtcbmltcG9ydCB7IFR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XG5cbmV4cG9ydCBjbGFzcyBBbGlhcyBleHRlbmRzIE5hbWVkRW50aXR5IHtcblxuICAgIHByaXZhdGUgX3BhcmVudEVudGl0eSE6IE5hbWVkRW50aXR5O1xuICAgIHByaXZhdGUgX2FsaWFzZWRFbnRpdHkhOiBUeXBlO1xuXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJBbGlhc1wiLCB0aGlzKTtcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInBhcmVudFR5cGVcIiwgdGhpcy5wYXJlbnRFbnRpdHkpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImFsaWFzZWRFbnRpdHlcIiwgdGhpcy5hbGlhc2VkRW50aXR5KTtcbiAgICB9XG5cbiAgICBnZXQgcGFyZW50RW50aXR5KCk6IE5hbWVkRW50aXR5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudEVudGl0eTtcbiAgICB9XG5cbiAgICBzZXQgcGFyZW50RW50aXR5KHBhcmVudEVudGl0eTogTmFtZWRFbnRpdHkpIHtcbiAgICAgICAgdGhpcy5fcGFyZW50RW50aXR5ID0gcGFyZW50RW50aXR5O1xuICAgICAgICBwYXJlbnRFbnRpdHkuYWRkQWxpYXModGhpcyk7XG4gICAgfVxuXG4gICAgZ2V0IGFsaWFzZWRFbnRpdHkoKTogVHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hbGlhc2VkRW50aXR5O1xuICAgIH1cblxuICAgIHNldCBhbGlhc2VkRW50aXR5KGFsaWFzZWRFbnRpdHk6IFR5cGUpIHtcbiAgICAgICAgdGhpcy5fYWxpYXNlZEVudGl0eSA9IGFsaWFzZWRFbnRpdHk7XG4gICAgICAgIGFsaWFzZWRFbnRpdHkuYWRkVHlwZUFsaWFzKHRoaXMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -14,4 +14,4 @@ class ArrowFunction extends behavioral_entity_1.BehavioralEntity {
14
14
  }
15
15
  }
16
16
  exports.ArrowFunction = ArrowFunction;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3dfZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2Fycm93X2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCwyREFBdUQ7QUFFdkQsTUFBYSxhQUFjLFNBQVEsb0NBQWdCO0lBRTFDLE9BQU87UUFDWixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN4RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNGO0FBWEQsc0NBV0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yYWxFbnRpdHkgfSBmcm9tIFwiLi9iZWhhdmlvcmFsX2VudGl0eVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFycm93RnVuY3Rpb24gZXh0ZW5kcyBCZWhhdmlvcmFsRW50aXR5IHtcclxuXHJcbiAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiQXJyb3dGdW5jdGlvblwiLCB0aGlzKTtcclxuICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3dfZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2Fycm93X2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCwyREFBdUQ7QUFFdkQsTUFBYSxhQUFjLFNBQVEsb0NBQWdCO0lBRTFDLE9BQU87UUFDWixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN4RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNGO0FBWEQsc0NBV0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBCZWhhdmlvcmFsRW50aXR5IH0gZnJvbSBcIi4vYmVoYXZpb3JhbF9lbnRpdHlcIjtcblxuZXhwb3J0IGNsYXNzIEFycm93RnVuY3Rpb24gZXh0ZW5kcyBCZWhhdmlvcmFsRW50aXR5IHtcblxuICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiQXJyb3dGdW5jdGlvblwiLCB0aGlzKTtcbiAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xuICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcbiAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XG4gIH1cbn1cbiJdfQ==
@@ -76,4 +76,4 @@ class BehavioralEntity extends container_entity_1.ContainerEntity {
76
76
  }
77
77
  }
78
78
  exports.BehavioralEntity = BehavioralEntity;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoYXZpb3JhbF9lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2JlaGF2aW9yYWxfZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUU5RCx5REFBcUQ7QUFLckQsTUFBYSxnQkFBaUIsU0FBUSxrQ0FBZTtJQUFyRDs7UUFHWSxnQkFBVyxHQUFtQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBVXhDLHlCQUFvQixHQUFvQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBVWxELHVCQUFrQixHQUF1QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBa0UvRCxDQUFDO0lBcEZVLFlBQVksQ0FBQyxTQUFvQjtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoQyxTQUFTLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO0lBQ0wsQ0FBQztJQUtNLHFCQUFxQixDQUFDLGtCQUE4QjtRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ2xELGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0wsQ0FBQztJQUtNLG1CQUFtQixDQUFDLGdCQUErQjtRQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlDLGdCQUFnQixDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxRQUFRLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3BFLFFBQVEsQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hELDJFQUEyRTtRQUMzRSw2RUFBNkU7SUFDakYsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsU0FBaUI7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksa0JBQWtCLENBQUMsa0JBQTBCO1FBQzdDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxZQUFZLENBQUMsWUFBa0I7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFDbEMsWUFBWSxDQUFDLG1DQUFtQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0NBQ0o7QUF6RkQsNENBeUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xyXG5pbXBvcnQgeyBUeXBlIH0gZnJvbSBcIi4vdHlwZVwiO1xyXG5pbXBvcnQgeyBDb250YWluZXJFbnRpdHkgfSBmcm9tIFwiLi9jb250YWluZXJfZW50aXR5XCI7XHJcbmltcG9ydCB7IFBhcmFtZXRlciB9IGZyb20gXCIuL3BhcmFtZXRlclwiO1xyXG5pbXBvcnQgeyBJbnZvY2F0aW9uIH0gZnJvbSBcIi4vaW52b2NhdGlvblwiO1xyXG5pbXBvcnQgeyBQYXJhbWV0ZXJUeXBlIH0gZnJvbSBcIi4vcGFyYW1ldGVyX3R5cGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBCZWhhdmlvcmFsRW50aXR5IGV4dGVuZHMgQ29udGFpbmVyRW50aXR5IHtcclxuXHJcbiAgICBwcml2YXRlIF9zaWduYXR1cmUhOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIF9wYXJhbWV0ZXJzOiBTZXQ8UGFyYW1ldGVyPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkUGFyYW1ldGVyKHBhcmFtZXRlcjogUGFyYW1ldGVyKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9wYXJhbWV0ZXJzLmhhcyhwYXJhbWV0ZXIpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BhcmFtZXRlcnMuYWRkKHBhcmFtZXRlcik7XHJcbiAgICAgICAgICAgIHBhcmFtZXRlci5wYXJlbnRFbnRpdHkgPSB0aGlzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9udW1iZXJPZlBhcmFtZXRlcnMhOiBudW1iZXI7XHJcbiAgICBwcml2YXRlIF9pbmNvbWluZ0ludm9jYXRpb25zOiBTZXQ8SW52b2NhdGlvbj4gPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgcHVibGljIGFkZEluY29taW5nSW52b2NhdGlvbihpbmNvbWluZ0ludm9jYXRpb246IEludm9jYXRpb24pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2luY29taW5nSW52b2NhdGlvbnMuaGFzKGluY29taW5nSW52b2NhdGlvbikpIHtcclxuICAgICAgICAgICAgdGhpcy5faW5jb21pbmdJbnZvY2F0aW9ucy5hZGQoaW5jb21pbmdJbnZvY2F0aW9uKTtcclxuICAgICAgICAgICAgaW5jb21pbmdJbnZvY2F0aW9uLmFkZENhbmRpZGF0ZSh0aGlzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZGVjbGFyZWRUeXBlITogVHlwZTtcclxuICAgIHByaXZhdGUgX2dlbmVyaWNQYXJhbWV0ZXJzOiBTZXQ8UGFyYW1ldGVyVHlwZT4gPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgcHVibGljIGFkZEdlbmVyaWNQYXJhbWV0ZXIoZ2VuZXJpY1BhcmFtZXRlcjogUGFyYW1ldGVyVHlwZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fZ2VuZXJpY1BhcmFtZXRlcnMuaGFzKGdlbmVyaWNQYXJhbWV0ZXIpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2dlbmVyaWNQYXJhbWV0ZXJzLmFkZChnZW5lcmljUGFyYW1ldGVyKTtcclxuICAgICAgICAgICAgZ2VuZXJpY1BhcmFtZXRlci5wYXJlbnRHZW5lcmljID0gdGhpcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJHZW5lcmljUGFyYW1ldGVycygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9nZW5lcmljUGFyYW1ldGVycy5jbGVhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJCZWhhdmlvcmFsRW50aXR5XCIsIHRoaXMpO1xyXG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzaWduYXR1cmVcIiwgdGhpcy5zaWduYXR1cmUpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwicGFyYW1ldGVyc1wiLCB0aGlzLnBhcmFtZXRlcnMpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwibnVtYmVyT2ZQYXJhbWV0ZXJzXCIsIHRoaXMubnVtYmVyT2ZQYXJhbWV0ZXJzKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImluY29taW5nSW52b2NhdGlvbnNcIiwgdGhpcy5pbmNvbWluZ0ludm9jYXRpb25zKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImRlY2xhcmVkVHlwZVwiLCB0aGlzLmRlY2xhcmVkVHlwZSk7XHJcbiAgICAgICAgLyogZG9uJ3QgYWRkIHRoZSBwcm9wZXJ0eSBoZXJlLCBzaW5jZSBpdCBkb2Vzbid0IGFwcGx5IHRvIGFsbCBzdWJjbGFzc2VzICovXHJcbiAgICAgICAgLy8gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJnZW5lcmljUGFyYW1ldGVyc1wiLCB0aGlzLmdldEdlbmVyaWNQYXJhbWV0ZXJzKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzaWduYXR1cmUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2lnbmF0dXJlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBzaWduYXR1cmUoc2lnbmF0dXJlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9zaWduYXR1cmUgPSBzaWduYXR1cmU7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHBhcmFtZXRlcnMoKTogU2V0PFBhcmFtZXRlcj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJhbWV0ZXJzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBudW1iZXJPZlBhcmFtZXRlcnMoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyT2ZQYXJhbWV0ZXJzO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBudW1iZXJPZlBhcmFtZXRlcnMobnVtYmVyT2ZQYXJhbWV0ZXJzOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLl9udW1iZXJPZlBhcmFtZXRlcnMgPSBudW1iZXJPZlBhcmFtZXRlcnM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGluY29taW5nSW52b2NhdGlvbnMoKTogU2V0PEludm9jYXRpb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faW5jb21pbmdJbnZvY2F0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZGVjbGFyZWRUeXBlKCk6IFR5cGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kZWNsYXJlZFR5cGU7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGRlY2xhcmVkVHlwZShkZWNsYXJlZFR5cGU6IFR5cGUpIHtcclxuICAgICAgICB0aGlzLl9kZWNsYXJlZFR5cGUgPSBkZWNsYXJlZFR5cGU7XHJcbiAgICAgICAgZGVjbGFyZWRUeXBlLmFkZEJlaGF2aW9yYWxFbnRpdHlXaXRoRGVjbGFyZWRUeXBlKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBnZW5lcmljUGFyYW1ldGVycygpOiBTZXQ8UGFyYW1ldGVyVHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZW5lcmljUGFyYW1ldGVycztcclxuICAgIH1cclxufVxyXG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoYXZpb3JhbF9lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2JlaGF2aW9yYWxfZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUU5RCx5REFBcUQ7QUFLckQsTUFBYSxnQkFBaUIsU0FBUSxrQ0FBZTtJQUFyRDs7UUFHWSxnQkFBVyxHQUFtQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBVXhDLHlCQUFvQixHQUFvQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBVWxELHVCQUFrQixHQUF1QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBa0UvRCxDQUFDO0lBcEZVLFlBQVksQ0FBQyxTQUFvQjtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoQyxTQUFTLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO0lBQ0wsQ0FBQztJQUtNLHFCQUFxQixDQUFDLGtCQUE4QjtRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ2xELGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0wsQ0FBQztJQUtNLG1CQUFtQixDQUFDLGdCQUErQjtRQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlDLGdCQUFnQixDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxRQUFRLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3BFLFFBQVEsQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hELDJFQUEyRTtRQUMzRSw2RUFBNkU7SUFDakYsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsU0FBaUI7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksa0JBQWtCLENBQUMsa0JBQTBCO1FBQzdDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxZQUFZLENBQUMsWUFBa0I7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFDbEMsWUFBWSxDQUFDLG1DQUFtQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0NBQ0o7QUF6RkQsNENBeUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCIuL3R5cGVcIjtcbmltcG9ydCB7IENvbnRhaW5lckVudGl0eSB9IGZyb20gXCIuL2NvbnRhaW5lcl9lbnRpdHlcIjtcbmltcG9ydCB7IFBhcmFtZXRlciB9IGZyb20gXCIuL3BhcmFtZXRlclwiO1xuaW1wb3J0IHsgSW52b2NhdGlvbiB9IGZyb20gXCIuL2ludm9jYXRpb25cIjtcbmltcG9ydCB7IFBhcmFtZXRlclR5cGUgfSBmcm9tIFwiLi9wYXJhbWV0ZXJfdHlwZVwiO1xuXG5leHBvcnQgY2xhc3MgQmVoYXZpb3JhbEVudGl0eSBleHRlbmRzIENvbnRhaW5lckVudGl0eSB7XG5cbiAgICBwcml2YXRlIF9zaWduYXR1cmUhOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfcGFyYW1ldGVyczogU2V0PFBhcmFtZXRlcj4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkUGFyYW1ldGVyKHBhcmFtZXRlcjogUGFyYW1ldGVyKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fcGFyYW1ldGVycy5oYXMocGFyYW1ldGVyKSkge1xuICAgICAgICAgICAgdGhpcy5fcGFyYW1ldGVycy5hZGQocGFyYW1ldGVyKTtcbiAgICAgICAgICAgIHBhcmFtZXRlci5wYXJlbnRFbnRpdHkgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbnVtYmVyT2ZQYXJhbWV0ZXJzITogbnVtYmVyO1xuICAgIHByaXZhdGUgX2luY29taW5nSW52b2NhdGlvbnM6IFNldDxJbnZvY2F0aW9uPiA9IG5ldyBTZXQoKTtcblxuICAgIHB1YmxpYyBhZGRJbmNvbWluZ0ludm9jYXRpb24oaW5jb21pbmdJbnZvY2F0aW9uOiBJbnZvY2F0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5faW5jb21pbmdJbnZvY2F0aW9ucy5oYXMoaW5jb21pbmdJbnZvY2F0aW9uKSkge1xuICAgICAgICAgICAgdGhpcy5faW5jb21pbmdJbnZvY2F0aW9ucy5hZGQoaW5jb21pbmdJbnZvY2F0aW9uKTtcbiAgICAgICAgICAgIGluY29taW5nSW52b2NhdGlvbi5hZGRDYW5kaWRhdGUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kZWNsYXJlZFR5cGUhOiBUeXBlO1xuICAgIHByaXZhdGUgX2dlbmVyaWNQYXJhbWV0ZXJzOiBTZXQ8UGFyYW1ldGVyVHlwZT4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkR2VuZXJpY1BhcmFtZXRlcihnZW5lcmljUGFyYW1ldGVyOiBQYXJhbWV0ZXJUeXBlKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fZ2VuZXJpY1BhcmFtZXRlcnMuaGFzKGdlbmVyaWNQYXJhbWV0ZXIpKSB7XG4gICAgICAgICAgICB0aGlzLl9nZW5lcmljUGFyYW1ldGVycy5hZGQoZ2VuZXJpY1BhcmFtZXRlcik7XG4gICAgICAgICAgICBnZW5lcmljUGFyYW1ldGVyLnBhcmVudEdlbmVyaWMgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xlYXJHZW5lcmljUGFyYW1ldGVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZ2VuZXJpY1BhcmFtZXRlcnMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkJlaGF2aW9yYWxFbnRpdHlcIiwgdGhpcyk7XG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzaWduYXR1cmVcIiwgdGhpcy5zaWduYXR1cmUpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInBhcmFtZXRlcnNcIiwgdGhpcy5wYXJhbWV0ZXJzKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJudW1iZXJPZlBhcmFtZXRlcnNcIiwgdGhpcy5udW1iZXJPZlBhcmFtZXRlcnMpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImluY29taW5nSW52b2NhdGlvbnNcIiwgdGhpcy5pbmNvbWluZ0ludm9jYXRpb25zKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJkZWNsYXJlZFR5cGVcIiwgdGhpcy5kZWNsYXJlZFR5cGUpO1xuICAgICAgICAvKiBkb24ndCBhZGQgdGhlIHByb3BlcnR5IGhlcmUsIHNpbmNlIGl0IGRvZXNuJ3QgYXBwbHkgdG8gYWxsIHN1YmNsYXNzZXMgKi9cbiAgICAgICAgLy8gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJnZW5lcmljUGFyYW1ldGVyc1wiLCB0aGlzLmdldEdlbmVyaWNQYXJhbWV0ZXJzKCkpO1xuICAgIH1cblxuICAgIGdldCBzaWduYXR1cmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpZ25hdHVyZTtcbiAgICB9XG5cbiAgICBzZXQgc2lnbmF0dXJlKHNpZ25hdHVyZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NpZ25hdHVyZSA9IHNpZ25hdHVyZTtcbiAgICB9XG5cbiAgICBnZXQgcGFyYW1ldGVycygpOiBTZXQ8UGFyYW1ldGVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJhbWV0ZXJzO1xuICAgIH1cblxuICAgIGdldCBudW1iZXJPZlBhcmFtZXRlcnMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlck9mUGFyYW1ldGVycztcbiAgICB9XG5cbiAgICBzZXQgbnVtYmVyT2ZQYXJhbWV0ZXJzKG51bWJlck9mUGFyYW1ldGVyczogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX251bWJlck9mUGFyYW1ldGVycyA9IG51bWJlck9mUGFyYW1ldGVycztcbiAgICB9XG5cbiAgICBnZXQgaW5jb21pbmdJbnZvY2F0aW9ucygpOiBTZXQ8SW52b2NhdGlvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5jb21pbmdJbnZvY2F0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgZGVjbGFyZWRUeXBlKCk6IFR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVjbGFyZWRUeXBlO1xuICAgIH1cblxuICAgIHNldCBkZWNsYXJlZFR5cGUoZGVjbGFyZWRUeXBlOiBUeXBlKSB7XG4gICAgICAgIHRoaXMuX2RlY2xhcmVkVHlwZSA9IGRlY2xhcmVkVHlwZTtcbiAgICAgICAgZGVjbGFyZWRUeXBlLmFkZEJlaGF2aW9yYWxFbnRpdHlXaXRoRGVjbGFyZWRUeXBlKHRoaXMpO1xuICAgIH1cblxuICAgIGdldCBnZW5lcmljUGFyYW1ldGVycygpOiBTZXQ8UGFyYW1ldGVyVHlwZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2VuZXJpY1BhcmFtZXRlcnM7XG4gICAgfVxufVxuIl19
@@ -68,4 +68,4 @@ class Class extends type_1.Type {
68
68
  }
69
69
  }
70
70
  exports.Class = Class;
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2NsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCxpQ0FBOEI7QUFLOUIsTUFBYSxLQUFNLFNBQVEsV0FBSTtJQUEvQjs7UUFHWSxnQkFBVyxHQUFrQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU3ZDLGFBQVEsR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVNsQyx1QkFBa0IsR0FBcUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVNqRCxxQkFBZ0IsR0FBcUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQWdEM0QsQ0FBQztJQXpFVSxXQUFXLENBQUMsUUFBa0I7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7SUFJTSxTQUFTLENBQUMsTUFBYztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxQixNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQztJQUlNLG1CQUFtQixDQUFDLGdCQUE2QjtRQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFJTSxpQkFBaUIsQ0FBQyxjQUEyQjtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDMUMsY0FBYyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFHTSxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxzQ0FBc0M7UUFDM0YsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLFFBQVEsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsVUFBbUI7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztDQUNKO0FBOUVELHNCQThFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCIuL3R5cGVcIjtcclxuaW1wb3J0IHsgTWV0aG9kIH0gZnJvbSBcIi4vbWV0aG9kXCI7XHJcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSBcIi4vcHJvcGVydHlcIjtcclxuaW1wb3J0IHsgSW5oZXJpdGFuY2UgfSBmcm9tIFwiLi9pbmhlcml0YW5jZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENsYXNzIGV4dGVuZHMgVHlwZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBfaXNBYnN0cmFjdCE6IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIF9wcm9wZXJ0aWVzOiBTZXQ8UHJvcGVydHk+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0eShwcm9wZXJ0eTogUHJvcGVydHkpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX3Byb3BlcnRpZXMuaGFzKHByb3BlcnR5KSkge1xyXG4gICAgICAgICAgICB0aGlzLl9wcm9wZXJ0aWVzLmFkZChwcm9wZXJ0eSk7XHJcbiAgICAgICAgICAgIHByb3BlcnR5LnBhcmVudEVudGl0eSA9IHRoaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX21ldGhvZHM6IFNldDxNZXRob2Q+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRNZXRob2QobWV0aG9kOiBNZXRob2QpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX21ldGhvZHMuaGFzKG1ldGhvZCkpIHtcclxuICAgICAgICAgICAgdGhpcy5fbWV0aG9kcy5hZGQobWV0aG9kKTtcclxuICAgICAgICAgICAgbWV0aG9kLnBhcmVudEVudGl0eSA9IHRoaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3N1cGVySW5oZXJpdGFuY2VzOiBTZXQ8SW5oZXJpdGFuY2U+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRTdXBlckluaGVyaXRhbmNlKHN1cGVySW5oZXJpdGFuY2U6IEluaGVyaXRhbmNlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9zdXBlckluaGVyaXRhbmNlcy5oYXMoc3VwZXJJbmhlcml0YW5jZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5fc3VwZXJJbmhlcml0YW5jZXMuYWRkKHN1cGVySW5oZXJpdGFuY2UpO1xyXG4gICAgICAgICAgICBzdXBlckluaGVyaXRhbmNlLnN1YmNsYXNzID0gdGhpcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc3ViSW5oZXJpdGFuY2VzOiBTZXQ8SW5oZXJpdGFuY2U+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRTdWJJbmhlcml0YW5jZShzdWJJbmhlcml0YW5jZTogSW5oZXJpdGFuY2UpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX3N1YkluaGVyaXRhbmNlcy5oYXMoc3ViSW5oZXJpdGFuY2UpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3N1YkluaGVyaXRhbmNlcy5hZGQoc3ViSW5oZXJpdGFuY2UpO1xyXG4gICAgICAgICAgICBzdWJJbmhlcml0YW5jZS5zdXBlcmNsYXNzID0gdGhpcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJDbGFzc1wiLCB0aGlzKTtcclxuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiaXNBYnN0cmFjdFwiLCB0aGlzLmlzQWJzdHJhY3QpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiYXR0cmlidXRlc1wiLCB0aGlzLnByb3BlcnRpZXMpOyAvLyBNb29zZSAoMTApIGNvZGVzIHRoZW0gYXMgYXR0cmlidXRlc1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwibWV0aG9kc1wiLCB0aGlzLm1ldGhvZHMpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwic3VwZXJJbmhlcml0YW5jZXNcIiwgdGhpcy5zdXBlckluaGVyaXRhbmNlcyk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzdWJJbmhlcml0YW5jZXNcIiwgdGhpcy5zdWJJbmhlcml0YW5jZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc0Fic3RyYWN0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc0Fic3RyYWN0O1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBpc0Fic3RyYWN0KGlzQWJzdHJhY3Q6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9pc0Fic3RyYWN0ID0gaXNBYnN0cmFjdDtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcHJvcGVydGllcygpOiBTZXQ8UHJvcGVydHk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcHJvcGVydGllcztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbWV0aG9kcygpOiBTZXQ8TWV0aG9kPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX21ldGhvZHM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHN1cGVySW5oZXJpdGFuY2VzKCk6IFNldDxJbmhlcml0YW5jZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdXBlckluaGVyaXRhbmNlcztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc3ViSW5oZXJpdGFuY2VzKCk6IFNldDxJbmhlcml0YW5jZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdWJJbmhlcml0YW5jZXM7XHJcbiAgICB9XHJcbn1cclxuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2NsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCxpQ0FBOEI7QUFLOUIsTUFBYSxLQUFNLFNBQVEsV0FBSTtJQUEvQjs7UUFHWSxnQkFBVyxHQUFrQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU3ZDLGFBQVEsR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVNsQyx1QkFBa0IsR0FBcUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVNqRCxxQkFBZ0IsR0FBcUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQWdEM0QsQ0FBQztJQXpFVSxXQUFXLENBQUMsUUFBa0I7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7SUFJTSxTQUFTLENBQUMsTUFBYztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxQixNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQztJQUlNLG1CQUFtQixDQUFDLGdCQUE2QjtRQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFJTSxpQkFBaUIsQ0FBQyxjQUEyQjtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDMUMsY0FBYyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFHTSxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxzQ0FBc0M7UUFDM0YsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLFFBQVEsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsVUFBbUI7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztDQUNKO0FBOUVELHNCQThFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IFR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XG5pbXBvcnQgeyBNZXRob2QgfSBmcm9tIFwiLi9tZXRob2RcIjtcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSBcIi4vcHJvcGVydHlcIjtcbmltcG9ydCB7IEluaGVyaXRhbmNlIH0gZnJvbSBcIi4vaW5oZXJpdGFuY2VcIjtcblxuZXhwb3J0IGNsYXNzIENsYXNzIGV4dGVuZHMgVHlwZSB7XG5cbiAgICBwcml2YXRlIF9pc0Fic3RyYWN0ITogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9wcm9wZXJ0aWVzOiBTZXQ8UHJvcGVydHk+ID0gbmV3IFNldCgpO1xuXG4gICAgcHVibGljIGFkZFByb3BlcnR5KHByb3BlcnR5OiBQcm9wZXJ0eSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3Byb3BlcnRpZXMuaGFzKHByb3BlcnR5KSkge1xuICAgICAgICAgICAgdGhpcy5fcHJvcGVydGllcy5hZGQocHJvcGVydHkpO1xuICAgICAgICAgICAgcHJvcGVydHkucGFyZW50RW50aXR5ID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX21ldGhvZHM6IFNldDxNZXRob2Q+ID0gbmV3IFNldCgpO1xuXG4gICAgcHVibGljIGFkZE1ldGhvZChtZXRob2Q6IE1ldGhvZCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX21ldGhvZHMuaGFzKG1ldGhvZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX21ldGhvZHMuYWRkKG1ldGhvZCk7XG4gICAgICAgICAgICBtZXRob2QucGFyZW50RW50aXR5ID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3N1cGVySW5oZXJpdGFuY2VzOiBTZXQ8SW5oZXJpdGFuY2U+ID0gbmV3IFNldCgpO1xuXG4gICAgcHVibGljIGFkZFN1cGVySW5oZXJpdGFuY2Uoc3VwZXJJbmhlcml0YW5jZTogSW5oZXJpdGFuY2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9zdXBlckluaGVyaXRhbmNlcy5oYXMoc3VwZXJJbmhlcml0YW5jZSkpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1cGVySW5oZXJpdGFuY2VzLmFkZChzdXBlckluaGVyaXRhbmNlKTtcbiAgICAgICAgICAgIHN1cGVySW5oZXJpdGFuY2Uuc3ViY2xhc3MgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3ViSW5oZXJpdGFuY2VzOiBTZXQ8SW5oZXJpdGFuY2U+ID0gbmV3IFNldCgpO1xuXG4gICAgcHVibGljIGFkZFN1YkluaGVyaXRhbmNlKHN1YkluaGVyaXRhbmNlOiBJbmhlcml0YW5jZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3N1YkluaGVyaXRhbmNlcy5oYXMoc3ViSW5oZXJpdGFuY2UpKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWJJbmhlcml0YW5jZXMuYWRkKHN1YkluaGVyaXRhbmNlKTtcbiAgICAgICAgICAgIHN1YkluaGVyaXRhbmNlLnN1cGVyY2xhc3MgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkNsYXNzXCIsIHRoaXMpO1xuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiaXNBYnN0cmFjdFwiLCB0aGlzLmlzQWJzdHJhY3QpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImF0dHJpYnV0ZXNcIiwgdGhpcy5wcm9wZXJ0aWVzKTsgLy8gTW9vc2UgKDEwKSBjb2RlcyB0aGVtIGFzIGF0dHJpYnV0ZXNcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJtZXRob2RzXCIsIHRoaXMubWV0aG9kcyk7XG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwic3VwZXJJbmhlcml0YW5jZXNcIiwgdGhpcy5zdXBlckluaGVyaXRhbmNlcyk7XG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwic3ViSW5oZXJpdGFuY2VzXCIsIHRoaXMuc3ViSW5oZXJpdGFuY2VzKTtcbiAgICB9XG5cbiAgICBnZXQgaXNBYnN0cmFjdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzQWJzdHJhY3Q7XG4gICAgfVxuXG4gICAgc2V0IGlzQWJzdHJhY3QoaXNBYnN0cmFjdDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9pc0Fic3RyYWN0ID0gaXNBYnN0cmFjdDtcbiAgICB9XG5cbiAgICBnZXQgcHJvcGVydGllcygpOiBTZXQ8UHJvcGVydHk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3BlcnRpZXM7XG4gICAgfVxuXG4gICAgZ2V0IG1ldGhvZHMoKTogU2V0PE1ldGhvZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWV0aG9kcztcbiAgICB9XG5cbiAgICBnZXQgc3VwZXJJbmhlcml0YW5jZXMoKTogU2V0PEluaGVyaXRhbmNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdXBlckluaGVyaXRhbmNlcztcbiAgICB9XG5cbiAgICBnZXQgc3ViSW5oZXJpdGFuY2VzKCk6IFNldDxJbmhlcml0YW5jZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3ViSW5oZXJpdGFuY2VzO1xuICAgIH1cbn1cbiJdfQ==
@@ -36,4 +36,4 @@ class Comment extends sourced_entity_1.SourcedEntity {
36
36
  }
37
37
  }
38
38
  exports.Comment = Comment;
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvY29tbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQscURBQWlEO0FBRWpELE1BQWEsT0FBUSxTQUFRLDhCQUFhO0lBTWpDLE9BQU87UUFDWixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN4RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUMsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxPQUFnQjtRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxTQUF3QjtRQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQWU7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDNUIsQ0FBQztDQUNKO0FBM0NELDBCQTJDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgU291cmNlZEVudGl0eSB9IGZyb20gXCIuL3NvdXJjZWRfZW50aXR5XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQ29tbWVudCBleHRlbmRzIFNvdXJjZWRFbnRpdHkge1xyXG5cclxuICBwcml2YXRlIF9pc0pTRG9jITogYm9vbGVhbjtcclxuICBwcml2YXRlIF9jb250YWluZXIhOiBTb3VyY2VkRW50aXR5O1xyXG4gIHByaXZhdGUgX2NvbnRlbnQhOiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkNvbW1lbnRcIiwgdGhpcyk7XHJcbiAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJpc0pTRG9jXCIsIHRoaXMuaXNKU0RvYyk7XHJcbiAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImNvbW1lbnRlZEVudGl0eVwiLCB0aGlzLmNvbnRhaW5lcik7XHJcbiAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImNvbnRlbnRcIiwgdGhpcy5jb250ZW50KTtcclxuICB9XHJcblxyXG4gICAgZ2V0IGlzSlNEb2MoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSlNEb2M7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGlzSlNEb2MoaXNKU0RvYzogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2lzSlNEb2MgPSBpc0pTRG9jO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb250YWluZXIoKTogU291cmNlZEVudGl0eSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRhaW5lcjtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgY29udGFpbmVyKGNvbnRhaW5lcjogU291cmNlZEVudGl0eSkge1xyXG4gICAgICAgIHRoaXMuX2NvbnRhaW5lciA9IGNvbnRhaW5lcjtcclxuICAgICAgICBjb250YWluZXIuYWRkQ29tbWVudCh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29udGVudCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBjb250ZW50KGNvbnRlbnQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX2NvbnRlbnQgPSBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvY29tbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQscURBQWlEO0FBRWpELE1BQWEsT0FBUSxTQUFRLDhCQUFhO0lBTWpDLE9BQU87UUFDWixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN4RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUMsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxPQUFnQjtRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxTQUF3QjtRQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQWU7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDNUIsQ0FBQztDQUNKO0FBM0NELDBCQTJDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IFNvdXJjZWRFbnRpdHkgfSBmcm9tIFwiLi9zb3VyY2VkX2VudGl0eVwiO1xuXG5leHBvcnQgY2xhc3MgQ29tbWVudCBleHRlbmRzIFNvdXJjZWRFbnRpdHkge1xuXG4gIHByaXZhdGUgX2lzSlNEb2MhOiBib29sZWFuO1xuICBwcml2YXRlIF9jb250YWluZXIhOiBTb3VyY2VkRW50aXR5O1xuICBwcml2YXRlIF9jb250ZW50ITogc3RyaW5nO1xuXG4gIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XG4gICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJDb21tZW50XCIsIHRoaXMpO1xuICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XG4gICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xuICB9XG5cbiAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcbiAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImlzSlNEb2NcIiwgdGhpcy5pc0pTRG9jKTtcbiAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImNvbW1lbnRlZEVudGl0eVwiLCB0aGlzLmNvbnRhaW5lcik7XG4gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjb250ZW50XCIsIHRoaXMuY29udGVudCk7XG4gIH1cblxuICAgIGdldCBpc0pTRG9jKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNKU0RvYztcbiAgICB9XG5cbiAgICBzZXQgaXNKU0RvYyhpc0pTRG9jOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzSlNEb2MgPSBpc0pTRG9jO1xuICAgIH1cblxuICAgIGdldCBjb250YWluZXIoKTogU291cmNlZEVudGl0eSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250YWluZXI7XG4gICAgfVxuXG4gICAgc2V0IGNvbnRhaW5lcihjb250YWluZXI6IFNvdXJjZWRFbnRpdHkpIHtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyID0gY29udGFpbmVyO1xuICAgICAgICBjb250YWluZXIuYWRkQ29tbWVudCh0aGlzKTtcbiAgICB9XG5cbiAgICBnZXQgY29udGVudCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudDtcbiAgICB9XG5cbiAgICBzZXQgY29udGVudChjb250ZW50OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fY29udGVudCA9IGNvbnRlbnQ7XG4gICAgfVxufVxuIl19
@@ -28,4 +28,4 @@ class Concretisation extends entity_1.Entity {
28
28
  }
29
29
  }
30
30
  exports.Concretisation = Concretisation;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY3JldGlzYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2NvbmNyZXRpc2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCxxQ0FBa0M7QUFNbEMsTUFBYSxjQUFlLFNBQVEsZUFBTTtJQUsvQixPQUFPO1FBQ1osTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN4RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFELFFBQVEsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLGFBQTRGO1FBQzFHLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksY0FBYyxDQUFDLGNBQTZGO1FBQzVHLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO0lBQzFDLENBQUM7Q0FDSjtBQWhDRCx3Q0FnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gXCIuL2VudGl0eVwiO1xyXG5pbXBvcnQgeyBQYXJhbWV0cmljQ2xhc3MgfSBmcm9tIFwiLi9wYXJhbWV0cmljX2NsYXNzXCI7XHJcbmltcG9ydCB7IFBhcmFtZXRyaWNGdW5jdGlvbiB9IGZyb20gXCIuL3BhcmFtZXRyaWNfZnVuY3Rpb25cIjtcclxuaW1wb3J0IHsgUGFyYW1ldHJpY0ludGVyZmFjZSB9IGZyb20gXCIuL3BhcmFtZXRyaWNfaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7IFBhcmFtZXRyaWNNZXRob2QgfSBmcm9tIFwiLi9wYXJhbWV0cmljX21ldGhvZFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbmNyZXRpc2F0aW9uIGV4dGVuZHMgRW50aXR5IHtcclxuXHJcbiAgICBwcml2YXRlIF9nZW5lcmljRW50aXR5ITogUGFyYW1ldHJpY0NsYXNzIHwgUGFyYW1ldHJpY0ludGVyZmFjZSB8IFBhcmFtZXRyaWNGdW5jdGlvbiB8IFBhcmFtZXRyaWNNZXRob2Q7XHJcbiAgICBwcml2YXRlIF9jb25jcmV0ZUVudGl0eSE6IFBhcmFtZXRyaWNDbGFzcyB8IFBhcmFtZXRyaWNJbnRlcmZhY2UgfCBQYXJhbWV0cmljRnVuY3Rpb24gfCBQYXJhbWV0cmljTWV0aG9kOyAgLy8gaXMgdGhpcyBjb3JyZWN0P1xyXG5cclxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiQ29uY3JldGlzYXRpb25cIiwgdGhpcyk7XHJcbiAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICAgIH1cclxuICBcclxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImdlbmVyaWNFbnRpdHlcIiwgdGhpcy5nZW5lcmljRW50aXR5KTtcclxuICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjb25jcmV0ZUVudGl0eVwiLCB0aGlzLmNvbmNyZXRlRW50aXR5KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2VuZXJpY0VudGl0eSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2VuZXJpY0VudGl0eTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgZ2VuZXJpY0VudGl0eShnZW5lcmljRW50aXR5OiBQYXJhbWV0cmljQ2xhc3MgfCBQYXJhbWV0cmljSW50ZXJmYWNlIHwgUGFyYW1ldHJpY0Z1bmN0aW9uIHwgUGFyYW1ldHJpY01ldGhvZCkge1xyXG4gICAgICAgIHRoaXMuX2dlbmVyaWNFbnRpdHkgPSBnZW5lcmljRW50aXR5O1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb25jcmV0ZUVudGl0eSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29uY3JldGVFbnRpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGNvbmNyZXRlRW50aXR5KGNvbmNyZXRlRW50aXR5OiBQYXJhbWV0cmljQ2xhc3MgfCBQYXJhbWV0cmljSW50ZXJmYWNlIHwgUGFyYW1ldHJpY0Z1bmN0aW9uIHwgUGFyYW1ldHJpY01ldGhvZCkge1xyXG4gICAgICAgIHRoaXMuX2NvbmNyZXRlRW50aXR5ID0gY29uY3JldGVFbnRpdHk7XHJcbiAgICB9XHJcbn1cclxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY3JldGlzYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L21vZGVsL2ZhbWl4L2NvbmNyZXRpc2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCxxQ0FBa0M7QUFNbEMsTUFBYSxjQUFlLFNBQVEsZUFBTTtJQUsvQixPQUFPO1FBQ1osTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN4RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFELFFBQVEsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLGFBQTRGO1FBQzFHLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksY0FBYyxDQUFDLGNBQTZGO1FBQzVHLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO0lBQzFDLENBQUM7Q0FDSjtBQWhDRCx3Q0FnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tIFwiLi9lbnRpdHlcIjtcbmltcG9ydCB7IFBhcmFtZXRyaWNDbGFzcyB9IGZyb20gXCIuL3BhcmFtZXRyaWNfY2xhc3NcIjtcbmltcG9ydCB7IFBhcmFtZXRyaWNGdW5jdGlvbiB9IGZyb20gXCIuL3BhcmFtZXRyaWNfZnVuY3Rpb25cIjtcbmltcG9ydCB7IFBhcmFtZXRyaWNJbnRlcmZhY2UgfSBmcm9tIFwiLi9wYXJhbWV0cmljX2ludGVyZmFjZVwiO1xuaW1wb3J0IHsgUGFyYW1ldHJpY01ldGhvZCB9IGZyb20gXCIuL3BhcmFtZXRyaWNfbWV0aG9kXCI7XG5cbmV4cG9ydCBjbGFzcyBDb25jcmV0aXNhdGlvbiBleHRlbmRzIEVudGl0eSB7XG5cbiAgICBwcml2YXRlIF9nZW5lcmljRW50aXR5ITogUGFyYW1ldHJpY0NsYXNzIHwgUGFyYW1ldHJpY0ludGVyZmFjZSB8IFBhcmFtZXRyaWNGdW5jdGlvbiB8IFBhcmFtZXRyaWNNZXRob2Q7XG4gICAgcHJpdmF0ZSBfY29uY3JldGVFbnRpdHkhOiBQYXJhbWV0cmljQ2xhc3MgfCBQYXJhbWV0cmljSW50ZXJmYWNlIHwgUGFyYW1ldHJpY0Z1bmN0aW9uIHwgUGFyYW1ldHJpY01ldGhvZDsgIC8vIGlzIHRoaXMgY29ycmVjdD9cblxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XG4gICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkNvbmNyZXRpc2F0aW9uXCIsIHRoaXMpO1xuICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcbiAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcbiAgICB9XG4gIFxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcbiAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZ2VuZXJpY0VudGl0eVwiLCB0aGlzLmdlbmVyaWNFbnRpdHkpO1xuICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjb25jcmV0ZUVudGl0eVwiLCB0aGlzLmNvbmNyZXRlRW50aXR5KTtcbiAgICB9XG5cbiAgICBnZXQgZ2VuZXJpY0VudGl0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dlbmVyaWNFbnRpdHk7XG4gICAgfVxuXG4gICAgc2V0IGdlbmVyaWNFbnRpdHkoZ2VuZXJpY0VudGl0eTogUGFyYW1ldHJpY0NsYXNzIHwgUGFyYW1ldHJpY0ludGVyZmFjZSB8IFBhcmFtZXRyaWNGdW5jdGlvbiB8IFBhcmFtZXRyaWNNZXRob2QpIHtcbiAgICAgICAgdGhpcy5fZ2VuZXJpY0VudGl0eSA9IGdlbmVyaWNFbnRpdHk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbmNyZXRlRW50aXR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uY3JldGVFbnRpdHk7XG4gICAgfVxuXG4gICAgc2V0IGNvbmNyZXRlRW50aXR5KGNvbmNyZXRlRW50aXR5OiBQYXJhbWV0cmljQ2xhc3MgfCBQYXJhbWV0cmljSW50ZXJmYWNlIHwgUGFyYW1ldHJpY0Z1bmN0aW9uIHwgUGFyYW1ldHJpY01ldGhvZCkge1xuICAgICAgICB0aGlzLl9jb25jcmV0ZUVudGl0eSA9IGNvbmNyZXRlRW50aXR5O1xuICAgIH1cbn1cbiJdfQ==
@@ -123,4 +123,4 @@ class ContainerEntity extends named_entity_1.NamedEntity {
123
123
  }
124
124
  }
125
125
  exports.ContainerEntity = ContainerEntity;
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyX2VudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvY29udGFpbmVyX2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFHOUQsaURBQTZDO0FBTTdDLE1BQWEsZUFBZ0IsU0FBUSwwQkFBVztJQUFoRDs7UUFHWSwrQkFBMEIsR0FBeUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVc3RCx3QkFBbUIsR0FBbUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVVoRCx5QkFBb0IsR0FBb0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVNsRCxjQUFTLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7UUFTbkMsa0JBQWEsR0FBYyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU3JDLHNCQUFpQixHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU3hELGVBQVUsR0FBa0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQTBGbEQsQ0FBQztJQWpKVSx1QkFBdUIsQ0FBQyxvQkFBcUM7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUMxRCxvQkFBb0IsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7SUFNTSxvQkFBb0IsQ0FBQyxpQkFBNEI7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNoRCxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3BD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LENBQUM7SUFDM0IsQ0FBQztDQUNKO0FBdEpELDBDQXNKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCIuL3R5cGVcIjtcclxuaW1wb3J0IHsgSW52b2NhdGlvbiB9IGZyb20gXCIuL2ludm9jYXRpb25cIjtcclxuaW1wb3J0IHsgTmFtZWRFbnRpdHkgfSBmcm9tIFwiLi9uYW1lZF9lbnRpdHlcIjtcclxuaW1wb3J0IHsgUmVmZXJlbmNlIH0gZnJvbSBcIi4vcmVmZXJlbmNlXCI7XHJcbmltcG9ydCB7IEFjY2VzcyB9IGZyb20gXCIuL2FjY2Vzc1wiO1xyXG5pbXBvcnQgeyBGdW5jdGlvbiBhcyBGYW1peEZ1bmN0aW9uRW50aXR5IH0gZnJvbSBcIi4vZnVuY3Rpb25cIjtcclxuaW1wb3J0IHsgVmFyaWFibGUgfSBmcm9tIFwiLi92YXJpYWJsZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbnRhaW5lckVudGl0eSBleHRlbmRzIE5hbWVkRW50aXR5IHtcclxuXHJcbiAgICBwcml2YXRlIF9wYXJlbnRDb250YWluZXJFbnRpdHkhOiBDb250YWluZXJFbnRpdHk7XHJcbiAgICBwcml2YXRlIF9jaGlsZHJlbkNvbnRhaW5lckVudGl0aWVzOiBTZXQ8Q29udGFpbmVyRW50aXR5PiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkQ2hpbGRDb250YWluZXJFbnRpdHkoY2hpbGRDb250YWluZXJFbnRpdHk6IENvbnRhaW5lckVudGl0eSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fY2hpbGRyZW5Db250YWluZXJFbnRpdGllcy5oYXMoY2hpbGRDb250YWluZXJFbnRpdHkpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NoaWxkcmVuQ29udGFpbmVyRW50aXRpZXMuYWRkKGNoaWxkQ29udGFpbmVyRW50aXR5KTtcclxuICAgICAgICAgICAgY2hpbGRDb250YWluZXJFbnRpdHkucGFyZW50Q29udGFpbmVyRW50aXR5ID0gdGhpcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY3ljbG9tYXRpY0NvbXBsZXhpdHkhOiBudW1iZXI7XHJcbiAgICBwcml2YXRlIF9udW1iZXJPZlN0YXRlbWVudHMhOiBudW1iZXI7XHJcbiAgICBwcml2YXRlIF9vdXRnb2luZ1JlZmVyZW5jZXM6IFNldDxSZWZlcmVuY2U+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRPdXRnb2luZ1JlZmVyZW5jZShvdXRnb2luZ1JlZmVyZW5jZTogUmVmZXJlbmNlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9vdXRnb2luZ1JlZmVyZW5jZXMuaGFzKG91dGdvaW5nUmVmZXJlbmNlKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9vdXRnb2luZ1JlZmVyZW5jZXMuYWRkKG91dGdvaW5nUmVmZXJlbmNlKTtcclxuICAgICAgICAgICAgb3V0Z29pbmdSZWZlcmVuY2Uuc291cmNlID0gdGhpcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfbnVtYmVyT2ZMaW5lc09mQ29kZSE6IG51bWJlcjtcclxuICAgIHByaXZhdGUgX291dGdvaW5nSW52b2NhdGlvbnM6IFNldDxJbnZvY2F0aW9uPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkT3V0Z29pbmdJbnZvY2F0aW9uKG91dGdvaW5nSW52b2NhdGlvbjogSW52b2NhdGlvbik6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fb3V0Z29pbmdJbnZvY2F0aW9ucy5oYXMob3V0Z29pbmdJbnZvY2F0aW9uKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9vdXRnb2luZ0ludm9jYXRpb25zLmFkZChvdXRnb2luZ0ludm9jYXRpb24pO1xyXG4gICAgICAgICAgICBvdXRnb2luZ0ludm9jYXRpb24uc2VuZGVyID0gdGhpcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfYWNjZXNzZXM6IFNldDxBY2Nlc3M+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRBY2Nlc3MoYWNjZXNzOiBBY2Nlc3MpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2FjY2Vzc2VzLmhhcyhhY2Nlc3MpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2VzLmFkZChhY2Nlc3MpO1xyXG4gICAgICAgICAgICBhY2Nlc3MuYWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoaWxkcmVuVHlwZXM6IFNldDxUeXBlPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkVHlwZShjaGlsZFR5cGU6IFR5cGUpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuY2hpbGRyZW5UeXBlcy5oYXMoY2hpbGRUeXBlKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuVHlwZXMuYWRkKGNoaWxkVHlwZSk7XHJcbiAgICAgICAgICAgIGNoaWxkVHlwZS5wYXJlbnRDb250YWluZXJFbnRpdHkgPSB0aGlzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoaWxkcmVuRnVuY3Rpb25zOiBTZXQ8RmFtaXhGdW5jdGlvbkVudGl0eT4gPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgcHVibGljIGFkZEZ1bmN0aW9uKGNoaWxkRnVuY3Rpb246IEZhbWl4RnVuY3Rpb25FbnRpdHkpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuY2hpbGRyZW5GdW5jdGlvbnMuaGFzKGNoaWxkRnVuY3Rpb24pKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5GdW5jdGlvbnMuYWRkKGNoaWxkRnVuY3Rpb24pO1xyXG4gICAgICAgICAgICBjaGlsZEZ1bmN0aW9uLnBhcmVudENvbnRhaW5lckVudGl0eSA9IHRoaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3ZhcmlhYmxlczogU2V0PFZhcmlhYmxlPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkVmFyaWFibGUodmFyaWFibGU6IFZhcmlhYmxlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl92YXJpYWJsZXMuaGFzKHZhcmlhYmxlKSkge1xyXG4gICAgICAgICAgICB0aGlzLl92YXJpYWJsZXMuYWRkKHZhcmlhYmxlKTtcclxuICAgICAgICAgICAgdmFyaWFibGUucGFyZW50Q29udGFpbmVyRW50aXR5ID0gdGhpcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkNvbnRhaW5lckVudGl0eVwiLCB0aGlzKTtcclxuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgICAgIC8vICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwicGFyZW50QmVoYXZpb3VyYWxFbnRpdHlcIiwgdGhpcy5nZXRQYXJlbnRDb250YWluZXJFbnRpdHkoKSk7XHJcbiAgICAgICAgLy8gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjaGlsZHJlbkNvbnRhaW5lckVudGl0aWVzXCIsIHRoaXMuZ2V0Q2hpbGRyZW5Db250YWluZXJFbnRpdGllcygpKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImN5Y2xvbWF0aWNDb21wbGV4aXR5XCIsIHRoaXMuY3ljbG9tYXRpY0NvbXBsZXhpdHkpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwibnVtYmVyT2ZTdGF0ZW1lbnRzXCIsIHRoaXMubnVtYmVyT2ZTdGF0ZW1lbnRzKTtcclxuICAgICAgICAvLyAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcIm91dGdvaW5nUmVmZXJlbmNlc1wiLCB0aGlzLmdldE91dGdvaW5nUmVmZXJlbmNlcygpKTsgIC8qIGRlcml2ZWQgPyovXHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJudW1iZXJPZkxpbmVzT2ZDb2RlXCIsIHRoaXMubnVtYmVyT2ZMaW5lc09mQ29kZSk7XHJcbiAgICAgICAgLy8gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJvdXRnb2luZ0ludm9jYXRpb25zXCIsIHRoaXMuZ2V0T3V0Z29pbmdJbnZvY2F0aW9ucygpKTsgIC8qIGRlcml2ZWQgPyovXHJcbiAgICAgICAgLy8gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJhY2Nlc3Nlc1wiLCB0aGlzLmdldEFjY2Vzc2VzKCkpOyAgLyogZGVyaXZlZCA/Ki9cclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInR5cGVzXCIsIHRoaXMudHlwZXMpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZnVuY3Rpb25zXCIsIHRoaXMuZnVuY3Rpb25zKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImxvY2FsVmFyaWFibGVzXCIsIHRoaXMudmFyaWFibGVzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcGFyZW50Q29udGFpbmVyRW50aXR5KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJlbnRDb250YWluZXJFbnRpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IHBhcmVudENvbnRhaW5lckVudGl0eShwYXJlbnRDb250YWluZXJFbnRpdHk6IENvbnRhaW5lckVudGl0eSkge1xyXG4gICAgICAgIHRoaXMuX3BhcmVudENvbnRhaW5lckVudGl0eSA9IHBhcmVudENvbnRhaW5lckVudGl0eTtcclxuICAgICAgICBwYXJlbnRDb250YWluZXJFbnRpdHkuYWRkQ2hpbGRDb250YWluZXJFbnRpdHkodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGNoaWxkcmVuQ29udGFpbmVyRW50aXRpZXMoKTogU2V0PENvbnRhaW5lckVudGl0eT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jaGlsZHJlbkNvbnRhaW5lckVudGl0aWVzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjeWNsb21hdGljQ29tcGxleGl0eSgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jeWNsb21hdGljQ29tcGxleGl0eTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgY3ljbG9tYXRpY0NvbXBsZXhpdHkoY3ljbG9tYXRpY0NvbXBsZXhpdHk6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX2N5Y2xvbWF0aWNDb21wbGV4aXR5ID0gY3ljbG9tYXRpY0NvbXBsZXhpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IG51bWJlck9mU3RhdGVtZW50cygpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9udW1iZXJPZlN0YXRlbWVudHM7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IG51bWJlck9mU3RhdGVtZW50cyhudW1iZXJPZlN0YXRlbWVudHM6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX251bWJlck9mU3RhdGVtZW50cyA9IG51bWJlck9mU3RhdGVtZW50cztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgb3V0Z29pbmdSZWZlcmVuY2VzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9vdXRnb2luZ1JlZmVyZW5jZXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IG51bWJlck9mTGluZXNPZkNvZGUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyT2ZMaW5lc09mQ29kZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgbnVtYmVyT2ZMaW5lc09mQ29kZShudW1iZXJPZkxpbmVzT2ZDb2RlOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLl9udW1iZXJPZkxpbmVzT2ZDb2RlID0gbnVtYmVyT2ZMaW5lc09mQ29kZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgb3V0Z29pbmdJbnZvY2F0aW9ucygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fb3V0Z29pbmdJbnZvY2F0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYWNjZXNzZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjY2Vzc2VzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCB0eXBlcygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlblR5cGVzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBmdW5jdGlvbnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW5GdW5jdGlvbnM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHZhcmlhYmxlcygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFyaWFibGVzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyX2VudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvY29udGFpbmVyX2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFHOUQsaURBQTZDO0FBTTdDLE1BQWEsZUFBZ0IsU0FBUSwwQkFBVztJQUFoRDs7UUFHWSwrQkFBMEIsR0FBeUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVc3RCx3QkFBbUIsR0FBbUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVVoRCx5QkFBb0IsR0FBb0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVNsRCxjQUFTLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7UUFTbkMsa0JBQWEsR0FBYyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU3JDLHNCQUFpQixHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBU3hELGVBQVUsR0FBa0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQTBGbEQsQ0FBQztJQWpKVSx1QkFBdUIsQ0FBQyxvQkFBcUM7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUMxRCxvQkFBb0IsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7SUFNTSxvQkFBb0IsQ0FBQyxpQkFBNEI7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNoRCxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3BD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LENBQUM7SUFDM0IsQ0FBQztDQUNKO0FBdEpELDBDQXNKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IFR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XG5pbXBvcnQgeyBJbnZvY2F0aW9uIH0gZnJvbSBcIi4vaW52b2NhdGlvblwiO1xuaW1wb3J0IHsgTmFtZWRFbnRpdHkgfSBmcm9tIFwiLi9uYW1lZF9lbnRpdHlcIjtcbmltcG9ydCB7IFJlZmVyZW5jZSB9IGZyb20gXCIuL3JlZmVyZW5jZVwiO1xuaW1wb3J0IHsgQWNjZXNzIH0gZnJvbSBcIi4vYWNjZXNzXCI7XG5pbXBvcnQgeyBGdW5jdGlvbiBhcyBGYW1peEZ1bmN0aW9uRW50aXR5IH0gZnJvbSBcIi4vZnVuY3Rpb25cIjtcbmltcG9ydCB7IFZhcmlhYmxlIH0gZnJvbSBcIi4vdmFyaWFibGVcIjtcblxuZXhwb3J0IGNsYXNzIENvbnRhaW5lckVudGl0eSBleHRlbmRzIE5hbWVkRW50aXR5IHtcblxuICAgIHByaXZhdGUgX3BhcmVudENvbnRhaW5lckVudGl0eSE6IENvbnRhaW5lckVudGl0eTtcbiAgICBwcml2YXRlIF9jaGlsZHJlbkNvbnRhaW5lckVudGl0aWVzOiBTZXQ8Q29udGFpbmVyRW50aXR5PiA9IG5ldyBTZXQoKTtcblxuICAgIHB1YmxpYyBhZGRDaGlsZENvbnRhaW5lckVudGl0eShjaGlsZENvbnRhaW5lckVudGl0eTogQ29udGFpbmVyRW50aXR5KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY2hpbGRyZW5Db250YWluZXJFbnRpdGllcy5oYXMoY2hpbGRDb250YWluZXJFbnRpdHkpKSB7XG4gICAgICAgICAgICB0aGlzLl9jaGlsZHJlbkNvbnRhaW5lckVudGl0aWVzLmFkZChjaGlsZENvbnRhaW5lckVudGl0eSk7XG4gICAgICAgICAgICBjaGlsZENvbnRhaW5lckVudGl0eS5wYXJlbnRDb250YWluZXJFbnRpdHkgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3ljbG9tYXRpY0NvbXBsZXhpdHkhOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfbnVtYmVyT2ZTdGF0ZW1lbnRzITogbnVtYmVyO1xuICAgIHByaXZhdGUgX291dGdvaW5nUmVmZXJlbmNlczogU2V0PFJlZmVyZW5jZT4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkT3V0Z29pbmdSZWZlcmVuY2Uob3V0Z29pbmdSZWZlcmVuY2U6IFJlZmVyZW5jZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX291dGdvaW5nUmVmZXJlbmNlcy5oYXMob3V0Z29pbmdSZWZlcmVuY2UpKSB7XG4gICAgICAgICAgICB0aGlzLl9vdXRnb2luZ1JlZmVyZW5jZXMuYWRkKG91dGdvaW5nUmVmZXJlbmNlKTtcbiAgICAgICAgICAgIG91dGdvaW5nUmVmZXJlbmNlLnNvdXJjZSA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9udW1iZXJPZkxpbmVzT2ZDb2RlITogbnVtYmVyO1xuICAgIHByaXZhdGUgX291dGdvaW5nSW52b2NhdGlvbnM6IFNldDxJbnZvY2F0aW9uPiA9IG5ldyBTZXQoKTtcblxuICAgIHB1YmxpYyBhZGRPdXRnb2luZ0ludm9jYXRpb24ob3V0Z29pbmdJbnZvY2F0aW9uOiBJbnZvY2F0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fb3V0Z29pbmdJbnZvY2F0aW9ucy5oYXMob3V0Z29pbmdJbnZvY2F0aW9uKSkge1xuICAgICAgICAgICAgdGhpcy5fb3V0Z29pbmdJbnZvY2F0aW9ucy5hZGQob3V0Z29pbmdJbnZvY2F0aW9uKTtcbiAgICAgICAgICAgIG91dGdvaW5nSW52b2NhdGlvbi5zZW5kZXIgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWNjZXNzZXM6IFNldDxBY2Nlc3M+ID0gbmV3IFNldCgpO1xuXG4gICAgcHVibGljIGFkZEFjY2VzcyhhY2Nlc3M6IEFjY2Vzcyk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2FjY2Vzc2VzLmhhcyhhY2Nlc3MpKSB7XG4gICAgICAgICAgICB0aGlzLl9hY2Nlc3Nlcy5hZGQoYWNjZXNzKTtcbiAgICAgICAgICAgIGFjY2Vzcy5hY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoaWxkcmVuVHlwZXM6IFNldDxUeXBlPiA9IG5ldyBTZXQoKTtcblxuICAgIHB1YmxpYyBhZGRUeXBlKGNoaWxkVHlwZTogVHlwZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY2hpbGRyZW5UeXBlcy5oYXMoY2hpbGRUeXBlKSkge1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlblR5cGVzLmFkZChjaGlsZFR5cGUpO1xuICAgICAgICAgICAgY2hpbGRUeXBlLnBhcmVudENvbnRhaW5lckVudGl0eSA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoaWxkcmVuRnVuY3Rpb25zOiBTZXQ8RmFtaXhGdW5jdGlvbkVudGl0eT4gPSBuZXcgU2V0KCk7XG5cbiAgICBwdWJsaWMgYWRkRnVuY3Rpb24oY2hpbGRGdW5jdGlvbjogRmFtaXhGdW5jdGlvbkVudGl0eSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY2hpbGRyZW5GdW5jdGlvbnMuaGFzKGNoaWxkRnVuY3Rpb24pKSB7XG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuRnVuY3Rpb25zLmFkZChjaGlsZEZ1bmN0aW9uKTtcbiAgICAgICAgICAgIGNoaWxkRnVuY3Rpb24ucGFyZW50Q29udGFpbmVyRW50aXR5ID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3ZhcmlhYmxlczogU2V0PFZhcmlhYmxlPiA9IG5ldyBTZXQoKTtcblxuICAgIHB1YmxpYyBhZGRWYXJpYWJsZSh2YXJpYWJsZTogVmFyaWFibGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl92YXJpYWJsZXMuaGFzKHZhcmlhYmxlKSkge1xuICAgICAgICAgICAgdGhpcy5fdmFyaWFibGVzLmFkZCh2YXJpYWJsZSk7XG4gICAgICAgICAgICB2YXJpYWJsZS5wYXJlbnRDb250YWluZXJFbnRpdHkgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJDb250YWluZXJFbnRpdHlcIiwgdGhpcyk7XG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcbiAgICAgICAgLy8gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJwYXJlbnRCZWhhdmlvdXJhbEVudGl0eVwiLCB0aGlzLmdldFBhcmVudENvbnRhaW5lckVudGl0eSgpKTtcbiAgICAgICAgLy8gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjaGlsZHJlbkNvbnRhaW5lckVudGl0aWVzXCIsIHRoaXMuZ2V0Q2hpbGRyZW5Db250YWluZXJFbnRpdGllcygpKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJjeWNsb21hdGljQ29tcGxleGl0eVwiLCB0aGlzLmN5Y2xvbWF0aWNDb21wbGV4aXR5KTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJudW1iZXJPZlN0YXRlbWVudHNcIiwgdGhpcy5udW1iZXJPZlN0YXRlbWVudHMpO1xuICAgICAgICAvLyAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcIm91dGdvaW5nUmVmZXJlbmNlc1wiLCB0aGlzLmdldE91dGdvaW5nUmVmZXJlbmNlcygpKTsgIC8qIGRlcml2ZWQgPyovXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwibnVtYmVyT2ZMaW5lc09mQ29kZVwiLCB0aGlzLm51bWJlck9mTGluZXNPZkNvZGUpO1xuICAgICAgICAvLyAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcIm91dGdvaW5nSW52b2NhdGlvbnNcIiwgdGhpcy5nZXRPdXRnb2luZ0ludm9jYXRpb25zKCkpOyAgLyogZGVyaXZlZCA/Ki9cbiAgICAgICAgLy8gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJhY2Nlc3Nlc1wiLCB0aGlzLmdldEFjY2Vzc2VzKCkpOyAgLyogZGVyaXZlZCA/Ki9cbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJ0eXBlc1wiLCB0aGlzLnR5cGVzKTtcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJmdW5jdGlvbnNcIiwgdGhpcy5mdW5jdGlvbnMpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImxvY2FsVmFyaWFibGVzXCIsIHRoaXMudmFyaWFibGVzKTtcbiAgICB9XG5cbiAgICBnZXQgcGFyZW50Q29udGFpbmVyRW50aXR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50Q29udGFpbmVyRW50aXR5O1xuICAgIH1cblxuICAgIHNldCBwYXJlbnRDb250YWluZXJFbnRpdHkocGFyZW50Q29udGFpbmVyRW50aXR5OiBDb250YWluZXJFbnRpdHkpIHtcbiAgICAgICAgdGhpcy5fcGFyZW50Q29udGFpbmVyRW50aXR5ID0gcGFyZW50Q29udGFpbmVyRW50aXR5O1xuICAgICAgICBwYXJlbnRDb250YWluZXJFbnRpdHkuYWRkQ2hpbGRDb250YWluZXJFbnRpdHkodGhpcyk7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkcmVuQ29udGFpbmVyRW50aXRpZXMoKTogU2V0PENvbnRhaW5lckVudGl0eT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2hpbGRyZW5Db250YWluZXJFbnRpdGllcztcbiAgICB9XG5cbiAgICBnZXQgY3ljbG9tYXRpY0NvbXBsZXhpdHkoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N5Y2xvbWF0aWNDb21wbGV4aXR5O1xuICAgIH1cblxuICAgIHNldCBjeWNsb21hdGljQ29tcGxleGl0eShjeWNsb21hdGljQ29tcGxleGl0eTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2N5Y2xvbWF0aWNDb21wbGV4aXR5ID0gY3ljbG9tYXRpY0NvbXBsZXhpdHk7XG4gICAgfVxuXG4gICAgZ2V0IG51bWJlck9mU3RhdGVtZW50cygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyT2ZTdGF0ZW1lbnRzO1xuICAgIH1cblxuICAgIHNldCBudW1iZXJPZlN0YXRlbWVudHMobnVtYmVyT2ZTdGF0ZW1lbnRzOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fbnVtYmVyT2ZTdGF0ZW1lbnRzID0gbnVtYmVyT2ZTdGF0ZW1lbnRzO1xuICAgIH1cblxuICAgIGdldCBvdXRnb2luZ1JlZmVyZW5jZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vdXRnb2luZ1JlZmVyZW5jZXM7XG4gICAgfVxuXG4gICAgZ2V0IG51bWJlck9mTGluZXNPZkNvZGUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlck9mTGluZXNPZkNvZGU7XG4gICAgfVxuXG4gICAgc2V0IG51bWJlck9mTGluZXNPZkNvZGUobnVtYmVyT2ZMaW5lc09mQ29kZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX251bWJlck9mTGluZXNPZkNvZGUgPSBudW1iZXJPZkxpbmVzT2ZDb2RlO1xuICAgIH1cblxuICAgIGdldCBvdXRnb2luZ0ludm9jYXRpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3V0Z29pbmdJbnZvY2F0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgYWNjZXNzZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY2Nlc3NlcztcbiAgICB9XG5cbiAgICBnZXQgdHlwZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuVHlwZXM7XG4gICAgfVxuXG4gICAgZ2V0IGZ1bmN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW5GdW5jdGlvbnM7XG4gICAgfVxuXG4gICAgZ2V0IHZhcmlhYmxlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhcmlhYmxlcztcbiAgICB9XG59XG4iXX0=
@@ -29,4 +29,4 @@ class Decorator extends named_entity_1.NamedEntity {
29
29
  }
30
30
  }
31
31
  exports.Decorator = Decorator;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9tb2RlbC9mYW1peC9kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELGlEQUE2QztBQUU3QyxNQUFhLFNBQVUsU0FBUSwwQkFBVztJQUsvQixPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdELFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNuQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxtQkFBbUIsQ0FBQyxtQkFBMkI7UUFDL0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG1CQUFtQixDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsZUFBNEI7UUFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUN4QyxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDSjtBQWpDRCw4QkFpQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IE5hbWVkRW50aXR5IH0gZnJvbSBcIi4vbmFtZWRfZW50aXR5XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgRGVjb3JhdG9yIGV4dGVuZHMgTmFtZWRFbnRpdHkge1xyXG5cclxuICAgIHByaXZhdGUgX2RlY29yYXRvckV4cHJlc3Npb24hOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIF9kZWNvcmF0ZWRFbnRpdHkhOiBOYW1lZEVudGl0eTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiRGVjb3JhdG9yXCIsIHRoaXMpO1xyXG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJleHByZXNzaW9uXCIsIHRoaXMuZGVjb3JhdG9yRXhwcmVzc2lvbik7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJkZWNvcmF0ZWRFbnRpdHlcIiwgdGhpcy5kZWNvcmF0ZWRFbnRpdHkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkZWNvcmF0b3JFeHByZXNzaW9uKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlY29yYXRvckV4cHJlc3Npb247XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGRlY29yYXRvckV4cHJlc3Npb24oZGVjb3JhdG9yRXhwcmVzc2lvbjogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fZGVjb3JhdG9yRXhwcmVzc2lvbiA9IGRlY29yYXRvckV4cHJlc3Npb247XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGRlY29yYXRlZEVudGl0eSgpOiBOYW1lZEVudGl0eSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlY29yYXRlZEVudGl0eTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgZGVjb3JhdGVkRW50aXR5KGRlY29yYXRlZEVudGl0eTogTmFtZWRFbnRpdHkpIHtcclxuICAgICAgICB0aGlzLl9kZWNvcmF0ZWRFbnRpdHkgPSBkZWNvcmF0ZWRFbnRpdHk7XHJcbiAgICAgICAgZGVjb3JhdGVkRW50aXR5LmFkZERlY29yYXRvcih0aGlzKTtcclxuICAgIH1cclxufVxyXG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9tb2RlbC9mYW1peC9kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELGlEQUE2QztBQUU3QyxNQUFhLFNBQVUsU0FBUSwwQkFBVztJQUsvQixPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdELFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNuQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxtQkFBbUIsQ0FBQyxtQkFBMkI7UUFDL0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG1CQUFtQixDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsZUFBNEI7UUFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUN4QyxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDSjtBQWpDRCw4QkFpQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBOYW1lZEVudGl0eSB9IGZyb20gXCIuL25hbWVkX2VudGl0eVwiO1xuXG5leHBvcnQgY2xhc3MgRGVjb3JhdG9yIGV4dGVuZHMgTmFtZWRFbnRpdHkge1xuXG4gICAgcHJpdmF0ZSBfZGVjb3JhdG9yRXhwcmVzc2lvbiE6IHN0cmluZztcbiAgICBwcml2YXRlIF9kZWNvcmF0ZWRFbnRpdHkhOiBOYW1lZEVudGl0eTtcblxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiRGVjb3JhdG9yXCIsIHRoaXMpO1xuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZXhwcmVzc2lvblwiLCB0aGlzLmRlY29yYXRvckV4cHJlc3Npb24pO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImRlY29yYXRlZEVudGl0eVwiLCB0aGlzLmRlY29yYXRlZEVudGl0eSk7XG4gICAgfVxuXG4gICAgZ2V0IGRlY29yYXRvckV4cHJlc3Npb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlY29yYXRvckV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgc2V0IGRlY29yYXRvckV4cHJlc3Npb24oZGVjb3JhdG9yRXhwcmVzc2lvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2RlY29yYXRvckV4cHJlc3Npb24gPSBkZWNvcmF0b3JFeHByZXNzaW9uO1xuICAgIH1cblxuICAgIGdldCBkZWNvcmF0ZWRFbnRpdHkoKTogTmFtZWRFbnRpdHkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVjb3JhdGVkRW50aXR5O1xuICAgIH1cblxuICAgIHNldCBkZWNvcmF0ZWRFbnRpdHkoZGVjb3JhdGVkRW50aXR5OiBOYW1lZEVudGl0eSkge1xuICAgICAgICB0aGlzLl9kZWNvcmF0ZWRFbnRpdHkgPSBkZWNvcmF0ZWRFbnRpdHk7XG4gICAgICAgIGRlY29yYXRlZEVudGl0eS5hZGREZWNvcmF0b3IodGhpcyk7XG4gICAgfVxufVxuIl19
@@ -14,4 +14,4 @@ class Entity extends famix_base_element_1.FamixBaseElement {
14
14
  }
15
15
  }
16
16
  exports.Entity = Entity;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9tb2RlbC9mYW1peC9lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELGlFQUE0RDtBQUU1RCxNQUFhLE1BQU8sU0FBUSxxQ0FBZ0I7SUFFbkMsT0FBTztRQUNaLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3hELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUFYRCx3QkFXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgRmFtaXhCYXNlRWxlbWVudCB9IGZyb20gXCIuLi8uLi9mYW1peF9iYXNlX2VsZW1lbnRcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHkgZXh0ZW5kcyBGYW1peEJhc2VFbGVtZW50IHtcclxuXHJcbiAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiRW50aXR5XCIsIHRoaXMpO1xyXG4gICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICB9XHJcbn1cclxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9tb2RlbC9mYW1peC9lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELGlFQUE0RDtBQUU1RCxNQUFhLE1BQU8sU0FBUSxxQ0FBZ0I7SUFFbkMsT0FBTztRQUNaLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3hELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUFYRCx3QkFXQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IEZhbWl4QmFzZUVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vZmFtaXhfYmFzZV9lbGVtZW50XCI7XG5cbmV4cG9ydCBjbGFzcyBFbnRpdHkgZXh0ZW5kcyBGYW1peEJhc2VFbGVtZW50IHtcblxuICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiRW50aXR5XCIsIHRoaXMpO1xuICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XG4gICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xuICB9XG5cbiAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcbiAgfVxufVxuIl19
@@ -28,4 +28,4 @@ class Enum extends type_1.Type {
28
28
  }
29
29
  }
30
30
  exports.Enum = Enum;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsaUNBQThCO0FBRzlCLE1BQWEsSUFBSyxTQUFRLFdBQUk7SUFBOUI7O1FBRVksWUFBTyxHQUFtQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBdUJoRCxDQUFDO0lBckJVLFFBQVEsQ0FBQyxLQUFnQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QixLQUFLLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztDQUNKO0FBekJELG9CQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCIuL3R5cGVcIjtcclxuaW1wb3J0IHsgRW51bVZhbHVlIH0gZnJvbSBcIi4vZW51bV92YWx1ZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVudW0gZXh0ZW5kcyBUeXBlIHtcclxuXHJcbiAgICBwcml2YXRlIF92YWx1ZXM6IFNldDxFbnVtVmFsdWU+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRWYWx1ZSh2YWx1ZTogRW51bVZhbHVlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl92YWx1ZXMuaGFzKHZhbHVlKSkge1xyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZXMuYWRkKHZhbHVlKTtcclxuICAgICAgICAgICAgdmFsdWUucGFyZW50RW50aXR5ID0gdGhpcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkVudW1cIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImVudW1WYWx1ZXNcIiwgdGhpcy52YWx1ZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCB2YWx1ZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlcztcclxuICAgIH1cclxufVxyXG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsaUNBQThCO0FBRzlCLE1BQWEsSUFBSyxTQUFRLFdBQUk7SUFBOUI7O1FBRVksWUFBTyxHQUFtQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBdUJoRCxDQUFDO0lBckJVLFFBQVEsQ0FBQyxLQUFnQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QixLQUFLLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU87UUFDVixNQUFNLElBQUksR0FBc0IsSUFBSSx1Q0FBaUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUEyQjtRQUN0RCxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztDQUNKO0FBekJELG9CQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcbmltcG9ydCB7IFR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XG5pbXBvcnQgeyBFbnVtVmFsdWUgfSBmcm9tIFwiLi9lbnVtX3ZhbHVlXCI7XG5cbmV4cG9ydCBjbGFzcyBFbnVtIGV4dGVuZHMgVHlwZSB7XG5cbiAgICBwcml2YXRlIF92YWx1ZXM6IFNldDxFbnVtVmFsdWU+ID0gbmV3IFNldCgpO1xuXG4gICAgcHVibGljIGFkZFZhbHVlKHZhbHVlOiBFbnVtVmFsdWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl92YWx1ZXMuaGFzKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWVzLmFkZCh2YWx1ZSk7XG4gICAgICAgICAgICB2YWx1ZS5wYXJlbnRFbnRpdHkgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJFbnVtXCIsIHRoaXMpO1xuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZW51bVZhbHVlc1wiLCB0aGlzLnZhbHVlcyk7XG4gICAgfVxuXG4gICAgZ2V0IHZhbHVlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlcztcbiAgICB9XG59XG4iXX0=
@@ -22,4 +22,4 @@ class EnumValue extends structural_entity_1.StructuralEntity {
22
22
  }
23
23
  }
24
24
  exports.EnumValue = EnumValue;
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bV92YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvZW51bV92YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsMkRBQXVEO0FBR3ZELE1BQWEsU0FBVSxTQUFRLG9DQUFnQjtJQUlwQyxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxZQUFrQjtRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDSjtBQXZCRCw4QkF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IFN0cnVjdHVyYWxFbnRpdHkgfSBmcm9tIFwiLi9zdHJ1Y3R1cmFsX2VudGl0eVwiO1xyXG5pbXBvcnQgeyBFbnVtIH0gZnJvbSBcIi4vZW51bVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVudW1WYWx1ZSBleHRlbmRzIFN0cnVjdHVyYWxFbnRpdHkge1xyXG5cclxuICAgIHByaXZhdGUgX3BhcmVudEVudGl0eSE6IEVudW07XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkVudW1WYWx1ZVwiLCB0aGlzKTtcclxuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwicGFyZW50RW51bVwiLCB0aGlzLnBhcmVudEVudGl0eSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHBhcmVudEVudGl0eSgpOiBFbnVtIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50RW50aXR5O1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBwYXJlbnRFbnRpdHkocGFyZW50RW50aXR5OiBFbnVtKSB7XHJcbiAgICAgICAgdGhpcy5fcGFyZW50RW50aXR5ID0gcGFyZW50RW50aXR5O1xyXG4gICAgICAgIHBhcmVudEVudGl0eS5hZGRWYWx1ZSh0aGlzKTtcclxuICAgIH1cclxufVxyXG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bV92YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvZW51bV92YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsMkRBQXVEO0FBR3ZELE1BQWEsU0FBVSxTQUFRLG9DQUFnQjtJQUlwQyxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxZQUFrQjtRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDSjtBQXZCRCw4QkF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XG5pbXBvcnQgeyBTdHJ1Y3R1cmFsRW50aXR5IH0gZnJvbSBcIi4vc3RydWN0dXJhbF9lbnRpdHlcIjtcbmltcG9ydCB7IEVudW0gfSBmcm9tIFwiLi9lbnVtXCI7XG5cbmV4cG9ydCBjbGFzcyBFbnVtVmFsdWUgZXh0ZW5kcyBTdHJ1Y3R1cmFsRW50aXR5IHtcblxuICAgIHByaXZhdGUgX3BhcmVudEVudGl0eSE6IEVudW07XG5cbiAgICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIkVudW1WYWx1ZVwiLCB0aGlzKTtcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInBhcmVudEVudW1cIiwgdGhpcy5wYXJlbnRFbnRpdHkpO1xuICAgIH1cblxuICAgIGdldCBwYXJlbnRFbnRpdHkoKTogRW51bSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJlbnRFbnRpdHk7XG4gICAgfVxuXG4gICAgc2V0IHBhcmVudEVudGl0eShwYXJlbnRFbnRpdHk6IEVudW0pIHtcbiAgICAgICAgdGhpcy5fcGFyZW50RW50aXR5ID0gcGFyZW50RW50aXR5O1xuICAgICAgICBwYXJlbnRFbnRpdHkuYWRkVmFsdWUodGhpcyk7XG4gICAgfVxufVxuIl19