@codeperfect/eslint-plugin 2.11.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/README.md +0 -1
  2. package/dist/application/custom-rules.d.ts +3 -0
  3. package/dist/application/custom-rules.d.ts.map +1 -1
  4. package/dist/application/custom-rules.js +3 -2
  5. package/dist/application/index.d.ts +1 -1
  6. package/dist/application/index.d.ts.map +1 -1
  7. package/dist/application/index.js +2 -2
  8. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  9. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts +0 -2
  10. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts.map +1 -1
  11. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +4 -6
  12. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -1
  13. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +12 -15
  14. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +0 -2
  15. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -1
  16. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +2 -10
  17. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -1
  18. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +8 -17
  19. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +1 -1
  20. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +6 -8
  21. package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -1
  22. package/dist/domain/architecture/consistent-barrel-files/rule.js +4 -5
  23. package/dist/domain/architecture/index.d.ts +1 -0
  24. package/dist/domain/architecture/index.d.ts.map +1 -1
  25. package/dist/domain/architecture/index.js +2 -1
  26. package/dist/domain/architecture/no-import-export-extensions/no-import-export-extensions-rule.d.ts.map +1 -1
  27. package/dist/domain/architecture/no-import-export-extensions/no-import-export-extensions-rule.js +6 -13
  28. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.d.ts.map +1 -1
  29. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.js +11 -10
  30. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.d.ts.map +1 -1
  31. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.js +5 -9
  32. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts.map +1 -1
  33. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.js +6 -9
  34. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.d.ts.map +1 -1
  35. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.js +5 -10
  36. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.d.ts.map +1 -1
  37. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.js +4 -8
  38. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.d.ts.map +1 -1
  39. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.js +4 -5
  40. package/dist/domain/architecture/no-unused-public-members/index.d.ts +2 -0
  41. package/dist/domain/architecture/no-unused-public-members/index.d.ts.map +1 -0
  42. package/dist/domain/architecture/no-unused-public-members/index.js +2 -0
  43. package/dist/domain/architecture/no-unused-public-members/member-contract-utilities.d.ts +16 -0
  44. package/dist/domain/architecture/no-unused-public-members/member-contract-utilities.d.ts.map +1 -0
  45. package/dist/domain/architecture/no-unused-public-members/member-contract-utilities.js +102 -0
  46. package/dist/domain/architecture/no-unused-public-members/member-declaration-utilities.d.ts +34 -0
  47. package/dist/domain/architecture/no-unused-public-members/member-declaration-utilities.d.ts.map +1 -0
  48. package/dist/domain/architecture/no-unused-public-members/member-declaration-utilities.js +55 -0
  49. package/dist/domain/architecture/no-unused-public-members/member-host-utilities.d.ts +68 -0
  50. package/dist/domain/architecture/no-unused-public-members/member-host-utilities.d.ts.map +1 -0
  51. package/dist/domain/architecture/no-unused-public-members/member-host-utilities.js +195 -0
  52. package/dist/domain/architecture/no-unused-public-members/member-public-api-utilities.d.ts +30 -0
  53. package/dist/domain/architecture/no-unused-public-members/member-public-api-utilities.d.ts.map +1 -0
  54. package/dist/domain/architecture/no-unused-public-members/member-public-api-utilities.js +101 -0
  55. package/dist/domain/architecture/no-unused-public-members/member-usage-handoff-utilities.d.ts +28 -0
  56. package/dist/domain/architecture/no-unused-public-members/member-usage-handoff-utilities.d.ts.map +1 -0
  57. package/dist/domain/architecture/no-unused-public-members/member-usage-handoff-utilities.js +125 -0
  58. package/dist/domain/architecture/no-unused-public-members/member-usage-reference-utilities.d.ts +29 -0
  59. package/dist/domain/architecture/no-unused-public-members/member-usage-reference-utilities.d.ts.map +1 -0
  60. package/dist/domain/architecture/no-unused-public-members/member-usage-reference-utilities.js +108 -0
  61. package/dist/domain/architecture/no-unused-public-members/member-usage-type-utilities.d.ts +42 -0
  62. package/dist/domain/architecture/no-unused-public-members/member-usage-type-utilities.d.ts.map +1 -0
  63. package/dist/domain/architecture/no-unused-public-members/member-usage-type-utilities.js +96 -0
  64. package/dist/domain/architecture/no-unused-public-members/member-usage-utilities.d.ts +18 -0
  65. package/dist/domain/architecture/no-unused-public-members/member-usage-utilities.d.ts.map +1 -0
  66. package/dist/domain/architecture/no-unused-public-members/member-usage-utilities.js +128 -0
  67. package/dist/domain/architecture/no-unused-public-members/member-utilities.d.ts +41 -0
  68. package/dist/domain/architecture/no-unused-public-members/member-utilities.d.ts.map +1 -0
  69. package/dist/domain/architecture/no-unused-public-members/member-utilities.js +51 -0
  70. package/dist/domain/architecture/no-unused-public-members/rule.d.ts +5 -0
  71. package/dist/domain/architecture/no-unused-public-members/rule.d.ts.map +1 -0
  72. package/dist/domain/architecture/no-unused-public-members/rule.js +78 -0
  73. package/dist/domain/core/no-multiple-declarators/rule-utilities.d.ts.map +1 -1
  74. package/dist/domain/core/no-multiple-declarators/rule-utilities.js +13 -19
  75. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
  76. package/dist/domain/core/no-multiple-declarators/rule.js +4 -5
  77. package/dist/domain/core/no-useless-delegation/rule.d.ts.map +1 -1
  78. package/dist/domain/core/no-useless-delegation/rule.js +5 -6
  79. package/dist/domain/core/prefer-interface-types/autofix.js +4 -5
  80. package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts.map +1 -1
  81. package/dist/domain/core/prefer-interface-types/rule-utilities.js +7 -9
  82. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -1
  83. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +10 -8
  84. package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -1
  85. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +5 -6
  86. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.d.ts.map +1 -1
  87. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +7 -9
  88. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
  89. package/dist/domain/docs/no-interface-member-docs/rule.js +2 -5
  90. package/dist/domain/docs/require-example-language/empty-fence-fixes.d.ts.map +1 -1
  91. package/dist/domain/docs/require-example-language/empty-fence-fixes.js +2 -5
  92. package/dist/domain/docs/require-example-language/example-utilities.d.ts +1 -7
  93. package/dist/domain/docs/require-example-language/example-utilities.d.ts.map +1 -1
  94. package/dist/domain/docs/require-example-language/example-utilities.js +6 -14
  95. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
  96. package/dist/domain/docs/require-example-language/examples.js +7 -16
  97. package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -1
  98. package/dist/domain/docs/require-example-language/fixes.js +8 -13
  99. package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -1
  100. package/dist/domain/docs/require-example-language/reporting.js +4 -8
  101. package/dist/domain/docs/require-example-language/types.d.ts +0 -2
  102. package/dist/domain/docs/require-example-language/types.d.ts.map +1 -1
  103. package/dist/domain/docs/require-example-language/types.js +1 -1
  104. package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -1
  105. package/dist/domain/docs/single-line-jsdoc/rule.js +5 -11
  106. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +1 -1
  107. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.js +5 -14
  108. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -1
  109. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +5 -9
  110. package/dist/domain/index.d.ts +2 -2
  111. package/dist/domain/index.d.ts.map +1 -1
  112. package/dist/domain/index.js +3 -3
  113. package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -1
  114. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
  115. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +2 -5
  116. package/dist/domain/testing/aaa/analyzer.analysis.js +6 -11
  117. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -1
  118. package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +5 -14
  119. package/dist/domain/testing/aaa/analyzer.assertions.js +2 -2
  120. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -1
  121. package/dist/domain/testing/aaa/analyzer.assertions.operands.js +12 -16
  122. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -1
  123. package/dist/domain/testing/aaa/analyzer.classification.helpers.js +11 -21
  124. package/dist/domain/testing/aaa/analyzer.classification.js +2 -2
  125. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
  126. package/dist/domain/testing/aaa/analyzer.super.js +5 -6
  127. package/dist/domain/testing/aaa/types.d.ts +0 -4
  128. package/dist/domain/testing/aaa/types.d.ts.map +1 -1
  129. package/dist/domain/testing/aaa/types.js +1 -1
  130. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -1
  131. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +2 -7
  132. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -1
  133. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +4 -5
  134. package/dist/domain/testing/index.d.ts +0 -1
  135. package/dist/domain/testing/index.d.ts.map +1 -1
  136. package/dist/domain/testing/index.js +1 -2
  137. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -1
  138. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +9 -7
  139. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -1
  140. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +5 -9
  141. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.d.ts.map +1 -1
  142. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.js +2 -7
  143. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -1
  144. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +5 -5
  145. package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.js +3 -5
  146. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -1
  147. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.js +13 -18
  148. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.d.ts.map +1 -1
  149. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.js +5 -6
  150. package/dist/domain/testing/prefer-vi-mocked-import/types.d.ts +0 -2
  151. package/dist/domain/testing/prefer-vi-mocked-import/types.d.ts.map +1 -1
  152. package/dist/domain/testing/prefer-vi-mocked-import/types.js +1 -1
  153. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
  154. package/dist/domain/testing/require-act-result-capture/rule.js +9 -12
  155. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -1
  156. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +5 -11
  157. package/dist/domain/testing/require-test-companion/require-test-companion-options.js +6 -7
  158. package/dist/domain/testing/require-test-companion/rule.js +2 -2
  159. package/dist/index.d.ts +1 -1
  160. package/dist/index.d.ts.map +1 -1
  161. package/dist/index.js +2 -2
  162. package/dist/infrastructure/codeperfect-plugin.d.ts +2 -2
  163. package/dist/infrastructure/codeperfect-plugin.js +3 -3
  164. package/dist/infrastructure/presets.js +3 -3
  165. package/package.json +26 -27
  166. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.d.ts +0 -2
  167. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.d.ts.map +0 -1
  168. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/index.js +0 -2
  169. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts +0 -29
  170. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts.map +0 -1
  171. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.js +0 -200
  172. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts +0 -12
  173. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts.map +0 -1
  174. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.js +0 -151
  175. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts +0 -16
  176. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts.map +0 -1
  177. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.js +0 -109
  178. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts +0 -5
  179. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts.map +0 -1
  180. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.js +0 -41
