@o3r/rules-engine 11.6.0-prerelease.2 → 11.6.0-prerelease.21

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 (163) hide show
  1. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.d.ts +1 -10
  2. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.d.ts.map +1 -1
  3. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.interfaces.d.ts +1 -2
  4. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.interfaces.d.ts.map +1 -1
  5. package/builders/rules-engine-extractor/helpers/rules-engine.extractor.js +27 -36
  6. package/builders/rules-engine-extractor/index.d.ts.map +1 -1
  7. package/builders/rules-engine-extractor/index.js +15 -20
  8. package/builders/rules-engine-extractor/schema.d.ts.map +1 -1
  9. package/components/rules-engine/index.d.ts +1 -1
  10. package/components/rules-engine/index.d.ts.map +1 -1
  11. package/components/rules-engine/rule-actions/rule-actions-pres.component.d.ts.map +1 -1
  12. package/components/rules-engine/rule-condition/rule-condition-pres.component.d.ts.map +1 -1
  13. package/components/rules-engine/rule-key-value/rule-key-value-pres.component.d.ts.map +1 -1
  14. package/components/rules-engine/rule-tree/rule-tree-pres.component.d.ts.map +1 -1
  15. package/components/rules-engine/ruleset-history/ruleset-history-pres.component.d.ts.map +1 -1
  16. package/components/rules-engine/ruleset-history/ruleset-history-pres.module.d.ts.map +1 -1
  17. package/components/rules-engine/shared/fallback-to.pipe.d.ts.map +1 -1
  18. package/components/rules-engine/shared/index.d.ts +1 -1
  19. package/components/rules-engine/shared/index.d.ts.map +1 -1
  20. package/components/rules-engine/shared/json-or-string.pipe.d.ts.map +1 -1
  21. package/components/rules-engine/shared/ruleset-history.helper.d.ts.map +1 -1
  22. package/devkit/rules-engine-devkit.interface.d.ts.map +1 -1
  23. package/devkit/rules-engine-devtools.console.service.d.ts.map +1 -1
  24. package/devkit/rules-engine-devtools.message.service.d.ts +1 -1
  25. package/devkit/rules-engine-devtools.message.service.d.ts.map +1 -1
  26. package/devkit/rules-engine-devtools.module.d.ts.map +1 -1
  27. package/devkit/rules-engine-devtools.service.d.ts.map +1 -1
  28. package/devkit/rules-engine-devtools.token.d.ts +1 -1
  29. package/devkit/rules-engine-devtools.token.d.ts.map +1 -1
  30. package/engine/debug/engine.debug.d.ts +0 -2
  31. package/engine/debug/engine.debug.d.ts.map +1 -1
  32. package/engine/debug/helpers.d.ts.map +1 -1
  33. package/engine/engine.d.ts +1 -4
  34. package/engine/engine.d.ts.map +1 -1
  35. package/engine/engine.interface.d.ts.map +1 -1
  36. package/engine/fact/fact.interfaces.d.ts.map +1 -1
  37. package/engine/helpers/filter-ruleset-event.operator.d.ts.map +1 -1
  38. package/engine/operator/operator.helpers.d.ts +1 -3
  39. package/engine/operator/operator.helpers.d.ts.map +1 -1
  40. package/engine/operator/operator.interface.d.ts.map +1 -1
  41. package/engine/operator/operators/array-based.operators.d.ts.map +1 -1
  42. package/engine/operator/operators/basic.operators.d.ts.map +1 -1
  43. package/engine/operator/operators/date-based.operators.d.ts.map +1 -1
  44. package/engine/operator/operators/index.d.ts +2 -2
  45. package/engine/operator/operators/index.d.ts.map +1 -1
  46. package/engine/operator/operators/number-based.operators.d.ts.map +1 -1
  47. package/engine/ruleset-executor.d.ts +7 -2
  48. package/engine/ruleset-executor.d.ts.map +1 -1
  49. package/engine/structure.d.ts.map +1 -1
  50. package/esm2022/components/rules-engine/index.mjs +2 -2
  51. package/esm2022/components/rules-engine/rule-actions/rule-actions-pres.component.mjs +5 -5
  52. package/esm2022/components/rules-engine/rule-condition/rule-condition-pres.component.mjs +6 -7
  53. package/esm2022/components/rules-engine/rule-key-value/rule-key-value-pres.component.mjs +8 -8
  54. package/esm2022/components/rules-engine/rule-tree/rule-tree-pres.component.mjs +5 -5
  55. package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.component.mjs +9 -9
  56. package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.module.mjs +13 -13
  57. package/esm2022/components/rules-engine/shared/fallback-to.pipe.mjs +9 -9
  58. package/esm2022/components/rules-engine/shared/index.mjs +2 -2
  59. package/esm2022/components/rules-engine/shared/json-or-string.pipe.mjs +5 -5
  60. package/esm2022/components/rules-engine/shared/ruleset-history.helper.mjs +5 -5
  61. package/esm2022/devkit/index.mjs +1 -1
  62. package/esm2022/devkit/rules-engine-devkit.interface.mjs +4 -4
  63. package/esm2022/devkit/rules-engine-devtools.console.service.mjs +8 -10
  64. package/esm2022/devkit/rules-engine-devtools.message.service.mjs +15 -15
  65. package/esm2022/devkit/rules-engine-devtools.module.mjs +11 -11
  66. package/esm2022/devkit/rules-engine-devtools.service.mjs +19 -19
  67. package/esm2022/devkit/rules-engine-devtools.token.mjs +2 -2
  68. package/esm2022/engine/debug/engine.debug.mjs +16 -18
  69. package/esm2022/engine/debug/helpers.mjs +11 -11
  70. package/esm2022/engine/engine.interface.mjs +1 -1
  71. package/esm2022/engine/engine.mjs +12 -15
  72. package/esm2022/engine/fact/fact.interfaces.mjs +1 -1
  73. package/esm2022/engine/helpers/filter-ruleset-event.operator.mjs +6 -6
  74. package/esm2022/engine/operator/operator.helpers.mjs +15 -17
  75. package/esm2022/engine/operator/operator.interface.mjs +1 -1
  76. package/esm2022/engine/operator/operators/array-based.operators.mjs +11 -11
  77. package/esm2022/engine/operator/operators/basic.operators.mjs +8 -8
  78. package/esm2022/engine/operator/operators/date-based.operators.mjs +3 -3
  79. package/esm2022/engine/operator/operators/index.mjs +6 -6
  80. package/esm2022/engine/operator/operators/number-based.operators.mjs +2 -2
  81. package/esm2022/engine/rule/index.mjs +1 -1
  82. package/esm2022/engine/rule/rule.helpers.mjs +1 -1
  83. package/esm2022/engine/ruleset-executor.mjs +27 -23
  84. package/esm2022/engine/structure.mjs +1 -1
  85. package/esm2022/fact/fact.abstract-service.mjs +1 -1
  86. package/esm2022/fact/reserved.facts.mjs +1 -1
  87. package/esm2022/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.mjs +1 -1
  88. package/esm2022/fixtures/jest/rules-engine.runner.service.fixture.jest.mjs +1 -1
  89. package/esm2022/inner-facts/current-time/current-time-fact.service.mjs +8 -8
  90. package/esm2022/inner-facts/current-time/current-time.facts.mjs +1 -1
  91. package/esm2022/inner-facts/current-time/index.mjs +2 -2
  92. package/esm2022/interfaces/action.interfaces.mjs +1 -1
  93. package/esm2022/interfaces/index.mjs +1 -1
  94. package/esm2022/public_api.mjs +1 -2
  95. package/esm2022/services/index.mjs +2 -2
  96. package/esm2022/services/rules-engine.token.mjs +2 -2
  97. package/esm2022/services/runner/rules-engine.runner.module.mjs +11 -11
  98. package/esm2022/services/runner/rules-engine.runner.service.mjs +34 -17
  99. package/esm2022/stores/rulesets/rulesets.actions.mjs +3 -3
  100. package/esm2022/stores/rulesets/rulesets.effect.mjs +10 -10
  101. package/esm2022/stores/rulesets/rulesets.module.mjs +11 -11
  102. package/esm2022/stores/rulesets/rulesets.reducer.mjs +4 -4
  103. package/esm2022/stores/rulesets/rulesets.selectors.mjs +10 -10
  104. package/esm2022/stores/rulesets/rulesets.state.mjs +1 -1
  105. package/esm2022/stores/rulesets/rulesets.sync.mjs +3 -3
  106. package/fact/fact.abstract-service.d.ts.map +1 -1
  107. package/fact/reserved.facts.d.ts.map +1 -1
  108. package/fesm2022/o3r-rules-engine-fixtures-jasmine.mjs.map +1 -1
  109. package/fesm2022/o3r-rules-engine-fixtures-jest.mjs.map +1 -1
  110. package/fesm2022/o3r-rules-engine.mjs +322 -311
  111. package/fesm2022/o3r-rules-engine.mjs.map +1 -1
  112. package/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.d.ts.map +1 -1
  113. package/fixtures/jest/rules-engine.runner.service.fixture.jest.d.ts.map +1 -1
  114. package/fixtures/jest/rules-engine.runner.service.fixture.jest.js.map +1 -1
  115. package/inner-facts/current-time/current-time-fact.service.d.ts +1 -1
  116. package/inner-facts/current-time/current-time-fact.service.d.ts.map +1 -1
  117. package/inner-facts/current-time/current-time.facts.d.ts.map +1 -1
  118. package/inner-facts/current-time/index.d.ts +1 -1
  119. package/inner-facts/current-time/index.d.ts.map +1 -1
  120. package/interfaces/action.interfaces.d.ts.map +1 -1
  121. package/migration.json +5 -0
  122. package/package.json +5 -5
  123. package/public_api.d.ts +0 -1
  124. package/public_api.d.ts.map +1 -1
  125. package/schemas/rulesets.schema.json +20 -0
  126. package/schematics/cms-adapter/index.d.ts.map +1 -1
  127. package/schematics/cms-adapter/index.js +1 -3
  128. package/schematics/facts-service/index.d.ts.map +1 -1
  129. package/schematics/facts-service/index.js +2 -2
  130. package/schematics/facts-service/schema.d.ts.map +1 -1
  131. package/schematics/ng-add/helpers/devtools-registration.d.ts +0 -2
  132. package/schematics/ng-add/helpers/devtools-registration.d.ts.map +1 -1
  133. package/schematics/ng-add/helpers/devtools-registration.js +2 -4
  134. package/schematics/ng-add/index.d.ts.map +1 -1
  135. package/schematics/ng-add/index.js +8 -11
  136. package/schematics/ng-add/schema.d.ts.map +1 -1
  137. package/schematics/ng-update/index.d.ts +5 -1
  138. package/schematics/ng-update/index.d.ts.map +1 -1
  139. package/schematics/ng-update/index.js +17 -5
  140. package/schematics/ng-update/v10.0/action-module-split.d.ts.map +1 -1
  141. package/schematics/ng-update/v10.0/action-module-split.js +0 -2
  142. package/schematics/ng-update/v11.6/use-register-action-handlers.d.ts +7 -0
  143. package/schematics/ng-update/v11.6/use-register-action-handlers.d.ts.map +1 -0
  144. package/schematics/ng-update/v11.6/use-register-action-handlers.js +20 -0
  145. package/schematics/operator/index.d.ts.map +1 -1
  146. package/schematics/operator/index.js +2 -2
  147. package/schematics/operator/schema.d.ts.map +1 -1
  148. package/schematics/rules-engine-to-component/index.d.ts.map +1 -1
  149. package/schematics/rules-engine-to-component/schema.d.ts.map +1 -1
  150. package/services/index.d.ts +1 -1
  151. package/services/index.d.ts.map +1 -1
  152. package/services/rules-engine.token.d.ts +1 -1
  153. package/services/rules-engine.token.d.ts.map +1 -1
  154. package/services/runner/rules-engine.runner.module.d.ts.map +1 -1
  155. package/services/runner/rules-engine.runner.service.d.ts +19 -6
  156. package/services/runner/rules-engine.runner.service.d.ts.map +1 -1
  157. package/stores/rulesets/rulesets.actions.d.ts.map +1 -1
  158. package/stores/rulesets/rulesets.effect.d.ts.map +1 -1
  159. package/stores/rulesets/rulesets.module.d.ts.map +1 -1
  160. package/stores/rulesets/rulesets.reducer.d.ts.map +1 -1
  161. package/stores/rulesets/rulesets.selectors.d.ts.map +1 -1
  162. package/stores/rulesets/rulesets.state.d.ts.map +1 -1
  163. package/stores/rulesets/rulesets.sync.d.ts.map +1 -1
@@ -1,10 +1,10 @@
1
1
  /** Ruleset executor */
