ts2famix 2.0.3 → 2.1.0-beta.2

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 (191) hide show
  1. package/.eslintrc.json +24 -24
  2. package/.vscode/settings.json +4 -0
  3. package/LICENSE +24 -24
  4. package/README.md +78 -78
  5. package/TODO +1 -0
  6. package/arwea-fix.json +1 -0
  7. package/bogus.ts +3 -0
  8. package/class-diagram.puml +792 -0
  9. package/debug.txt +13332 -0
  10. package/debuglog.txt +12073 -0
  11. package/dist/analyze.js +19 -9
  12. package/dist/analyze_functions/process_functions.js +101 -71
  13. package/dist/famix2puml.js +126 -0
  14. package/dist/famix_functions/EntityDictionary.js +881 -509
  15. package/dist/famix_functions/helpers_creation.js +18 -8
  16. package/dist/fqn.js +44 -11
  17. package/dist/getClasses-arrow-body.js +43 -0
  18. package/dist/lib/famix/famix_JSON_exporter.js +1 -1
  19. package/dist/lib/famix/famix_base_element.js +1 -1
  20. package/dist/lib/famix/famix_repository.js +67 -2
  21. package/dist/lib/famix/index.js +18 -8
  22. package/dist/lib/famix/model/famix/access.js +1 -1
  23. package/dist/lib/famix/model/famix/accessor.js +1 -1
  24. package/dist/lib/famix/model/famix/alias.js +1 -1
  25. package/dist/lib/famix/model/famix/arrow_function.js +1 -1
  26. package/dist/lib/famix/model/famix/behavioral_entity.js +1 -1
  27. package/dist/lib/famix/model/famix/class.js +1 -1
  28. package/dist/lib/famix/model/famix/comment.js +1 -1
  29. package/dist/lib/famix/model/famix/concretisation.js +1 -1
  30. package/dist/lib/famix/model/famix/container_entity.js +1 -1
  31. package/dist/lib/famix/model/famix/decorator.js +1 -1
  32. package/dist/lib/famix/model/famix/entity.js +1 -1
  33. package/dist/lib/famix/model/famix/enum.js +1 -1
  34. package/dist/lib/famix/model/famix/enum_value.js +1 -1
  35. package/dist/lib/famix/model/famix/function.js +1 -1
  36. package/dist/lib/famix/model/famix/import_clause.js +1 -1
  37. package/dist/lib/famix/model/famix/index.js +1 -1
  38. package/dist/lib/famix/model/famix/indexed_file_anchor.js +1 -1
  39. package/dist/lib/famix/model/famix/inheritance.js +1 -1
  40. package/dist/lib/famix/model/famix/interface.js +1 -1
  41. package/dist/lib/famix/model/famix/invocation.js +1 -1
  42. package/dist/lib/famix/model/famix/method.js +1 -1
  43. package/dist/lib/famix/model/famix/module.js +1 -1
  44. package/dist/lib/famix/model/famix/named_entity.js +1 -1
  45. package/dist/lib/famix/model/famix/parameter.js +1 -1
  46. package/dist/lib/famix/model/famix/parameter_concretisation.js +1 -1
  47. package/dist/lib/famix/model/famix/parameter_type.js +1 -1
  48. package/dist/lib/famix/model/famix/parametric_arrow_function.js +1 -1
  49. package/dist/lib/famix/model/famix/parametric_class.js +1 -1
  50. package/dist/lib/famix/model/famix/parametric_function.js +1 -1
  51. package/dist/lib/famix/model/famix/parametric_interface.js +1 -1
  52. package/dist/lib/famix/model/famix/parametric_method.js +1 -1
  53. package/dist/lib/famix/model/famix/primitive_type.js +1 -1
  54. package/dist/lib/famix/model/famix/property.js +1 -1
  55. package/dist/lib/famix/model/famix/reference.js +1 -1
  56. package/dist/lib/famix/model/famix/scoping_entity.js +1 -1
  57. package/dist/lib/famix/model/famix/script_entity.js +1 -1
  58. package/dist/lib/famix/model/famix/source_anchor.js +1 -1
  59. package/dist/lib/famix/model/famix/source_language.js +1 -1
  60. package/dist/lib/famix/model/famix/sourced_entity.js +1 -1
  61. package/dist/lib/famix/model/famix/structural_entity.js +1 -1
  62. package/dist/lib/famix/model/famix/type.js +1 -1
  63. package/dist/lib/famix/model/famix/variable.js +1 -1
  64. package/dist/lib/famix/src/famix_JSON_exporter.js +55 -0
  65. package/dist/lib/famix/src/famix_base_element.js +18 -0
  66. package/dist/lib/famix/src/famix_repository.js +224 -0
  67. package/dist/lib/famix/src/index.js +31 -0
  68. package/dist/lib/famix/src/model/famix/access.js +40 -0
  69. package/dist/lib/famix/src/model/famix/accessor.js +17 -0
  70. package/dist/lib/famix/src/model/famix/alias.js +33 -0
  71. package/dist/lib/famix/src/model/famix/arrowFunction.js +17 -0
  72. package/dist/lib/famix/src/model/famix/arrow_function.js +17 -0
  73. package/dist/lib/famix/src/model/famix/behavioral_entity.js +79 -0
  74. package/dist/lib/famix/src/model/famix/class.js +71 -0
  75. package/dist/lib/famix/src/model/famix/comment.js +39 -0
  76. package/dist/lib/famix/src/model/famix/concretisation.js +31 -0
  77. package/dist/lib/famix/src/model/famix/container_entity.js +126 -0
  78. package/dist/lib/famix/src/model/famix/decorator.js +32 -0
  79. package/dist/lib/famix/src/model/famix/entity.js +17 -0
  80. package/dist/lib/famix/src/model/famix/enum.js +31 -0
  81. package/dist/lib/famix/src/model/famix/enum_value.js +25 -0
  82. package/dist/lib/famix/src/model/famix/function.js +17 -0
  83. package/dist/lib/famix/src/model/famix/implicit_variable.js +17 -0
  84. package/dist/lib/famix/src/model/famix/import_clause.js +41 -0
  85. package/dist/lib/famix/src/model/famix/index.js +86 -0
  86. package/dist/lib/famix/src/model/famix/indexed_file_anchor.js +38 -0
  87. package/dist/lib/famix/src/model/famix/inheritance.js +33 -0
  88. package/dist/lib/famix/src/model/famix/interface.js +64 -0
  89. package/dist/lib/famix/src/model/famix/invocation.js +54 -0
  90. package/dist/lib/famix/src/model/famix/method.js +67 -0
  91. package/dist/lib/famix/src/model/famix/module.js +60 -0
  92. package/dist/lib/famix/src/model/famix/named_entity.js +78 -0
  93. package/dist/lib/famix/src/model/famix/parameter.js +25 -0
  94. package/dist/lib/famix/src/model/famix/parameterConcretisation.js +44 -0
  95. package/dist/lib/famix/src/model/famix/parameter_concretisation.js +44 -0
  96. package/dist/lib/famix/src/model/famix/parameter_type.js +45 -0
  97. package/dist/lib/famix/src/model/famix/parametricArrowFunction.js +29 -0
  98. package/dist/lib/famix/src/model/famix/parametric_arrow_function.js +31 -0
  99. package/dist/lib/famix/src/model/famix/parametric_class.js +44 -0
  100. package/dist/lib/famix/src/model/famix/parametric_function.js +31 -0
  101. package/dist/lib/famix/src/model/famix/parametric_interface.js +44 -0
  102. package/dist/lib/famix/src/model/famix/parametric_method.js +31 -0
  103. package/dist/lib/famix/src/model/famix/primitive_type.js +17 -0
  104. package/dist/lib/famix/src/model/famix/property.js +73 -0
  105. package/dist/lib/famix/src/model/famix/reference.js +33 -0
  106. package/dist/lib/famix/src/model/famix/scoping_entity.js +36 -0
  107. package/dist/lib/famix/src/model/famix/script_entity.js +29 -0
  108. package/dist/lib/famix/src/model/famix/source_anchor.js +27 -0
  109. package/dist/lib/famix/src/model/famix/source_language.js +35 -0
  110. package/dist/lib/famix/src/model/famix/sourced_entity.js +60 -0
  111. package/dist/lib/famix/src/model/famix/structural_entity.js +39 -0
  112. package/dist/lib/famix/src/model/famix/text_anchor.js +38 -0
  113. package/dist/lib/famix/src/model/famix/type.js +73 -0
  114. package/dist/lib/famix/src/model/famix/variable.js +24 -0
  115. package/dist/lib/ts-complex/cyclomatic-service.js +1 -1
  116. package/dist/refactorer/refactor-getter-setter.js +18 -8
  117. package/dist/ts2famix-cli-wrapper.js +18 -8
  118. package/dist/ts2famix-cli.js +18 -8
  119. package/dist/ts2famix-tsconfig.js +18 -8
  120. package/doc-uml/famix-typescript-model.puml +607 -607
  121. package/eslint.config.mjs +28 -0
  122. package/fqn-model.json +1 -0
  123. package/iterateGenericTypes.ts +69 -0
  124. package/out/class-diagram/class-diagram.svg +1 -0
  125. package/package.json +70 -66
  126. package/sample.json +1 -0
  127. package/sample.ts +1 -0
  128. package/src/analyze.ts +120 -120
  129. package/src/analyze_functions/process_functions.ts +1040 -1019
  130. package/src/famix_functions/EntityDictionary.ts +2016 -1593
  131. package/src/famix_functions/helpers_creation.ts +135 -135
  132. package/src/fqn.ts +50 -16
  133. package/src/generate_uml.sh +20 -20
  134. package/src/lib/famix/License.md +22 -22
  135. package/src/lib/famix/famix_JSON_exporter.ts +56 -56
  136. package/src/lib/famix/famix_base_element.ts +22 -22
  137. package/src/lib/famix/famix_repository.ts +278 -243
  138. package/src/lib/famix/index.ts +8 -8
  139. package/src/lib/famix/model/famix/access.ts +50 -50
  140. package/src/lib/famix/model/famix/accessor.ts +15 -15
  141. package/src/lib/famix/model/famix/alias.ts +39 -39
  142. package/src/lib/famix/model/famix/arrow_function.ts +15 -15
  143. package/src/lib/famix/model/famix/behavioral_entity.ts +97 -97
  144. package/src/lib/famix/model/famix/class.ts +85 -85
  145. package/src/lib/famix/model/famix/comment.ts +47 -47
  146. package/src/lib/famix/model/famix/concretisation.ts +40 -40
  147. package/src/lib/famix/model/famix/container_entity.ts +160 -160
  148. package/src/lib/famix/model/famix/decorator.ts +37 -37
  149. package/src/lib/famix/model/famix/entity.ts +15 -15
  150. package/src/lib/famix/model/famix/enum.ts +30 -30
  151. package/src/lib/famix/model/famix/enum_value.ts +28 -28
  152. package/src/lib/famix/model/famix/function.ts +15 -15
  153. package/src/lib/famix/model/famix/import_clause.ts +51 -51
  154. package/src/lib/famix/model/famix/index.ts +41 -41
  155. package/src/lib/famix/model/famix/indexed_file_anchor.ts +46 -46
  156. package/src/lib/famix/model/famix/inheritance.ts +40 -40
  157. package/src/lib/famix/model/famix/interface.ts +75 -75
  158. package/src/lib/famix/model/famix/invocation.ts +65 -65
  159. package/src/lib/famix/model/famix/method.ts +89 -89
  160. package/src/lib/famix/model/famix/module.ts +71 -71
  161. package/src/lib/famix/model/famix/named_entity.ts +95 -95
  162. package/src/lib/famix/model/famix/parameter.ts +28 -28
  163. package/src/lib/famix/model/famix/parameter_concretisation.ts +51 -51
  164. package/src/lib/famix/model/famix/parameter_type.ts +58 -58
  165. package/src/lib/famix/model/famix/parametric_arrow_function.ts +32 -32
  166. package/src/lib/famix/model/famix/parametric_class.ts +49 -49
  167. package/src/lib/famix/model/famix/parametric_function.ts +32 -32
  168. package/src/lib/famix/model/famix/parametric_interface.ts +49 -49
  169. package/src/lib/famix/model/famix/parametric_method.ts +32 -32
  170. package/src/lib/famix/model/famix/primitive_type.ts +15 -15
  171. package/src/lib/famix/model/famix/property.ts +94 -94
  172. package/src/lib/famix/model/famix/reference.ts +40 -40
  173. package/src/lib/famix/model/famix/scoping_entity.ts +35 -35
  174. package/src/lib/famix/model/famix/script_entity.ts +34 -34
  175. package/src/lib/famix/model/famix/source_anchor.ts +30 -30
  176. package/src/lib/famix/model/famix/source_language.ts +35 -35
  177. package/src/lib/famix/model/famix/sourced_entity.ts +70 -70
  178. package/src/lib/famix/model/famix/structural_entity.ts +43 -43
  179. package/src/lib/famix/model/famix/type.ts +87 -87
  180. package/src/lib/famix/model/famix/variable.ts +27 -27
  181. package/src/lib/famix/package.json +28 -28
  182. package/src/lib/ts-complex/cyclomatic-service.ts +83 -83
  183. package/src/refactorer/refactor-getter-setter.ts +140 -140
  184. package/src/ts2famix-cli-wrapper.ts +21 -21
  185. package/src/ts2famix-cli.ts +60 -60
  186. package/stats.txt +3091 -0
  187. package/tabby-debug-output.txt +19433 -0
  188. package/ts2famix.log +22656 -0
  189. package/tsconfig.check-tests.json +14 -14
  190. package/tsconfig.json +72 -72
  191. package/validate-references.js +103 -0
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SourceLanguage = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const entity_1 = require("./entity");
6
+ class SourceLanguage extends entity_1.Entity {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._sourcedEntities = new Set();
10
+ }
11
+ // name of the source language
12
+ get name() {
13
+ return "TypeScript";
14
+ }
15
+ addSourcedEntity(sourcedEntity) {
16
+ if (!this._sourcedEntities.has(sourcedEntity)) {
17
+ this._sourcedEntities.add(sourcedEntity);
18
+ sourcedEntity.declaredSourceLanguage = this;
19
+ }
20
+ }
21
+ getJSON() {
22
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("SourceLanguage", this);
23
+ this.addPropertiesToExporter(json);
24
+ return json.getJSON();
25
+ }
26
+ addPropertiesToExporter(exporter) {
27
+ super.addPropertiesToExporter(exporter);
28
+ exporter.addProperty("sourcedEntities", this.sourcedEntities);
29
+ }
30
+ get sourcedEntities() {
31
+ return this._sourcedEntities;
32
+ }
33
+ }
34
+ exports.SourceLanguage = SourceLanguage;
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlX2xhbmd1YWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9mYW1peC9zcmMvbW9kZWwvZmFtaXgvc291cmNlX2xhbmd1YWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE4RDtBQUM5RCxxQ0FBa0M7QUFHbEMsTUFBYSxjQUFlLFNBQVEsZUFBTTtJQUExQzs7UUFFWSxxQkFBZ0IsR0FBdUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQTRCN0QsQ0FBQztJQTFCRyw4QkFBOEI7SUFDOUIsSUFBSSxJQUFJO1FBQ0osT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGFBQTRCO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6QyxhQUFhLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1FBQ2hELENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0NBQ0o7QUE5QkQsd0NBOEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFtaXhKU09ORXhwb3J0ZXIgfSBmcm9tIFwiLi4vLi4vZmFtaXhfSlNPTl9leHBvcnRlclwiO1xyXG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tIFwiLi9lbnRpdHlcIjtcclxuaW1wb3J0IHsgU291cmNlZEVudGl0eSB9IGZyb20gXCIuL3NvdXJjZWRfZW50aXR5XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgU291cmNlTGFuZ3VhZ2UgZXh0ZW5kcyBFbnRpdHkge1xyXG5cclxuICAgIHByaXZhdGUgX3NvdXJjZWRFbnRpdGllczogU2V0PFNvdXJjZWRFbnRpdHk+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIC8vIG5hbWUgb2YgdGhlIHNvdXJjZSBsYW5ndWFnZVxyXG4gICAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gXCJUeXBlU2NyaXB0XCI7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFNvdXJjZWRFbnRpdHkoc291cmNlZEVudGl0eTogU291cmNlZEVudGl0eSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fc291cmNlZEVudGl0aWVzLmhhcyhzb3VyY2VkRW50aXR5KSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zb3VyY2VkRW50aXRpZXMuYWRkKHNvdXJjZWRFbnRpdHkpO1xyXG4gICAgICAgICAgICBzb3VyY2VkRW50aXR5LmRlY2xhcmVkU291cmNlTGFuZ3VhZ2UgPSB0aGlzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiU291cmNlTGFuZ3VhZ2VcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInNvdXJjZWRFbnRpdGllc1wiLCB0aGlzLnNvdXJjZWRFbnRpdGllcyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNvdXJjZWRFbnRpdGllcygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc291cmNlZEVudGl0aWVzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SourcedEntity = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const entity_1 = require("./entity");
6
+ const analyze_1 = require("../../../../../analyze");
7
+ class SourcedEntity extends entity_1.Entity {
8
+ constructor() {
9
+ super(...arguments);
10
+ this._comments = new Set();
11
+ }
12
+ addComment(comment) {
13
+ if (!this._comments.has(comment)) {
14
+ this._comments.add(comment);
15
+ comment.container = this;
16
+ }
17
+ else {
18
+ analyze_1.logger.debug("Adding comment that is already in comments: " + comment.getJSON() + " to " + this.getJSON());
19
+ }
20
+ }
21
+ getJSON() {
22
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("SourcedEntity", this);
23
+ this.addPropertiesToExporter(json);
24
+ return json.getJSON();
25
+ }
26
+ addPropertiesToExporter(exporter) {
27
+ super.addPropertiesToExporter(exporter);
28
+ exporter.addProperty("isStub", this.isStub);
29
+ exporter.addProperty("sourceAnchor", this.sourceAnchor);
30
+ exporter.addProperty("comments", this.comments);
31
+ exporter.addProperty("declaredSourceLanguage", this.declaredSourceLanguage);
32
+ }
33
+ get isStub() {
34
+ return this._isStub;
35
+ }
36
+ set isStub(isStub) {
37
+ this._isStub = isStub;
38
+ }
39
+ get sourceAnchor() {
40
+ return this._sourceAnchor;
41
+ }
42
+ set sourceAnchor(sourceAnchor) {
43
+ if (this._sourceAnchor === undefined) {
44
+ this._sourceAnchor = sourceAnchor;
45
+ sourceAnchor.element = this;
46
+ }
47
+ }
48
+ get comments() {
49
+ return this._comments;
50
+ }
51
+ get declaredSourceLanguage() {
52
+ return this._declaredSourceLanguage;
53
+ }
54
+ set declaredSourceLanguage(declaredSourceLanguage) {
55
+ this._declaredSourceLanguage = declaredSourceLanguage;
56
+ declaredSourceLanguage.addSourcedEntity(this);
57
+ }
58
+ }
59
+ exports.SourcedEntity = SourcedEntity;
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlZF9lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9zb3VyY2VkX2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFFOUQscUNBQWtDO0FBR2xDLG9EQUFnRDtBQUVoRCxNQUFhLGFBQWMsU0FBUSxlQUFNO0lBQXpDOztRQUlZLGNBQVMsR0FBaUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQTBEaEQsQ0FBQztJQXhEVSxVQUFVLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQzthQUFNLENBQUM7WUFDSixnQkFBTSxDQUFDLEtBQUssQ0FBQyw4Q0FBOEMsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9HLENBQUM7SUFDTCxDQUFDO0lBSU0sT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hELFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxRQUFRLENBQUMsV0FBVyxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQWU7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxZQUFZLENBQUMsWUFBMEI7UUFDdkMsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1lBQ2xDLFlBQVksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN0QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxzQkFBc0IsQ0FBQyxzQkFBc0M7UUFDN0QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHNCQUFzQixDQUFDO1FBQ3RELHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDSjtBQTlERCxzQ0E4REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IFNvdXJjZUxhbmd1YWdlIH0gZnJvbSBcIi4vc291cmNlX2xhbmd1YWdlXCI7XHJcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gXCIuL2VudGl0eVwiO1xyXG5pbXBvcnQgeyBDb21tZW50IH0gZnJvbSBcIi4vY29tbWVudFwiO1xyXG5pbXBvcnQgeyBTb3VyY2VBbmNob3IgfSBmcm9tIFwiLi9zb3VyY2VfYW5jaG9yXCI7XHJcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9hbmFseXplXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgU291cmNlZEVudGl0eSBleHRlbmRzIEVudGl0eSB7XHJcblxyXG4gICAgcHJpdmF0ZSBfaXNTdHViITogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgX3NvdXJjZUFuY2hvciE6IFNvdXJjZUFuY2hvcjtcclxuICAgIHByaXZhdGUgX2NvbW1lbnRzOiBTZXQ8Q29tbWVudD4gPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgcHVibGljIGFkZENvbW1lbnQoY29tbWVudDogQ29tbWVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fY29tbWVudHMuaGFzKGNvbW1lbnQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbW1lbnRzLmFkZChjb21tZW50KTtcclxuICAgICAgICAgICAgY29tbWVudC5jb250YWluZXIgPSB0aGlzO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZyhcIkFkZGluZyBjb21tZW50IHRoYXQgaXMgYWxyZWFkeSBpbiBjb21tZW50czogXCIgKyBjb21tZW50LmdldEpTT04oKSArIFwiIHRvIFwiICsgdGhpcy5nZXRKU09OKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9kZWNsYXJlZFNvdXJjZUxhbmd1YWdlITogU291cmNlTGFuZ3VhZ2U7XHJcblxyXG4gICAgcHVibGljIGdldEpTT04oKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqc29uOiBGYW1peEpTT05FeHBvcnRlciA9IG5ldyBGYW1peEpTT05FeHBvcnRlcihcIlNvdXJjZWRFbnRpdHlcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcImlzU3R1YlwiLCB0aGlzLmlzU3R1Yik7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzb3VyY2VBbmNob3JcIiwgdGhpcy5zb3VyY2VBbmNob3IpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiY29tbWVudHNcIiwgdGhpcy5jb21tZW50cyk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJkZWNsYXJlZFNvdXJjZUxhbmd1YWdlXCIsIHRoaXMuZGVjbGFyZWRTb3VyY2VMYW5ndWFnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzU3R1YigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXNTdHViO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBpc1N0dWIoaXNTdHViOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNTdHViID0gaXNTdHViO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzb3VyY2VBbmNob3IoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZUFuY2hvcjtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgc291cmNlQW5jaG9yKHNvdXJjZUFuY2hvcjogU291cmNlQW5jaG9yKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NvdXJjZUFuY2hvciA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NvdXJjZUFuY2hvciA9IHNvdXJjZUFuY2hvcjtcclxuICAgICAgICAgICAgc291cmNlQW5jaG9yLmVsZW1lbnQgPSB0aGlzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29tbWVudHMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbW1lbnRzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkZWNsYXJlZFNvdXJjZUxhbmd1YWdlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kZWNsYXJlZFNvdXJjZUxhbmd1YWdlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBkZWNsYXJlZFNvdXJjZUxhbmd1YWdlKGRlY2xhcmVkU291cmNlTGFuZ3VhZ2U6IFNvdXJjZUxhbmd1YWdlKSB7XHJcbiAgICAgICAgdGhpcy5fZGVjbGFyZWRTb3VyY2VMYW5ndWFnZSA9IGRlY2xhcmVkU291cmNlTGFuZ3VhZ2U7XHJcbiAgICAgICAgZGVjbGFyZWRTb3VyY2VMYW5ndWFnZS5hZGRTb3VyY2VkRW50aXR5KHRoaXMpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StructuralEntity = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const named_entity_1 = require("./named_entity");
6
+ class StructuralEntity extends named_entity_1.NamedEntity {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._incomingAccesses = new Set();
10
+ }
11
+ addIncomingAccess(incomingAccess) {
12
+ if (!this._incomingAccesses.has(incomingAccess)) {
13
+ this._incomingAccesses.add(incomingAccess);
14
+ incomingAccess.variable = this;
15
+ }
16
+ }
17
+ getJSON() {
18
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("StructuralEntity", this);
19
+ this.addPropertiesToExporter(json);
20
+ return json.getJSON();
21
+ }
22
+ addPropertiesToExporter(exporter) {
23
+ super.addPropertiesToExporter(exporter);
24
+ exporter.addProperty("incomingAccesses", this.incomingAccesses);
25
+ exporter.addProperty("declaredType", this.declaredType);
26
+ }
27
+ get incomingAccesses() {
28
+ return this._incomingAccesses;
29
+ }
30
+ get declaredType() {
31
+ return this._declaredType;
32
+ }
33
+ set declaredType(declaredType) {
34
+ this._declaredType = declaredType;
35
+ declaredType.addStructureWithDeclaredType(this);
36
+ }
37
+ }
38
+ exports.StructuralEntity = StructuralEntity;
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJhbF9lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC9zdHJ1Y3R1cmFsX2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFHOUQsaURBQTZDO0FBRTdDLE1BQWEsZ0JBQWlCLFNBQVEsMEJBQVc7SUFBakQ7O1FBRVksc0JBQWlCLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFtQ3ZELENBQUM7SUFqQ1UsaUJBQWlCLENBQUMsY0FBc0I7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzNDLGNBQWMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ25DLENBQUM7SUFDTCxDQUFDO0lBSU0sT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDaEUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxZQUFrQjtRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxZQUFZLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNKO0FBckNELDRDQXFDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCIuL3R5cGVcIjtcclxuaW1wb3J0IHsgQWNjZXNzIH0gZnJvbSBcIi4vYWNjZXNzXCI7XHJcbmltcG9ydCB7IE5hbWVkRW50aXR5IH0gZnJvbSBcIi4vbmFtZWRfZW50aXR5XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgU3RydWN0dXJhbEVudGl0eSBleHRlbmRzIE5hbWVkRW50aXR5IHtcclxuXHJcbiAgICBwcml2YXRlIF9pbmNvbWluZ0FjY2Vzc2VzOiBTZXQ8QWNjZXNzPiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkSW5jb21pbmdBY2Nlc3MoaW5jb21pbmdBY2Nlc3M6IEFjY2Vzcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5faW5jb21pbmdBY2Nlc3Nlcy5oYXMoaW5jb21pbmdBY2Nlc3MpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luY29taW5nQWNjZXNzZXMuYWRkKGluY29taW5nQWNjZXNzKTtcclxuICAgICAgICAgICAgaW5jb21pbmdBY2Nlc3MudmFyaWFibGUgPSB0aGlzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9kZWNsYXJlZFR5cGUhOiBUeXBlO1xyXG5cclxuICAgIHB1YmxpYyBnZXRKU09OKCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJTdHJ1Y3R1cmFsRW50aXR5XCIsIHRoaXMpO1xyXG4gICAgICAgIHRoaXMuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoanNvbik7XHJcbiAgICAgICAgcmV0dXJuIGpzb24uZ2V0SlNPTigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcik7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJpbmNvbWluZ0FjY2Vzc2VzXCIsIHRoaXMuaW5jb21pbmdBY2Nlc3Nlcyk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJkZWNsYXJlZFR5cGVcIiwgdGhpcy5kZWNsYXJlZFR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpbmNvbWluZ0FjY2Vzc2VzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pbmNvbWluZ0FjY2Vzc2VzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkZWNsYXJlZFR5cGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlY2xhcmVkVHlwZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgZGVjbGFyZWRUeXBlKGRlY2xhcmVkVHlwZTogVHlwZSkge1xyXG4gICAgICAgIHRoaXMuX2RlY2xhcmVkVHlwZSA9IGRlY2xhcmVkVHlwZTtcclxuICAgICAgICBkZWNsYXJlZFR5cGUuYWRkU3RydWN0dXJlV2l0aERlY2xhcmVkVHlwZSh0aGlzKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TextAnchor = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const source_anchor_1 = require("./source_anchor");
6
+ class TextAnchor extends source_anchor_1.SourceAnchor {
7
+ getStartPos() {
8
+ return this.startPos;
9
+ }
10
+ setStartPos(startPos) {
11
+ this.startPos = startPos;
12
+ }
13
+ getEndPos() {
14
+ return this.endPos;
15
+ }
16
+ setEndPos(endPos) {
17
+ this.endPos = endPos;
18
+ }
19
+ getFileName() {
20
+ return this.fileName;
21
+ }
22
+ setFileName(fileName) {
23
+ this.fileName = fileName;
24
+ }
25
+ getJSON() {
26
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("TextAnchor", this);
27
+ this.addPropertiesToExporter(json);
28
+ return json.getJSON();
29
+ }
30
+ addPropertiesToExporter(exporter) {
31
+ super.addPropertiesToExporter(exporter);
32
+ exporter.addProperty("startPos", this.getStartPos());
33
+ exporter.addProperty("endPos", this.getEndPos());
34
+ exporter.addProperty("fileName", this.getFileName());
35
+ }
36
+ }
37
+ exports.TextAnchor = TextAnchor;
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dF9hbmNob3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC90ZXh0X2FuY2hvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFDOUQsbURBQStDO0FBRS9DLE1BQWEsVUFBVyxTQUFRLDRCQUFZO0lBSW5DLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBZ0I7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUlNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFjO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFJTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQWdCO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFHTSxPQUFPO1FBQ1osTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDeEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRjtBQTdDRCxnQ0E2Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IFNvdXJjZUFuY2hvciB9IGZyb20gXCIuL3NvdXJjZV9hbmNob3JcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUZXh0QW5jaG9yIGV4dGVuZHMgU291cmNlQW5jaG9yIHtcclxuXHJcbiAgcHJpdmF0ZSBzdGFydFBvczogbnVtYmVyO1xyXG5cclxuICBwdWJsaWMgZ2V0U3RhcnRQb3MoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXJ0UG9zO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFN0YXJ0UG9zKHN0YXJ0UG9zOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhcnRQb3MgPSBzdGFydFBvcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW5kUG9zOiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyBnZXRFbmRQb3MoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmVuZFBvcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRFbmRQb3MoZW5kUG9zOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZW5kUG9zID0gZW5kUG9zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWxlTmFtZTogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgZ2V0RmlsZU5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmZpbGVOYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEZpbGVOYW1lKGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZU5hbWUgPSBmaWxlTmFtZTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xyXG4gICAgY29uc3QganNvbjogRmFtaXhKU09ORXhwb3J0ZXIgPSBuZXcgRmFtaXhKU09ORXhwb3J0ZXIoXCJUZXh0QW5jaG9yXCIsIHRoaXMpO1xyXG4gICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihleHBvcnRlcjogRmFtaXhKU09ORXhwb3J0ZXIpOiB2b2lkIHtcclxuICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwic3RhcnRQb3NcIiwgdGhpcy5nZXRTdGFydFBvcygpKTtcclxuICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiZW5kUG9zXCIsIHRoaXMuZ2V0RW5kUG9zKCkpO1xyXG4gICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJmaWxlTmFtZVwiLCB0aGlzLmdldEZpbGVOYW1lKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Type = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const container_entity_1 = require("./container_entity");
6
+ class Type extends container_entity_1.ContainerEntity {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._typeAliases = new Set();
10
+ this._structuresWithDeclaredType = new Set();
11
+ this._behavioralEntitiesWithDeclaredType = new Set();
12
+ this._incomingReferences = new Set();
13
+ }
14
+ addTypeAlias(typeAlias) {
15
+ if (!this._typeAliases.has(typeAlias)) {
16
+ this._typeAliases.add(typeAlias);
17
+ typeAlias.aliasedEntity = this;
18
+ }
19
+ }
20
+ addStructureWithDeclaredType(structureWithDeclaredType) {
21
+ if (!this._structuresWithDeclaredType.has(structureWithDeclaredType)) {
22
+ this._structuresWithDeclaredType.add(structureWithDeclaredType);
23
+ structureWithDeclaredType.declaredType = this;
24
+ }
25
+ }
26
+ addBehavioralEntityWithDeclaredType(behavioralEntityWithDeclaredType) {
27
+ if (!this._behavioralEntitiesWithDeclaredType.has(behavioralEntityWithDeclaredType)) {
28
+ this._behavioralEntitiesWithDeclaredType.add(behavioralEntityWithDeclaredType);
29
+ behavioralEntityWithDeclaredType.declaredType = this;
30
+ }
31
+ }
32
+ addIncomingReference(incomingReference) {
33
+ if (!this._incomingReferences.has(incomingReference)) {
34
+ this._incomingReferences.add(incomingReference);
35
+ incomingReference.target = this;
36
+ }
37
+ }
38
+ getJSON() {
39
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Type", this);
40
+ this.addPropertiesToExporter(json);
41
+ return json.getJSON();
42
+ }
43
+ addPropertiesToExporter(exporter) {
44
+ super.addPropertiesToExporter(exporter);
45
+ exporter.addProperty("typeContainer", this.container);
46
+ /* unsupported properties in MM so far */
47
+ // exporter.addProperty("typeAliases", this.getTypeAliases());
48
+ // exporter.addProperty("structuresWithDeclaredType", this.getStructuresWithDeclaredType());
49
+ // exporter.addProperty("behavioralEntitiesWithDeclaredType", this.getBehavioralEntitiesWithDeclaredType());
50
+ exporter.addProperty("incomingReferences", this.incomingReferences);
51
+ }
52
+ get container() {
53
+ return this._container;
54
+ }
55
+ set container(container) {
56
+ this._container = container;
57
+ container.addType(this);
58
+ }
59
+ get typeAliases() {
60
+ return this._typeAliases;
61
+ }
62
+ get structuresWithDeclaredType() {
63
+ return this._structuresWithDeclaredType;
64
+ }
65
+ get behavioralEntitiesWithDeclaredType() {
66
+ return this._behavioralEntitiesWithDeclaredType;
67
+ }
68
+ get incomingReferences() {
69
+ return this._incomingReferences;
70
+ }
71
+ }
72
+ exports.Type = Type;
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZmFtaXgvc3JjL21vZGVsL2ZhbWl4L3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBRTlELHlEQUFxRDtBQUtyRCxNQUFhLElBQUssU0FBUSxrQ0FBZTtJQUF6Qzs7UUFHWSxpQkFBWSxHQUFlLElBQUksR0FBRyxFQUFFLENBQUM7UUFTckMsZ0NBQTJCLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7UUFTL0Qsd0NBQW1DLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7UUFTdkUsd0JBQW1CLEdBQW1CLElBQUksR0FBRyxFQUFFLENBQUM7SUFpRDVELENBQUM7SUExRVUsWUFBWSxDQUFDLFNBQWdCO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2pDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ25DLENBQUM7SUFDTCxDQUFDO0lBSU0sNEJBQTRCLENBQUMseUJBQTJDO1FBQzNFLElBQUksQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQztZQUNuRSxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDaEUseUJBQXlCLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQztJQUlNLG1DQUFtQyxDQUFDLGdDQUFrRDtRQUN6RixJQUFJLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFLENBQUM7WUFDbEYsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQy9FLGdDQUFnQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekQsQ0FBQztJQUNMLENBQUM7SUFJTSxvQkFBb0IsQ0FBQyxpQkFBNEI7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNoRCxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3BDLENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLE1BQU0sSUFBSSxHQUFzQixJQUFJLHVDQUFpQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3RELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEQseUNBQXlDO1FBQ3pDLDhEQUE4RDtRQUM5RCw0RkFBNEY7UUFDNUYsNEdBQTRHO1FBQzVHLFFBQVEsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsU0FBMEI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLDBCQUEwQjtRQUMxQixPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxrQ0FBa0M7UUFDbEMsT0FBTyxJQUFJLENBQUMsbUNBQW1DLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3BDLENBQUM7Q0FDSjtBQS9FRCxvQkErRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYW1peEpTT05FeHBvcnRlciB9IGZyb20gXCIuLi8uLi9mYW1peF9KU09OX2V4cG9ydGVyXCI7XHJcbmltcG9ydCB7IFN0cnVjdHVyYWxFbnRpdHkgfSBmcm9tIFwiLi9zdHJ1Y3R1cmFsX2VudGl0eVwiO1xyXG5pbXBvcnQgeyBDb250YWluZXJFbnRpdHkgfSBmcm9tIFwiLi9jb250YWluZXJfZW50aXR5XCI7XHJcbmltcG9ydCB7IFJlZmVyZW5jZSB9IGZyb20gXCIuL3JlZmVyZW5jZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvcmFsRW50aXR5IH0gZnJvbSBcIi4vYmVoYXZpb3JhbF9lbnRpdHlcIjtcclxuaW1wb3J0IHsgQWxpYXMgfSBmcm9tIFwiLi9hbGlhc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFR5cGUgZXh0ZW5kcyBDb250YWluZXJFbnRpdHkge1xyXG5cclxuICAgIHByaXZhdGUgX2NvbnRhaW5lciE6IENvbnRhaW5lckVudGl0eTtcclxuICAgIHByaXZhdGUgX3R5cGVBbGlhc2VzOiBTZXQ8QWxpYXM+ID0gbmV3IFNldCgpO1xyXG5cclxuICAgIHB1YmxpYyBhZGRUeXBlQWxpYXModHlwZUFsaWFzOiBBbGlhcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fdHlwZUFsaWFzZXMuaGFzKHR5cGVBbGlhcykpIHtcclxuICAgICAgICAgICAgdGhpcy5fdHlwZUFsaWFzZXMuYWRkKHR5cGVBbGlhcyk7XHJcbiAgICAgICAgICAgIHR5cGVBbGlhcy5hbGlhc2VkRW50aXR5ID0gdGhpcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc3RydWN0dXJlc1dpdGhEZWNsYXJlZFR5cGU6IFNldDxTdHJ1Y3R1cmFsRW50aXR5PiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkU3RydWN0dXJlV2l0aERlY2xhcmVkVHlwZShzdHJ1Y3R1cmVXaXRoRGVjbGFyZWRUeXBlOiBTdHJ1Y3R1cmFsRW50aXR5KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9zdHJ1Y3R1cmVzV2l0aERlY2xhcmVkVHlwZS5oYXMoc3RydWN0dXJlV2l0aERlY2xhcmVkVHlwZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5fc3RydWN0dXJlc1dpdGhEZWNsYXJlZFR5cGUuYWRkKHN0cnVjdHVyZVdpdGhEZWNsYXJlZFR5cGUpO1xyXG4gICAgICAgICAgICBzdHJ1Y3R1cmVXaXRoRGVjbGFyZWRUeXBlLmRlY2xhcmVkVHlwZSA9IHRoaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2JlaGF2aW9yYWxFbnRpdGllc1dpdGhEZWNsYXJlZFR5cGU6IFNldDxCZWhhdmlvcmFsRW50aXR5PiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICBwdWJsaWMgYWRkQmVoYXZpb3JhbEVudGl0eVdpdGhEZWNsYXJlZFR5cGUoYmVoYXZpb3JhbEVudGl0eVdpdGhEZWNsYXJlZFR5cGU6IEJlaGF2aW9yYWxFbnRpdHkpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2JlaGF2aW9yYWxFbnRpdGllc1dpdGhEZWNsYXJlZFR5cGUuaGFzKGJlaGF2aW9yYWxFbnRpdHlXaXRoRGVjbGFyZWRUeXBlKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9iZWhhdmlvcmFsRW50aXRpZXNXaXRoRGVjbGFyZWRUeXBlLmFkZChiZWhhdmlvcmFsRW50aXR5V2l0aERlY2xhcmVkVHlwZSk7XHJcbiAgICAgICAgICAgIGJlaGF2aW9yYWxFbnRpdHlXaXRoRGVjbGFyZWRUeXBlLmRlY2xhcmVkVHlwZSA9IHRoaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2luY29taW5nUmVmZXJlbmNlczogU2V0PFJlZmVyZW5jZT4gPSBuZXcgU2V0KCk7XHJcblxyXG4gICAgcHVibGljIGFkZEluY29taW5nUmVmZXJlbmNlKGluY29taW5nUmVmZXJlbmNlOiBSZWZlcmVuY2UpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2luY29taW5nUmVmZXJlbmNlcy5oYXMoaW5jb21pbmdSZWZlcmVuY2UpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luY29taW5nUmVmZXJlbmNlcy5hZGQoaW5jb21pbmdSZWZlcmVuY2UpO1xyXG4gICAgICAgICAgICBpbmNvbWluZ1JlZmVyZW5jZS50YXJnZXQgPSB0aGlzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiVHlwZVwiLCB0aGlzKTtcclxuICAgICAgICB0aGlzLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGpzb24pO1xyXG4gICAgICAgIHJldHVybiBqc29uLmdldEpTT04oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXI6IEZhbWl4SlNPTkV4cG9ydGVyKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuYWRkUHJvcGVydGllc1RvRXhwb3J0ZXIoZXhwb3J0ZXIpO1xyXG4gICAgICAgIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwidHlwZUNvbnRhaW5lclwiLCB0aGlzLmNvbnRhaW5lcik7XHJcbiAgICAgICAgLyogdW5zdXBwb3J0ZWQgcHJvcGVydGllcyBpbiBNTSBzbyBmYXIgKi9cclxuICAgICAgICAvLyBleHBvcnRlci5hZGRQcm9wZXJ0eShcInR5cGVBbGlhc2VzXCIsIHRoaXMuZ2V0VHlwZUFsaWFzZXMoKSk7XHJcbiAgICAgICAgLy8gZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJzdHJ1Y3R1cmVzV2l0aERlY2xhcmVkVHlwZVwiLCB0aGlzLmdldFN0cnVjdHVyZXNXaXRoRGVjbGFyZWRUeXBlKCkpO1xyXG4gICAgICAgIC8vIGV4cG9ydGVyLmFkZFByb3BlcnR5KFwiYmVoYXZpb3JhbEVudGl0aWVzV2l0aERlY2xhcmVkVHlwZVwiLCB0aGlzLmdldEJlaGF2aW9yYWxFbnRpdGllc1dpdGhEZWNsYXJlZFR5cGUoKSk7XHJcbiAgICAgICAgZXhwb3J0ZXIuYWRkUHJvcGVydHkoXCJpbmNvbWluZ1JlZmVyZW5jZXNcIiwgdGhpcy5pbmNvbWluZ1JlZmVyZW5jZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb250YWluZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRhaW5lcjtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgY29udGFpbmVyKGNvbnRhaW5lcjogQ29udGFpbmVyRW50aXR5KSB7XHJcbiAgICAgICAgdGhpcy5fY29udGFpbmVyID0gY29udGFpbmVyO1xyXG4gICAgICAgIGNvbnRhaW5lci5hZGRUeXBlKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCB0eXBlQWxpYXNlcygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZUFsaWFzZXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHN0cnVjdHVyZXNXaXRoRGVjbGFyZWRUeXBlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdHJ1Y3R1cmVzV2l0aERlY2xhcmVkVHlwZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYmVoYXZpb3JhbEVudGl0aWVzV2l0aERlY2xhcmVkVHlwZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYmVoYXZpb3JhbEVudGl0aWVzV2l0aERlY2xhcmVkVHlwZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaW5jb21pbmdSZWZlcmVuY2VzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pbmNvbWluZ1JlZmVyZW5jZXM7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Variable = void 0;
4
+ const famix_JSON_exporter_1 = require("../../famix_JSON_exporter");
5
+ const structural_entity_1 = require("./structural_entity");
6
+ class Variable extends structural_entity_1.StructuralEntity {
7
+ getJSON() {
8
+ const json = new famix_JSON_exporter_1.FamixJSONExporter("Variable", this);
9
+ this.addPropertiesToExporter(json);
10
+ return json.getJSON();
11
+ }
12
+ addPropertiesToExporter(exporter) {
13
+ super.addPropertiesToExporter(exporter);
14
+ exporter.addProperty("parentBehaviouralEntity", this.parentContainerEntity);
15
+ }
16
+ get parentContainerEntity() {
17
+ return this._parentContainerEntity;
18
+ }
19
+ set parentContainerEntity(parentContainerEntity) {
20
+ this._parentContainerEntity = parentContainerEntity;
21
+ }
22
+ }
23
+ exports.Variable = Variable;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhbWl4L3NyYy9tb2RlbC9mYW1peC92YXJpYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBOEQ7QUFFOUQsMkRBQXVEO0FBRXZELE1BQWEsUUFBUyxTQUFRLG9DQUFnQjtJQUluQyxPQUFPO1FBQ1YsTUFBTSxJQUFJLEdBQXNCLElBQUksdUNBQWlCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBMkI7UUFDdEQsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxXQUFXLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUkscUJBQXFCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLHFCQUFxQixDQUFDLHFCQUFzQztRQUM1RCxJQUFJLENBQUMsc0JBQXNCLEdBQUcscUJBQXFCLENBQUM7SUFDeEQsQ0FBQztDQUNKO0FBdEJELDRCQXNCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhbWl4SlNPTkV4cG9ydGVyIH0gZnJvbSBcIi4uLy4uL2ZhbWl4X0pTT05fZXhwb3J0ZXJcIjtcclxuaW1wb3J0IHsgQ29udGFpbmVyRW50aXR5IH0gZnJvbSBcIi4vY29udGFpbmVyX2VudGl0eVwiO1xyXG5pbXBvcnQgeyBTdHJ1Y3R1cmFsRW50aXR5IH0gZnJvbSBcIi4vc3RydWN0dXJhbF9lbnRpdHlcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBWYXJpYWJsZSBleHRlbmRzIFN0cnVjdHVyYWxFbnRpdHkge1xyXG5cclxuICAgIHByaXZhdGUgX3BhcmVudENvbnRhaW5lckVudGl0eSE6IENvbnRhaW5lckVudGl0eTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0SlNPTigpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGpzb246IEZhbWl4SlNPTkV4cG9ydGVyID0gbmV3IEZhbWl4SlNPTkV4cG9ydGVyKFwiVmFyaWFibGVcIiwgdGhpcyk7XHJcbiAgICAgICAgdGhpcy5hZGRQcm9wZXJ0aWVzVG9FeHBvcnRlcihqc29uKTtcclxuICAgICAgICByZXR1cm4ganNvbi5nZXRKU09OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyOiBGYW1peEpTT05FeHBvcnRlcik6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmFkZFByb3BlcnRpZXNUb0V4cG9ydGVyKGV4cG9ydGVyKTtcclxuICAgICAgICBleHBvcnRlci5hZGRQcm9wZXJ0eShcInBhcmVudEJlaGF2aW91cmFsRW50aXR5XCIsIHRoaXMucGFyZW50Q29udGFpbmVyRW50aXR5KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcGFyZW50Q29udGFpbmVyRW50aXR5KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJlbnRDb250YWluZXJFbnRpdHk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IHBhcmVudENvbnRhaW5lckVudGl0eShwYXJlbnRDb250YWluZXJFbnRpdHk6IENvbnRhaW5lckVudGl0eSkge1xyXG4gICAgICAgIHRoaXMuX3BhcmVudENvbnRhaW5lckVudGl0eSA9IHBhcmVudENvbnRhaW5lckVudGl0eTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -79,4 +79,4 @@ const calculate = (filePath) => {
79
79
  return calculateFromSource(source);
80
80
  };