@@ -99,11 +99,10 @@ const getParameters = (functionNode) => {
99
99
  * ```
100
100
  */
101
101
  const forwardsParameter = (argument, parameter) => {
102
- if (parameter.isRest) {
103
- return (argument.type === "SpreadElement" &&
104
- getIdentifierName(asNode(argument["argument"])) === parameter.name);
105
- }
106
- return getIdentifierName(argument) === parameter.name;
102
+ return parameter.isRest
103
+ ? argument.type === "SpreadElement" &&
104
+ getIdentifierName(asNode(argument["argument"])) === parameter.name
105
+ : getIdentifierName(argument) === parameter.name;
107
106
  };
108
107
  /**
109
108
  * Determines whether a node is a plain named reference.
@@ -201,4 +200,4 @@ const noUselessDelegationRule = {
201
200
  },
202
201
  };
203
202
  export { noUselessDelegationRule };
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vY29yZS9uby11c2VsZXNzLWRlbGVnYXRpb24vcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQkE7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQWMsRUFBb0IsRUFBRSxDQUNsRCxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxNQUFNLElBQUksS0FBSztJQUM1RCxDQUFDLENBQUUsS0FBYztJQUNqQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFYjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBYyxFQUFzQixFQUFFLENBQ3pELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUMsQ0FBRSxLQUFnQjtJQUNuQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFYjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFzQixFQUFzQixFQUFFLENBQ3ZFLElBQUksRUFBRSxJQUFJLEtBQUssWUFBWSxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFFBQVE7SUFDN0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDZCxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFYjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxZQUFrQixFQUFvQixFQUFFO0lBQ2hFLElBQUksWUFBWSxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNuRSxPQUFP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Q2YsK0ZBQStGO1NBQ2xHO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsWUFBWTtLQUNuQjtDQUNGLENBQUM7QUFFRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuLyoqIE9uZSBuYW1lZCBwYXJhbWV0ZXIgYW5kIHdoZXRoZXIgaXQgbXVzdCBiZSBzcHJlYWQgYXQgdGhlIGNhbGwgc2l0ZS4gKi9cbmludGVyZmFjZSBEZWxlZ2F0ZWRQYXJhbWV0ZXIge1xuICAvKiogV2hldGhlciB0aGlzIHBhcmFtZXRlciB1c2VzIHJlc3Qgc3ludGF4LiAqL1xuICBpc1Jlc3Q6IGJvb2xlYW47XG4gIC8qKiBQYXJhbWV0ZXIgaWRlbnRpZmllciBuYW1lLiAqL1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKiBNaW5pbWFsIEVTVHJlZSBub2RlIHNoYXBlIHVzZWQgdG8gaW5zcGVjdCBwYXNzLXRocm91Z2ggZnVuY3Rpb25zLiAqL1xuaW50ZXJmYWNlIE5vZGUge1xuICAvKiogRHluYW1pY2FsbHkgcmVhZCBjaGlsZCBub2RlcyBhbmQgcGFyc2VyLXNwZWNpZmljIHByb3BlcnRpZXMuICovXG4gIFtrZXk6IHN0cmluZ106IHVua25vd247XG4gIC8qKiBXaGV0aGVyIHRoZSBmdW5jdGlvbiBpcyBhc3luY2hyb25vdXMuICovXG4gIGFzeW5jPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIGZ1bmN0aW9uIGlzIGEgZ2VuZXJhdG9yLiAqL1xuICBnZW5lcmF0b3I/OiBib29sZWFuO1xuICAvKiogRVNUcmVlIGRpc2NyaW1pbmF0b3IuICovXG4gIHR5cGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyBhIG5vZGUgdmFsdWUgd2hlbiBpdCBpcyBhbiBFU1RyZWUgbm9kZS5cbiAqIEBwYXJhbSB2YWx1ZSBDYW5kaWRhdGUgQVNUIHZhbHVlLlxuICogQHJldHVybnMgVGhlIHZhbHVlIGFzIGFuIEVTVHJlZSBub2RlIHdoZW4gaXQgaGFzIGEgdHlwZSBkaXNjcmltaW5hdG9yLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5vZGUgPSBhc05vZGUoeyB0eXBlOiBcIklkZW50aWZpZXJcIiB9KTtcbiAqIGBgYFxuICovXG5jb25zdCBhc05vZGUgPSAodmFsdWU6IHVua25vd24pOiBOb2RlIHwgdW5kZWZpbmVkID0+XG4gIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiB2YWx1ZSAhPT0gbnVsbCAmJiBcInR5cGVcIiBpbiB2YWx1ZVxuICAgID8gKHZhbHVlIGFzIE5vZGUpXG4gICAgOiB2b2lkIDA7XG5cbi8qKlxuICogUmVzb2x2ZXMgYSBub2RlIGFycmF5IHdoaWxlIHJlamVjdGluZyBtYWxmb3JtZWQgQVNUIGRhdGEuXG4gKiBAcGFyYW0gdmFsdWUgQ2FuZGlkYXRlIEFTVCB2YWx1ZS5cbiAqIEByZXR1cm5zIEFTVCBub2RlcyB3aGVuIGV2ZXJ5IGFycmF5IGl0ZW0gaXMgYSBub2RlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5vZGVzID0gYXNOb2RlQXJyYXkoW3sgdHlwZTogXCJJZGVudGlmaWVyXCIgfV0pO1xuICogYGBgXG4gKi9cbmNvbnN0IGFzTm9kZUFycmF5ID0gKHZhbHVlOiB1bmtub3duKTogTm9kZVtdIHwgdW5kZWZpbmVkID0+XG4gIEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmV2ZXJ5KChpdGVtKSA9PiBhc05vZGUoaXRlbSkgIT09IHZvaWQgMClcbiAgICA/ICh2YWx1ZSBhcyBOb2RlW10pXG4gICAgOiB2b2lkIDA7XG5cbi8qKlxuICogUmVhZHMgYW4gaWRlbnRpZmllciBuYW1lIGZyb20gYSBub2RlLlxuICogQHBhcmFtIG5vZGUgQ2FuZGlkYXRlIGlkZW50aWZpZXIgbm9kZS5cbiAqIEByZXR1cm5zIElkZW50aWZpZXIgbmFtZSB3aGVuIHRoZSBub2RlIGlzIGFuIGlkZW50aWZpZXIuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmFtZSA9IGdldElkZW50aWZpZXJOYW1lKHsgbmFtZTogXCJydW5cIiwgdHlwZTogXCJJZGVudGlmaWVyXCIgfSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0SWRlbnRpZmllck5hbWUgPSAobm9kZTogTm9kZSB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxuICBub2RlPy50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJiB0eXBlb2Ygbm9kZVtcIm5hbWVcIl0gPT09IFwic3RyaW5nXCJcbiAgICA/IG5vZGVbXCJuYW1lXCJdXG4gICAgOiB2b2lkIDA7XG5cbi8qKlxuICogR2V0cyB0aGUgY2FsbGVkIGV4cHJlc3Npb24gZnJvbSBhIGZ1bmN0aW9uIHdpdGggb25lIHJldHVybiBzdGF0ZW1lbnQuXG4gKiBAcGFyYW0gZnVuY3Rpb25Ob2RlIEZ1bmN0aW9uIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRoZSBkaXJlY3RseSByZXR1cm5lZCBjYWxsIGV4cHJlc3Npb24gd2hlbiBwcmVzZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNhbGwgPSBnZXREZWxlZ2F0ZWRDYWxsKGZ1bmN0aW9uTm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0RGVsZWdhdGVkQ2FsbCA9IChmdW5jdGlvbk5vZGU6IE5vZGUpOiBOb2RlIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKGZ1bmN0aW9uTm9kZS5hc3luYyA9PT0gdHJ1ZSB8fCBmdW5jdGlvbk5vZGUuZ2VuZXJhdG9yID09PSB0cnVlKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IGJvZHkgPSBhc05vZGUoZnVuY3Rpb25Ob2RlW1wiYm9keVwiXSk7XG4gIGlmIChib2R5ID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgaWYgKGJvZHkudHlwZSA9PT0gXCJDYWxsRXhwcmVzc2lvblwiKSB7XG4gICAgcmV0dXJuIGJvZHk7XG4gIH1cblxuICBjb25zdCBzdGF0ZW1lbnRzID0gYXNOb2RlQXJyYXkoYm9keVtcImJvZHlcIl0pO1xuICBpZiAoYm9keS50eXBlICE9PSBcIkJsb2NrU3RhdGVtZW50XCIgfHwgc3RhdGVtZW50cz8ubGVuZ3RoICE9PSAxKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IHJldHVyblN0YXRlbWVudCA9IHN0YXRlbWVudHNbMF07XG4gIHJldHVybiByZXR1cm5TdGF0ZW1lbnQ/LnR5cGUgPT09IFwiUmV0dXJuU3RhdGVtZW50XCJcbiAgICA/IGFzTm9kZShyZXR1cm5TdGF0ZW1lbnRbXCJhcmd1bWVudFwiXSlcbiAgICA6IHZvaWQgMDtcbn07XG5cbi8qKlxuICogR2V0cyBwYXJhbWV0ZXIgbmFtZXMgYW5kIHdoZXRoZXIgZWFjaCBwYXJhbWV0ZXIgaXMgYSByZXN0IHBhcmFtZXRlci5cbiAqIEBwYXJhbSBmdW5jdGlvbk5vZGUgRnVuY3Rpb24gbm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgTmFtZWQgcGFyYW1ldGVyIG1ldGFkYXRhIHdoZW4gZXZlcnkgcGFyYW1ldGVyIGlzIHN1cHBvcnRlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBwYXJhbWV0ZXJzID0gZ2V0UGFyYW1ldGVycyhmdW5jdGlvbk5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFBhcmFtZXRlcnMgPSAoXG4gIGZ1bmN0aW9uTm9kZTogTm9kZSxcbik6IERlbGVnYXRlZFBhcmFtZXRlcltdIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgcGFyYW1ldGVycyA9IGFzTm9kZUFycmF5KGZ1bmN0aW9uTm9kZVtcInBhcmFtc1wiXSk7XG4gIGlmIChwYXJhbWV0ZXJzID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgcmVzdWx0OiBEZWxlZ2F0ZWRQYXJhbWV0ZXJbXSA9IFtdO1xuICBmb3IgKGNvbnN0IHBhcmFtZXRlciBvZiBwYXJhbWV0ZXJzKSB7XG4gICAgY29uc3QgaXNSZXN0ID0gcGFyYW1ldGVyLnR5cGUgPT09IFwiUmVzdEVsZW1lbnRcIjtcbiAgICBjb25zdCBuYW1lID0gZ2V0SWRlbnRpZmllck5hbWUoXG4gICAgICBpc1Jlc3QgPyBhc05vZGUocGFyYW1ldGVyW1wiYXJndW1lbnRcIl0pIDogcGFyYW1ldGVyLFxuICAgICk7XG4gICAgaWYgKG5hbWUgPT09IHZvaWQgMCkge1xuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG5cbiAgICByZXN1bHQucHVzaCh7IGlzUmVzdCwgbmFtZSB9KTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBvbmUgY2FsbCBhcmd1bWVudCBmb3J3YXJkcyBpdHMgY29ycmVzcG9uZGluZyBwYXJhbWV0ZXIuXG4gKiBAcGFyYW0gYXJndW1lbnQgQ2FsbCBhcmd1bWVudCB0byBpbnNwZWN0LlxuICogQHBhcmFtIHBhcmFtZXRlciBDb3JyZXNwb25kaW5nIGZ1bmN0aW9uIHBhcmFtZXRlci5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGFyZ3VtZW50IGZvcndhcmRzIHRoZSBwYXJhbWV0ZXIgd2l0aG91dCBjaGFuZ2UuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZm9yd2FyZHMgPSBmb3J3YXJkc1BhcmFtZXRlcihhcmd1bWVudCwgcGFyYW1ldGVyKTtcbiAqIGBgYFxuICovXG5jb25zdCBmb3J3YXJkc1BhcmFtZXRlciA9IChcbiAgYXJndW1lbnQ6IE5vZGUsXG4gIHBhcmFtZXRlcjogRGVsZWdhdGVkUGFyYW1ldGVyLFxuKTogYm9vbGVhbiA9PiB7XG4gIGlmIChwYXJhbWV0ZXIuaXNSZXN0KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGFyZ3VtZW50LnR5cGUgPT09IFwiU3ByZWFkRWxlbWVudFwiICYmXG4gICAgICBnZXRJZGVudGlmaWVyTmFtZShhc05vZGUoYXJndW1lbnRbXCJhcmd1bWVudFwiXSkpID09PSBwYXJhbWV0ZXIubmFtZVxuICAgICk7XG4gIH1cblxuICByZXR1cm4gZ2V0SWRlbnRpZmllck5hbWUoYXJndW1lbnQpID09PSBwYXJhbWV0ZXIubmFtZTtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbm9kZSBpcyBhIHBsYWluIG5hbWVkIHJlZmVyZW5jZS5cbiAqIEBwYXJhbSBub2RlIENhbmRpZGF0ZSByZWNlaXZlciBub2RlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBub2RlIGlzIGEgcGxhaW4gaWRlbnRpZmllciByZWZlcmVuY2UuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaXNOYW1lZCA9IGlzTmFtZWRSZWNlaXZlcih7IHR5cGU6IFwiSWRlbnRpZmllclwiIH0pO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzTmFtZWRSZWNlaXZlciA9IChub2RlPzogTm9kZSk6IGJvb2xlYW4gPT4gbm9kZT8udHlwZSA9PT0gXCJJZGVudGlmaWVyXCI7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgZnVuY3Rpb24gZG9lcyBub3RoaW5nIGV4Y2VwdCBkaXJlY3RseSBjYWxsIGFub3RoZXIgZnVuY3Rpb24uXG4gKiBAcGFyYW0gZnVuY3Rpb25Ob2RlIEZ1bmN0aW9uIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEBwYXJhbSBmdW5jdGlvbk5hbWUgRGVjbGFyZWQgd3JhcHBlciBmdW5jdGlvbiBuYW1lLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgZnVuY3Rpb24gaXMgYW4gZXhhY3Qgc3luY2hyb25vdXMgZGVsZWdhdGlvbi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBpc0RlbGVnYXRpb24gPSBpc1VzZWxlc3NEZWxlZ2F0aW9uKGZ1bmN0aW9uTm9kZSwgXCJydW5cIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNVc2VsZXNzRGVsZWdhdGlvbiA9IChcbiAgZnVuY3Rpb25Ob2RlOiBOb2RlLFxuICBmdW5jdGlvbk5hbWU6IHN0cmluZyxcbik6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBjYWxsID0gZ2V0RGVsZWdhdGVkQ2FsbChmdW5jdGlvbk5vZGUpO1xuICBjb25zdCBwYXJhbWV0ZXJzID0gZ2V0UGFyYW1ldGVycyhmdW5jdGlvbk5vZGUpO1xuICBjb25zdCBhcmd1bWVudHNfID0gYXNOb2RlQXJyYXkoY2FsbD8uW1wiYXJndW1lbnRzXCJdKTtcbiAgY29uc3QgY2FsbGVlID0gYXNOb2RlKGNhbGw/LltcImNhbGxlZVwiXSk7XG5cbiAgaWYgKFxuICAgIGNhbGw/LnR5cGUgIT09IFwiQ2FsbEV4cHJlc3Npb25cIiB8fFxuICAgIHBhcmFtZXRlcnMgPT09IHZvaWQgMCB8fFxuICAgIGFyZ3VtZW50c18gPT09IHZvaWQgMCB8fFxuICAgIGNhbGxlZSA9PT0gdm9pZCAwIHx8XG4gICAgLy8gQSBtZXRob2QgY2FsbCBpcyBvbmx5IGEgcmVwbGFjZWFibGUgZGVsZWdhdGlvbiB3aGVuIGl0cyByZWNlaXZlciBpcyBhXG4gICAgLy8gcGxhaW4gbmFtZWQgcmVmZXJlbmNlIChlLmcuIGBzZXJ2aWNlLnJ1bmApLiBFeHByZXNzaW9uIHJlY2VpdmVycyBzdWNoXG4gICAgLy8gYXMgdHlwZSBhc3NlcnRpb25zLCBjYWxscywgb3IgbGl0ZXJhbHMgY2Fubm90IGJlIGlubGluZWQgYXQgdGhlIGNhbGxcbiAgICAvLyBzaXRlLCBzbyB0aGUgd3JhcHBlciBpcyBub3QgdXNlbGVzcy5cbiAgICAoY2FsbGVlLnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiICYmXG4gICAgICAhaXNOYW1lZFJlY2VpdmVyKGFzTm9kZShjYWxsZWVbXCJvYmplY3RcIl0pKSkgfHxcbiAgICBnZXRJZGVudGlmaWVyTmFtZShjYWxsZWUpID09PSBmdW5jdGlvbk5hbWUgfHxcbiAgICBhcmd1bWVudHNfLmxlbmd0aCAhPT0gcGFyYW1ldGVycy5sZW5ndGhcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGFyZ3VtZW50c18uZXZlcnkoKGFyZ3VtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtZXRlciA9IHBhcmFtZXRlcnNbaW5kZXhdO1xuICAgIHJldHVybiBwYXJhbWV0ZXIgIT09IHZvaWQgMCAmJiBmb3J3YXJkc1BhcmFtZXRlcihhcmd1bWVudCwgcGFyYW1ldGVyKTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIFJlcG9ydHMgYSBmdW5jdGlvbiB3aGVuIGl0IGlzIGEgbm8tb3AgZGVsZWdhdGlvbi5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gZnVuY3Rpb25Ob2RlIEZ1bmN0aW9uIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEBwYXJhbSBuYW1lTm9kZSBEZWNsYXJlZCB3cmFwcGVyIG5hbWUgbm9kZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXBvcnRJZlVzZWxlc3NEZWxlZ2F0aW9uKGNvbnRleHQsIGZ1bmN0aW9uTm9kZSwgbmFtZU5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IHJlcG9ydElmVXNlbGVzc0RlbGVnYXRpb24gPSAoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGZ1bmN0aW9uTm9kZTogTm9kZSxcbiAgbmFtZU5vZGU6IE5vZGUgfCB1bmRlZmluZWQsXG4pOiB2b2lkID0+IHtcbiAgY29uc3QgZnVuY3Rpb25OYW1lID0gZ2V0SWRlbnRpZmllck5hbWUobmFtZU5vZGUpO1xuICBpZiAoXG4gICAgZnVuY3Rpb25OYW1lID09PSB2b2lkIDAgfHxcbiAgICAhaXNVc2VsZXNzRGVsZWdhdGlvbihmdW5jdGlvbk5vZGUsIGZ1bmN0aW9uTmFtZSlcbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29udGV4dC5yZXBvcnQoe1xuICAgIG1lc3NhZ2VJZDogXCJ1c2VsZXNzRGVsZWdhdGlvblwiLFxuICAgIG5vZGU6IG5hbWVOb2RlIGFzIHVua25vd24gYXMgUnVsZS5Ob2RlLFxuICB9KTtcbn07XG5cbi8qKiBFU0xpbnQgcnVsZSBpbXBsZW1lbnRhdGlvbiBmb3IgZnVuY3Rpb25zIHRoYXQgb25seSBmb3J3YXJkIHRoZWlyIGFyZ3VtZW50cy4gKi9cbmNvbnN0IG5vVXNlbGVzc0RlbGVnYXRpb25SdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZTogKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLlJ1bGVMaXN0ZW5lciA9PiAoe1xuICAgIEZ1bmN0aW9uRGVjbGFyYXRpb246IChub2RlOiBSdWxlLk5vZGUpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IGZ1bmN0aW9uTm9kZSA9IG5vZGUgYXMgdW5rbm93biBhcyBOb2RlO1xuICAgICAgcmVwb3J0SWZVc2VsZXNzRGVsZWdhdGlvbihcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgZnVuY3Rpb25Ob2RlLFxuICAgICAgICBhc05vZGUoZnVuY3Rpb25Ob2RlW1wiaWRcIl0pLFxuICAgICAgKTtcbiAgICB9LFxuICAgIFZhcmlhYmxlRGVjbGFyYXRvcjogKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgZGVjbGFyYXRvciA9IG5vZGUgYXMgdW5rbm93biBhcyBOb2RlO1xuICAgICAgY29uc3QgaW5pdGlhbGl6ZXIgPSBhc05vZGUoZGVjbGFyYXRvcltcImluaXRcIl0pO1xuICAgICAgaWYgKFxuICAgICAgICBpbml0aWFsaXplcj8udHlwZSAhPT0gXCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiICYmXG4gICAgICAgIGluaXRpYWxpemVyPy50eXBlICE9PSBcIkZ1bmN0aW9uRXhwcmVzc2lvblwiXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICByZXBvcnRJZlVzZWxlc3NEZWxlZ2F0aW9uKGNvbnRleHQsIGluaXRpYWxpemVyLCBhc05vZGUoZGVjbGFyYXRvcltcImlkXCJdKSk7XG4gICAgfSxcbiAgfSksXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJEaXNhbGxvdyBuYW1lZCBmdW5jdGlvbnMgdGhhdCBvbmx5IGRlbGVnYXRlIGRpcmVjdGx5IHRvIGFub3RoZXIgY2FsbC5cIixcbiAgICAgIHJlY29tbWVuZGVkOiBmYWxzZSxcbiAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vcGFybG90aS9lc2xpbnQtcGx1Z2luL2Jsb2IvbWFpbi9kb2NzL3J1bGVzL25vLXVzZWxlc3MtZGVsZWdhdGlvbi5tZFwiLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIHVzZWxlc3NEZWxlZ2F0aW9uOlxuICAgICAgICBcIlRoaXMgZnVuY3Rpb24gb25seSBkZWxlZ2F0ZXMgdG8gYW5vdGhlciBjYWxsOyByZW1vdmUgdGhlIHdyYXBwZXIgb3IgY2FsbCB0aGUgdGFyZ2V0IGRpcmVjdGx5LlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInN1Z2dlc3Rpb25cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IG5vVXNlbGVzc0RlbGVnYXRpb25SdWxlIH07XG4iXX0=
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vY29yZS9uby11c2VsZXNzLWRlbGVnYXRpb24vcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQkE7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQWMsRUFBb0IsRUFBRSxDQUNsRCxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxNQUFNLElBQUksS0FBSztJQUM1RCxDQUFDLENBQUUsS0FBYztJQUNqQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFYjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBYyxFQUFzQixFQUFFLENBQ3pELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUMsQ0FBRSxLQUFnQjtJQUNuQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFYjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFzQixFQUFzQixFQUFFLENBQ3ZFLElBQUksRUFBRSxJQUFJLEtBQUssWUFBWSxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFFBQVE7SUFDN0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDZCxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFYjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxZQUFrQixFQUFvQixFQUFFO0lBQ2hFLElBQUksWUFBWSxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNuRSxPQUFP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LEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxZQUFZO0tBQ25CO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG4vKiogT25lIG5hbWVkIHBhcmFtZXRlciBhbmQgd2hldGhlciBpdCBtdXN0IGJlIHNwcmVhZCBhdCB0aGUgY2FsbCBzaXRlLiAqL1xuaW50ZXJmYWNlIERlbGVnYXRlZFBhcmFtZXRlciB7XG4gIC8qKiBXaGV0aGVyIHRoaXMgcGFyYW1ldGVyIHVzZXMgcmVzdCBzeW50YXguICovXG4gIGlzUmVzdDogYm9vbGVhbjtcbiAgLyoqIFBhcmFtZXRlciBpZGVudGlmaWVyIG5hbWUuICovXG4gIG5hbWU6IHN0cmluZztcbn1cblxuLyoqIE1pbmltYWwgRVNUcmVlIG5vZGUgc2hhcGUgdXNlZCB0byBpbnNwZWN0IHBhc3MtdGhyb3VnaCBmdW5jdGlvbnMuICovXG5pbnRlcmZhY2UgTm9kZSB7XG4gIC8qKiBEeW5hbWljYWxseSByZWFkIGNoaWxkIG5vZGVzIGFuZCBwYXJzZXItc3BlY2lmaWMgcHJvcGVydGllcy4gKi9cbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgLyoqIFdoZXRoZXIgdGhlIGZ1bmN0aW9uIGlzIGFzeW5jaHJvbm91cy4gKi9cbiAgYXN5bmM/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgZnVuY3Rpb24gaXMgYSBnZW5lcmF0b3IuICovXG4gIGdlbmVyYXRvcj86IGJvb2xlYW47XG4gIC8qKiBFU1RyZWUgZGlzY3JpbWluYXRvci4gKi9cbiAgdHlwZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIGEgbm9kZSB2YWx1ZSB3aGVuIGl0IGlzIGFuIEVTVHJlZSBub2RlLlxuICogQHBhcmFtIHZhbHVlIENhbmRpZGF0ZSBBU1QgdmFsdWUuXG4gKiBAcmV0dXJucyBUaGUgdmFsdWUgYXMgYW4gRVNUcmVlIG5vZGUgd2hlbiBpdCBoYXMgYSB0eXBlIGRpc2NyaW1pbmF0b3IuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgbm9kZSA9IGFzTm9kZSh7IHR5cGU6IFwiSWRlbnRpZmllclwiIH0pO1xuICogYGBgXG4gKi9cbmNvbnN0IGFzTm9kZSA9ICh2YWx1ZTogdW5rbm93bik6IE5vZGUgfCB1bmRlZmluZWQgPT5cbiAgdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmIHZhbHVlICE9PSBudWxsICYmIFwidHlwZVwiIGluIHZhbHVlXG4gICAgPyAodmFsdWUgYXMgTm9kZSlcbiAgICA6IHZvaWQgMDtcblxuLyoqXG4gKiBSZXNvbHZlcyBhIG5vZGUgYXJyYXkgd2hpbGUgcmVqZWN0aW5nIG1hbGZvcm1lZCBBU1QgZGF0YS5cbiAqIEBwYXJhbSB2YWx1ZSBDYW5kaWRhdGUgQVNUIHZhbHVlLlxuICogQHJldHVybnMgQVNUIG5vZGVzIHdoZW4gZXZlcnkgYXJyYXkgaXRlbSBpcyBhIG5vZGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgbm9kZXMgPSBhc05vZGVBcnJheShbeyB0eXBlOiBcIklkZW50aWZpZXJcIiB9XSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgYXNOb2RlQXJyYXkgPSAodmFsdWU6IHVua25vd24pOiBOb2RlW10gfCB1bmRlZmluZWQgPT5cbiAgQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUuZXZlcnkoKGl0ZW0pID0+IGFzTm9kZShpdGVtKSAhPT0gdm9pZCAwKVxuICAgID8gKHZhbHVlIGFzIE5vZGVbXSlcbiAgICA6IHZvaWQgMDtcblxuLyoqXG4gKiBSZWFkcyBhbiBpZGVudGlmaWVyIG5hbWUgZnJvbSBhIG5vZGUuXG4gKiBAcGFyYW0gbm9kZSBDYW5kaWRhdGUgaWRlbnRpZmllciBub2RlLlxuICogQHJldHVybnMgSWRlbnRpZmllciBuYW1lIHdoZW4gdGhlIG5vZGUgaXMgYW4gaWRlbnRpZmllci5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuYW1lID0gZ2V0SWRlbnRpZmllck5hbWUoeyBuYW1lOiBcInJ1blwiLCB0eXBlOiBcIklkZW50aWZpZXJcIiB9KTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRJZGVudGlmaWVyTmFtZSA9IChub2RlOiBOb2RlIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+XG4gIG5vZGU/LnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmIHR5cGVvZiBub2RlW1wibmFtZVwiXSA9PT0gXCJzdHJpbmdcIlxuICAgID8gbm9kZVtcIm5hbWVcIl1cbiAgICA6IHZvaWQgMDtcblxuLyoqXG4gKiBHZXRzIHRoZSBjYWxsZWQgZXhwcmVzc2lvbiBmcm9tIGEgZnVuY3Rpb24gd2l0aCBvbmUgcmV0dXJuIHN0YXRlbWVudC5cbiAqIEBwYXJhbSBmdW5jdGlvbk5vZGUgRnVuY3Rpb24gbm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVGhlIGRpcmVjdGx5IHJldHVybmVkIGNhbGwgZXhwcmVzc2lvbiB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY2FsbCA9IGdldERlbGVnYXRlZENhbGwoZnVuY3Rpb25Ob2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXREZWxlZ2F0ZWRDYWxsID0gKGZ1bmN0aW9uTm9kZTogTm9kZSk6IE5vZGUgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAoZnVuY3Rpb25Ob2RlLmFzeW5jID09PSB0cnVlIHx8IGZ1bmN0aW9uTm9kZS5nZW5lcmF0b3IgPT09IHRydWUpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgYm9keSA9IGFzTm9kZShmdW5jdGlvbk5vZGVbXCJib2R5XCJdKTtcbiAgaWYgKGJvZHkgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBpZiAoYm9keS50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCIpIHtcbiAgICByZXR1cm4gYm9keTtcbiAgfVxuXG4gIGNvbnN0IHN0YXRlbWVudHMgPSBhc05vZGVBcnJheShib2R5W1wiYm9keVwiXSk7XG4gIGlmIChib2R5LnR5cGUgIT09IFwiQmxvY2tTdGF0ZW1lbnRcIiB8fCBzdGF0ZW1lbnRzPy5sZW5ndGggIT09IDEpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgcmV0dXJuU3RhdGVtZW50ID0gc3RhdGVtZW50c1swXTtcbiAgcmV0dXJuIHJldHVyblN0YXRlbWVudD8udHlwZSA9PT0gXCJSZXR1cm5TdGF0ZW1lbnRcIlxuICAgID8gYXNOb2RlKHJldHVyblN0YXRlbWVudFtcImFyZ3VtZW50XCJdKVxuICAgIDogdm9pZCAwO1xufTtcblxuLyoqXG4gKiBHZXRzIHBhcmFtZXRlciBuYW1lcyBhbmQgd2hldGhlciBlYWNoIHBhcmFtZXRlciBpcyBhIHJlc3QgcGFyYW1ldGVyLlxuICogQHBhcmFtIGZ1bmN0aW9uTm9kZSBGdW5jdGlvbiBub2RlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBOYW1lZCBwYXJhbWV0ZXIgbWV0YWRhdGEgd2hlbiBldmVyeSBwYXJhbWV0ZXIgaXMgc3VwcG9ydGVkLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHBhcmFtZXRlcnMgPSBnZXRQYXJhbWV0ZXJzKGZ1bmN0aW9uTm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0UGFyYW1ldGVycyA9IChcbiAgZnVuY3Rpb25Ob2RlOiBOb2RlLFxuKTogRGVsZWdhdGVkUGFyYW1ldGVyW10gfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBwYXJhbWV0ZXJzID0gYXNOb2RlQXJyYXkoZnVuY3Rpb25Ob2RlW1wicGFyYW1zXCJdKTtcbiAgaWYgKHBhcmFtZXRlcnMgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCByZXN1bHQ6IERlbGVnYXRlZFBhcmFtZXRlcltdID0gW107XG4gIGZvciAoY29uc3QgcGFyYW1ldGVyIG9mIHBhcmFtZXRlcnMpIHtcbiAgICBjb25zdCBpc1Jlc3QgPSBwYXJhbWV0ZXIudHlwZSA9PT0gXCJSZXN0RWxlbWVudFwiO1xuICAgIGNvbnN0IG5hbWUgPSBnZXRJZGVudGlmaWVyTmFtZShcbiAgICAgIGlzUmVzdCA/IGFzTm9kZShwYXJhbWV0ZXJbXCJhcmd1bWVudFwiXSkgOiBwYXJhbWV0ZXIsXG4gICAgKTtcbiAgICBpZiAobmFtZSA9PT0gdm9pZCAwKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cblxuICAgIHJlc3VsdC5wdXNoKHsgaXNSZXN0LCBuYW1lIH0pO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIG9uZSBjYWxsIGFyZ3VtZW50IGZvcndhcmRzIGl0cyBjb3JyZXNwb25kaW5nIHBhcmFtZXRlci5cbiAqIEBwYXJhbSBhcmd1bWVudCBDYWxsIGFyZ3VtZW50IHRvIGluc3BlY3QuXG4gKiBAcGFyYW0gcGFyYW1ldGVyIENvcnJlc3BvbmRpbmcgZnVuY3Rpb24gcGFyYW1ldGVyLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgYXJndW1lbnQgZm9yd2FyZHMgdGhlIHBhcmFtZXRlciB3aXRob3V0IGNoYW5nZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBmb3J3YXJkcyA9IGZvcndhcmRzUGFyYW1ldGVyKGFyZ3VtZW50LCBwYXJhbWV0ZXIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGZvcndhcmRzUGFyYW1ldGVyID0gKFxuICBhcmd1bWVudDogTm9kZSxcbiAgcGFyYW1ldGVyOiBEZWxlZ2F0ZWRQYXJhbWV0ZXIsXG4pOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIHBhcmFtZXRlci5pc1Jlc3RcbiAgICA/IGFyZ3VtZW50LnR5cGUgPT09IFwiU3ByZWFkRWxlbWVudFwiICYmXG4gICAgICAgIGdldElkZW50aWZpZXJOYW1lKGFzTm9kZShhcmd1bWVudFtcImFyZ3VtZW50XCJdKSkgPT09IHBhcmFtZXRlci5uYW1lXG4gICAgOiBnZXRJZGVudGlmaWVyTmFtZShhcmd1bWVudCkgPT09IHBhcmFtZXRlci5uYW1lO1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBub2RlIGlzIGEgcGxhaW4gbmFtZWQgcmVmZXJlbmNlLlxuICogQHBhcmFtIG5vZGUgQ2FuZGlkYXRlIHJlY2VpdmVyIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIG5vZGUgaXMgYSBwbGFpbiBpZGVudGlmaWVyIHJlZmVyZW5jZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBpc05hbWVkID0gaXNOYW1lZFJlY2VpdmVyKHsgdHlwZTogXCJJZGVudGlmaWVyXCIgfSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNOYW1lZFJlY2VpdmVyID0gKG5vZGU/OiBOb2RlKTogYm9vbGVhbiA9PiBub2RlPy50eXBlID09PSBcIklkZW50aWZpZXJcIjtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBmdW5jdGlvbiBkb2VzIG5vdGhpbmcgZXhjZXB0IGRpcmVjdGx5IGNhbGwgYW5vdGhlciBmdW5jdGlvbi5cbiAqIEBwYXJhbSBmdW5jdGlvbk5vZGUgRnVuY3Rpb24gbm9kZSB0byBpbnNwZWN0LlxuICogQHBhcmFtIGZ1bmN0aW9uTmFtZSBEZWNsYXJlZCB3cmFwcGVyIGZ1bmN0aW9uIG5hbWUuXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBmdW5jdGlvbiBpcyBhbiBleGFjdCBzeW5jaHJvbm91cyBkZWxlZ2F0aW9uLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGlzRGVsZWdhdGlvbiA9IGlzVXNlbGVzc0RlbGVnYXRpb24oZnVuY3Rpb25Ob2RlLCBcInJ1blwiKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc1VzZWxlc3NEZWxlZ2F0aW9uID0gKFxuICBmdW5jdGlvbk5vZGU6IE5vZGUsXG4gIGZ1bmN0aW9uTmFtZTogc3RyaW5nLFxuKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IGNhbGwgPSBnZXREZWxlZ2F0ZWRDYWxsKGZ1bmN0aW9uTm9kZSk7XG4gIGNvbnN0IHBhcmFtZXRlcnMgPSBnZXRQYXJhbWV0ZXJzKGZ1bmN0aW9uTm9kZSk7XG4gIGNvbnN0IGFyZ3VtZW50c18gPSBhc05vZGVBcnJheShjYWxsPy5bXCJhcmd1bWVudHNcIl0pO1xuICBjb25zdCBjYWxsZWUgPSBhc05vZGUoY2FsbD8uW1wiY2FsbGVlXCJdKTtcblxuICBpZiAoXG4gICAgY2FsbD8udHlwZSAhPT0gXCJDYWxsRXhwcmVzc2lvblwiIHx8XG4gICAgcGFyYW1ldGVycyA9PT0gdm9pZCAwIHx8XG4gICAgYXJndW1lbnRzXyA9PT0gdm9pZCAwIHx8XG4gICAgY2FsbGVlID09PSB2b2lkIDAgfHxcbiAgICAvLyBBIG1ldGhvZCBjYWxsIGlzIG9ubHkgYSByZXBsYWNlYWJsZSBkZWxlZ2F0aW9uIHdoZW4gaXRzIHJlY2VpdmVyIGlzIGFcbiAgICAvLyBwbGFpbiBuYW1lZCByZWZlcmVuY2UgKGUuZy4gYHNlcnZpY2UucnVuYCkuIEV4cHJlc3Npb24gcmVjZWl2ZXJzIHN1Y2hcbiAgICAvLyBhcyB0eXBlIGFzc2VydGlvbnMsIGNhbGxzLCBvciBsaXRlcmFscyBjYW5ub3QgYmUgaW5saW5lZCBhdCB0aGUgY2FsbFxuICAgIC8vIHNpdGUsIHNvIHRoZSB3cmFwcGVyIGlzIG5vdCB1c2VsZXNzLlxuICAgIChjYWxsZWUudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICAgICFpc05hbWVkUmVjZWl2ZXIoYXNOb2RlKGNhbGxlZVtcIm9iamVjdFwiXSkpKSB8fFxuICAgIGdldElkZW50aWZpZXJOYW1lKGNhbGxlZSkgPT09IGZ1bmN0aW9uTmFtZSB8fFxuICAgIGFyZ3VtZW50c18ubGVuZ3RoICE9PSBwYXJhbWV0ZXJzLmxlbmd0aFxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gYXJndW1lbnRzXy5ldmVyeSgoYXJndW1lbnQsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcGFyYW1ldGVyID0gcGFyYW1ldGVyc1tpbmRleF07XG4gICAgcmV0dXJuIHBhcmFtZXRlciAhPT0gdm9pZCAwICYmIGZvcndhcmRzUGFyYW1ldGVyKGFyZ3VtZW50LCBwYXJhbWV0ZXIpO1xuICB9KTtcbn07XG5cbi8qKlxuICogUmVwb3J0cyBhIGZ1bmN0aW9uIHdoZW4gaXQgaXMgYSBuby1vcCBkZWxlZ2F0aW9uLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBleGVjdXRpb24gY29udGV4dC5cbiAqIEBwYXJhbSBmdW5jdGlvbk5vZGUgRnVuY3Rpb24gbm9kZSB0byBpbnNwZWN0LlxuICogQHBhcmFtIG5hbWVOb2RlIERlY2xhcmVkIHdyYXBwZXIgbmFtZSBub2RlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydElmVXNlbGVzc0RlbGVnYXRpb24oY29udGV4dCwgZnVuY3Rpb25Ob2RlLCBuYW1lTm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgcmVwb3J0SWZVc2VsZXNzRGVsZWdhdGlvbiA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgZnVuY3Rpb25Ob2RlOiBOb2RlLFxuICBuYW1lTm9kZTogTm9kZSB8IHVuZGVmaW5lZCxcbik6IHZvaWQgPT4ge1xuICBjb25zdCBmdW5jdGlvbk5hbWUgPSBnZXRJZGVudGlmaWVyTmFtZShuYW1lTm9kZSk7XG4gIGlmIChcbiAgICBmdW5jdGlvbk5hbWUgPT09IHZvaWQgMCB8fFxuICAgICFpc1VzZWxlc3NEZWxlZ2F0aW9uKGZ1bmN0aW9uTm9kZSwgZnVuY3Rpb25OYW1lKVxuICApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb250ZXh0LnJlcG9ydCh7XG4gICAgbWVzc2FnZUlkOiBcInVzZWxlc3NEZWxlZ2F0aW9uXCIsXG4gICAgbm9kZTogbmFtZU5vZGUgYXMgdW5rbm93biBhcyBSdWxlLk5vZGUsXG4gIH0pO1xufTtcblxuLyoqIEVTTGludCBydWxlIGltcGxlbWVudGF0aW9uIGZvciBmdW5jdGlvbnMgdGhhdCBvbmx5IGZvcndhcmQgdGhlaXIgYXJndW1lbnRzLiAqL1xuY29uc3Qgbm9Vc2VsZXNzRGVsZWdhdGlvblJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlOiAoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyID0+ICh7XG4gICAgRnVuY3Rpb25EZWNsYXJhdGlvbjogKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgZnVuY3Rpb25Ob2RlID0gbm9kZSBhcyB1bmtub3duIGFzIE5vZGU7XG4gICAgICByZXBvcnRJZlVzZWxlc3NEZWxlZ2F0aW9uKFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBmdW5jdGlvbk5vZGUsXG4gICAgICAgIGFzTm9kZShmdW5jdGlvbk5vZGVbXCJpZFwiXSksXG4gICAgICApO1xuICAgIH0sXG4gICAgVmFyaWFibGVEZWNsYXJhdG9yOiAobm9kZTogUnVsZS5Ob2RlKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBkZWNsYXJhdG9yID0gbm9kZSBhcyB1bmtub3duIGFzIE5vZGU7XG4gICAgICBjb25zdCBpbml0aWFsaXplciA9IGFzTm9kZShkZWNsYXJhdG9yW1wiaW5pdFwiXSk7XG4gICAgICBpZiAoXG4gICAgICAgIGluaXRpYWxpemVyPy50eXBlICE9PSBcIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCIgJiZcbiAgICAgICAgaW5pdGlhbGl6ZXI/LnR5cGUgIT09IFwiRnVuY3Rpb25FeHByZXNzaW9uXCJcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHJlcG9ydElmVXNlbGVzc0RlbGVnYXRpb24oY29udGV4dCwgaW5pdGlhbGl6ZXIsIGFzTm9kZShkZWNsYXJhdG9yW1wiaWRcIl0pKTtcbiAgICB9LFxuICB9KSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIkRpc2FsbG93IG5hbWVkIGZ1bmN0aW9ucyB0aGF0IG9ubHkgZGVsZWdhdGUgZGlyZWN0bHkgdG8gYW5vdGhlciBjYWxsLlwiLFxuICAgICAgcmVjb21tZW5kZWQ6IGZhbHNlLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ2l0aHViLmNvbS9wYXJsb3RpL2VzbGludC1wbHVnaW4vYmxvYi9tYWluL2RvY3MvcnVsZXMvbm8tdXNlbGVzcy1kZWxlZ2F0aW9uLm1kXCIsXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgdXNlbGVzc0RlbGVnYXRpb246XG4gICAgICAgIFwiVGhpcyBmdW5jdGlvbiBvbmx5IGRlbGVnYXRlcyB0byBhbm90aGVyIGNhbGw7IHJlbW92ZSB0aGUgd3JhcHBlciBvciBjYWxsIHRoZSB0YXJnZXQgZGlyZWN0bHkuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6IFwic3VnZ2VzdGlvblwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgbm9Vc2VsZXNzRGVsZWdhdGlvblJ1bGUgfTtcbiJdfQ==
@@ -16,10 +16,9 @@ function containsContextualThis(value) {
16
16
  return false;
17
17
  }
18
18
  const node = value;
19
- if (node["type"] === "TSThisType" || node["type"] === "ThisExpression") {
20
- return true;
21
- }
22
- return Object.entries(node).some(([key, child]) => key !== "parent" && containsContextualThis(child));
19
+ return (node["type"] === "TSThisType" ||
20
+ node["type"] === "ThisExpression" ||
21
+ Object.entries(node).some(([key, child]) => key !== "parent" && containsContextualThis(child)));
23
22
  }
24
23
  /**
25
24
  * Checks whether an inner range is fully contained by an outer range.
@@ -193,4 +192,4 @@ function isRelocatableReference(literalRange, resolvedScope) {
193
192
  return scopeRange !== void 0 && containsRange(literalRange, scopeRange);
194
193
  }
195
194
  export { createAggregateFix };
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpeC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vY29yZS9wcmVmZXItaW50ZXJmYWNlLXR5cGVzL2F1dG9maXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxpQkFBaUIsR0FBRyw4Q0FBOEMsQ0FBQztBQUV6RTs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsc0JBQXNCLENBQUMsS0FBYztJQUM1QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxLQUFnQyxDQUFDO0lBRTlDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFlBQVksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztRQUN2RSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUM5QixDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssUUFBUSxJQUFJLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUNwRSxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsYUFBYSxDQUNwQixVQUE0QixFQUM1QixVQUE0QjtJQUU1QixPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUks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Q0FBQyxJQUFJLEtBQUssUUFBUTtRQUMvQixhQUFhLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFDL0IsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO0lBRTlDLE9BQU8sVUFBVSxLQUFLLEtBQUssQ0FBQyxJQUFJLGFBQWEsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDMUUsQ0FBQztBQUVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7XG4gIEZpeFNvdXJjZUNvZGUsXG4gIE5hbWVkSW5saW5lVHlwZU1hdGNoLFxuICBOYW1pbmdOb2RlLFxuICBSYW5nZWROYW1lZElubGluZVR5cGVNYXRjaCxcbn0gZnJvbSBcIi4vdHlwZXNcIjtcblxuY29uc3QgZ2VuZXJhdGVkTmFtZVRvZG8gPSBcIi8vIFRPRE86IFJldmlldyB0aGlzIGF1dG9nZW5lcmF0ZWQgdHlwZSBuYW1lXCI7XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYW4gQVNUIHN1YnRyZWUgY29udGFpbnMgYSBjb250ZXh0dWFsIGB0aGlzYCB0eXBlLlxuICogQHBhcmFtIHZhbHVlIENhbmRpZGF0ZSBBU1QgdmFsdWUuXG4gKiBAcmV0dXJucyBXaGV0aGVyIG1vdmluZyB0aGUgdmFsdWUgd291bGQgY2hhbmdlIGB0aGlzYCBzZW1hbnRpY3MuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29udGV4dHVhbCA9IGNvbnRhaW5zQ29udGV4dHVhbFRoaXModHlwZUxpdGVyYWwpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNvbnRhaW5zQ29udGV4dHVhbFRoaXModmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLnNvbWUoKGl0ZW0pID0+IGNvbnRhaW5zQ29udGV4dHVhbFRoaXMoaXRlbSkpO1xuICB9XG5cbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IG5vZGUgPSB2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICBpZiAobm9kZVtcInR5cGVcIl0gPT09IFwiVFNUaGlzVHlwZVwiIHx8IG5vZGVbXCJ0eXBlXCJdID09PSBcIlRoaXNFeHByZXNzaW9uXCIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhub2RlKS5zb21lKFxuICAgIChba2V5LCBjaGlsZF0pID0+IGtleSAhPT0gXCJwYXJlbnRcIiAmJiBjb250YWluc0NvbnRleHR1YWxUaGlzKGNoaWxkKSxcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhbiBpbm5lciByYW5nZSBpcyBmdWxseSBjb250YWluZWQgYnkgYW4gb3V0ZXIgcmFuZ2UuXG4gKiBAcGFyYW0gb3V0ZXJSYW5nZSBDYW5kaWRhdGUgY29udGFpbmluZyByYW5nZS5cbiAqIEBwYXJhbSBpbm5lclJhbmdlIENhbmRpZGF0ZSBjb250YWluZWQgcmFuZ2UuXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBpbm5lciByYW5nZSBpcyBjb250YWluZWQgYnkgdGhlIG91dGVyIHJhbmdlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNvbnRhaW5lZCA9IGNvbnRhaW5zUmFuZ2UoWzAsIDVdLCBbMSwgNF0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNvbnRhaW5zUmFuZ2UoXG4gIG91dGVyUmFuZ2U6IFtudW1iZXIsIG51bWJlcl0sXG4gIGlubmVyUmFuZ2U6IFtudW1iZXIsIG51bWJlcl0sXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIGlubmVyUmFuZ2VbMF0gPj0gb3V0ZXJSYW5nZVswXSAmJiBpbm5lclJhbmdlWzFdIDw9IG91dGVyUmFuZ2VbMV07XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgc29sZSBhZ2dyZWdhdGUgZml4IGZvciBhbGwgZmluZGluZ3Mgd2hlbiBldmVyeSBzb3VyY2UgcmFuZ2UgaXMgc2FmZS5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gbWF0Y2hlcyBOYW1lZCBpbmxpbmUgb2JqZWN0IHR5cGUgbWF0Y2hlcy5cbiAqIEByZXR1cm5zIEFnZ3JlZ2F0ZSBmaXggY2FsbGJhY2ssIG9yIHVuZGVmaW5lZCB3aGVuIHNvdXJjZSBkYXRhIGlzIGluY29tcGxldGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZml4ID0gY3JlYXRlQWdncmVnYXRlRml4KGNvbnRleHQsIG1hdGNoZXMpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUFnZ3JlZ2F0ZUZpeChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgbWF0Y2hlczogcmVhZG9ubHkgTmFtZWRJbmxpbmVUeXBlTWF0Y2hbXSxcbik6ICgoZml4ZXI6IFJ1bGUuUnVsZUZpeGVyKSA9PiBSdWxlLkZpeFtdKSB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHNvdXJjZUNvZGUgPSBnZXRGaXhTb3VyY2VDb2RlKGNvbnRleHQpO1xuXG4gIGlmIChcbiAgICBzb3VyY2VDb2RlID09PSB2b2lkIDAgfHxcbiAgICAhaGFzU2FmZVJhbmdlcyhtYXRjaGVzLCBzb3VyY2VDb2RlLnRleHQubGVuZ3RoKSB8fFxuICAgICFoYXNSZWxvY2F0YWJsZU1hdGNoZXMobWF0Y2hlcywgc291cmNlQ29kZSlcbiAgKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IGxpbmVFbmRpbmcgPSBzb3VyY2VDb2RlLnRleHQuaW5jbHVkZXMoXCJcXHJcXG5cIikgPyBcIlxcclxcblwiIDogXCJcXG5cIjtcbiAgY29uc3QgZGVjbGFyYXRpb25zID0gbWF0Y2hlc1xuICAgIC5tYXAoXG4gICAgICAobWF0Y2gpID0+XG4gICAgICAgIGAke2dlbmVyYXRlZE5hbWVUb2RvfSR7bGluZUVuZGluZ31pbnRlcmZhY2UgJHttYXRjaC5uYW1lfSAke3NvdXJjZUNvZGUuZ2V0VGV4dChtYXRjaC5ub2RlIGFzIG5ldmVyKX1gLFxuICAgIClcbiAgICAuam9pbihgJHtsaW5lRW5kaW5nfSR7bGluZUVuZGluZ31gKTtcbiAgY29uc3QgYXBwZW5kVGV4dCA9IGAke2dldEJsb2NrU2VwYXJhdG9yKHNvdXJjZUNvZGUudGV4dCwgbGluZUVuZGluZyl9JHtkZWNsYXJhdGlvbnN9JHtsaW5lRW5kaW5nfWA7XG5cbiAgcmV0dXJuIChmaXhlcjogUnVsZS5SdWxlRml4ZXIpOiBSdWxlLkZpeFtdID0+IFtcbiAgICAuLi5tYXRjaGVzLm1hcCgobWF0Y2gpID0+XG4gICAgICBmaXhlci5yZXBsYWNlVGV4dFJhbmdlKG1hdGNoLm5vZGUucmFuZ2UsIG1hdGNoLm5hbWUpLFxuICAgICksXG4gICAgZml4ZXIuaW5zZXJ0VGV4dEFmdGVyUmFuZ2UoXG4gICAgICBbc291cmNlQ29kZS50ZXh0Lmxlbmd0aCwgc291cmNlQ29kZS50ZXh0Lmxlbmd0aF0sXG4gICAgICBhcHBlbmRUZXh0LFxuICAgICksXG4gIF07XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYmxhbmstbGluZSBzZXBhcmF0b3IgcmVxdWlyZWQgYmVmb3JlIHRoZSBnZW5lcmF0ZWQgYmxvY2suXG4gKiBAcGFyYW0gc291cmNlVGV4dCBFeGlzdGluZyBzb3VyY2UgdGV4dC5cbiAqIEBwYXJhbSBsaW5lRW5kaW5nIERldGVjdGVkIHNvdXJjZSBsaW5lIGVuZGluZy5cbiAqIEByZXR1cm5zIFNlcGFyYXRvciByZXF1aXJlZCBiZWZvcmUgZ2VuZXJhdGVkIGRlY2xhcmF0aW9ucy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzZXBhcmF0b3IgPSBnZXRCbG9ja1NlcGFyYXRvcihcImNvbnN0IHZhbHVlID0gMTtcIiwgXCJcXG5cIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0QmxvY2tTZXBhcmF0b3Ioc291cmNlVGV4dDogc3RyaW5nLCBsaW5lRW5kaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoc291cmNlVGV4dC5sZW5ndGggPT09IDAgfHwgc291cmNlVGV4dC5lbmRzV2l0aChsaW5lRW5kaW5nICsgbGluZUVuZGluZykpIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHJldHVybiBzb3VyY2VUZXh0LmVuZHNXaXRoKGxpbmVFbmRpbmcpID8gbGluZUVuZGluZyA6IGxpbmVFbmRpbmcgKyBsaW5lRW5kaW5nO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHNvdXJjZS1jb2RlIG1ldGhvZHMgb25seSB3aGVuIGEgY29tcGxldGUgc291cmNlIHBheWxvYWQgaXMgYXZhaWxhYmxlLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBleGVjdXRpb24gY29udGV4dC5cbiAqIEByZXR1cm5zIENvbXBsZXRlIHNvdXJjZS1jb2RlIHBheWxvYWQgd2hlbiBhdmFpbGFibGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc291cmNlQ29kZSA9IGdldEZpeFNvdXJjZUNvZGUoY29udGV4dCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0Rml4U291cmNlQ29kZShcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbik6IEZpeFNvdXJjZUNvZGUgfCB1bmRlZmluZWQge1xuICBjb25zdCBzb3VyY2VDb2RlID0gY29udGV4dC5zb3VyY2VDb2RlIGFzIFBhcnRpYWw8Rml4U291cmNlQ29kZT4gfCB1bmRlZmluZWQ7XG5cbiAgcmV0dXJuIHNvdXJjZUNvZGUgIT09IHZvaWQgMCAmJlxuICAgIHR5cGVvZiBzb3VyY2VDb2RlLnRleHQgPT09IFwic3RyaW5nXCIgJiZcbiAgICB0eXBlb2Ygc291cmNlQ29kZS5nZXRUZXh0ID09PSBcImZ1bmN0aW9uXCIgJiZcbiAgICBzb3VyY2VDb2RlLmFzdCAhPT0gdm9pZCAwXG4gICAgPyAoc291cmNlQ29kZSBhcyBGaXhTb3VyY2VDb2RlKVxuICAgIDogdm9pZCAwO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgbGl0ZXJhbCBiZWxvbmdzIHRvIGEgbmFtZXNwYWNlIG9yIGFtYmllbnQgbW9kdWxlLlxuICogQHBhcmFtIG5vZGUgSW5saW5lIHR5cGUgbGl0ZXJhbCBub2RlLlxuICogQHJldHVybnMgV2hldGhlciBFT0YgaW5zZXJ0aW9uIHdvdWxkIG1vdmUgdGhlIGRlY2xhcmF0aW9uIG91dHNpZGUgaXRzIG1vZHVsZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuZXN0ZWQgPSBoYXNNb2R1bGVBbmNlc3Rvcih0eXBlTGl0ZXJhbCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaGFzTW9kdWxlQW5jZXN0b3Iobm9kZTogTmFtZWRJbmxpbmVUeXBlTWF0Y2hbXCJub2RlXCJdKTogYm9vbGVhbiB7XG4gIGxldCBjdXJyZW50ID0gKG5vZGUgYXMgTmFtaW5nTm9kZSkucGFyZW50O1xuXG4gIHdoaWxlIChjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQgIT09IHZvaWQgMCkge1xuICAgIGlmIChjdXJyZW50LnR5cGUgPT09IFwiVFNNb2R1bGVEZWNsYXJhdGlvblwiKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjdXJyZW50ID0gY3VycmVudC5wYXJlbnQ7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgbW92aW5nIGV2ZXJ5IGxpdGVyYWwgdG8gbW9kdWxlIHNjb3BlIHByZXNlcnZlcyBpdHMgYmluZGluZ3MuXG4gKiBAcGFyYW0gbWF0Y2hlcyBSYW5nZWQgaW5saW5lIHR5cGUgbWF0Y2hlcy5cbiAqIEBwYXJhbSBzb3VyY2VDb2RlIFNvdXJjZSBhbmQgc2NvcGUgaW5mb3JtYXRpb24gZm9yIHRoZSBhY3RpdmUgZmlsZS5cbiAqIEByZXR1cm5zIFdoZXRoZXIgZXZlcnkgbGl0ZXJhbCBjYW4gc2FmZWx5IG1vdmUgdG8gbW9kdWxlIHNjb3BlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlbG9jYXRhYmxlID0gaGFzUmVsb2NhdGFibGVNYXRjaGVzKG1hdGNoZXMsIHNvdXJjZUNvZGUpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGhhc1JlbG9jYXRhYmxlTWF0Y2hlcyhcbiAgbWF0Y2hlczogcmVhZG9ubHkgUmFuZ2VkTmFtZWRJbmxpbmVUeXBlTWF0Y2hbXSxcbiAgc291cmNlQ29kZTogRml4U291cmNlQ29kZSxcbik6IGJvb2xlYW4ge1xuICBjb25zdCBzY29wZXMgPSBzb3VyY2VDb2RlLnNjb3BlTWFuYWdlcj8uc2NvcGVzO1xuXG4gIGlmIChzY29wZXMgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGZvciAoY29uc3QgbWF0Y2ggb2YgbWF0Y2hlcykge1xuICAgIGlmIChjb250YWluc0NvbnRleHR1YWxUaGlzKG1hdGNoLm5vZGUpIHx8IGhhc01vZHVsZUFuY2VzdG9yKG1hdGNoLm5vZGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBzY29wZSBvZiBzY29wZXMpIHtcbiAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSBzY29wZS5yZWZlcmVuY2VzID8/IFtdO1xuXG4gICAgICBmb3IgKGNvbnN0IHJlZmVyZW5jZSBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZVJhbmdlID0gcmVmZXJlbmNlLmlkZW50aWZpZXI/LnJhbmdlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICByZWZlcmVuY2VSYW5nZSAhPT0gdm9pZCAwICYmXG4gICAgICAgICAgY29udGFpbnNSYW5nZShtYXRjaC5ub2RlLnJhbmdlLCByZWZlcmVuY2VSYW5nZSkgJiZcbiAgICAgICAgICAhaXNSZWxvY2F0YWJsZVJlZmVyZW5jZShtYXRjaC5ub2RlLnJhbmdlLCByZWZlcmVuY2UucmVzb2x2ZWQ/LnNjb3BlKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqXG4gKiBDaGVja3MgdGhhdCBhbGwgcmVwbGFjZW1lbnQgcmFuZ2VzIGV4aXN0LCBhcmUgb3JkZXJlZCwgYW5kIGRvIG5vdCBvdmVybGFwLlxuICogQHBhcmFtIG1hdGNoZXMgTmFtZWQgaW5saW5lIG9iamVjdCB0eXBlIG1hdGNoZXMuXG4gKiBAcGFyYW0gc291cmNlTGVuZ3RoIEV4aXN0aW5nIHNvdXJjZSBsZW5ndGguXG4gKiBAcmV0dXJucyBXaGV0aGVyIGV2ZXJ5IHJlcGxhY2VtZW50IHJhbmdlIGlzIHNhZmUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc2FmZSA9IGhhc1NhZmVSYW5nZXMobWF0Y2hlcywgc291cmNlVGV4dC5sZW5ndGgpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGhhc1NhZmVSYW5nZXMoXG4gIG1hdGNoZXM6IHJlYWRvbmx5IE5hbWVkSW5saW5lVHlwZU1hdGNoW10sXG4gIHNvdXJjZUxlbmd0aDogbnVtYmVyLFxuKTogbWF0Y2hlcyBpcyByZWFkb25seSBSYW5nZWROYW1lZElubGluZVR5cGVNYXRjaFtdIHtcbiAgbGV0IHByZXZpb3VzRW5kID0gLTE7XG5cbiAgY29uc3Qgb3JkZXJlZE1hdGNoZXMgPSBtYXRjaGVzLnRvU29ydGVkKFxuICAgIChsZWZ0LCByaWdodCkgPT5cbiAgICAgIChsZWZ0Lm5vZGUucmFuZ2U/LlswXSA/PyAtMSkgLSAocmlnaHQubm9kZS5yYW5nZT8uWzBdID8/IC0xKSxcbiAgKTtcblxuICBmb3IgKGNvbnN0IG1hdGNoIG9mIG9yZGVyZWRNYXRjaGVzKSB7XG4gICAgY29uc3QgcmFuZ2UgPSBtYXRjaC5ub2RlLnJhbmdlO1xuXG4gICAgaWYgKFxuICAgICAgcmFuZ2UgPT09IHZvaWQgMCB8fFxuICAgICAgcmFuZ2VbMF0gPCAwIHx8XG4gICAgICByYW5nZVswXSA8IHByZXZpb3VzRW5kIHx8XG4gICAgICByYW5nZVsxXSA8IHJhbmdlWzBdIHx8XG4gICAgICByYW5nZVsxXSA+IHNvdXJjZUxlbmd0aFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByZXZpb3VzRW5kID0gcmFuZ2VbMV07XG4gIH1cblxuICByZXR1cm4gbWF0Y2hlcy5sZW5ndGggPiAwO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIHJlZmVyZW5jZSBrZWVwcyB0aGUgc2FtZSBiaW5kaW5nIGF0IG1vZHVsZSBzY29wZS5cbiAqIEBwYXJhbSBsaXRlcmFsUmFuZ2UgUmFuZ2Ugb2YgdGhlIHR5cGUgbGl0ZXJhbCBiZWluZyBtb3ZlZC5cbiAqIEBwYXJhbSByZXNvbHZlZFNjb3BlIFNjb3BlIGNvbnRhaW5pbmcgdGhlIHJlZmVyZW5jZWQgZGVjbGFyYXRpb24uXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSByZWZlcmVuY2UgaXMgbW9kdWxlLXNhZmUgb3IgbW92ZXMgd2l0aCB0aGUgbGl0ZXJhbC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCByZWxvY2F0YWJsZSA9IGlzUmVsb2NhdGFibGVSZWZlcmVuY2UobGl0ZXJhbFJhbmdlLCByZXNvbHZlZFNjb3BlKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc1JlbG9jYXRhYmxlUmVmZXJlbmNlKFxuICBsaXRlcmFsUmFuZ2U6IFtudW1iZXIsIG51bWJlcl0sXG4gIHJlc29sdmVkU2NvcGU6IGltcG9ydChcIi4vdHlwZXNcIikuU2NvcGUgfCB1bmRlZmluZWQsXG4pOiBib29sZWFuIHtcbiAgaWYgKFxuICAgIHJlc29sdmVkU2NvcGUgPT09IHZvaWQgMCB8fFxuICAgIHJlc29sdmVkU2NvcGUudHlwZSA9PT0gXCJnbG9iYWxcIiB8fFxuICAgIHJlc29sdmVkU2NvcGUudHlwZSA9PT0gXCJtb2R1bGVcIlxuICApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0IHNjb3BlUmFuZ2UgPSByZXNvbHZlZFNjb3BlLmJsb2NrPy5yYW5nZTtcblxuICByZXR1cm4gc2NvcGVSYW5nZSAhPT0gdm9pZCAwICYmIGNvbnRhaW5zUmFuZ2UobGl0ZXJhbFJhbmdlLCBzY29wZVJhbmdlKTtcbn1cblxuZXhwb3J0IHsgY3JlYXRlQWdncmVnYXRlRml4IH07XG4iXX0=
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpeC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vY29yZS9wcmVmZXItaW50ZXJmYWNlLXR5cGVzL2F1dG9maXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxpQkFBaUIsR0FBRyw4Q0FBOEMsQ0FBQztBQUV6RTs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsc0JBQXNCLENBQUMsS0FBYztJQUM1QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxLQUFnQyxDQUFDO0lBRTlDLE9BQU8sQ0FDTCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssWUFBWTtRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssZ0JBQWdCO1FBQ2pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN2QixDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssUUFBUSxJQUFJLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUNwRSxDQUNGLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxhQUFhLENBQ3BCLFVBQTRCLEVBQzVCLFVBQTRCO0lBRTVCLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFD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QyxJQUFJLEtBQUssUUFBUSxFQUMvQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7SUFFOUMsT0FBTyxVQUFVLEtBQUssS0FBSyxDQUFDLElBQUksYUFBYSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBRUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB0eXBlIHtcbiAgRml4U291cmNlQ29kZSxcbiAgTmFtZWRJbmxpbmVUeXBlTWF0Y2gsXG4gIE5hbWluZ05vZGUsXG4gIFJhbmdlZE5hbWVkSW5saW5lVHlwZU1hdGNoLFxufSBmcm9tIFwiLi90eXBlc1wiO1xuXG5jb25zdCBnZW5lcmF0ZWROYW1lVG9kbyA9IFwiLy8gVE9ETzogUmV2aWV3IHRoaXMgYXV0b2dlbmVyYXRlZCB0eXBlIG5hbWVcIjtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhbiBBU1Qgc3VidHJlZSBjb250YWlucyBhIGNvbnRleHR1YWwgYHRoaXNgIHR5cGUuXG4gKiBAcGFyYW0gdmFsdWUgQ2FuZGlkYXRlIEFTVCB2YWx1ZS5cbiAqIEByZXR1cm5zIFdoZXRoZXIgbW92aW5nIHRoZSB2YWx1ZSB3b3VsZCBjaGFuZ2UgYHRoaXNgIHNlbWFudGljcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb250ZXh0dWFsID0gY29udGFpbnNDb250ZXh0dWFsVGhpcyh0eXBlTGl0ZXJhbCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY29udGFpbnNDb250ZXh0dWFsVGhpcyh2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4ge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc29tZSgoaXRlbSkgPT4gY29udGFpbnNDb250ZXh0dWFsVGhpcyhpdGVtKSk7XG4gIH1cblxuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3Qgbm9kZSA9IHZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gIHJldHVybiAoXG4gICAgbm9kZVtcInR5cGVcIl0gPT09IFwiVFNUaGlzVHlwZVwiIHx8XG4gICAgbm9kZVtcInR5cGVcIl0gPT09IFwiVGhpc0V4cHJlc3Npb25cIiB8fFxuICAgIE9iamVjdC5lbnRyaWVzKG5vZGUpLnNvbWUoXG4gICAgICAoW2tleSwgY2hpbGRdKSA9PiBrZXkgIT09IFwicGFyZW50XCIgJiYgY29udGFpbnNDb250ZXh0dWFsVGhpcyhjaGlsZCksXG4gICAgKVxuICApO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGFuIGlubmVyIHJhbmdlIGlzIGZ1bGx5IGNvbnRhaW5lZCBieSBhbiBvdXRlciByYW5nZS5cbiAqIEBwYXJhbSBvdXRlclJhbmdlIENhbmRpZGF0ZSBjb250YWluaW5nIHJhbmdlLlxuICogQHBhcmFtIGlubmVyUmFuZ2UgQ2FuZGlkYXRlIGNvbnRhaW5lZCByYW5nZS5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGlubmVyIHJhbmdlIGlzIGNvbnRhaW5lZCBieSB0aGUgb3V0ZXIgcmFuZ2UuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29udGFpbmVkID0gY29udGFpbnNSYW5nZShbMCwgNV0sIFsxLCA0XSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY29udGFpbnNSYW5nZShcbiAgb3V0ZXJSYW5nZTogW251bWJlciwgbnVtYmVyXSxcbiAgaW5uZXJSYW5nZTogW251bWJlciwgbnVtYmVyXSxcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gaW5uZXJSYW5nZVswXSA+PSBvdXRlclJhbmdlWzBdICYmIGlubmVyUmFuZ2VbMV0gPD0gb3V0ZXJSYW5nZVsxXTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBzb2xlIGFnZ3JlZ2F0ZSBmaXggZm9yIGFsbCBmaW5kaW5ncyB3aGVuIGV2ZXJ5IHNvdXJjZSByYW5nZSBpcyBzYWZlLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBleGVjdXRpb24gY29udGV4dC5cbiAqIEBwYXJhbSBtYXRjaGVzIE5hbWVkIGlubGluZSBvYmplY3QgdHlwZSBtYXRjaGVzLlxuICogQHJldHVybnMgQWdncmVnYXRlIGZpeCBjYWxsYmFjaywgb3IgdW5kZWZpbmVkIHdoZW4gc291cmNlIGRhdGEgaXMgaW5jb21wbGV0ZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBmaXggPSBjcmVhdGVBZ2dyZWdhdGVGaXgoY29udGV4dCwgbWF0Y2hlcyk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlQWdncmVnYXRlRml4KFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBtYXRjaGVzOiByZWFkb25seSBOYW1lZElubGluZVR5cGVNYXRjaFtdLFxuKTogKChmaXhlcjogUnVsZS5SdWxlRml4ZXIpID0+IFJ1bGUuRml4W10pIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc291cmNlQ29kZSA9IGdldEZpeFNvdXJjZUNvZGUoY29udGV4dCk7XG5cbiAgaWYgKFxuICAgIHNvdXJjZUNvZGUgPT09IHZvaWQgMCB8fFxuICAgICFoYXNTYWZlUmFuZ2VzKG1hdGNoZXMsIHNvdXJjZUNvZGUudGV4dC5sZW5ndGgpIHx8XG4gICAgIWhhc1JlbG9jYXRhYmxlTWF0Y2hlcyhtYXRjaGVzLCBzb3VyY2VDb2RlKVxuICApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgbGluZUVuZGluZyA9IHNvdXJjZUNvZGUudGV4dC5pbmNsdWRlcyhcIlxcclxcblwiKSA/IFwiXFxyXFxuXCIgOiBcIlxcblwiO1xuICBjb25zdCBkZWNsYXJhdGlvbnMgPSBtYXRjaGVzXG4gICAgLm1hcChcbiAgICAgIChtYXRjaCkgPT5cbiAgICAgICAgYCR7Z2VuZXJhdGVkTmFtZVRvZG99JHtsaW5lRW5kaW5nfWludGVyZmFjZSAke21hdGNoLm5hbWV9ICR7c291cmNlQ29kZS5nZXRUZXh0KG1hdGNoLm5vZGUgYXMgbmV2ZXIpfWAsXG4gICAgKVxuICAgIC5qb2luKGAke2xpbmVFbmRpbmd9JHtsaW5lRW5kaW5nfWApO1xuICBjb25zdCBhcHBlbmRUZXh0ID0gYCR7Z2V0QmxvY2tTZXBhcmF0b3Ioc291cmNlQ29kZS50ZXh0LCBsaW5lRW5kaW5nKX0ke2RlY2xhcmF0aW9uc30ke2xpbmVFbmRpbmd9YDtcblxuICByZXR1cm4gKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcik6IFJ1bGUuRml4W10gPT4gW1xuICAgIC4uLm1hdGNoZXMubWFwKChtYXRjaCkgPT5cbiAgICAgIGZpeGVyLnJlcGxhY2VUZXh0UmFuZ2UobWF0Y2gubm9kZS5yYW5nZSwgbWF0Y2gubmFtZSksXG4gICAgKSxcbiAgICBmaXhlci5pbnNlcnRUZXh0QWZ0ZXJSYW5nZShcbiAgICAgIFtzb3VyY2VDb2RlLnRleHQubGVuZ3RoLCBzb3VyY2VDb2RlLnRleHQubGVuZ3RoXSxcbiAgICAgIGFwcGVuZFRleHQsXG4gICAgKSxcbiAgXTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBibGFuay1saW5lIHNlcGFyYXRvciByZXF1aXJlZCBiZWZvcmUgdGhlIGdlbmVyYXRlZCBibG9jay5cbiAqIEBwYXJhbSBzb3VyY2VUZXh0IEV4aXN0aW5nIHNvdXJjZSB0ZXh0LlxuICogQHBhcmFtIGxpbmVFbmRpbmcgRGV0ZWN0ZWQgc291cmNlIGxpbmUgZW5kaW5nLlxuICogQHJldHVybnMgU2VwYXJhdG9yIHJlcXVpcmVkIGJlZm9yZSBnZW5lcmF0ZWQgZGVjbGFyYXRpb25zLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNlcGFyYXRvciA9IGdldEJsb2NrU2VwYXJhdG9yKFwiY29uc3QgdmFsdWUgPSAxO1wiLCBcIlxcblwiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRCbG9ja1NlcGFyYXRvcihzb3VyY2VUZXh0OiBzdHJpbmcsIGxpbmVFbmRpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChzb3VyY2VUZXh0Lmxlbmd0aCA9PT0gMCB8fCBzb3VyY2VUZXh0LmVuZHNXaXRoKGxpbmVFbmRpbmcgKyBsaW5lRW5kaW5nKSkge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcmV0dXJuIHNvdXJjZVRleHQuZW5kc1dpdGgobGluZUVuZGluZykgPyBsaW5lRW5kaW5nIDogbGluZUVuZGluZyArIGxpbmVFbmRpbmc7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgc291cmNlLWNvZGUgbWV0aG9kcyBvbmx5IHdoZW4gYSBjb21wbGV0ZSBzb3VyY2UgcGF5bG9hZCBpcyBhdmFpbGFibGUuXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGV4ZWN1dGlvbiBjb250ZXh0LlxuICogQHJldHVybnMgQ29tcGxldGUgc291cmNlLWNvZGUgcGF5bG9hZCB3aGVuIGF2YWlsYWJsZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzb3VyY2VDb2RlID0gZ2V0Rml4U291cmNlQ29kZShjb250ZXh0KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRGaXhTb3VyY2VDb2RlKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuKTogRml4U291cmNlQ29kZSB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHNvdXJjZUNvZGUgPSBjb250ZXh0LnNvdXJjZUNvZGUgYXMgUGFydGlhbDxGaXhTb3VyY2VDb2RlPiB8IHVuZGVmaW5lZDtcblxuICByZXR1cm4gc291cmNlQ29kZSAhPT0gdm9pZCAwICYmXG4gICAgdHlwZW9mIHNvdXJjZUNvZGUudGV4dCA9PT0gXCJzdHJpbmdcIiAmJlxuICAgIHR5cGVvZiBzb3VyY2VDb2RlLmdldFRleHQgPT09IFwiZnVuY3Rpb25cIiAmJlxuICAgIHNvdXJjZUNvZGUuYXN0ICE9PSB2b2lkIDBcbiAgICA/IChzb3VyY2VDb2RlIGFzIEZpeFNvdXJjZUNvZGUpXG4gICAgOiB2b2lkIDA7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBsaXRlcmFsIGJlbG9uZ3MgdG8gYSBuYW1lc3BhY2Ugb3IgYW1iaWVudCBtb2R1bGUuXG4gKiBAcGFyYW0gbm9kZSBJbmxpbmUgdHlwZSBsaXRlcmFsIG5vZGUuXG4gKiBAcmV0dXJucyBXaGV0aGVyIEVPRiBpbnNlcnRpb24gd291bGQgbW92ZSB0aGUgZGVjbGFyYXRpb24gb3V0c2lkZSBpdHMgbW9kdWxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5lc3RlZCA9IGhhc01vZHVsZUFuY2VzdG9yKHR5cGVMaXRlcmFsKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBoYXNNb2R1bGVBbmNlc3Rvcihub2RlOiBOYW1lZElubGluZVR5cGVNYXRjaFtcIm5vZGVcIl0pOiBib29sZWFuIHtcbiAgbGV0IGN1cnJlbnQgPSAobm9kZSBhcyBOYW1pbmdOb2RlKS5wYXJlbnQ7XG5cbiAgd2hpbGUgKGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudCAhPT0gdm9pZCAwKSB7XG4gICAgaWYgKGN1cnJlbnQudHlwZSA9PT0gXCJUU01vZHVsZURlY2xhcmF0aW9uXCIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGN1cnJlbnQgPSBjdXJyZW50LnBhcmVudDtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBtb3ZpbmcgZXZlcnkgbGl0ZXJhbCB0byBtb2R1bGUgc2NvcGUgcHJlc2VydmVzIGl0cyBiaW5kaW5ncy5cbiAqIEBwYXJhbSBtYXRjaGVzIFJhbmdlZCBpbmxpbmUgdHlwZSBtYXRjaGVzLlxuICogQHBhcmFtIHNvdXJjZUNvZGUgU291cmNlIGFuZCBzY29wZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGFjdGl2ZSBmaWxlLlxuICogQHJldHVybnMgV2hldGhlciBldmVyeSBsaXRlcmFsIGNhbiBzYWZlbHkgbW92ZSB0byBtb2R1bGUgc2NvcGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcmVsb2NhdGFibGUgPSBoYXNSZWxvY2F0YWJsZU1hdGNoZXMobWF0Y2hlcywgc291cmNlQ29kZSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaGFzUmVsb2NhdGFibGVNYXRjaGVzKFxuICBtYXRjaGVzOiByZWFkb25seSBSYW5nZWROYW1lZElubGluZVR5cGVNYXRjaFtdLFxuICBzb3VyY2VDb2RlOiBGaXhTb3VyY2VDb2RlLFxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IHNjb3BlcyA9IHNvdXJjZUNvZGUuc2NvcGVNYW5hZ2VyPy5zY29wZXM7XG5cbiAgaWYgKHNjb3BlcyA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZm9yIChjb25zdCBtYXRjaCBvZiBtYXRjaGVzKSB7XG4gICAgaWYgKGNvbnRhaW5zQ29udGV4dHVhbFRoaXMobWF0Y2gubm9kZSkgfHwgaGFzTW9kdWxlQW5jZXN0b3IobWF0Y2gubm9kZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHNjb3BlIG9mIHNjb3Blcykge1xuICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IHNjb3BlLnJlZmVyZW5jZXMgPz8gW107XG5cbiAgICAgIGZvciAoY29uc3QgcmVmZXJlbmNlIG9mIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlUmFuZ2UgPSByZWZlcmVuY2UuaWRlbnRpZmllcj8ucmFuZ2U7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHJlZmVyZW5jZVJhbmdlICE9PSB2b2lkIDAgJiZcbiAgICAgICAgICBjb250YWluc1JhbmdlKG1hdGNoLm5vZGUucmFuZ2UsIHJlZmVyZW5jZVJhbmdlKSAmJlxuICAgICAgICAgICFpc1JlbG9jYXRhYmxlUmVmZXJlbmNlKG1hdGNoLm5vZGUucmFuZ2UsIHJlZmVyZW5jZS5yZXNvbHZlZD8uc2NvcGUpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIENoZWNrcyB0aGF0IGFsbCByZXBsYWNlbWVudCByYW5nZXMgZXhpc3QsIGFyZSBvcmRlcmVkLCBhbmQgZG8gbm90IG92ZXJsYXAuXG4gKiBAcGFyYW0gbWF0Y2hlcyBOYW1lZCBpbmxpbmUgb2JqZWN0IHR5cGUgbWF0Y2hlcy5cbiAqIEBwYXJhbSBzb3VyY2VMZW5ndGggRXhpc3Rpbmcgc291cmNlIGxlbmd0aC5cbiAqIEByZXR1cm5zIFdoZXRoZXIgZXZlcnkgcmVwbGFjZW1lbnQgcmFuZ2UgaXMgc2FmZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzYWZlID0gaGFzU2FmZVJhbmdlcyhtYXRjaGVzLCBzb3VyY2VUZXh0Lmxlbmd0aCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaGFzU2FmZVJhbmdlcyhcbiAgbWF0Y2hlczogcmVhZG9ubHkgTmFtZWRJbmxpbmVUeXBlTWF0Y2hbXSxcbiAgc291cmNlTGVuZ3RoOiBudW1iZXIsXG4pOiBtYXRjaGVzIGlzIHJlYWRvbmx5IFJhbmdlZE5hbWVkSW5saW5lVHlwZU1hdGNoW10ge1xuICBsZXQgcHJldmlvdXNFbmQgPSAtMTtcblxuICBjb25zdCBvcmRlcmVkTWF0Y2hlcyA9IG1hdGNoZXMudG9Tb3J0ZWQoXG4gICAgKGxlZnQsIHJpZ2h0KSA9PlxuICAgICAgKGxlZnQubm9kZS5yYW5nZT8uWzBdID8/IC0xKSAtIChyaWdodC5ub2RlLnJhbmdlPy5bMF0gPz8gLTEpLFxuICApO1xuXG4gIGZvciAoY29uc3QgbWF0Y2ggb2Ygb3JkZXJlZE1hdGNoZXMpIHtcbiAgICBjb25zdCByYW5nZSA9IG1hdGNoLm5vZGUucmFuZ2U7XG5cbiAgICBpZiAoXG4gICAgICByYW5nZSA9PT0gdm9pZCAwIHx8XG4gICAgICByYW5nZVswXSA8IDAgfHxcbiAgICAgIHJhbmdlWzBdIDwgcHJldmlvdXNFbmQgfHxcbiAgICAgIHJhbmdlWzFdIDwgcmFuZ2VbMF0gfHxcbiAgICAgIHJhbmdlWzFdID4gc291cmNlTGVuZ3RoXG4gICAgKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJldmlvdXNFbmQgPSByYW5nZVsxXTtcbiAgfVxuXG4gIHJldHVybiBtYXRjaGVzLmxlbmd0aCA+IDA7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgcmVmZXJlbmNlIGtlZXBzIHRoZSBzYW1lIGJpbmRpbmcgYXQgbW9kdWxlIHNjb3BlLlxuICogQHBhcmFtIGxpdGVyYWxSYW5nZSBSYW5nZSBvZiB0aGUgdHlwZSBsaXRlcmFsIGJlaW5nIG1vdmVkLlxuICogQHBhcmFtIHJlc29sdmVkU2NvcGUgU2NvcGUgY29udGFpbmluZyB0aGUgcmVmZXJlbmNlZCBkZWNsYXJhdGlvbi5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHJlZmVyZW5jZSBpcyBtb2R1bGUtc2FmZSBvciBtb3ZlcyB3aXRoIHRoZSBsaXRlcmFsLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlbG9jYXRhYmxlID0gaXNSZWxvY2F0YWJsZVJlZmVyZW5jZShsaXRlcmFsUmFuZ2UsIHJlc29sdmVkU2NvcGUpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzUmVsb2NhdGFibGVSZWZlcmVuY2UoXG4gIGxpdGVyYWxSYW5nZTogW251bWJlciwgbnVtYmVyXSxcbiAgcmVzb2x2ZWRTY29wZTogaW1wb3J0KFwiLi90eXBlc1wiKS5TY29wZSB8IHVuZGVmaW5lZCxcbik6IGJvb2xlYW4ge1xuICBpZiAoXG4gICAgcmVzb2x2ZWRTY29wZSA9PT0gdm9pZCAwIHx8XG4gICAgcmVzb2x2ZWRTY29wZS50eXBlID09PSBcImdsb2JhbFwiIHx8XG4gICAgcmVzb2x2ZWRTY29wZS50eXBlID09PSBcIm1vZHVsZVwiXG4gICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3Qgc2NvcGVSYW5nZSA9IHJlc29sdmVkU2NvcGUuYmxvY2s/LnJhbmdlO1xuXG4gIHJldHVybiBzY29wZVJhbmdlICE9PSB2b2lkIDAgJiYgY29udGFpbnNSYW5nZShsaXRlcmFsUmFuZ2UsIHNjb3BlUmFuZ2UpO1xufVxuXG5leHBvcnQgeyBjcmVhdGVBZ2dyZWdhdGVGaXggfTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"rule-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/core/prefer-interface-types/rule-utilities.ts"],"names":[],"mappings":"AAiCA,wEAAwE;AACxE,UAAU,kBAAkB;IAC1B,sDAAsD;IACtD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,+EAA+E;AAC/E,UAAU,sBAAsB;IAC9B,iEAAiE;IACjE,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;AA6BD;;;;;;;;GAQG;AACH,QAAA,MAAM,qBAAqB,GACzB,MAAM,OAAO,KACZ,kBAAkB,GAAG,SAavB,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,uBAAuB,GAC3B,MAAM,OAAO,KACZ,kBAAkB,GAAG,SAQvB,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,aAAa,GAAI,MAAM,OAAO,KAAG,OAAO,EAQ7C,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,0BAA0B,GAC9B,MAAM,kBAAkB,GAAG,SAAS,KACnC,kBAAkB,GAAG,SA8BvB,CAAC;AAEF,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,uBAAuB,EACvB,qBAAqB,GACtB,CAAC;AACF,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"rule-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/core/prefer-interface-types/rule-utilities.ts"],"names":[],"mappings":"AAiCA,wEAAwE;AACxE,UAAU,kBAAkB;IAC1B,sDAAsD;IACtD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,+EAA+E;AAC/E,UAAU,sBAAsB;IAC9B,iEAAiE;IACjE,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;AA2BD;;;;;;;;GAQG;AACH,QAAA,MAAM,qBAAqB,GACzB,MAAM,OAAO,KACZ,kBAAkB,GAAG,SAWvB,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,uBAAuB,GAC3B,MAAM,OAAO,KACZ,kBAAkB,GAAG,SAQvB,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,aAAa,GAAI,MAAM,OAAO,KAAG,OAAO,EAQ7C,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,0BAA0B,GAC9B,MAAM,kBAAkB,GAAG,SAAS,KACnC,kBAAkB,GAAG,SA8BvB,CAAC;AAEF,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,uBAAuB,EACvB,qBAAqB,GACtB,CAAC;AACF,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,CAAC"}
@@ -14,10 +14,9 @@ const getNestedTypeAnnotation = (node) => {
14
14
  if (node.left !== void 0) {
15
15
  return getTypeAnnotationNode(node.left);
16
16
  }
17
- if (node.parameter !== void 0) {
18
- return getTypeAnnotationNode(node.parameter);
19
- }
20
- return void 0;
17
+ return node.parameter === void 0
18
+ ? void 0
19
+ : getTypeAnnotationNode(node.parameter);
21
20
  };
22
21
  /**
23
22
  * Extracts the type annotation from a node.
@@ -34,10 +33,9 @@ const getTypeAnnotationNode = (node) => {
34
33
  }
35
34
  const directTypeAnnotation = node.typeAnnotation
36
35
  ?.typeAnnotation;
37
- if (directTypeAnnotation !== void 0) {
38
- return directTypeAnnotation;
39
- }
40
- return getNestedTypeAnnotation(node);
36
+ return directTypeAnnotation === void 0
37
+ ? getNestedTypeAnnotation(node)
38
+ : directTypeAnnotation;
41
39
  };
42
40
  /**
43
41
  * Gets the return type annotation for a function-like node.
@@ -102,4 +100,4 @@ const getInlineObjectTypeLiteral = (node) => {
102
100
  return void 0;
103
101
  };
104
102
  export { getInlineObjectTypeLiteral, getParameters, getReturnTypeAnnotation, getTypeAnnotationNode, };
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2NvcmUvcHJlZmVyLWludGVyZmFjZS10eXBlcy9ydWxlLXV0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzREE7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQzlCLElBQXdCLEVBQ1EsRUFBRTtJQUNsQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM3QixPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxDQUM1QixJQUFhLEVBQ21CLEVBQUU7SUFDbEMsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sb0JBQW9CLEdBQUksSUFBZ0MsQ0FBQyxjQUFjO1FBQzNFLEVBQUUsY0FBYyxDQUFDO0lBRW5CLElBQUksb0JBQW9CLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNwQyxPQUFPLG9CQUFvQixDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxDQUM5QixJQUFhLEVBQ21CLEVBQUU7SUFDbEMsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFHLElBQXdCLENBQUM7SUFFM0MsT0FBTyxTQUFTLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQztBQUM5QyxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBYSxFQUFhLEVBQUU7SUFDakQsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFHLElBQXdCLENBQUM7SUFFM0MsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ2pFLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBRyxDQUNqQyxJQUFvQyxFQUNKLEVBQUU7SUFDbEMsSUFBSSxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNwQixPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxFQUFFLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLHFCQUFxQixFQUFFLENBQUM7UUFDeEMsT0FBTywwQkFBMEIsQ0FDL0IsSUFBSSxDQUFDLGNBQWdELENBQ3RELENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLG9CQUFvQixFQUFFLENBQUM7UUFDdEUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVoRSxLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sc0JBQXNCLEdBQUcsMEJBQTBCLENBQ3ZELFVBQTRDLENBQzdDLENBQUM7WUFFRixJQUFJLHNCQUFzQixLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLE9BQU8sc0JBQXNCLENBQUM7WUFDaEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUMsQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLGFBQWEsRUFDYix1QkFBdUIsRUFDdkIscUJBQXFCLEdBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogVHlwZSBkZWZpbml0aW9uIGZvciBmdW5jdGlvbi1saWtlIG5vZGVzIGNhcnJ5aW5nIHBhcmFtZXRlcnMgYW5kIHJldHVybiB0eXBlcy4gKi9cbmludGVyZmFjZSBGdW5jdGlvbkxpa2VOb2RlIHtcbiAgLyoqIFBhcmFtcyBoZWxwZXIgdmFsdWUuICovXG4gIHBhcmFtcz86IHVua25vd25bXTtcblxuICAvKiogUmV0dXJuVHlwZSBoZWxwZXIgdmFsdWUuICovXG4gIHJldHVyblR5cGU/OiB7XG4gICAgLyoqIFR5cGVBbm5vdGF0aW9uIGhlbHBlciB2YWx1ZS4gKi9cbiAgICB0eXBlQW5ub3RhdGlvbj86IFR5cGVBbm5vdGF0aW9uTm9kZTtcbiAgfTtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3Igbm9kZXMgdGhhdCBjYW4gd3JhcCBhIHNpbmdsZSBwYXJhbWV0ZXItbGlrZSBjaGlsZC4gKi9cbmludGVyZmFjZSBQYXJhbWV0ZXJDb250YWluZXIge1xuICAvKiogQXJndW1lbnQgaGVscGVyIHZhbHVlLiAqL1xuICBhcmd1bWVudD86IHVua25vd247XG5cbiAgLyoqIExlZnQtc2lkZSBoZWxwZXIgdmFsdWUgdXNlZCBieSBhc3NpZ25tZW50IHBhdHRlcm5zLiAqL1xuICBsZWZ0PzogdW5rbm93bjtcblxuICAvKiogUGFyYW1ldGVyIGhlbHBlciB2YWx1ZS4gKi9cbiAgcGFyYW1ldGVyPzogdW5rbm93bjtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3Igbm9kZXMgZXhwb3NpbmcgYSBuZXN0ZWQgdHlwZSBhbm5vdGF0aW9uIHdyYXBwZXIuICovXG5pbnRlcmZhY2UgVHlwZUFubm90YXRpb25Db250YWluZXIge1xuICAvKiogVHlwZUFubm90YXRpb24gaGVscGVyIHZhbHVlLiAqL1xuICB0eXBlQW5ub3RhdGlvbj86IHtcbiAgICAvKiogVHlwZUFubm90YXRpb24gaGVscGVyIHZhbHVlLiAqL1xuICAgIHR5cGVBbm5vdGF0aW9uPzogVHlwZUFubm90YXRpb25Ob2RlO1xuICB9O1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciB0eXBlIGFubm90YXRpb24gbm9kZXMgaW5zcGVjdGVkIGJ5IHRoaXMgcnVsZS4gKi9cbmludGVyZmFjZSBUeXBlQW5ub3RhdGlvbk5vZGUge1xuICAvKiogU291cmNlIHJhbmdlIHVzZWQgZm9yIHNhZmUgYXV0b2ZpeCByZXBsYWNlbWVudC4gKi9cbiAgcmFuZ2U/OiBbbnVtYmVyLCBudW1iZXJdO1xuXG4gIC8qKiBUeXBlIGZpZWxkIHZhbHVlLiAqL1xuICB0eXBlOiBzdHJpbmc7XG5cbiAgLyoqIE5lc3RlZCBhbm5vdGF0aW9uIGZvciBwYXJlbnRoZXNpemVkIHR5cGVzLiAqL1xuICB0eXBlQW5ub3RhdGlvbj86IHVua25vd247XG5cbiAgLyoqIE5lc3RlZCBtZW1iZXIgYW5ub3RhdGlvbnMgZm9yIHVuaW9uL2ludGVyc2VjdGlvbiB0eXBlcy4gKi9cbiAgdHlwZXM/OiB1bmtub3duW107XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHZhcmlhYmxlIGRlY2xhcmF0b3Igbm9kZXMgd2l0aCBvcHRpb25hbCBpZGVudGlmaWVycy4gKi9cbmludGVyZmFjZSBWYXJpYWJsZURlY2xhcmF0b3JOb2RlIHtcbiAgLyoqIElkZW50aWZpZXIgb3IgYmluZGluZyBwYXR0ZXJuIGZvciB0aGUgdmFyaWFibGUgZGVjbGFyYXRvci4gKi9cbiAgaWQ/OiB1bmtub3duO1xufVxuXG4vKipcbiAqIEdldHMgYSBuZXN0ZWQgdHlwZSBhbm5vdGF0aW9uIGZyb20gcGFyYW1ldGVyIHdyYXBwZXJzLlxuICogQHBhcmFtIG5vZGUgUGFyYW1ldGVyIHdyYXBwZXIgbm9kZS5cbiAqIEByZXR1cm5zIFRoZSBuZXN0ZWQgdHlwZSBhbm5vdGF0aW9uIHdoZW4gcHJlc2VudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBhbm5vdGF0aW9uID0gZ2V0TmVzdGVkVHlwZUFubm90YXRpb24oeyBhcmd1bWVudDogbm9kZSB9KTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXROZXN0ZWRUeXBlQW5ub3RhdGlvbiA9IChcbiAgbm9kZTogUGFyYW1ldGVyQ29udGFpbmVyLFxuKTogVHlwZUFubm90YXRpb25Ob2RlIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKG5vZGUuYXJndW1lbnQgIT09IHZvaWQgMCkge1xuICAgIHJldHVybiBnZXRUeXBlQW5ub3RhdGlvbk5vZGUobm9kZS5hcmd1bWVudCk7XG4gIH1cblxuICBpZiAobm9kZS5sZWZ0ICE9PSB2b2lkIDApIHtcbiAgICByZXR1cm4gZ2V0VHlwZUFubm90YXRpb25Ob2RlKG5vZGUubGVmdCk7XG4gIH1cblxuICBpZiAobm9kZS5wYXJhbWV0ZXIgIT09IHZvaWQgMCkge1xuICAgIHJldHVybiBnZXRUeXBlQW5ub3RhdGlvbk5vZGUobm9kZS5wYXJhbWV0ZXIpO1xuICB9XG5cbiAgcmV0dXJuIHZvaWQgMDtcbn07XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIHR5cGUgYW5ub3RhdGlvbiBmcm9tIGEgbm9kZS5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdGhhdCBtYXkgY29udGFpbiBhIHR5cGUgYW5ub3RhdGlvbi5cbiAqIEByZXR1cm5zIFRoZSB0eXBlIGFubm90YXRpb24gd2hlbiBwcmVzZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFubm90YXRpb24gPSBnZXRUeXBlQW5ub3RhdGlvbk5vZGUobm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0VHlwZUFubm90YXRpb25Ob2RlID0gKFxuICBub2RlOiB1bmtub3duLFxuKTogVHlwZUFubm90YXRpb25Ob2RlIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKG5vZGUgPT09IG51bGwgfHwgdHlwZW9mIG5vZGUgIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgZGlyZWN0VHlwZUFubm90YXRpb24gPSAobm9kZSBhcyBUeXBlQW5ub3RhdGlvbkNvbnRhaW5lcikudHlwZUFubm90YXRpb25cbiAgICA/LnR5cGVBbm5vdGF0aW9uO1xuXG4gIGlmIChkaXJlY3RUeXBlQW5ub3RhdGlvbiAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGRpcmVjdFR5cGVBbm5vdGF0aW9uO1xuICB9XG5cbiAgcmV0dXJuIGdldE5lc3RlZFR5cGVBbm5vdGF0aW9uKG5vZGUpO1xufTtcblxuLyoqXG4gKiBHZXRzIHRoZSByZXR1cm4gdHlwZSBhbm5vdGF0aW9uIGZvciBhIGZ1bmN0aW9uLWxpa2Ugbm9kZS5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdGhhdCBtYXkgY29udGFpbiBhIHJldHVybiB0eXBlLlxuICogQHJldHVybnMgVGhlIHJldHVybiB0eXBlIGFubm90YXRpb24gd2hlbiBwcmVzZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFubm90YXRpb24gPSBnZXRSZXR1cm5UeXBlQW5ub3RhdGlvbihub2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRSZXR1cm5UeXBlQW5ub3RhdGlvbiA9IChcbiAgbm9kZTogdW5rbm93bixcbik6IFR5cGVBbm5vdGF0aW9uTm9kZSB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmIChub2RlID09PSBudWxsIHx8IHR5cGVvZiBub2RlICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IHR5cGVkTm9kZSA9IG5vZGUgYXMgRnVuY3Rpb25MaWtlTm9kZTtcblxuICByZXR1cm4gdHlwZWROb2RlLnJldHVyblR5cGU/LnR5cGVBbm5vdGF0aW9uO1xufTtcblxuLyoqXG4gKiBHZXRzIGdldFBhcmFtZXRlcnMuXG4gKiBAcGFyYW0gbm9kZSBJbnB1dCBub2RlIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRQYXJhbWV0ZXJzKCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0UGFyYW1ldGVycyA9IChub2RlOiB1bmtub3duKTogdW5rbm93bltdID0+IHtcbiAgaWYgKG5vZGUgPT09IG51bGwgfHwgdHlwZW9mIG5vZGUgIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCB0eXBlZE5vZGUgPSBub2RlIGFzIEZ1bmN0aW9uTGlrZU5vZGU7XG5cbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodHlwZWROb2RlLnBhcmFtcykgPyB0eXBlZE5vZGUucGFyYW1zIDogW107XG59O1xuXG4vKipcbiAqIEZpbmRzIGFuIGlubGluZSBvYmplY3QgdHlwZSBsaXRlcmFsIHdpdGhpbiBhIHR5cGUgYW5ub3RhdGlvbiBub2RlLlxuICogQHBhcmFtIG5vZGUgVHlwZSBhbm5vdGF0aW9uIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRoZSBmaXJzdCBpbmxpbmUgb2JqZWN0IHR5cGUgbGl0ZXJhbCB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaW5saW5lT2JqZWN0VHlwZSA9IGdldElubGluZU9iamVjdFR5cGVMaXRlcmFsKGFubm90YXRpb24pO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldElubGluZU9iamVjdFR5cGVMaXRlcmFsID0gKFxuICBub2RlOiBUeXBlQW5ub3RhdGlvbk5vZGUgfCB1bmRlZmluZWQsXG4pOiBUeXBlQW5ub3RhdGlvbk5vZGUgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAobm9kZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGlmIChub2RlLnR5cGUgPT09IFwiVFNUeXBlTGl0ZXJhbFwiKSB7XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBpZiAobm9kZS50eXBlID09PSBcIlRTUGFyZW50aGVzaXplZFR5cGVcIikge1xuICAgIHJldHVybiBnZXRJbmxpbmVPYmplY3RUeXBlTGl0ZXJhbChcbiAgICAgIG5vZGUudHlwZUFubm90YXRpb24gYXMgVHlwZUFubm90YXRpb25Ob2RlIHwgdW5kZWZpbmVkLFxuICAgICk7XG4gIH1cblxuICBpZiAobm9kZS50eXBlID09PSBcIlRTVW5pb25UeXBlXCIgfHwgbm9kZS50eXBlID09PSBcIlRTSW50ZXJzZWN0aW9uVHlwZVwiKSB7XG4gICAgY29uc3QgbmVzdGVkVHlwZXMgPSBBcnJheS5pc0FycmF5KG5vZGUudHlwZXMpID8gbm9kZS50eXBlcyA6IFtdO1xuXG4gICAgZm9yIChjb25zdCBuZXN0ZWRUeXBlIG9mIG5lc3RlZFR5cGVzKSB7XG4gICAgICBjb25zdCBuZXN0ZWRJbmxpbmVPYmplY3RUeXBlID0gZ2V0SW5saW5lT2JqZWN0VHlwZUxpdGVyYWwoXG4gICAgICAgIG5lc3RlZFR5cGUgYXMgVHlwZUFubm90YXRpb25Ob2RlIHwgdW5kZWZpbmVkLFxuICAgICAgKTtcblxuICAgICAgaWYgKG5lc3RlZElubGluZU9iamVjdFR5cGUgIT09IHZvaWQgMCkge1xuICAgICAgICByZXR1cm4gbmVzdGVkSW5saW5lT2JqZWN0VHlwZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdm9pZCAwO1xufTtcblxuZXhwb3J0IHtcbiAgZ2V0SW5saW5lT2JqZWN0VHlwZUxpdGVyYWwsXG4gIGdldFBhcmFtZXRlcnMsXG4gIGdldFJldHVyblR5cGVBbm5vdGF0aW9uLFxuICBnZXRUeXBlQW5ub3RhdGlvbk5vZGUsXG59O1xuZXhwb3J0IHR5cGUgeyBUeXBlQW5ub3RhdGlvbk5vZGUsIFZhcmlhYmxlRGVjbGFyYXRvck5vZGUgfTtcbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2NvcmUvcHJlZmVyLWludGVyZmFjZS10eXBlcy9ydWxlLXV0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzREE7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQzlCLElBQXdCLEVBQ1EsRUFBRTtJQUNsQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM3QixPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUM7UUFDOUIsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNSLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQzVCLElBQWEsRUFDbUIsRUFBRTtJQUNsQyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUMsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxvQkFBb0IsR0FBSSxJQUFnQyxDQUFDLGNBQWM7UUFDM0UsRUFBRSxjQUFjLENBQUM7SUFFbkIsT0FBTyxvQkFBb0IsS0FBSyxLQUFLLENBQUM7UUFDcEMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQztRQUMvQixDQUFDLENBQUMsb0JBQW9CLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQzlCLElBQWEsRUFDbUIsRUFBRTtJQUNsQyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUMsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBd0IsQ0FBQztJQUUzQyxPQUFPLFNBQVMsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDO0FBQzlDLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFhLEVBQWEsRUFBRTtJQUNqRCxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBd0IsQ0FBQztJQUUzQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDakUsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLDBCQUEwQixHQUFHLENBQ2pDLElBQW9DLEVBQ0osRUFBRTtJQUNsQyxJQUFJLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUUsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUsscUJBQXFCLEVBQUUsQ0FBQztRQUN4QyxPQUFPLDBCQUEwQixDQUMvQixJQUFJLENBQUMsY0FBZ0QsQ0FDdEQsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssYUFBYSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssb0JBQW9CLEVBQUUsQ0FBQztRQUN0RSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRWhFLEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFLENBQUM7WUFDckMsTUFBTSxzQkFBc0IsR0FBRywwQkFBMEIsQ0FDdkQsVUFBNEMsQ0FDN0MsQ0FBQztZQUVGLElBQUksc0JBQXNCLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDdEMsT0FBTyxzQkFBc0IsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsYUFBYSxFQUNiLHVCQUF1QixFQUN2QixxQkFBcUIsR0FDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIGZ1bmN0aW9uLWxpa2Ugbm9kZXMgY2FycnlpbmcgcGFyYW1ldGVycyBhbmQgcmV0dXJuIHR5cGVzLiAqL1xuaW50ZXJmYWNlIEZ1bmN0aW9uTGlrZU5vZGUge1xuICAvKiogUGFyYW1zIGhlbHBlciB2YWx1ZS4gKi9cbiAgcGFyYW1zPzogdW5rbm93bltdO1xuXG4gIC8qKiBSZXR1cm5UeXBlIGhlbHBlciB2YWx1ZS4gKi9cbiAgcmV0dXJuVHlwZT86IHtcbiAgICAvKiogVHlwZUFubm90YXRpb24gaGVscGVyIHZhbHVlLiAqL1xuICAgIHR5cGVBbm5vdGF0aW9uPzogVHlwZUFubm90YXRpb25Ob2RlO1xuICB9O1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBub2RlcyB0aGF0IGNhbiB3cmFwIGEgc2luZ2xlIHBhcmFtZXRlci1saWtlIGNoaWxkLiAqL1xuaW50ZXJmYWNlIFBhcmFtZXRlckNvbnRhaW5lciB7XG4gIC8qKiBBcmd1bWVudCBoZWxwZXIgdmFsdWUuICovXG4gIGFyZ3VtZW50PzogdW5rbm93bjtcblxuICAvKiogTGVmdC1zaWRlIGhlbHBlciB2YWx1ZSB1c2VkIGJ5IGFzc2lnbm1lbnQgcGF0dGVybnMuICovXG4gIGxlZnQ/OiB1bmtub3duO1xuXG4gIC8qKiBQYXJhbWV0ZXIgaGVscGVyIHZhbHVlLiAqL1xuICBwYXJhbWV0ZXI/OiB1bmtub3duO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBub2RlcyBleHBvc2luZyBhIG5lc3RlZCB0eXBlIGFubm90YXRpb24gd3JhcHBlci4gKi9cbmludGVyZmFjZSBUeXBlQW5ub3RhdGlvbkNvbnRhaW5lciB7XG4gIC8qKiBUeXBlQW5ub3RhdGlvbiBoZWxwZXIgdmFsdWUuICovXG4gIHR5cGVBbm5vdGF0aW9uPzoge1xuICAgIC8qKiBUeXBlQW5ub3RhdGlvbiBoZWxwZXIgdmFsdWUuICovXG4gICAgdHlwZUFubm90YXRpb24/OiBUeXBlQW5ub3RhdGlvbk5vZGU7XG4gIH07XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHR5cGUgYW5ub3RhdGlvbiBub2RlcyBpbnNwZWN0ZWQgYnkgdGhpcyBydWxlLiAqL1xuaW50ZXJmYWNlIFR5cGVBbm5vdGF0aW9uTm9kZSB7XG4gIC8qKiBTb3VyY2UgcmFuZ2UgdXNlZCBmb3Igc2FmZSBhdXRvZml4IHJlcGxhY2VtZW50LiAqL1xuICByYW5nZT86IFtudW1iZXIsIG51bWJlcl07XG5cbiAgLyoqIFR5cGUgZmllbGQgdmFsdWUuICovXG4gIHR5cGU6IHN0cmluZztcblxuICAvKiogTmVzdGVkIGFubm90YXRpb24gZm9yIHBhcmVudGhlc2l6ZWQgdHlwZXMuICovXG4gIHR5cGVBbm5vdGF0aW9uPzogdW5rbm93bjtcblxuICAvKiogTmVzdGVkIG1lbWJlciBhbm5vdGF0aW9ucyBmb3IgdW5pb24vaW50ZXJzZWN0aW9uIHR5cGVzLiAqL1xuICB0eXBlcz86IHVua25vd25bXTtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgdmFyaWFibGUgZGVjbGFyYXRvciBub2RlcyB3aXRoIG9wdGlvbmFsIGlkZW50aWZpZXJzLiAqL1xuaW50ZXJmYWNlIFZhcmlhYmxlRGVjbGFyYXRvck5vZGUge1xuICAvKiogSWRlbnRpZmllciBvciBiaW5kaW5nIHBhdHRlcm4gZm9yIHRoZSB2YXJpYWJsZSBkZWNsYXJhdG9yLiAqL1xuICBpZD86IHVua25vd247XG59XG5cbi8qKlxuICogR2V0cyBhIG5lc3RlZCB0eXBlIGFubm90YXRpb24gZnJvbSBwYXJhbWV0ZXIgd3JhcHBlcnMuXG4gKiBAcGFyYW0gbm9kZSBQYXJhbWV0ZXIgd3JhcHBlciBub2RlLlxuICogQHJldHVybnMgVGhlIG5lc3RlZCB0eXBlIGFubm90YXRpb24gd2hlbiBwcmVzZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFubm90YXRpb24gPSBnZXROZXN0ZWRUeXBlQW5ub3RhdGlvbih7IGFyZ3VtZW50OiBub2RlIH0pO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldE5lc3RlZFR5cGVBbm5vdGF0aW9uID0gKFxuICBub2RlOiBQYXJhbWV0ZXJDb250YWluZXIsXG4pOiBUeXBlQW5ub3RhdGlvbk5vZGUgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAobm9kZS5hcmd1bWVudCAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGdldFR5cGVBbm5vdGF0aW9uTm9kZShub2RlLmFyZ3VtZW50KTtcbiAgfVxuXG4gIGlmIChub2RlLmxlZnQgIT09IHZvaWQgMCkge1xuICAgIHJldHVybiBnZXRUeXBlQW5ub3RhdGlvbk5vZGUobm9kZS5sZWZ0KTtcbiAgfVxuXG4gIHJldHVybiBub2RlLnBhcmFtZXRlciA9PT0gdm9pZCAwXG4gICAgPyB2b2lkIDBcbiAgICA6IGdldFR5cGVBbm5vdGF0aW9uTm9kZShub2RlLnBhcmFtZXRlcik7XG59O1xuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSB0eXBlIGFubm90YXRpb24gZnJvbSBhIG5vZGUuXG4gKiBAcGFyYW0gbm9kZSBOb2RlIHRoYXQgbWF5IGNvbnRhaW4gYSB0eXBlIGFubm90YXRpb24uXG4gKiBAcmV0dXJucyBUaGUgdHlwZSBhbm5vdGF0aW9uIHdoZW4gcHJlc2VudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBhbm5vdGF0aW9uID0gZ2V0VHlwZUFubm90YXRpb25Ob2RlKG5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFR5cGVBbm5vdGF0aW9uTm9kZSA9IChcbiAgbm9kZTogdW5rbm93bixcbik6IFR5cGVBbm5vdGF0aW9uTm9kZSB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmIChub2RlID09PSBudWxsIHx8IHR5cGVvZiBub2RlICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IGRpcmVjdFR5cGVBbm5vdGF0aW9uID0gKG5vZGUgYXMgVHlwZUFubm90YXRpb25Db250YWluZXIpLnR5cGVBbm5vdGF0aW9uXG4gICAgPy50eXBlQW5ub3RhdGlvbjtcblxuICByZXR1cm4gZGlyZWN0VHlwZUFubm90YXRpb24gPT09IHZvaWQgMFxuICAgID8gZ2V0TmVzdGVkVHlwZUFubm90YXRpb24obm9kZSlcbiAgICA6IGRpcmVjdFR5cGVBbm5vdGF0aW9uO1xufTtcblxuLyoqXG4gKiBHZXRzIHRoZSByZXR1cm4gdHlwZSBhbm5vdGF0aW9uIGZvciBhIGZ1bmN0aW9uLWxpa2Ugbm9kZS5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdGhhdCBtYXkgY29udGFpbiBhIHJldHVybiB0eXBlLlxuICogQHJldHVybnMgVGhlIHJldHVybiB0eXBlIGFubm90YXRpb24gd2hlbiBwcmVzZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFubm90YXRpb24gPSBnZXRSZXR1cm5UeXBlQW5ub3RhdGlvbihub2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRSZXR1cm5UeXBlQW5ub3RhdGlvbiA9IChcbiAgbm9kZTogdW5rbm93bixcbik6IFR5cGVBbm5vdGF0aW9uTm9kZSB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmIChub2RlID09PSBudWxsIHx8IHR5cGVvZiBub2RlICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IHR5cGVkTm9kZSA9IG5vZGUgYXMgRnVuY3Rpb25MaWtlTm9kZTtcblxuICByZXR1cm4gdHlwZWROb2RlLnJldHVyblR5cGU/LnR5cGVBbm5vdGF0aW9uO1xufTtcblxuLyoqXG4gKiBHZXRzIGdldFBhcmFtZXRlcnMuXG4gKiBAcGFyYW0gbm9kZSBJbnB1dCBub2RlIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRQYXJhbWV0ZXJzKCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0UGFyYW1ldGVycyA9IChub2RlOiB1bmtub3duKTogdW5rbm93bltdID0+IHtcbiAgaWYgKG5vZGUgPT09IG51bGwgfHwgdHlwZW9mIG5vZGUgIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCB0eXBlZE5vZGUgPSBub2RlIGFzIEZ1bmN0aW9uTGlrZU5vZGU7XG5cbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodHlwZWROb2RlLnBhcmFtcykgPyB0eXBlZE5vZGUucGFyYW1zIDogW107XG59O1xuXG4vKipcbiAqIEZpbmRzIGFuIGlubGluZSBvYmplY3QgdHlwZSBsaXRlcmFsIHdpdGhpbiBhIHR5cGUgYW5ub3RhdGlvbiBub2RlLlxuICogQHBhcmFtIG5vZGUgVHlwZSBhbm5vdGF0aW9uIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRoZSBmaXJzdCBpbmxpbmUgb2JqZWN0IHR5cGUgbGl0ZXJhbCB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaW5saW5lT2JqZWN0VHlwZSA9IGdldElubGluZU9iamVjdFR5cGVMaXRlcmFsKGFubm90YXRpb24pO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldElubGluZU9iamVjdFR5cGVMaXRlcmFsID0gKFxuICBub2RlOiBUeXBlQW5ub3RhdGlvbk5vZGUgfCB1bmRlZmluZWQsXG4pOiBUeXBlQW5ub3RhdGlvbk5vZGUgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAobm9kZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGlmIChub2RlLnR5cGUgPT09IFwiVFNUeXBlTGl0ZXJhbFwiKSB7XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBpZiAobm9kZS50eXBlID09PSBcIlRTUGFyZW50aGVzaXplZFR5cGVcIikge1xuICAgIHJldHVybiBnZXRJbmxpbmVPYmplY3RUeXBlTGl0ZXJhbChcbiAgICAgIG5vZGUudHlwZUFubm90YXRpb24gYXMgVHlwZUFubm90YXRpb25Ob2RlIHwgdW5kZWZpbmVkLFxuICAgICk7XG4gIH1cblxuICBpZiAobm9kZS50eXBlID09PSBcIlRTVW5pb25UeXBlXCIgfHwgbm9kZS50eXBlID09PSBcIlRTSW50ZXJzZWN0aW9uVHlwZVwiKSB7XG4gICAgY29uc3QgbmVzdGVkVHlwZXMgPSBBcnJheS5pc0FycmF5KG5vZGUudHlwZXMpID8gbm9kZS50eXBlcyA6IFtdO1xuXG4gICAgZm9yIChjb25zdCBuZXN0ZWRUeXBlIG9mIG5lc3RlZFR5cGVzKSB7XG4gICAgICBjb25zdCBuZXN0ZWRJbmxpbmVPYmplY3RUeXBlID0gZ2V0SW5saW5lT2JqZWN0VHlwZUxpdGVyYWwoXG4gICAgICAgIG5lc3RlZFR5cGUgYXMgVHlwZUFubm90YXRpb25Ob2RlIHwgdW5kZWZpbmVkLFxuICAgICAgKTtcblxuICAgICAgaWYgKG5lc3RlZElubGluZU9iamVjdFR5cGUgIT09IHZvaWQgMCkge1xuICAgICAgICByZXR1cm4gbmVzdGVkSW5saW5lT2JqZWN0VHlwZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdm9pZCAwO1xufTtcblxuZXhwb3J0IHtcbiAgZ2V0SW5saW5lT2JqZWN0VHlwZUxpdGVyYWwsXG4gIGdldFBhcmFtZXRlcnMsXG4gIGdldFJldHVyblR5cGVBbm5vdGF0aW9uLFxuICBnZXRUeXBlQW5ub3RhdGlvbk5vZGUsXG59O1xuZXhwb3J0IHR5cGUgeyBUeXBlQW5ub3RhdGlvbk5vZGUsIFZhcmlhYmxlRGVjbGFyYXRvck5vZGUgfTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"comment-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/no-interface-member-docs/comment-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA2DvC;;;;;;;;;GASG;AACH,QAAA,MAAM,eAAe,GACnB,YAAY,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAC1C,MAAM,IAAI,CAAC,IAAI,KACd,OAAO,GAAG,SAuBZ,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,cAAc,GAClB,YAAY,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAC1C,SAAS,OAAO,KACf,MASF,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"comment-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/no-interface-member-docs/comment-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAiEvC;;;;;;;;;GASG;AACH,QAAA,MAAM,eAAe,GACnB,YAAY,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAC1C,MAAM,IAAI,CAAC,IAAI,KACd,OAAO,GAAG,SAuBZ,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,cAAc,GAClB,YAAY,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAC1C,SAAS,OAAO,KACf,MAOF,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
@@ -37,10 +37,13 @@ const findClosestComment = (comments, nodeStart) => {
37
37
  for (const comment of comments) {
38
38
  const commentEnd = getCommentEnd(comment);
39
39
  const shouldConsider = isJsdocComment(comment) && commentEnd !== void 0;
40
- if (shouldConsider && commentEnd <= nodeStart && commentEnd > closestEnd) {
41
- closest = comment;
42
- closestEnd = commentEnd;
40
+ if (!(shouldConsider &&
41
+ commentEnd <= nodeStart &&
42
+ commentEnd > closestEnd)) {
43
+ continue;
43
44
  }
45
+ closest = comment;
46
+ closestEnd = commentEnd;
44
47
  }
45
48
  return closest;
46
49
  };
@@ -84,10 +87,9 @@ const getJsdocComment = (sourceCode, node) => {
84
87
  const getCommentText = (sourceCode, comment) => {
85
88
  const start = comment.range?.[0];
86
89
  const end = comment.range?.[1];
87
- if (typeof start !== "number" || typeof end !== "number") {
88
- return "";
89
- }
90
- return sourceCode.text.slice(start, end);
90
+ return typeof start === "number" && typeof end === "number"
91
+ ? sourceCode.text.slice(start, end)
92
+ : "";
91
93
  };
92
94
  export { getCommentText, getJsdocComment };
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3Mvbm8taW50ZXJmYWNlLW1lbWJlci1kb2NzL2NvbW1lbnQtdXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFnQixFQUFXLEVBQUUsQ0FDbkQsT0FBTyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFNUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxDQUFDLE9BQWdCLEVBQXNCLEVBQUU7SUFDN0QsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXRDLE9BQU8sT0FBTyxVQUFVLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlELENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsUUFBbUIsRUFDbkIsU0FBaUIsRUFDSSxFQUFFO0lBQ3ZCLElBQUksT0FBTyxHQUF3QixLQUFLLENBQUMsQ0FBQztJQUMxQyxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVwQixLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQy9CLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksVUFBVSxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBRXhFLElBQUksY0FBYyxJQUFJLFVBQVUsSUFBSSxTQUFTLElBQUksVUFBVSxHQUFHLFVBQVUsRUFBRSxDQUFDO1lBQ3pFLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDbEIsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sZUFBZSxHQUFHLENBQ3RCLFVBQTBDLEVBQzFDLElBQWUsRUFDTSxFQUFFO0lBQ3ZCLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM3QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbEMsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMzRCxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFeEQsSUFBSSxPQUFPLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFdEMsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLHFCQUFxQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUUzRSxPQUFPLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEUsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FDckIsVUFBMEMsRUFDMUMsT0FBZ0IsRUFDUixFQUFFO0lBQ1YsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUvQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN6RCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1lbnQgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIENoZWNrcyBpc0pzZG9jQ29tbWVudC5cbiAqIEBwYXJhbSBjb21tZW50IElucHV0IGNvbW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGlzSnNkb2NDb21tZW50KCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNKc2RvY0NvbW1lbnQgPSAoY29tbWVudDogQ29tbWVudCk6IGJvb2xlYW4gPT5cbiAgY29tbWVudC50eXBlID09PSBcIkJsb2NrXCIgJiYgY29tbWVudC52YWx1ZS5zdGFydHNXaXRoKFwiKlwiKTtcblxuLyoqXG4gKiBHZXRzIGdldENvbW1lbnRFbmQuXG4gKiBAcGFyYW0gY29tbWVudCBJbnB1dCBjb21tZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRDb21tZW50RW5kKCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0Q29tbWVudEVuZCA9IChjb21tZW50OiBDb21tZW50KTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgY29tbWVudEVuZCA9IGNvbW1lbnQucmFuZ2U/LlsxXTtcblxuICByZXR1cm4gdHlwZW9mIGNvbW1lbnRFbmQgPT09IFwibnVtYmVyXCIgPyBjb21tZW50RW5kIDogdm9pZCAwO1xufTtcblxuLyoqXG4gKiBGaW5kcyB0aGUgY2xvc2VzdCBKU0RvYyBjb21tZW50IGJlZm9yZSBhIG5vZGUuXG4gKiBAcGFyYW0gY29tbWVudHMgQ29tbWVudCBsaXN0IHRvIHNlYXJjaC5cbiAqIEBwYXJhbSBub2RlU3RhcnQgU3RhcnQgb2Zmc2V0IG9mIHRoZSBub2RlLlxuICogQHJldHVybnMgVGhlIGNsb3Nlc3QgSlNEb2MgY29tbWVudCB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29tbWVudCA9IGZpbmRDbG9zZXN0Q29tbWVudChjb21tZW50cywgbm9kZVN0YXJ0KTtcbiAqIGBgYFxuICovXG5jb25zdCBmaW5kQ2xvc2VzdENvbW1lbnQgPSAoXG4gIGNvbW1lbnRzOiBDb21tZW50W10sXG4gIG5vZGVTdGFydDogbnVtYmVyLFxuKTogQ29tbWVudCB8IHVuZGVmaW5lZCA9PiB7XG4gIGxldCBjbG9zZXN0OiBDb21tZW50IHwgdW5kZWZpbmVkID0gdm9pZCAwO1xuICBsZXQgY2xvc2VzdEVuZCA9IC0xO1xuXG4gIGZvciAoY29uc3QgY29tbWVudCBvZiBjb21tZW50cykge1xuICAgIGNvbnN0IGNvbW1lbnRFbmQgPSBnZXRDb21tZW50RW5kKGNvbW1lbnQpO1xuICAgIGNvbnN0IHNob3VsZENvbnNpZGVyID0gaXNKc2RvY0NvbW1lbnQoY29tbWVudCkgJiYgY29tbWVudEVuZCAhPT0gdm9pZCAwO1xuXG4gICAgaWYgKHNob3VsZENvbnNpZGVyICYmIGNvbW1lbnRFbmQgPD0gbm9kZVN0YXJ0ICYmIGNvbW1lbnRFbmQgPiBjbG9zZXN0RW5kKSB7XG4gICAgICBjbG9zZXN0ID0gY29tbWVudDtcbiAgICAgIGNsb3Nlc3RFbmQgPSBjb21tZW50RW5kO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjbG9zZXN0O1xufTtcblxuLyoqXG4gKiBHZXRzIHRoZSBjbG9zZXN0IEpTRG9jIGNvbW1lbnQgZm9yIGEgbm9kZS5cbiAqIEBwYXJhbSBzb3VyY2VDb2RlIFNvdXJjZSBjb2RlIHdyYXBwZXIuXG4gKiBAcGFyYW0gbm9kZSBOb2RlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUaGUgY2xvc2VzdCBKU0RvYyBjb21tZW50IHdoZW4gcHJlc2VudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb21tZW50ID0gZ2V0SnNkb2NDb21tZW50KHNvdXJjZUNvZGUsIG5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldEpzZG9jQ29tbWVudCA9IChcbiAgc291cmNlQ29kZTogUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl0sXG4gIG5vZGU6IFJ1bGUuTm9kZSxcbik6IENvbW1lbnQgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBjb21tZW50cyA9IHNvdXJjZUNvZGUuZ2V0QWxsQ29tbWVudHMoKTtcbiAgY29uc3Qgbm9kZVN0YXJ0ID0gbm9kZS5yYW5nZT8uWzBdO1xuXG4gIGlmICh0eXBlb2Ygbm9kZVN0YXJ0ICE9PSBcIm51bWJlclwiIHx8IGNvbW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCBjb21tZW50ID0gZmluZENsb3Nlc3RDb21tZW50KGNvbW1lbnRzLCBub2RlU3RhcnQpO1xuXG4gIGlmIChjb21tZW50ID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgY29tbWVudEVuZCA9IGNvbW1lbnQucmFuZ2U/LlsxXTtcblxuICBpZiAodHlwZW9mIGNvbW1lbnRFbmQgIT09IFwibnVtYmVyXCIpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgYmV0d2VlbkNvbW1lbnRBbmROb2RlID0gc291cmNlQ29kZS50ZXh0LnNsaWNlKGNvbW1lbnRFbmQsIG5vZGVTdGFydCk7XG5cbiAgcmV0dXJuIGJldHdlZW5Db21tZW50QW5kTm9kZS50cmltKCkubGVuZ3RoID09PSAwID8gY29tbWVudCA6IHZvaWQgMDtcbn07XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGZ1bGwgdGV4dCBmb3IgYSBjb21tZW50IHJhbmdlLlxuICogQHBhcmFtIHNvdXJjZUNvZGUgU291cmNlIGNvZGUgd3JhcHBlci5cbiAqIEBwYXJhbSBjb21tZW50IENvbW1lbnQgdG8gcmVhZC5cbiAqIEByZXR1cm5zIENvbW1lbnQgY29udGVudHMgZnJvbSB0aGUgc291cmNlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHRleHQgPSBnZXRDb21tZW50VGV4dChzb3VyY2VDb2RlLCBjb21tZW50KTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRDb21tZW50VGV4dCA9IChcbiAgc291cmNlQ29kZTogUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl0sXG4gIGNvbW1lbnQ6IENvbW1lbnQsXG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBzdGFydCA9IGNvbW1lbnQucmFuZ2U/LlswXTtcbiAgY29uc3QgZW5kID0gY29tbWVudC5yYW5nZT8uWzFdO1xuXG4gIGlmICh0eXBlb2Ygc3RhcnQgIT09IFwibnVtYmVyXCIgfHwgdHlwZW9mIGVuZCAhPT0gXCJudW1iZXJcIikge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgcmV0dXJuIHNvdXJjZUNvZGUudGV4dC5zbGljZShzdGFydCwgZW5kKTtcbn07XG5cbmV4cG9ydCB7IGdldENvbW1lbnRUZXh0LCBnZXRKc2RvY0NvbW1lbnQgfTtcbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3Mvbm8taW50ZXJmYWNlLW1lbWJlci1kb2NzL2NvbW1lbnQtdXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFnQixFQUFXLEVBQUUsQ0FDbkQsT0FBTyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFNUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxDQUFDLE9BQWdCLEVBQXNCLEVBQUU7SUFDN0QsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXRDLE9BQU8sT0FBTyxVQUFVLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlELENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsUUFBbUIsRUFDbkIsU0FBaUIsRUFDSSxFQUFFO0lBQ3ZCLElBQUksT0FBTyxHQUF3QixLQUFLLENBQUMsQ0FBQztJQUMxQyxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVwQixLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQy9CLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksVUFBVSxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBRXhFLElBQUksQ0FBQyxDQUNILGNBQWM7WUFDZCxVQUFVLElBQUksU0FBUztZQUN2QixVQUFVLEdBQUcsVUFBVSxDQUN4QixFQUFFLENBQUM7WUFDRixTQUFTO1FBQ1gsQ0FBQztRQUVELE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbEIsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMxQixDQUFDO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FDdEIsVUFBMEMsRUFDMUMsSUFBZSxFQUNNLEVBQUU7SUFDdkIsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzdDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVsQyxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzNELE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUV4RCxJQUFJLE9BQU8sS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV0QyxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0scUJBQXFCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRTNFLE9BQU8scUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0RSxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLGNBQWMsR0FBRyxDQUNyQixVQUEwQyxFQUMxQyxPQUFnQixFQUNSLEVBQUU7SUFDVixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRS9CLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVE7UUFDekQsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUM7UUFDbkMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNULENBQUMsQ0FBQztBQUVGLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB0eXBlIHsgQ29tbWVudCB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKlxuICogQ2hlY2tzIGlzSnNkb2NDb21tZW50LlxuICogQHBhcmFtIGNvbW1lbnQgSW5wdXQgY29tbWVudCB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXNKc2RvY0NvbW1lbnQoKTtcbiAqIGBgYFxuICovXG5jb25zdCBpc0pzZG9jQ29tbWVudCA9IChjb21tZW50OiBDb21tZW50KTogYm9vbGVhbiA9PlxuICBjb21tZW50LnR5cGUgPT09IFwiQmxvY2tcIiAmJiBjb21tZW50LnZhbHVlLnN0YXJ0c1dpdGgoXCIqXCIpO1xuXG4vKipcbiAqIEdldHMgZ2V0Q29tbWVudEVuZC5cbiAqIEBwYXJhbSBjb21tZW50IElucHV0IGNvbW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGdldENvbW1lbnRFbmQoKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRDb21tZW50RW5kID0gKGNvbW1lbnQ6IENvbW1lbnQpOiBudW1iZXIgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBjb21tZW50RW5kID0gY29tbWVudC5yYW5nZT8uWzFdO1xuXG4gIHJldHVybiB0eXBlb2YgY29tbWVudEVuZCA9PT0gXCJudW1iZXJcIiA/IGNvbW1lbnRFbmQgOiB2b2lkIDA7XG59O1xuXG4vKipcbiAqIEZpbmRzIHRoZSBjbG9zZXN0IEpTRG9jIGNvbW1lbnQgYmVmb3JlIGEgbm9kZS5cbiAqIEBwYXJhbSBjb21tZW50cyBDb21tZW50IGxpc3QgdG8gc2VhcmNoLlxuICogQHBhcmFtIG5vZGVTdGFydCBTdGFydCBvZmZzZXQgb2YgdGhlIG5vZGUuXG4gKiBAcmV0dXJucyBUaGUgY2xvc2VzdCBKU0RvYyBjb21tZW50IHdoZW4gcHJlc2VudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb21tZW50ID0gZmluZENsb3Nlc3RDb21tZW50KGNvbW1lbnRzLCBub2RlU3RhcnQpO1xuICogYGBgXG4gKi9cbmNvbnN0IGZpbmRDbG9zZXN0Q29tbWVudCA9IChcbiAgY29tbWVudHM6IENvbW1lbnRbXSxcbiAgbm9kZVN0YXJ0OiBudW1iZXIsXG4pOiBDb21tZW50IHwgdW5kZWZpbmVkID0+IHtcbiAgbGV0IGNsb3Nlc3Q6IENvbW1lbnQgfCB1bmRlZmluZWQgPSB2b2lkIDA7XG4gIGxldCBjbG9zZXN0RW5kID0gLTE7XG5cbiAgZm9yIChjb25zdCBjb21tZW50IG9mIGNvbW1lbnRzKSB7XG4gICAgY29uc3QgY29tbWVudEVuZCA9IGdldENvbW1lbnRFbmQoY29tbWVudCk7XG4gICAgY29uc3Qgc2hvdWxkQ29uc2lkZXIgPSBpc0pzZG9jQ29tbWVudChjb21tZW50KSAmJiBjb21tZW50RW5kICE9PSB2b2lkIDA7XG5cbiAgICBpZiAoIShcbiAgICAgIHNob3VsZENvbnNpZGVyICYmXG4gICAgICBjb21tZW50RW5kIDw9IG5vZGVTdGFydCAmJlxuICAgICAgY29tbWVudEVuZCA+IGNsb3Nlc3RFbmRcbiAgICApKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjbG9zZXN0ID0gY29tbWVudDtcbiAgICBjbG9zZXN0RW5kID0gY29tbWVudEVuZDtcbiAgfVxuXG4gIHJldHVybiBjbG9zZXN0O1xufTtcblxuLyoqXG4gKiBHZXRzIHRoZSBjbG9zZXN0IEpTRG9jIGNvbW1lbnQgZm9yIGEgbm9kZS5cbiAqIEBwYXJhbSBzb3VyY2VDb2RlIFNvdXJjZSBjb2RlIHdyYXBwZXIuXG4gKiBAcGFyYW0gbm9kZSBOb2RlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUaGUgY2xvc2VzdCBKU0RvYyBjb21tZW50IHdoZW4gcHJlc2VudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb21tZW50ID0gZ2V0SnNkb2NDb21tZW50KHNvdXJjZUNvZGUsIG5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldEpzZG9jQ29tbWVudCA9IChcbiAgc291cmNlQ29kZTogUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl0sXG4gIG5vZGU6IFJ1bGUuTm9kZSxcbik6IENvbW1lbnQgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBjb21tZW50cyA9IHNvdXJjZUNvZGUuZ2V0QWxsQ29tbWVudHMoKTtcbiAgY29uc3Qgbm9kZVN0YXJ0ID0gbm9kZS5yYW5nZT8uWzBdO1xuXG4gIGlmICh0eXBlb2Ygbm9kZVN0YXJ0ICE9PSBcIm51bWJlclwiIHx8IGNvbW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCBjb21tZW50ID0gZmluZENsb3Nlc3RDb21tZW50KGNvbW1lbnRzLCBub2RlU3RhcnQpO1xuXG4gIGlmIChjb21tZW50ID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgY29tbWVudEVuZCA9IGNvbW1lbnQucmFuZ2U/LlsxXTtcblxuICBpZiAodHlwZW9mIGNvbW1lbnRFbmQgIT09IFwibnVtYmVyXCIpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgYmV0d2VlbkNvbW1lbnRBbmROb2RlID0gc291cmNlQ29kZS50ZXh0LnNsaWNlKGNvbW1lbnRFbmQsIG5vZGVTdGFydCk7XG5cbiAgcmV0dXJuIGJldHdlZW5Db21tZW50QW5kTm9kZS50cmltKCkubGVuZ3RoID09PSAwID8gY29tbWVudCA6IHZvaWQgMDtcbn07XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGZ1bGwgdGV4dCBmb3IgYSBjb21tZW50IHJhbmdlLlxuICogQHBhcmFtIHNvdXJjZUNvZGUgU291cmNlIGNvZGUgd3JhcHBlci5cbiAqIEBwYXJhbSBjb21tZW50IENvbW1lbnQgdG8gcmVhZC5cbiAqIEByZXR1cm5zIENvbW1lbnQgY29udGVudHMgZnJvbSB0aGUgc291cmNlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHRleHQgPSBnZXRDb21tZW50VGV4dChzb3VyY2VDb2RlLCBjb21tZW50KTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRDb21tZW50VGV4dCA9IChcbiAgc291cmNlQ29kZTogUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl0sXG4gIGNvbW1lbnQ6IENvbW1lbnQsXG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBzdGFydCA9IGNvbW1lbnQucmFuZ2U/LlswXTtcbiAgY29uc3QgZW5kID0gY29tbWVudC5yYW5nZT8uWzFdO1xuXG4gIHJldHVybiB0eXBlb2Ygc3RhcnQgPT09IFwibnVtYmVyXCIgJiYgdHlwZW9mIGVuZCA9PT0gXCJudW1iZXJcIlxuICAgID8gc291cmNlQ29kZS50ZXh0LnNsaWNlKHN0YXJ0LCBlbmQpXG4gICAgOiBcIlwiO1xufTtcblxuZXhwb3J0IHsgZ2V0Q29tbWVudFRleHQsIGdldEpzZG9jQ29tbWVudCB9O1xuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-tags.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/no-interface-member-docs/parameter-tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAmG/D;;;;;;;;GAQG;AACH,QAAA,MAAM,qBAAqB,GACzB,MAAM,WAAW,KAChB,kBAAkB,GAAG,SAevB,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"parameter-tags.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/no-interface-member-docs/parameter-tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAgG/D;;;;;;;;GAQG;AACH,QAAA,MAAM,qBAAqB,GACzB,MAAM,WAAW,KAChB,kBAAkB,GAAG,SAavB,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -70,7 +70,7 @@ const getMemberName = (normalized) => {
70
70
  }
71
71
  const basename = normalized.slice(0, dotIndex);
72
72
  const memberPath = normalized.slice(dotIndex + 1).trim();
73
- return memberPath.length > 0 ? { basename, memberPath } : void 0;
73
+ return memberPath.length > 0 ? { basename } : void 0;
74
74
  };
75
75
  /**
76
76
  * Parses a `@param` tag line into a member tag when applicable.
@@ -88,10 +88,9 @@ const parseParameterTagLine = (line) => {
88
88
  return void 0;
89
89
  }
90
90
  const member = getMemberName(normalized);
91
- if (member === void 0) {
92
- return void 0;
93
- }
94
- return { basename: member.basename, fullName: normalized, line };
91
+ return member === void 0
92
+ ? void 0
93
+ : { basename: member.basename, fullName: normalized, line };
95
94
  };
96
95
  export { parseParameterTagLine };
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXRhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3Mvbm8taW50ZXJmYWNlLW1lbWJlci1kb2NzL3BhcmFtZXRlci10YWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLDZEQUE2RDtBQUM3RCxNQUFNLG1CQUFtQixHQUFHLDZDQUE2QyxDQUFDO0FBRTFFOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBRTVDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQWUsRUFBVSxFQUFFO0lBQ3BELE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFMUMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxPQUFlLEVBQVUsRUFBRSxDQUN6RCxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7S0FDdkIsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7S0FDbkIsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7S0FDbkIsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUV6Qjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUFlLEVBQXNCLEVBQUU7SUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QyxNQUFNLFVBQVUsR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVuRCxPQUFPLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUFrQixFQUFtQyxFQUFFO0lBQzVFLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFekMsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0MsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFekQsT0FBTyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25FLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxDQUM1QixJQUFpQixFQUNlLEVBQUU7SUFDbEMsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU3QyxJQUFJLFVBQVUsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzFCLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV6QyxJQUFJLE1BQU0sS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ25FLENBQUMsQ0FBQztBQUVGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb21tZW50TGluZSwgUGFyYW1ldGVyTWVtYmVyVGFnIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqIE1lbWJlciBwYXRoIGRldGFpbHMgZXh0cmFjdGVkIGZyb20gYSBwYXJhbWV0ZXIgdGFnLiAqL1xuaW50ZXJmYWNlIFBhcmFtZXRlck1lbWJlck5hbWUge1xuICAvKiogQmFzZW5hbWUgZmllbGQgdmFsdWUuICovXG4gIGJhc2VuYW1lOiBzdHJpbmc7XG5cbiAgLyoqIE1lbWJlclBhdGggZmllbGQgdmFsdWUuICovXG4gIG1lbWJlclBhdGg6IHN0cmluZztcbn1cblxuLyoqIEV4dHJhY3RzIHRoZSBwYXJhbWV0ZXIgbmFtZSBmcm9tIGFuIGBAcGFyYW1gIHRhZyBsaW5lLiAqL1xuY29uc3QgcGFyYW1ldGVyVGFnUGF0dGVybiA9IC9AcGFyYW1cXHMrKD86XFx7W159XSpcXH1cXHMrKT8oPzxuYW1lPlteXFxzLV0rKS91O1xuXG4vKipcbiAqIERlZmluZXMgc3RyaXBKc2RvY0xpbmUuXG4gKiBAcGFyYW0gbGluZSBJbnB1dCBsaW5lIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBzdHJpcEpzZG9jTGluZSgpO1xuICogYGBgXG4gKi9cbmNvbnN0IHN0cmlwSnNkb2NMaW5lID0gKGxpbmU6IHN0cmluZyk6IHN0cmluZyA9PlxuICBsaW5lLnJlcGxhY2UoL15cXHMqXFwvP1xcKipcXHM/L3UsIFwiXCIpLnRyaW0oKTtcblxuLyoqXG4gKiBEZWZpbmVzIHN0cmlwRGVmYXVsdFZhbHVlLlxuICogQHBhcmFtIHJhd05hbWUgSW5wdXQgcmF3TmFtZSB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogc3RyaXBEZWZhdWx0VmFsdWUoKTtcbiAqIGBgYFxuICovXG5jb25zdCBzdHJpcERlZmF1bHRWYWx1ZSA9IChyYXdOYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBbaGVhZCA9IFwiXCJdID0gcmF3TmFtZS5zcGxpdChcIj1cIiwgMSk7XG5cbiAgcmV0dXJuIGhlYWQ7XG59O1xuXG4vKipcbiAqIE5vcm1hbGl6ZXMgbm9ybWFsaXplUGFyYW1ldGVyTmFtZS5cbiAqIEBwYXJhbSByYXdOYW1lIElucHV0IHJhd05hbWUgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIG5vcm1hbGl6ZVBhcmFtZXRlck5hbWUoKTtcbiAqIGBgYFxuICovXG5jb25zdCBub3JtYWxpemVQYXJhbWV0ZXJOYW1lID0gKHJhd05hbWU6IHN0cmluZyk6IHN0cmluZyA9PlxuICBzdHJpcERlZmF1bHRWYWx1ZShyYXdOYW1lKVxuICAgIC5yZXBsYWNlKC9eXFxbL3UsIFwiXCIpXG4gICAgLnJlcGxhY2UoL1xcXSQvdSwgXCJcIilcbiAgICAucmVwbGFjZSgvXFw/JC91LCBcIlwiKTtcblxuLyoqXG4gKiBHZXRzIGdldFBhcmFtZXRlck5hbWUuXG4gKiBAcGFyYW0gY29udGVudCBJbnB1dCBjb250ZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRQYXJhbWV0ZXJOYW1lKCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0UGFyYW1ldGVyTmFtZSA9IChjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAoIWNvbnRlbnQuc3RhcnRzV2l0aChcIkBwYXJhbVwiKSkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCBtYXRjaCA9IHBhcmFtZXRlclRhZ1BhdHRlcm4uZXhlYyhjb250ZW50KTtcbiAgY29uc3QgcmF3TmFtZSA9IG1hdGNoPy5ncm91cHM/LltcIm5hbWVcIl0gPz8gXCJcIjtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZVBhcmFtZXRlck5hbWUocmF3TmFtZSk7XG5cbiAgcmV0dXJuIG5vcm1hbGl6ZWQubGVuZ3RoID4gMCA/IG5vcm1hbGl6ZWQgOiB2b2lkIDA7XG59O1xuXG4vKipcbiAqIEV4dHJhY3RzIG1lbWJlciBwYXRoIGRldGFpbHMgZnJvbSBhIG5vcm1hbGl6ZWQgcGFyYW1ldGVyIG5hbWUuXG4gKiBAcGFyYW0gbm9ybWFsaXplZCBOb3JtYWxpemVkIHBhcmFtZXRlciBuYW1lLlxuICogQHJldHVybnMgTWVtYmVyIHBhdGggZGV0YWlscyB3aGVuIGF2YWlsYWJsZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBtZW1iZXIgPSBnZXRNZW1iZXJOYW1lKFwicHJvcHMudGl0bGVcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0TWVtYmVyTmFtZSA9IChub3JtYWxpemVkOiBzdHJpbmcpOiBQYXJhbWV0ZXJNZW1iZXJOYW1lIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgZG90SW5kZXggPSBub3JtYWxpemVkLmluZGV4T2YoXCIuXCIpO1xuXG4gIGlmIChkb3RJbmRleCA8PSAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IGJhc2VuYW1lID0gbm9ybWFsaXplZC5zbGljZSgwLCBkb3RJbmRleCk7XG4gIGNvbnN0IG1lbWJlclBhdGggPSBub3JtYWxpemVkLnNsaWNlKGRvdEluZGV4ICsgMSkudHJpbSgpO1xuXG4gIHJldHVybiBtZW1iZXJQYXRoLmxlbmd0aCA+IDAgPyB7IGJhc2VuYW1lLCBtZW1iZXJQYXRoIH0gOiB2b2lkIDA7XG59O1xuXG4vKipcbiAqIFBhcnNlcyBhIGBAcGFyYW1gIHRhZyBsaW5lIGludG8gYSBtZW1iZXIgdGFnIHdoZW4gYXBwbGljYWJsZS5cbiAqIEBwYXJhbSBsaW5lIENvbW1lbnQgbGluZSBtZXRhZGF0YS5cbiAqIEByZXR1cm5zIFBhcnNlZCBwYXJhbWV0ZXIgbWVtYmVyIHRhZyB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdGFnID0gcGFyc2VQYXJhbWV0ZXJUYWdMaW5lKGxpbmUpO1xuICogYGBgXG4gKi9cbmNvbnN0IHBhcnNlUGFyYW1ldGVyVGFnTGluZSA9IChcbiAgbGluZTogQ29tbWVudExpbmUsXG4pOiBQYXJhbWV0ZXJNZW1iZXJUYWcgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBjb250ZW50ID0gc3RyaXBKc2RvY0xpbmUobGluZS50ZXh0KTtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IGdldFBhcmFtZXRlck5hbWUoY29udGVudCk7XG5cbiAgaWYgKG5vcm1hbGl6ZWQgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCBtZW1iZXIgPSBnZXRNZW1iZXJOYW1lKG5vcm1hbGl6ZWQpO1xuXG4gIGlmIChtZW1iZXIgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICByZXR1cm4geyBiYXNlbmFtZTogbWVtYmVyLmJhc2VuYW1lLCBmdWxsTmFtZTogbm9ybWFsaXplZCwgbGluZSB9O1xufTtcblxuZXhwb3J0IHsgcGFyc2VQYXJhbWV0ZXJUYWdMaW5lIH07XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXRhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3Mvbm8taW50ZXJmYWNlLW1lbWJlci1kb2NzL3BhcmFtZXRlci10YWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLDZEQUE2RDtBQUM3RCxNQUFNLG1CQUFtQixHQUFHLDZDQUE2QyxDQUFDO0FBRTFFOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBRTVDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQWUsRUFBVSxFQUFFO0lBQ3BELE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFMUMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxPQUFlLEVBQVUsRUFBRSxDQUN6RCxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7S0FDdkIsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7S0FDbkIsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7S0FDbkIsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUV6Qjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUFlLEVBQXNCLEVBQUU7SUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QyxNQUFNLFVBQVUsR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVuRCxPQUFPLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUFrQixFQUFtQyxFQUFFO0lBQzVFLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFekMsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0MsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFekQsT0FBTyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQzVCLElBQWlCLEVBQ2UsRUFBRTtJQUNsQyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTdDLElBQUksVUFBVSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXpDLE9BQU8sTUFBTSxLQUFLLEtBQUssQ0FBQztRQUN0QixDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ1IsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNoRSxDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tbWVudExpbmUsIFBhcmFtZXRlck1lbWJlclRhZyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKiBNZW1iZXIgcGF0aCBkZXRhaWxzIGV4dHJhY3RlZCBmcm9tIGEgcGFyYW1ldGVyIHRhZy4gKi9cbmludGVyZmFjZSBQYXJhbWV0ZXJNZW1iZXJOYW1lIHtcbiAgLyoqIEJhc2VuYW1lIGZpZWxkIHZhbHVlLiAqL1xuICBiYXNlbmFtZTogc3RyaW5nO1xufVxuXG4vKiogRXh0cmFjdHMgdGhlIHBhcmFtZXRlciBuYW1lIGZyb20gYW4gYEBwYXJhbWAgdGFnIGxpbmUuICovXG5jb25zdCBwYXJhbWV0ZXJUYWdQYXR0ZXJuID0gL0BwYXJhbVxccysoPzpcXHtbXn1dKlxcfVxccyspPyg/PG5hbWU+W15cXHMtXSspL3U7XG5cbi8qKlxuICogRGVmaW5lcyBzdHJpcEpzZG9jTGluZS5cbiAqIEBwYXJhbSBsaW5lIElucHV0IGxpbmUgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHN0cmlwSnNkb2NMaW5lKCk7XG4gKiBgYGBcbiAqL1xuY29uc3Qgc3RyaXBKc2RvY0xpbmUgPSAobGluZTogc3RyaW5nKTogc3RyaW5nID0+XG4gIGxpbmUucmVwbGFjZSgvXlxccypcXC8/XFwqKlxccz8vdSwgXCJcIikudHJpbSgpO1xuXG4vKipcbiAqIERlZmluZXMgc3RyaXBEZWZhdWx0VmFsdWUuXG4gKiBAcGFyYW0gcmF3TmFtZSBJbnB1dCByYXdOYW1lIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBzdHJpcERlZmF1bHRWYWx1ZSgpO1xuICogYGBgXG4gKi9cbmNvbnN0IHN0cmlwRGVmYXVsdFZhbHVlID0gKHJhd05hbWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IFtoZWFkID0gXCJcIl0gPSByYXdOYW1lLnNwbGl0KFwiPVwiLCAxKTtcblxuICByZXR1cm4gaGVhZDtcbn07XG5cbi8qKlxuICogTm9ybWFsaXplcyBub3JtYWxpemVQYXJhbWV0ZXJOYW1lLlxuICogQHBhcmFtIHJhd05hbWUgSW5wdXQgcmF3TmFtZSB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogbm9ybWFsaXplUGFyYW1ldGVyTmFtZSgpO1xuICogYGBgXG4gKi9cbmNvbnN0IG5vcm1hbGl6ZVBhcmFtZXRlck5hbWUgPSAocmF3TmFtZTogc3RyaW5nKTogc3RyaW5nID0+XG4gIHN0cmlwRGVmYXVsdFZhbHVlKHJhd05hbWUpXG4gICAgLnJlcGxhY2UoL15cXFsvdSwgXCJcIilcbiAgICAucmVwbGFjZSgvXFxdJC91LCBcIlwiKVxuICAgIC5yZXBsYWNlKC9cXD8kL3UsIFwiXCIpO1xuXG4vKipcbiAqIEdldHMgZ2V0UGFyYW1ldGVyTmFtZS5cbiAqIEBwYXJhbSBjb250ZW50IElucHV0IGNvbnRlbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGdldFBhcmFtZXRlck5hbWUoKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRQYXJhbWV0ZXJOYW1lID0gKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmICghY29udGVudC5zdGFydHNXaXRoKFwiQHBhcmFtXCIpKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IG1hdGNoID0gcGFyYW1ldGVyVGFnUGF0dGVybi5leGVjKGNvbnRlbnQpO1xuICBjb25zdCByYXdOYW1lID0gbWF0Y2g/Lmdyb3Vwcz8uW1wibmFtZVwiXSA/PyBcIlwiO1xuICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplUGFyYW1ldGVyTmFtZShyYXdOYW1lKTtcblxuICByZXR1cm4gbm9ybWFsaXplZC5sZW5ndGggPiAwID8gbm9ybWFsaXplZCA6IHZvaWQgMDtcbn07XG5cbi8qKlxuICogRXh0cmFjdHMgbWVtYmVyIHBhdGggZGV0YWlscyBmcm9tIGEgbm9ybWFsaXplZCBwYXJhbWV0ZXIgbmFtZS5cbiAqIEBwYXJhbSBub3JtYWxpemVkIE5vcm1hbGl6ZWQgcGFyYW1ldGVyIG5hbWUuXG4gKiBAcmV0dXJucyBNZW1iZXIgcGF0aCBkZXRhaWxzIHdoZW4gYXZhaWxhYmxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG1lbWJlciA9IGdldE1lbWJlck5hbWUoXCJwcm9wcy50aXRsZVwiKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRNZW1iZXJOYW1lID0gKG5vcm1hbGl6ZWQ6IHN0cmluZyk6IFBhcmFtZXRlck1lbWJlck5hbWUgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBkb3RJbmRleCA9IG5vcm1hbGl6ZWQuaW5kZXhPZihcIi5cIik7XG5cbiAgaWYgKGRvdEluZGV4IDw9IDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgYmFzZW5hbWUgPSBub3JtYWxpemVkLnNsaWNlKDAsIGRvdEluZGV4KTtcbiAgY29uc3QgbWVtYmVyUGF0aCA9IG5vcm1hbGl6ZWQuc2xpY2UoZG90SW5kZXggKyAxKS50cmltKCk7XG5cbiAgcmV0dXJuIG1lbWJlclBhdGgubGVuZ3RoID4gMCA/IHsgYmFzZW5hbWUgfSA6IHZvaWQgMDtcbn07XG5cbi8qKlxuICogUGFyc2VzIGEgYEBwYXJhbWAgdGFnIGxpbmUgaW50byBhIG1lbWJlciB0YWcgd2hlbiBhcHBsaWNhYmxlLlxuICogQHBhcmFtIGxpbmUgQ29tbWVudCBsaW5lIG1ldGFkYXRhLlxuICogQHJldHVybnMgUGFyc2VkIHBhcmFtZXRlciBtZW1iZXIgdGFnIHdoZW4gcHJlc2VudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB0YWcgPSBwYXJzZVBhcmFtZXRlclRhZ0xpbmUobGluZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgcGFyc2VQYXJhbWV0ZXJUYWdMaW5lID0gKFxuICBsaW5lOiBDb21tZW50TGluZSxcbik6IFBhcmFtZXRlck1lbWJlclRhZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IGNvbnRlbnQgPSBzdHJpcEpzZG9jTGluZShsaW5lLnRleHQpO1xuICBjb25zdCBub3JtYWxpemVkID0gZ2V0UGFyYW1ldGVyTmFtZShjb250ZW50KTtcblxuICBpZiAobm9ybWFsaXplZCA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IG1lbWJlciA9IGdldE1lbWJlck5hbWUobm9ybWFsaXplZCk7XG5cbiAgcmV0dXJuIG1lbWJlciA9PT0gdm9pZCAwXG4gICAgPyB2b2lkIDBcbiAgICA6IHsgYmFzZW5hbWU6IG1lbWJlci5iYXNlbmFtZSwgZnVsbE5hbWU6IG5vcm1hbGl6ZWQsIGxpbmUgfTtcbn07XG5cbmV4cG9ydCB7IHBhcnNlUGFyYW1ldGVyVGFnTGluZSB9O1xuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/no-interface-member-docs/parameter-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAuKlD;;;;;;;;GAQG;AACH,QAAA,MAAM,sBAAsB,GAC1B,MAAM,IAAI,CAAC,IAAI,KACd,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAYhC,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,oBAAoB,GACxB,gBAAgB,kBAAkB,GAAG,SAAS,KAC7C,OAAqD,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"parameter-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/no-interface-member-docs/parameter-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAmKlD;;;;;;;;GAQG;AACH,QAAA,MAAM,sBAAsB,GAC1B,MAAM,IAAI,CAAC,IAAI,KACd,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAYhC,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,oBAAoB,GACxB,gBAAgB,kBAAkB,GAAG,SAAS,KAC7C,OAAqD,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,CAAC"}
@@ -28,10 +28,9 @@ const resolveParameterNode = (node) => {
28
28
  if (container.parameter !== void 0) {
29
29
  return container.parameter;
30
30
  }
31
- if (container.type === "AssignmentPattern" && container.left !== void 0) {
32
- return container.left;
33
- }
34
- return node;
31
+ return container.type === "AssignmentPattern" && container.left !== void 0
32
+ ? container.left
33
+ : node;
35
34
  };
36
35
  /**
37
36
  * Gets the parameter identifier for a parameter node.
@@ -49,10 +48,9 @@ const getParameterIdentifier = (node) => {
49
48
  }
50
49
  const identifier = resolved;
51
50
  const { name } = identifier;
52
- if (typeof name !== "string" || identifier.type !== "Identifier") {
53
- return void 0;
54
- }
55
- return { ...identifier, name };
51
+ return typeof name === "string" && identifier.type === "Identifier"
52
+ ? { ...identifier, name }
53
+ : void 0;
56
54
  };
57
55
  /**
58
56
  * Gets parameter info for the given node.
@@ -119,4 +117,4 @@ const getParameterTypeLookup = (node) => {
119
117
  */
120
118
  const isNamedTypeReference = (typeAnnotation) => typeAnnotation?.type === "TSTypeReference";
121
119
  export { getParameterTypeLookup, isNamedTypeReference };
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXV0aWxpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9uby1pbnRlcmZhY2UtbWVtYmVyLWRvY3MvcGFyYW1ldGVyLXV0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1REE7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQzVCLElBQW9CLEVBQ1ksRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDO0FBRXpFOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLElBQWEsRUFBVyxFQUFFO0lBQ3RELElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxJQUEwQixDQUFDO0lBRTdDLElBQUksU0FBUyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkMsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssbUJBQW1CLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hFLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sc0JBQXNCLEdBQUcsQ0FDN0IsSUFBYSxFQUNvQixFQUFFO0lBQ25DLE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTVDLElBQUksUUFBUSxLQUFLLElBQUksSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN0RCxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxRQUEwQixDQUFDO0lBQzlDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFFNUIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUUsQ0FBQztRQUNqRSxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLEVBQUUsR0FBRyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBYSxFQUE2QixFQUFFO0lBQ3BFLE1BQU0sVUFBVSxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhELElBQUksVUFBVSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFekQsT0FBTyxjQUFjLEtBQUssS0FBSyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFO1FBQzNCLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDO0FBQ2hELENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFhLEVBQWEsRUFBRTtJQUNqRCxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBd0IsQ0FBQztJQUUzQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDakUsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHNCQUFzQixHQUFHLENBQzdCLElBQWUsRUFDa0IsRUFBRTtJQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBOEIsQ0FBQztJQUVyRCxLQUFLLE1BQU0sU0FBUyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzVDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXpDLElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQzNCLGNBQThDLEVBQ3JDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsSUFBSSxLQUFLLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7IFR5cGVBbm5vdGF0aW9uTm9kZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGdW5jdGlvbkxpa2VOb2RlIHtcbiAgLyoqIFBhcmFtcyBoZWxwZXIgdmFsdWUuICovXG4gIHBhcmFtcz86IHVua25vd25bXTtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIElkZW50aWZpZXJOb2RlIHtcbiAgLyoqIE5hbWUgaGVscGVyIHZhbHVlLiAqL1xuICBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKiBUeXBlIGhlbHBlciB2YWx1ZS4gKi9cbiAgdHlwZT86IHN0cmluZztcblxuICAvKiogVHlwZUFubm90YXRpb24gaGVscGVyIHZhbHVlLiAqL1xuICB0eXBlQW5ub3RhdGlvbj86IHtcbiAgICAvKiogVHlwZUFubm90YXRpb24gaGVscGVyIHZhbHVlLiAqL1xuICAgIHR5cGVBbm5vdGF0aW9uPzogVHlwZUFubm90YXRpb25Ob2RlO1xuICB9O1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgTmFtZWRJZGVudGlmaWVyTm9kZSBleHRlbmRzIElkZW50aWZpZXJOb2RlIHtcbiAgLyoqIE5hbWUgZmllbGQgdmFsdWUuICovXG4gIG5hbWU6IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFBhcmFtZXRlckNvbnRhaW5lciB7XG4gIC8qKiBBcmd1bWVudCBoZWxwZXIgdmFsdWUuICovXG4gIGFyZ3VtZW50PzogdW5rbm93bjtcblxuICAvKiogTGVmdCBoZWxwZXIgdmFsdWUuICovXG4gIGxlZnQ/OiB1bmtub3duO1xuXG4gIC8qKiBQYXJhbWV0ZXIgaGVscGVyIHZhbHVlLiAqL1xuICBwYXJhbWV0ZXI/OiB1bmtub3duO1xuXG4gIC8qKiBUeXBlIGhlbHBlciB2YWx1ZS4gKi9cbiAgdHlwZT86IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFBhcmFtZXRlckluZm8ge1xuICAvKiogTmFtZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKiBUeXBlQW5ub3RhdGlvbiBoZWxwZXIgdmFsdWUuICovXG4gIHR5cGVBbm5vdGF0aW9uPzogVHlwZUFubm90YXRpb25Ob2RlO1xufVxuXG4vKipcbiAqIEdldHMgYSB0eXBlIGFubm90YXRpb24gbm9kZSBmcm9tIGFuIGlkZW50aWZpZXIuXG4gKiBAcGFyYW0gbm9kZSBJZGVudGlmaWVyIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRoZSB0eXBlIGFubm90YXRpb24gbm9kZSB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYW5ub3RhdGlvbiA9IGdldFR5cGVBbm5vdGF0aW9uTm9kZShpZGVudGlmaWVyKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRUeXBlQW5ub3RhdGlvbk5vZGUgPSAoXG4gIG5vZGU6IElkZW50aWZpZXJOb2RlLFxuKTogVHlwZUFubm90YXRpb25Ob2RlIHwgdW5kZWZpbmVkID0+IG5vZGUudHlwZUFubm90YXRpb24/LnR5cGVBbm5vdGF0aW9uO1xuXG4vKipcbiAqIERlZmluZXMgcmVzb2x2ZVBhcmFtZXRlck5vZGUuXG4gKiBAcGFyYW0gbm9kZSBJbnB1dCBub2RlIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXNvbHZlUGFyYW1ldGVyTm9kZSgpO1xuICogYGBgXG4gKi9cbmNvbnN0IHJlc29sdmVQYXJhbWV0ZXJOb2RlID0gKG5vZGU6IHVua25vd24pOiB1bmtub3duID0+IHtcbiAgaWYgKG5vZGUgPT09IG51bGwgfHwgdHlwZW9mIG5vZGUgIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lciA9IG5vZGUgYXMgUGFyYW1ldGVyQ29udGFpbmVyO1xuXG4gIGlmIChjb250YWluZXIuYXJndW1lbnQgIT09IHZvaWQgMCkge1xuICAgIHJldHVybiBjb250YWluZXIuYXJndW1lbnQ7XG4gIH1cblxuICBpZiAoY29udGFpbmVyLnBhcmFtZXRlciAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGNvbnRhaW5lci5wYXJhbWV0ZXI7XG4gIH1cblxuICBpZiAoY29udGFpbmVyLnR5cGUgPT09IFwiQXNzaWdubWVudFBhdHRlcm5cIiAmJiBjb250YWluZXIubGVmdCAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGNvbnRhaW5lci5sZWZ0O1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59O1xuXG4vKipcbiAqIEdldHMgdGhlIHBhcmFtZXRlciBpZGVudGlmaWVyIGZvciBhIHBhcmFtZXRlciBub2RlLlxuICogQHBhcmFtIG5vZGUgUGFyYW1ldGVyIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRoZSBpZGVudGlmaWVyIG5vZGUgd2hlbiBwcmVzZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGlkZW50aWZpZXIgPSBnZXRQYXJhbWV0ZXJJZGVudGlmaWVyKG5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFBhcmFtZXRlcklkZW50aWZpZXIgPSAoXG4gIG5vZGU6IHVua25vd24sXG4pOiBOYW1lZElkZW50aWZpZXJOb2RlIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlUGFyYW1ldGVyTm9kZShub2RlKTtcblxuICBpZiAocmVzb2x2ZWQgPT09IG51bGwgfHwgdHlwZW9mIHJlc29sdmVkICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IGlkZW50aWZpZXIgPSByZXNvbHZlZCBhcyBJZGVudGlmaWVyTm9kZTtcbiAgY29uc3QgeyBuYW1lIH0gPSBpZGVudGlmaWVyO1xuXG4gIGlmICh0eXBlb2YgbmFtZSAhPT0gXCJzdHJpbmdcIiB8fCBpZGVudGlmaWVyLnR5cGUgIT09IFwiSWRlbnRpZmllclwiKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIHJldHVybiB7IC4uLmlkZW50aWZpZXIsIG5hbWUgfTtcbn07XG5cbi8qKlxuICogR2V0cyBwYXJhbWV0ZXIgaW5mbyBmb3IgdGhlIGdpdmVuIG5vZGUuXG4gKiBAcGFyYW0gbm9kZSBQYXJhbWV0ZXIgbm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgUGFyYW1ldGVyIGluZm8gd2hlbiBhdmFpbGFibGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaW5mbyA9IGdldFBhcmFtZXRlckluZm8obm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0UGFyYW1ldGVySW5mbyA9IChub2RlOiB1bmtub3duKTogUGFyYW1ldGVySW5mbyB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IGlkZW50aWZpZXIgPSBnZXRQYXJhbWV0ZXJJZGVudGlmaWVyKG5vZGUpO1xuXG4gIGlmIChpZGVudGlmaWVyID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgdHlwZUFubm90YXRpb24gPSBnZXRUeXBlQW5ub3RhdGlvbk5vZGUoaWRlbnRpZmllcik7XG5cbiAgcmV0dXJuIHR5cGVBbm5vdGF0aW9uID09PSB2b2lkIDBcbiAgICA/IHsgbmFtZTogaWRlbnRpZmllci5uYW1lIH1cbiAgICA6IHsgbmFtZTogaWRlbnRpZmllci5uYW1lLCB0eXBlQW5ub3RhdGlvbiB9O1xufTtcblxuLyoqXG4gKiBHZXRzIGdldFBhcmFtZXRlcnMuXG4gKiBAcGFyYW0gbm9kZSBJbnB1dCBub2RlIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRQYXJhbWV0ZXJzKCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0UGFyYW1ldGVycyA9IChub2RlOiB1bmtub3duKTogdW5rbm93bltdID0+IHtcbiAgaWYgKG5vZGUgPT09IG51bGwgfHwgdHlwZW9mIG5vZGUgIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCB0eXBlZE5vZGUgPSBub2RlIGFzIEZ1bmN0aW9uTGlrZU5vZGU7XG5cbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodHlwZWROb2RlLnBhcmFtcykgPyB0eXBlZE5vZGUucGFyYW1zIDogW107XG59O1xuXG4vKipcbiAqIEJ1aWxkcyBhIGxvb2t1cCBvZiBwYXJhbWV0ZXIgbmFtZXMgdG8gdHlwZSBhbm5vdGF0aW9ucy5cbiAqIEBwYXJhbSBub2RlIEZ1bmN0aW9uLWxpa2Ugbm9kZS5cbiAqIEByZXR1cm5zIExvb2t1cCBvZiBwYXJhbWV0ZXIgbmFtZXMgdG8gYW5ub3RhdGlvbnMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbG9va3VwID0gZ2V0UGFyYW1ldGVyVHlwZUxvb2t1cChub2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRQYXJhbWV0ZXJUeXBlTG9va3VwID0gKFxuICBub2RlOiBSdWxlLk5vZGUsXG4pOiBNYXA8c3RyaW5nLCBUeXBlQW5ub3RhdGlvbk5vZGU+ID0+IHtcbiAgY29uc3QgbG9va3VwID0gbmV3IE1hcDxzdHJpbmcsIFR5cGVBbm5vdGF0aW9uTm9kZT4oKTtcblxuICBmb3IgKGNvbnN0IHBhcmFtZXRlciBvZiBnZXRQYXJhbWV0ZXJzKG5vZGUpKSB7XG4gICAgY29uc3QgaW5mbyA9IGdldFBhcmFtZXRlckluZm8ocGFyYW1ldGVyKTtcblxuICAgIGlmIChpbmZvICE9PSB2b2lkIDAgJiYgaW5mby50eXBlQW5ub3RhdGlvbiAhPT0gdm9pZCAwKSB7XG4gICAgICBsb29rdXAuc2V0KGluZm8ubmFtZSwgaW5mby50eXBlQW5ub3RhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxvb2t1cDtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSB0eXBlIGFubm90YXRpb24gaXMgYSBuYW1lZCB0eXBlIHJlZmVyZW5jZS5cbiAqIEBwYXJhbSB0eXBlQW5ub3RhdGlvbiBUeXBlIGFubm90YXRpb24gdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgYW5ub3RhdGlvbiBpcyBhIG5hbWVkIHJlZmVyZW5jZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGlzTmFtZWRUeXBlUmVmZXJlbmNlKGFubm90YXRpb24pO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzTmFtZWRUeXBlUmVmZXJlbmNlID0gKFxuICB0eXBlQW5ub3RhdGlvbjogVHlwZUFubm90YXRpb25Ob2RlIHwgdW5kZWZpbmVkLFxuKTogYm9vbGVhbiA9PiB0eXBlQW5ub3RhdGlvbj8udHlwZSA9PT0gXCJUU1R5cGVSZWZlcmVuY2VcIjtcblxuZXhwb3J0IHsgZ2V0UGFyYW1ldGVyVHlwZUxvb2t1cCwgaXNOYW1lZFR5cGVSZWZlcmVuY2UgfTtcbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXV0aWxpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9uby1pbnRlcmZhY2UtbWVtYmVyLWRvY3MvcGFyYW1ldGVyLXV0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1REE7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQzVCLElBQW9CLEVBQ1ksRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDO0FBRXpFOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLElBQWEsRUFBVyxFQUFFO0lBQ3RELElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxJQUEwQixDQUFDO0lBRTdDLElBQUksU0FBUyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkMsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLEtBQUssbUJBQW1CLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUM7UUFDeEUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJO1FBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDWCxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sc0JBQXNCLEdBQUcsQ0FDN0IsSUFBYSxFQUNvQixFQUFFO0lBQ25DLE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTVDLElBQUksUUFBUSxLQUFLLElBQUksSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN0RCxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxRQUEwQixDQUFDO0lBQzlDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFFNUIsT0FBTyxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxZQUFZO1FBQ2pFLENBQUMsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLElBQUksRUFBRTtRQUN6QixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFhLEVBQTZCLEVBQUU7SUFDcEUsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFaEQsSUFBSSxVQUFVLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV6RCxPQUFPLGNBQWMsS0FBSyxLQUFLLENBQUM7UUFDOUIsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUU7UUFDM0IsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQWEsRUFBYSxFQUFFO0lBQ2pELElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxJQUF3QixDQUFDO0lBRTNDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNqRSxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sc0JBQXNCLEdBQUcsQ0FDN0IsSUFBZSxFQUNrQixFQUFFO0lBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO0lBRXJELEtBQUssTUFBTSxTQUFTLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDNUMsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFekMsSUFBSSxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RELE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sb0JBQW9CLEdBQUcsQ0FDM0IsY0FBOEMsRUFDckMsRUFBRSxDQUFDLGNBQWMsRUFBRSxJQUFJLEtBQUssaUJBQWlCLENBQUM7QUFFekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB0eXBlIHsgVHlwZUFubm90YXRpb25Ob2RlIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEZ1bmN0aW9uTGlrZU5vZGUge1xuICAvKiogUGFyYW1zIGhlbHBlciB2YWx1ZS4gKi9cbiAgcGFyYW1zPzogdW5rbm93bltdO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgSWRlbnRpZmllck5vZGUge1xuICAvKiogTmFtZSBoZWxwZXIgdmFsdWUuICovXG4gIG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqIFR5cGUgaGVscGVyIHZhbHVlLiAqL1xuICB0eXBlPzogc3RyaW5nO1xuXG4gIC8qKiBUeXBlQW5ub3RhdGlvbiBoZWxwZXIgdmFsdWUuICovXG4gIHR5cGVBbm5vdGF0aW9uPzoge1xuICAgIC8qKiBUeXBlQW5ub3RhdGlvbiBoZWxwZXIgdmFsdWUuICovXG4gICAgdHlwZUFubm90YXRpb24/OiBUeXBlQW5ub3RhdGlvbk5vZGU7XG4gIH07XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBOYW1lZElkZW50aWZpZXJOb2RlIGV4dGVuZHMgSWRlbnRpZmllck5vZGUge1xuICAvKiogTmFtZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbmFtZTogc3RyaW5nO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgUGFyYW1ldGVyQ29udGFpbmVyIHtcbiAgLyoqIEFyZ3VtZW50IGhlbHBlciB2YWx1ZS4gKi9cbiAgYXJndW1lbnQ/OiB1bmtub3duO1xuXG4gIC8qKiBMZWZ0IGhlbHBlciB2YWx1ZS4gKi9cbiAgbGVmdD86IHVua25vd247XG5cbiAgLyoqIFBhcmFtZXRlciBoZWxwZXIgdmFsdWUuICovXG4gIHBhcmFtZXRlcj86IHVua25vd247XG5cbiAgLyoqIFR5cGUgaGVscGVyIHZhbHVlLiAqL1xuICB0eXBlPzogc3RyaW5nO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgUGFyYW1ldGVySW5mbyB7XG4gIC8qKiBOYW1lIGZpZWxkIHZhbHVlLiAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqIFR5cGVBbm5vdGF0aW9uIGhlbHBlciB2YWx1ZS4gKi9cbiAgdHlwZUFubm90YXRpb24/OiBUeXBlQW5ub3RhdGlvbk5vZGU7XG59XG5cbi8qKlxuICogR2V0cyBhIHR5cGUgYW5ub3RhdGlvbiBub2RlIGZyb20gYW4gaWRlbnRpZmllci5cbiAqIEBwYXJhbSBub2RlIElkZW50aWZpZXIgbm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVGhlIHR5cGUgYW5ub3RhdGlvbiBub2RlIHdoZW4gcHJlc2VudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBhbm5vdGF0aW9uID0gZ2V0VHlwZUFubm90YXRpb25Ob2RlKGlkZW50aWZpZXIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFR5cGVBbm5vdGF0aW9uTm9kZSA9IChcbiAgbm9kZTogSWRlbnRpZmllck5vZGUsXG4pOiBUeXBlQW5ub3RhdGlvbk5vZGUgfCB1bmRlZmluZWQgPT4gbm9kZS50eXBlQW5ub3RhdGlvbj8udHlwZUFubm90YXRpb247XG5cbi8qKlxuICogRGVmaW5lcyByZXNvbHZlUGFyYW1ldGVyTm9kZS5cbiAqIEBwYXJhbSBub2RlIElucHV0IG5vZGUgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlc29sdmVQYXJhbWV0ZXJOb2RlKCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgcmVzb2x2ZVBhcmFtZXRlck5vZGUgPSAobm9kZTogdW5rbm93bik6IHVua25vd24gPT4ge1xuICBpZiAobm9kZSA9PT0gbnVsbCB8fCB0eXBlb2Ygbm9kZSAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgY29uc3QgY29udGFpbmVyID0gbm9kZSBhcyBQYXJhbWV0ZXJDb250YWluZXI7XG5cbiAgaWYgKGNvbnRhaW5lci5hcmd1bWVudCAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGNvbnRhaW5lci5hcmd1bWVudDtcbiAgfVxuXG4gIGlmIChjb250YWluZXIucGFyYW1ldGVyICE9PSB2b2lkIDApIHtcbiAgICByZXR1cm4gY29udGFpbmVyLnBhcmFtZXRlcjtcbiAgfVxuXG4gIHJldHVybiBjb250YWluZXIudHlwZSA9PT0gXCJBc3NpZ25tZW50UGF0dGVyblwiICYmIGNvbnRhaW5lci5sZWZ0ICE9PSB2b2lkIDBcbiAgICA/IGNvbnRhaW5lci5sZWZ0XG4gICAgOiBub2RlO1xufTtcblxuLyoqXG4gKiBHZXRzIHRoZSBwYXJhbWV0ZXIgaWRlbnRpZmllciBmb3IgYSBwYXJhbWV0ZXIgbm9kZS5cbiAqIEBwYXJhbSBub2RlIFBhcmFtZXRlciBub2RlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUaGUgaWRlbnRpZmllciBub2RlIHdoZW4gcHJlc2VudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBpZGVudGlmaWVyID0gZ2V0UGFyYW1ldGVySWRlbnRpZmllcihub2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRQYXJhbWV0ZXJJZGVudGlmaWVyID0gKFxuICBub2RlOiB1bmtub3duLFxuKTogTmFtZWRJZGVudGlmaWVyTm9kZSB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZVBhcmFtZXRlck5vZGUobm9kZSk7XG5cbiAgaWYgKHJlc29sdmVkID09PSBudWxsIHx8IHR5cGVvZiByZXNvbHZlZCAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCBpZGVudGlmaWVyID0gcmVzb2x2ZWQgYXMgSWRlbnRpZmllck5vZGU7XG4gIGNvbnN0IHsgbmFtZSB9ID0gaWRlbnRpZmllcjtcblxuICByZXR1cm4gdHlwZW9mIG5hbWUgPT09IFwic3RyaW5nXCIgJiYgaWRlbnRpZmllci50eXBlID09PSBcIklkZW50aWZpZXJcIlxuICAgID8geyAuLi5pZGVudGlmaWVyLCBuYW1lIH1cbiAgICA6IHZvaWQgMDtcbn07XG5cbi8qKlxuICogR2V0cyBwYXJhbWV0ZXIgaW5mbyBmb3IgdGhlIGdpdmVuIG5vZGUuXG4gKiBAcGFyYW0gbm9kZSBQYXJhbWV0ZXIgbm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgUGFyYW1ldGVyIGluZm8gd2hlbiBhdmFpbGFibGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaW5mbyA9IGdldFBhcmFtZXRlckluZm8obm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0UGFyYW1ldGVySW5mbyA9IChub2RlOiB1bmtub3duKTogUGFyYW1ldGVySW5mbyB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IGlkZW50aWZpZXIgPSBnZXRQYXJhbWV0ZXJJZGVudGlmaWVyKG5vZGUpO1xuXG4gIGlmIChpZGVudGlmaWVyID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgdHlwZUFubm90YXRpb24gPSBnZXRUeXBlQW5ub3RhdGlvbk5vZGUoaWRlbnRpZmllcik7XG5cbiAgcmV0dXJuIHR5cGVBbm5vdGF0aW9uID09PSB2b2lkIDBcbiAgICA/IHsgbmFtZTogaWRlbnRpZmllci5uYW1lIH1cbiAgICA6IHsgbmFtZTogaWRlbnRpZmllci5uYW1lLCB0eXBlQW5ub3RhdGlvbiB9O1xufTtcblxuLyoqXG4gKiBHZXRzIGdldFBhcmFtZXRlcnMuXG4gKiBAcGFyYW0gbm9kZSBJbnB1dCBub2RlIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRQYXJhbWV0ZXJzKCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0UGFyYW1ldGVycyA9IChub2RlOiB1bmtub3duKTogdW5rbm93bltdID0+IHtcbiAgaWYgKG5vZGUgPT09IG51bGwgfHwgdHlwZW9mIG5vZGUgIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCB0eXBlZE5vZGUgPSBub2RlIGFzIEZ1bmN0aW9uTGlrZU5vZGU7XG5cbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodHlwZWROb2RlLnBhcmFtcykgPyB0eXBlZE5vZGUucGFyYW1zIDogW107XG59O1xuXG4vKipcbiAqIEJ1aWxkcyBhIGxvb2t1cCBvZiBwYXJhbWV0ZXIgbmFtZXMgdG8gdHlwZSBhbm5vdGF0aW9ucy5cbiAqIEBwYXJhbSBub2RlIEZ1bmN0aW9uLWxpa2Ugbm9kZS5cbiAqIEByZXR1cm5zIExvb2t1cCBvZiBwYXJhbWV0ZXIgbmFtZXMgdG8gYW5ub3RhdGlvbnMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbG9va3VwID0gZ2V0UGFyYW1ldGVyVHlwZUxvb2t1cChub2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRQYXJhbWV0ZXJUeXBlTG9va3VwID0gKFxuICBub2RlOiBSdWxlLk5vZGUsXG4pOiBNYXA8c3RyaW5nLCBUeXBlQW5ub3RhdGlvbk5vZGU+ID0+IHtcbiAgY29uc3QgbG9va3VwID0gbmV3IE1hcDxzdHJpbmcsIFR5cGVBbm5vdGF0aW9uTm9kZT4oKTtcblxuICBmb3IgKGNvbnN0IHBhcmFtZXRlciBvZiBnZXRQYXJhbWV0ZXJzKG5vZGUpKSB7XG4gICAgY29uc3QgaW5mbyA9IGdldFBhcmFtZXRlckluZm8ocGFyYW1ldGVyKTtcblxuICAgIGlmIChpbmZvICE9PSB2b2lkIDAgJiYgaW5mby50eXBlQW5ub3RhdGlvbiAhPT0gdm9pZCAwKSB7XG4gICAgICBsb29rdXAuc2V0KGluZm8ubmFtZSwgaW5mby50eXBlQW5ub3RhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxvb2t1cDtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSB0eXBlIGFubm90YXRpb24gaXMgYSBuYW1lZCB0eXBlIHJlZmVyZW5jZS5cbiAqIEBwYXJhbSB0eXBlQW5ub3RhdGlvbiBUeXBlIGFubm90YXRpb24gdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgYW5ub3RhdGlvbiBpcyBhIG5hbWVkIHJlZmVyZW5jZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGlzTmFtZWRUeXBlUmVmZXJlbmNlKGFubm90YXRpb24pO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzTmFtZWRUeXBlUmVmZXJlbmNlID0gKFxuICB0eXBlQW5ub3RhdGlvbjogVHlwZUFubm90YXRpb25Ob2RlIHwgdW5kZWZpbmVkLFxuKTogYm9vbGVhbiA9PiB0eXBlQW5ub3RhdGlvbj8udHlwZSA9PT0gXCJUU1R5cGVSZWZlcmVuY2VcIjtcblxuZXhwb3J0IHsgZ2V0UGFyYW1ldGVyVHlwZUxvb2t1cCwgaXNOYW1lZFR5cGVSZWZlcmVuY2UgfTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/no-interface-member-docs/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AA+PnC,+EAA+E;AAC/E,QAAA,MAAM,kCAAkC,EAAE,IAAI,CAAC,UAqC9C,CAAC;AAEF,OAAO,EAAE,kCAAkC,EAAE,CAAC"}
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/no-interface-member-docs/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAgPnC,+EAA+E;AAC/E,QAAA,MAAM,kCAAkC,EAAE,IAAI,CAAC,UAqC9C,CAAC;AAEF,OAAO,EAAE,kCAAkC,EAAE,CAAC"}