2
- import { JSONPath } from 'jsonpath-plus';
3
- import { combineLatest, of } from 'rxjs';
4
- import { distinctUntilChanged, map, pairwise, shareReplay, startWith, switchMap, tap } from 'rxjs/operators';
5
- import { handleRuleEvaluationDebug } from './debug/helpers';
6
- import { executeOperator } from './operator/operator.helpers';
7
- import { isAllConditions, isConditionProperties, isNotCondition, isOperandFact, isOperandLiteral, isOperandRuntimeFact } from './rule/rule.helpers';
2
+ import { JSONPath, } from 'jsonpath-plus';
3
+ import { combineLatest, of, } from 'rxjs';
4
+ import { distinctUntilChanged, map, pairwise, shareReplay, startWith, switchMap, tap, } from 'rxjs/operators';
5
+ import { handleRuleEvaluationDebug, } from './debug/helpers';
6
+ import { executeOperator, } from './operator/operator.helpers';
7
+ import { isAllConditions, isConditionProperties, isNotCondition, isOperandFact, isOperandLiteral, isOperandRuntimeFact, } from './rule/rule.helpers';
8
8
  export class RulesetExecutor {
9
9
  /**
10
10
  * Create a new ruleset executor
@@ -13,6 +13,15 @@ export class RulesetExecutor {
13
13
  */
14
14
  constructor(ruleset, rulesEngine) {
15
15
  this.executionCounter = 0;
16
+ /**
17
+ * Find rule input facts
18
+ * @param obj
19
+ */
20
+ this.findRuleInputFacts = (obj) => {
21
+ const ruleInputFacts = new Set();
22
+ this.collectRuleInputFacts(obj, ruleInputFacts);
23
+ return Array.from(ruleInputFacts);
24
+ };
16
25
  this.ruleset = ruleset;
17
26
  this.rulesEngine = rulesEngine;
18
27
  this.operators = rulesEngine.operators;
@@ -36,7 +45,7 @@ export class RulesetExecutor {
36
45
  if ((key === 'operator') && isConditionProperties(currentObject)) {
37
46
  const op = this.operators[currentObject[key]];
38
47
  if (op && op.factImplicitDependencies) {
39
- op.factImplicitDependencies.forEach(dep => ruleInputFacts.add(dep));
48
+ op.factImplicitDependencies.forEach((dep) => ruleInputFacts.add(dep));
40
49
  }
41
50
  }
42
51
  else if (typeof currentObject[key] === 'object') {
@@ -71,7 +80,7 @@ export class RulesetExecutor {
71
80
  }
72
81
  else if (isOperandFact(operand)) {
73
82
  const factValue = factsValue[operand.value];
74
- // eslint-disable-next-line new-cap
83
+ // eslint-disable-next-line new-cap -- convention for JSONPath
75
84
  return operand.path ? factValue && JSONPath({ wrap: false, json: factValue, path: operand.path }) : factValue;
76
85
  }
77
86
  else if (isOperandLiteral(operand)) {
@@ -98,9 +107,9 @@ export class RulesetExecutor {
98
107
  * Recursively process a block to extract all the actions keeping the order
99
108
  * Note that runtimeFactValues will be mutated by all the runtime facts actions executed
100
109
  * @param element
101
- * @param actions
102
110
  * @param factsValue
103
111
  * @param runtimeFactValues This runtime fact map will be mutated by all the runtime facts actions executed
112
+ * @param actions
104
113
  * @protected
105
114
  */
106
115
  evaluateBlock(element, factsValue, runtimeFactValues, actions = []) {
@@ -162,7 +171,7 @@ export class RulesetExecutor {
162
171
  }
163
172
  if (nestedCondition.all || nestedCondition.any) {
164
173
  const evaluate = (condition) => this.evaluateCondition(condition, factsValue, runtimeFactValues);
165
- return isAllConditions(nestedCondition) ? nestedCondition.all.every(evaluate) : nestedCondition.any.some(evaluate);
174
+ return isAllConditions(nestedCondition) ? nestedCondition.all.every((element) => evaluate(element)) : nestedCondition.any.some((element) => evaluate(element));
166
175
  }
167
176
  throw new Error(`Unknown condition block met : ${JSON.stringify(nestedCondition)}`);
168
177
  }
@@ -171,22 +180,17 @@ export class RulesetExecutor {
171
180
  */
172
181
  plugRuleset() {
173
182
  const inputFactsForRule = {};
174
- const findRuleInputFacts = (obj) => {
175
- const ruleInputFacts = new Set();
176
- this.collectRuleInputFacts(obj, ruleInputFacts);
177
- return Array.from(ruleInputFacts);
178
- };
179
- this.ruleset.rules.forEach((rule) => inputFactsForRule[rule.id] = findRuleInputFacts(rule.rootElement));
183
+ this.ruleset.rules.forEach((rule) => inputFactsForRule[rule.id] = this.findRuleInputFacts(rule.rootElement));
180
184
  const factsThatRerunEverything = [];
181
185
  this.ruleset.rules.forEach((rule) => {
182
186
  if (rule.outputRuntimeFacts.length > 0 || rule.inputRuntimeFacts.length > 0) {
183
187
  factsThatRerunEverything.push(...inputFactsForRule[rule.id]);
184
188
  }
185
- else {
186
- }
189
+ else { }
187
190
  });
188
- const triggerFull$ = factsThatRerunEverything.length === 0 ? of([]) :
189
- combineLatest(factsThatRerunEverything.map((fact) => this.rulesEngine.retrieveOrCreateFactStream(fact)));
191
+ const triggerFull$ = factsThatRerunEverything.length === 0
192
+ ? of([])
193
+ : combineLatest(factsThatRerunEverything.map((fact) => this.rulesEngine.retrieveOrCreateFactStream(fact)));
190
194
  const result$ = triggerFull$.pipe(switchMap(() => {
191
195
  const runtimeFactValues = {};
192
196
  let rulesetInputFacts;
@@ -199,7 +203,7 @@ export class RulesetExecutor {
199
203
  return combineLatest(this.ruleset.rules.map((rule) => {
200
204
  const inputFacts = inputFactsForRule[rule.id];
201
205
  const values$ = inputFacts.map((fact) => this.rulesEngine.retrieveOrCreateFactStream(fact));
202
- return (values$.length ? combineLatest(values$) : of([[]]))
206
+ return (values$.length > 0 ? combineLatest(values$) : of([[]]))
203
207
  .pipe(startWith(undefined), pairwise(), tap(() => this.performanceMark(rule, 'start')), map(([oldFactValues, factValues]) => {
204
208
  const output = { actions: undefined };
205
209
  try {
@@ -222,7 +226,7 @@ export class RulesetExecutor {
222
226
  return output;
223
227
  }), tap(() => this.performanceMark(rule, 'end')));
224
228
  })).pipe(startWith(undefined), pairwise(), map(([prevRes, currRes]) => {
225
- const actionsLists = currRes.map(r => r.actions);
229
+ const actionsLists = currRes.map((r) => r.actions);
226
230
  const allExecutionsValid = actionsLists.every((actions) => !!actions);
227
231
  let execInfo = { actionsLists: (allExecutionsValid ? actionsLists : [[]]) };
228
232
  if (this.rulesEngine.engineDebug) {
@@ -249,4 +253,4 @@ export class RulesetExecutor {
249
253
  };
250
254
  }
251
255
  }
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldC1leGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbmdpbmUvcnVsZXNldC1leGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUI7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUk1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUNMLGVBQWUsRUFDZixxQkFBcUIsRUFDckIsY0FBYyxFQUNkLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3JCLE1BQU0scUJBQXFCLENBQUM7QUFlN0IsTUFBTSxPQUFPLGVBQWU7SUFtQjFCOzs7O09BSUc7SUFDSCxZQUFZLE9BQWdCLEVBQUUsV0FBd0I7UUFQOUMscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBUTNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxxQkFBcUIsQ0FBQyxhQUE2RCxFQUFFLGNBQTJCO1FBQ3RILElBQUksYUFBYSxJQUFJLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBRSxD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LHNCQUF1QixDQUFDLENBQUM7Z0JBQ3BDLENBQUM7Z0JBRUQsT0FBTyxhQUFhLENBQUM7WUFDdkIsQ0FBQyxDQUFDLEVBQ0Ysb0JBQW9CLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUM3RSxDQUFDO1FBQ0osQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLEVBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxELE9BQU87WUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ25CLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWE7WUFDekMsZUFBZSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZTtZQUM3QyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQjtZQUMvQyxvQkFBb0IsRUFBRSxPQUFPO1NBQ2IsQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUnVsZXNldCBleGVjdXRvciAqL1xuaW1wb3J0IHsgSlNPTlBhdGggfSBmcm9tICdqc29ucGF0aC1wbHVzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBwYWlyd2lzZSwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBoYW5kbGVSdWxlRXZhbHVhdGlvbkRlYnVnIH0gZnJvbSAnLi9kZWJ1Zy9oZWxwZXJzJztcbmltcG9ydCB0eXBlIHsgUnVsZXNFbmdpbmUgfSBmcm9tICcuL2VuZ2luZSc7XG5pbXBvcnQgdHlwZSB7IEZhY3RzIH0gZnJvbSAnLi9mYWN0JztcbmltcG9ydCB7IEVuZ2luZVJ1bGVzZXQsIEV2YWx1YXRpb25SZWFzb24sIFJ1bGVFdmFsdWF0aW9uLCBSdWxlRXZhbHVhdGlvbk91dHB1dCB9IGZyb20gJy4vZW5naW5lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBleGVjdXRlT3BlcmF0b3IgfSBmcm9tICcuL29wZXJhdG9yL29wZXJhdG9yLmhlbHBlcnMnO1xuaW1wb3J0IHsgT3BlcmF0b3IgfSBmcm9tICcuL29wZXJhdG9yL29wZXJhdG9yLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBpc0FsbENvbmRpdGlvbnMsXG4gIGlzQ29uZGl0aW9uUHJvcGVydGllcyxcbiAgaXNOb3RDb25kaXRpb24sXG4gIGlzT3BlcmFuZEZhY3QsXG4gIGlzT3BlcmFuZExpdGVyYWwsXG4gIGlzT3BlcmFuZFJ1bnRpbWVGYWN0XG59IGZyb20gJy4vcnVsZS9ydWxlLmhlbHBlcnMnO1xuaW1wb3J0IHtcbiAgQWN0aW9uQmxvY2ssXG4gIEFjdGlvblNldFRlbXBvcmFyeUZhY3RCbG9jayxcbiAgQWxsQmxvY2ssXG4gIEdlbmVyaWNPcGVyYW5kLFxuICBJZkVsc2VCbG9jayxcbiAgTmVzdGVkQ29uZGl0aW9uLFxuICBSdWxlLFxuICBSdWxlc2V0XG59IGZyb20gJy4vc3RydWN0dXJlJztcblxuLyoqIFR5cGUgb2YgdGhlIHJldHJpZXZlIGZhY3QgZnVuY3Rpb24gKi9cbmV4cG9ydCB0eXBlIFJldHJpZXZlRmFjdEZ1bmNUeXBlID0gPFQgPSB1bmtub3duPiAoaWQ6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPjtcblxuZXhwb3J0IGNsYXNzIFJ1bGVzZXRFeGVjdXRvciB7XG5cbiAgLyoqIHJldHJpZXZlRmFjdEZ1bmMgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJ1bGVzRW5naW5lOiBSdWxlc0VuZ2luZTtcblxuICAvKiogTWFwIG9mIGF2YWlsYWJsZSBvcGVyYXRvcnMgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wZXJhdG9yczogUmVjb3JkPHN0cmluZywgT3BlcmF0b3I8dW5rbm93biwgdW5rbm93bj4+O1xuXG4gIC8qKiBEZWxheSBiZWZvcmUgZmFjdCBzdHJlYW0gZGVmYXVsdGluZyB2YWx1ZSAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmFjdERlZmF1bHREZWxheT86IG51bWJlcjtcblxuICAvKiogUnVsZXNldCBhc3NvY2lhdGVkIHRvIHRoZSBjdXJyZW50IGV4ZWN1dG9yKi9cbiAgcHVibGljIHJlYWRvbmx5IHJ1bGVzZXQ6IFJ1bGVzZXQ7XG5cbiAgLyoqIFJ1bGVzZXQgcGx1Z2dlZCB0byB0aGUgZmFjdCBzdHJlYW0sIHRoYXQgY29udGFpbnMgYWN0aW9ucyBzdHJlYW0gcmVzdWx0ICovXG4gIHB1YmxpYyByZWFkb25seSBlbmdpbmVSdWxlc2V0OiBFbmdpbmVSdWxlc2V0O1xuXG4gIHByaXZhdGUgZXhlY3V0aW9uQ291bnRlciA9IDA7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBydWxlc2V0IGV4ZWN1dG9yXG4gICAqIEBwYXJhbSBydWxlc2V0IFJ1bGVzZXQgdG8gZXZhbHVhdGVcbiAgICogQHBhcmFtIHJ1bGVzRW5naW5lIEluc3RhbmNlIG9mIHRoZSBydWxlcyBlbmdpbmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKHJ1bGVzZXQ6IFJ1bGVzZXQsIHJ1bGVzRW5naW5lOiBSdWxlc0VuZ2luZSkge1xuICAgIHRoaXMucnVsZXNldCA9IHJ1bGVzZXQ7XG4gICAgdGhpcy5ydWxlc0VuZ2luZSA9IHJ1bGVzRW5naW5lO1xuICAgIHRoaXMub3BlcmF0b3JzID0gcnVsZXNFbmdpbmUub3BlcmF0b3JzO1xuICAgIHRoaXMuZW5naW5lUnVsZXNldCA9IHRoaXMucGx1Z1J1bGVzZXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWN1cnNpdmVseSBleHBsb3JlcyBhIHJ1bGUgdG8gaWRlbnRpZnkgYW5kIGNvbGxlY3QgaW5wdXQgZmFjdHMuXG4gICAqIElucHV0IGZhY3RzIGFyZSBpZGVudGlmaWVkIGJhc2VkIG9uIHRoZSAnRkFDVCcgdHlwZSBhbmQgb3BlcmF0b3Itc3BlY2lmaWMgaW1wbGljaXQgZGVwZW5kZW5jaWVzLlxuICAgKiBAcGFyYW0gY3VycmVudE9iamVjdCBUaGUgY3VycmVudCBvYmplY3QgYmVpbmcgZXhwbG9yZWQuXG4gICAqIEBwYXJhbSBydWxlSW5wdXRGYWN0cyBBIHNldCB0byBzdG9yZSB0aGUgaWRlbnRpZmllZCBpbnB1dCBmYWN0cyBmb3IgdGhlIHJ1bGUuXG4gICAqL1xuICBwcml2YXRlIGNvbGxlY3RSdWxlSW5wdXRGYWN0cyhjdXJyZW50T2JqZWN0OiBBbGxCbG9jayB8IE5lc3RlZENvbmRpdGlvbiB8IE5lc3RlZENvbmRpdGlvbltdLCBydWxlSW5wdXRGYWN0czogU2V0PHN0cmluZz4pIHtcbiAgICBpZiAoY3VycmVudE9iamVjdCAmJiBpc09wZXJhbmRGYWN0KGN1cnJlbnRPYmplY3QpKSB7XG4gICAgICBydWxlSW5wdXRGYWN0cy5hZGQoY3VycmVudE9iamVjdC52YWx1ZSk7XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGN1cnJlbnRPYmplY3QpKSB7XG4gICAgICBjdXJyZW50T2JqZWN0LmZvckVhY2goKGVsZW0pID0+IHRoaXMuY29sbGVjdFJ1bGVJbnB1dEZhY3RzKGVsZW0sIHJ1bGVJbnB1dEZhY3RzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIGN1cnJlbnRPYmplY3QpIHtcbiAgICAgICAgaWYgKChrZXkgPT09ICdvcGVyYXRvcicpICYmIGlzQ29uZGl0aW9uUHJvcGVydGllcyhjdXJyZW50T2JqZWN0KSkge1xuICAgICAgICAgIGNvbnN0IG9wID0gdGhpcy5vcGVyYXRvcnNbY3VycmVudE9iamVjdFtrZXldXTtcbiAgICAgICAgICBpZiAob3AgJiYgb3AuZmFjdEltcGxpY2l0RGVwZW5kZW5jaWVzKSB7XG4gICAgICAgICAgICBvcC5mYWN0SW1wbGljaXREZXBlbmRlbmNpZXMuZm9yRWFjaChkZXAgPT4gcnVsZUlucHV0RmFjdHMuYWRkKGRlcCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY3VycmVudE9iamVjdFtrZXkgYXMga2V5b2YgKEFsbEJsb2NrIHwgTmVzdGVkQ29uZGl0aW9uKV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgdGhpcy5jb2xsZWN0UnVsZUlucHV0RmFjdHMoY3VycmVudE9iamVjdFtrZXkgYXMga2V5b2YgKEFsbEJsb2NrIHwgTmVzdGVkQ29uZGl0aW9uKV0sIHJ1bGVJbnB1dEZhY3RzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBvcnQgcGVyZm9ybWFuY2UgbWFyayBmb3IgYSBydWxlIHJ1blxuICAgKiBAcGFyYW0gcnVsZSBSdWxlIHRvIG1lYXN1cmVcbiAgICogQHBhcmFtIHN0YXR1cyBzdGF0dXMgb2YgdGhlIHJ1bGUgZXZhbHVhdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIHBlcmZvcm1hbmNlTWFyayhydWxlOiBSdWxlLCBzdGF0dXM6ICdzdGFydCcgfCAnZW5kJykge1xuICAgIGlmICh0aGlzLnJ1bGVzRW5naW5lLnBlcmZvcm1hbmNlKSB7XG4gICAgICBjb25zdCBtYXJrTmFtZSA9IGBydWxlcy1lbmdpbmU6JHt0aGlzLnJ1bGVzRW5naW5lLnJ1bGVzRW5naW5lSW5zdGFuY2VOYW1lfToke3RoaXMucnVsZXNldC5uYW1lfToke3J1bGUubmFtZX1gO1xuICAgICAgdGhpcy5ydWxlc0VuZ2luZS5wZXJmb3JtYW5jZS5tYXJrKGAke21hcmtOYW1lfToke3N0YXR1c31gKTtcbiAgICAgIGlmIChzdGF0dXMgPT09ICdlbmQnKSB7XG4gICAgICAgIHRoaXMucnVsZXNFbmdpbmUucGVyZm9ybWFuY2UubWVhc3VyZShtYXJrTmFtZSwgYCR7bWFya05hbWV9OnN0YXJ0YCwgYCR7bWFya05hbWV9OmVuZGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgb3BlcmFuZCB2YWx1ZSBzdHJlYW0gYWNjb3JkaW5nIHRvIGl0cyB0eXBlXG4gICAqIEBwYXJhbSBvcGVyYW5kIG9wZXJhbmQgb2YgdGhlIGNvbmRpdGlvblxuICAgKiBAcGFyYW0gZmFjdHNWYWx1ZVxuICAgKiBAcGFyYW0gcnVudGltZUZhY3RWYWx1ZXNcbiAgICovXG4gIHByb3RlY3RlZCBnZXRPcGVyYW5kVmFsdWUob3BlcmFuZDogR2VuZXJpY09wZXJhbmQgfCB1bmRlZmluZWQsIGZhY3RzVmFsdWU6IFJlY29yZDxzdHJpbmcsIEZhY3RzIHwgdW5kZWZpbmVkPiwgcnVudGltZUZhY3RWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIEZhY3RzPik6IHVua25vd24ge1xuICAgIGlmICh0eXBlb2Ygb3BlcmFuZCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIGlmIChpc09wZXJhbmRGYWN0KG9wZXJhbmQpKSB7XG4gICAgICBjb25zdCBmYWN0VmFsdWUgPSBmYWN0c1ZhbHVlW29wZXJhbmQudmFsdWVdO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5ldy1jYXBcbiAgICAgIHJldHVybiBvcGVyYW5kLnBhdGggPyBmYWN0VmFsdWUgJiYgSlNPTlBhdGgoe3dyYXA6IGZhbHNlLCBqc29uOiBmYWN0VmFsdWUsIHBhdGg6IG9wZXJhbmQucGF0aH0pIDogZmFjdFZhbHVlO1xuICAgIH0gZWxzZSBpZiAoaXNPcGVyYW5kTGl0ZXJhbChvcGVyYW5kKSkge1xuICAgICAgcmV0dXJuIG9wZXJhbmQudmFsdWU7XG4gICAgfSBlbHNlIGlmIChpc09wZXJhbmRSdW50aW1lRmFjdChvcGVyYW5kKSkge1xuICAgICAgcmV0dXJuIHJ1bnRpbWVGYWN0VmFsdWVzW29wZXJhbmQudmFsdWVdO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb2Nlc3MgYSByb290IHJ1bGUgZnJvbSBhIHJ1bGVzZXQsIGFuZCByZXR1cm4gdGhlIGFzc29jaWF0ZWQgYWN0aW9ucyB0byBiZSBwcm9jZXNzZWRcbiAgICogV2lsbCBhbHNvIHVwZGF0ZSB0aGUgcnVudGltZUZhY3RWYWx1ZXMgbWFwIHRoYXQgaXMgcnVsZXNldCB3aXNlXG4gICAqIE5vdGUgdGhhdCBydW50aW1lRmFjdFZhbHVlcyB3aWxsIGJlIG11dGF0ZWQgYnkgYWxsIHRoZSBydW50aW1lIGZhY3RzIGFjdGlvbnMgZXhlY3V0ZWRcbiAgICogQHBhcmFtIHJ1bGVcbiAgICogQHBhcmFtIGZhY3RzVmFsdWVcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBldmFsdWF0ZVJ1bGUocnVsZTogUnVsZSwgZmFjdHNWYWx1ZTogUmVjb3JkPHN0cmluZywgRmFjdHMgfCB1bmRlZmluZWQ+LCBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+KSB7XG4gICAgcmV0dXJuIHRoaXMuZXZhbHVhdGVCbG9jayhydWxlLnJvb3RFbGVtZW50LCBmYWN0c1ZhbHVlLCBydW50aW1lRmFjdFZhbHVlcyk7XG4gIH1cblxuICAvKipcbiAgICogUmVjdXJzaXZlbHkgcHJvY2VzcyBhIGJsb2NrIHRvIGV4dHJhY3QgYWxsIHRoZSBhY3Rpb25zIGtlZXBpbmcgdGhlIG9yZGVyXG4gICAqIE5vdGUgdGhhdCBydW50aW1lRmFjdFZhbHVlcyB3aWxsIGJlIG11dGF0ZWQgYnkgYWxsIHRoZSBydW50aW1lIGZhY3RzIGFjdGlvbnMgZXhlY3V0ZWRcbiAgICogQHBhcmFtIGVsZW1lbnRcbiAgICogQHBhcmFtIGFjdGlvbnNcbiAgICogQHBhcmFtIGZhY3RzVmFsdWVcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzIFRoaXMgcnVudGltZSBmYWN0IG1hcCB3aWxsIGJlIG11dGF0ZWQgYnkgYWxsIHRoZSBydW50aW1lIGZhY3RzIGFjdGlvbnMgZXhlY3V0ZWRcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGV2YWx1YXRlQmxvY2soZWxlbWVudDogQWxsQmxvY2ssIGZhY3RzVmFsdWU6IFJlY29yZDxzdHJpbmcsIEZhY3RzIHwgdW5kZWZpbmVkPiwgcnVudGltZUZhY3RWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIEZhY3RzPiwgYWN0aW9uczogQWN0aW9uQmxvY2tbXSA9IFtdKSB7XG4gICAgaWYgKHRoaXMuaXNJZkVsc2VCbG9jayhlbGVtZW50KSkge1xuICAgICAgKCFlbGVtZW50LmNvbmRpdGlvbiB8fCB0aGlzLmV2YWx1YXRlQ29uZGl0aW9uKGVsZW1lbnQuY29uZGl0aW9uLCBmYWN0c1ZhbHVlLCBydW50aW1lRmFjdFZhbHVlcykgPyBlbGVtZW50LnN1Y2Nlc3NFbGVtZW50cyA6IGVsZW1lbnQuZmFpbHVyZUVsZW1lbnRzKVxuICAgICAgICAuZm9yRWFjaCgoZWxlbWVudFJlc3VsdCkgPT4gdGhpcy5ldmFsdWF0ZUJsb2NrKGVsZW1lbnRSZXN1bHQsIGZhY3RzVmFsdWUsIHJ1bnRpbWVGYWN0VmFsdWVzLCBhY3Rpb25zKSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzQWN0aW9uQmxvY2soZWxlbWVudCkpIHtcbiAgICAgIGlmICh0aGlzLmlzQWN0aW9uU2V0VGVtcG9yYXJ5RmFjdEJsb2NrKGVsZW1lbnQpKSB7XG4gICAgICAgIHJ1bnRpbWVGYWN0VmFsdWVzW2VsZW1lbnQuZmFjdF0gPSBlbGVtZW50LnZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWN0aW9ucy5wdXNoKGVsZW1lbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYWN0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGVsZW1lbnQgaXMgYSBJZkVsc2UgYmxvY2tcbiAgICogQHBhcmFtIGVsZW1lbnRcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGlzSWZFbHNlQmxvY2soZWxlbWVudDogQWxsQmxvY2spOiBlbGVtZW50IGlzIElmRWxzZUJsb2NrIHtcbiAgICByZXR1cm4gZWxlbWVudC5ibG9ja1R5cGUgPT09ICdJRl9FTFNFJztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGVsZW1lbnQgaXMgYW4gYWN0aW9uIGJsb2NrXG4gICAqIEBwYXJhbSBlbGVtZW50XG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBpc0FjdGlvbkJsb2NrKGVsZW1lbnQ6IEFsbEJsb2NrKTogZWxlbWVudCBpcyBBY3Rpb25CbG9jayB7XG4gICAgcmV0dXJuICdlbGVtZW50VHlwZScgaW4gZWxlbWVudCAmJiBlbGVtZW50LmVsZW1lbnRUeXBlID09PSAnQUNUSU9OJztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGFjdGlvbiBzZXRzIGEgdGVtcG9yYXJ5IGZhY3RcbiAgICogQHBhcmFtIGVsZW1lbnRcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGlzQWN0aW9uU2V0VGVtcG9yYXJ5RmFjdEJsb2NrKGVsZW1lbnQ6IEFjdGlvbkJsb2NrKTogZWxlbWVudCBpcyBBY3Rpb25TZXRUZW1wb3JhcnlGYWN0QmxvY2sge1xuICAgIHJldHVybiAnYWN0aW9uVHlwZScgaW4gZWxlbWVudCAmJiBlbGVtZW50LmFjdGlvblR5cGUgPT09ICdTRVRfRkFDVCc7XG4gIH1cblxuICAvKipcbiAgICogRXZhbHVhdGUgYSBjb25kaXRpb24gYmxvY2tcbiAgICogQHBhcmFtIG5lc3RlZENvbmRpdGlvblxuICAgKiBAcGFyYW0gZmFjdHNWYWx1ZVxuICAgKiBAcGFyYW0gcnVudGltZUZhY3RWYWx1ZXNcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGV2YWx1YXRlQ29uZGl0aW9uKG5lc3RlZENvbmRpdGlvbjogTmVzdGVkQ29uZGl0aW9uLCBmYWN0c1ZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cyB8IHVuZGVmaW5lZD4sIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4pOiBib29sZWFuIHtcbiAgICBpZiAoaXNDb25kaXRpb25Qcm9wZXJ0aWVzKG5lc3RlZENvbmRpdGlvbikpIHtcbiAgICAgIGNvbnN0IG9wZXJhdG9yID0gdGhpcy5vcGVyYXRvcnNbbmVzdGVkQ29uZGl0aW9uLm9wZXJhdG9yXTtcbiAgICAgIGlmIChvcGVyYXRvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBvcGVyYXRvciA6ICR7bmVzdGVkQ29uZGl0aW9uLm9wZXJhdG9yfSwgc2tpcHBpbmcgdGhlIHJ1bGUgZXhlY3V0aW9uLi4uYCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXhlY3V0ZU9wZXJhdG9yKHRoaXMuZ2V0T3BlcmFuZFZhbHVlKG5lc3RlZENvbmRpdGlvbi5saHMsIGZhY3RzVmFsdWUsIHJ1bnRpbWVGYWN0VmFsdWVzKSxcbiAgICAgICAgdGhpcy5nZXRPcGVyYW5kVmFsdWUoJ3JocycgaW4gbmVzdGVkQ29uZGl0aW9uID8gbmVzdGVkQ29uZGl0aW9uLnJocyA6IHVuZGVmaW5lZCwgZmFjdHNWYWx1ZSwgcnVudGltZUZhY3RWYWx1ZXMpLCBvcGVyYXRvciwgZmFjdHNWYWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGlzTm90Q29uZGl0aW9uKG5lc3RlZENvbmRpdGlvbikpIHtcbiAgICAgIHJldHVybiAhdGhpcy5ldmFsdWF0ZUNvbmRpdGlvbihuZXN0ZWRDb25kaXRpb24ubm90LCBmYWN0c1ZhbHVlLCBydW50aW1lRmFjdFZhbHVlcyk7XG4gICAgfVxuICAgIGlmIChuZXN0ZWRDb25kaXRpb24uYWxsIHx8IG5lc3RlZENvbmRpdGlvbi5hbnkpIHtcbiAgICAgIGNvbnN0IGV2YWx1YXRlID0gKGNvbmRpdGlvbjogTmVzdGVkQ29uZGl0aW9uKSA9PiB0aGlzLmV2YWx1YXRlQ29uZGl0aW9uKGNvbmRpdGlvbiwgZmFjdHNWYWx1ZSwgcnVudGltZUZhY3RWYWx1ZXMpO1xuICAgICAgcmV0dXJuIGlzQWxsQ29uZGl0aW9ucyhuZXN0ZWRDb25kaXRpb24pID8gbmVzdGVkQ29uZGl0aW9uLmFsbC5ldmVyeShldmFsdWF0ZSkgOiBuZXN0ZWRDb25kaXRpb24uYW55LnNvbWUoZXZhbHVhdGUpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY29uZGl0aW9uIGJsb2NrIG1ldCA6ICR7SlNPTi5zdHJpbmdpZnkobmVzdGVkQ29uZGl0aW9uKX1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbHVnIHJ1bGVzZXQgdG8gZmFjdCBzdHJlYW1zIGFuZCB0cmlnZ2VyIGEgZmlyc3QgZXZhbHVhdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIHBsdWdSdWxlc2V0KCkge1xuICAgIGNvbnN0IGlucHV0RmFjdHNGb3JSdWxlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7fTtcbiAgICBjb25zdCBmaW5kUnVsZUlucHV0RmFjdHMgPSAob2JqOiBBbGxCbG9jayk6IHN0cmluZ1tdID0+IHtcbiAgICAgIGNvbnN0IHJ1bGVJbnB1dEZhY3RzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICB0aGlzLmNvbGxlY3RSdWxlSW5wdXRGYWN0cyhvYmosIHJ1bGVJbnB1dEZhY3RzKTtcbiAgICAgIHJldHVybiBBcnJheS5mcm9tKHJ1bGVJbnB1dEZhY3RzKTtcbiAgICB9O1xuICAgIHRoaXMucnVsZXNldC5ydWxlcy5mb3JFYWNoKChydWxlKSA9PiBpbnB1dEZhY3RzRm9yUnVsZVtydWxlLmlkXSA9IGZpbmRSdWxlSW5wdXRGYWN0cyhydWxlLnJvb3RFbGVtZW50KSk7XG4gICAgY29uc3QgZmFjdHNUaGF0UmVydW5FdmVyeXRoaW5nOiBzdHJpbmdbXSA9IFtdO1xuICAgIHRoaXMucnVsZXNldC5ydWxlcy5mb3JFYWNoKChydWxlKSA9PiB7XG4gICAgICBpZiAocnVsZS5vdXRwdXRSdW50aW1lRmFjdHMubGVuZ3RoID4gMCB8fCBydWxlLmlucHV0UnVudGltZUZhY3RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZmFjdHNUaGF0UmVydW5FdmVyeXRoaW5nLnB1c2goLi4uaW5wdXRGYWN0c0ZvclJ1bGVbcnVsZS5pZF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCB0cmlnZ2VyRnVsbCQ6IE9ic2VydmFibGU8dW5rbm93bltdPiA9IGZhY3RzVGhhdFJlcnVuRXZlcnl0aGluZy5sZW5ndGggPT09IDAgPyBvZihbXSkgOlxuICAgICAgY29tYmluZUxhdGVzdChmYWN0c1RoYXRSZXJ1bkV2ZXJ5dGhpbmcubWFwKChmYWN0KSA9PiB0aGlzLnJ1bGVzRW5naW5lLnJldHJpZXZlT3JDcmVhdGVGYWN0U3RyZWFtKGZhY3QpKSk7XG4gICAgY29uc3QgcmVzdWx0JCA9IHRyaWdnZXJGdWxsJC5waXBlKHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICBjb25zdCBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+ID0ge307XG5cbiAgICAgIGxldCBydWxlc2V0SW5wdXRGYWN0czogc3RyaW5nW107XG4gICAgICBpZiAodGhpcy5ydWxlc0VuZ2luZS5kZWJ1Z01vZGUpIHtcbiAgICAgICAgcnVsZXNldElucHV0RmFjdHMgPSBBcnJheS5mcm9tKHRoaXMucnVsZXNldC5ydWxlcy5yZWR1Y2UoKGFjYywgcnVsZSkgPT4ge1xuICAgICAgICAgIGlucHV0RmFjdHNGb3JSdWxlW3J1bGUuaWRdLmZvckVhY2goKGZhY3ROYW1lKSA9PiBhY2MuYWRkKGZhY3ROYW1lKSk7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwgbmV3IFNldDxzdHJpbmc+KCkpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QodGhpcy5ydWxlc2V0LnJ1bGVzLm1hcCgocnVsZSkgPT4ge1xuICAgICAgICBjb25zdCBpbnB1dEZhY3RzID0gaW5wdXRGYWN0c0ZvclJ1bGVbcnVsZS5pZF07XG4gICAgICAgIGNvbnN0IHZhbHVlcyQgPSBpbnB1dEZhY3RzLm1hcCgoZmFjdCkgPT4gdGhpcy5ydWxlc0VuZ2luZS5yZXRyaWV2ZU9yQ3JlYXRlRmFjdFN0cmVhbShmYWN0KSk7XG4gICAgICAgIHJldHVybiAodmFsdWVzJC5sZW5ndGggPyBjb21iaW5lTGF0ZXN0KHZhbHVlcyQpIDogb2YoW1tdXSBhcyAoRmFjdHMgfCB1bmRlZmluZWQpW10pKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCksXG4gICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMucGVyZm9ybWFuY2VNYXJrKHJ1bGUsICdzdGFydCcpKSxcbiAgICAgICAgICAgIG1hcCgoW29sZEZhY3RWYWx1ZXMsIGZhY3RWYWx1ZXNdKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG91dHB1dDogUnVsZUV2YWx1YXRpb25PdXRwdXQgPSB7YWN0aW9uczogdW5kZWZpbmVkfTtcblxuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIG91dHB1dC5hY3Rpb25zID0gdGhpcy5ldmFsdWF0ZVJ1bGUocnVsZSwgaW5wdXRGYWN0cy5yZWR1Y2U8UmVjb3JkPHN0cmluZywgRmFjdHMgfCB1bmRlZmluZWQ+PigoYWNjLCBpZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGFjY1tpZF0gPSBmYWN0VmFsdWVzIVtpbmRleF07XG4gICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgIH0sIHt9KSwgcnVudGltZUZhY3RWYWx1ZXMpO1xuICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIG91dHB1dC5hY3Rpb25zID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIG91dHB1dC5lcnJvciA9IGVycm9yO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKHRoaXMucnVsZXNFbmdpbmUuZGVidWdNb2RlKSB7XG4gICAgICAgICAgICAgICAgb3V0cHV0LmV2YWx1YXRpb24gPSBoYW5kbGVSdWxlRXZhbHVhdGlvbkRlYnVnKHsgLi4ucnVsZSwgaW5wdXRGYWN0cyB9LCB0aGlzLnJ1bGVzZXQubmFtZSwgb3V0cHV0LmFjdGlvbnMsIG91dHB1dC5lcnJvciwgcnVudGltZUZhY3RWYWx1ZXMsIGZhY3RWYWx1ZXMsIG9sZEZhY3RWYWx1ZXMpO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKG91dHB1dC5lcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMucnVsZXNFbmdpbmUubG9nZ2VyPy5lcnJvcihvdXRwdXQuZXJyb3IpO1xuICAgICAgICAgICAgICAgIHRoaXMucnVsZXNFbmdpbmUubG9nZ2VyPy53YXJuKGBTa2lwcGluZyBydWxlICR7cnVsZS5uYW1lfSwgYW5kIHRoZSBhc3NvY2lhdGVkIHJ1bGVzZXRgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5wZXJmb3JtYW5jZU1hcmsocnVsZSwgJ2VuZCcpKVxuICAgICAgICAgICk7XG4gICAgICB9KSkucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCksXG4gICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgIG1hcCgoW3ByZXZSZXMsIGN1cnJSZXNdKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWN0aW9uc0xpc3RzID0gY3VyclJlcyEubWFwKHIgPT4gci5hY3Rpb25zKTtcbiAgICAgICAgICBjb25zdCBhbGxFeGVjdXRpb25zVmFsaWQgPSBhY3Rpb25zTGlzdHMuZXZlcnkoKGFjdGlvbnMpID0+ICEhYWN0aW9ucyk7XG5cbiAgICAgICAgICBsZXQgZXhlY0luZm86IHtcbiAgICAgICAgICAgIGV4ZWN1dGlvbkNvdW50ZXI/OiBudW1iZXI7XG4gICAgICAgICAgICBhY3Rpb25zTGlzdHM6IEFjdGlvbkJsb2NrW11bXTtcbiAgICAgICAgICAgIHJ1bGVzZXRPdXRwdXRFeGVjdXRpb24/OiBSdWxlRXZhbHVhdGlvbltdO1xuICAgICAgICAgICAgYWxsRXhlY3V0aW9uc1ZhbGlkPzogYm9vbGVhbjtcbiAgICAgICAgICAgIHJ1bGVzZXRUcmlnZ2Vycz86IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEV2YWx1YXRpb25SZWFzb24+PjtcbiAgICAgICAgICB9ID0ge2FjdGlvbnNMaXN0czogKGFsbEV4ZWN1dGlvbnNWYWxpZCA/IGFjdGlvbnNMaXN0cyA6IFtbXV0pfTtcblxuICAgICAgICAgIGlmICh0aGlzLnJ1bGVzRW5naW5lLmVuZ2luZURlYnVnKSB7XG4gICAgICAgICAgICBleGVjSW5mbyA9IHtcbiAgICAgICAgICAgICAgLi4uZXhlY0luZm8sXG4gICAgICAgICAgICAgIC4uLnRoaXMucnVsZXNFbmdpbmUuZW5naW5lRGVidWcuaGFuZGxlRGVidWdSdWxlc2V0RXhlY3V0aW9uSW5mbyhcbiAgICAgICAgICAgICAgICBjdXJyUmVzISwgcHJldlJlcywgYWxsRXhlY3V0aW9uc1ZhbGlkLCBydWxlc2V0SW5wdXRGYWN0cywgcnVudGltZUZhY3RWYWx1ZXMsICsrdGhpcy5leGVjdXRpb25Db3VudGVyLCB0aGlzLnJ1bGVzZXQpXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZXhlY0luZm87XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKG91dHB1dCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG91dHB1dEFjdGlvbnMgPSAoW10gYXMgQWN0aW9uQmxvY2tbXSkuY29uY2F0KC4uLm91dHB1dC5hY3Rpb25zTGlzdHMpO1xuXG4gICAgICAgICAgaWYgKHRoaXMucnVsZXNFbmdpbmUuZW5naW5lRGVidWcgJiYgb3V0cHV0LmFsbEV4ZWN1dGlvbnNWYWxpZCkge1xuICAgICAgICAgICAgdGhpcy5ydWxlc0VuZ2luZS5lbmdpbmVEZWJ1Zy5hZGRSdWxlc2V0RXhlY3V0aW9uRXZlbnQodGhpcy5ydWxlc2V0LCBvdXRwdXQuZXhlY3V0aW9uQ291bnRlciEsXG4gICAgICAgICAgICAgIHJ1bGVzZXRJbnB1dEZhY3RzLCBvdXRwdXRBY3Rpb25zLCBydW50aW1lRmFjdFZhbHVlcywgb3V0cHV0LnJ1bGVzZXRUcmlnZ2VycyEsXG4gICAgICAgICAgICAgIG91dHB1dC5ydWxlc2V0T3V0cHV0RXhlY3V0aW9uISk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG91dHB1dEFjdGlvbnM7XG4gICAgICAgIH0pLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4gcHJldi5sZW5ndGggPT09IDAgJiYgY3Vyci5sZW5ndGggPT09IDApXG4gICAgICApO1xuICAgIH0pLCBzaGFyZVJlcGxheSh7YnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWV9KSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMucnVsZXNldC5pZCxcbiAgICAgIHZhbGlkaXR5UmFuZ2U6IHRoaXMucnVsZXNldC52YWxpZGl0eVJhbmdlLFxuICAgICAgbGlua2VkQ29tcG9uZW50OiB0aGlzLnJ1bGVzZXQubGlua2VkQ29tcG9uZW50LFxuICAgICAgbGlua2VkQ29tcG9uZW50czogdGhpcy5ydWxlc2V0LmxpbmtlZENvbXBvbmVudHMsXG4gICAgICBydWxlc1Jlc3VsdHNTdWJqZWN0JDogcmVzdWx0JFxuICAgIH0gYXMgRW5naW5lUnVsZXNldDtcbiAgfVxufVxuIl19
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldC1leGVjdXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbmdpbmUvcnVsZXNldC1leGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUI7QUFDdkIsT0FBTyxFQUNMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsYUFBYSxFQUViLEVBQUUsR0FDSCxNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFFBQVEsRUFDUixXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wseUJBQXlCLEdBQzFCLE1BQU0saUJBQWlCLENBQUM7QUFhekIsT0FBTyxFQUNMLGVBQWUsR0FDaEIsTUFBTSw2QkFBNkIsQ0FBQztBQUlyQyxPQUFPLEVBQ0wsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixvQkFBb0IsR0FDckIsTUFBTSxxQkFBcUIsQ0FBQztBQWU3QixNQUFNLE9BQU8sZUFBZTtJQWtCMUI7Ozs7T0FJRztJQUNILFlBQVksT0FBZ0IsRUFBRSxXQUF3QjtRQVA5QyxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFxSzdCOzs7V0FHRztRQUNnQix1QkFBa0IsR0FBRyxDQUFDLEdBQWEsRUFBWSxFQUFFO1lBQ2xFLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7WUFDekMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUNoRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDO1FBcktBLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FB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Qyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxnQkFBaUIsRUFDMUYsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxlQUFnQixFQUM1RSxNQUFNLENBQUMsc0JBQXVCLENBQUMsQ0FBQztnQkFDcEMsQ0FBQztnQkFFRCxPQUFPLGFBQWEsQ0FBQztZQUN2QixDQUFDLENBQUMsRUFDRixvQkFBb0IsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQzdFLENBQUM7UUFDSixDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFcEQsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkIsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtZQUN6QyxlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlO1lBQzdDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCO1lBQy9DLG9CQUFvQixFQUFFLE9BQU87U0FDYixDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBSdWxlc2V0IGV4ZWN1dG9yICovXG5pbXBvcnQge1xuICBKU09OUGF0aCxcbn0gZnJvbSAnanNvbnBhdGgtcGx1cyc7XG5pbXBvcnQge1xuICBjb21iaW5lTGF0ZXN0LFxuICBPYnNlcnZhYmxlLFxuICBvZixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwLFxuICBwYWlyd2lzZSxcbiAgc2hhcmVSZXBsYXksXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGhhbmRsZVJ1bGVFdmFsdWF0aW9uRGVidWcsXG59IGZyb20gJy4vZGVidWcvaGVscGVycyc7XG5pbXBvcnQgdHlwZSB7XG4gIFJ1bGVzRW5naW5lLFxufSBmcm9tICcuL2VuZ2luZSc7XG5pbXBvcnQge1xuICBFbmdpbmVSdWxlc2V0LFxuICBFdmFsdWF0aW9uUmVhc29uLFxuICBSdWxlRXZhbHVhdGlvbixcbiAgUnVsZUV2YWx1YXRpb25PdXRwdXQsXG59IGZyb20gJy4vZW5naW5lLmludGVyZmFjZSc7XG5pbXBvcnQgdHlwZSB7XG4gIEZhY3RzLFxufSBmcm9tICcuL2ZhY3QnO1xuaW1wb3J0IHtcbiAgZXhlY3V0ZU9wZXJhdG9yLFxufSBmcm9tICcuL29wZXJhdG9yL29wZXJhdG9yLmhlbHBlcnMnO1xuaW1wb3J0IHtcbiAgT3BlcmF0b3IsXG59IGZyb20gJy4vb3BlcmF0b3Ivb3BlcmF0b3IuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIGlzQWxsQ29uZGl0aW9ucyxcbiAgaXNDb25kaXRpb25Qcm9wZXJ0aWVzLFxuICBpc05vdENvbmRpdGlvbixcbiAgaXNPcGVyYW5kRmFjdCxcbiAgaXNPcGVyYW5kTGl0ZXJhbCxcbiAgaXNPcGVyYW5kUnVudGltZUZhY3QsXG59IGZyb20gJy4vcnVsZS9ydWxlLmhlbHBlcnMnO1xuaW1wb3J0IHtcbiAgQWN0aW9uQmxvY2ssXG4gIEFjdGlvblNldFRlbXBvcmFyeUZhY3RCbG9jayxcbiAgQWxsQmxvY2ssXG4gIEdlbmVyaWNPcGVyYW5kLFxuICBJZkVsc2VCbG9jayxcbiAgTmVzdGVkQ29uZGl0aW9uLFxuICBSdWxlLFxuICBSdWxlc2V0LFxufSBmcm9tICcuL3N0cnVjdHVyZSc7XG5cbi8qKiBUeXBlIG9mIHRoZSByZXRyaWV2ZSBmYWN0IGZ1bmN0aW9uICovXG5leHBvcnQgdHlwZSBSZXRyaWV2ZUZhY3RGdW5jVHlwZSA9IDxUID0gdW5rbm93bj4gKGlkOiBzdHJpbmcpID0+IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD47XG5cbmV4cG9ydCBjbGFzcyBSdWxlc2V0RXhlY3V0b3Ige1xuICAvKiogcmV0cmlldmVGYWN0RnVuYyAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcnVsZXNFbmdpbmU6IFJ1bGVzRW5naW5lO1xuXG4gIC8qKiBNYXAgb2YgYXZhaWxhYmxlIG9wZXJhdG9ycyAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3BlcmF0b3JzOiBSZWNvcmQ8c3RyaW5nLCBPcGVyYXRvcjx1bmtub3duLCB1bmtub3duPj47XG5cbiAgLyoqIERlbGF5IGJlZm9yZSBmYWN0IHN0cmVhbSBkZWZhdWx0aW5nIHZhbHVlICovXG4gIHB1YmxpYyByZWFkb25seSBmYWN0RGVmYXVsdERlbGF5PzogbnVtYmVyO1xuXG4gIC8qKiBSdWxlc2V0IGFzc29jaWF0ZWQgdG8gdGhlIGN1cnJlbnQgZXhlY3V0b3IqL1xuICBwdWJsaWMgcmVhZG9ubHkgcnVsZXNldDogUnVsZXNldDtcblxuICAvKiogUnVsZXNldCBwbHVnZ2VkIHRvIHRoZSBmYWN0IHN0cmVhbSwgdGhhdCBjb250YWlucyBhY3Rpb25zIHN0cmVhbSByZXN1bHQgKi9cbiAgcHVibGljIHJlYWRvbmx5IGVuZ2luZVJ1bGVzZXQ6IEVuZ2luZVJ1bGVzZXQ7XG5cbiAgcHJpdmF0ZSBleGVjdXRpb25Db3VudGVyID0gMDtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IHJ1bGVzZXQgZXhlY3V0b3JcbiAgICogQHBhcmFtIHJ1bGVzZXQgUnVsZXNldCB0byBldmFsdWF0ZVxuICAgKiBAcGFyYW0gcnVsZXNFbmdpbmUgSW5zdGFuY2Ugb2YgdGhlIHJ1bGVzIGVuZ2luZVxuICAgKi9cbiAgY29uc3RydWN0b3IocnVsZXNldDogUnVsZXNldCwgcnVsZXNFbmdpbmU6IFJ1bGVzRW5naW5lKSB7XG4gICAgdGhpcy5ydWxlc2V0ID0gcnVsZXNldDtcbiAgICB0aGlzLnJ1bGVzRW5naW5lID0gcnVsZXNFbmdpbmU7XG4gICAgdGhpcy5vcGVyYXRvcnMgPSBydWxlc0VuZ2luZS5vcGVyYXRvcnM7XG4gICAgdGhpcy5lbmdpbmVSdWxlc2V0ID0gdGhpcy5wbHVnUnVsZXNldCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY3Vyc2l2ZWx5IGV4cGxvcmVzIGEgcnVsZSB0byBpZGVudGlmeSBhbmQgY29sbGVjdCBpbnB1dCBmYWN0cy5cbiAgICogSW5wdXQgZmFjdHMgYXJlIGlkZW50aWZpZWQgYmFzZWQgb24gdGhlICdGQUNUJyB0eXBlIGFuZCBvcGVyYXRvci1zcGVjaWZpYyBpbXBsaWNpdCBkZXBlbmRlbmNpZXMuXG4gICAqIEBwYXJhbSBjdXJyZW50T2JqZWN0IFRoZSBjdXJyZW50IG9iamVjdCBiZWluZyBleHBsb3JlZC5cbiAgICogQHBhcmFtIHJ1bGVJbnB1dEZhY3RzIEEgc2V0IHRvIHN0b3JlIHRoZSBpZGVudGlmaWVkIGlucHV0IGZhY3RzIGZvciB0aGUgcnVsZS5cbiAgICovXG4gIHByaXZhdGUgY29sbGVjdFJ1bGVJbnB1dEZhY3RzKGN1cnJlbnRPYmplY3Q6IEFsbEJsb2NrIHwgTmVzdGVkQ29uZGl0aW9uIHwgTmVzdGVkQ29uZGl0aW9uW10sIHJ1bGVJbnB1dEZhY3RzOiBTZXQ8c3RyaW5nPikge1xuICAgIGlmIChjdXJyZW50T2JqZWN0ICYmIGlzT3BlcmFuZEZhY3QoY3VycmVudE9iamVjdCkpIHtcbiAgICAgIHJ1bGVJbnB1dEZhY3RzLmFkZChjdXJyZW50T2JqZWN0LnZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoY3VycmVudE9iamVjdCkpIHtcbiAgICAgIGN1cnJlbnRPYmplY3QuZm9yRWFjaCgoZWxlbSkgPT4gdGhpcy5jb2xsZWN0UnVsZUlucHV0RmFjdHMoZWxlbSwgcnVsZUlucHV0RmFjdHMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gY3VycmVudE9iamVjdCkge1xuICAgICAgICBpZiAoKGtleSA9PT0gJ29wZXJhdG9yJykgJiYgaXNDb25kaXRpb25Qcm9wZXJ0aWVzKGN1cnJlbnRPYmplY3QpKSB7XG4gICAgICAgICAgY29uc3Qgb3AgPSB0aGlzLm9wZXJhdG9yc1tjdXJyZW50T2JqZWN0W2tleV1dO1xuICAgICAgICAgIGlmIChvcCAmJiBvcC5mYWN0SW1wbGljaXREZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgICAgIG9wLmZhY3RJbXBsaWNpdERlcGVuZGVuY2llcy5mb3JFYWNoKChkZXApID0+IHJ1bGVJbnB1dEZhY3RzLmFkZChkZXApKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGN1cnJlbnRPYmplY3Rba2V5IGFzIGtleW9mIChBbGxCbG9jayB8IE5lc3RlZENvbmRpdGlvbildID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIHRoaXMuY29sbGVjdFJ1bGVJbnB1dEZhY3RzKGN1cnJlbnRPYmplY3Rba2V5IGFzIGtleW9mIChBbGxCbG9jayB8IE5lc3RlZENvbmRpdGlvbildLCBydWxlSW5wdXRGYWN0cyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVwb3J0IHBlcmZvcm1hbmNlIG1hcmsgZm9yIGEgcnVsZSBydW5cbiAgICogQHBhcmFtIHJ1bGUgUnVsZSB0byBtZWFzdXJlXG4gICAqIEBwYXJhbSBzdGF0dXMgc3RhdHVzIG9mIHRoZSBydWxlIGV2YWx1YXRpb25cbiAgICovXG4gIHByb3RlY3RlZCBwZXJmb3JtYW5jZU1hcmsocnVsZTogUnVsZSwgc3RhdHVzOiAnc3RhcnQnIHwgJ2VuZCcpIHtcbiAgICBpZiAodGhpcy5ydWxlc0VuZ2luZS5wZXJmb3JtYW5jZSkge1xuICAgICAgY29uc3QgbWFya05hbWUgPSBgcnVsZXMtZW5naW5lOiR7dGhpcy5ydWxlc0VuZ2luZS5ydWxlc0VuZ2luZUluc3RhbmNlTmFtZX06JHt0aGlzLnJ1bGVzZXQubmFtZX06JHtydWxlLm5hbWV9YDtcbiAgICAgIHRoaXMucnVsZXNFbmdpbmUucGVyZm9ybWFuY2UubWFyayhgJHttYXJrTmFtZX06JHtzdGF0dXN9YCk7XG4gICAgICBpZiAoc3RhdHVzID09PSAnZW5kJykge1xuICAgICAgICB0aGlzLnJ1bGVzRW5naW5lLnBlcmZvcm1hbmNlLm1lYXN1cmUobWFya05hbWUsIGAke21hcmtOYW1lfTpzdGFydGAsIGAke21hcmtOYW1lfTplbmRgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IG9wZXJhbmQgdmFsdWUgc3RyZWFtIGFjY29yZGluZyB0byBpdHMgdHlwZVxuICAgKiBAcGFyYW0gb3BlcmFuZCBvcGVyYW5kIG9mIHRoZSBjb25kaXRpb25cbiAgICogQHBhcmFtIGZhY3RzVmFsdWVcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0T3BlcmFuZFZhbHVlKG9wZXJhbmQ6IEdlbmVyaWNPcGVyYW5kIHwgdW5kZWZpbmVkLCBmYWN0c1ZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cyB8IHVuZGVmaW5lZD4sIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4pOiB1bmtub3duIHtcbiAgICBpZiAodHlwZW9mIG9wZXJhbmQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAoaXNPcGVyYW5kRmFjdChvcGVyYW5kKSkge1xuICAgICAgY29uc3QgZmFjdFZhbHVlID0gZmFjdHNWYWx1ZVtvcGVyYW5kLnZhbHVlXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwIC0tIGNvbnZlbnRpb24gZm9yIEpTT05QYXRoXG4gICAgICByZXR1cm4gb3BlcmFuZC5wYXRoID8gZmFjdFZhbHVlICYmIEpTT05QYXRoKHsgd3JhcDogZmFsc2UsIGpzb246IGZhY3RWYWx1ZSwgcGF0aDogb3BlcmFuZC5wYXRoIH0pIDogZmFjdFZhbHVlO1xuICAgIH0gZWxzZSBpZiAoaXNPcGVyYW5kTGl0ZXJhbChvcGVyYW5kKSkge1xuICAgICAgcmV0dXJuIG9wZXJhbmQudmFsdWU7XG4gICAgfSBlbHNlIGlmIChpc09wZXJhbmRSdW50aW1lRmFjdChvcGVyYW5kKSkge1xuICAgICAgcmV0dXJuIHJ1bnRpbWVGYWN0VmFsdWVzW29wZXJhbmQudmFsdWVdO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb2Nlc3MgYSByb290IHJ1bGUgZnJvbSBhIHJ1bGVzZXQsIGFuZCByZXR1cm4gdGhlIGFzc29jaWF0ZWQgYWN0aW9ucyB0byBiZSBwcm9jZXNzZWRcbiAgICogV2lsbCBhbHNvIHVwZGF0ZSB0aGUgcnVudGltZUZhY3RWYWx1ZXMgbWFwIHRoYXQgaXMgcnVsZXNldCB3aXNlXG4gICAqIE5vdGUgdGhhdCBydW50aW1lRmFjdFZhbHVlcyB3aWxsIGJlIG11dGF0ZWQgYnkgYWxsIHRoZSBydW50aW1lIGZhY3RzIGFjdGlvbnMgZXhlY3V0ZWRcbiAgICogQHBhcmFtIHJ1bGVcbiAgICogQHBhcmFtIGZhY3RzVmFsdWVcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBldmFsdWF0ZVJ1bGUocnVsZTogUnVsZSwgZmFjdHNWYWx1ZTogUmVjb3JkPHN0cmluZywgRmFjdHMgfCB1bmRlZmluZWQ+LCBydW50aW1lRmFjdFZhbHVlczogUmVjb3JkPHN0cmluZywgRmFjdHM+KSB7XG4gICAgcmV0dXJuIHRoaXMuZXZhbHVhdGVCbG9jayhydWxlLnJvb3RFbGVtZW50LCBmYWN0c1ZhbHVlLCBydW50aW1lRmFjdFZhbHVlcyk7XG4gIH1cblxuICAvKipcbiAgICogUmVjdXJzaXZlbHkgcHJvY2VzcyBhIGJsb2NrIHRvIGV4dHJhY3QgYWxsIHRoZSBhY3Rpb25zIGtlZXBpbmcgdGhlIG9yZGVyXG4gICAqIE5vdGUgdGhhdCBydW50aW1lRmFjdFZhbHVlcyB3aWxsIGJlIG11dGF0ZWQgYnkgYWxsIHRoZSBydW50aW1lIGZhY3RzIGFjdGlvbnMgZXhlY3V0ZWRcbiAgICogQHBhcmFtIGVsZW1lbnRcbiAgICogQHBhcmFtIGZhY3RzVmFsdWVcbiAgICogQHBhcmFtIHJ1bnRpbWVGYWN0VmFsdWVzIFRoaXMgcnVudGltZSBmYWN0IG1hcCB3aWxsIGJlIG11dGF0ZWQgYnkgYWxsIHRoZSBydW50aW1lIGZhY3RzIGFjdGlvbnMgZXhlY3V0ZWRcbiAgICogQHBhcmFtIGFjdGlvbnNcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGV2YWx1YXRlQmxvY2soZWxlbWVudDogQWxsQmxvY2ssIGZhY3RzVmFsdWU6IFJlY29yZDxzdHJpbmcsIEZhY3RzIHwgdW5kZWZpbmVkPiwgcnVudGltZUZhY3RWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIEZhY3RzPiwgYWN0aW9uczogQWN0aW9uQmxvY2tbXSA9IFtdKSB7XG4gICAgaWYgKHRoaXMuaXNJZkVsc2VCbG9jayhlbGVtZW50KSkge1xuICAgICAgKCFlbGVtZW50LmNvbmRpdGlvbiB8fCB0aGlzLmV2YWx1YXRlQ29uZGl0aW9uKGVsZW1lbnQuY29uZGl0aW9uLCBmYWN0c1ZhbHVlLCBydW50aW1lRmFjdFZhbHVlcykgPyBlbGVtZW50LnN1Y2Nlc3NFbGVtZW50cyA6IGVsZW1lbnQuZmFpbHVyZUVsZW1lbnRzKVxuICAgICAgICAuZm9yRWFjaCgoZWxlbWVudFJlc3VsdCkgPT4gdGhpcy5ldmFsdWF0ZUJsb2NrKGVsZW1lbnRSZXN1bHQsIGZhY3RzVmFsdWUsIHJ1bnRpbWVGYWN0VmFsdWVzLCBhY3Rpb25zKSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzQWN0aW9uQmxvY2soZWxlbWVudCkpIHtcbiAgICAgIGlmICh0aGlzLmlzQWN0aW9uU2V0VGVtcG9yYXJ5RmFjdEJsb2NrKGVsZW1lbnQpKSB7XG4gICAgICAgIHJ1bnRpbWVGYWN0VmFsdWVzW2VsZW1lbnQuZmFjdF0gPSBlbGVtZW50LnZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWN0aW9ucy5wdXNoKGVsZW1lbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYWN0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGVsZW1lbnQgaXMgYSBJZkVsc2UgYmxvY2tcbiAgICogQHBhcmFtIGVsZW1lbnRcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGlzSWZFbHNlQmxvY2soZWxlbWVudDogQWxsQmxvY2spOiBlbGVtZW50IGlzIElmRWxzZUJsb2NrIHtcbiAgICByZXR1cm4gZWxlbWVudC5ibG9ja1R5cGUgPT09ICdJRl9FTFNFJztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGVsZW1lbnQgaXMgYW4gYWN0aW9uIGJsb2NrXG4gICAqIEBwYXJhbSBlbGVtZW50XG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBpc0FjdGlvbkJsb2NrKGVsZW1lbnQ6IEFsbEJsb2NrKTogZWxlbWVudCBpcyBBY3Rpb25CbG9jayB7XG4gICAgcmV0dXJuICdlbGVtZW50VHlwZScgaW4gZWxlbWVudCAmJiBlbGVtZW50LmVsZW1lbnRUeXBlID09PSAnQUNUSU9OJztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGFjdGlvbiBzZXRzIGEgdGVtcG9yYXJ5IGZhY3RcbiAgICogQHBhcmFtIGVsZW1lbnRcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGlzQWN0aW9uU2V0VGVtcG9yYXJ5RmFjdEJsb2NrKGVsZW1lbnQ6IEFjdGlvbkJsb2NrKTogZWxlbWVudCBpcyBBY3Rpb25TZXRUZW1wb3JhcnlGYWN0QmxvY2sge1xuICAgIHJldHVybiAnYWN0aW9uVHlwZScgaW4gZWxlbWVudCAmJiBlbGVtZW50LmFjdGlvblR5cGUgPT09ICdTRVRfRkFDVCc7XG4gIH1cblxuICAvKipcbiAgICogRXZhbHVhdGUgYSBjb25kaXRpb24gYmxvY2tcbiAgICogQHBhcmFtIG5lc3RlZENvbmRpdGlvblxuICAgKiBAcGFyYW0gZmFjdHNWYWx1ZVxuICAgKiBAcGFyYW0gcnVudGltZUZhY3RWYWx1ZXNcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGV2YWx1YXRlQ29uZGl0aW9uKG5lc3RlZENvbmRpdGlvbjogTmVzdGVkQ29uZGl0aW9uLCBmYWN0c1ZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cyB8IHVuZGVmaW5lZD4sIHJ1bnRpbWVGYWN0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGYWN0cz4pOiBib29sZWFuIHtcbiAgICBpZiAoaXNDb25kaXRpb25Qcm9wZXJ0aWVzKG5lc3RlZENvbmRpdGlvbikpIHtcbiAgICAgIGNvbnN0IG9wZXJhdG9yID0gdGhpcy5vcGVyYXRvcnNbbmVzdGVkQ29uZGl0aW9uLm9wZXJhdG9yXTtcbiAgICAgIGlmIChvcGVyYXRvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBvcGVyYXRvciA6ICR7bmVzdGVkQ29uZGl0aW9uLm9wZXJhdG9yfSwgc2tpcHBpbmcgdGhlIHJ1bGUgZXhlY3V0aW9uLi4uYCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXhlY3V0ZU9wZXJhdG9yKHRoaXMuZ2V0T3BlcmFuZFZhbHVlKG5lc3RlZENvbmRpdGlvbi5saHMsIGZhY3RzVmFsdWUsIHJ1bnRpbWVGYWN0VmFsdWVzKSxcbiAgICAgICAgdGhpcy5nZXRPcGVyYW5kVmFsdWUoJ3JocycgaW4gbmVzdGVkQ29uZGl0aW9uID8gbmVzdGVkQ29uZGl0aW9uLnJocyA6IHVuZGVmaW5lZCwgZmFjdHNWYWx1ZSwgcnVudGltZUZhY3RWYWx1ZXMpLCBvcGVyYXRvciwgZmFjdHNWYWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGlzTm90Q29uZGl0aW9uKG5lc3RlZENvbmRpdGlvbikpIHtcbiAgICAgIHJldHVybiAhdGhpcy5ldmFsdWF0ZUNvbmRpdGlvbihuZXN0ZWRDb25kaXRpb24ubm90LCBmYWN0c1ZhbHVlLCBydW50aW1lRmFjdFZhbHVlcyk7XG4gICAgfVxuICAgIGlmIChuZXN0ZWRDb25kaXRpb24uYWxsIHx8IG5lc3RlZENvbmRpdGlvbi5hbnkpIHtcbiAgICAgIGNvbnN0IGV2YWx1YXRlID0gKGNvbmRpdGlvbjogTmVzdGVkQ29uZGl0aW9uKSA9PiB0aGlzLmV2YWx1YXRlQ29uZGl0aW9uKGNvbmRpdGlvbiwgZmFjdHNWYWx1ZSwgcnVudGltZUZhY3RWYWx1ZXMpO1xuICAgICAgcmV0dXJuIGlzQWxsQ29uZGl0aW9ucyhuZXN0ZWRDb25kaXRpb24pID8gbmVzdGVkQ29uZGl0aW9uLmFsbC5ldmVyeSgoZWxlbWVudCkgPT4gZXZhbHVhdGUoZWxlbWVudCkpIDogbmVzdGVkQ29uZGl0aW9uLmFueS5zb21lKChlbGVtZW50KSA9PiBldmFsdWF0ZShlbGVtZW50KSk7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBjb25kaXRpb24gYmxvY2sgbWV0IDogJHtKU09OLnN0cmluZ2lmeShuZXN0ZWRDb25kaXRpb24pfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgcnVsZSBpbnB1dCBmYWN0c1xuICAgKiBAcGFyYW0gb2JqXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmluZFJ1bGVJbnB1dEZhY3RzID0gKG9iajogQWxsQmxvY2spOiBzdHJpbmdbXSA9PiB7XG4gICAgY29uc3QgcnVsZUlucHV0RmFjdHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICB0aGlzLmNvbGxlY3RSdWxlSW5wdXRGYWN0cyhvYmosIHJ1bGVJbnB1dEZhY3RzKTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShydWxlSW5wdXRGYWN0cyk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFBsdWcgcnVsZXNldCB0byBmYWN0IHN0cmVhbXMgYW5kIHRyaWdnZXIgYSBmaXJzdCBldmFsdWF0aW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgcGx1Z1J1bGVzZXQoKSB7XG4gICAgY29uc3QgaW5wdXRGYWN0c0ZvclJ1bGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHt9O1xuICAgIHRoaXMucnVsZXNldC5ydWxlcy5mb3JFYWNoKChydWxlKSA9PiBpbnB1dEZhY3RzRm9yUnVsZVtydWxlLmlkXSA9IHRoaXMuZmluZFJ1bGVJbnB1dEZhY3RzKHJ1bGUucm9vdEVsZW1lbnQpKTtcbiAgICBjb25zdCBmYWN0c1RoYXRSZXJ1bkV2ZXJ5dGhpbmc6IHN0cmluZ1tdID0gW107XG4gICAgdGhpcy5ydWxlc2V0LnJ1bGVzLmZvckVhY2goKHJ1bGUpID0+IHtcbiAgICAgIGlmIChydWxlLm91dHB1dFJ1bnRpbWVGYWN0cy5sZW5ndGggPiAwIHx8IHJ1bGUuaW5wdXRSdW50aW1lRmFjdHMubGVuZ3RoID4gMCkge1xuICAgICAgICBmYWN0c1RoYXRSZXJ1bkV2ZXJ5dGhpbmcucHVzaCguLi5pbnB1dEZhY3RzRm9yUnVsZVtydWxlLmlkXSk7XG4gICAgICB9IGVsc2Uge31cbiAgICB9KTtcbiAgICBjb25zdCB0cmlnZ2VyRnVsbCQ6IE9ic2VydmFibGU8dW5rbm93bltdPiA9IGZhY3RzVGhhdFJlcnVuRXZlcnl0aGluZy5sZW5ndGggPT09IDBcbiAgICAgID8gb2YoW10pXG4gICAgICA6IGNvbWJpbmVMYXRlc3QoZmFjdHNUaGF0UmVydW5FdmVyeXRoaW5nLm1hcCgoZmFjdCkgPT4gdGhpcy5ydWxlc0VuZ2luZS5yZXRyaWV2ZU9yQ3JlYXRlRmFjdFN0cmVhbShmYWN0KSkpO1xuICAgIGNvbnN0IHJlc3VsdCQgPSB0cmlnZ2VyRnVsbCQucGlwZShzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgY29uc3QgcnVudGltZUZhY3RWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIEZhY3RzPiA9IHt9O1xuXG4gICAgICBsZXQgcnVsZXNldElucHV0RmFjdHM6IHN0cmluZ1tdO1xuICAgICAgaWYgKHRoaXMucnVsZXNFbmdpbmUuZGVidWdNb2RlKSB7XG4gICAgICAgIHJ1bGVzZXRJbnB1dEZhY3RzID0gQXJyYXkuZnJvbSh0aGlzLnJ1bGVzZXQucnVsZXMucmVkdWNlKChhY2MsIHJ1bGUpID0+IHtcbiAgICAgICAgICBpbnB1dEZhY3RzRm9yUnVsZVtydWxlLmlkXS5mb3JFYWNoKChmYWN0TmFtZSkgPT4gYWNjLmFkZChmYWN0TmFtZSkpO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIG5ldyBTZXQ8c3RyaW5nPigpKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHRoaXMucnVsZXNldC5ydWxlcy5tYXAoKHJ1bGUpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXRGYWN0cyA9IGlucHV0RmFjdHNGb3JSdWxlW3J1bGUuaWRdO1xuICAgICAgICBjb25zdCB2YWx1ZXMkID0gaW5wdXRGYWN0cy5tYXAoKGZhY3QpID0+IHRoaXMucnVsZXNFbmdpbmUucmV0cmlldmVPckNyZWF0ZUZhY3RTdHJlYW0oZmFjdCkpO1xuICAgICAgICByZXR1cm4gKHZhbHVlcyQubGVuZ3RoID4gMCA/IGNvbWJpbmVMYXRlc3QodmFsdWVzJCkgOiBvZihbW11dIGFzIChGYWN0cyB8IHVuZGVmaW5lZClbXSkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgodW5kZWZpbmVkKSxcbiAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5wZXJmb3JtYW5jZU1hcmsocnVsZSwgJ3N0YXJ0JykpLFxuICAgICAgICAgICAgbWFwKChbb2xkRmFjdFZhbHVlcywgZmFjdFZhbHVlc10pID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgb3V0cHV0OiBSdWxlRXZhbHVhdGlvbk91dHB1dCA9IHsgYWN0aW9uczogdW5kZWZpbmVkIH07XG5cbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBvdXRwdXQuYWN0aW9ucyA9IHRoaXMuZXZhbHVhdGVSdWxlKHJ1bGUsIGlucHV0RmFjdHMucmVkdWNlPFJlY29yZDxzdHJpbmcsIEZhY3RzIHwgdW5kZWZpbmVkPj4oKGFjYywgaWQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICBhY2NbaWRdID0gZmFjdFZhbHVlcyFbaW5kZXhdO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICB9LCB7fSksIHJ1bnRpbWVGYWN0VmFsdWVzKTtcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBvdXRwdXQuYWN0aW9ucyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBvdXRwdXQuZXJyb3IgPSBlcnJvcjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmICh0aGlzLnJ1bGVzRW5naW5lLmRlYnVnTW9kZSkge1xuICAgICAgICAgICAgICAgIG91dHB1dC5ldmFsdWF0aW9uID0gaGFuZGxlUnVsZUV2YWx1YXRpb25EZWJ1Zyh7IC4uLnJ1bGUsIGlucHV0RmFjdHMgfSwgdGhpcy5ydWxlc2V0Lm5hbWUsIG91dHB1dC5hY3Rpb25zLCBvdXRwdXQuZXJyb3IsIHJ1bnRpbWVGYWN0VmFsdWVzLCBmYWN0VmFsdWVzLCBvbGRGYWN0VmFsdWVzKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChvdXRwdXQuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bGVzRW5naW5lLmxvZ2dlcj8uZXJyb3Iob3V0cHV0LmVycm9yKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bGVzRW5naW5lLmxvZ2dlcj8ud2FybihgU2tpcHBpbmcgcnVsZSAke3J1bGUubmFtZX0sIGFuZCB0aGUgYXNzb2NpYXRlZCBydWxlc2V0YCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMucGVyZm9ybWFuY2VNYXJrKHJ1bGUsICdlbmQnKSlcbiAgICAgICAgICApO1xuICAgICAgfSkpLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICBtYXAoKFtwcmV2UmVzLCBjdXJyUmVzXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFjdGlvbnNMaXN0cyA9IGN1cnJSZXMhLm1hcCgocikgPT4gci5hY3Rpb25zKTtcbiAgICAgICAgICBjb25zdCBhbGxFeGVjdXRpb25zVmFsaWQgPSBhY3Rpb25zTGlzdHMuZXZlcnkoKGFjdGlvbnMpID0+ICEhYWN0aW9ucyk7XG5cbiAgICAgICAgICBsZXQgZXhlY0luZm86IHtcbiAgICAgICAgICAgIGV4ZWN1dGlvbkNvdW50ZXI/OiBudW1iZXI7XG4gICAgICAgICAgICBhY3Rpb25zTGlzdHM6IEFjdGlvbkJsb2NrW11bXTtcbiAgICAgICAgICAgIHJ1bGVzZXRPdXRwdXRFeGVjdXRpb24/OiBSdWxlRXZhbHVhdGlvbltdO1xuICAgICAgICAgICAgYWxsRXhlY3V0aW9uc1ZhbGlkPzogYm9vbGVhbjtcbiAgICAgICAgICAgIHJ1bGVzZXRUcmlnZ2Vycz86IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEV2YWx1YXRpb25SZWFzb24+PjtcbiAgICAgICAgICB9ID0geyBhY3Rpb25zTGlzdHM6IChhbGxFeGVjdXRpb25zVmFsaWQgPyBhY3Rpb25zTGlzdHMgOiBbW11dKSB9O1xuXG4gICAgICAgICAgaWYgKHRoaXMucnVsZXNFbmdpbmUuZW5naW5lRGVidWcpIHtcbiAgICAgICAgICAgIGV4ZWNJbmZvID0ge1xuICAgICAgICAgICAgICAuLi5leGVjSW5mbyxcbiAgICAgICAgICAgICAgLi4udGhpcy5ydWxlc0VuZ2luZS5lbmdpbmVEZWJ1Zy5oYW5kbGVEZWJ1Z1J1bGVzZXRFeGVjdXRpb25JbmZvKFxuICAgICAgICAgICAgICAgIGN1cnJSZXMhLCBwcmV2UmVzLCBhbGxFeGVjdXRpb25zVmFsaWQsIHJ1bGVzZXRJbnB1dEZhY3RzLCBydW50aW1lRmFjdFZhbHVlcywgKyt0aGlzLmV4ZWN1dGlvbkNvdW50ZXIsIHRoaXMucnVsZXNldClcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBleGVjSW5mbztcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgob3V0cHV0KSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3V0cHV0QWN0aW9ucyA9IChbXSBhcyBBY3Rpb25CbG9ja1tdKS5jb25jYXQoLi4ub3V0cHV0LmFjdGlvbnNMaXN0cyk7XG5cbiAgICAgICAgICBpZiAodGhpcy5ydWxlc0VuZ2luZS5lbmdpbmVEZWJ1ZyAmJiBvdXRwdXQuYWxsRXhlY3V0aW9uc1ZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLnJ1bGVzRW5naW5lLmVuZ2luZURlYnVnLmFkZFJ1bGVzZXRFeGVjdXRpb25FdmVudCh0aGlzLnJ1bGVzZXQsIG91dHB1dC5leGVjdXRpb25Db3VudGVyISxcbiAgICAgICAgICAgICAgcnVsZXNldElucHV0RmFjdHMsIG91dHB1dEFjdGlvbnMsIHJ1bnRpbWVGYWN0VmFsdWVzLCBvdXRwdXQucnVsZXNldFRyaWdnZXJzISxcbiAgICAgICAgICAgICAgb3V0cHV0LnJ1bGVzZXRPdXRwdXRFeGVjdXRpb24hKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gb3V0cHV0QWN0aW9ucztcbiAgICAgICAgfSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyKSA9PiBwcmV2Lmxlbmd0aCA9PT0gMCAmJiBjdXJyLmxlbmd0aCA9PT0gMClcbiAgICAgICk7XG4gICAgfSksIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSkpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLnJ1bGVzZXQuaWQsXG4gICAgICB2YWxpZGl0eVJhbmdlOiB0aGlzLnJ1bGVzZXQudmFsaWRpdHlSYW5nZSxcbiAgICAgIGxpbmtlZENvbXBvbmVudDogdGhpcy5ydWxlc2V0LmxpbmtlZENvbXBvbmVudCxcbiAgICAgIGxpbmtlZENvbXBvbmVudHM6IHRoaXMucnVsZXNldC5saW5rZWRDb21wb25lbnRzLFxuICAgICAgcnVsZXNSZXN1bHRzU3ViamVjdCQ6IHJlc3VsdCRcbiAgICB9IGFzIEVuZ2luZVJ1bGVzZXQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VuZ2luZS9zdHJ1Y3R1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSXRlbUlkZW50aWZpZXIsIFJ1bGVzRW5naW5lQWN0aW9uIH0gZnJvbSAnQG8zci9jb3JlJztcblxuZXhwb3J0IHR5cGUgTmF0aXZlVHlwZXMgPSBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyO1xuLyoqIEdlbmVyaWMgb3BlcmFuZCAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVyYW5kPFQgZXh0ZW5kcyBzdHJpbmcsIFUgZXh0ZW5kcyBOYXRpdmVUeXBlcyA9IE5hdGl2ZVR5cGVzPiB7XG4gIC8qKiBPcGVyYW5kIHR5cGUgKi9cbiAgdHlwZTogVDtcbiAgLyoqIFN0YXRpYyB2YWx1ZSAqL1xuICB2YWx1ZTogVTtcbn1cblxuLyoqIE9wZXJhbmQgYmFzZWQgb24gZmFjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVyYW5kRmFjdCBleHRlbmRzIE9wZXJhbmQ8J0ZBQ1QnLCBzdHJpbmc+IHtcbiAgLyoqIEpTT05QYXRoIHRvIGRlZXAgcmVhZCB0aGUgZmFjdCB2YWx1ZSAqL1xuICBwYXRoPzogc3RyaW5nO1xufVxuXG4vKiogQ29uZGl0aW9uIGF2YWlsYWJsZSBvcGVyYW5kIHR5cGVzICovXG5leHBvcnQgdHlwZSBHZW5lcmljT3BlcmFuZCA9IE9wZXJhbmRGYWN0IHwgT3BlcmFuZDwnUlVOVElNRV9GQUNUJywgc3RyaW5nPiB8IE9wZXJhbmQ8J0xJVEVSQUwnPjtcblxuLyoqIENvbmRpdGlvbiBvYmplY3QgaW50ZXJmYWNlIHdpdGggdW5hcnkgb3BlcmF0b3IgKi9cbmV4cG9ydCBpbnRlcmZhY2UgVW5hcnlPcGVyYXRpb24ge1xuICAvKiogTGVmdCBIYW5kIFNpZGUgKi9cbiAgbGhzOiBHZW5lcmljT3BlcmFuZDtcbiAgLyoqIE9wZXJhdG9yICovXG4gIG9wZXJhdG9yOiBzdHJpbmc7XG59XG5cbi8qKiBDb25kaXRpb24gb2JqZWN0IGludGVyZmFjZSAqL1xuZXhwb3J0IGludGVyZmFjZSBCaW5hcnlPcGVyYXRpb24ge1xuICAvKiogTGVmdCBIYW5kIFNpZGUgKi9cbiAgbGhzOiBHZW5lcmljT3BlcmFuZDtcbiAgLyoqIFJpZ2h0IEhhbmQgU2lkZSAqL1xuICByaHM6IEdlbmVyaWNPcGVyYW5kO1xuICAvKiogT3BlcmF0b3IgKi9cbiAgb3BlcmF0b3I6IHN0cmluZztcbn1cblxuLyoqIE5lc3RlZCBDb25kaXRpb24gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuZXhwb3J0IHR5cGUgTmVzdGVkQ29uZGl0aW9uID0gVW5hcnlPcGVyYXRpb24gfCBCaW5hcnlPcGVyYXRpb24gfCBUb3BMZXZlbENvbmRpdGlvbjtcbi8qKiBBbGwgQ29uZGl0aW9uICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaWQtYmxhY2tsaXN0XG5leHBvcnQgdHlwZSBBbGxDb25kaXRpb25zID0ge2FsbDogTmVzdGVkQ29uZGl0aW9uW107IGFueT86IG5ldmVyOyBub3Q/OiBuZXZlcn07XG4vKiogQW55IENvbmRpdGlvbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGlkLWJsYWNrbGlzdFxuZXhwb3J0IHR5cGUgQW55Q29uZGl0aW9ucyA9IHthbnk6IE5lc3RlZENvbmRpdGlvbltdOyBhbGw/OiBuZXZlcjsgbm90PzogbmV2ZXJ9O1xuLyoqIE5vdCBDb25kaXRpb24gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpZC1ibGFja2xpc3RcbmV4cG9ydCB0eXBlIE5vdENvbmRpdGlvbiA9IHtub3Q6IE5lc3RlZENvbmRpdGlvbjsgYWxsPzogbmV2ZXI7IGFueT86IG5ldmVyfTtcbi8qKiBUb3AgbGV2ZWwgQ29uZGl0aW9uIGluIHRoZSBydWxlIGRlZmluaXRpb24gKi9cbmV4cG9ydCB0eXBlIFRvcExldmVsQ29uZGl0aW9uID0gQWxsQ29uZGl0aW9ucyB8IEFueUNvbmRpdGlvbnMgfCBOb3RDb25kaXRpb24gfCBVbmFyeU9wZXJhdGlvbiB8IEJpbmFyeU9wZXJhdGlvbjtcblxuLyoqIEV2ZW50IGVtaXR0ZWQgaW4gY2FzZSB0aGUgcnVsZSBjb25kaXRpb24gaXMgcGFzc2VkICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVFdmVudCB7XG4gIC8qKiBUeXBlIChvciBuYW1lKSBvZiB0aGUgZXZlbnQgKi9cbiAgdHlwZTogc3RyaW5nO1xuICAvKiogbGlzdCBvZiBwYXJhbWV0ZXIgYXNzb2NpYXRlZCB0byB0aGUgZXZlbnQgKi9cbiAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuLyoqIEJhc2UgZm9yIHRoZSBSdWxlIGRlZmluaXRpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZSB7XG4gIC8qKiBVbmlxdWUgaWQgYXNzb2NpYXRlZCB0byBhIHJ1bGUqL1xuICBpZDogc3RyaW5nO1xuICAvKiogUnVudGltZSBmYWN0cyB0aGF0IGFyZSBuZWVkZWQgZm9yIHRoZSBydWxlIGV4ZWN1dGlvbiAoc2VudCBieSB0aGUgQ01TKSAqL1xuICBpbnB1dFJ1bnRpbWVGYWN0czogc3RyaW5nW107XG4gIC8qKiBAZGVwcmVjYXRlZCB3aWxsIGJlIHJlbW92ZWQgaW4gdjEyLiBGYWN0cyB0aGF0IGFyZSBuZWVkZWQgZm9yIHRoZSBydWxlIGV4ZWN1dGlvbiAoc2VudCBieSB0aGUgQ01TKSAqL1xuICBpbnB1dEZhY3RzOiBzdHJpbmdbXTtcbiAgLyoqIFJ1bnRpbWUgZmFjdHMgdGhhdCBhcmUgY3JlYXRlZC91cGRhdGVkIGJ5IHRoZSBydWxlKi9cbiAgb3V0cHV0UnVudGltZUZhY3RzOiBzdHJpbmdbXTtcbiAgLyoqIE5hbWUgb2YgdGhlIHJ1bGUqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiByb290RWxlbWVudCBvZiB0aGUgcnVsZSwgdGhhdCBjb250YWlucyBlaXRoZXIgYSBibG9jaywgZWl0aGVyIGFuIGFjdGlvbiBsaXN0ICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICByb290RWxlbWVudDogQWxsQmxvY2s7XG59XG5cbi8qKlxuICogTGlzdCBvZiBwb3NzaWJsZSB0eXBlcyBvZiBhY3Rpb25zIHJlc3VsdGVkIGFzIG91dHB1dCBvZiBhIHJ1bGUgZXhlY3V0aW9uXG4gKiBAZGVwcmVjYXRlZCB0aGUgYWN0aW9ucyBhcmUgbm93IGRlcGVuZGluZyBvZiBleGVjdXRpbmcgbW9kdWxlc1xuICovXG5leHBvcnQgdHlwZSBBY3Rpb25UeXBlcyA9ICdTRVRfRkFDVCcgfCAnVVBEQVRFX0NPTkZJRycgfCAnVVBEQVRFX0FTU0VUJyB8ICdVUERBVEVfTE9DQUxJU0FUSU9OJyB8ICdVUERBVEVfUExBQ0VIT0xERVInO1xuXG4vKiogVHlwZXMgYXNzb2NpYXRlZCB0byB0aGUgY29uZGl0aW9uIGJsb2NrcyB0aGF0IGFyZSBzdXBwb3J0ZWQgKi9cbmV4cG9ydCB0eXBlIENvbmRpdGlvbkJsb2NrVHlwZXMgPSAnSUZfRUxTRSc7XG5cbi8qKiBJbnRlcmZhY2UgY29tbW9uIHRvIGFsbCBlbGVtZW50cyAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlRWxlbWVudCB7XG4gIC8qKiBUeXBlIG9mIHRoZSBlbGVtZW50Ki9cbiAgZWxlbWVudFR5cGU6IHN0cmluZztcbn1cblxuLyoqIEludGVyZmFjZSBjb21tb24gdG8gYWxsIGFjdGlvbnMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQmxvY2sgZXh0ZW5kcyBSdWxlRWxlbWVudCwgUnVsZXNFbmdpbmVBY3Rpb24ge1xuICBlbGVtZW50VHlwZTogJ0FDVElPTic7XG4gIGFjdGlvblR5cGU6IHN0cmluZztcbiAgdmFsdWU6IGFueTtcbn1cblxuLyoqIEludGVyZmFjZSBvZiBhY3Rpb24gdGhhdCBzZXRzIG9yIHVwZGF0ZXMgYSB0ZW1wb3JhcnkgZmFjdCAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25TZXRUZW1wb3JhcnlGYWN0QmxvY2sgZXh0ZW5kcyBBY3Rpb25CbG9jayB7XG4gIGFjdGlvblR5cGU6ICdTRVRfRkFDVCc7XG4gIGZhY3Q6IHN0cmluZztcbn1cblxuLyoqIEludGVyZmFjZSBvZiBibG9jayBSdWxlICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVCbG9jayBleHRlbmRzIFJ1bGVFbGVtZW50IHtcbiAgZWxlbWVudFR5cGU6ICdSVUxFX0JMT0NLJztcbiAgYmxvY2tUeXBlOiBDb25kaXRpb25CbG9ja1R5cGVzO1xufVxuXG4vKiogQWxsIHN1cHBvcnRlZCBibG9ja3MgKHN1cHBvcnRpbmcgbmVzdGVkIHN0cnVjdHVyZSkgKi9cbmV4cG9ydCB0eXBlIEFsbEJsb2NrID1cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICBJZkVsc2VCbG9ja1xuICB8IChBY3Rpb25CbG9jayAmIFJlY29yZDxzdHJpbmcsIGFueT4pO1xuXG4vKiogQmxvY2sgcmVwcmVzZW50aW5nIGFuICdpZiBlbHNlJyBjb25kaXRpb24uIElmIG5vIGNvbmRpdGlvbiBzcGVjaWZpZWQgaXQgd2lsbCBleGVjdXRlIHN1Y2Nlc3MgZWxlbWVudHMgb25seSAqL1xuZXhwb3J0IGludGVyZmFjZSBJZkVsc2VCbG9jayBleHRlbmRzIFJ1bGVCbG9jayB7XG4gIGJsb2NrVHlwZTogJ0lGX0VMU0UnO1xuICBzdWNjZXNzRWxlbWVudHM6IEFsbEJsb2NrW107XG4gIGZhaWx1cmVFbGVtZW50czogQWxsQmxvY2tbXTtcbiAgY29uZGl0aW9uPzogVG9wTGV2ZWxDb25kaXRpb247XG59XG5cbi8qKiBJbnRlcmZhY2Ugb2YgYSBydWxlc2V0IGFzIGl0J3Mgc3BlY2lmaWVkIGluIHRoZSBqc29uIGZpbGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZXNldCB7XG4gIC8qKiBVbmlxdWUgaWQgb2YgdGhlIHJ1bGVzZXQqL1xuICBpZDogc3RyaW5nO1xuICAvKiogTmFtZSBvZiB0aGUgcnVsZXNldCAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCBydWxlc2V0IGRlc2NyaXB0aW9uICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogTGlzdCBvZiBydWxlcyBhc3NvY2lhdGVkIHRvIHRoZSBydWxlc2V0ICovXG4gIHJ1bGVzOiBSdWxlW107XG4gIC8qKiBPcHRpb25hbCBkYXRlIHJhbmdlIHdoZXJlIHRoZSBydWxlc2V0IHdpbGwgYmUgZXhlY3V0ZWQqL1xuICB2YWxpZGl0eVJhbmdlPzoge2Zyb20/OiBzdHJpbmc7IHRvPzogc3RyaW5nfTtcbiAgLyoqXG4gICAqIENvbXBvbmVudHMgbGlua2VkIHRvIHRoZSBydWxlc2V0LiBJZiBwcmVzZW50IHRoZSBydWxlc2V0IHdpbGwgbm90IGJlIGFjdGl2ZSBieSBkZWZhdWx0LlxuICAgKiAnb3InIGNvbmRpdGlvbjogSWYgYXQgbGVhc3Qgb25lIGNvbXBvbmVudCBoYXMgc3Vic2NyaWJlZCwgdGhlIHJ1bGVzZXQgd2lsbCBiZWNvbWUgYWN0aXZlLlxuICAgKiBJZiBwcm92aWRlZCwgdGhlIHtAbGluayBsaW5rZWRDb21wb25lbnR9IHByb3BlcnR5IHdpbGwgbm90IGJlIHRha2VuIGludG8gY29uc2lkZXJhdGlvblxuICAgKi9cbiAgbGlua2VkQ29tcG9uZW50cz86IHtvcjogSXRlbUlkZW50aWZpZXJbXX07XG4gIC8qKlxuICAgKiBDb21wb25lbnQgbGlua2VkIHRvIHRoZSBydWxlc2V0LCBpZiBzZXQgaXQgd2lsbCBkaXNhYmxlIHRoZSBydWxlc2V0IGV4ZWN1dGlvbiBwZXIgZGVmYXVsdCwgd2FpdGluZyB0byBhIHN1YnNjcmlwdGlvblxuICAgKiBAZGVwcmVjYXRlZCBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gdjEyLCB1c2Uge0BsaW5rIGxpbmtlZENvbXBvbmVudHN9IGluc3RlYWRcbiAgICovXG4gIGxpbmtlZENvbXBvbmVudD86IEl0ZW1JZGVudGlmaWVyO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VuZ2luZS9zdHJ1Y3R1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgSXRlbUlkZW50aWZpZXIsXG4gIFJ1bGVzRW5naW5lQWN0aW9uLFxufSBmcm9tICdAbzNyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBOYXRpdmVUeXBlcyA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXI7XG4vKiogR2VuZXJpYyBvcGVyYW5kICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhbmQ8VCBleHRlbmRzIHN0cmluZywgVSBleHRlbmRzIE5hdGl2ZVR5cGVzID0gTmF0aXZlVHlwZXM+IHtcbiAgLyoqIE9wZXJhbmQgdHlwZSAqL1xuICB0eXBlOiBUO1xuICAvKiogU3RhdGljIHZhbHVlICovXG4gIHZhbHVlOiBVO1xufVxuXG4vKiogT3BlcmFuZCBiYXNlZCBvbiBmYWN0ICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhbmRGYWN0IGV4dGVuZHMgT3BlcmFuZDwnRkFDVCcsIHN0cmluZz4ge1xuICAvKiogSlNPTlBhdGggdG8gZGVlcCByZWFkIHRoZSBmYWN0IHZhbHVlICovXG4gIHBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKiBDb25kaXRpb24gYXZhaWxhYmxlIG9wZXJhbmQgdHlwZXMgKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNPcGVyYW5kID0gT3BlcmFuZEZhY3QgfCBPcGVyYW5kPCdSVU5USU1FX0ZBQ1QnLCBzdHJpbmc+IHwgT3BlcmFuZDwnTElURVJBTCc+O1xuXG4vKiogQ29uZGl0aW9uIG9iamVjdCBpbnRlcmZhY2Ugd2l0aCB1bmFyeSBvcGVyYXRvciAqL1xuZXhwb3J0IGludGVyZmFjZSBVbmFyeU9wZXJhdGlvbiB7XG4gIC8qKiBMZWZ0IEhhbmQgU2lkZSAqL1xuICBsaHM6IEdlbmVyaWNPcGVyYW5kO1xuICAvKiogT3BlcmF0b3IgKi9cbiAgb3BlcmF0b3I6IHN0cmluZztcbn1cblxuLyoqIENvbmRpdGlvbiBvYmplY3QgaW50ZXJmYWNlICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbmFyeU9wZXJhdGlvbiB7XG4gIC8qKiBMZWZ0IEhhbmQgU2lkZSAqL1xuICBsaHM6IEdlbmVyaWNPcGVyYW5kO1xuICAvKiogUmlnaHQgSGFuZCBTaWRlICovXG4gIHJoczogR2VuZXJpY09wZXJhbmQ7XG4gIC8qKiBPcGVyYXRvciAqL1xuICBvcGVyYXRvcjogc3RyaW5nO1xufVxuXG4vKiogTmVzdGVkIENvbmRpdGlvbiAqL1xuXG5leHBvcnQgdHlwZSBOZXN0ZWRDb25kaXRpb24gPSBVbmFyeU9wZXJhdGlvbiB8IEJpbmFyeU9wZXJhdGlvbiB8IFRvcExldmVsQ29uZGl0aW9uO1xuLyoqIEFsbCBDb25kaXRpb24gKi9cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGlkLWRlbnlsaXN0IC0tIGBhbnlgIGlzIGEgY29uZGl0aW9uYWwga2V5d29yZCBlbmZvcmNlZCBieSB0aGUgcnVsZSBpbnRlcmZhY2VcbmV4cG9ydCB0eXBlIEFsbENvbmRpdGlvbnMgPSB7IGFsbDogTmVzdGVkQ29uZGl0aW9uW107IGFueT86IG5ldmVyOyBub3Q/OiBuZXZlciB9O1xuLyoqIEFueSBDb25kaXRpb24gKi9cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGlkLWRlbnlsaXN0IC0tIGBhbnlgIGlzIGEgY29uZGl0aW9uYWwga2V5d29yZCBlbmZvcmNlZCBieSB0aGUgcnVsZSBpbnRlcmZhY2VcbmV4cG9ydCB0eXBlIEFueUNvbmRpdGlvbnMgPSB7IGFueTogTmVzdGVkQ29uZGl0aW9uW107IGFsbD86IG5ldmVyOyBub3Q/OiBuZXZlciB9O1xuLyoqIE5vdCBDb25kaXRpb24gKi9cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGlkLWRlbnlsaXN0IC0tIGBhbnlgIGlzIGEgY29uZGl0aW9uYWwga2V5d29yZCBlbmZvcmNlZCBieSB0aGUgcnVsZSBpbnRlcmZhY2VcbmV4cG9ydCB0eXBlIE5vdENvbmRpdGlvbiA9IHsgbm90OiBOZXN0ZWRDb25kaXRpb247IGFsbD86IG5ldmVyOyBhbnk/OiBuZXZlciB9O1xuLyoqIFRvcCBsZXZlbCBDb25kaXRpb24gaW4gdGhlIHJ1bGUgZGVmaW5pdGlvbiAqL1xuZXhwb3J0IHR5cGUgVG9wTGV2ZWxDb25kaXRpb24gPSBBbGxDb25kaXRpb25zIHwgQW55Q29uZGl0aW9ucyB8IE5vdENvbmRpdGlvbiB8IFVuYXJ5T3BlcmF0aW9uIHwgQmluYXJ5T3BlcmF0aW9uO1xuXG4vKiogRXZlbnQgZW1pdHRlZCBpbiBjYXNlIHRoZSBydWxlIGNvbmRpdGlvbiBpcyBwYXNzZWQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZUV2ZW50IHtcbiAgLyoqIFR5cGUgKG9yIG5hbWUpIG9mIHRoZSBldmVudCAqL1xuICB0eXBlOiBzdHJpbmc7XG4gIC8qKiBsaXN0IG9mIHBhcmFtZXRlciBhc3NvY2lhdGVkIHRvIHRoZSBldmVudCAqL1xuICBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG4vKiogQmFzZSBmb3IgdGhlIFJ1bGUgZGVmaW5pdGlvbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlIHtcbiAgLyoqIFVuaXF1ZSBpZCBhc3NvY2lhdGVkIHRvIGEgcnVsZSovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBSdW50aW1lIGZhY3RzIHRoYXQgYXJlIG5lZWRlZCBmb3IgdGhlIHJ1bGUgZXhlY3V0aW9uIChzZW50IGJ5IHRoZSBDTVMpICovXG4gIGlucHV0UnVudGltZUZhY3RzOiBzdHJpbmdbXTtcbiAgLyoqIEBkZXByZWNhdGVkIHdpbGwgYmUgcmVtb3ZlZCBpbiB2MTIuIEZhY3RzIHRoYXQgYXJlIG5lZWRlZCBmb3IgdGhlIHJ1bGUgZXhlY3V0aW9uIChzZW50IGJ5IHRoZSBDTVMpICovXG4gIGlucHV0RmFjdHM6IHN0cmluZ1tdO1xuICAvKiogUnVudGltZSBmYWN0cyB0aGF0IGFyZSBjcmVhdGVkL3VwZGF0ZWQgYnkgdGhlIHJ1bGUqL1xuICBvdXRwdXRSdW50aW1lRmFjdHM6IHN0cmluZ1tdO1xuICAvKiogTmFtZSBvZiB0aGUgcnVsZSovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIHJvb3RFbGVtZW50IG9mIHRoZSBydWxlLCB0aGF0IGNvbnRhaW5zIGVpdGhlciBhIGJsb2NrLCBlaXRoZXIgYW4gYWN0aW9uIGxpc3QgKi9cbiAgcm9vdEVsZW1lbnQ6IEFsbEJsb2NrO1xufVxuXG4vKipcbiAqIExpc3Qgb2YgcG9zc2libGUgdHlwZXMgb2YgYWN0aW9ucyByZXN1bHRlZCBhcyBvdXRwdXQgb2YgYSBydWxlIGV4ZWN1dGlvblxuICogQGRlcHJlY2F0ZWQgdGhlIGFjdGlvbnMgYXJlIG5vdyBkZXBlbmRpbmcgb2YgZXhlY3V0aW5nIG1vZHVsZXNcbiAqL1xuZXhwb3J0IHR5cGUgQWN0aW9uVHlwZXMgPSAnU0VUX0ZBQ1QnIHwgJ1VQREFURV9DT05GSUcnIHwgJ1VQREFURV9BU1NFVCcgfCAnVVBEQVRFX0xPQ0FMSVNBVElPTicgfCAnVVBEQVRFX1BMQUNFSE9MREVSJztcblxuLyoqIFR5cGVzIGFzc29jaWF0ZWQgdG8gdGhlIGNvbmRpdGlvbiBibG9ja3MgdGhhdCBhcmUgc3VwcG9ydGVkICovXG5leHBvcnQgdHlwZSBDb25kaXRpb25CbG9ja1R5cGVzID0gJ0lGX0VMU0UnO1xuXG4vKiogSW50ZXJmYWNlIGNvbW1vbiB0byBhbGwgZWxlbWVudHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZUVsZW1lbnQge1xuICAvKiogVHlwZSBvZiB0aGUgZWxlbWVudCovXG4gIGVsZW1lbnRUeXBlOiBzdHJpbmc7XG59XG5cbi8qKiBJbnRlcmZhY2UgY29tbW9uIHRvIGFsbCBhY3Rpb25zICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkJsb2NrIGV4dGVuZHMgUnVsZUVsZW1lbnQsIFJ1bGVzRW5naW5lQWN0aW9uIHtcbiAgZWxlbWVudFR5cGU6ICdBQ1RJT04nO1xuICBhY3Rpb25UeXBlOiBzdHJpbmc7XG4gIHZhbHVlOiBhbnk7XG59XG5cbi8qKiBJbnRlcmZhY2Ugb2YgYWN0aW9uIHRoYXQgc2V0cyBvciB1cGRhdGVzIGEgdGVtcG9yYXJ5IGZhY3QgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uU2V0VGVtcG9yYXJ5RmFjdEJsb2NrIGV4dGVuZHMgQWN0aW9uQmxvY2sge1xuICBhY3Rpb25UeXBlOiAnU0VUX0ZBQ1QnO1xuICBmYWN0OiBzdHJpbmc7XG59XG5cbi8qKiBJbnRlcmZhY2Ugb2YgYmxvY2sgUnVsZSAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlQmxvY2sgZXh0ZW5kcyBSdWxlRWxlbWVudCB7XG4gIGVsZW1lbnRUeXBlOiAnUlVMRV9CTE9DSyc7XG4gIGJsb2NrVHlwZTogQ29uZGl0aW9uQmxvY2tUeXBlcztcbn1cblxuLyoqIEFsbCBzdXBwb3J0ZWQgYmxvY2tzIChzdXBwb3J0aW5nIG5lc3RlZCBzdHJ1Y3R1cmUpICovXG5leHBvcnQgdHlwZSBBbGxCbG9jayA9XG4gIElmRWxzZUJsb2NrXG4gIHwgKEFjdGlvbkJsb2NrICYgUmVjb3JkPHN0cmluZywgYW55Pik7XG5cbi8qKiBCbG9jayByZXByZXNlbnRpbmcgYW4gJ2lmIGVsc2UnIGNvbmRpdGlvbi4gSWYgbm8gY29uZGl0aW9uIHNwZWNpZmllZCBpdCB3aWxsIGV4ZWN1dGUgc3VjY2VzcyBlbGVtZW50cyBvbmx5ICovXG5leHBvcnQgaW50ZXJmYWNlIElmRWxzZUJsb2NrIGV4dGVuZHMgUnVsZUJsb2NrIHtcbiAgYmxvY2tUeXBlOiAnSUZfRUxTRSc7XG4gIHN1Y2Nlc3NFbGVtZW50czogQWxsQmxvY2tbXTtcbiAgZmFpbHVyZUVsZW1lbnRzOiBBbGxCbG9ja1tdO1xuICBjb25kaXRpb24/OiBUb3BMZXZlbENvbmRpdGlvbjtcbn1cblxuLyoqIEludGVyZmFjZSBvZiBhIHJ1bGVzZXQgYXMgaXQncyBzcGVjaWZpZWQgaW4gdGhlIGpzb24gZmlsZSAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlc2V0IHtcbiAgLyoqIFVuaXF1ZSBpZCBvZiB0aGUgcnVsZXNldCovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBOYW1lIG9mIHRoZSBydWxlc2V0ICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIHJ1bGVzZXQgZGVzY3JpcHRpb24gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBMaXN0IG9mIHJ1bGVzIGFzc29jaWF0ZWQgdG8gdGhlIHJ1bGVzZXQgKi9cbiAgcnVsZXM6IFJ1bGVbXTtcbiAgLyoqIE9wdGlvbmFsIGRhdGUgcmFuZ2Ugd2hlcmUgdGhlIHJ1bGVzZXQgd2lsbCBiZSBleGVjdXRlZCovXG4gIHZhbGlkaXR5UmFuZ2U/OiB7IGZyb20/OiBzdHJpbmc7IHRvPzogc3RyaW5nIH07XG4gIC8qKlxuICAgKiBDb21wb25lbnRzIGxpbmtlZCB0byB0aGUgcnVsZXNldC4gSWYgcHJlc2VudCB0aGUgcnVsZXNldCB3aWxsIG5vdCBiZSBhY3RpdmUgYnkgZGVmYXVsdC5cbiAgICogJ29yJyBjb25kaXRpb246IElmIGF0IGxlYXN0IG9uZSBjb21wb25lbnQgaGFzIHN1YnNjcmliZWQsIHRoZSBydWxlc2V0IHdpbGwgYmVjb21lIGFjdGl2ZS5cbiAgICogSWYgcHJvdmlkZWQsIHRoZSB7QGxpbmsgbGlua2VkQ29tcG9uZW50fSBwcm9wZXJ0eSB3aWxsIG5vdCBiZSB0YWtlbiBpbnRvIGNvbnNpZGVyYXRpb25cbiAgICovXG4gIGxpbmtlZENvbXBvbmVudHM/OiB7IG9yOiBJdGVtSWRlbnRpZmllcltdIH07XG4gIC8qKlxuICAgKiBDb21wb25lbnQgbGlua2VkIHRvIHRoZSBydWxlc2V0LCBpZiBzZXQgaXQgd2lsbCBkaXNhYmxlIHRoZSBydWxlc2V0IGV4ZWN1dGlvbiBwZXIgZGVmYXVsdCwgd2FpdGluZyB0byBhIHN1YnNjcmlwdGlvblxuICAgKiBAZGVwcmVjYXRlZCBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gdjEyLCB1c2Uge0BsaW5rIGxpbmtlZENvbXBvbmVudHN9IGluc3RlYWRcbiAgICovXG4gIGxpbmtlZENvbXBvbmVudD86IEl0ZW1JZGVudGlmaWVyO1xufVxuIl19
@@ -9,4 +9,4 @@ export class FactsService {
9
9
  .map(([id, factValue]) => ({ id, value$: factValue })));
10
10
  }
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdC5hYnN0cmFjdC1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZhY3QvZmFjdC5hYnN0cmFjdC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGdDQUFnQztBQUNoQyxNQUFNLE9BQWdCLFlBQVk7SUFLaEMsWUFBNkIsV0FBcUM7UUFBckMsZ0JBQVcsR0FBWCxXQUFXLENBQTBCO0lBQ2xFLENBQUM7SUFFRCxnQ0FBZ0M7SUFDekIsUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUMxQixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDdkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FDekQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhY3REZWZpbml0aW9ucywgRmFjdFNldCB9IGZyb20gJy4uL2VuZ2luZS9pbmRleCc7XG5pbXBvcnQgeyBSdWxlc0VuZ2luZVJ1bm5lclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ydW5uZXIvcnVsZXMtZW5naW5lLnJ1bm5lci5zZXJ2aWNlJztcblxuLyoqIEFic3RyYWN0IGZhY3Qgc2V0IHNlcnZpY2UgKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGYWN0c1NlcnZpY2U8VCBleHRlbmRzIEZhY3REZWZpbml0aW9ucz4ge1xuXG4gIC8qKiBTZXQgb2YgZmFjdHMgcHJvdmlkZWQgKi9cbiAgcHVibGljIGFic3RyYWN0IGZhY3RzOiBGYWN0U2V0PFQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcnVsZXNFbmdpbmU6IFJ1bGVzRW5naW5lUnVubmVyU2VydmljZSkge1xuICB9XG5cbiAgLyoqIFJlZ2lzdGVyIHRoZSBzZXQgb2YgZmFjdHMgKi9cbiAgcHVibGljIHJlZ2lzdGVyKCkge1xuICAgIHRoaXMucnVsZXNFbmdpbmUudXBzZXJ0RmFjdHMoXG4gICAgICBPYmplY3QuZW50cmllcyh0aGlzLmZhY3RzKVxuICAgICAgICAubWFwKChbaWQsIGZhY3RWYWx1ZV0pID0+ICh7IGlkLCB2YWx1ZSQ6IGZhY3RWYWx1ZSB9KSlcbiAgICApO1xuICB9XG59XG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdC5hYnN0cmFjdC1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZhY3QvZmFjdC5hYnN0cmFjdC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLGdDQUFnQztBQUNoQyxNQUFNLE9BQWdCLFlBQVk7SUFJaEMsWUFBNkIsV0FBcUM7UUFBckMsZ0JBQVcsR0FBWCxXQUFXLENBQTBCO0lBQUcsQ0FBQztJQUV0RSxnQ0FBZ0M7SUFDekIsUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUMxQixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDdkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FDekQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEZhY3REZWZpbml0aW9ucyxcbiAgRmFjdFNldCxcbn0gZnJvbSAnLi4vZW5naW5lL2luZGV4JztcbmltcG9ydCB7XG4gIFJ1bGVzRW5naW5lUnVubmVyU2VydmljZSxcbn0gZnJvbSAnLi4vc2VydmljZXMvcnVubmVyL3J1bGVzLWVuZ2luZS5ydW5uZXIuc2VydmljZSc7XG5cbi8qKiBBYnN0cmFjdCBmYWN0IHNldCBzZXJ2aWNlICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmFjdHNTZXJ2aWNlPFQgZXh0ZW5kcyBGYWN0RGVmaW5pdGlvbnM+IHtcbiAgLyoqIFNldCBvZiBmYWN0cyBwcm92aWRlZCAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZmFjdHM6IEZhY3RTZXQ8VD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBydWxlc0VuZ2luZTogUnVsZXNFbmdpbmVSdW5uZXJTZXJ2aWNlKSB7fVxuXG4gIC8qKiBSZWdpc3RlciB0aGUgc2V0IG9mIGZhY3RzICovXG4gIHB1YmxpYyByZWdpc3RlcigpIHtcbiAgICB0aGlzLnJ1bGVzRW5naW5lLnVwc2VydEZhY3RzKFxuICAgICAgT2JqZWN0LmVudHJpZXModGhpcy5mYWN0cylcbiAgICAgICAgLm1hcCgoW2lkLCBmYWN0VmFsdWVdKSA9PiAoeyBpZCwgdmFsdWUkOiBmYWN0VmFsdWUgfSkpXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXJ2ZWQuZmFjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmFjdC9yZXNlcnZlZC5mYWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGYWN0RGVmaW5pdGlvbnMgfSBmcm9tICcuLi9lbmdpbmUvaW5kZXgnO1xuXG4vKipcbiAqIEludGVyZmFjZSB0aGF0IGNvbnRhaW5zIHRoZSBwb3J0YWxGYWN0cyBkZWZpbml0aW9uXG4gKiBUaGlzIGlzIG9uZSBvZiB0aGUgcmVzZXJ2ZWQgZmFjdCBuYW1lcywgaXQgd29uJ3QgYmUgcGFydCBvZiBtZXRhZGF0YVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvcnRhbEZhY3RzIGV4dGVuZHMgRmFjdERlZmluaXRpb25zIHtcbiAgLyoqXG4gICAqIE1hcCBvZiBmYWN0cyBjb21pbmcgZnJvbSB0aGUgcG9ydGFsXG4gICAqL1xuICBwb3J0YWxGYWN0czogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXJ2ZWQuZmFjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmFjdC9yZXNlcnZlZC5mYWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBGYWN0RGVmaW5pdGlvbnMsXG59IGZyb20gJy4uL2VuZ2luZS9pbmRleCc7XG5cbi8qKlxuICogSW50ZXJmYWNlIHRoYXQgY29udGFpbnMgdGhlIHBvcnRhbEZhY3RzIGRlZmluaXRpb25cbiAqIFRoaXMgaXMgb25lIG9mIHRoZSByZXNlcnZlZCBmYWN0IG5hbWVzLCBpdCB3b24ndCBiZSBwYXJ0IG9mIG1ldGFkYXRhXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9ydGFsRmFjdHMgZXh0ZW5kcyBGYWN0RGVmaW5pdGlvbnMge1xuICAvKipcbiAgICogTWFwIG9mIGZhY3RzIGNvbWluZyBmcm9tIHRoZSBwb3J0YWxcbiAgICovXG4gIHBvcnRhbEZhY3RzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuIl19
@@ -11,4 +11,4 @@ export class RulesEngineRunnerServiceFixture {
11
11
  this.disableRuleSetFor = jasmine.createSpy('disableRuleSetFor');
12
12
  }
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLnJ1bm5lci5zZXJ2aWNlLmZpeHR1cmUuamFzbWluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maXh0dXJlcy9qYXNtaW5lL3J1bGVzLWVuZ2luZS5ydW5uZXIuc2VydmljZS5maXh0dXJlLmphc21pbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEseURBQXlEO0FBQ3pELE1BQU0sT0FBTywrQkFBK0I7SUFBNUM7UUFFRSxrQkFBa0I7UUFDWCxnQkFBVyxHQUFnQixPQUFPLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRW5FLGtCQUFrQjtRQUNYLG9CQUFlLEdBQWdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUzRSxrQkFBa0I7UUFDWCxxQkFBZ0IsR0FBZ0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTdFLGtCQUFrQjtRQUNYLHNCQUFpQixHQUFnQixPQUFPLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDakYsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlc0VuZ2luZVJ1bm5lclNlcnZpY2UgfSBmcm9tICdAbzNyL3J1bGVzLWVuZ2luZSc7XG5cbi8qKiBKYXNtaW5lIEZpeHR1cmUgY2xhc3MgZm9yIFJ1bGVzRW5naW5lUnVubmVyU2VydmljZSAqL1xuZXhwb3J0IGNsYXNzIFJ1bGVzRW5naW5lUnVubmVyU2VydmljZUZpeHR1cmUgaW1wbGVtZW50cyBSZWFkb25seTxQYXJ0aWFsPFJ1bGVzRW5naW5lUnVubmVyU2VydmljZT4+IHtcblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHVwc2VydEZhY3RzOiBqYXNtaW5lLlNweSA9IGphc21pbmUuY3JlYXRlU3B5KCd1cHNlcnRGYWN0cycpO1xuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgdXBzZXJ0T3BlcmF0b3JzOiBqYXNtaW5lLlNweSA9IGphc21pbmUuY3JlYXRlU3B5KCd1cHNlcnRPcGVyYXRvcnMnKTtcblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGVuYWJsZVJ1bGVTZXRGb3I6IGphc21pbmUuU3B5ID0gamFzbWluZS5jcmVhdGVTcHkoJ2VuYWJsZVJ1bGVTZXRGb3InKTtcblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGRpc2FibGVSdWxlU2V0Rm9yOiBqYXNtaW5lLlNweSA9IGphc21pbmUuY3JlYXRlU3B5KCdkaXNhYmxlUnVsZVNldEZvcicpO1xufVxuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLnJ1bm5lci5zZXJ2aWNlLmZpeHR1cmUuamFzbWluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maXh0dXJlcy9qYXNtaW5lL3J1bGVzLWVuZ2luZS5ydW5uZXIuc2VydmljZS5maXh0dXJlLmphc21pbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEseURBQXlEO0FBQ3pELE1BQU0sT0FBTywrQkFBK0I7SUFBNUM7UUFDRSxrQkFBa0I7UUFDWCxnQkFBVyxHQUFnQixPQUFPLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRW5FLGtCQUFrQjtRQUNYLG9CQUFlLEdBQWdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUzRSxrQkFBa0I7UUFDWCxxQkFBZ0IsR0FBZ0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTdFLGtCQUFrQjtRQUNYLHNCQUFpQixHQUFnQixPQUFPLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDakYsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSdWxlc0VuZ2luZVJ1bm5lclNlcnZpY2UsXG59IGZyb20gJ0BvM3IvcnVsZXMtZW5naW5lJztcblxuLyoqIEphc21pbmUgRml4dHVyZSBjbGFzcyBmb3IgUnVsZXNFbmdpbmVSdW5uZXJTZXJ2aWNlICovXG5leHBvcnQgY2xhc3MgUnVsZXNFbmdpbmVSdW5uZXJTZXJ2aWNlRml4dHVyZSBpbXBsZW1lbnRzIFJlYWRvbmx5PFBhcnRpYWw8UnVsZXNFbmdpbmVSdW5uZXJTZXJ2aWNlPj4ge1xuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHVwc2VydEZhY3RzOiBqYXNtaW5lLlNweSA9IGphc21pbmUuY3JlYXRlU3B5KCd1cHNlcnRGYWN0cycpO1xuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgdXBzZXJ0T3BlcmF0b3JzOiBqYXNtaW5lLlNweSA9IGphc21pbmUuY3JlYXRlU3B5KCd1cHNlcnRPcGVyYXRvcnMnKTtcblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGVuYWJsZVJ1bGVTZXRGb3I6IGphc21pbmUuU3B5ID0gamFzbWluZS5jcmVhdGVTcHkoJ2VuYWJsZVJ1bGVTZXRGb3InKTtcblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGRpc2FibGVSdWxlU2V0Rm9yOiBqYXNtaW5lLlNweSA9IGphc21pbmUuY3JlYXRlU3B5KCdkaXNhYmxlUnVsZVNldEZvcicpO1xufVxuIl19
@@ -11,4 +11,4 @@ export class RulesEngineRunnerServiceFixture {
11
11
  this.disableRuleSetFor = jest.fn();
12
12
  }
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLnJ1bm5lci5zZXJ2aWNlLmZpeHR1cmUuamVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maXh0dXJlcy9qZXN0L3J1bGVzLWVuZ2luZS5ydW5uZXIuc2VydmljZS5maXh0dXJlLmplc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsc0RBQXNEO0FBQ3RELE1BQU0sT0FBTywrQkFBK0I7SUFBNUM7UUFFRSxrQkFBa0I7UUFDWCxnQkFBVyxHQUF1RCxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFFbkYsa0JBQWtCO1FBQ1gsb0JBQWUsR0FBbUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBRW5HLGtCQUFrQjtRQUNYLHFCQUFnQixHQUE4QixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFFL0Qsa0JBQWtCO1FBQ1gsc0JBQWlCLEdBQThCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7RmFjdCwgT3BlcmF0b3IsIFJ1bGVzRW5naW5lUnVubmVyU2VydmljZSwgVW5hcnlPcGVyYXRvcn0gZnJvbSAnQG8zci9ydWxlcy1lbmdpbmUnO1xuXG4vKiogSmVzdCBGaXh0dXJlIGNsYXNzIGZvciBSdWxlc0VuZ2luZVJ1bm5lclNlcnZpY2UgKi9cbmV4cG9ydCBjbGFzcyBSdWxlc0VuZ2luZVJ1bm5lclNlcnZpY2VGaXh0dXJlIGltcGxlbWVudHMgUmVhZG9ubHk8UGFydGlhbDxSdWxlc0VuZ2luZVJ1bm5lclNlcnZpY2U+PiB7XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyB1cHNlcnRGYWN0czogamVzdC5Nb2NrPHZvaWQsIFtGYWN0PHVua25vd24+IHwgRmFjdDx1bmtub3duPltdXT4gPSBqZXN0LmZuKCk7XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyB1cHNlcnRPcGVyYXRvcnM6IGplc3QuTW9jazx2b2lkLCBbKE9wZXJhdG9yPGFueSwgYW55PiB8IFVuYXJ5T3BlcmF0b3I8YW55PilbXV0+ID0gamVzdC5mbigpO1xuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZW5hYmxlUnVsZVNldEZvcjogamVzdC5Nb2NrPHZvaWQsIFtzdHJpbmddPiA9IGplc3QuZm4oKTtcblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGRpc2FibGVSdWxlU2V0Rm9yOiBqZXN0Lk1vY2s8dm9pZCwgW3N0cmluZ10+ID0gamVzdC5mbigpO1xufVxuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLnJ1bm5lci5zZXJ2aWNlLmZpeHR1cmUuamVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maXh0dXJlcy9qZXN0L3J1bGVzLWVuZ2luZS5ydW5uZXIuc2VydmljZS5maXh0dXJlLmplc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0Esc0RBQXNEO0FBQ3RELE1BQU0sT0FBTywrQkFBK0I7SUFBNUM7UUFDRSxrQkFBa0I7UUFDWCxnQkFBVyxHQUF1RCxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFFbkYsa0JBQWtCO1FBQ1gsb0JBQWUsR0FBbUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBRW5HLGtCQUFrQjtRQUNYLHFCQUFnQixHQUE4QixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFFL0Qsa0JBQWtCO1FBQ1gsc0JBQWlCLEdBQThCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEZhY3QsXG4gIE9wZXJhdG9yLFxuICBSdWxlc0VuZ2luZVJ1bm5lclNlcnZpY2UsXG4gIFVuYXJ5T3BlcmF0b3IsXG59IGZyb20gJ0BvM3IvcnVsZXMtZW5naW5lJztcblxuLyoqIEplc3QgRml4dHVyZSBjbGFzcyBmb3IgUnVsZXNFbmdpbmVSdW5uZXJTZXJ2aWNlICovXG5leHBvcnQgY2xhc3MgUnVsZXNFbmdpbmVSdW5uZXJTZXJ2aWNlRml4dHVyZSBpbXBsZW1lbnRzIFJlYWRvbmx5PFBhcnRpYWw8UnVsZXNFbmdpbmVSdW5uZXJTZXJ2aWNlPj4ge1xuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHVwc2VydEZhY3RzOiBqZXN0Lk1vY2s8dm9pZCwgW0ZhY3Q8dW5rbm93bj4gfCBGYWN0PHVua25vd24+W11dPiA9IGplc3QuZm4oKTtcblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHVwc2VydE9wZXJhdG9yczogamVzdC5Nb2NrPHZvaWQsIFsoT3BlcmF0b3I8YW55LCBhbnk+IHwgVW5hcnlPcGVyYXRvcjxhbnk+KVtdXT4gPSBqZXN0LmZuKCk7XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBlbmFibGVSdWxlU2V0Rm9yOiBqZXN0Lk1vY2s8dm9pZCwgW3N0cmluZ10+ID0gamVzdC5mbigpO1xuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZGlzYWJsZVJ1bGVTZXRGb3I6IGplc3QuTW9jazx2b2lkLCBbc3RyaW5nXT4gPSBqZXN0LmZuKCk7XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { FactsService } from '../../fact';
4
- import { RulesEngineRunnerService } from '../../services';
1
+ import { Injectable, } from '@angular/core';
2
+ import { BehaviorSubject, } from 'rxjs';
3
+ import { FactsService, } from '../../fact';
4
+ import { RulesEngineRunnerService, } from '../../services';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../../services";
7
7
  export class CurrentTimeFactsService extends FactsService {
@@ -17,13 +17,13 @@ export class CurrentTimeFactsService extends FactsService {
17
17
  tick() {
18
18
  this.currentTimeSubject$.next(Date.now());
19
19
  }
20
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CurrentTimeFactsService, deps: [{ token: i1.RulesEngineRunnerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
21
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CurrentTimeFactsService, providedIn: 'root' }); }
20
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CurrentTimeFactsService, deps: [{ token: i1.RulesEngineRunnerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CurrentTimeFactsService, providedIn: 'root' }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CurrentTimeFactsService, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CurrentTimeFactsService, decorators: [{
24
24
  type: Injectable,
25
25
  args: [{
26
26
  providedIn: 'root'
27
27
  }]
28
28
  }], ctorParameters: () => [{ type: i1.RulesEngineRunnerService }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC10aW1lLWZhY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbm5lci1mYWN0cy9jdXJyZW50LXRpbWUvY3VycmVudC10aW1lLWZhY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUxQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSzFELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxZQUE4QjtJQVF6RSxZQUFZLFdBQXFDO1FBQy9DLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQVBKLHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLGtCQUFrQjtRQUNYLFVBQUssR0FBRztZQUNiLGNBQWMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFO1NBQ3hELENBQUM7SUFJRixDQUFDO0lBRUQsK0JBQStCO0lBQ3hCLElBQUk7UUFDVCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7a0lBZlUsdUJBQXVCO3NJQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmFjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZmFjdCc7XG5pbXBvcnQgeyBDdXJyZW50VGltZUZhY3RzIH0gZnJvbSAnLi9jdXJyZW50LXRpbWUuZmFjdHMnO1xuaW1wb3J0IHsgUnVsZXNFbmdpbmVSdW5uZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDdXJyZW50VGltZUZhY3RzU2VydmljZSBleHRlbmRzIEZhY3RzU2VydmljZTxDdXJyZW50VGltZUZhY3RzPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjdXJyZW50VGltZVN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdChEYXRlLm5vdygpKTtcbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBmYWN0cyA9IHtcbiAgICBvM3JDdXJyZW50VGltZTogdGhpcy5jdXJyZW50VGltZVN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpXG4gIH07XG5cbiAgY29uc3RydWN0b3IocnVsZXNFbmdpbmU6IFJ1bGVzRW5naW5lUnVubmVyU2VydmljZSkge1xuICAgIHN1cGVyKHJ1bGVzRW5naW5lKTtcbiAgfVxuXG4gIC8qKiBDb21wdXRlIHRoZSBjdXJyZW50IHRpbWUgKi9cbiAgcHVibGljIHRpY2soKSB7XG4gICAgdGhpcy5jdXJyZW50VGltZVN1YmplY3QkLm5leHQoRGF0ZS5ub3coKSk7XG4gIH1cbn1cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC10aW1lLWZhY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbm5lci1mYWN0cy9jdXJyZW50LXRpbWUvY3VycmVudC10aW1lLWZhY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxlQUFlLEdBQ2hCLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUNMLFlBQVksR0FDYixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQ0wsd0JBQXdCLEdBQ3pCLE1BQU0sZ0JBQWdCLENBQUM7OztBQVF4QixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsWUFBOEI7SUFPekUsWUFBWSxXQUFxQztRQUMvQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFQSix3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN2RSxrQkFBa0I7UUFDWCxVQUFLLEdBQUc7WUFDYixjQUFjLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRTtTQUN4RCxDQUFDO0lBSUYsQ0FBQztJQUVELCtCQUErQjtJQUN4QixJQUFJO1FBQ1QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO2tJQWRVLHVCQUF1QjtzSUFBdkIsdUJBQXVCLGNBRnRCLE1BQU07OzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3RhYmxlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBGYWN0c1NlcnZpY2UsXG59IGZyb20gJy4uLy4uL2ZhY3QnO1xuaW1wb3J0IHtcbiAgUnVsZXNFbmdpbmVSdW5uZXJTZXJ2aWNlLFxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICBDdXJyZW50VGltZUZhY3RzLFxufSBmcm9tICcuL2N1cnJlbnQtdGltZS5mYWN0cyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEN1cnJlbnRUaW1lRmFjdHNTZXJ2aWNlIGV4dGVuZHMgRmFjdHNTZXJ2aWNlPEN1cnJlbnRUaW1lRmFjdHM+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjdXJyZW50VGltZVN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdChEYXRlLm5vdygpKTtcbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBmYWN0cyA9IHtcbiAgICBvM3JDdXJyZW50VGltZTogdGhpcy5jdXJyZW50VGltZVN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpXG4gIH07XG5cbiAgY29uc3RydWN0b3IocnVsZXNFbmdpbmU6IFJ1bGVzRW5naW5lUnVubmVyU2VydmljZSkge1xuICAgIHN1cGVyKHJ1bGVzRW5naW5lKTtcbiAgfVxuXG4gIC8qKiBDb21wdXRlIHRoZSBjdXJyZW50IHRpbWUgKi9cbiAgcHVibGljIHRpY2soKSB7XG4gICAgdGhpcy5jdXJyZW50VGltZVN1YmplY3QkLm5leHQoRGF0ZS5ub3coKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC10aW1lLmZhY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2lubmVyLWZhY3RzL2N1cnJlbnQtdGltZS9jdXJyZW50LXRpbWUuZmFjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmFjdERlZmluaXRpb25zIH0gZnJvbSAnLi4vLi4vZW5naW5lJztcblxuXG4vKipcbiAqIE9wZXJhdG9yIGZhY3RzIHRoYXQgcHJvdmlkZSB0aGUgY3VycmVudCB0aW1lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VycmVudFRpbWVGYWN0cyBleHRlbmRzIEZhY3REZWZpbml0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCB0aW1lIGFzIGEgdGltZXN0YW1wXG4gICAqL1xuICBvM3JDdXJyZW50VGltZTogbnVtYmVyO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC10aW1lLmZhY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2lubmVyLWZhY3RzL2N1cnJlbnQtdGltZS9jdXJyZW50LXRpbWUuZmFjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgRmFjdERlZmluaXRpb25zLFxufSBmcm9tICcuLi8uLi9lbmdpbmUnO1xuXG4vKipcbiAqIE9wZXJhdG9yIGZhY3RzIHRoYXQgcHJvdmlkZSB0aGUgY3VycmVudCB0aW1lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VycmVudFRpbWVGYWN0cyBleHRlbmRzIEZhY3REZWZpbml0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCB0aW1lIGFzIGEgdGltZXN0YW1wXG4gICAqL1xuICBvM3JDdXJyZW50VGltZTogbnVtYmVyO1xufVxuIl19
@@ -1,3 +1,3 @@
1
- export * from './current-time.facts';
2
1
  export * from './current-time-fact.service';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW5uZXItZmFjdHMvY3VycmVudC10aW1lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3VycmVudC10aW1lLmZhY3RzJztcbmV4cG9ydCAqIGZyb20gJy4vY3VycmVudC10aW1lLWZhY3Quc2VydmljZSc7XG4iXX0=
2
+ export * from './current-time.facts';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW5uZXItZmFjdHMvY3VycmVudC10aW1lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3VycmVudC10aW1lLWZhY3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2N1cnJlbnQtdGltZS5mYWN0cyc7XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW50ZXJmYWNlcy9hY3Rpb24uaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBY3Rpb25CbG9jayB9IGZyb20gJy4uL2VuZ2luZS9pbmRleCc7XG5cbi8qKlxuICogQ29udGVudCBvZiBhY3Rpb24gdGhhdCB1cGRhdGVzIHRoZSBjb25maWd1cmF0aW9uXG4gKiBAZGVwcmVjYXRlZCB1c2UgdGhlIG9uZSBleHBvc2VkIGJ5IGBAbzNyL2NvbmZpZ3VyYXRpb25gIG1vZHVsZS4gV2lsbCBiZSByZW1vdmVkIGluIE90dGVyIHYxMi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25VcGRhdGVDb25maWdCbG9jayBleHRlbmRzIEFjdGlvbkJsb2NrIHtcbiAgYWN0aW9uVHlwZTogJ1VQREFURV9DT05GSUcnO1xuICBsaWJyYXJ5OiBzdHJpbmc7XG4gIGNvbXBvbmVudDogc3RyaW5nO1xuICBwcm9wZXJ0eTogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnRlbnQgb2YgYWN0aW9uIHRoYXQgdXBkYXRlcyBhbiBhc3NldFxuICogQGRlcHJlY2F0ZWQgdXNlIHRoZSBvbmUgZXhwb3NlZCBieSBgQG8zci9keW5hbWljLWNvbnRlbnRgIG1vZHVsZS4gV2lsbCBiZSByZW1vdmVkIGluIE90dGVyIHYxMi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25VcGRhdGVBc3NldEJsb2NrIGV4dGVuZHMgQWN0aW9uQmxvY2sge1xuICBhY3Rpb25UeXBlOiAnVVBEQVRFX0FTU0VUJztcbiAgYXNzZXQ6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb250ZW50IG9mIGFjdGlvbiB0aGF0IHVwZGF0ZXMgbG9jYWxpemF0aW9uXG4gKiBAZGVwcmVjYXRlZCB1c2UgdGhlIG9uZSBleHBvc2VkIGJ5IGBAbzNyL2xvY2FsaXphdGlvbmAgbW9kdWxlLiBXaWxsIGJlIHJlbW92ZWQgaW4gT3R0ZXIgdjEyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvblVwZGF0ZUxvY2FsaXNhdGlvbkJsb2NrIGV4dGVuZHMgQWN0aW9uQmxvY2sge1xuICBhY3Rpb25UeXBlOiAnVVBEQVRFX0xPQ0FMSVNBVElPTic7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnRlbnQgb2YgYWN0aW9uIHRoYXQgdXBkYXRlcyBhIHBsYWNlaG9sZGVyXG4gKiBAZGVwcmVjYXRlZCB1c2UgdGhlIG9uZSBleHBvc2VkIGJ5IGBAbzNyL2NvbXBvbmVudHNgIG1vZHVsZS4gV2lsbCBiZSByZW1vdmVkIGluIE90dGVyIHYxMi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25VcGRhdGVQbGFjZWhvbGRlckJsb2NrIGV4dGVuZHMgQWN0aW9uQmxvY2sge1xuICBhY3Rpb25UeXBlOiAnVVBEQVRFX1BMQUNFSE9MREVSJztcbiAgcGxhY2Vob2xkZXJJZDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFR5cGUgdGhhdCByZWdyb3VwcyBhbGwgZGlmZmVyZW50IGtpbmQgb2YgYWN0aW9uc1xuICogQGRlcHJlY2F0ZWQgd2lsbCBiZSByZW1vdmVkIGluIE90dGVyIHYxMi5cbiAqL1xuZXhwb3J0IHR5cGUgQWN0aW9uT3ZlcnJpZGVCbG9jayA9XG4gIEFjdGlvblVwZGF0ZUNvbmZpZ0Jsb2NrIHxcbiAgQWN0aW9uVXBkYXRlQXNzZXRCbG9jayB8XG4gIEFjdGlvblVwZGF0ZUxvY2FsaXNhdGlvbkJsb2NrIHxcbiAgQWN0aW9uVXBkYXRlUGxhY2Vob2xkZXJCbG9jaztcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW50ZXJmYWNlcy9hY3Rpb24uaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBY3Rpb25CbG9jayxcbn0gZnJvbSAnLi4vZW5naW5lL2luZGV4JztcblxuLyoqXG4gKiBDb250ZW50IG9mIGFjdGlvbiB0aGF0IHVwZGF0ZXMgdGhlIGNvbmZpZ3VyYXRpb25cbiAqIEBkZXByZWNhdGVkIHVzZSB0aGUgb25lIGV4cG9zZWQgYnkgYEBvM3IvY29uZmlndXJhdGlvbmAgbW9kdWxlLiBXaWxsIGJlIHJlbW92ZWQgaW4gT3R0ZXIgdjEyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvblVwZGF0ZUNvbmZpZ0Jsb2NrIGV4dGVuZHMgQWN0aW9uQmxvY2sge1xuICBhY3Rpb25UeXBlOiAnVVBEQVRFX0NPTkZJRyc7XG4gIGxpYnJhcnk6IHN0cmluZztcbiAgY29tcG9uZW50OiBzdHJpbmc7XG4gIHByb3BlcnR5OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udGVudCBvZiBhY3Rpb24gdGhhdCB1cGRhdGVzIGFuIGFzc2V0XG4gKiBAZGVwcmVjYXRlZCB1c2UgdGhlIG9uZSBleHBvc2VkIGJ5IGBAbzNyL2R5bmFtaWMtY29udGVudGAgbW9kdWxlLiBXaWxsIGJlIHJlbW92ZWQgaW4gT3R0ZXIgdjEyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvblVwZGF0ZUFzc2V0QmxvY2sgZXh0ZW5kcyBBY3Rpb25CbG9jayB7XG4gIGFjdGlvblR5cGU6ICdVUERBVEVfQVNTRVQnO1xuICBhc3NldDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnRlbnQgb2YgYWN0aW9uIHRoYXQgdXBkYXRlcyBsb2NhbGl6YXRpb25cbiAqIEBkZXByZWNhdGVkIHVzZSB0aGUgb25lIGV4cG9zZWQgYnkgYEBvM3IvbG9jYWxpemF0aW9uYCBtb2R1bGUuIFdpbGwgYmUgcmVtb3ZlZCBpbiBPdHRlciB2MTIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uVXBkYXRlTG9jYWxpc2F0aW9uQmxvY2sgZXh0ZW5kcyBBY3Rpb25CbG9jayB7XG4gIGFjdGlvblR5cGU6ICdVUERBVEVfTE9DQUxJU0FUSU9OJztcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udGVudCBvZiBhY3Rpb24gdGhhdCB1cGRhdGVzIGEgcGxhY2Vob2xkZXJcbiAqIEBkZXByZWNhdGVkIHVzZSB0aGUgb25lIGV4cG9zZWQgYnkgYEBvM3IvY29tcG9uZW50c2AgbW9kdWxlLiBXaWxsIGJlIHJlbW92ZWQgaW4gT3R0ZXIgdjEyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvblVwZGF0ZVBsYWNlaG9sZGVyQmxvY2sgZXh0ZW5kcyBBY3Rpb25CbG9jayB7XG4gIGFjdGlvblR5cGU6ICdVUERBVEVfUExBQ0VIT0xERVInO1xuICBwbGFjZWhvbGRlcklkOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVHlwZSB0aGF0IHJlZ3JvdXBzIGFsbCBkaWZmZXJlbnQga2luZCBvZiBhY3Rpb25zXG4gKiBAZGVwcmVjYXRlZCB3aWxsIGJlIHJlbW92ZWQgaW4gT3R0ZXIgdjEyLlxuICovXG5leHBvcnQgdHlwZSBBY3Rpb25PdmVycmlkZUJsb2NrID1cbiAgQWN0aW9uVXBkYXRlQ29uZmlnQmxvY2sgfFxuICBBY3Rpb25VcGRhdGVBc3NldEJsb2NrIHxcbiAgQWN0aW9uVXBkYXRlTG9jYWxpc2F0aW9uQmxvY2sgfFxuICBBY3Rpb25VcGRhdGVQbGFjZWhvbGRlckJsb2NrO1xuIl19
@@ -1,3 +1,3 @@
1
1
  export * from './action.interfaces';
2
2
  export * from './linkable-to-ruleset.interfaces';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGlvbi5pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGlua2FibGUtdG8tcnVsZXNldC5pbnRlcmZhY2VzJztcblxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGlvbi5pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGlua2FibGUtdG8tcnVsZXNldC5pbnRlcmZhY2VzJztcbiJdfQ==
@@ -6,5 +6,4 @@ export * from './inner-facts/index';
6
6
  export * from './interfaces/index';
7
7
  export * from './services/index';
8
8
  export * from './stores/index';
9
- export * from './devkit/index';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2RldmtpdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2VuZ2luZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2ZhY3QvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9pbm5lci1mYWN0cy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3Jlcy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2RldmtpdC9pbmRleCc7XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXZraXQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9lbmdpbmUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9mYWN0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vaW5uZXItZmFjdHMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZXMvaW5kZXgnO1xuIl19
@@ -1,3 +1,3 @@
1
- export * from './runner/index';
2
1
  export * from './rules-engine.token';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ydW5uZXIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9ydWxlcy1lbmdpbmUudG9rZW4nO1xuIl19
2
+ export * from './runner/index';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ydWxlcy1lbmdpbmUudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9ydW5uZXIvaW5kZXgnO1xuIl19
@@ -1,4 +1,4 @@
1
- import { InjectionToken } from '@angular/core';
1
+ import { InjectionToken, } from '@angular/core';
2
2
  /** Determine if the action should be executed */
3
3
  export const RULES_ENGINE_OPTIONS = new InjectionToken('Rules Engine Options');
4
4
  /** Default Rules engine options */
@@ -6,4 +6,4 @@ export const DEFAULT_RULES_ENGINE_OPTIONS = {
6
6
  dryRun: false,
7
7
  debug: false
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3J1bGVzLWVuZ2luZS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLGlEQUFpRDtBQUNqRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FBVSxzQkFBc0IsQ0FBQyxDQUFDO0FBWXhGLG1DQUFtQztBQUNuQyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBOEI7SUFDckUsTUFBTSxFQUFFLEtBQUs7SUFDYixLQUFLLEVBQUUsS0FBSztDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKiogRGV0ZXJtaW5lIGlmIHRoZSBhY3Rpb24gc2hvdWxkIGJlIGV4ZWN1dGVkICovXG5leHBvcnQgY29uc3QgUlVMRVNfRU5HSU5FX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oJ1J1bGVzIEVuZ2luZSBPcHRpb25zJyk7XG5cbi8qKiBSdWxlcyBlbmdpbmUgY29uZmlndXJhdGlvbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlc0VuZ2luZVNlcnZpY2VPcHRpb25zIHtcbiAgLyoqIERldGVybWluZSBpZiB0aGUgYWN0aW9ucyByZXN1bHRpbmcgb2YgdGhlIHJ1bGUgZW5naW5lIHNob3VsZCBiZSBleGVjdXRlZCAqL1xuICBkcnlSdW46IGJvb2xlYW47XG4gIC8qKiBGbGFnIHRvIGFjdGl2YXRlIHRoZSBydW4gb2YgUnVsZXMgRW5naW5lIGluIGRlYnVnIG1vZGUgKi9cbiAgZGVidWc6IGJvb2xlYW47XG4gIC8qKiBMaW1pdCB0aGUgbnVtYmVyIG9mIGRlYnVnIGV2ZW50cyBrZXB0IGluIHN0YWNrICovXG4gIGRlYnVnRXZlbnRzU3RhY2tMaW1pdD86IG51bWJlcjtcbn1cblxuLyoqIERlZmF1bHQgUnVsZXMgZW5naW5lIG9wdGlvbnMgKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1JVTEVTX0VOR0lORV9PUFRJT05TOiBSdWxlc0VuZ2luZVNlcnZpY2VPcHRpb25zID0ge1xuICBkcnlSdW46IGZhbHNlLFxuICBkZWJ1ZzogZmFsc2Vcbn07XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3J1bGVzLWVuZ2luZS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBRXZCLGlEQUFpRDtBQUNqRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FBVSxzQkFBc0IsQ0FBQyxDQUFDO0FBWXhGLG1DQUFtQztBQUNuQyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBd0M7SUFDL0UsTUFBTSxFQUFFLEtBQUs7SUFDYixLQUFLLEVBQUUsS0FBSztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3Rpb25Ub2tlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKiBEZXRlcm1pbmUgaWYgdGhlIGFjdGlvbiBzaG91bGQgYmUgZXhlY3V0ZWQgKi9cbmV4cG9ydCBjb25zdCBSVUxFU19FTkdJTkVfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPignUnVsZXMgRW5naW5lIE9wdGlvbnMnKTtcblxuLyoqIFJ1bGVzIGVuZ2luZSBjb25maWd1cmF0aW9uICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVzRW5naW5lU2VydmljZU9wdGlvbnMge1xuICAvKiogRGV0ZXJtaW5lIGlmIHRoZSBhY3Rpb25zIHJlc3VsdGluZyBvZiB0aGUgcnVsZSBlbmdpbmUgc2hvdWxkIGJlIGV4ZWN1dGVkICovXG4gIGRyeVJ1bjogYm9vbGVhbjtcbiAgLyoqIEZsYWcgdG8gYWN0aXZhdGUgdGhlIHJ1biBvZiBSdWxlcyBFbmdpbmUgaW4gZGVidWcgbW9kZSAqL1xuICBkZWJ1ZzogYm9vbGVhbjtcbiAgLyoqIExpbWl0IHRoZSBudW1iZXIgb2YgZGVidWcgZXZlbnRzIGtlcHQgaW4gc3RhY2sgKi9cbiAgZGVidWdFdmVudHNTdGFja0xpbWl0PzogbnVtYmVyO1xufVxuXG4vKiogRGVmYXVsdCBSdWxlcyBlbmdpbmUgb3B0aW9ucyAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUlVMRVNfRU5HSU5FX09QVElPTlM6IFJlYWRvbmx5PFJ1bGVzRW5naW5lU2VydmljZU9wdGlvbnM+ID0ge1xuICBkcnlSdW46IGZhbHNlLFxuICBkZWJ1ZzogZmFsc2Vcbn0gYXMgY29uc3Q7XG4iXX0=
@@ -1,9 +1,9 @@
1
- import { NgModule } from '@angular/core';
2
- import { StoreModule } from '@ngrx/store';
3
- import { LoggerModule } from '@o3r/logger';
4
- import { RulesetsStoreModule } from '../../stores/index';
5
- import { RulesEngineRunnerService } from './rules-engine.runner.service';
6
- import { DEFAULT_RULES_ENGINE_OPTIONS, RULES_ENGINE_OPTIONS } from '../rules-engine.token';
1
+ import { NgModule, } from '@angular/core';
2
+ import { StoreModule, } from '@ngrx/store';
3
+ import { LoggerModule, } from '@o3r/logger';
4
+ import { RulesetsStoreModule, } from '../../stores/index';
5
+ import { DEFAULT_RULES_ENGINE_OPTIONS, RULES_ENGINE_OPTIONS, } from '../rules-engine.token';
6
+ import { RulesEngineRunnerService, } from './rules-engine.runner.service';
7
7
  import * as i0 from "@angular/core";
8
8
  export class RulesEngineRunnerModule {
9
9
  static forRoot(options) {
@@ -16,15 +16,15 @@ export class RulesEngineRunnerModule {
16
16
  ]
17
17
  };
18
18
  }
19
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RulesEngineRunnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: RulesEngineRunnerModule, imports: [StoreModule,
19
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesEngineRunnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RulesEngineRunnerModule, imports: [StoreModule,
21
21
  RulesetsStoreModule,
22
22
  LoggerModule] }); }
23
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RulesEngineRunnerModule, imports: [StoreModule,
23
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesEngineRunnerModule, imports: [StoreModule,
24
24
  RulesetsStoreModule,
25
25
  LoggerModule] }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RulesEngineRunnerModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesEngineRunnerModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  imports: [
@@ -34,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
34
34
  ]
35
35
  }]
36
36
  }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLnJ1bm5lci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvcnVubmVyL3J1bGVzLWVuZ2luZS5ydW5uZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsb0JBQW9CLEVBQTZCLE1BQU0sdUJBQXVCLENBQUM7O0FBU3RILE1BQU0sT0FBTyx1QkFBdUI7SUFDM0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUE0QztRQUNoRSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyw0QkFBNEIsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQztRQUN0RyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHVCQUF1QjtZQUNqQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDakQsd0JBQXdCO2FBQ3pCO1NBQ0YsQ0FBQztJQUNKLENBQUM7a0lBVlUsdUJBQXVCO21JQUF2Qix1QkFBdUIsWUFMaEMsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixZQUFZO21JQUdILHVCQUF1QixZQUxoQyxXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7OzRGQUdILHVCQUF1QjtrQkFQbkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7cUJBQ2I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBMb2dnZXJNb2R1bGUgfSBmcm9tICdAbzNyL2xvZ2dlcic7XG5pbXBvcnQgeyBSdWxlc2V0c1N0b3JlTW9kdWxlIH0gZnJvbSAnLi4vLi4vc3RvcmVzL2luZGV4JztcbmltcG9ydCB7IFJ1bGVzRW5naW5lUnVubmVyU2VydmljZSB9IGZyb20gJy4vcnVsZXMtZW5naW5lLnJ1bm5lci5zZXJ2aWNlJztcbmltcG9ydCB7IERFRkFVTFRfUlVMRVNfRU5HSU5FX09QVElPTlMsIFJVTEVTX0VOR0lORV9PUFRJT05TLCBSdWxlc0VuZ2luZVNlcnZpY2VPcHRpb25zIH0gZnJvbSAnLi4vcnVsZXMtZW5naW5lLnRva2VuJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFN0b3JlTW9kdWxlLFxuICAgIFJ1bGVzZXRzU3RvcmVNb2R1bGUsXG4gICAgTG9nZ2VyTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUnVsZXNFbmdpbmVSdW5uZXJNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3Qob3B0aW9ucz86IFBhcnRpYWw8UnVsZXNFbmdpbmVTZXJ2aWNlT3B0aW9ucz4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFJ1bGVzRW5naW5lUnVubmVyTW9kdWxlPiB7XG4gICAgY29uc3Qgb3B0cyA9IG9wdGlvbnMgPyB7IC4uLkRFRkFVTFRfUlVMRVNfRU5HSU5FX09QVElPTlMsIC4uLm9wdGlvbnMgfSA6IERFRkFVTFRfUlVMRVNfRU5HSU5FX09QVElPTlM7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBSdWxlc0VuZ2luZVJ1bm5lck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFJVTEVTX0VOR0lORV9PUFRJT05TLCB1c2VWYWx1ZTogb3B0cyB9LFxuICAgICAgICBSdWxlc0VuZ2luZVJ1bm5lclNlcnZpY2VcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLnJ1bm5lci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvcnVubmVyL3J1bGVzLWVuZ2luZS5ydW5uZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFdBQVcsR0FDWixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsWUFBWSxHQUNiLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFDTCxtQkFBbUIsR0FDcEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLG9CQUFvQixHQUVyQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFDTCx3QkFBd0IsR0FDekIsTUFBTSwrQkFBK0IsQ0FBQzs7QUFTdkMsTUFBTSxPQUFPLHVCQUF1QjtJQUMzQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQTRDO1FBQ2hFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLDRCQUE0QixFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDO1FBQ3RHLE9BQU87WUFDTCxRQUFRLEVBQUUsdUJBQXVCO1lBQ2pDLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNqRCx3QkFBd0I7YUFDekI7U0FDRixDQUFDO0lBQ0osQ0FBQztrSUFWVSx1QkFBdUI7bUlBQXZCLHVCQUF1QixZQUxoQyxXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7bUlBR0gsdUJBQXVCLFlBTGhDLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWTs7NEZBR0gsdUJBQXVCO2tCQVBuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsWUFBWTtxQkFDYjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gIE5nTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFN0b3JlTW9kdWxlLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBMb2dnZXJNb2R1bGUsXG59IGZyb20gJ0BvM3IvbG9nZ2VyJztcbmltcG9ydCB7XG4gIFJ1bGVzZXRzU3RvcmVNb2R1bGUsXG59IGZyb20gJy4uLy4uL3N0b3Jlcy9pbmRleCc7XG5pbXBvcnQge1xuICBERUZBVUxUX1JVTEVTX0VOR0lORV9PUFRJT05TLFxuICBSVUxFU19FTkdJTkVfT1BUSU9OUyxcbiAgUnVsZXNFbmdpbmVTZXJ2aWNlT3B0aW9ucyxcbn0gZnJvbSAnLi4vcnVsZXMtZW5naW5lLnRva2VuJztcbmltcG9ydCB7XG4gIFJ1bGVzRW5naW5lUnVubmVyU2VydmljZSxcbn0gZnJvbSAnLi9ydWxlcy1lbmdpbmUucnVubmVyLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgU3RvcmVNb2R1bGUsXG4gICAgUnVsZXNldHNTdG9yZU1vZHVsZSxcbiAgICBMb2dnZXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSdWxlc0VuZ2luZVJ1bm5lck1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChvcHRpb25zPzogUGFydGlhbDxSdWxlc0VuZ2luZVNlcnZpY2VPcHRpb25zPik6IE1vZHVsZVdpdGhQcm92aWRlcnM8UnVsZXNFbmdpbmVSdW5uZXJNb2R1bGU+IHtcbiAgICBjb25zdCBvcHRzID0gb3B0aW9ucyA/IHsgLi4uREVGQVVMVF9SVUxFU19FTkdJTkVfT1BUSU9OUywgLi4ub3B0aW9ucyB9IDogREVGQVVMVF9SVUxFU19FTkdJTkVfT1BUSU9OUztcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFJ1bGVzRW5naW5lUnVubmVyTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogUlVMRVNfRU5HSU5FX09QVElPTlMsIHVzZVZhbHVlOiBvcHRzIH0sXG4gICAgICAgIFJ1bGVzRW5naW5lUnVubmVyU2VydmljZVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==