81
81
  exports.calculate = calculate;
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ljbG9tYXRpYy1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cy1jb21wbGV4L2N5Y2xvbWF0aWMtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7OztFQVlFOzs7QUFFRiwyQ0FBaUs7QUFDaksscUNBQTZDO0FBQzdDLDJCQUF3RDtBQUV4RCxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQTZCLEVBQUUsRUFBRTtJQUNwRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFBLHlCQUFZLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNoRyxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQUVGLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRTtJQUN6QywyQkFBMkI7SUFDM0IsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsS0FBSyx1QkFBVSxDQUFDLFVBQVU7WUFDeEIsT0FBUSxJQUFtQixDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELEtBQUssdUJBQVUsQ0FBQyxXQUFXLENBQUM7UUFDNUIsS0FBSyx1QkFBVSxDQUFDLHFCQUFxQixDQUFDO1FBQ3RDLEtBQUssdUJBQVUsQ0FBQyxXQUFXLENBQUM7UUFDNUIsS0FBSyx1QkFBVSxDQUFDLFlBQVksQ0FBQztRQUM3QixLQUFLLHVCQUFVLENBQUMsY0FBYyxDQUFDO1FBQy9CLEtBQUssdUJBQVUsQ0FBQyxjQUFjLENBQUM7UUFDL0IsS0FBSyx1QkFBVSxDQUFDLFdBQVcsQ0FBQztRQUM1QixLQUFLLHVCQUFVLENBQUMsY0FBYztZQUM1QixPQUFPLElBQUksQ0FBQztRQUVkLEtBQUssdUJBQVUsQ0FBQyxnQkFBZ0I7WUFDOUIsUUFBUyxJQUF5QixDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDdEQsS0FBSyx1QkFBVSxDQUFDLFdBQVcsQ0FBQztnQkFDNUIsS0FBSyx1QkFBVSxDQUFDLHVCQUF1QjtvQkFDckMsT0FBTyxJQUFJLENBQUM7Z0JBQ2Q7b0JBQ0UsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztRQUVIO1lBQ0UsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELDBCQUEwQjtBQUM1QixDQUFDLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHLENBQUMsR0FBUyxFQUFFLEVBQUU7SUFDeEMsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLE1BQU0sTUFBTSxHQUE4QixFQUFFLENBQUM7SUFDN0MsSUFBQSx5QkFBWSxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxJQUFJO1FBQ2hDLElBQUksSUFBQSw0QkFBa0IsRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzdCLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQztZQUN2QixVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsSUFBQSx5QkFBWSxFQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN2QixNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQztZQUMxQixVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ25CLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUM5QixVQUFVLElBQUksQ0FBQyxDQUFDO1lBQ2xCLENBQUM7WUFDRCxJQUFBLHlCQUFZLEVBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVLLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBa0IsRUFBRSxFQUFFO0lBQzlDLElBQUksQ0FBQyxJQUFBLGVBQVUsRUFBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxRQUFRLG1CQUFtQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELE1BQU0sVUFBVSxHQUFHLElBQUEsaUJBQVksRUFBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFBLDZCQUFnQixFQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxVQUFVLEVBQUUseUJBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RixPQUFPLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQVBXLFFBQUEsU0FBUyxhQU9wQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Qb3J0aW9ucyBvZiB0aGlzIGZpbGU6XG5cbk1JVCBMaWNlbnNlXG5cbkNvcHlyaWdodCAoYykgMjAxOCBBbmFuZCBVbmRhdmlhXG5cblBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cblRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cbiovXG5cbmltcG9ydCB7IGZvckVhY2hDaGlsZCwgaXNJZGVudGlmaWVyLCBTeW50YXhLaW5kLCBjcmVhdGVTb3VyY2VGaWxlLCBTY3JpcHRUYXJnZXQsIE5vZGUsIENhc2VDbGF1c2UsIEJpbmFyeUV4cHJlc3Npb24sIEZ1bmN0aW9uTGlrZURlY2xhcmF0aW9uIH0gZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uV2l0aEJvZHkgfSBmcm9tICd0c3V0aWxzJztcbmltcG9ydCB7IGV4aXN0c1N5bmMsIFBhdGhMaWtlLCByZWFkRmlsZVN5bmMgfSBmcm9tICdmcyc7XG5cbmNvbnN0IGdldE5vZGVOYW1lID0gKG5vZGU6IEZ1bmN0aW9uTGlrZURlY2xhcmF0aW9uKSA9PiB7XG4gIGNvbnN0IHsgbmFtZSwgcG9zLCBlbmQgfSA9IG5vZGU7XG4gIGNvbnN0IGtleSA9IG5hbWUgIT09IHVuZGVmaW5lZCAmJiBpc0lkZW50aWZpZXIobmFtZSkgPyBuYW1lLnRleHQgOiBKU09OLnN0cmluZ2lmeSh7IHBvcywgZW5kIH0pO1xuICByZXR1cm4ga2V5O1xufTtcblxuY29uc3QgaW5jcmVhc2VzQ29tcGxleGl0eSA9IChub2RlOiBOb2RlKSA9PiB7XG4gIC8qIGVzbGludC1kaXNhYmxlIGluZGVudCAqL1xuICBzd2l0Y2ggKG5vZGUua2luZCkge1xuICAgIGNhc2UgU3ludGF4S2luZC5DYXNlQ2xhdXNlOlxuICAgICAgcmV0dXJuIChub2RlIGFzIENhc2VDbGF1c2UpLnN0YXRlbWVudHMubGVuZ3RoID4gMDtcbiAgICBjYXNlIFN5bnRheEtpbmQuQ2F0Y2hDbGF1c2U6XG4gICAgY2FzZSBTeW50YXhLaW5kLkNvbmRpdGlvbmFsRXhwcmVzc2lvbjpcbiAgICBjYXNlIFN5bnRheEtpbmQuRG9TdGF0ZW1lbnQ6XG4gICAgY2FzZSBTeW50YXhLaW5kLkZvclN0YXRlbWVudDpcbiAgICBjYXNlIFN5bnRheEtpbmQuRm9ySW5TdGF0ZW1lbnQ6XG4gICAgY2FzZSBTeW50YXhLaW5kLkZvck9mU3RhdGVtZW50OlxuICAgIGNhc2UgU3ludGF4S2luZC5JZlN0YXRlbWVudDpcbiAgICBjYXNlIFN5bnRheEtpbmQuV2hpbGVTdGF0ZW1lbnQ6XG4gICAgICByZXR1cm4gdHJ1ZTtcblxuICAgIGNhc2UgU3ludGF4S2luZC5CaW5hcnlFeHByZXNzaW9uOlxuICAgICAgc3dpdGNoICgobm9kZSBhcyBCaW5hcnlFeHByZXNzaW9uKS5vcGVyYXRvclRva2VuLmtpbmQpIHtcbiAgICAgICAgY2FzZSBTeW50YXhLaW5kLkJhckJhclRva2VuOlxuICAgICAgICBjYXNlIFN5bnRheEtpbmQuQW1wZXJzYW5kQW1wZXJzYW5kVG9rZW46XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICAvKiBlc2xpbnQtZW5hYmxlIGluZGVudCAqL1xufTtcblxuY29uc3QgY2FsY3VsYXRlRnJvbVNvdXJjZSA9IChjdHg6IE5vZGUpID0+IHtcbiAgbGV0IGNvbXBsZXhpdHkgPSAwO1xuICBjb25zdCBvdXRwdXQ6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcbiAgZm9yRWFjaENoaWxkKGN0eCwgZnVuY3Rpb24gY2Iobm9kZSkge1xuICAgIGlmIChpc0Z1bmN0aW9uV2l0aEJvZHkobm9kZSkpIHtcbiAgICAgIGNvbnN0IG9sZCA9IGNvbXBsZXhpdHk7XG4gICAgICBjb21wbGV4aXR5ID0gMTtcbiAgICAgIGZvckVhY2hDaGlsZChub2RlLCBjYik7XG4gICAgICBjb25zdCBuYW1lID0gZ2V0Tm9kZU5hbWUobm9kZSk/LnRvU3RyaW5nKCk7XG4gICAgICBvdXRwdXRbbmFtZV0gPSBjb21wbGV4aXR5O1xuICAgICAgY29tcGxleGl0eSA9IG9sZDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGluY3JlYXNlc0NvbXBsZXhpdHkobm9kZSkpIHtcbiAgICAgICAgY29tcGxleGl0eSArPSAxO1xuICAgICAgfVxuICAgICAgZm9yRWFjaENoaWxkKG5vZGUsIGNiKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gb3V0cHV0O1xufTtcblxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZSA9IChmaWxlUGF0aDogUGF0aExpa2UpID0+IHtcbiAgaWYgKCFleGlzdHNTeW5jKGZpbGVQYXRoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmlsZSBcIiR7ZmlsZVBhdGh9XCIgZG9lcyBub3QgZXhpc3RzYCk7XG4gIH1cbiAgY29uc3Qgc291cmNlVGV4dCA9IHJlYWRGaWxlU3luYyhmaWxlUGF0aCkudG9TdHJpbmcoKTtcbiAgY29uc3Qgc291cmNlID0gY3JlYXRlU291cmNlRmlsZShmaWxlUGF0aC50b1N0cmluZygpLCBzb3VyY2VUZXh0LCBTY3JpcHRUYXJnZXQuRVMyMDE1KTtcbiAgcmV0dXJuIGNhbGN1bGF0ZUZyb21Tb3VyY2Uoc291cmNlKTtcbn07XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ljbG9tYXRpYy1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cy1jb21wbGV4L2N5Y2xvbWF0aWMtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7OztFQVlFOzs7QUFFRiwyQ0FBaUs7QUFDaksscUNBQTZDO0FBQzdDLDJCQUF3RDtBQUV4RCxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQTZCLEVBQUUsRUFBRTtJQUNwRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFBLHlCQUFZLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNoRyxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQUVGLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRTtJQUN6QywyQkFBMkI7SUFDM0IsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsS0FBSyx1QkFBVSxDQUFDLFVBQVU7WUFDeEIsT0FBUSxJQUFtQixDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELEtBQUssdUJBQVUsQ0FBQyxXQUFXLENBQUM7UUFDNUIsS0FBSyx1QkFBVSxDQUFDLHFCQUFxQixDQUFDO1FBQ3RDLEtBQUssdUJBQVUsQ0FBQyxXQUFXLENBQUM7UUFDNUIsS0FBSyx1QkFBVSxDQUFDLFlBQVksQ0FBQztRQUM3QixLQUFLLHVCQUFVLENBQUMsY0FBYyxDQUFDO1FBQy9CLEtBQUssdUJBQVUsQ0FBQyxjQUFjLENBQUM7UUFDL0IsS0FBSyx1QkFBVSxDQUFDLFdBQVcsQ0FBQztRQUM1QixLQUFLLHVCQUFVLENBQUMsY0FBYztZQUM1QixPQUFPLElBQUksQ0FBQztRQUVkLEtBQUssdUJBQVUsQ0FBQyxnQkFBZ0I7WUFDOUIsUUFBUyxJQUF5QixDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDdEQsS0FBSyx1QkFBVSxDQUFDLFdBQVcsQ0FBQztnQkFDNUIsS0FBSyx1QkFBVSxDQUFDLHVCQUF1QjtvQkFDckMsT0FBTyxJQUFJLENBQUM7Z0JBQ2Q7b0JBQ0UsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztRQUVIO1lBQ0UsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELDBCQUEwQjtBQUM1QixDQUFDLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHLENBQUMsR0FBUyxFQUFFLEVBQUU7SUFDeEMsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLE1BQU0sTUFBTSxHQUE4QixFQUFFLENBQUM7SUFDN0MsSUFBQSx5QkFBWSxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxJQUFJO1FBQ2hDLElBQUksSUFBQSw0QkFBa0IsRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzdCLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQztZQUN2QixVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsSUFBQSx5QkFBWSxFQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN2QixNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQztZQUMxQixVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ25CLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUM5QixVQUFVLElBQUksQ0FBQyxDQUFDO1lBQ2xCLENBQUM7WUFDRCxJQUFBLHlCQUFZLEVBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVLLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBa0IsRUFBRSxFQUFFO0lBQzlDLElBQUksQ0FBQyxJQUFBLGVBQVUsRUFBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxRQUFRLG1CQUFtQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELE1BQU0sVUFBVSxHQUFHLElBQUEsaUJBQVksRUFBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFBLDZCQUFnQixFQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxVQUFVLEVBQUUseUJBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RixPQUFPLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQVBXLFFBQUEsU0FBUyxhQU9wQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblBvcnRpb25zIG9mIHRoaXMgZmlsZTpcclxuXHJcbk1JVCBMaWNlbnNlXHJcblxyXG5Db3B5cmlnaHQgKGMpIDIwMTggQW5hbmQgVW5kYXZpYVxyXG5cclxuUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcclxuXHJcblRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxyXG5cclxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXHJcbiovXHJcblxyXG5pbXBvcnQgeyBmb3JFYWNoQ2hpbGQsIGlzSWRlbnRpZmllciwgU3ludGF4S2luZCwgY3JlYXRlU291cmNlRmlsZSwgU2NyaXB0VGFyZ2V0LCBOb2RlLCBDYXNlQ2xhdXNlLCBCaW5hcnlFeHByZXNzaW9uLCBGdW5jdGlvbkxpa2VEZWNsYXJhdGlvbiB9IGZyb20gJ3R5cGVzY3JpcHQnO1xyXG5pbXBvcnQgeyBpc0Z1bmN0aW9uV2l0aEJvZHkgfSBmcm9tICd0c3V0aWxzJztcclxuaW1wb3J0IHsgZXhpc3RzU3luYywgUGF0aExpa2UsIHJlYWRGaWxlU3luYyB9IGZyb20gJ2ZzJztcclxuXHJcbmNvbnN0IGdldE5vZGVOYW1lID0gKG5vZGU6IEZ1bmN0aW9uTGlrZURlY2xhcmF0aW9uKSA9PiB7XHJcbiAgY29uc3QgeyBuYW1lLCBwb3MsIGVuZCB9ID0gbm9kZTtcclxuICBjb25zdCBrZXkgPSBuYW1lICE9PSB1bmRlZmluZWQgJiYgaXNJZGVudGlmaWVyKG5hbWUpID8gbmFtZS50ZXh0IDogSlNPTi5zdHJpbmdpZnkoeyBwb3MsIGVuZCB9KTtcclxuICByZXR1cm4ga2V5O1xyXG59O1xyXG5cclxuY29uc3QgaW5jcmVhc2VzQ29tcGxleGl0eSA9IChub2RlOiBOb2RlKSA9PiB7XHJcbiAgLyogZXNsaW50LWRpc2FibGUgaW5kZW50ICovXHJcbiAgc3dpdGNoIChub2RlLmtpbmQpIHtcclxuICAgIGNhc2UgU3ludGF4S2luZC5DYXNlQ2xhdXNlOlxyXG4gICAgICByZXR1cm4gKG5vZGUgYXMgQ2FzZUNsYXVzZSkuc3RhdGVtZW50cy5sZW5ndGggPiAwO1xyXG4gICAgY2FzZSBTeW50YXhLaW5kLkNhdGNoQ2xhdXNlOlxyXG4gICAgY2FzZSBTeW50YXhLaW5kLkNvbmRpdGlvbmFsRXhwcmVzc2lvbjpcclxuICAgIGNhc2UgU3ludGF4S2luZC5Eb1N0YXRlbWVudDpcclxuICAgIGNhc2UgU3ludGF4S2luZC5Gb3JTdGF0ZW1lbnQ6XHJcbiAgICBjYXNlIFN5bnRheEtpbmQuRm9ySW5TdGF0ZW1lbnQ6XHJcbiAgICBjYXNlIFN5bnRheEtpbmQuRm9yT2ZTdGF0ZW1lbnQ6XHJcbiAgICBjYXNlIFN5bnRheEtpbmQuSWZTdGF0ZW1lbnQ6XHJcbiAgICBjYXNlIFN5bnRheEtpbmQuV2hpbGVTdGF0ZW1lbnQ6XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgIGNhc2UgU3ludGF4S2luZC5CaW5hcnlFeHByZXNzaW9uOlxyXG4gICAgICBzd2l0Y2ggKChub2RlIGFzIEJpbmFyeUV4cHJlc3Npb24pLm9wZXJhdG9yVG9rZW4ua2luZCkge1xyXG4gICAgICAgIGNhc2UgU3ludGF4S2luZC5CYXJCYXJUb2tlbjpcclxuICAgICAgICBjYXNlIFN5bnRheEtpbmQuQW1wZXJzYW5kQW1wZXJzYW5kVG9rZW46XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICAvKiBlc2xpbnQtZW5hYmxlIGluZGVudCAqL1xyXG59O1xyXG5cclxuY29uc3QgY2FsY3VsYXRlRnJvbVNvdXJjZSA9IChjdHg6IE5vZGUpID0+IHtcclxuICBsZXQgY29tcGxleGl0eSA9IDA7XHJcbiAgY29uc3Qgb3V0cHV0OiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge307XHJcbiAgZm9yRWFjaENoaWxkKGN0eCwgZnVuY3Rpb24gY2Iobm9kZSkge1xyXG4gICAgaWYgKGlzRnVuY3Rpb25XaXRoQm9keShub2RlKSkge1xyXG4gICAgICBjb25zdCBvbGQgPSBjb21wbGV4aXR5O1xyXG4gICAgICBjb21wbGV4aXR5ID0gMTtcclxuICAgICAgZm9yRWFjaENoaWxkKG5vZGUsIGNiKTtcclxuICAgICAgY29uc3QgbmFtZSA9IGdldE5vZGVOYW1lKG5vZGUpPy50b1N0cmluZygpO1xyXG4gICAgICBvdXRwdXRbbmFtZV0gPSBjb21wbGV4aXR5O1xyXG4gICAgICBjb21wbGV4aXR5ID0gb2xkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGluY3JlYXNlc0NvbXBsZXhpdHkobm9kZSkpIHtcclxuICAgICAgICBjb21wbGV4aXR5ICs9IDE7XHJcbiAgICAgIH1cclxuICAgICAgZm9yRWFjaENoaWxkKG5vZGUsIGNiKTtcclxuICAgIH1cclxuICB9KTtcclxuICByZXR1cm4gb3V0cHV0O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZSA9IChmaWxlUGF0aDogUGF0aExpa2UpID0+IHtcclxuICBpZiAoIWV4aXN0c1N5bmMoZmlsZVBhdGgpKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEZpbGUgXCIke2ZpbGVQYXRofVwiIGRvZXMgbm90IGV4aXN0c2ApO1xyXG4gIH1cclxuICBjb25zdCBzb3VyY2VUZXh0ID0gcmVhZEZpbGVTeW5jKGZpbGVQYXRoKS50b1N0cmluZygpO1xyXG4gIGNvbnN0IHNvdXJjZSA9IGNyZWF0ZVNvdXJjZUZpbGUoZmlsZVBhdGgudG9TdHJpbmcoKSwgc291cmNlVGV4dCwgU2NyaXB0VGFyZ2V0LkVTMjAxNSk7XHJcbiAgcmV0dXJuIGNhbGN1bGF0ZUZyb21Tb3VyY2Uoc291cmNlKTtcclxufTtcclxuIl19
@@ -15,13 +15,23 @@ 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
  const ts_morph_1 = require("ts-morph");
27
37
  const path = __importStar(require("path"));
@@ -139,4 +149,4 @@ function replaceMethodCalls(cls, methodName, propName) {
139
149
  function capitalize(str) {
140
150
  return str.charAt(0).toUpperCase() + str.slice(1);
141
151
  }
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmYWN0b3ItZ2V0dGVyLXNldHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWZhY3RvcmVyL3JlZmFjdG9yLWdldHRlci1zZXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUE2RTtBQUM3RSwyQ0FBNkI7QUFFN0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQkFBTyxFQUFFLENBQUM7QUFDOUIsT0FBTyxDQUFDLHFCQUFxQixDQUFDLGlEQUFpRCxDQUFDLENBQUM7QUFDakYsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUUzRixPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0lBQzFDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUxQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNsQixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM5QixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEMsSUFBSSxRQUFnQixDQUFDO1lBRXJCLElBQUksZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsUUFBUSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsVUFBVSxDQUFDLEtBQUss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QUMsQ0FBQyxDQUFDLENBQUM7QUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsYXNzRGVjbGFyYXRpb24sIFByb2plY3QsIFNvdXJjZUZpbGUsIFN5bnRheEtpbmQgfSBmcm9tIFwidHMtbW9ycGhcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuY29uc3QgcHJvamVjdCA9IG5ldyBQcm9qZWN0KCk7XG5wcm9qZWN0LmFkZFNvdXJjZUZpbGVzQXRQYXRocyhcInNyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvZmFtaXhfYmFzZV9lbGVtZW50LnRzXCIpO1xucHJvamVjdC5nZXRTb3VyY2VGaWxlcygpLmZvckVhY2goc291cmNlRmlsZSA9PiB7IGNvbnNvbGUubG9nKHNvdXJjZUZpbGUuZ2V0RmlsZVBhdGgoKSk7IH0pO1xuXG5wcm9qZWN0LmdldFNvdXJjZUZpbGVzKCkuZm9yRWFjaChzb3VyY2VGaWxlID0+IHtcbiAgICBjb25zdCB0eXBlTWFwID0gY3JlYXRlVHlwZU1hcChzb3VyY2VGaWxlKTtcblxuICAgIGNvbnN0IGNsYXNzZXMgPSBzb3VyY2VGaWxlLmdldENsYXNzZXMoKTtcbiAgICBjbGFzc2VzLmZvckVhY2goY2xzID0+IHtcbiAgICAgICAgY29uc3QgcHJvcGVydGllcyA9IGNscy5nZXRQcm9wZXJ0aWVzKCk7XG4gICAgICAgIGNscy5nZXRNZXRob2RzKCkuZm9yRWFjaChtZXRob2QgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWV0aG9kTmFtZSA9IG1ldGhvZC5nZXROYW1lKCk7XG4gICAgICAgICAgICBsZXQgcHJvcE5hbWU6IHN0cmluZztcblxuICAgICAgICAgICAgaWYgKGlzRWxpZ2libGVHZXR0ZXIobWV0aG9kTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBwcm9wTmFtZSA9IG1ldGhvZE5hbWUuY2hhckF0KDMpLnRvTG93ZXJDYXNlKCkgKyBtZXRob2ROYW1lLnNsaWNlKDQpO1xuICAgICAgICAgICAgICAgIHJlbmFtZVByb3BlcnR5SWZFeGlzdHMoY2xzLCBwcm9wTmFtZSwgcHJvcGVydGllcyk7XG4gICAgICAgICAgICAgICAgcmVmYWN0b3JUb0dldHRlcihjbHMsIG1ldGhvZCwgcHJvcE5hbWUsIHR5cGVNYXApO1xuICAgICAgICAgICAgICAgIHJlcGxhY2VNZXRob2RDYWxscyhjbHMsIGBnZXQke2NhcGl0YWxpemUocHJvcE5hbWUpfWAsIHByb3BOYW1lKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNFbGlnaWJsZVNldHRlcihtZXRob2ROYW1lKSkge1xuICAgICAgICAgICAgICAgIHByb3BOYW1lID0gbWV0aG9kTmFtZS5jaGFyQXQoMykudG9Mb3dlckNhc2UoKSArIG1ldGhvZE5hbWUuc2xpY2UoNCk7XG4gICAgICAgICAgICAgICAgcmVuYW1lUHJvcGVydHlJZkV4aXN0cyhjbHMsIHByb3BOYW1lLCBwcm9wZXJ0aWVzKTtcbiAgICAgICAgICAgICAgICByZWZhY3RvclRvU2V0dGVyKGNscywgbWV0aG9kLCBwcm9wTmFtZSwgdHlwZU1hcCk7XG4gICAgICAgICAgICAgICAgcmVwbGFjZU1ldGhvZENhbGxzKGNscywgYHNldCR7Y2FwaXRhbGl6ZShwcm9wTmFtZSl9YCwgcHJvcE5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbn0pO1xuXG5wcm9qZWN0LnNhdmUoKS50aGVuKCgpID0+IHtcbiAgICBjb25zb2xlLmxvZyhcIlJlZmFjdG9yaW5nIGNvbXBsZXRlIVwiKTtcbn0pO1xuXG5mdW5jdGlvbiBpc0VsaWdpYmxlR2V0dGVyKG1ldGhvZE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBtZXRob2ROYW1lLnN0YXJ0c1dpdGgoXCJnZXRcIikgJiYgL15bQS1aXVthLXpBLVowLTldKiQvLnRlc3QobWV0aG9kTmFtZS5zbGljZSgzKSkgJiYgIW1ldGhvZE5hbWUuaW5jbHVkZXMoXCJKU09OXCIpO1xufVxuXG5mdW5jdGlvbiBpc0VsaWdpYmxlU2V0dGVyKG1ldGhvZE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBtZXRob2ROYW1lLnN0YXJ0c1dpdGgoXCJzZXRcIikgJiYgL15bQS1aXVthLXpBLVowLTldKiQvLnRlc3QobWV0aG9kTmFtZS5zbGljZSgzKSk7XG59XG5cbmZ1bmN0aW9uIHJlbmFtZVByb3BlcnR5SWZFeGlzdHMoY2xzOiBhbnksIHByb3BOYW1lOiBzdHJpbmcsIHByb3BlcnRpZXM6IGFueVtdKSB7XG4gICAgY29uc3QgZXhpc3RpbmdQcm9wZXJ0eSA9IHByb3BlcnRpZXMuZmluZChwcm9wID0+IHByb3AuZ2V0TmFtZSgpID09PSBwcm9wTmFtZSk7XG4gICAgaWYgKGV4aXN0aW5nUHJvcGVydHkpIHtcbiAgICAgICAgZXhpc3RpbmdQcm9wZXJ0eS5yZW5hbWUoYF8ke3Byb3BOYW1lfWApO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlVHlwZU1hcChzb3VyY2VGaWxlOiBTb3VyY2VGaWxlKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XG4gICAgY29uc3QgdHlwZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgY29uc3QgaW1wb3J0RGVjbGFyYXRpb25zID0gc291cmNlRmlsZS5nZXRJbXBvcnREZWNsYXJhdGlvbnMoKTtcblxuICAgIGltcG9ydERlY2xhcmF0aW9ucy5mb3JFYWNoKGltcG9ydERlY2wgPT4ge1xuICAgICAgICBjb25zdCBtb2R1bGVTcGVjaWZpZXIgPSBpbXBvcnREZWNsLmdldE1vZHVsZVNwZWNpZmllcigpLmdldFRleHQoKS5yZXBsYWNlKC9bJ1wiXS9nLCAnJyk7XG4gICAgICAgIGNvbnN0IGFic29sdXRlUGF0aCA9IHBhdGgucmVzb2x2ZShzb3VyY2VGaWxlLmdldERpcmVjdG9yeSgpLmdldFBhdGgoKSwgbW9kdWxlU3BlY2lmaWVyKTtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZFBhdGggPSBub3JtYWxpemVQYXRoKGFic29sdXRlUGF0aCk7XG4gICAgICAgIGNvbnN0IG5hbWVkSW1wb3J0cyA9IGltcG9ydERlY2wuZ2V0TmFtZWRJbXBvcnRzKCk7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRJbXBvcnQgPSBpbXBvcnREZWNsLmdldERlZmF1bHRJbXBvcnQoKTtcblxuICAgICAgICBuYW1lZEltcG9ydHMuZm9yRWFjaChuYW1lZEltcG9ydCA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgTmFtZWQgaW1wb3J0OiAke25hbWVkSW1wb3J0LmdldE5hbWUoKX0sIHBhdGg6ICR7bm9ybWFsaXplZFBhdGh9YCk7XG4gICAgICAgICAgICB0eXBlTWFwLnNldChuYW1lZEltcG9ydC5nZXROYW1lKCksIG5vcm1hbGl6ZWRQYXRoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGRlZmF1bHRJbXBvcnQpIHtcbiAgICAgICAgICAgIHR5cGVNYXAuc2V0KGRlZmF1bHRJbXBvcnQuZ2V0VGV4dCgpLCBub3JtYWxpemVkUGF0aCk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB0eXBlTWFwO1xufVxuXG5mdW5jdGlvbiByZWZhY3RvclRvR2V0dGVyKGNsczogYW55LCBtZXRob2Q6IGFueSwgcHJvcE5hbWU6IHN0cmluZywgdHlwZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPikge1xuICAgIGNvbnN0IGdldHRlck5hbWUgPSBwcm9wTmFtZTtcbiAgICBjb25zdCByZW5hbWVkUHJvcCA9IGBfJHtwcm9wTmFtZX1gO1xuICAgIGNvbnN0IHJldHVyblR5cGUgPSBtZXRob2QuZ2V0UmV0dXJuVHlwZSgpLmdldFRleHQoKTtcbiAgICBjb25zdCBzaW1wbGlmaWVkVHlwZSA9IHJlcGxhY2VMb25nVHlwZVBhdGhzKHJldHVyblR5cGUsIHR5cGVNYXApO1xuXG4gICAgY29uc3QgZ2V0dGVyQm9keSA9IG1ldGhvZC5nZXRCb2R5VGV4dCgpLnJlcGxhY2UobmV3IFJlZ0V4cChgdGhpc1xcXFwuJHtwcm9wTmFtZX1gLCAnZycpLCBgdGhpcy4ke3JlbmFtZWRQcm9wfWApO1xuXG4gICAgY2xzLmFkZEdldEFjY2Vzc29yKHtcbiAgICAgICAgbmFtZTogZ2V0dGVyTmFtZSxcbiAgICAgICAgc3RhdGVtZW50czogZ2V0dGVyQm9keSxcbiAgICAgICAgLy8gcmV0dXJuVHlwZTogc2ltcGxpZmllZFR5cGUsICAvLyBkb24ndCBuZWVkIGEgcmV0dXJuIHR5cGUgZm9yIGdldHRlclxuICAgIH0pO1xuXG4gICAgbWV0aG9kLnJlbW92ZSgpO1xufVxuXG5mdW5jdGlvbiByZWZhY3RvclRvU2V0dGVyKGNsczogYW55LCBtZXRob2Q6IGFueSwgcHJvcE5hbWU6IHN0cmluZywgdHlwZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPikge1xuICAgIGNvbnN0IHNldHRlck5hbWUgPSBwcm9wTmFtZTtcbiAgICBjb25zdCByZW5hbWVkUHJvcCA9IGBfJHtwcm9wTmFtZX1gO1xuXG4gICAgY29uc3QgcGFyYW1ldGVyID0gbWV0aG9kLmdldFBhcmFtZXRlcnMoKVswXTtcbiAgICBjb25zdCBwYXJhbU5hbWUgPSBwYXJhbWV0ZXIuZ2V0TmFtZSgpO1xuICAgIGNvbnN0IHBhcmFtVHlwZSA9IHJlcGxhY2VMb25nVHlwZVBhdGhzKHBhcmFtZXRlci5nZXRUeXBlKCkuZ2V0VGV4dCgpLCB0eXBlTWFwKTtcblxuICAgIGNvbnN0IHNldHRlckJvZHkgPSBtZXRob2QuZ2V0Qm9keVRleHQoKS5yZXBsYWNlKG5ldyBSZWdFeHAoYHRoaXNcXFxcLiR7cHJvcE5hbWV9YCwgJ2cnKSwgYHRoaXMuJHtyZW5hbWVkUHJvcH1gKTtcblxuICAgIGNscy5hZGRTZXRBY2Nlc3Nvcih7XG4gICAgICAgIG5hbWU6IHNldHRlck5hbWUsXG4gICAgICAgIHN0YXRlbWVudHM6IHNldHRlckJvZHksXG4gICAgICAgIHBhcmFtZXRlcnM6IFt7IG5hbWU6IHBhcmFtTmFtZSwgdHlwZTogcGFyYW1UeXBlIH1dLFxuICAgIH0pO1xuXG4gICAgbWV0aG9kLnJlbW92ZSgpO1xufVxuXG5mdW5jdGlvbiByZXBsYWNlTG9uZ1R5cGVQYXRocyh0eXBlOiBzdHJpbmcsIHR5cGVNYXA6IE1hcDxzdHJpbmcsIHN0cmluZz4pOiBzdHJpbmcge1xuICAgIGZvciAoY29uc3QgW2ltcG9ydE5hbWUsIGltcG9ydFBhdGhdIG9mIHR5cGVNYXAuZW50cmllcygpKSB7XG4gICAgICAgIGNvbnN0IGxvbmdQYXRoID0gYGltcG9ydChcIiR7aW1wb3J0UGF0aH1cIikke2ltcG9ydE5hbWV9YDtcbiAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBpbXBvcnRcXFxcKFtcIiddJHtub3JtYWxpemVQYXRoKGltcG9ydFBhdGgpfVtcIiddXFxcXClcXFxcLiR7aW1wb3J0TmFtZX1gLCAnZycpO1xuICAgICAgICBpZiAocmVnZXgudGVzdCh0eXBlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGltcG9ydE5hbWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHR5cGU7XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVBhdGgoZmlsZVBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGZpbGVQYXRoLnJlcGxhY2UoL1xcXFwvZywgJy8nKTtcbn1cblxuZnVuY3Rpb24gcmVwbGFjZU1ldGhvZENhbGxzKGNsczogQ2xhc3NEZWNsYXJhdGlvbiwgbWV0aG9kTmFtZTogc3RyaW5nLCBwcm9wTmFtZTogc3RyaW5nKSB7XG4gICAgY2xzLmdldERlc2NlbmRhbnRzT2ZLaW5kKFN5bnRheEtpbmQuQ2FsbEV4cHJlc3Npb24pLmZvckVhY2goY2FsbEV4cHIgPT4ge1xuICAgICAgICBjb25zdCBleHByID0gY2FsbEV4cHIuZ2V0RXhwcmVzc2lvbigpO1xuICAgICAgICBpZiAoZXhwci5nZXRUZXh0KCkgPT09IGB0aGlzLiR7bWV0aG9kTmFtZX1gKSB7XG4gICAgICAgICAgICBjYWxsRXhwci5yZXBsYWNlV2l0aFRleHQoYHRoaXMuJHtwcm9wTmFtZX1gKTtcbiAgICAgICAgfSBlbHNlIGlmIChleHByLmdldFRleHQoKSA9PT0gYHRoaXMuJHttZXRob2ROYW1lfWAgJiYgY2FsbEV4cHIuZ2V0QXJndW1lbnRzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY2FsbEV4cHIucmVwbGFjZVdpdGhUZXh0KGB0aGlzLiR7cHJvcE5hbWV9ID0gJHtjYWxsRXhwci5nZXRBcmd1bWVudHMoKVswXS5nZXRUZXh0KCl9YCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gY2FwaXRhbGl6ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0ci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKTtcbn1cbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmYWN0b3ItZ2V0dGVyLXNldHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWZhY3RvcmVyL3JlZmFjdG9yLWdldHRlci1zZXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBNkU7QUFDN0UsMkNBQTZCO0FBRTdCLE1BQU0sT0FBTyxHQUFHLElBQUksa0JBQU8sRUFBRSxDQUFDO0FBQzlCLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO0FBQ2pGLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFM0YsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtJQUMxQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFMUMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDbEIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLElBQUksUUFBZ0IsQ0FBQztZQUVyQixJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLFFBQVEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLFVBQVUs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QUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGFzc0RlY2xhcmF0aW9uLCBQcm9qZWN0LCBTb3VyY2VGaWxlLCBTeW50YXhLaW5kIH0gZnJvbSBcInRzLW1vcnBoXCI7XHJcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcclxuXHJcbmNvbnN0IHByb2plY3QgPSBuZXcgUHJvamVjdCgpO1xyXG5wcm9qZWN0LmFkZFNvdXJjZUZpbGVzQXRQYXRocyhcInNyYy9saWIvZmFtaXgvbW9kZWwvZmFtaXgvZmFtaXhfYmFzZV9lbGVtZW50LnRzXCIpO1xyXG5wcm9qZWN0LmdldFNvdXJjZUZpbGVzKCkuZm9yRWFjaChzb3VyY2VGaWxlID0+IHsgY29uc29sZS5sb2coc291cmNlRmlsZS5nZXRGaWxlUGF0aCgpKTsgfSk7XHJcblxyXG5wcm9qZWN0LmdldFNvdXJjZUZpbGVzKCkuZm9yRWFjaChzb3VyY2VGaWxlID0+IHtcclxuICAgIGNvbnN0IHR5cGVNYXAgPSBjcmVhdGVUeXBlTWFwKHNvdXJjZUZpbGUpO1xyXG5cclxuICAgIGNvbnN0IGNsYXNzZXMgPSBzb3VyY2VGaWxlLmdldENsYXNzZXMoKTtcclxuICAgIGNsYXNzZXMuZm9yRWFjaChjbHMgPT4ge1xyXG4gICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBjbHMuZ2V0UHJvcGVydGllcygpO1xyXG4gICAgICAgIGNscy5nZXRNZXRob2RzKCkuZm9yRWFjaChtZXRob2QgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBtZXRob2ROYW1lID0gbWV0aG9kLmdldE5hbWUoKTtcclxuICAgICAgICAgICAgbGV0IHByb3BOYW1lOiBzdHJpbmc7XHJcblxyXG4gICAgICAgICAgICBpZiAoaXNFbGlnaWJsZUdldHRlcihtZXRob2ROYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgcHJvcE5hbWUgPSBtZXRob2ROYW1lLmNoYXJBdCgzKS50b0xvd2VyQ2FzZSgpICsgbWV0aG9kTmFtZS5zbGljZSg0KTtcclxuICAgICAgICAgICAgICAgIHJlbmFtZVByb3BlcnR5SWZFeGlzdHMoY2xzLCBwcm9wTmFtZSwgcHJvcGVydGllcyk7XHJcbiAgICAgICAgICAgICAgICByZWZhY3RvclRvR2V0dGVyKGNscywgbWV0aG9kLCBwcm9wTmFtZSwgdHlwZU1hcCk7XHJcbiAgICAgICAgICAgICAgICByZXBsYWNlTWV0aG9kQ2FsbHMoY2xzLCBgZ2V0JHtjYXBpdGFsaXplKHByb3BOYW1lKX1gLCBwcm9wTmFtZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNFbGlnaWJsZVNldHRlcihtZXRob2ROYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgcHJvcE5hbWUgPSBtZXRob2ROYW1lLmNoYXJBdCgzKS50b0xvd2VyQ2FzZSgpICsgbWV0aG9kTmFtZS5zbGljZSg0KTtcclxuICAgICAgICAgICAgICAgIHJlbmFtZVByb3BlcnR5SWZFeGlzdHMoY2xzLCBwcm9wTmFtZSwgcHJvcGVydGllcyk7XHJcbiAgICAgICAgICAgICAgICByZWZhY3RvclRvU2V0dGVyKGNscywgbWV0aG9kLCBwcm9wTmFtZSwgdHlwZU1hcCk7XHJcbiAgICAgICAgICAgICAgICByZXBsYWNlTWV0aG9kQ2FsbHMoY2xzLCBgc2V0JHtjYXBpdGFsaXplKHByb3BOYW1lKX1gLCBwcm9wTmFtZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG59KTtcclxuXHJcbnByb2plY3Quc2F2ZSgpLnRoZW4oKCkgPT4ge1xyXG4gICAgY29uc29sZS5sb2coXCJSZWZhY3RvcmluZyBjb21wbGV0ZSFcIik7XHJcbn0pO1xyXG5cclxuZnVuY3Rpb24gaXNFbGlnaWJsZUdldHRlcihtZXRob2ROYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBtZXRob2ROYW1lLnN0YXJ0c1dpdGgoXCJnZXRcIikgJiYgL15bQS1aXVthLXpBLVowLTldKiQvLnRlc3QobWV0aG9kTmFtZS5zbGljZSgzKSkgJiYgIW1ldGhvZE5hbWUuaW5jbHVkZXMoXCJKU09OXCIpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc0VsaWdpYmxlU2V0dGVyKG1ldGhvZE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIG1ldGhvZE5hbWUuc3RhcnRzV2l0aChcInNldFwiKSAmJiAvXltBLVpdW2EtekEtWjAtOV0qJC8udGVzdChtZXRob2ROYW1lLnNsaWNlKDMpKTtcclxufVxyXG5cclxuZnVuY3Rpb24gcmVuYW1lUHJvcGVydHlJZkV4aXN0cyhjbHM6IGFueSwgcHJvcE5hbWU6IHN0cmluZywgcHJvcGVydGllczogYW55W10pIHtcclxuICAgIGNvbnN0IGV4aXN0aW5nUHJvcGVydHkgPSBwcm9wZXJ0aWVzLmZpbmQocHJvcCA9PiBwcm9wLmdldE5hbWUoKSA9PT0gcHJvcE5hbWUpO1xyXG4gICAgaWYgKGV4aXN0aW5nUHJvcGVydHkpIHtcclxuICAgICAgICBleGlzdGluZ1Byb3BlcnR5LnJlbmFtZShgXyR7cHJvcE5hbWV9YCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZVR5cGVNYXAoc291cmNlRmlsZTogU291cmNlRmlsZSk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgY29uc3QgdHlwZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XHJcbiAgICBjb25zdCBpbXBvcnREZWNsYXJhdGlvbnMgPSBzb3VyY2VGaWxlLmdldEltcG9ydERlY2xhcmF0aW9ucygpO1xyXG5cclxuICAgIGltcG9ydERlY2xhcmF0aW9ucy5mb3JFYWNoKGltcG9ydERlY2wgPT4ge1xyXG4gICAgICAgIGNvbnN0IG1vZHVsZVNwZWNpZmllciA9IGltcG9ydERlY2wuZ2V0TW9kdWxlU3BlY2lmaWVyKCkuZ2V0VGV4dCgpLnJlcGxhY2UoL1snXCJdL2csICcnKTtcclxuICAgICAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBwYXRoLnJlc29sdmUoc291cmNlRmlsZS5nZXREaXJlY3RvcnkoKS5nZXRQYXRoKCksIG1vZHVsZVNwZWNpZmllcik7XHJcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZFBhdGggPSBub3JtYWxpemVQYXRoKGFic29sdXRlUGF0aCk7XHJcbiAgICAgICAgY29uc3QgbmFtZWRJbXBvcnRzID0gaW1wb3J0RGVjbC5nZXROYW1lZEltcG9ydHMoKTtcclxuICAgICAgICBjb25zdCBkZWZhdWx0SW1wb3J0ID0gaW1wb3J0RGVjbC5nZXREZWZhdWx0SW1wb3J0KCk7XHJcblxyXG4gICAgICAgIG5hbWVkSW1wb3J0cy5mb3JFYWNoKG5hbWVkSW1wb3J0ID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYE5hbWVkIGltcG9ydDogJHtuYW1lZEltcG9ydC5nZXROYW1lKCl9LCBwYXRoOiAke25vcm1hbGl6ZWRQYXRofWApO1xyXG4gICAgICAgICAgICB0eXBlTWFwLnNldChuYW1lZEltcG9ydC5nZXROYW1lKCksIG5vcm1hbGl6ZWRQYXRoKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKGRlZmF1bHRJbXBvcnQpIHtcclxuICAgICAgICAgICAgdHlwZU1hcC5zZXQoZGVmYXVsdEltcG9ydC5nZXRUZXh0KCksIG5vcm1hbGl6ZWRQYXRoKTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdHlwZU1hcDtcclxufVxyXG5cclxuZnVuY3Rpb24gcmVmYWN0b3JUb0dldHRlcihjbHM6IGFueSwgbWV0aG9kOiBhbnksIHByb3BOYW1lOiBzdHJpbmcsIHR5cGVNYXA6IE1hcDxzdHJpbmcsIHN0cmluZz4pIHtcclxuICAgIGNvbnN0IGdldHRlck5hbWUgPSBwcm9wTmFtZTtcclxuICAgIGNvbnN0IHJlbmFtZWRQcm9wID0gYF8ke3Byb3BOYW1lfWA7XHJcbiAgICBjb25zdCByZXR1cm5UeXBlID0gbWV0aG9kLmdldFJldHVyblR5cGUoKS5nZXRUZXh0KCk7XHJcbiAgICBjb25zdCBzaW1wbGlmaWVkVHlwZSA9IHJlcGxhY2VMb25nVHlwZVBhdGhzKHJldHVyblR5cGUsIHR5cGVNYXApO1xyXG5cclxuICAgIGNvbnN0IGdldHRlckJvZHkgPSBtZXRob2QuZ2V0Qm9keVRleHQoKS5yZXBsYWNlKG5ldyBSZWdFeHAoYHRoaXNcXFxcLiR7cHJvcE5hbWV9YCwgJ2cnKSwgYHRoaXMuJHtyZW5hbWVkUHJvcH1gKTtcclxuXHJcbiAgICBjbHMuYWRkR2V0QWNjZXNzb3Ioe1xyXG4gICAgICAgIG5hbWU6IGdldHRlck5hbWUsXHJcbiAgICAgICAgc3RhdGVtZW50czogZ2V0dGVyQm9keSxcclxuICAgICAgICAvLyByZXR1cm5UeXBlOiBzaW1wbGlmaWVkVHlwZSwgIC8vIGRvbid0IG5lZWQgYSByZXR1cm4gdHlwZSBmb3IgZ2V0dGVyXHJcbiAgICB9KTtcclxuXHJcbiAgICBtZXRob2QucmVtb3ZlKCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlZmFjdG9yVG9TZXR0ZXIoY2xzOiBhbnksIG1ldGhvZDogYW55LCBwcm9wTmFtZTogc3RyaW5nLCB0eXBlTWFwOiBNYXA8c3RyaW5nLCBzdHJpbmc+KSB7XHJcbiAgICBjb25zdCBzZXR0ZXJOYW1lID0gcHJvcE5hbWU7XHJcbiAgICBjb25zdCByZW5hbWVkUHJvcCA9IGBfJHtwcm9wTmFtZX1gO1xyXG5cclxuICAgIGNvbnN0IHBhcmFtZXRlciA9IG1ldGhvZC5nZXRQYXJhbWV0ZXJzKClbMF07XHJcbiAgICBjb25zdCBwYXJhbU5hbWUgPSBwYXJhbWV0ZXIuZ2V0TmFtZSgpO1xyXG4gICAgY29uc3QgcGFyYW1UeXBlID0gcmVwbGFjZUxvbmdUeXBlUGF0aHMocGFyYW1ldGVyLmdldFR5cGUoKS5nZXRUZXh0KCksIHR5cGVNYXApO1xyXG5cclxuICAgIGNvbnN0IHNldHRlckJvZHkgPSBtZXRob2QuZ2V0Qm9keVRleHQoKS5yZXBsYWNlKG5ldyBSZWdFeHAoYHRoaXNcXFxcLiR7cHJvcE5hbWV9YCwgJ2cnKSwgYHRoaXMuJHtyZW5hbWVkUHJvcH1gKTtcclxuXHJcbiAgICBjbHMuYWRkU2V0QWNjZXNzb3Ioe1xyXG4gICAgICAgIG5hbWU6IHNldHRlck5hbWUsXHJcbiAgICAgICAgc3RhdGVtZW50czogc2V0dGVyQm9keSxcclxuICAgICAgICBwYXJhbWV0ZXJzOiBbeyBuYW1lOiBwYXJhbU5hbWUsIHR5cGU6IHBhcmFtVHlwZSB9XSxcclxuICAgIH0pO1xyXG5cclxuICAgIG1ldGhvZC5yZW1vdmUoKTtcclxufVxyXG5cclxuZnVuY3Rpb24gcmVwbGFjZUxvbmdUeXBlUGF0aHModHlwZTogc3RyaW5nLCB0eXBlTWFwOiBNYXA8c3RyaW5nLCBzdHJpbmc+KTogc3RyaW5nIHtcclxuICAgIGZvciAoY29uc3QgW2ltcG9ydE5hbWUsIGltcG9ydFBhdGhdIG9mIHR5cGVNYXAuZW50cmllcygpKSB7XHJcbiAgICAgICAgY29uc3QgbG9uZ1BhdGggPSBgaW1wb3J0KFwiJHtpbXBvcnRQYXRofVwiKSR7aW1wb3J0TmFtZX1gO1xyXG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChgaW1wb3J0XFxcXChbXCInXSR7bm9ybWFsaXplUGF0aChpbXBvcnRQYXRoKX1bXCInXVxcXFwpXFxcXC4ke2ltcG9ydE5hbWV9YCwgJ2cnKTtcclxuICAgICAgICBpZiAocmVnZXgudGVzdCh0eXBlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0TmFtZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHlwZTtcclxufVxyXG5cclxuZnVuY3Rpb24gbm9ybWFsaXplUGF0aChmaWxlUGF0aDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBmaWxlUGF0aC5yZXBsYWNlKC9cXFxcL2csICcvJyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlcGxhY2VNZXRob2RDYWxscyhjbHM6IENsYXNzRGVjbGFyYXRpb24sIG1ldGhvZE5hbWU6IHN0cmluZywgcHJvcE5hbWU6IHN0cmluZykge1xyXG4gICAgY2xzLmdldERlc2NlbmRhbnRzT2ZLaW5kKFN5bnRheEtpbmQuQ2FsbEV4cHJlc3Npb24pLmZvckVhY2goY2FsbEV4cHIgPT4ge1xyXG4gICAgICAgIGNvbnN0IGV4cHIgPSBjYWxsRXhwci5nZXRFeHByZXNzaW9uKCk7XHJcbiAgICAgICAgaWYgKGV4cHIuZ2V0VGV4dCgpID09PSBgdGhpcy4ke21ldGhvZE5hbWV9YCkge1xyXG4gICAgICAgICAgICBjYWxsRXhwci5yZXBsYWNlV2l0aFRleHQoYHRoaXMuJHtwcm9wTmFtZX1gKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGV4cHIuZ2V0VGV4dCgpID09PSBgdGhpcy4ke21ldGhvZE5hbWV9YCAmJiBjYWxsRXhwci5nZXRBcmd1bWVudHMoKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNhbGxFeHByLnJlcGxhY2VXaXRoVGV4dChgdGhpcy4ke3Byb3BOYW1lfSA9ICR7Y2FsbEV4cHIuZ2V0QXJndW1lbnRzKClbMF0uZ2V0VGV4dCgpfWApO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjYXBpdGFsaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzdHIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzdHIuc2xpY2UoMSk7XHJcbn1cclxuIl19
@@ -16,13 +16,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
16
16
  }) : function(o, v) {
17
17
  o["default"] = v;
18
18
  });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
26
36
  Object.defineProperty(exports, "__esModule", { value: true });
27
37
  const child_process_1 = require("child_process");
28
38
  const path = __importStar(require("path"));
@@ -39,4 +49,4 @@ const child = (0, child_process_1.spawn)('node', args, { stdio: 'inherit' });
39
49
  child.on('close', (code) => {
40
50
  process.exit(code);
41
51
  });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHMyZmFtaXgtY2xpLXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHMyZmFtaXgtY2xpLXdyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxpREFBc0M7QUFDdEMsMkNBQTZCO0FBRTdCLHFFQUFxRTtBQUNyRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBRTNELHNFQUFzRTtBQUN0RSxNQUFNLElBQUksR0FBRztJQUNYLHNCQUFzQjtJQUN0QiwwQ0FBMEM7SUFDMUMsT0FBTztJQUNQLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0NBQ3pCLENBQUM7QUFFRixNQUFNLEtBQUssR0FBRyxJQUFBLHFCQUFLLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0FBRXhELEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7SUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuaW1wb3J0IHsgc3Bhd24gfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5cbi8vIFJlc29sdmUgdGhlIHBhdGggdG8gdHMyZmFtaXgtY2xpLmpzIHJlbGF0aXZlIHRvIHRoZSB3cmFwcGVyIHNjcmlwdFxuY29uc3QgY2xpUGF0aCA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICd0czJmYW1peC1jbGkuanMnKTtcblxuLy8gQWxsb3cgdHNsb2cgdG8gZGlzcGxheSB0aGUgcHJvcGVyIFR5cGVTY3JpcHQgZmlsZXMgYW5kIGxpbmUgbnVtYmVyc1xuY29uc3QgYXJncyA9IFtcbiAgJy0tZW5hYmxlLXNvdXJjZS1tYXBzJyxcbiAgJy0tZXhwZXJpbWVudGFsLXNwZWNpZmllci1yZXNvbHV0aW9uPW5vZGUnLFxuICBjbGlQYXRoLFxuICAuLi5wcm9jZXNzLmFyZ3Yuc2xpY2UoMilcbl07XG5cbmNvbnN0IGNoaWxkID0gc3Bhd24oJ25vZGUnLCBhcmdzLCB7IHN0ZGlvOiAnaW5oZXJpdCcgfSk7XG5cbmNoaWxkLm9uKCdjbG9zZScsIChjb2RlKSA9PiB7XG4gIHByb2Nlc3MuZXhpdChjb2RlKTtcbn0pO1xuIl19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHMyZmFtaXgtY2xpLXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHMyZmFtaXgtY2xpLXdyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsaURBQXNDO0FBQ3RDLDJDQUE2QjtBQUU3QixxRUFBcUU7QUFDckUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUUzRCxzRUFBc0U7QUFDdEUsTUFBTSxJQUFJLEdBQUc7SUFDWCxzQkFBc0I7SUFDdEIsMENBQTBDO0lBQzFDLE9BQU87SUFDUCxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztDQUN6QixDQUFDO0FBRUYsTUFBTSxLQUFLLEdBQUcsSUFBQSxxQkFBSyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztBQUV4RCxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO0lBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXHJcblxyXG5pbXBvcnQgeyBzcGF3biB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xyXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xyXG5cclxuLy8gUmVzb2x2ZSB0aGUgcGF0aCB0byB0czJmYW1peC1jbGkuanMgcmVsYXRpdmUgdG8gdGhlIHdyYXBwZXIgc2NyaXB0XHJcbmNvbnN0IGNsaVBhdGggPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAndHMyZmFtaXgtY2xpLmpzJyk7XHJcblxyXG4vLyBBbGxvdyB0c2xvZyB0byBkaXNwbGF5IHRoZSBwcm9wZXIgVHlwZVNjcmlwdCBmaWxlcyBhbmQgbGluZSBudW1iZXJzXHJcbmNvbnN0IGFyZ3MgPSBbXHJcbiAgJy0tZW5hYmxlLXNvdXJjZS1tYXBzJyxcclxuICAnLS1leHBlcmltZW50YWwtc3BlY2lmaWVyLXJlc29sdXRpb249bm9kZScsXHJcbiAgY2xpUGF0aCxcclxuICAuLi5wcm9jZXNzLmFyZ3Yuc2xpY2UoMilcclxuXTtcclxuXHJcbmNvbnN0IGNoaWxkID0gc3Bhd24oJ25vZGUnLCBhcmdzLCB7IHN0ZGlvOiAnaW5oZXJpdCcgfSk7XHJcblxyXG5jaGlsZC5vbignY2xvc2UnLCAoY29kZSkgPT4ge1xyXG4gIHByb2Nlc3MuZXhpdChjb2RlKTtcclxufSk7XHJcbiJdfQ==
@@ -16,13 +16,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
16
16
  }) : function(o, v) {
17
17
  o["default"] = v;
18
18
  });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
26
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
27
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
28
38
  };
@@ -80,4 +90,4 @@ fs.writeFile(jsonFilePath, jsonOutput, (err) => {
80
90
  }
81
91
  });
82
92
  analyze_3.logger.info(`Created: ${jsonFilePath}`);
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHMyZmFtaXgtY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RzMmZhbWl4LWNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHVDQUF5QjtBQUN6QixrREFBMEI7QUFDMUIsdUNBQXFDO0FBRXJDLHVDQUFtQztBQUNuQyx1Q0FBbUM7QUFFbkMsTUFBTSxJQUFJLEdBQUcsZUFBSztLQUNiLE9BQU8sQ0FBQyxzRUFBc0UsRUFBRSx3REFBd0QsQ0FBQztLQUN6SSxPQUFPLENBQUMsa0VBQWtFLEVBQUUsc0RBQXNELENBQUM7S0FDbkksS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUM7S0FDbkIsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7S0FDYixLQUFLLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQztLQUNwQixLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztLQUNiLEtBQUssQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDO0tBQ3RCLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0tBQ2IsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7S0FDZixRQUFRLENBQUMsR0FBRyxFQUFFLDhGQUE4RixDQUFDO0tBQzdHLE9BQU8sQ0FBQyxXQUFXLENBQUM7S0FDcEIsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7S0FDM0IsUUFBUSxDQUFDLFdBQVcsRUFBRSxzSUFBc0ksQ0FBQztLQUM3SixZQUFZLENBQUMsT0FBTyxDQUFDO0tBQ3JCLFlBQVksQ0FBQyxRQUFRLENBQUM7S0FDdEIsU0FBUyxFQUFFLENBQUM7QUFFakIsdUNBQW1DO0FBQ25DLGdCQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBVyxDQUFDO0FBQzNELGdCQUFNLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFvQixDQUFDO0FBRW5ELE1BQU0sUUFBUSxHQUFHLElBQUksa0JBQVEsRUFBRSxDQUFDO0FBQ2hDLElBQUksUUFBeUIsQ0FBQztBQUU5QixJQUFLLElBQUksQ0FBQyxLQUFnQixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO0lBQ25ELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQWUsQ0FBQztJQUM5Qyx5Q0FBeUM7SUFDekMsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRixnQkFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQkFBTyxDQUFDO1FBQ3hCLGdCQUFnQjtRQUNoQixlQUFlLEVBQUU7WUFDYixPQUFPLEVBQUUsT0FBTztTQUNuQjtLQUNGLENBQUMsQ0FBQztJQUNMLFFBQVEsR0FBRyxRQUFRLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7QUFFckQsQ0FBQztLQUFNLENBQUM7SUFDSixNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO0lBQ2xDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQWUsQ0FBQyxDQUFDO0lBQ2pDLFFBQVEsR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUVELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQztBQUNyRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBZ0IsQ0FBQztBQUUzQyxFQUFFLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUMzQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQUMsTUFBTSxHQUFHLENBQUM7SUFBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDO0FBRUgsZ0JBQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxZQUFZLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgeWFyZ3MgZnJvbSBcInlhcmdzXCI7XG5pbXBvcnQgeyBJbXBvcnRlciB9IGZyb20gJy4vYW5hbHl6ZSc7XG5pbXBvcnQgeyBGYW1peFJlcG9zaXRvcnkgfSBmcm9tIFwiLi9saWIvZmFtaXgvZmFtaXhfcmVwb3NpdG9yeVwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCJ0cy1tb3JwaFwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vYW5hbHl6ZVwiO1xuXG5jb25zdCBhcmd2ID0geWFyZ3NcbiAgICAuZXhhbXBsZShgdHMyZmFtaXggLWkgXCJwYXRoL3RvL3Byb2plY3QvKiovKi50c1wiIC1vIEpTT05Nb2RlbHMvcHJvamVjdE5hbWUuanNvbmAsICdDcmVhdGVzIGEgSlNPTi1mb3JtYXQgRmFtaXggbW9kZWwgb2YgdHlwZXNjcmlwdCBmaWxlcy4nKVxuICAgIC5leGFtcGxlKGB0czJmYW1peCAtaSBwYXRoL3RvL3RzY29uZmlnLmpzb24gLW8gSlNPTk1vZGVscy9wcm9qZWN0TmFtZS5qc29uYCwgJ0NyZWF0ZXMgYSBKU09OLWZvcm1hdCBtb2RlbCBvZiBhIHR5cGVzY3JpcHQgcHJvamVjdC4nKVxuICAgIC5hbGlhcygnaScsICdpbnB1dCcpXG4gICAgLm5hcmdzKCdpJywgMSlcbiAgICAuYWxpYXMoJ28nLCAnb3V0cHV0JylcbiAgICAubmFyZ3MoJ28nLCAxKVxuICAgIC5hbGlhcygnbCcsICdsb2dsZXZlbCcpXG4gICAgLm5hcmdzKCdsJywgMSlcbiAgICAuZGVmYXVsdCgnbCcsIDMpXG4gICAgLmRlc2NyaWJlKCdsJywgJ1NldCBtaW5pbXVtIGxvZ2dpbmcgbGV2ZWwgMDogc2lsbHksIDE6IHRyYWNlLCAyOiBkZWJ1ZywgMzogaW5mbywgNDogd2FybiwgNTogZXJyb3IsIDY6IGZhdGFsJylcbiAgICAuYm9vbGVhbignZ3JhcGhlbWVzJylcbiAgICAuZGVmYXVsdCgnZ3JhcGhlbWVzJywgZmFsc2UpXG4gICAgLmRlc2NyaWJlKCdncmFwaGVtZXMnLCAnUHJvY2VzcyBncmFwaGVtZXMgKG91dHNpZGUgb2YgdGhlIEJNUCkgdG8gYXZvaWQgc291cmNlIGFuY2hvciBvZmZzZXQgZXJyb3JzIChkdWUgdG8gcGVyZm9ybWFuY2UgaXNzdWVzLCB0aGlzIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQpJylcbiAgICAuZGVtYW5kT3B0aW9uKCdpbnB1dCcpXG4gICAgLmRlbWFuZE9wdGlvbignb3V0cHV0JylcbiAgICAucGFyc2VTeW5jKCk7XG5cbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4vYW5hbHl6ZSc7XG5sb2dnZXIuc2V0dGluZ3MubWluTGV2ZWwgPSBOdW1iZXIoYXJndi5sb2dsZXZlbCkgYXMgbnVtYmVyO1xuY29uZmlnLmV4cGVjdEdyYXBoZW1lcyA9IGFyZ3YuZ3JhcGhlbWVzIGFzIGJvb2xlYW47XG5cbmNvbnN0IGltcG9ydGVyID0gbmV3IEltcG9ydGVyKCk7XG5sZXQgZmFtaXhSZXA6IEZhbWl4UmVwb3NpdG9yeTtcblxuaWYgKChhcmd2LmlucHV0IGFzIHN0cmluZykuZW5kc1dpdGgoJ3RzY29uZmlnLmpzb24nKSkge1xuICAgIGNvbnN0IHRzQ29uZmlnRmlsZVBhdGggPSBhcmd2LmlucHV0IGFzIHN0cmluZztcbiAgICAvLyBnZXQgdGhlIGJhc2VVcmwgZnJvbSB0aGUgdHNjb25maWcgZmlsZVxuICAgIGNvbnN0IGJhc2VVcmwgPSB0c0NvbmZpZ0ZpbGVQYXRoLnN1YnN0cmluZygwLCB0c0NvbmZpZ0ZpbGVQYXRoLmxhc3RJbmRleE9mKCcvJykpO1xuICAgIGxvZ2dlci5pbmZvKGBiYXNlVXJsOiAke2Jhc2VVcmx9YCk7XG4gICAgY29uc3QgcHJvamVjdCA9IG5ldyBQcm9qZWN0KHtcbiAgICAgICAgdHNDb25maWdGaWxlUGF0aCxcbiAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgICBiYXNlVXJsOiBiYXNlVXJsLFxuICAgICAgICB9XG4gICAgICB9KTsgXG4gICAgZmFtaXhSZXAgPSBpbXBvcnRlci5mYW1peFJlcEZyb21Qcm9qZWN0KHByb2plY3QpO1xuXG59IGVsc2Uge1xuICAgIGNvbnN0IHBhdGhzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgICBwYXRocy5wdXNoKGFyZ3YuaW5wdXQgYXMgc3RyaW5nKTtcbiAgICBmYW1peFJlcCA9IGltcG9ydGVyLmZhbWl4UmVwRnJvbVBhdGhzKHBhdGhzKTtcbn1cblxuY29uc3QganNvbk91dHB1dCA9IGZhbWl4UmVwLmV4cG9ydCh7Zm9ybWF0OiBcImpzb25cIn0pO1xuY29uc3QganNvbkZpbGVQYXRoID0gYXJndi5vdXRwdXQgYXMgc3RyaW5nO1xuXG5mcy53cml0ZUZpbGUoanNvbkZpbGVQYXRoLCBqc29uT3V0cHV0LCAoZXJyKSA9PiB7XG4gICAgaWYgKGVycikgeyB0aHJvdyBlcnI7IH1cbn0pO1xuXG5sb2dnZXIuaW5mbyhgQ3JlYXRlZDogJHtqc29uRmlsZVBhdGh9YCk7IFxuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHMyZmFtaXgtY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RzMmZhbWl4LWNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSx1Q0FBeUI7QUFDekIsa0RBQTBCO0FBQzFCLHVDQUFxQztBQUVyQyx1Q0FBbUM7QUFDbkMsdUNBQW1DO0FBRW5DLE1BQU0sSUFBSSxHQUFHLGVBQUs7S0FDYixPQUFPLENBQUMsc0VBQXNFLEVBQUUsd0RBQXdELENBQUM7S0FDekksT0FBTyxDQUFDLGtFQUFrRSxFQUFFLHNEQUFzRCxDQUFDO0tBQ25JLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO0tBQ25CLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0tBQ2IsS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUM7S0FDcEIsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7S0FDYixLQUFLLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQztLQUN0QixLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztLQUNiLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0tBQ2YsUUFBUSxDQUFDLEdBQUcsRUFBRSw4RkFBOEYsQ0FBQztLQUM3RyxPQUFPLENBQUMsV0FBVyxDQUFDO0tBQ3BCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO0tBQzNCLFFBQVEsQ0FBQyxXQUFXLEVBQUUsc0lBQXNJLENBQUM7S0FDN0osWUFBWSxDQUFDLE9BQU8sQ0FBQztLQUNyQixZQUFZLENBQUMsUUFBUSxDQUFDO0tBQ3RCLFNBQVMsRUFBRSxDQUFDO0FBRWpCLHVDQUFtQztBQUNuQyxnQkFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQVcsQ0FBQztBQUMzRCxnQkFBTSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBb0IsQ0FBQztBQUVuRCxNQUFNLFFBQVEsR0FBRyxJQUFJLGtCQUFRLEVBQUUsQ0FBQztBQUNoQyxJQUFJLFFBQXlCLENBQUM7QUFFOUIsSUFBSyxJQUFJLENBQUMsS0FBZ0IsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztJQUNuRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFlLENBQUM7SUFDOUMseUNBQXlDO0lBQ3pDLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDakYsZ0JBQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sT0FBTyxHQUFHLElBQUksa0JBQU8sQ0FBQztRQUN4QixnQkFBZ0I7UUFDaEIsZUFBZSxFQUFFO1lBQ2IsT0FBTyxFQUFFLE9BQU87U0FDbkI7S0FDRixDQUFDLENBQUM7SUFDTCxRQUFRLEdBQUcsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRXJELENBQUM7S0FBTSxDQUFDO0lBQ0osTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztJQUNsQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFlLENBQUMsQ0FBQztJQUNqQyxRQUFRLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7QUFDckQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQWdCLENBQUM7QUFFM0MsRUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDM0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUFDLE1BQU0sR0FBRyxDQUFDO0lBQUMsQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQztBQUVILGdCQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksWUFBWSxFQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcclxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XHJcbmltcG9ydCB5YXJncyBmcm9tIFwieWFyZ3NcIjtcclxuaW1wb3J0IHsgSW1wb3J0ZXIgfSBmcm9tICcuL2FuYWx5emUnO1xyXG5pbXBvcnQgeyBGYW1peFJlcG9zaXRvcnkgfSBmcm9tIFwiLi9saWIvZmFtaXgvZmFtaXhfcmVwb3NpdG9yeVwiO1xyXG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcInRzLW1vcnBoXCI7XHJcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2FuYWx5emVcIjtcclxuXHJcbmNvbnN0IGFyZ3YgPSB5YXJnc1xyXG4gICAgLmV4YW1wbGUoYHRzMmZhbWl4IC1pIFwicGF0aC90by9wcm9qZWN0LyoqLyoudHNcIiAtbyBKU09OTW9kZWxzL3Byb2plY3ROYW1lLmpzb25gLCAnQ3JlYXRlcyBhIEpTT04tZm9ybWF0IEZhbWl4IG1vZGVsIG9mIHR5cGVzY3JpcHQgZmlsZXMuJylcclxuICAgIC5leGFtcGxlKGB0czJmYW1peCAtaSBwYXRoL3RvL3RzY29uZmlnLmpzb24gLW8gSlNPTk1vZGVscy9wcm9qZWN0TmFtZS5qc29uYCwgJ0NyZWF0ZXMgYSBKU09OLWZvcm1hdCBtb2RlbCBvZiBhIHR5cGVzY3JpcHQgcHJvamVjdC4nKVxyXG4gICAgLmFsaWFzKCdpJywgJ2lucHV0JylcclxuICAgIC5uYXJncygnaScsIDEpXHJcbiAgICAuYWxpYXMoJ28nLCAnb3V0cHV0JylcclxuICAgIC5uYXJncygnbycsIDEpXHJcbiAgICAuYWxpYXMoJ2wnLCAnbG9nbGV2ZWwnKVxyXG4gICAgLm5hcmdzKCdsJywgMSlcclxuICAgIC5kZWZhdWx0KCdsJywgMylcclxuICAgIC5kZXNjcmliZSgnbCcsICdTZXQgbWluaW11bSBsb2dnaW5nIGxldmVsIDA6IHNpbGx5LCAxOiB0cmFjZSwgMjogZGVidWcsIDM6IGluZm8sIDQ6IHdhcm4sIDU6IGVycm9yLCA2OiBmYXRhbCcpXHJcbiAgICAuYm9vbGVhbignZ3JhcGhlbWVzJylcclxuICAgIC5kZWZhdWx0KCdncmFwaGVtZXMnLCBmYWxzZSlcclxuICAgIC5kZXNjcmliZSgnZ3JhcGhlbWVzJywgJ1Byb2Nlc3MgZ3JhcGhlbWVzIChvdXRzaWRlIG9mIHRoZSBCTVApIHRvIGF2b2lkIHNvdXJjZSBhbmNob3Igb2Zmc2V0IGVycm9ycyAoZHVlIHRvIHBlcmZvcm1hbmNlIGlzc3VlcywgdGhpcyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0KScpXHJcbiAgICAuZGVtYW5kT3B0aW9uKCdpbnB1dCcpXHJcbiAgICAuZGVtYW5kT3B0aW9uKCdvdXRwdXQnKVxyXG4gICAgLnBhcnNlU3luYygpO1xyXG5cclxuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi9hbmFseXplJztcclxubG9nZ2VyLnNldHRpbmdzLm1pbkxldmVsID0gTnVtYmVyKGFyZ3YubG9nbGV2ZWwpIGFzIG51bWJlcjtcclxuY29uZmlnLmV4cGVjdEdyYXBoZW1lcyA9IGFyZ3YuZ3JhcGhlbWVzIGFzIGJvb2xlYW47XHJcblxyXG5jb25zdCBpbXBvcnRlciA9IG5ldyBJbXBvcnRlcigpO1xyXG5sZXQgZmFtaXhSZXA6IEZhbWl4UmVwb3NpdG9yeTtcclxuXHJcbmlmICgoYXJndi5pbnB1dCBhcyBzdHJpbmcpLmVuZHNXaXRoKCd0c2NvbmZpZy5qc29uJykpIHtcclxuICAgIGNvbnN0IHRzQ29uZmlnRmlsZVBhdGggPSBhcmd2LmlucHV0IGFzIHN0cmluZztcclxuICAgIC8vIGdldCB0aGUgYmFzZVVybCBmcm9tIHRoZSB0c2NvbmZpZyBmaWxlXHJcbiAgICBjb25zdCBiYXNlVXJsID0gdHNDb25maWdGaWxlUGF0aC5zdWJzdHJpbmcoMCwgdHNDb25maWdGaWxlUGF0aC5sYXN0SW5kZXhPZignLycpKTtcclxuICAgIGxvZ2dlci5pbmZvKGBiYXNlVXJsOiAke2Jhc2VVcmx9YCk7XHJcbiAgICBjb25zdCBwcm9qZWN0ID0gbmV3IFByb2plY3Qoe1xyXG4gICAgICAgIHRzQ29uZmlnRmlsZVBhdGgsXHJcbiAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XHJcbiAgICAgICAgICAgIGJhc2VVcmw6IGJhc2VVcmwsXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTsgXHJcbiAgICBmYW1peFJlcCA9IGltcG9ydGVyLmZhbWl4UmVwRnJvbVByb2plY3QocHJvamVjdCk7XHJcblxyXG59IGVsc2Uge1xyXG4gICAgY29uc3QgcGF0aHMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xyXG4gICAgcGF0aHMucHVzaChhcmd2LmlucHV0IGFzIHN0cmluZyk7XHJcbiAgICBmYW1peFJlcCA9IGltcG9ydGVyLmZhbWl4UmVwRnJvbVBhdGhzKHBhdGhzKTtcclxufVxyXG5cclxuY29uc3QganNvbk91dHB1dCA9IGZhbWl4UmVwLmV4cG9ydCh7Zm9ybWF0OiBcImpzb25cIn0pO1xyXG5jb25zdCBqc29uRmlsZVBhdGggPSBhcmd2Lm91dHB1dCBhcyBzdHJpbmc7XHJcblxyXG5mcy53cml0ZUZpbGUoanNvbkZpbGVQYXRoLCBqc29uT3V0cHV0LCAoZXJyKSA9PiB7XHJcbiAgICBpZiAoZXJyKSB7IHRocm93IGVycjsgfVxyXG59KTtcclxuXHJcbmxvZ2dlci5pbmZvKGBDcmVhdGVkOiAke2pzb25GaWxlUGF0aH1gKTsgXHJcbiJdfQ==
@@ -15,13 +15,23 @@ 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
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -51,4 +61,4 @@ fs.writeFile(jsonFilePath, jsonOutput, (err) => {
51
61
  }
52
62
  });
53
63
  console.info(`Created: ${jsonFilePath}`);
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHMyZmFtaXgtdHNjb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHMyZmFtaXgtdHNjb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF5QjtBQUN6QixrREFBMEI7QUFDMUIsdUNBQXFDO0FBQ3JDLHVDQUFtQztBQUVuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGtCQUFRLEVBQUUsQ0FBQztBQUVoQyxNQUFNLElBQUksR0FBRyxlQUFLO0tBQ2YsT0FBTyxDQUFDLHFHQUFxRyxFQUFFLHFEQUFxRCxDQUFDO0tBQ3JLLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO0tBQ25CLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0tBQ2IsS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUM7S0FDcEIsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7S0FDYixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBRTVELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQWUsQ0FBQztBQUU5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLGtCQUFPLENBQUM7SUFDMUIsZ0JBQWdCO0NBQ2pCLENBQUMsQ0FBQztBQUVILE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN2RCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDdEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQWdCLENBQUM7QUFFM0MsRUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDN0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUFDLE1BQU0sR0FBRyxDQUFDO0lBQUMsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQztBQUVILE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxZQUFZLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XHJcbmltcG9ydCB5YXJncyBmcm9tIFwieWFyZ3NcIjtcclxuaW1wb3J0IHsgSW1wb3J0ZXIgfSBmcm9tIFwiLi9hbmFseXplXCI7XHJcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwidHMtbW9ycGhcIjtcclxuXHJcbmNvbnN0IGltcG9ydGVyID0gbmV3IEltcG9ydGVyKCk7XHJcblxyXG5jb25zdCBhcmd2ID0geWFyZ3NcclxuICAuZXhhbXBsZShgdHMtbm9kZSBzcmMvdHMyZmFtaXgtdHNjb25maWcudHMgLWkgLi4vcGF0aC90by9wcm9qZWN0L3RzY29uZmlnLmpzb24gLW8gSlNPTk1vZGVscy9wcm9qZWN0TmFtZS5qc29uYCwgJ2NyZWF0ZXMgYSBKU09OLWZvcm1hdCBtb2RlbCBvZiBhIHR5cGVzY3JpcHQgcHJvamVjdCcpXHJcbiAgLmFsaWFzKCdpJywgJ2lucHV0JylcclxuICAubmFyZ3MoJ2knLCAxKVxyXG4gIC5hbGlhcygnbycsICdvdXRwdXQnKVxyXG4gIC5uYXJncygnbycsIDEpXHJcbiAgLmRlbWFuZE9wdGlvbignaW5wdXQnKS5kZW1hbmRPcHRpb24oJ291dHB1dCcpLnBhcnNlU3luYygpO1xyXG5cclxuY29uc3QgdHNDb25maWdGaWxlUGF0aCA9IGFyZ3YuaW5wdXQgYXMgc3RyaW5nO1xyXG5cclxuY29uc3QgcHJvamVjdCA9IG5ldyBQcm9qZWN0KHtcclxuICB0c0NvbmZpZ0ZpbGVQYXRoXHJcbn0pOyAgXHJcblxyXG5jb25zdCBmYW1peFJlcCA9IGltcG9ydGVyLmZhbWl4UmVwRnJvbVByb2plY3QocHJvamVjdCk7XHJcbmNvbnN0IGpzb25PdXRwdXQgPSBmYW1peFJlcC5nZXRKU09OKCk7XHJcbmNvbnN0IGpzb25GaWxlUGF0aCA9IGFyZ3Yub3V0cHV0IGFzIHN0cmluZztcclxuXHJcbmZzLndyaXRlRmlsZShqc29uRmlsZVBhdGgsIGpzb25PdXRwdXQsIChlcnIpID0+IHtcclxuICBpZiAoZXJyKSB7IHRocm93IGVycjsgfVxyXG59KTtcclxuXHJcbmNvbnNvbGUuaW5mbyhgQ3JlYXRlZDogJHtqc29uRmlsZVBhdGh9YCk7IFxyXG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHMyZmFtaXgtdHNjb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHMyZmFtaXgtdHNjb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBeUI7QUFDekIsa0RBQTBCO0FBQzFCLHVDQUFxQztBQUNyQyx1Q0FBbUM7QUFFbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxrQkFBUSxFQUFFLENBQUM7QUFFaEMsTUFBTSxJQUFJLEdBQUcsZUFBSztLQUNmLE9BQU8sQ0FBQyxxR0FBcUcsRUFBRSxxREFBcUQsQ0FBQztLQUNySyxLQUFLLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQztLQUNuQixLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztLQUNiLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDO0tBQ3BCLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0tBQ2IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUU1RCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFlLENBQUM7QUFFOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQkFBTyxDQUFDO0lBQzFCLGdCQUFnQjtDQUNqQixDQUFDLENBQUM7QUFFSCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdkQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ3RDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFnQixDQUFDO0FBRTNDLEVBQUUsQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQzdDLElBQUksR0FBRyxFQUFFLENBQUM7UUFBQyxNQUFNLEdBQUcsQ0FBQztJQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUM7QUFFSCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksWUFBWSxFQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xyXG5pbXBvcnQgeWFyZ3MgZnJvbSBcInlhcmdzXCI7XHJcbmltcG9ydCB7IEltcG9ydGVyIH0gZnJvbSBcIi4vYW5hbHl6ZVwiO1xyXG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcInRzLW1vcnBoXCI7XHJcblxyXG5jb25zdCBpbXBvcnRlciA9IG5ldyBJbXBvcnRlcigpO1xyXG5cclxuY29uc3QgYXJndiA9IHlhcmdzXHJcbiAgLmV4YW1wbGUoYHRzLW5vZGUgc3JjL3RzMmZhbWl4LXRzY29uZmlnLnRzIC1pIC4uL3BhdGgvdG8vcHJvamVjdC90c2NvbmZpZy5qc29uIC1vIEpTT05Nb2RlbHMvcHJvamVjdE5hbWUuanNvbmAsICdjcmVhdGVzIGEgSlNPTi1mb3JtYXQgbW9kZWwgb2YgYSB0eXBlc2NyaXB0IHByb2plY3QnKVxyXG4gIC5hbGlhcygnaScsICdpbnB1dCcpXHJcbiAgLm5hcmdzKCdpJywgMSlcclxuICAuYWxpYXMoJ28nLCAnb3V0cHV0JylcclxuICAubmFyZ3MoJ28nLCAxKVxyXG4gIC5kZW1hbmRPcHRpb24oJ2lucHV0JykuZGVtYW5kT3B0aW9uKCdvdXRwdXQnKS5wYXJzZVN5bmMoKTtcclxuXHJcbmNvbnN0IHRzQ29uZmlnRmlsZVBhdGggPSBhcmd2LmlucHV0IGFzIHN0cmluZztcclxuXHJcbmNvbnN0IHByb2plY3QgPSBuZXcgUHJvamVjdCh7XHJcbiAgdHNDb25maWdGaWxlUGF0aFxyXG59KTsgIFxyXG5cclxuY29uc3QgZmFtaXhSZXAgPSBpbXBvcnRlci5mYW1peFJlcEZyb21Qcm9qZWN0KHByb2plY3QpO1xyXG5jb25zdCBqc29uT3V0cHV0ID0gZmFtaXhSZXAuZ2V0SlNPTigpO1xyXG5jb25zdCBqc29uRmlsZVBhdGggPSBhcmd2Lm91dHB1dCBhcyBzdHJpbmc7XHJcblxyXG5mcy53cml0ZUZpbGUoanNvbkZpbGVQYXRoLCBqc29uT3V0cHV0LCAoZXJyKSA9PiB7XHJcbiAgaWYgKGVycikgeyB0aHJvdyBlcnI7IH1cclxufSk7XHJcblxyXG5jb25zb2xlLmluZm8oYENyZWF0ZWQ6ICR7anNvbkZpbGVQYXRofWApOyBcclxuIl19