@angular/core 17.0.0-next.1 → 17.0.0-next.3

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 (62) hide show
  1. package/esm2022/rxjs-interop/src/to_signal.mjs +4 -6
  2. package/esm2022/src/core_private_export.mjs +2 -2
  3. package/esm2022/src/core_render3_private_export.mjs +5 -2
  4. package/esm2022/src/di/injection_token.mjs +12 -7
  5. package/esm2022/src/hydration/annotate.mjs +61 -30
  6. package/esm2022/src/hydration/cleanup.mjs +2 -2
  7. package/esm2022/src/linker/template_ref.mjs +3 -3
  8. package/esm2022/src/linker/view_container_ref.mjs +80 -25
  9. package/esm2022/src/render3/after_render_hooks.mjs +74 -43
  10. package/esm2022/src/render3/assert.mjs +2 -3
  11. package/esm2022/src/render3/collect_native_nodes.mjs +30 -23
  12. package/esm2022/src/render3/component.mjs +4 -3
  13. package/esm2022/src/render3/di.mjs +1 -1
  14. package/esm2022/src/render3/index.mjs +2 -2
  15. package/esm2022/src/render3/instructions/advance.mjs +3 -3
  16. package/esm2022/src/render3/instructions/all.mjs +2 -1
  17. package/esm2022/src/render3/instructions/change_detection.mjs +5 -6
  18. package/esm2022/src/render3/instructions/component_instance.mjs +23 -0
  19. package/esm2022/src/render3/instructions/control_flow.mjs +175 -3
  20. package/esm2022/src/render3/instructions/defer.mjs +409 -18
  21. package/esm2022/src/render3/instructions/shared.mjs +20 -14
  22. package/esm2022/src/render3/instructions/template.mjs +2 -1
  23. package/esm2022/src/render3/interfaces/defer.mjs +9 -0
  24. package/esm2022/src/render3/interfaces/definition.mjs +1 -1
  25. package/esm2022/src/render3/interfaces/injector.mjs +1 -1
  26. package/esm2022/src/render3/interfaces/node.mjs +16 -1
  27. package/esm2022/src/render3/interfaces/styling.mjs +4 -7
  28. package/esm2022/src/render3/interfaces/type_checks.mjs +4 -1
  29. package/esm2022/src/render3/interfaces/view.mjs +1 -1
  30. package/esm2022/src/render3/jit/environment.mjs +6 -1
  31. package/esm2022/src/render3/node_manipulation.mjs +4 -3
  32. package/esm2022/src/render3/reactive_lview_consumer.mjs +25 -45
  33. package/esm2022/src/render3/reactivity/effect.mjs +8 -8
  34. package/esm2022/src/render3/util/injector_utils.mjs +1 -1
  35. package/esm2022/src/render3/view_manipulation.mjs +13 -2
  36. package/esm2022/src/signals/index.mjs +4 -4
  37. package/esm2022/src/signals/src/api.mjs +2 -11
  38. package/esm2022/src/signals/src/computed.mjs +43 -93
  39. package/esm2022/src/signals/src/graph.mjs +238 -162
  40. package/esm2022/src/signals/src/signal.mjs +59 -79
  41. package/esm2022/src/signals/src/watch.mjs +38 -52
  42. package/esm2022/src/signals/src/weak_ref.mjs +2 -29
  43. package/esm2022/src/util/dom.mjs +2 -2
  44. package/esm2022/src/util/security/trusted_type_defs.mjs +1 -1
  45. package/esm2022/src/util/security/trusted_types.mjs +1 -1
  46. package/esm2022/src/version.mjs +1 -1
  47. package/esm2022/src/zone/ng_zone.mjs +16 -1
  48. package/esm2022/testing/src/logger.mjs +3 -3
  49. package/esm2022/testing/src/test_bed.mjs +2 -3
  50. package/esm2022/testing/src/test_bed_compiler.mjs +9 -13
  51. package/fesm2022/core.mjs +18796 -18114
  52. package/fesm2022/core.mjs.map +1 -1
  53. package/fesm2022/rxjs-interop.mjs +9 -708
  54. package/fesm2022/rxjs-interop.mjs.map +1 -1
  55. package/fesm2022/testing.mjs +35 -25672
  56. package/fesm2022/testing.mjs.map +1 -1
  57. package/index.d.ts +549 -232
  58. package/package.json +1 -1
  59. package/rxjs-interop/index.d.ts +1 -1
  60. package/schematics/ng-generate/standalone-migration/bundle.js +7307 -6572
  61. package/schematics/ng-generate/standalone-migration/bundle.js.map +4 -4
  62. package/testing/index.d.ts +1 -1
@@ -5,9 +5,7 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { assertInInjectionContext, computed, DestroyRef, inject, signal } from '@angular/core';
9
- import { RuntimeError } from '../../src/errors';
10
- import { untracked } from '../../src/signals';
8
+ import { assertInInjectionContext, computed, DestroyRef, inject, signal, untracked, ɵRuntimeError } from '@angular/core';
11
9
  export function toSignal(source, options) {
12
10
  const requiresCleanup = !options?.manualCleanup;
13
11
  requiresCleanup && !options?.injector && assertInInjectionContext(toSignal);
@@ -30,7 +28,7 @@ export function toSignal(source, options) {
30
28
  // "complete".
31
29
  });
32
30
  if (ngDevMode && options?.requireSync && untracked(state).kind === 0 /* StateKind.NoValue */) {
33
- throw new RuntimeError(601 /* RuntimeErrorCode.REQUIRE_SYNC_WITHOUT_SYNC_EMIT */, '`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.');
31
+ throw new ɵRuntimeError(601 /* ɵRuntimeErrorCode.REQUIRE_SYNC_WITHOUT_SYNC_EMIT */, '`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.');
34
32
  }
35
33
  // Unsubscribe when the current context is destroyed, if requested.
36
34
  cleanupRef?.onDestroy(sub.unsubscribe.bind(sub));
@@ -46,8 +44,8 @@ export function toSignal(source, options) {
46
44
  case 0 /* StateKind.NoValue */:
47
45
  // This shouldn't really happen because the error is thrown on creation.
48
46
  // TODO(alxhub): use a RuntimeError when we finalize the error semantics
49
- throw new RuntimeError(601 /* RuntimeErrorCode.REQUIRE_SYNC_WITHOUT_SYNC_EMIT */, '`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.');
47
+ throw new ɵRuntimeError(601 /* ɵRuntimeErrorCode.REQUIRE_SYNC_WITHOUT_SYNC_EMIT */, '`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.');
50
48
  }
51
49
  });
52
50
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9fc2lnbmFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9yeGpzLWludGVyb3Avc3JjL3RvX3NpZ25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQVksTUFBTSxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUcvSCxPQUFPLEVBQUMsWUFBWSxFQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQXNKNUMsTUFBTSxVQUFVLFFBQVEsQ0FDcEIsTUFBcUMsRUFBRSxPQUE0QjtJQUNyRSxNQUFNLGVBQWUsR0FBRyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUM7SUFDaEQsZUFBZSxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsSUFBSSx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1RSxNQUFNLFVBQVUsR0FDWixlQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRXRGLCtGQUErRjtJQUMvRiwyREFBMkQ7SUFDM0QsSUFBSSxLQUFpQyxDQUFDO0lBQ3RDLElBQUksT0FBTyxFQUFFLFdBQVcsRUFBRTtRQUN4QixnREFBZ0Q7UUFDaEQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFDLElBQUksMkJBQW1CLEVBQUMsQ0FBQyxDQUFDO0tBQzNDO1NBQU07UUFDTCwyRkFBMkY7UUFDM0YsS0FBSyxHQUFHLE1BQU0sQ0FBYSxFQUFDLElBQUkseUJBQWlCLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxZQUFpQixFQUFDLENBQUMsQ0FBQztLQUN4RjtJQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDM0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFDLElBQUkseUJBQWlCLEVBQUUsS0FBSyxFQUFDLENBQUM7UUFDeEQsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFDLElBQUkseUJBQWlCLEVBQUUsS0FBSyxFQUFDLENBQUM7UUFDekQsNkZBQTZGO1FBQzdGLGNBQWM7S0FDZixDQUFDLENBQUM7SUFFSCxJQUFJLFNBQVMsSUFBSSxPQUFPLEVBQUUsV0FBVyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLDhCQUFzQixFQUFFO1FBQ3BGLE1BQU0sSUFBSSxZQUFZLDREQUVsQixxRkFBcUYsQ0FBQyxDQUFDO0tBQzVGO0lBRUQsbUVBQW1FO0lBQ25FLFVBQVUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVqRCxrR0FBa0c7SUFDbEcsOEJBQThCO0lBQzlCLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNuQixNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUN4QixRQUFRLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDcEI7Z0JBQ0UsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3ZCO2dCQUNFLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN0QjtnQkFDRSx3RUFBd0U7Z0JBQ3hFLHdFQUF3RTtnQkFDeEUsTUFBTSxJQUFJLFlBQVksNERBRWxCLHFGQUFxRixDQUFDLENBQUM7U0FDOUY7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHthc3NlcnRJbkluamVjdGlvbkNvbnRleHQsIGNvbXB1dGVkLCBEZXN0cm95UmVmLCBpbmplY3QsIEluamVjdG9yLCBzaWduYWwsIFNpZ25hbCwgV3JpdGFibGVTaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpYmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1J1bnRpbWVFcnJvciwgUnVudGltZUVycm9yQ29kZX0gZnJvbSAnLi4vLi4vc3JjL2Vycm9ycyc7XG5pbXBvcnQge3VudHJhY2tlZH0gZnJvbSAnLi4vLi4vc3JjL3NpZ25hbHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGB0b1NpZ25hbGAuXG4gKlxuICogQHB1YmxpY0FwaVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvU2lnbmFsT3B0aW9uczxUPiB7XG4gIC8qKlxuICAgKiBJbml0aWFsIHZhbHVlIGZvciB0aGUgc2lnbmFsIHByb2R1Y2VkIGJ5IGB0b1NpZ25hbGAuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBiZSB0aGUgdmFsdWUgb2YgdGhlIHNpZ25hbCB1bnRpbCB0aGUgb2JzZXJ2YWJsZSBlbWl0cyBpdHMgZmlyc3QgdmFsdWUuXG4gICAqL1xuICBpbml0aWFsVmFsdWU/OiBUO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlcXVpcmUgdGhhdCB0aGUgb2JzZXJ2YWJsZSBlbWl0cyBzeW5jaHJvbm91c2x5IHdoZW4gYHRvU2lnbmFsYCBzdWJzY3JpYmVzLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIGB0cnVlYCwgYHRvU2lnbmFsYCB3aWxsIGFzc2VydCB0aGF0IHRoZSBvYnNlcnZhYmxlIHByb2R1Y2VzIGEgdmFsdWUgaW1tZWRpYXRlbHkgdXBvblxuICAgKiBzdWJzY3JpcHRpb24uIFNldHRpbmcgdGhpcyBvcHRpb24gcmVtb3ZlcyB0aGUgbmVlZCB0byBlaXRoZXIgZGVhbCB3aXRoIGB1bmRlZmluZWRgIGluIHRoZVxuICAgKiBzaWduYWwgdHlwZSBvciBwcm92aWRlIGFuIGBpbml0aWFsVmFsdWVgLCBhdCB0aGUgY29zdCBvZiBhIHJ1bnRpbWUgZXJyb3IgaWYgdGhpcyByZXF1aXJlbWVudCBpc1xuICAgKiBub3QgbWV0LlxuICAgKi9cbiAgcmVxdWlyZVN5bmM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBgSW5qZWN0b3JgIHdoaWNoIHdpbGwgcHJvdmlkZSB0aGUgYERlc3Ryb3lSZWZgIHVzZWQgdG8gY2xlYW4gdXAgdGhlIE9ic2VydmFibGUgc3Vic2NyaXB0aW9uLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIG5vdCBwcm92aWRlZCwgYSBgRGVzdHJveVJlZmAgd2lsbCBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgY3VycmVudCBbaW5qZWN0aW9uXG4gICAqIGNvbnRleHRdKC9ndWlkZS9kZXBlbmRlbmN5LWluamVjdGlvbi1jb250ZXh0KSwgdW5sZXNzIG1hbnVhbCBjbGVhbnVwIGlzIHJlcXVlc3RlZC5cbiAgICovXG4gIGluamVjdG9yPzogSW5qZWN0b3I7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHN1YnNjcmlwdGlvbiBzaG91bGQgYmUgYXV0b21hdGljYWxseSBjbGVhbmVkIHVwICh2aWEgYERlc3Ryb3lSZWZgKSB3aGVuXG4gICAqIGB0b09ic2VydmFibGVgJ3MgY3JlYXRpb24gY29udGV4dCBpcyBkZXN0cm95ZWQuXG4gICAqXG4gICAqIElmIG1hbnVhbCBjbGVhbnVwIGlzIGVuYWJsZWQsIHRoZW4gYERlc3Ryb3lSZWZgIGlzIG5vdCB1c2VkLCBhbmQgdGhlIHN1YnNjcmlwdGlvbiB3aWxsIHBlcnNpc3RcbiAgICogdW50aWwgdGhlIGBPYnNlcnZhYmxlYCBpdHNlbGYgY29tcGxldGVzLlxuICAgKi9cbiAgbWFudWFsQ2xlYW51cD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogR2V0IHRoZSBjdXJyZW50IHZhbHVlIG9mIGFuIGBPYnNlcnZhYmxlYCBhcyBhIHJlYWN0aXZlIGBTaWduYWxgLlxuICpcbiAqIGB0b1NpZ25hbGAgcmV0dXJucyBhIGBTaWduYWxgIHdoaWNoIHByb3ZpZGVzIHN5bmNocm9ub3VzIHJlYWN0aXZlIGFjY2VzcyB0byB2YWx1ZXMgcHJvZHVjZWRcbiAqIGJ5IHRoZSBnaXZlbiBgT2JzZXJ2YWJsZWAsIGJ5IHN1YnNjcmliaW5nIHRvIHRoYXQgYE9ic2VydmFibGVgLiBUaGUgcmV0dXJuZWQgYFNpZ25hbGAgd2lsbCBhbHdheXNcbiAqIGhhdmUgdGhlIG1vc3QgcmVjZW50IHZhbHVlIGVtaXR0ZWQgYnkgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlXG4gKiBgT2JzZXJ2YWJsZWAgZXJyb3JzLlxuICpcbiAqIEJlZm9yZSB0aGUgYE9ic2VydmFibGVgIGVtaXRzIGl0cyBmaXJzdCB2YWx1ZSwgdGhlIGBTaWduYWxgIHdpbGwgcmV0dXJuIGB1bmRlZmluZWRgLiBUbyBhdm9pZFxuICogdGhpcywgZWl0aGVyIGFuIGBpbml0aWFsVmFsdWVgIGNhbiBiZSBwYXNzZWQgb3IgdGhlIGByZXF1aXJlU3luY2Agb3B0aW9uIGVuYWJsZWQuXG4gKlxuICogQnkgZGVmYXVsdCwgdGhlIHN1YnNjcmlwdGlvbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2xlYW5lZCB1cCB3aGVuIHRoZSBjdXJyZW50IFtpbmplY3Rpb25cbiAqIGNvbnRleHRdKGd1aWRlL2RlcGVuZGVuY3ktaW5qZWN0aW9uLWNvbnRleHQpIGlzIGRlc3Ryb3llZC4gRm9yIGV4YW1wbGUsIHdoZW4gYHRvT2JzZXJ2YWJsZWAgaXNcbiAqIGNhbGxlZCBkdXJpbmcgdGhlIGNvbnN0cnVjdGlvbiBvZiBhIGNvbXBvbmVudCwgdGhlIHN1YnNjcmlwdGlvbiB3aWxsIGJlIGNsZWFuZWQgdXAgd2hlbiB0aGVcbiAqIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQuIElmIGFuIFtpbmplY3Rpb24gY29udGV4dF0oL2d1aWRlL2RlcGVuZGVuY3ktaW5qZWN0aW9uLWNvbnRleHQpIGlzIG5vdFxuICogYXZhaWxhYmxlLCBhbiBleHBsaWNpdCBgSW5qZWN0b3JgIGNhbiBiZSBwYXNzZWQgaW5zdGVhZC5cbiAqXG4gKiBJZiB0aGUgc3Vic2NyaXB0aW9uIHNob3VsZCBwZXJzaXN0IHVudGlsIHRoZSBgT2JzZXJ2YWJsZWAgaXRzZWxmIGNvbXBsZXRlcywgdGhlIGBtYW51YWxDbGVhbnVwYFxuICogb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgaW5zdGVhZCwgd2hpY2ggZGlzYWJsZXMgdGhlIGF1dG9tYXRpYyBzdWJzY3JpcHRpb24gdGVhcmRvd24uIE5vIGluamVjdGlvblxuICogY29udGV4dCBpcyBuZWVkZWQgaW4gdGhpcyBjb25maWd1cmF0aW9uIGFzIHdlbGwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1NpZ25hbDxUPihzb3VyY2U6IE9ic2VydmFibGU8VD58U3Vic2NyaWJhYmxlPFQ+KTogU2lnbmFsPFR8dW5kZWZpbmVkPjtcblxuLyoqXG4gKiBHZXQgdGhlIGN1cnJlbnQgdmFsdWUgb2YgYW4gYE9ic2VydmFibGVgIGFzIGEgcmVhY3RpdmUgYFNpZ25hbGAuXG4gKlxuICogYHRvU2lnbmFsYCByZXR1cm5zIGEgYFNpZ25hbGAgd2hpY2ggcHJvdmlkZXMgc3luY2hyb25vdXMgcmVhY3RpdmUgYWNjZXNzIHRvIHZhbHVlcyBwcm9kdWNlZFxuICogYnkgdGhlIGdpdmVuIGBPYnNlcnZhYmxlYCwgYnkgc3Vic2NyaWJpbmcgdG8gdGhhdCBgT2JzZXJ2YWJsZWAuIFRoZSByZXR1cm5lZCBgU2lnbmFsYCB3aWxsIGFsd2F5c1xuICogaGF2ZSB0aGUgbW9zdCByZWNlbnQgdmFsdWUgZW1pdHRlZCBieSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGVcbiAqIGBPYnNlcnZhYmxlYCBlcnJvcnMuXG4gKlxuICogQmVmb3JlIHRoZSBgT2JzZXJ2YWJsZWAgZW1pdHMgaXRzIGZpcnN0IHZhbHVlLCB0aGUgYFNpZ25hbGAgd2lsbCByZXR1cm4gdGhlIGNvbmZpZ3VyZWRcbiAqIGBpbml0aWFsVmFsdWVgLCBvciBgdW5kZWZpbmVkYCBpZiBubyBgaW5pdGlhbFZhbHVlYCBpcyBwcm92aWRlZC4gSWYgdGhlIGBPYnNlcnZhYmxlYCBpc1xuICogZ3VhcmFudGVlZCB0byBlbWl0IHN5bmNocm9ub3VzbHksIHRoZW4gdGhlIGByZXF1aXJlU3luY2Agb3B0aW9uIGNhbiBiZSBwYXNzZWQgaW5zdGVhZC5cbiAqXG4gKiBCeSBkZWZhdWx0LCB0aGUgc3Vic2NyaXB0aW9uIHdpbGwgYmUgYXV0b21hdGljYWxseSBjbGVhbmVkIHVwIHdoZW4gdGhlIGN1cnJlbnQgW2luamVjdGlvblxuICogY29udGV4dF0oL2d1aWRlL2RlcGVuZGVuY3ktaW5qZWN0aW9uLWNvbnRleHQpIGlzIGRlc3Ryb3llZC4gRm9yIGV4YW1wbGUsIHdoZW4gYHRvT2JzZXJ2YWJsZWAgaXNcbiAqIGNhbGxlZCBkdXJpbmcgdGhlIGNvbnN0cnVjdGlvbiBvZiBhIGNvbXBvbmVudCwgdGhlIHN1YnNjcmlwdGlvbiB3aWxsIGJlIGNsZWFuZWQgdXAgd2hlbiB0aGVcbiAqIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQuIElmIGFuIGluamVjdGlvbiBjb250ZXh0IGlzIG5vdCBhdmFpbGFibGUsIGFuIGV4cGxpY2l0IGBJbmplY3RvcmAgY2FuIGJlXG4gKiBwYXNzZWQgaW5zdGVhZC5cbiAqXG4gKiBJZiB0aGUgc3Vic2NyaXB0aW9uIHNob3VsZCBwZXJzaXN0IHVudGlsIHRoZSBgT2JzZXJ2YWJsZWAgaXRzZWxmIGNvbXBsZXRlcywgdGhlIGBtYW51YWxDbGVhbnVwYFxuICogb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgaW5zdGVhZCwgd2hpY2ggZGlzYWJsZXMgdGhlIGF1dG9tYXRpYyBzdWJzY3JpcHRpb24gdGVhcmRvd24uIE5vIGluamVjdGlvblxuICogY29udGV4dCBpcyBuZWVkZWQgaW4gdGhpcyBjb25maWd1cmF0aW9uIGFzIHdlbGwuXG4gKlxuICogQGRldmVsb3BlclByZXZpZXdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvU2lnbmFsPFQ+KFxuICAgIHNvdXJjZTogT2JzZXJ2YWJsZTxUPnxTdWJzY3JpYmFibGU8VD4sXG4gICAgb3B0aW9ucz86IFRvU2lnbmFsT3B0aW9uczx1bmRlZmluZWQ+JntyZXF1aXJlU3luYz86IGZhbHNlfSk6IFNpZ25hbDxUfHVuZGVmaW5lZD47XG5cblxuLyoqXG4gKiBHZXQgdGhlIGN1cnJlbnQgdmFsdWUgb2YgYW4gYE9ic2VydmFibGVgIGFzIGEgcmVhY3RpdmUgYFNpZ25hbGAuXG4gKlxuICogYHRvU2lnbmFsYCByZXR1cm5zIGEgYFNpZ25hbGAgd2hpY2ggcHJvdmlkZXMgc3luY2hyb25vdXMgcmVhY3RpdmUgYWNjZXNzIHRvIHZhbHVlcyBwcm9kdWNlZFxuICogYnkgdGhlIGdpdmVuIGBPYnNlcnZhYmxlYCwgYnkgc3Vic2NyaWJpbmcgdG8gdGhhdCBgT2JzZXJ2YWJsZWAuIFRoZSByZXR1cm5lZCBgU2lnbmFsYCB3aWxsIGFsd2F5c1xuICogaGF2ZSB0aGUgbW9zdCByZWNlbnQgdmFsdWUgZW1pdHRlZCBieSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGVcbiAqIGBPYnNlcnZhYmxlYCBlcnJvcnMuXG4gKlxuICogQmVmb3JlIHRoZSBgT2JzZXJ2YWJsZWAgZW1pdHMgaXRzIGZpcnN0IHZhbHVlLCB0aGUgYFNpZ25hbGAgd2lsbCByZXR1cm4gdGhlIGNvbmZpZ3VyZWRcbiAqIGBpbml0aWFsVmFsdWVgLiBJZiB0aGUgYE9ic2VydmFibGVgIGlzIGd1YXJhbnRlZWQgdG8gZW1pdCBzeW5jaHJvbm91c2x5LCB0aGVuIHRoZSBgcmVxdWlyZVN5bmNgXG4gKiBvcHRpb24gY2FuIGJlIHBhc3NlZCBpbnN0ZWFkLlxuICpcbiAqIEJ5IGRlZmF1bHQsIHRoZSBzdWJzY3JpcHRpb24gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNsZWFuZWQgdXAgd2hlbiB0aGUgY3VycmVudCBbaW5qZWN0aW9uXG4gKiBjb250ZXh0XShndWlkZS9kZXBlbmRlbmN5LWluamVjdGlvbi1jb250ZXh0KSBpcyBkZXN0cm95ZWQuIEZvciBleGFtcGxlLCB3aGVuIGB0b09ic2VydmFibGVgIGlzXG4gKiBjYWxsZWQgZHVyaW5nIHRoZSBjb25zdHJ1Y3Rpb24gb2YgYSBjb21wb25lbnQsIHRoZSBzdWJzY3JpcHRpb24gd2lsbCBiZSBjbGVhbmVkIHVwIHdoZW4gdGhlXG4gKiBjb21wb25lbnQgaXMgZGVzdHJveWVkLiBJZiBhbiBbaW5qZWN0aW9uIGNvbnRleHRdKC9ndWlkZS9kZXBlbmRlbmN5LWluamVjdGlvbi1jb250ZXh0KSBpcyBub3RcbiAqIGF2YWlsYWJsZSwgYW4gZXhwbGljaXQgYEluamVjdG9yYCBjYW4gYmUgcGFzc2VkIGluc3RlYWQuXG4gKlxuICogSWYgdGhlIHN1YnNjcmlwdGlvbiBzaG91bGQgcGVyc2lzdCB1bnRpbCB0aGUgYE9ic2VydmFibGVgIGl0c2VsZiBjb21wbGV0ZXMsIHRoZSBgbWFudWFsQ2xlYW51cGBcbiAqIG9wdGlvbiBjYW4gYmUgc3BlY2lmaWVkIGluc3RlYWQsIHdoaWNoIGRpc2FibGVzIHRoZSBhdXRvbWF0aWMgc3Vic2NyaXB0aW9uIHRlYXJkb3duLiBObyBpbmplY3Rpb25cbiAqIGNvbnRleHQgaXMgbmVlZGVkIGluIHRoaXMgY29uZmlndXJhdGlvbiBhcyB3ZWxsLlxuICpcbiAqIEBkZXZlbG9wZXJQcmV2aWV3XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1NpZ25hbDxULCBVIGV4dGVuZHMgVHxudWxsfHVuZGVmaW5lZD4oXG4gICAgc291cmNlOiBPYnNlcnZhYmxlPFQ+fFN1YnNjcmliYWJsZTxUPixcbiAgICBvcHRpb25zOiBUb1NpZ25hbE9wdGlvbnM8VT4me2luaXRpYWxWYWx1ZTogVSwgcmVxdWlyZVN5bmM/OiBmYWxzZX0pOiBTaWduYWw8VHxVPjtcblxuLyoqXG4gKiBHZXQgdGhlIGN1cnJlbnQgdmFsdWUgb2YgYW4gYE9ic2VydmFibGVgIGFzIGEgcmVhY3RpdmUgYFNpZ25hbGAuXG4gKlxuICogYHRvU2lnbmFsYCByZXR1cm5zIGEgYFNpZ25hbGAgd2hpY2ggcHJvdmlkZXMgc3luY2hyb25vdXMgcmVhY3RpdmUgYWNjZXNzIHRvIHZhbHVlcyBwcm9kdWNlZFxuICogYnkgdGhlIGdpdmVuIGBPYnNlcnZhYmxlYCwgYnkgc3Vic2NyaWJpbmcgdG8gdGhhdCBgT2JzZXJ2YWJsZWAuIFRoZSByZXR1cm5lZCBgU2lnbmFsYCB3aWxsIGFsd2F5c1xuICogaGF2ZSB0aGUgbW9zdCByZWNlbnQgdmFsdWUgZW1pdHRlZCBieSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGVcbiAqIGBPYnNlcnZhYmxlYCBlcnJvcnMuXG4gKlxuICogV2l0aCBgcmVxdWlyZVN5bmNgIHNldCB0byBgdHJ1ZWAsIGB0b1NpZ25hbGAgd2lsbCBhc3NlcnQgdGhhdCB0aGUgYE9ic2VydmFibGVgIHByb2R1Y2VzIGEgdmFsdWVcbiAqIGltbWVkaWF0ZWx5IHVwb24gc3Vic2NyaXB0aW9uLiBObyBgaW5pdGlhbFZhbHVlYCBpcyBuZWVkZWQgaW4gdGhpcyBjYXNlLCBhbmQgdGhlIHJldHVybmVkIHNpZ25hbFxuICogZG9lcyBub3QgaW5jbHVkZSBhbiBgdW5kZWZpbmVkYCB0eXBlLlxuICpcbiAqIEJ5IGRlZmF1bHQsIHRoZSBzdWJzY3JpcHRpb24gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNsZWFuZWQgdXAgd2hlbiB0aGUgY3VycmVudCBbaW5qZWN0aW9uXG4gKiBjb250ZXh0XSgvZ3VpZGUvZGVwZW5kZW5jeS1pbmplY3Rpb24tY29udGV4dCkgaXMgZGVzdHJveWVkLiBGb3IgZXhhbXBsZSwgd2hlbiBgdG9PYnNlcnZhYmxlYCBpc1xuICogY2FsbGVkIGR1cmluZyB0aGUgY29uc3RydWN0aW9uIG9mIGEgY29tcG9uZW50LCB0aGUgc3Vic2NyaXB0aW9uIHdpbGwgYmUgY2xlYW5lZCB1cCB3aGVuIHRoZVxuICogY29tcG9uZW50IGlzIGRlc3Ryb3llZC4gSWYgYW4gaW5qZWN0aW9uIGNvbnRleHQgaXMgbm90IGF2YWlsYWJsZSwgYW4gZXhwbGljaXQgYEluamVjdG9yYCBjYW4gYmVcbiAqIHBhc3NlZCBpbnN0ZWFkLlxuICpcbiAqIElmIHRoZSBzdWJzY3JpcHRpb24gc2hvdWxkIHBlcnNpc3QgdW50aWwgdGhlIGBPYnNlcnZhYmxlYCBpdHNlbGYgY29tcGxldGVzLCB0aGUgYG1hbnVhbENsZWFudXBgXG4gKiBvcHRpb24gY2FuIGJlIHNwZWNpZmllZCBpbnN0ZWFkLCB3aGljaCBkaXNhYmxlcyB0aGUgYXV0b21hdGljIHN1YnNjcmlwdGlvbiB0ZWFyZG93bi4gTm8gaW5qZWN0aW9uXG4gKiBjb250ZXh0IGlzIG5lZWRlZCBpbiB0aGlzIGNvbmZpZ3VyYXRpb24gYXMgd2VsbC5cbiAqXG4gKiBAZGV2ZWxvcGVyUHJldmlld1xuICovXG5leHBvcnQgZnVuY3Rpb24gdG9TaWduYWw8VD4oXG4gICAgc291cmNlOiBPYnNlcnZhYmxlPFQ+fFN1YnNjcmliYWJsZTxUPixcbiAgICBvcHRpb25zOiBUb1NpZ25hbE9wdGlvbnM8dW5kZWZpbmVkPiZ7cmVxdWlyZVN5bmM6IHRydWV9KTogU2lnbmFsPFQ+O1xuZXhwb3J0IGZ1bmN0aW9uIHRvU2lnbmFsPFQsIFUgPSB1bmRlZmluZWQ+KFxuICAgIHNvdXJjZTogT2JzZXJ2YWJsZTxUPnxTdWJzY3JpYmFibGU8VD4sIG9wdGlvbnM/OiBUb1NpZ25hbE9wdGlvbnM8VT4pOiBTaWduYWw8VHxVPiB7XG4gIGNvbnN0IHJlcXVpcmVzQ2xlYW51cCA9ICFvcHRpb25zPy5tYW51YWxDbGVhbnVwO1xuICByZXF1aXJlc0NsZWFudXAgJiYgIW9wdGlvbnM/LmluamVjdG9yICYmIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dCh0b1NpZ25hbCk7XG4gIGNvbnN0IGNsZWFudXBSZWYgPVxuICAgICAgcmVxdWlyZXNDbGVhbnVwID8gb3B0aW9ucz8uaW5qZWN0b3I/LmdldChEZXN0cm95UmVmKSA/PyBpbmplY3QoRGVzdHJveVJlZikgOiBudWxsO1xuXG4gIC8vIE5vdGU6IFQgaXMgdGhlIE9ic2VydmFibGUgdmFsdWUgdHlwZSwgYW5kIFUgaXMgdGhlIGluaXRpYWwgdmFsdWUgdHlwZS4gVGhleSBkb24ndCBoYXZlIHRvIGJlXG4gIC8vIHRoZSBzYW1lIC0gdGhlIHJldHVybmVkIHNpZ25hbCBnaXZlcyB2YWx1ZXMgb2YgdHlwZSBgVGAuXG4gIGxldCBzdGF0ZTogV3JpdGFibGVTaWduYWw8U3RhdGU8VHxVPj47XG4gIGlmIChvcHRpb25zPy5yZXF1aXJlU3luYykge1xuICAgIC8vIEluaXRpYWxseSB0aGUgc2lnbmFsIGlzIGluIGEgYE5vVmFsdWVgIHN0YXRlLlxuICAgIHN0YXRlID0gc2lnbmFsKHtraW5kOiBTdGF0ZUtpbmQuTm9WYWx1ZX0pO1xuICB9IGVsc2Uge1xuICAgIC8vIElmIGFuIGluaXRpYWwgdmFsdWUgd2FzIHBhc3NlZCwgdXNlIGl0LiBPdGhlcndpc2UsIHVzZSBgdW5kZWZpbmVkYCBhcyB0aGUgaW5pdGlhbCB2YWx1ZS5cbiAgICBzdGF0ZSA9IHNpZ25hbDxTdGF0ZTxUfFU+Pih7a2luZDogU3RhdGVLaW5kLlZhbHVlLCB2YWx1ZTogb3B0aW9ucz8uaW5pdGlhbFZhbHVlIGFzIFV9KTtcbiAgfVxuXG4gIGNvbnN0IHN1YiA9IHNvdXJjZS5zdWJzY3JpYmUoe1xuICAgIG5leHQ6IHZhbHVlID0+IHN0YXRlLnNldCh7a2luZDogU3RhdGVLaW5kLlZhbHVlLCB2YWx1ZX0pLFxuICAgIGVycm9yOiBlcnJvciA9PiBzdGF0ZS5zZXQoe2tpbmQ6IFN0YXRlS2luZC5FcnJvciwgZXJyb3J9KSxcbiAgICAvLyBDb21wbGV0aW9uIG9mIHRoZSBPYnNlcnZhYmxlIGlzIG1lYW5pbmdsZXNzIHRvIHRoZSBzaWduYWwuIFNpZ25hbHMgZG9uJ3QgaGF2ZSBhIGNvbmNlcHQgb2ZcbiAgICAvLyBcImNvbXBsZXRlXCIuXG4gIH0pO1xuXG4gIGlmIChuZ0Rldk1vZGUgJiYgb3B0aW9ucz8ucmVxdWlyZVN5bmMgJiYgdW50cmFja2VkKHN0YXRlKS5raW5kID09PSBTdGF0ZUtpbmQuTm9WYWx1ZSkge1xuICAgIHRocm93IG5ldyBSdW50aW1lRXJyb3IoXG4gICAgICAgIFJ1bnRpbWVFcnJvckNvZGUuUkVRVUlSRV9TWU5DX1dJVEhPVVRfU1lOQ19FTUlULFxuICAgICAgICAnYHRvU2lnbmFsKClgIGNhbGxlZCB3aXRoIGByZXF1aXJlU3luY2AgYnV0IGBPYnNlcnZhYmxlYCBkaWQgbm90IGVtaXQgc3luY2hyb25vdXNseS4nKTtcbiAgfVxuXG4gIC8vIFVuc3Vic2NyaWJlIHdoZW4gdGhlIGN1cnJlbnQgY29udGV4dCBpcyBkZXN0cm95ZWQsIGlmIHJlcXVlc3RlZC5cbiAgY2xlYW51cFJlZj8ub25EZXN0cm95KHN1Yi51bnN1YnNjcmliZS5iaW5kKHN1YikpO1xuXG4gIC8vIFRoZSBhY3R1YWwgcmV0dXJuZWQgc2lnbmFsIGlzIGEgYGNvbXB1dGVkYCBvZiB0aGUgYFN0YXRlYCBzaWduYWwsIHdoaWNoIG1hcHMgdGhlIHZhcmlvdXMgc3RhdGVzXG4gIC8vIHRvIGVpdGhlciB2YWx1ZXMgb3IgZXJyb3JzLlxuICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBzdGF0ZSgpO1xuICAgIHN3aXRjaCAoY3VycmVudC5raW5kKSB7XG4gICAgICBjYXNlIFN0YXRlS2luZC5WYWx1ZTpcbiAgICAgICAgcmV0dXJuIGN1cnJlbnQudmFsdWU7XG4gICAgICBjYXNlIFN0YXRlS2luZC5FcnJvcjpcbiAgICAgICAgdGhyb3cgY3VycmVudC5lcnJvcjtcbiAgICAgIGNhc2UgU3RhdGVLaW5kLk5vVmFsdWU6XG4gICAgICAgIC8vIFRoaXMgc2hvdWxkbid0IHJlYWxseSBoYXBwZW4gYmVjYXVzZSB0aGUgZXJyb3IgaXMgdGhyb3duIG9uIGNyZWF0aW9uLlxuICAgICAgICAvLyBUT0RPKGFseGh1Yik6IHVzZSBhIFJ1bnRpbWVFcnJvciB3aGVuIHdlIGZpbmFsaXplIHRoZSBlcnJvciBzZW1hbnRpY3NcbiAgICAgICAgdGhyb3cgbmV3IFJ1bnRpbWVFcnJvcihcbiAgICAgICAgICAgIFJ1bnRpbWVFcnJvckNvZGUuUkVRVUlSRV9TWU5DX1dJVEhPVVRfU1lOQ19FTUlULFxuICAgICAgICAgICAgJ2B0b1NpZ25hbCgpYCBjYWxsZWQgd2l0aCBgcmVxdWlyZVN5bmNgIGJ1dCBgT2JzZXJ2YWJsZWAgZGlkIG5vdCBlbWl0IHN5bmNocm9ub3VzbHkuJyk7XG4gICAgfVxuICB9KTtcbn1cblxuY29uc3QgZW51bSBTdGF0ZUtpbmQge1xuICBOb1ZhbHVlLFxuICBWYWx1ZSxcbiAgRXJyb3IsXG59XG5cbmludGVyZmFjZSBOb1ZhbHVlU3RhdGUge1xuICBraW5kOiBTdGF0ZUtpbmQuTm9WYWx1ZTtcbn1cblxuaW50ZXJmYWNlIFZhbHVlU3RhdGU8VD4ge1xuICBraW5kOiBTdGF0ZUtpbmQuVmFsdWU7XG4gIHZhbHVlOiBUO1xufVxuXG5pbnRlcmZhY2UgRXJyb3JTdGF0ZSB7XG4gIGtpbmQ6IFN0YXRlS2luZC5FcnJvcjtcbiAgZXJyb3I6IHVua25vd247XG59XG5cbnR5cGUgU3RhdGU8VD4gPSBOb1ZhbHVlU3RhdGV8VmFsdWVTdGF0ZTxUPnxFcnJvclN0YXRlO1xuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9fc2lnbmFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9yeGpzLWludGVyb3Avc3JjL3RvX3NpZ25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQVksTUFBTSxFQUFVLFNBQVMsRUFBa0IsYUFBYSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQXVKNUssTUFBTSxVQUFVLFFBQVEsQ0FDcEIsTUFBcUMsRUFBRSxPQUE0QjtJQUNyRSxNQUFNLGVBQWUsR0FBRyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUM7SUFDaEQsZUFBZSxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsSUFBSSx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1RSxNQUFNLFVBQVUsR0FDWixlQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRXRGLCtGQUErRjtJQUMvRiwyREFBMkQ7SUFDM0QsSUFBSSxLQUFpQyxDQUFDO0lBQ3RDLElBQUksT0FBTyxFQUFFLFdBQVcsRUFBRTtRQUN4QixnREFBZ0Q7UUFDaEQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFDLElBQUksMkJBQW1CLEVBQUMsQ0FBQyxDQUFDO0tBQzNDO1NBQU07UUFDTCwyRkFBMkY7UUFDM0YsS0FBSyxHQUFHLE1BQU0sQ0FBYSxFQUFDLElBQUkseUJBQWlCLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxZQUFpQixFQUFDLENBQUMsQ0FBQztLQUN4RjtJQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDM0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFDLElBQUkseUJBQWlCLEVBQUUsS0FBSyxFQUFDLENBQUM7UUFDeEQsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFDLElBQUkseUJBQWlCLEVBQUUsS0FBSyxFQUFDLENBQUM7UUFDekQsNkZBQTZGO1FBQzdGLGNBQWM7S0FDZixDQUFDLENBQUM7SUFFSCxJQUFJLFNBQVMsSUFBSSxPQUFPLEVBQUUsV0FBVyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLDhCQUFzQixFQUFFO1FBQ3BGLE1BQU0sSUFBSSxhQUFhLDZEQUVuQixxRkFBcUYsQ0FBQyxDQUFDO0tBQzVGO0lBRUQsbUVBQW1FO0lBQ25FLFVBQVUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVqRCxrR0FBa0c7SUFDbEcsOEJBQThCO0lBQzlCLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNuQixNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUN4QixRQUFRLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDcEI7Z0JBQ0UsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3ZCO2dCQUNFLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN0QjtnQkFDRSx3RUFBd0U7Z0JBQ3hFLHdFQUF3RTtnQkFDeEUsTUFBTSxJQUFJLGFBQWEsNkRBRW5CLHFGQUFxRixDQUFDLENBQUM7U0FDOUY7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHthc3NlcnRJbkluamVjdGlvbkNvbnRleHQsIGNvbXB1dGVkLCBEZXN0cm95UmVmLCBpbmplY3QsIEluamVjdG9yLCBzaWduYWwsIFNpZ25hbCwgdW50cmFja2VkLCBXcml0YWJsZVNpZ25hbCwgybVSdW50aW1lRXJyb3IsIMm1UnVudGltZUVycm9yQ29kZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YnNjcmliYWJsZX0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYHRvU2lnbmFsYC5cbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVG9TaWduYWxPcHRpb25zPFQ+IHtcbiAgLyoqXG4gICAqIEluaXRpYWwgdmFsdWUgZm9yIHRoZSBzaWduYWwgcHJvZHVjZWQgYnkgYHRvU2lnbmFsYC5cbiAgICpcbiAgICogVGhpcyB3aWxsIGJlIHRoZSB2YWx1ZSBvZiB0aGUgc2lnbmFsIHVudGlsIHRoZSBvYnNlcnZhYmxlIGVtaXRzIGl0cyBmaXJzdCB2YWx1ZS5cbiAgICovXG4gIGluaXRpYWxWYWx1ZT86IFQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVxdWlyZSB0aGF0IHRoZSBvYnNlcnZhYmxlIGVtaXRzIHN5bmNocm9ub3VzbHkgd2hlbiBgdG9TaWduYWxgIHN1YnNjcmliZXMuXG4gICAqXG4gICAqIElmIHRoaXMgaXMgYHRydWVgLCBgdG9TaWduYWxgIHdpbGwgYXNzZXJ0IHRoYXQgdGhlIG9ic2VydmFibGUgcHJvZHVjZXMgYSB2YWx1ZSBpbW1lZGlhdGVseSB1cG9uXG4gICAqIHN1YnNjcmlwdGlvbi4gU2V0dGluZyB0aGlzIG9wdGlvbiByZW1vdmVzIHRoZSBuZWVkIHRvIGVpdGhlciBkZWFsIHdpdGggYHVuZGVmaW5lZGAgaW4gdGhlXG4gICAqIHNpZ25hbCB0eXBlIG9yIHByb3ZpZGUgYW4gYGluaXRpYWxWYWx1ZWAsIGF0IHRoZSBjb3N0IG9mIGEgcnVudGltZSBlcnJvciBpZiB0aGlzIHJlcXVpcmVtZW50IGlzXG4gICAqIG5vdCBtZXQuXG4gICAqL1xuICByZXF1aXJlU3luYz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIGBJbmplY3RvcmAgd2hpY2ggd2lsbCBwcm92aWRlIHRoZSBgRGVzdHJveVJlZmAgdXNlZCB0byBjbGVhbiB1cCB0aGUgT2JzZXJ2YWJsZSBzdWJzY3JpcHRpb24uXG4gICAqXG4gICAqIElmIHRoaXMgaXMgbm90IHByb3ZpZGVkLCBhIGBEZXN0cm95UmVmYCB3aWxsIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBjdXJyZW50IFtpbmplY3Rpb25cbiAgICogY29udGV4dF0oL2d1aWRlL2RlcGVuZGVuY3ktaW5qZWN0aW9uLWNvbnRleHQpLCB1bmxlc3MgbWFudWFsIGNsZWFudXAgaXMgcmVxdWVzdGVkLlxuICAgKi9cbiAgaW5qZWN0b3I/OiBJbmplY3RvcjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc3Vic2NyaXB0aW9uIHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5IGNsZWFuZWQgdXAgKHZpYSBgRGVzdHJveVJlZmApIHdoZW5cbiAgICogYHRvT2JzZXJ2YWJsZWAncyBjcmVhdGlvbiBjb250ZXh0IGlzIGRlc3Ryb3llZC5cbiAgICpcbiAgICogSWYgbWFudWFsIGNsZWFudXAgaXMgZW5hYmxlZCwgdGhlbiBgRGVzdHJveVJlZmAgaXMgbm90IHVzZWQsIGFuZCB0aGUgc3Vic2NyaXB0aW9uIHdpbGwgcGVyc2lzdFxuICAgKiB1bnRpbCB0aGUgYE9ic2VydmFibGVgIGl0c2VsZiBjb21wbGV0ZXMuXG4gICAqL1xuICBtYW51YWxDbGVhbnVwPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIGN1cnJlbnQgdmFsdWUgb2YgYW4gYE9ic2VydmFibGVgIGFzIGEgcmVhY3RpdmUgYFNpZ25hbGAuXG4gKlxuICogYHRvU2lnbmFsYCByZXR1cm5zIGEgYFNpZ25hbGAgd2hpY2ggcHJvdmlkZXMgc3luY2hyb25vdXMgcmVhY3RpdmUgYWNjZXNzIHRvIHZhbHVlcyBwcm9kdWNlZFxuICogYnkgdGhlIGdpdmVuIGBPYnNlcnZhYmxlYCwgYnkgc3Vic2NyaWJpbmcgdG8gdGhhdCBgT2JzZXJ2YWJsZWAuIFRoZSByZXR1cm5lZCBgU2lnbmFsYCB3aWxsIGFsd2F5c1xuICogaGF2ZSB0aGUgbW9zdCByZWNlbnQgdmFsdWUgZW1pdHRlZCBieSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGVcbiAqIGBPYnNlcnZhYmxlYCBlcnJvcnMuXG4gKlxuICogQmVmb3JlIHRoZSBgT2JzZXJ2YWJsZWAgZW1pdHMgaXRzIGZpcnN0IHZhbHVlLCB0aGUgYFNpZ25hbGAgd2lsbCByZXR1cm4gYHVuZGVmaW5lZGAuIFRvIGF2b2lkXG4gKiB0aGlzLCBlaXRoZXIgYW4gYGluaXRpYWxWYWx1ZWAgY2FuIGJlIHBhc3NlZCBvciB0aGUgYHJlcXVpcmVTeW5jYCBvcHRpb24gZW5hYmxlZC5cbiAqXG4gKiBCeSBkZWZhdWx0LCB0aGUgc3Vic2NyaXB0aW9uIHdpbGwgYmUgYXV0b21hdGljYWxseSBjbGVhbmVkIHVwIHdoZW4gdGhlIGN1cnJlbnQgW2luamVjdGlvblxuICogY29udGV4dF0oZ3VpZGUvZGVwZW5kZW5jeS1pbmplY3Rpb24tY29udGV4dCkgaXMgZGVzdHJveWVkLiBGb3IgZXhhbXBsZSwgd2hlbiBgdG9PYnNlcnZhYmxlYCBpc1xuICogY2FsbGVkIGR1cmluZyB0aGUgY29uc3RydWN0aW9uIG9mIGEgY29tcG9uZW50LCB0aGUgc3Vic2NyaXB0aW9uIHdpbGwgYmUgY2xlYW5lZCB1cCB3aGVuIHRoZVxuICogY29tcG9uZW50IGlzIGRlc3Ryb3llZC4gSWYgYW4gW2luamVjdGlvbiBjb250ZXh0XSgvZ3VpZGUvZGVwZW5kZW5jeS1pbmplY3Rpb24tY29udGV4dCkgaXMgbm90XG4gKiBhdmFpbGFibGUsIGFuIGV4cGxpY2l0IGBJbmplY3RvcmAgY2FuIGJlIHBhc3NlZCBpbnN0ZWFkLlxuICpcbiAqIElmIHRoZSBzdWJzY3JpcHRpb24gc2hvdWxkIHBlcnNpc3QgdW50aWwgdGhlIGBPYnNlcnZhYmxlYCBpdHNlbGYgY29tcGxldGVzLCB0aGUgYG1hbnVhbENsZWFudXBgXG4gKiBvcHRpb24gY2FuIGJlIHNwZWNpZmllZCBpbnN0ZWFkLCB3aGljaCBkaXNhYmxlcyB0aGUgYXV0b21hdGljIHN1YnNjcmlwdGlvbiB0ZWFyZG93bi4gTm8gaW5qZWN0aW9uXG4gKiBjb250ZXh0IGlzIG5lZWRlZCBpbiB0aGlzIGNvbmZpZ3VyYXRpb24gYXMgd2VsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvU2lnbmFsPFQ+KHNvdXJjZTogT2JzZXJ2YWJsZTxUPnxTdWJzY3JpYmFibGU8VD4pOiBTaWduYWw8VHx1bmRlZmluZWQ+O1xuXG4vKipcbiAqIEdldCB0aGUgY3VycmVudCB2YWx1ZSBvZiBhbiBgT2JzZXJ2YWJsZWAgYXMgYSByZWFjdGl2ZSBgU2lnbmFsYC5cbiAqXG4gKiBgdG9TaWduYWxgIHJldHVybnMgYSBgU2lnbmFsYCB3aGljaCBwcm92aWRlcyBzeW5jaHJvbm91cyByZWFjdGl2ZSBhY2Nlc3MgdG8gdmFsdWVzIHByb2R1Y2VkXG4gKiBieSB0aGUgZ2l2ZW4gYE9ic2VydmFibGVgLCBieSBzdWJzY3JpYmluZyB0byB0aGF0IGBPYnNlcnZhYmxlYC4gVGhlIHJldHVybmVkIGBTaWduYWxgIHdpbGwgYWx3YXlzXG4gKiBoYXZlIHRoZSBtb3N0IHJlY2VudCB2YWx1ZSBlbWl0dGVkIGJ5IHRoZSBzdWJzY3JpcHRpb24sIGFuZCB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZVxuICogYE9ic2VydmFibGVgIGVycm9ycy5cbiAqXG4gKiBCZWZvcmUgdGhlIGBPYnNlcnZhYmxlYCBlbWl0cyBpdHMgZmlyc3QgdmFsdWUsIHRoZSBgU2lnbmFsYCB3aWxsIHJldHVybiB0aGUgY29uZmlndXJlZFxuICogYGluaXRpYWxWYWx1ZWAsIG9yIGB1bmRlZmluZWRgIGlmIG5vIGBpbml0aWFsVmFsdWVgIGlzIHByb3ZpZGVkLiBJZiB0aGUgYE9ic2VydmFibGVgIGlzXG4gKiBndWFyYW50ZWVkIHRvIGVtaXQgc3luY2hyb25vdXNseSwgdGhlbiB0aGUgYHJlcXVpcmVTeW5jYCBvcHRpb24gY2FuIGJlIHBhc3NlZCBpbnN0ZWFkLlxuICpcbiAqIEJ5IGRlZmF1bHQsIHRoZSBzdWJzY3JpcHRpb24gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNsZWFuZWQgdXAgd2hlbiB0aGUgY3VycmVudCBbaW5qZWN0aW9uXG4gKiBjb250ZXh0XSgvZ3VpZGUvZGVwZW5kZW5jeS1pbmplY3Rpb24tY29udGV4dCkgaXMgZGVzdHJveWVkLiBGb3IgZXhhbXBsZSwgd2hlbiBgdG9PYnNlcnZhYmxlYCBpc1xuICogY2FsbGVkIGR1cmluZyB0aGUgY29uc3RydWN0aW9uIG9mIGEgY29tcG9uZW50LCB0aGUgc3Vic2NyaXB0aW9uIHdpbGwgYmUgY2xlYW5lZCB1cCB3aGVuIHRoZVxuICogY29tcG9uZW50IGlzIGRlc3Ryb3llZC4gSWYgYW4gaW5qZWN0aW9uIGNvbnRleHQgaXMgbm90IGF2YWlsYWJsZSwgYW4gZXhwbGljaXQgYEluamVjdG9yYCBjYW4gYmVcbiAqIHBhc3NlZCBpbnN0ZWFkLlxuICpcbiAqIElmIHRoZSBzdWJzY3JpcHRpb24gc2hvdWxkIHBlcnNpc3QgdW50aWwgdGhlIGBPYnNlcnZhYmxlYCBpdHNlbGYgY29tcGxldGVzLCB0aGUgYG1hbnVhbENsZWFudXBgXG4gKiBvcHRpb24gY2FuIGJlIHNwZWNpZmllZCBpbnN0ZWFkLCB3aGljaCBkaXNhYmxlcyB0aGUgYXV0b21hdGljIHN1YnNjcmlwdGlvbiB0ZWFyZG93bi4gTm8gaW5qZWN0aW9uXG4gKiBjb250ZXh0IGlzIG5lZWRlZCBpbiB0aGlzIGNvbmZpZ3VyYXRpb24gYXMgd2VsbC5cbiAqXG4gKiBAZGV2ZWxvcGVyUHJldmlld1xuICovXG5leHBvcnQgZnVuY3Rpb24gdG9TaWduYWw8VD4oXG4gICAgc291cmNlOiBPYnNlcnZhYmxlPFQ+fFN1YnNjcmliYWJsZTxUPixcbiAgICBvcHRpb25zPzogVG9TaWduYWxPcHRpb25zPHVuZGVmaW5lZD4me3JlcXVpcmVTeW5jPzogZmFsc2V9KTogU2lnbmFsPFR8dW5kZWZpbmVkPjtcblxuXG4vKipcbiAqIEdldCB0aGUgY3VycmVudCB2YWx1ZSBvZiBhbiBgT2JzZXJ2YWJsZWAgYXMgYSByZWFjdGl2ZSBgU2lnbmFsYC5cbiAqXG4gKiBgdG9TaWduYWxgIHJldHVybnMgYSBgU2lnbmFsYCB3aGljaCBwcm92aWRlcyBzeW5jaHJvbm91cyByZWFjdGl2ZSBhY2Nlc3MgdG8gdmFsdWVzIHByb2R1Y2VkXG4gKiBieSB0aGUgZ2l2ZW4gYE9ic2VydmFibGVgLCBieSBzdWJzY3JpYmluZyB0byB0aGF0IGBPYnNlcnZhYmxlYC4gVGhlIHJldHVybmVkIGBTaWduYWxgIHdpbGwgYWx3YXlzXG4gKiBoYXZlIHRoZSBtb3N0IHJlY2VudCB2YWx1ZSBlbWl0dGVkIGJ5IHRoZSBzdWJzY3JpcHRpb24sIGFuZCB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZVxuICogYE9ic2VydmFibGVgIGVycm9ycy5cbiAqXG4gKiBCZWZvcmUgdGhlIGBPYnNlcnZhYmxlYCBlbWl0cyBpdHMgZmlyc3QgdmFsdWUsIHRoZSBgU2lnbmFsYCB3aWxsIHJldHVybiB0aGUgY29uZmlndXJlZFxuICogYGluaXRpYWxWYWx1ZWAuIElmIHRoZSBgT2JzZXJ2YWJsZWAgaXMgZ3VhcmFudGVlZCB0byBlbWl0IHN5bmNocm9ub3VzbHksIHRoZW4gdGhlIGByZXF1aXJlU3luY2BcbiAqIG9wdGlvbiBjYW4gYmUgcGFzc2VkIGluc3RlYWQuXG4gKlxuICogQnkgZGVmYXVsdCwgdGhlIHN1YnNjcmlwdGlvbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2xlYW5lZCB1cCB3aGVuIHRoZSBjdXJyZW50IFtpbmplY3Rpb25cbiAqIGNvbnRleHRdKGd1aWRlL2RlcGVuZGVuY3ktaW5qZWN0aW9uLWNvbnRleHQpIGlzIGRlc3Ryb3llZC4gRm9yIGV4YW1wbGUsIHdoZW4gYHRvT2JzZXJ2YWJsZWAgaXNcbiAqIGNhbGxlZCBkdXJpbmcgdGhlIGNvbnN0cnVjdGlvbiBvZiBhIGNvbXBvbmVudCwgdGhlIHN1YnNjcmlwdGlvbiB3aWxsIGJlIGNsZWFuZWQgdXAgd2hlbiB0aGVcbiAqIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQuIElmIGFuIFtpbmplY3Rpb24gY29udGV4dF0oL2d1aWRlL2RlcGVuZGVuY3ktaW5qZWN0aW9uLWNvbnRleHQpIGlzIG5vdFxuICogYXZhaWxhYmxlLCBhbiBleHBsaWNpdCBgSW5qZWN0b3JgIGNhbiBiZSBwYXNzZWQgaW5zdGVhZC5cbiAqXG4gKiBJZiB0aGUgc3Vic2NyaXB0aW9uIHNob3VsZCBwZXJzaXN0IHVudGlsIHRoZSBgT2JzZXJ2YWJsZWAgaXRzZWxmIGNvbXBsZXRlcywgdGhlIGBtYW51YWxDbGVhbnVwYFxuICogb3B0aW9uIGNhbiBiZSBzcGVjaWZpZWQgaW5zdGVhZCwgd2hpY2ggZGlzYWJsZXMgdGhlIGF1dG9tYXRpYyBzdWJzY3JpcHRpb24gdGVhcmRvd24uIE5vIGluamVjdGlvblxuICogY29udGV4dCBpcyBuZWVkZWQgaW4gdGhpcyBjb25maWd1cmF0aW9uIGFzIHdlbGwuXG4gKlxuICogQGRldmVsb3BlclByZXZpZXdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvU2lnbmFsPFQsIFUgZXh0ZW5kcyBUfG51bGx8dW5kZWZpbmVkPihcbiAgICBzb3VyY2U6IE9ic2VydmFibGU8VD58U3Vic2NyaWJhYmxlPFQ+LFxuICAgIG9wdGlvbnM6IFRvU2lnbmFsT3B0aW9uczxVPiZ7aW5pdGlhbFZhbHVlOiBVLCByZXF1aXJlU3luYz86IGZhbHNlfSk6IFNpZ25hbDxUfFU+O1xuXG4vKipcbiAqIEdldCB0aGUgY3VycmVudCB2YWx1ZSBvZiBhbiBgT2JzZXJ2YWJsZWAgYXMgYSByZWFjdGl2ZSBgU2lnbmFsYC5cbiAqXG4gKiBgdG9TaWduYWxgIHJldHVybnMgYSBgU2lnbmFsYCB3aGljaCBwcm92aWRlcyBzeW5jaHJvbm91cyByZWFjdGl2ZSBhY2Nlc3MgdG8gdmFsdWVzIHByb2R1Y2VkXG4gKiBieSB0aGUgZ2l2ZW4gYE9ic2VydmFibGVgLCBieSBzdWJzY3JpYmluZyB0byB0aGF0IGBPYnNlcnZhYmxlYC4gVGhlIHJldHVybmVkIGBTaWduYWxgIHdpbGwgYWx3YXlzXG4gKiBoYXZlIHRoZSBtb3N0IHJlY2VudCB2YWx1ZSBlbWl0dGVkIGJ5IHRoZSBzdWJzY3JpcHRpb24sIGFuZCB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZVxuICogYE9ic2VydmFibGVgIGVycm9ycy5cbiAqXG4gKiBXaXRoIGByZXF1aXJlU3luY2Agc2V0IHRvIGB0cnVlYCwgYHRvU2lnbmFsYCB3aWxsIGFzc2VydCB0aGF0IHRoZSBgT2JzZXJ2YWJsZWAgcHJvZHVjZXMgYSB2YWx1ZVxuICogaW1tZWRpYXRlbHkgdXBvbiBzdWJzY3JpcHRpb24uIE5vIGBpbml0aWFsVmFsdWVgIGlzIG5lZWRlZCBpbiB0aGlzIGNhc2UsIGFuZCB0aGUgcmV0dXJuZWQgc2lnbmFsXG4gKiBkb2VzIG5vdCBpbmNsdWRlIGFuIGB1bmRlZmluZWRgIHR5cGUuXG4gKlxuICogQnkgZGVmYXVsdCwgdGhlIHN1YnNjcmlwdGlvbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2xlYW5lZCB1cCB3aGVuIHRoZSBjdXJyZW50IFtpbmplY3Rpb25cbiAqIGNvbnRleHRdKC9ndWlkZS9kZXBlbmRlbmN5LWluamVjdGlvbi1jb250ZXh0KSBpcyBkZXN0cm95ZWQuIEZvciBleGFtcGxlLCB3aGVuIGB0b09ic2VydmFibGVgIGlzXG4gKiBjYWxsZWQgZHVyaW5nIHRoZSBjb25zdHJ1Y3Rpb24gb2YgYSBjb21wb25lbnQsIHRoZSBzdWJzY3JpcHRpb24gd2lsbCBiZSBjbGVhbmVkIHVwIHdoZW4gdGhlXG4gKiBjb21wb25lbnQgaXMgZGVzdHJveWVkLiBJZiBhbiBpbmplY3Rpb24gY29udGV4dCBpcyBub3QgYXZhaWxhYmxlLCBhbiBleHBsaWNpdCBgSW5qZWN0b3JgIGNhbiBiZVxuICogcGFzc2VkIGluc3RlYWQuXG4gKlxuICogSWYgdGhlIHN1YnNjcmlwdGlvbiBzaG91bGQgcGVyc2lzdCB1bnRpbCB0aGUgYE9ic2VydmFibGVgIGl0c2VsZiBjb21wbGV0ZXMsIHRoZSBgbWFudWFsQ2xlYW51cGBcbiAqIG9wdGlvbiBjYW4gYmUgc3BlY2lmaWVkIGluc3RlYWQsIHdoaWNoIGRpc2FibGVzIHRoZSBhdXRvbWF0aWMgc3Vic2NyaXB0aW9uIHRlYXJkb3duLiBObyBpbmplY3Rpb25cbiAqIGNvbnRleHQgaXMgbmVlZGVkIGluIHRoaXMgY29uZmlndXJhdGlvbiBhcyB3ZWxsLlxuICpcbiAqIEBkZXZlbG9wZXJQcmV2aWV3XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1NpZ25hbDxUPihcbiAgICBzb3VyY2U6IE9ic2VydmFibGU8VD58U3Vic2NyaWJhYmxlPFQ+LFxuICAgIG9wdGlvbnM6IFRvU2lnbmFsT3B0aW9uczx1bmRlZmluZWQ+JntyZXF1aXJlU3luYzogdHJ1ZX0pOiBTaWduYWw8VD47XG5leHBvcnQgZnVuY3Rpb24gdG9TaWduYWw8VCwgVSA9IHVuZGVmaW5lZD4oXG4gICAgc291cmNlOiBPYnNlcnZhYmxlPFQ+fFN1YnNjcmliYWJsZTxUPiwgb3B0aW9ucz86IFRvU2lnbmFsT3B0aW9uczxVPik6IFNpZ25hbDxUfFU+IHtcbiAgY29uc3QgcmVxdWlyZXNDbGVhbnVwID0gIW9wdGlvbnM/Lm1hbnVhbENsZWFudXA7XG4gIHJlcXVpcmVzQ2xlYW51cCAmJiAhb3B0aW9ucz8uaW5qZWN0b3IgJiYgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KHRvU2lnbmFsKTtcbiAgY29uc3QgY2xlYW51cFJlZiA9XG4gICAgICByZXF1aXJlc0NsZWFudXAgPyBvcHRpb25zPy5pbmplY3Rvcj8uZ2V0KERlc3Ryb3lSZWYpID8/IGluamVjdChEZXN0cm95UmVmKSA6IG51bGw7XG5cbiAgLy8gTm90ZTogVCBpcyB0aGUgT2JzZXJ2YWJsZSB2YWx1ZSB0eXBlLCBhbmQgVSBpcyB0aGUgaW5pdGlhbCB2YWx1ZSB0eXBlLiBUaGV5IGRvbid0IGhhdmUgdG8gYmVcbiAgLy8gdGhlIHNhbWUgLSB0aGUgcmV0dXJuZWQgc2lnbmFsIGdpdmVzIHZhbHVlcyBvZiB0eXBlIGBUYC5cbiAgbGV0IHN0YXRlOiBXcml0YWJsZVNpZ25hbDxTdGF0ZTxUfFU+PjtcbiAgaWYgKG9wdGlvbnM/LnJlcXVpcmVTeW5jKSB7XG4gICAgLy8gSW5pdGlhbGx5IHRoZSBzaWduYWwgaXMgaW4gYSBgTm9WYWx1ZWAgc3RhdGUuXG4gICAgc3RhdGUgPSBzaWduYWwoe2tpbmQ6IFN0YXRlS2luZC5Ob1ZhbHVlfSk7XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgYW4gaW5pdGlhbCB2YWx1ZSB3YXMgcGFzc2VkLCB1c2UgaXQuIE90aGVyd2lzZSwgdXNlIGB1bmRlZmluZWRgIGFzIHRoZSBpbml0aWFsIHZhbHVlLlxuICAgIHN0YXRlID0gc2lnbmFsPFN0YXRlPFR8VT4+KHtraW5kOiBTdGF0ZUtpbmQuVmFsdWUsIHZhbHVlOiBvcHRpb25zPy5pbml0aWFsVmFsdWUgYXMgVX0pO1xuICB9XG5cbiAgY29uc3Qgc3ViID0gc291cmNlLnN1YnNjcmliZSh7XG4gICAgbmV4dDogdmFsdWUgPT4gc3RhdGUuc2V0KHtraW5kOiBTdGF0ZUtpbmQuVmFsdWUsIHZhbHVlfSksXG4gICAgZXJyb3I6IGVycm9yID0+IHN0YXRlLnNldCh7a2luZDogU3RhdGVLaW5kLkVycm9yLCBlcnJvcn0pLFxuICAgIC8vIENvbXBsZXRpb24gb2YgdGhlIE9ic2VydmFibGUgaXMgbWVhbmluZ2xlc3MgdG8gdGhlIHNpZ25hbC4gU2lnbmFscyBkb24ndCBoYXZlIGEgY29uY2VwdCBvZlxuICAgIC8vIFwiY29tcGxldGVcIi5cbiAgfSk7XG5cbiAgaWYgKG5nRGV2TW9kZSAmJiBvcHRpb25zPy5yZXF1aXJlU3luYyAmJiB1bnRyYWNrZWQoc3RhdGUpLmtpbmQgPT09IFN0YXRlS2luZC5Ob1ZhbHVlKSB7XG4gICAgdGhyb3cgbmV3IMm1UnVudGltZUVycm9yKFxuICAgICAgICDJtVJ1bnRpbWVFcnJvckNvZGUuUkVRVUlSRV9TWU5DX1dJVEhPVVRfU1lOQ19FTUlULFxuICAgICAgICAnYHRvU2lnbmFsKClgIGNhbGxlZCB3aXRoIGByZXF1aXJlU3luY2AgYnV0IGBPYnNlcnZhYmxlYCBkaWQgbm90IGVtaXQgc3luY2hyb25vdXNseS4nKTtcbiAgfVxuXG4gIC8vIFVuc3Vic2NyaWJlIHdoZW4gdGhlIGN1cnJlbnQgY29udGV4dCBpcyBkZXN0cm95ZWQsIGlmIHJlcXVlc3RlZC5cbiAgY2xlYW51cFJlZj8ub25EZXN0cm95KHN1Yi51bnN1YnNjcmliZS5iaW5kKHN1YikpO1xuXG4gIC8vIFRoZSBhY3R1YWwgcmV0dXJuZWQgc2lnbmFsIGlzIGEgYGNvbXB1dGVkYCBvZiB0aGUgYFN0YXRlYCBzaWduYWwsIHdoaWNoIG1hcHMgdGhlIHZhcmlvdXMgc3RhdGVzXG4gIC8vIHRvIGVpdGhlciB2YWx1ZXMgb3IgZXJyb3JzLlxuICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBzdGF0ZSgpO1xuICAgIHN3aXRjaCAoY3VycmVudC5raW5kKSB7XG4gICAgICBjYXNlIFN0YXRlS2luZC5WYWx1ZTpcbiAgICAgICAgcmV0dXJuIGN1cnJlbnQudmFsdWU7XG4gICAgICBjYXNlIFN0YXRlS2luZC5FcnJvcjpcbiAgICAgICAgdGhyb3cgY3VycmVudC5lcnJvcjtcbiAgICAgIGNhc2UgU3RhdGVLaW5kLk5vVmFsdWU6XG4gICAgICAgIC8vIFRoaXMgc2hvdWxkbid0IHJlYWxseSBoYXBwZW4gYmVjYXVzZSB0aGUgZXJyb3IgaXMgdGhyb3duIG9uIGNyZWF0aW9uLlxuICAgICAgICAvLyBUT0RPKGFseGh1Yik6IHVzZSBhIFJ1bnRpbWVFcnJvciB3aGVuIHdlIGZpbmFsaXplIHRoZSBlcnJvciBzZW1hbnRpY3NcbiAgICAgICAgdGhyb3cgbmV3IMm1UnVudGltZUVycm9yKFxuICAgICAgICAgICAgybVSdW50aW1lRXJyb3JDb2RlLlJFUVVJUkVfU1lOQ19XSVRIT1VUX1NZTkNfRU1JVCxcbiAgICAgICAgICAgICdgdG9TaWduYWwoKWAgY2FsbGVkIHdpdGggYHJlcXVpcmVTeW5jYCBidXQgYE9ic2VydmFibGVgIGRpZCBub3QgZW1pdCBzeW5jaHJvbm91c2x5LicpO1xuICAgIH1cbiAgfSk7XG59XG5cbmNvbnN0IGVudW0gU3RhdGVLaW5kIHtcbiAgTm9WYWx1ZSxcbiAgVmFsdWUsXG4gIEVycm9yLFxufVxuXG5pbnRlcmZhY2UgTm9WYWx1ZVN0YXRlIHtcbiAga2luZDogU3RhdGVLaW5kLk5vVmFsdWU7XG59XG5cbmludGVyZmFjZSBWYWx1ZVN0YXRlPFQ+IHtcbiAga2luZDogU3RhdGVLaW5kLlZhbHVlO1xuICB2YWx1ZTogVDtcbn1cblxuaW50ZXJmYWNlIEVycm9yU3RhdGUge1xuICBraW5kOiBTdGF0ZUtpbmQuRXJyb3I7XG4gIGVycm9yOiB1bmtub3duO1xufVxuXG50eXBlIFN0YXRlPFQ+ID0gTm9WYWx1ZVN0YXRlfFZhbHVlU3RhdGU8VD58RXJyb3JTdGF0ZTtcbiJdfQ==
@@ -23,7 +23,7 @@ export { findLocaleData as ɵfindLocaleData, getLocaleCurrencyCode as ɵgetLocal
23
23
  export { DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID } from './i18n/localization';
24
24
  export { InitialRenderPendingTasks as ɵInitialRenderPendingTasks } from './initial_render_pending_tasks';
25
25
  export { ComponentFactory as ɵComponentFactory } from './linker/component_factory';
26
- export { clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, resolveComponentResources as ɵresolveComponentResources } from './metadata/resource_loading';
26
+ export { clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, resolveComponentResources as ɵresolveComponentResources, restoreComponentResolutionQueue as ɵrestoreComponentResolutionQueue } from './metadata/resource_loading';
27
27
  export { ReflectionCapabilities as ɵReflectionCapabilities } from './reflection/reflection_capabilities';
28
28
  export { setInjectorProfilerContext as ɵsetInjectorProfilerContext } from './render3/debug/injector_profiler';
29
29
  export { allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, getSanitizationBypassType as ɵgetSanitizationBypassType, unwrapSafeValue as ɵunwrapSafeValue } from './sanitization/bypass';
@@ -37,4 +37,4 @@ export { global as ɵglobal } from './util/global';
37
37
  export { isPromise as ɵisPromise, isSubscribable as ɵisSubscribable } from './util/lang';
38
38
  export { stringify as ɵstringify } from './util/stringify';
39
39
  export { NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR } from './view/provider_flags';
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZV9wcml2YXRlX2V4cG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2NvcmVfcHJpdmF0ZV9leHBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLHdCQUF3QixJQUFJLHlCQUF5QixFQUFFLHlCQUF5QixJQUFJLDBCQUEwQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakosT0FBTyxFQUFDLG9CQUFvQixJQUFJLHFCQUFxQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkYsT0FBTyxFQUFDLHNCQUFzQixJQUFJLHVCQUF1QixFQUFFLHNCQUFzQixJQUFJLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDekosT0FBTyxFQUFDLE9BQU8sSUFBSSxRQUFRLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFDLGlCQUFpQixJQUFJLGtCQUFrQixFQUFFLGtCQUFrQixJQUFJLG1CQUFtQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDL0gsT0FBTyxFQUFDLGdCQUFnQixJQUFJLGlCQUFpQixFQUF5QyxNQUFNLHFCQUFxQixDQUFDO0FBQ2xILE9BQU8sRUFBZ0Usc0JBQXNCLElBQUksdUJBQXVCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6SixPQUFPLEVBQUMsY0FBYyxJQUFJLGVBQWUsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUM3RCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksaUJBQWlCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRSxPQUFPLEVBQUMsa0JBQWtCLElBQUksbUJBQW1CLEVBQUUsWUFBWSxJQUFJLGFBQWEsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNsRyxPQUFPLEVBQUMsb0JBQW9CLElBQUkscUJBQXFCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLElBQUksaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsOEJBQThCLElBQUksK0JBQStCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRyxPQUFPLEVBQUMsNEJBQTRCLElBQUksNkJBQTZCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRyxPQUFPLEVBQWlGLGNBQWMsSUFBSSxlQUFlLEVBQUUscUJBQXFCLElBQUksc0JBQXNCLEVBQUUsbUJBQW1CLElBQUksb0JBQW9CLEVBQUUsZUFBZSxJQUFJLGdCQUFnQixFQUFFLGtCQUFrQixJQUFJLG1CQUFtQixFQUFFLHVCQUF1QixJQUFJLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDelgsT0FBTyxFQUFDLGlCQUFpQixJQUFJLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDNUUsT0FBTyxFQUFDLHlCQUF5QixJQUFJLDBCQUEwQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkcsT0FBTyxFQUFDLGdCQUFnQixJQUFJLGlCQUFpQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDakYsT0FBTyxFQUFDLHdDQUF3QyxJQUFJLHlDQUF5QyxFQUFFLHlCQUF5QixJQUFJLDBCQUEwQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0wsT0FBTyxFQUFDLHNCQUFzQixJQUFJLHVCQUF1QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDdkcsT0FBTyxFQUFzRCwwQkFBMEIsSUFBSSwyQkFBMkIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pLLE9BQU8sRUFBQywrQkFBK0IsSUFBSSxnQ0FBZ0MsRUFBNkIseUJBQXlCLElBQUksMEJBQTBCLEVBQWdLLGVBQWUsSUFBSSxnQkFBZ0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2pZLE9BQU8sRUFBQyxhQUFhLElBQUksY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDOUUsT0FBTyxFQUFDLFlBQVksSUFBSSxhQUFhLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRSxPQUFPLEVBQUMsdUJBQXVCLElBQUksd0JBQXdCLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDOUUsT0FBTyxFQUFDLFdBQVcsSUFBSSxZQUFZLEVBQUUsa0JBQWtCLElBQUksbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNqSCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFDLFlBQVksSUFBSSxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsTUFBTSxJQUFJLE9BQU8sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMsU0FBUyxJQUFJLFVBQVUsRUFBRSxjQUFjLElBQUksZUFBZSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxTQUFTLElBQUksVUFBVSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUFDLHFDQUFxQyxJQUFJLHNDQUFzQyxFQUFDLE1BQU0sdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0IHtBTExPV19NVUxUSVBMRV9QTEFURk9STVMgYXMgybVBTExPV19NVUxUSVBMRV9QTEFURk9STVMsIGludGVybmFsQ3JlYXRlQXBwbGljYXRpb24gYXMgybVpbnRlcm5hbENyZWF0ZUFwcGxpY2F0aW9ufSBmcm9tICcuL2FwcGxpY2F0aW9uX3JlZic7XG5leHBvcnQge0VOQUJMRURfU1NSX0ZFQVRVUkVTIGFzIMm1RU5BQkxFRF9TU1JfRkVBVFVSRVN9IGZyb20gJy4vYXBwbGljYXRpb25fdG9rZW5zJztcbmV4cG9ydCB7ZGVmYXVsdEl0ZXJhYmxlRGlmZmVycyBhcyDJtWRlZmF1bHRJdGVyYWJsZURpZmZlcnMsIGRlZmF1bHRLZXlWYWx1ZURpZmZlcnMgYXMgybVkZWZhdWx0S2V5VmFsdWVEaWZmZXJzfSBmcm9tICcuL2NoYW5nZV9kZXRlY3Rpb24vY2hhbmdlX2RldGVjdGlvbic7XG5leHBvcnQge0NvbnNvbGUgYXMgybVDb25zb2xlfSBmcm9tICcuL2NvbnNvbGUnO1xuZXhwb3J0IHtjb252ZXJ0VG9CaXRGbGFncyBhcyDJtWNvbnZlcnRUb0JpdEZsYWdzLCBzZXRDdXJyZW50SW5qZWN0b3IgYXMgybVzZXRDdXJyZW50SW5qZWN0b3J9IGZyb20gJy4vZGkvaW5qZWN0b3JfY29tcGF0aWJpbGl0eSc7XG5leHBvcnQge2dldEluamVjdGFibGVEZWYgYXMgybVnZXRJbmplY3RhYmxlRGVmLCDJtcm1SW5qZWN0YWJsZURlY2xhcmF0aW9uLCDJtcm1SW5qZWN0b3JEZWZ9IGZyb20gJy4vZGkvaW50ZXJmYWNlL2RlZnMnO1xuZXhwb3J0IHtJbnRlcm5hbEVudmlyb25tZW50UHJvdmlkZXJzIGFzIMm1SW50ZXJuYWxFbnZpcm9ubWVudFByb3ZpZGVycywgaXNFbnZpcm9ubWVudFByb3ZpZGVycyBhcyDJtWlzRW52aXJvbm1lbnRQcm92aWRlcnN9IGZyb20gJy4vZGkvaW50ZXJmYWNlL3Byb3ZpZGVyJztcbmV4cG9ydCB7SU5KRUNUT1JfU0NPUEUgYXMgybVJTkpFQ1RPUl9TQ09QRX0gZnJvbSAnLi9kaS9zY29wZSc7XG5leHBvcnQge1hTU19TRUNVUklUWV9VUkwgYXMgybVYU1NfU0VDVVJJVFlfVVJMfSBmcm9tICcuL2Vycm9yX2RldGFpbHNfYmFzZV91cmwnO1xuZXhwb3J0IHtmb3JtYXRSdW50aW1lRXJyb3IgYXMgybVmb3JtYXRSdW50aW1lRXJyb3IsIFJ1bnRpbWVFcnJvciBhcyDJtVJ1bnRpbWVFcnJvcn0gZnJvbSAnLi9lcnJvcnMnO1xuZXhwb3J0IHthbm5vdGF0ZUZvckh5ZHJhdGlvbiBhcyDJtWFubm90YXRlRm9ySHlkcmF0aW9ufSBmcm9tICcuL2h5ZHJhdGlvbi9hbm5vdGF0ZSc7XG5leHBvcnQge3dpdGhEb21IeWRyYXRpb24gYXMgybV3aXRoRG9tSHlkcmF0aW9ufSBmcm9tICcuL2h5ZHJhdGlvbi9hcGknO1xuZXhwb3J0IHtJU19IWURSQVRJT05fRE9NX1JFVVNFX0VOQUJMRUQgYXMgybVJU19IWURSQVRJT05fRE9NX1JFVVNFX0VOQUJMRUR9IGZyb20gJy4vaHlkcmF0aW9uL3Rva2Vucyc7XG5leHBvcnQge1NTUl9DT05URU5UX0lOVEVHUklUWV9NQVJLRVIgYXMgybVTU1JfQ09OVEVOVF9JTlRFR1JJVFlfTUFSS0VSfSBmcm9tICcuL2h5ZHJhdGlvbi91dGlscyc7XG5leHBvcnQge0N1cnJlbmN5SW5kZXggYXMgybVDdXJyZW5jeUluZGV4LCBFeHRyYUxvY2FsZURhdGFJbmRleCBhcyDJtUV4dHJhTG9jYWxlRGF0YUluZGV4LCBmaW5kTG9jYWxlRGF0YSBhcyDJtWZpbmRMb2NhbGVEYXRhLCBnZXRMb2NhbGVDdXJyZW5jeUNvZGUgYXMgybVnZXRMb2NhbGVDdXJyZW5jeUNvZGUsIGdldExvY2FsZVBsdXJhbENhc2UgYXMgybVnZXRMb2NhbGVQbHVyYWxDYXNlLCBMb2NhbGVEYXRhSW5kZXggYXMgybVMb2NhbGVEYXRhSW5kZXgsIHJlZ2lzdGVyTG9jYWxlRGF0YSBhcyDJtXJlZ2lzdGVyTG9jYWxlRGF0YSwgdW5yZWdpc3RlckFsbExvY2FsZURhdGEgYXMgybV1bnJlZ2lzdGVyTG9jYWxlRGF0YX0gZnJvbSAnLi9pMThuL2xvY2FsZV9kYXRhX2FwaSc7XG5leHBvcnQge0RFRkFVTFRfTE9DQUxFX0lEIGFzIMm1REVGQVVMVF9MT0NBTEVfSUR9IGZyb20gJy4vaTE4bi9sb2NhbGl6YXRpb24nO1xuZXhwb3J0IHtJbml0aWFsUmVuZGVyUGVuZGluZ1Rhc2tzIGFzIMm1SW5pdGlhbFJlbmRlclBlbmRpbmdUYXNrc30gZnJvbSAnLi9pbml0aWFsX3JlbmRlcl9wZW5kaW5nX3Rhc2tzJztcbmV4cG9ydCB7Q29tcG9uZW50RmFjdG9yeSBhcyDJtUNvbXBvbmVudEZhY3Rvcnl9IGZyb20gJy4vbGlua2VyL2NvbXBvbmVudF9mYWN0b3J5JztcbmV4cG9ydCB7Y2xlYXJSZXNvbHV0aW9uT2ZDb21wb25lbnRSZXNvdXJjZXNRdWV1ZSBhcyDJtWNsZWFyUmVzb2x1dGlvbk9mQ29tcG9uZW50UmVzb3VyY2VzUXVldWUsIHJlc29sdmVDb21wb25lbnRSZXNvdXJjZXMgYXMgybVyZXNvbHZlQ29tcG9uZW50UmVzb3VyY2VzfSBmcm9tICcuL21ldGFkYXRhL3Jlc291cmNlX2xvYWRpbmcnO1xuZXhwb3J0IHtSZWZsZWN0aW9uQ2FwYWJpbGl0aWVzIGFzIMm1UmVmbGVjdGlvbkNhcGFiaWxpdGllc30gZnJvbSAnLi9yZWZsZWN0aW9uL3JlZmxlY3Rpb25fY2FwYWJpbGl0aWVzJztcbmV4cG9ydCB7SW5qZWN0b3JQcm9maWxlckNvbnRleHQgYXMgybVJbmplY3RvclByb2ZpbGVyQ29udGV4dCwgc2V0SW5qZWN0b3JQcm9maWxlckNvbnRleHQgYXMgybVzZXRJbmplY3RvclByb2ZpbGVyQ29udGV4dH0gZnJvbSAnLi9yZW5kZXIzL2RlYnVnL2luamVjdG9yX3Byb2ZpbGVyJztcbmV4cG9ydCB7YWxsb3dTYW5pdGl6YXRpb25CeXBhc3NBbmRUaHJvdyBhcyDJtWFsbG93U2FuaXRpemF0aW9uQnlwYXNzQW5kVGhyb3csIEJ5cGFzc1R5cGUgYXMgybVCeXBhc3NUeXBlLCBnZXRTYW5pdGl6YXRpb25CeXBhc3NUeXBlIGFzIMm1Z2V0U2FuaXRpemF0aW9uQnlwYXNzVHlwZSwgU2FmZUh0bWwgYXMgybVTYWZlSHRtbCwgU2FmZVJlc291cmNlVXJsIGFzIMm1U2FmZVJlc291cmNlVXJsLCBTYWZlU2NyaXB0IGFzIMm1U2FmZVNjcmlwdCwgU2FmZVN0eWxlIGFzIMm1U2FmZVN0eWxlLCBTYWZlVXJsIGFzIMm1U2FmZVVybCwgU2FmZVZhbHVlIGFzIMm1U2FmZVZhbHVlLCB1bndyYXBTYWZlVmFsdWUgYXMgybV1bndyYXBTYWZlVmFsdWV9IGZyb20gJy4vc2FuaXRpemF0aW9uL2J5cGFzcyc7XG5leHBvcnQge19zYW5pdGl6ZUh0bWwgYXMgybVfc2FuaXRpemVIdG1sfSBmcm9tICcuL3Nhbml0aXphdGlvbi9odG1sX3Nhbml0aXplcic7XG5leHBvcnQge19zYW5pdGl6ZVVybCBhcyDJtV9zYW5pdGl6ZVVybH0gZnJvbSAnLi9zYW5pdGl6YXRpb24vdXJsX3Nhbml0aXplcic7XG5leHBvcnQge3NldEFsdGVybmF0ZVdlYWtSZWZJbXBsIGFzIMm1c2V0QWx0ZXJuYXRlV2Vha1JlZkltcGx9IGZyb20gJy4vc2lnbmFscyc7XG5leHBvcnQge1RFU1RBQklMSVRZIGFzIMm1VEVTVEFCSUxJVFksIFRFU1RBQklMSVRZX0dFVFRFUiBhcyDJtVRFU1RBQklMSVRZX0dFVFRFUn0gZnJvbSAnLi90ZXN0YWJpbGl0eS90ZXN0YWJpbGl0eSc7XG5leHBvcnQge2Jvb2xlYW5BdHRyaWJ1dGUsIG51bWJlckF0dHJpYnV0ZX0gZnJvbSAnLi91dGlsL2NvZXJjaW9uJztcbmV4cG9ydCB7ZGV2TW9kZUVxdWFsIGFzIMm1ZGV2TW9kZUVxdWFsfSBmcm9tICcuL3V0aWwvY29tcGFyaXNvbic7XG5leHBvcnQge2dsb2JhbCBhcyDJtWdsb2JhbH0gZnJvbSAnLi91dGlsL2dsb2JhbCc7XG5leHBvcnQge2lzUHJvbWlzZSBhcyDJtWlzUHJvbWlzZSwgaXNTdWJzY3JpYmFibGUgYXMgybVpc1N1YnNjcmliYWJsZX0gZnJvbSAnLi91dGlsL2xhbmcnO1xuZXhwb3J0IHtzdHJpbmdpZnkgYXMgybVzdHJpbmdpZnl9IGZyb20gJy4vdXRpbC9zdHJpbmdpZnknO1xuZXhwb3J0IHtOT1RfRk9VTkRfQ0hFQ0tfT05MWV9FTEVNRU5UX0lOSkVDVE9SIGFzIMm1Tk9UX0ZPVU5EX0NIRUNLX09OTFlfRUxFTUVOVF9JTkpFQ1RPUn0gZnJvbSAnLi92aWV3L3Byb3ZpZGVyX2ZsYWdzJztcbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZV9wcml2YXRlX2V4cG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2NvcmVfcHJpdmF0ZV9leHBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLHdCQUF3QixJQUFJLHlCQUF5QixFQUFFLHlCQUF5QixJQUFJLDBCQUEwQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakosT0FBTyxFQUFDLG9CQUFvQixJQUFJLHFCQUFxQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkYsT0FBTyxFQUFDLHNCQUFzQixJQUFJLHVCQUF1QixFQUFFLHNCQUFzQixJQUFJLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDekosT0FBTyxFQUFDLE9BQU8sSUFBSSxRQUFRLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFDLGlCQUFpQixJQUFJLGtCQUFrQixFQUFFLGtCQUFrQixJQUFJLG1CQUFtQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDL0gsT0FBTyxFQUFDLGdCQUFnQixJQUFJLGlCQUFpQixFQUF5QyxNQUFNLHFCQUFxQixDQUFDO0FBQ2xILE9BQU8sRUFBZ0Usc0JBQXNCLElBQUksdUJBQXVCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6SixPQUFPLEVBQUMsY0FBYyxJQUFJLGVBQWUsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUM3RCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksaUJBQWlCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRSxPQUFPLEVBQUMsa0JBQWtCLElBQUksbUJBQW1CLEVBQUUsWUFBWSxJQUFJLGFBQWEsRUFBd0MsTUFBTSxVQUFVLENBQUM7QUFDekksT0FBTyxFQUFDLG9CQUFvQixJQUFJLHFCQUFxQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkYsT0FBTyxFQUFDLGdCQUFnQixJQUFJLGlCQUFpQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUFDLDhCQUE4QixJQUFJLCtCQUErQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDckcsT0FBTyxFQUFDLDRCQUE0QixJQUFJLDZCQUE2QixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEcsT0FBTyxFQUFpRixjQUFjLElBQUksZUFBZSxFQUFFLHFCQUFxQixJQUFJLHNCQUFzQixFQUFFLG1CQUFtQixJQUFJLG9CQUFvQixFQUFFLGVBQWUsSUFBSSxnQkFBZ0IsRUFBRSxrQkFBa0IsSUFBSSxtQkFBbUIsRUFBRSx1QkFBdUIsSUFBSSxxQkFBcUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3pYLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVFLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSwwQkFBMEIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxpQkFBaUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pGLE9BQU8sRUFBQyx3Q0FBd0MsSUFBSSx5Q0FBeUMsRUFBRSwrQkFBK0IsSUFBSSxnQ0FBZ0MsRUFBRSx5QkFBeUIsSUFBSSwwQkFBMEIsRUFBRSwrQkFBK0IsSUFBSSxnQ0FBZ0MsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JVLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSx1QkFBdUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBc0QsMEJBQTBCLElBQUksMkJBQTJCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqSyxPQUFPLEVBQUMsK0JBQStCLElBQUksZ0NBQWdDLEVBQTZCLHlCQUF5QixJQUFJLDBCQUEwQixFQUFnSyxlQUFlLElBQUksZ0JBQWdCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqWSxPQUFPLEVBQUMsYUFBYSxJQUFJLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzlFLE9BQU8sRUFBQyxZQUFZLElBQUksYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFDLHVCQUF1QixJQUFJLHdCQUF3QixFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxXQUFXLElBQUksWUFBWSxFQUFFLGtCQUFrQixJQUFJLG1CQUFtQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDakgsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxZQUFZLElBQUksYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEUsT0FBTyxFQUFDLE1BQU0sSUFBSSxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLFNBQVMsSUFBSSxVQUFVLEVBQUUsY0FBYyxJQUFJLGVBQWUsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUN2RixPQUFPLEVBQUMsU0FBUyxJQUFJLFVBQVUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxxQ0FBcUMsSUFBSSxzQ0FBc0MsRUFBQyxNQUFNLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmV4cG9ydCB7QUxMT1dfTVVMVElQTEVfUExBVEZPUk1TIGFzIMm1QUxMT1dfTVVMVElQTEVfUExBVEZPUk1TLCBpbnRlcm5hbENyZWF0ZUFwcGxpY2F0aW9uIGFzIMm1aW50ZXJuYWxDcmVhdGVBcHBsaWNhdGlvbn0gZnJvbSAnLi9hcHBsaWNhdGlvbl9yZWYnO1xuZXhwb3J0IHtFTkFCTEVEX1NTUl9GRUFUVVJFUyBhcyDJtUVOQUJMRURfU1NSX0ZFQVRVUkVTfSBmcm9tICcuL2FwcGxpY2F0aW9uX3Rva2Vucyc7XG5leHBvcnQge2RlZmF1bHRJdGVyYWJsZURpZmZlcnMgYXMgybVkZWZhdWx0SXRlcmFibGVEaWZmZXJzLCBkZWZhdWx0S2V5VmFsdWVEaWZmZXJzIGFzIMm1ZGVmYXVsdEtleVZhbHVlRGlmZmVyc30gZnJvbSAnLi9jaGFuZ2VfZGV0ZWN0aW9uL2NoYW5nZV9kZXRlY3Rpb24nO1xuZXhwb3J0IHtDb25zb2xlIGFzIMm1Q29uc29sZX0gZnJvbSAnLi9jb25zb2xlJztcbmV4cG9ydCB7Y29udmVydFRvQml0RmxhZ3MgYXMgybVjb252ZXJ0VG9CaXRGbGFncywgc2V0Q3VycmVudEluamVjdG9yIGFzIMm1c2V0Q3VycmVudEluamVjdG9yfSBmcm9tICcuL2RpL2luamVjdG9yX2NvbXBhdGliaWxpdHknO1xuZXhwb3J0IHtnZXRJbmplY3RhYmxlRGVmIGFzIMm1Z2V0SW5qZWN0YWJsZURlZiwgybXJtUluamVjdGFibGVEZWNsYXJhdGlvbiwgybXJtUluamVjdG9yRGVmfSBmcm9tICcuL2RpL2ludGVyZmFjZS9kZWZzJztcbmV4cG9ydCB7SW50ZXJuYWxFbnZpcm9ubWVudFByb3ZpZGVycyBhcyDJtUludGVybmFsRW52aXJvbm1lbnRQcm92aWRlcnMsIGlzRW52aXJvbm1lbnRQcm92aWRlcnMgYXMgybVpc0Vudmlyb25tZW50UHJvdmlkZXJzfSBmcm9tICcuL2RpL2ludGVyZmFjZS9wcm92aWRlcic7XG5leHBvcnQge0lOSkVDVE9SX1NDT1BFIGFzIMm1SU5KRUNUT1JfU0NPUEV9IGZyb20gJy4vZGkvc2NvcGUnO1xuZXhwb3J0IHtYU1NfU0VDVVJJVFlfVVJMIGFzIMm1WFNTX1NFQ1VSSVRZX1VSTH0gZnJvbSAnLi9lcnJvcl9kZXRhaWxzX2Jhc2VfdXJsJztcbmV4cG9ydCB7Zm9ybWF0UnVudGltZUVycm9yIGFzIMm1Zm9ybWF0UnVudGltZUVycm9yLCBSdW50aW1lRXJyb3IgYXMgybVSdW50aW1lRXJyb3IsIFJ1bnRpbWVFcnJvckNvZGUgYXMgybVSdW50aW1lRXJyb3JDb2RlfSBmcm9tICcuL2Vycm9ycyc7XG5leHBvcnQge2Fubm90YXRlRm9ySHlkcmF0aW9uIGFzIMm1YW5ub3RhdGVGb3JIeWRyYXRpb259IGZyb20gJy4vaHlkcmF0aW9uL2Fubm90YXRlJztcbmV4cG9ydCB7d2l0aERvbUh5ZHJhdGlvbiBhcyDJtXdpdGhEb21IeWRyYXRpb259IGZyb20gJy4vaHlkcmF0aW9uL2FwaSc7XG5leHBvcnQge0lTX0hZRFJBVElPTl9ET01fUkVVU0VfRU5BQkxFRCBhcyDJtUlTX0hZRFJBVElPTl9ET01fUkVVU0VfRU5BQkxFRH0gZnJvbSAnLi9oeWRyYXRpb24vdG9rZW5zJztcbmV4cG9ydCB7U1NSX0NPTlRFTlRfSU5URUdSSVRZX01BUktFUiBhcyDJtVNTUl9DT05URU5UX0lOVEVHUklUWV9NQVJLRVJ9IGZyb20gJy4vaHlkcmF0aW9uL3V0aWxzJztcbmV4cG9ydCB7Q3VycmVuY3lJbmRleCBhcyDJtUN1cnJlbmN5SW5kZXgsIEV4dHJhTG9jYWxlRGF0YUluZGV4IGFzIMm1RXh0cmFMb2NhbGVEYXRhSW5kZXgsIGZpbmRMb2NhbGVEYXRhIGFzIMm1ZmluZExvY2FsZURhdGEsIGdldExvY2FsZUN1cnJlbmN5Q29kZSBhcyDJtWdldExvY2FsZUN1cnJlbmN5Q29kZSwgZ2V0TG9jYWxlUGx1cmFsQ2FzZSBhcyDJtWdldExvY2FsZVBsdXJhbENhc2UsIExvY2FsZURhdGFJbmRleCBhcyDJtUxvY2FsZURhdGFJbmRleCwgcmVnaXN0ZXJMb2NhbGVEYXRhIGFzIMm1cmVnaXN0ZXJMb2NhbGVEYXRhLCB1bnJlZ2lzdGVyQWxsTG9jYWxlRGF0YSBhcyDJtXVucmVnaXN0ZXJMb2NhbGVEYXRhfSBmcm9tICcuL2kxOG4vbG9jYWxlX2RhdGFfYXBpJztcbmV4cG9ydCB7REVGQVVMVF9MT0NBTEVfSUQgYXMgybVERUZBVUxUX0xPQ0FMRV9JRH0gZnJvbSAnLi9pMThuL2xvY2FsaXphdGlvbic7XG5leHBvcnQge0luaXRpYWxSZW5kZXJQZW5kaW5nVGFza3MgYXMgybVJbml0aWFsUmVuZGVyUGVuZGluZ1Rhc2tzfSBmcm9tICcuL2luaXRpYWxfcmVuZGVyX3BlbmRpbmdfdGFza3MnO1xuZXhwb3J0IHtDb21wb25lbnRGYWN0b3J5IGFzIMm1Q29tcG9uZW50RmFjdG9yeX0gZnJvbSAnLi9saW5rZXIvY29tcG9uZW50X2ZhY3RvcnknO1xuZXhwb3J0IHtjbGVhclJlc29sdXRpb25PZkNvbXBvbmVudFJlc291cmNlc1F1ZXVlIGFzIMm1Y2xlYXJSZXNvbHV0aW9uT2ZDb21wb25lbnRSZXNvdXJjZXNRdWV1ZSwgaXNDb21wb25lbnREZWZQZW5kaW5nUmVzb2x1dGlvbiBhcyDJtWlzQ29tcG9uZW50RGVmUGVuZGluZ1Jlc29sdXRpb24sIHJlc29sdmVDb21wb25lbnRSZXNvdXJjZXMgYXMgybVyZXNvbHZlQ29tcG9uZW50UmVzb3VyY2VzLCByZXN0b3JlQ29tcG9uZW50UmVzb2x1dGlvblF1ZXVlIGFzIMm1cmVzdG9yZUNvbXBvbmVudFJlc29sdXRpb25RdWV1ZX0gZnJvbSAnLi9tZXRhZGF0YS9yZXNvdXJjZV9sb2FkaW5nJztcbmV4cG9ydCB7UmVmbGVjdGlvbkNhcGFiaWxpdGllcyBhcyDJtVJlZmxlY3Rpb25DYXBhYmlsaXRpZXN9IGZyb20gJy4vcmVmbGVjdGlvbi9yZWZsZWN0aW9uX2NhcGFiaWxpdGllcyc7XG5leHBvcnQge0luamVjdG9yUHJvZmlsZXJDb250ZXh0IGFzIMm1SW5qZWN0b3JQcm9maWxlckNvbnRleHQsIHNldEluamVjdG9yUHJvZmlsZXJDb250ZXh0IGFzIMm1c2V0SW5qZWN0b3JQcm9maWxlckNvbnRleHR9IGZyb20gJy4vcmVuZGVyMy9kZWJ1Zy9pbmplY3Rvcl9wcm9maWxlcic7XG5leHBvcnQge2FsbG93U2FuaXRpemF0aW9uQnlwYXNzQW5kVGhyb3cgYXMgybVhbGxvd1Nhbml0aXphdGlvbkJ5cGFzc0FuZFRocm93LCBCeXBhc3NUeXBlIGFzIMm1QnlwYXNzVHlwZSwgZ2V0U2FuaXRpemF0aW9uQnlwYXNzVHlwZSBhcyDJtWdldFNhbml0aXphdGlvbkJ5cGFzc1R5cGUsIFNhZmVIdG1sIGFzIMm1U2FmZUh0bWwsIFNhZmVSZXNvdXJjZVVybCBhcyDJtVNhZmVSZXNvdXJjZVVybCwgU2FmZVNjcmlwdCBhcyDJtVNhZmVTY3JpcHQsIFNhZmVTdHlsZSBhcyDJtVNhZmVTdHlsZSwgU2FmZVVybCBhcyDJtVNhZmVVcmwsIFNhZmVWYWx1ZSBhcyDJtVNhZmVWYWx1ZSwgdW53cmFwU2FmZVZhbHVlIGFzIMm1dW53cmFwU2FmZVZhbHVlfSBmcm9tICcuL3Nhbml0aXphdGlvbi9ieXBhc3MnO1xuZXhwb3J0IHtfc2FuaXRpemVIdG1sIGFzIMm1X3Nhbml0aXplSHRtbH0gZnJvbSAnLi9zYW5pdGl6YXRpb24vaHRtbF9zYW5pdGl6ZXInO1xuZXhwb3J0IHtfc2FuaXRpemVVcmwgYXMgybVfc2FuaXRpemVVcmx9IGZyb20gJy4vc2FuaXRpemF0aW9uL3VybF9zYW5pdGl6ZXInO1xuZXhwb3J0IHtzZXRBbHRlcm5hdGVXZWFrUmVmSW1wbCBhcyDJtXNldEFsdGVybmF0ZVdlYWtSZWZJbXBsfSBmcm9tICcuL3NpZ25hbHMnO1xuZXhwb3J0IHtURVNUQUJJTElUWSBhcyDJtVRFU1RBQklMSVRZLCBURVNUQUJJTElUWV9HRVRURVIgYXMgybVURVNUQUJJTElUWV9HRVRURVJ9IGZyb20gJy4vdGVzdGFiaWxpdHkvdGVzdGFiaWxpdHknO1xuZXhwb3J0IHtib29sZWFuQXR0cmlidXRlLCBudW1iZXJBdHRyaWJ1dGV9IGZyb20gJy4vdXRpbC9jb2VyY2lvbic7XG5leHBvcnQge2Rldk1vZGVFcXVhbCBhcyDJtWRldk1vZGVFcXVhbH0gZnJvbSAnLi91dGlsL2NvbXBhcmlzb24nO1xuZXhwb3J0IHtnbG9iYWwgYXMgybVnbG9iYWx9IGZyb20gJy4vdXRpbC9nbG9iYWwnO1xuZXhwb3J0IHtpc1Byb21pc2UgYXMgybVpc1Byb21pc2UsIGlzU3Vic2NyaWJhYmxlIGFzIMm1aXNTdWJzY3JpYmFibGV9IGZyb20gJy4vdXRpbC9sYW5nJztcbmV4cG9ydCB7c3RyaW5naWZ5IGFzIMm1c3RyaW5naWZ5fSBmcm9tICcuL3V0aWwvc3RyaW5naWZ5JztcbmV4cG9ydCB7Tk9UX0ZPVU5EX0NIRUNLX09OTFlfRUxFTUVOVF9JTkpFQ1RPUiBhcyDJtU5PVF9GT1VORF9DSEVDS19PTkxZX0VMRU1FTlRfSU5KRUNUT1J9IGZyb20gJy4vdmlldy9wcm92aWRlcl9mbGFncyc7XG4iXX0=
@@ -18,7 +18,7 @@ export { createInjector as ɵcreateInjector } from './di/create_injector';
18
18
  export { registerNgModuleType as ɵɵregisterNgModuleType, setAllowDuplicateNgModuleIdsForTest as ɵsetAllowDuplicateNgModuleIdsForTest, } from './linker/ng_module_registration';
19
19
  export { getLContext as ɵgetLContext } from './render3/context_discovery';
20
20
  export { NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, } from './render3/fields';
21
- export { ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, detectChanges as ɵdetectChanges, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, LifecycleHooksFeature as ɵLifecycleHooksFeature, NgModuleFactory as ɵNgModuleFactory, NgModuleRef as ɵRender3NgModuleRef, NO_CHANGE as ɵNO_CHANGE, setClassMetadata as ɵsetClassMetadata, setClassMetadataAsync as ɵsetClassMetadataAsync, setLocaleId as ɵsetLocaleId, store as ɵstore, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵconditional, ɵɵcontentQuery, ɵɵCopyDefinitionFeature, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵInheritDefinitionFeature, ɵɵInputTransformsFeature, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵNgOnChangesFeature, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵProvidersFeature, ɵɵHostDirectivesFeature, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryRefresh, ɵɵreference, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵgetComponentDepsFactory, ɵɵStandaloneFeature, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵdefer, ɵɵdeferWhen, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnTimer, ɵɵdeferOnHover, ɵɵdeferOnInteraction, ɵɵdeferOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnViewport, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵviewQuery, ɵgetUnknownElementStrictMode, ɵsetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetUnknownPropertyStrictMode } from './render3/index';
21
+ export { ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, detectChanges as ɵdetectChanges, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, LifecycleHooksFeature as ɵLifecycleHooksFeature, NgModuleFactory as ɵNgModuleFactory, NgModuleRef as ɵRender3NgModuleRef, NO_CHANGE as ɵNO_CHANGE, setClassMetadata as ɵsetClassMetadata, setClassMetadataAsync as ɵsetClassMetadataAsync, setLocaleId as ɵsetLocaleId, store as ɵstore, ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵconditional, ɵɵcontentQuery, ɵɵcomponentInstance, ɵɵCopyDefinitionFeature, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵInheritDefinitionFeature, ɵɵInputTransformsFeature, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵNgOnChangesFeature, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵProvidersFeature, ɵɵHostDirectivesFeature, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryRefresh, ɵɵreference, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵgetComponentDepsFactory, ɵɵStandaloneFeature, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵdefer, ɵɵdeferWhen, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnTimer, ɵɵdeferOnHover, ɵɵdeferOnInteraction, ɵɵdeferOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnViewport, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵviewQuery, ɵgetUnknownElementStrictMode, ɵsetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetUnknownPropertyStrictMode } from './render3/index';
22
22
  export { LContext as ɵLContext, } from './render3/interfaces/context';
23
23
  export { setDocument as ɵsetDocument } from './render3/interfaces/document';
24
24
  export { compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, } from './render3/jit/directive';
@@ -34,5 +34,8 @@ export { ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsani
34
34
  export { ɵɵvalidateIframeAttribute, } from './sanitization/iframe_attrs_validation';
35
35
  export { noSideEffects as ɵnoSideEffects, } from './util/closure';
36
36
  export { AfterRenderEventManager as ɵAfterRenderEventManager } from './render3/after_render_hooks';
37
+ export { depsTracker as ɵdepsTracker, USE_RUNTIME_DEPS_TRACKER_FOR_JIT as ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT } from './render3/deps_tracker/deps_tracker';
38
+ export { generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError } from './render3/jit/module';
39
+ export { getAsyncClassMetadata as ɵgetAsyncClassMetadata } from './render3/metadata';
37
40
  // clang-format on
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZV9yZW5kZXIzX3ByaXZhdGVfZXhwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvY29yZV9yZW5kZXIzX3ByaXZhdGVfZXhwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILG1CQUFtQjtBQUNuQiw0RkFBNEY7QUFDNUYsc0RBQXNEO0FBQ3RELEVBQUU7QUFDRiw0RUFBNEU7QUFDNUUsT0FBTyxFQUNMLHNCQUFzQixJQUFJLHVCQUF1QixFQUNqRCxlQUFlLElBQUksZ0JBQWdCLEVBQ3BDLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUNMLHVCQUF1QixJQUFJLHdCQUF3QixHQUNwRCxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sRUFDTCxZQUFZLElBQUksYUFBYSxHQUM5QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFDTCxVQUFVLElBQUksV0FBVyxFQUN6QixXQUFXLElBQUksWUFBWSxFQUMzQixZQUFZLElBQUksYUFBYSxHQUM5QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxjQUFjLElBQUksZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkUsT0FBTyxFQUNMLG9CQUFvQixJQUFJLHNCQUFzQixFQUM5QyxtQ0FBbUMsSUFBSSxvQ0FBb0MsR0FDNUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUt6QyxPQUFPLEVBQ0wsV0FBVyxJQUFJLFlBQVksRUFDNUIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQ0wsV0FBVyxJQUFJLFlBQVksRUFDM0IsVUFBVSxJQUFJLFdBQVcsRUFDekIsYUFBYSxJQUFJLGNBQWMsRUFDL0IsVUFBVSxJQUFJLFdBQVcsRUFDekIsV0FBVyxJQUFJLFlBQVksR0FDNUIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBR0wsZ0JBQWdCLElBQUksd0JBQXdC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bUIsRUFDbkIsZUFBZSxHQUNoQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFDTCxXQUFXLElBQUksWUFBWSxHQUM1QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFDTCxVQUFVLElBQUksV0FBVyxFQUMxQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFDTCx5QkFBeUIsSUFBSSwwQkFBMEIsRUFFdkQsaUJBQWlCLElBQUksa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQUMsT0FBTyxJQUFJLFFBQVEsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFDTCwyQkFBMkIsSUFBSSw0QkFBNEIsRUFDM0Qsa0NBQWtDLElBQUksbUNBQW1DLEVBQ3pFLDZCQUE2QixJQUFJLDhCQUE4QixFQUMvRCw0QkFBNEIsSUFBSSw2QkFBNkIsRUFDN0QsMEJBQTBCLElBQUksMkJBQTJCLEdBQzFELE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUNMLGNBQWMsRUFDZCxxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixhQUFhLEVBQ2IsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQiwwQkFBMEIsR0FDM0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQ0wseUJBQXlCLEdBQzFCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUNMLGFBQWEsSUFBSSxjQUFjLEdBQ2hDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLHVCQUF1QixJQUFJLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkcsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8vIGNsYW5nLWZvcm1hdCBvZmZcbi8vIHdlIHJlZXhwb3J0IHRoZXNlIHN5bWJvbHMganVzdCBzbyB0aGF0IHRoZXkgYXJlIHJldGFpbmVkIGR1cmluZyB0aGUgZGVhZCBjb2RlIGVsaW1pbmF0aW9uXG4vLyBwZXJmb3JtZWQgYnkgcm9sbHVwIHdoaWxlIGl0J3MgY3JlYXRpbmcgZmVzbSBmaWxlcy5cbi8vXG4vLyBubyBjb2RlIGFjdHVhbGx5IGltcG9ydHMgdGhlc2Ugc3ltYm9scyBmcm9tIHRoZSBAYW5ndWxhci9jb3JlIGVudHJ5IHBvaW50XG5leHBvcnQge1xuICBjb21waWxlTmdNb2R1bGVGYWN0b3J5IGFzIMm1Y29tcGlsZU5nTW9kdWxlRmFjdG9yeSxcbiAgaXNCb3VuZFRvTW9kdWxlIGFzIMm1aXNCb3VuZFRvTW9kdWxlXG59IGZyb20gJy4vYXBwbGljYXRpb25fcmVmJztcbmV4cG9ydCB7XG4gIGluamVjdENoYW5nZURldGVjdG9yUmVmIGFzIMm1aW5qZWN0Q2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJy4vY2hhbmdlX2RldGVjdGlvbi9jaGFuZ2VfZGV0ZWN0b3JfcmVmJztcbmV4cG9ydCB7XG4gIGdldERlYnVnTm9kZSBhcyDJtWdldERlYnVnTm9kZSxcbn0gZnJvbSAnLi9kZWJ1Zy9kZWJ1Z19ub2RlJztcbmV4cG9ydCB7XG4gIE5HX0lOSl9ERUYgYXMgybVOR19JTkpfREVGLFxuICBOR19QUk9WX0RFRiBhcyDJtU5HX1BST1ZfREVGLFxuICBpc0luamVjdGFibGUgYXMgybVpc0luamVjdGFibGUsXG59IGZyb20gJy4vZGkvaW50ZXJmYWNlL2RlZnMnO1xuZXhwb3J0IHtjcmVhdGVJbmplY3RvciBhcyDJtWNyZWF0ZUluamVjdG9yfSBmcm9tICcuL2RpL2NyZWF0ZV9pbmplY3Rvcic7XG5leHBvcnQge1xuICByZWdpc3Rlck5nTW9kdWxlVHlwZSBhcyDJtcm1cmVnaXN0ZXJOZ01vZHVsZVR5cGUsXG4gIHNldEFsbG93RHVwbGljYXRlTmdNb2R1bGVJZHNGb3JUZXN0IGFzIMm1c2V0QWxsb3dEdXBsaWNhdGVOZ01vZHVsZUlkc0ZvclRlc3QsXG59IGZyb20gJy4vbGlua2VyL25nX21vZHVsZV9yZWdpc3RyYXRpb24nO1xuZXhwb3J0IHtcbiAgTmdNb2R1bGVEZWYgYXMgybVOZ01vZHVsZURlZixcbiAgTmdNb2R1bGVUcmFuc2l0aXZlU2NvcGVzIGFzIMm1TmdNb2R1bGVUcmFuc2l0aXZlU2NvcGVzLFxufSBmcm9tICcuL21ldGFkYXRhL25nX21vZHVsZV9kZWYnO1xuZXhwb3J0IHtcbiAgZ2V0TENvbnRleHQgYXMgybVnZXRMQ29udGV4dFxufSBmcm9tICcuL3JlbmRlcjMvY29udGV4dF9kaXNjb3ZlcnknO1xuZXhwb3J0IHtcbiAgTkdfQ09NUF9ERUYgYXMgybVOR19DT01QX0RFRixcbiAgTkdfRElSX0RFRiBhcyDJtU5HX0RJUl9ERUYsXG4gIE5HX0VMRU1FTlRfSUQgYXMgybVOR19FTEVNRU5UX0lELFxuICBOR19NT0RfREVGIGFzIMm1TkdfTU9EX0RFRixcbiAgTkdfUElQRV9ERUYgYXMgybVOR19QSVBFX0RFRixcbn0gZnJvbSAnLi9yZW5kZXIzL2ZpZWxkcyc7XG5leHBvcnQge1xuICBBdHRyaWJ1dGVNYXJrZXIgYXMgybVBdHRyaWJ1dGVNYXJrZXIsXG4gIENvbXBvbmVudERlZiBhcyDJtUNvbXBvbmVudERlZixcbiAgQ29tcG9uZW50RmFjdG9yeSBhcyDJtVJlbmRlcjNDb21wb25lbnRGYWN0b3J5LFxuICBDb21wb25lbnRSZWYgYXMgybVSZW5kZXIzQ29tcG9uZW50UmVmLFxuICBDb21wb25lbnRUeXBlIGFzIMm1Q29tcG9uZW50VHlwZSxcbiAgQ3NzU2VsZWN0b3JMaXN0IGFzIMm1Q3NzU2VsZWN0b3JMaXN0LFxuICBkZXRlY3RDaGFuZ2VzIGFzIMm1ZGV0ZWN0Q2hhbmdlcyxcbiAgRGlyZWN0aXZlRGVmIGFzIMm1RGlyZWN0aXZlRGVmLFxuICBEaXJlY3RpdmVUeXBlIGFzIMm1RGlyZWN0aXZlVHlwZSxcbiAgZ2V0RGlyZWN0aXZlcyBhcyDJtWdldERpcmVjdGl2ZXMsXG4gIGdldEhvc3RFbGVtZW50IGFzIMm1Z2V0SG9zdEVsZW1lbnQsXG4gIExpZmVjeWNsZUhvb2tzRmVhdHVyZSBhcyDJtUxpZmVjeWNsZUhvb2tzRmVhdHVyZSxcbiAgTmdNb2R1bGVGYWN0b3J5IGFzIMm1TmdNb2R1bGVGYWN0b3J5LFxuICBOZ01vZHVsZVJlZiBhcyDJtVJlbmRlcjNOZ01vZHVsZVJlZixcbiAgTmdNb2R1bGVUeXBlIGFzIMm1TmdNb2R1bGVUeXBlLFxuICBOT19DSEFOR0UgYXMgybVOT19DSEFOR0UsXG4gIFBpcGVEZWYgYXMgybVQaXBlRGVmLFxuICBSZW5kZXJGbGFncyBhcyDJtVJlbmRlckZsYWdzLFxuICBzZXRDbGFzc01ldGFkYXRhIGFzIMm1c2V0Q2xhc3NNZXRhZGF0YSxcbiAgc2V0Q2xhc3NNZXRhZGF0YUFzeW5jIGFzIMm1c2V0Q2xhc3NNZXRhZGF0YUFzeW5jLFxuICBzZXRMb2NhbGVJZCBhcyDJtXNldExvY2FsZUlkLFxuICBzdG9yZSBhcyDJtXN0b3JlLFxuICDJtcm1YWR2YW5jZSxcbiAgybXJtWF0dHJpYnV0ZSxcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlMSxcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlMixcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlMyxcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNCxcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNSxcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNixcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNyxcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlOCxcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlVixcbiAgybXJtWNsYXNzTWFwLFxuICDJtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZTEsXG4gIMm1ybVjbGFzc01hcEludGVycG9sYXRlMixcbiAgybXJtWNsYXNzTWFwSW50ZXJwb2xhdGUzLFxuICDJtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZTQsXG4gIMm1ybVjbGFzc01hcEludGVycG9sYXRlNSxcbiAgybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU2LFxuICDJtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZTcsXG4gIMm1ybVjbGFzc01hcEludGVycG9sYXRlOCxcbiAgybXJtWNsYXNzTWFwSW50ZXJwb2xhdGVWLFxuICDJtcm1Y2xhc3NQcm9wLFxuICDJtcm1Q29tcG9uZW50RGVjbGFyYXRpb24sXG4gIMm1ybVjb25kaXRpb25hbCxcbiAgybXJtWNvbnRlbnRRdWVyeSxcbiAgybXJtUNvcHlEZWZpbml0aW9uRmVhdHVyZSxcbiAgybXJtWRlZmluZUNvbXBvbmVudCxcbiAgybXJtWRlZmluZURpcmVjdGl2ZSxcbiAgybXJtWRlZmluZU5nTW9kdWxlLFxuICDJtcm1ZGVmaW5lUGlwZSxcbiAgybXJtURpcmVjdGl2ZURlY2xhcmF0aW9uLFxuICDJtcm1ZGlyZWN0aXZlSW5qZWN0LFxuICDJtcm1ZGlzYWJsZUJpbmRpbmdzLFxuICDJtcm1ZWxlbWVudCxcbiAgybXJtWVsZW1lbnRDb250YWluZXIsXG4gIMm1ybVlbGVtZW50Q29udGFpbmVyRW5kLFxuICDJtcm1ZWxlbWVudENvbnRhaW5lclN0YXJ0LFxuICDJtcm1ZWxlbWVudEVuZCxcbiAgybXJtWVsZW1lbnRTdGFydCxcbiAgybXJtWVuYWJsZUJpbmRpbmdzLFxuICDJtcm1RmFjdG9yeURlY2xhcmF0aW9uLFxuICDJtcm1Z2V0Q3VycmVudFZpZXcsXG4gIMm1ybVnZXRJbmhlcml0ZWRGYWN0b3J5LFxuICDJtcm1aG9zdFByb3BlcnR5LFxuICDJtcm1aTE4bixcbiAgybXJtWkxOG5BcHBseSxcbiAgybXJtWkxOG5BdHRyaWJ1dGVzLFxuICDJtcm1aTE4bkVuZCxcbiAgybXJtWkxOG5FeHAsXG4gIMm1ybVpMThuUG9zdHByb2Nlc3MsXG4gIMm1ybVpMThuU3RhcnQsXG4gIMm1ybVJbmhlcml0RGVmaW5pdGlvbkZlYXR1cmUsXG4gIMm1ybVJbnB1dFRyYW5zZm9ybXNGZWF0dXJlLFxuICDJtcm1aW5qZWN0QXR0cmlidXRlLFxuICDJtcm1SW5qZWN0b3JEZWNsYXJhdGlvbixcbiAgybXJtWludmFsaWRGYWN0b3J5LFxuICDJtcm1bGlzdGVuZXIsXG4gIMm1ybVsb2FkUXVlcnksXG4gIMm1ybVuYW1lc3BhY2VIVE1MLFxuICDJtcm1bmFtZXNwYWNlTWF0aE1MLFxuICDJtcm1bmFtZXNwYWNlU1ZHLFxuICDJtcm1bmV4dENvbnRleHQsXG4gIMm1ybVOZ01vZHVsZURlY2xhcmF0aW9uLFxuICDJtcm1TmdPbkNoYW5nZXNGZWF0dXJlLFxuICDJtcm1cGlwZSxcbiAgybXJtXBpcGVCaW5kMSxcbiAgybXJtXBpcGVCaW5kMixcbiAgybXJtXBpcGVCaW5kMyxcbiAgybXJtXBpcGVCaW5kNCxcbiAgybXJtXBpcGVCaW5kVixcbiAgybXJtVBpcGVEZWNsYXJhdGlvbixcbiAgybXJtXByb2plY3Rpb24sXG4gIMm1ybVwcm9qZWN0aW9uRGVmLFxuICDJtcm1cHJvcGVydHksXG4gIMm1ybVwcm9wZXJ0eUludGVycG9sYXRlLFxuICDJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTEsXG4gIMm1ybVwcm9wZXJ0eUludGVycG9sYXRlMixcbiAgybXJtXByb3BlcnR5SW50ZXJwb2xhdGUzLFxuICDJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTQsXG4gIMm1ybVwcm9wZXJ0eUludGVycG9sYXRlNSxcbiAgybXJtXByb3BlcnR5SW50ZXJwb2xhdGU2LFxuICDJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTcsXG4gIMm1ybVwcm9wZXJ0eUludGVycG9sYXRlOCxcbiAgybXJtXByb3BlcnR5SW50ZXJwb2xhdGVWLFxuICDJtcm1UHJvdmlkZXJzRmVhdHVyZSxcbiAgybXJtUhvc3REaXJlY3RpdmVzRmVhdHVyZSxcbiAgybXJtXB1cmVGdW5jdGlvbjAsXG4gIMm1ybVwdXJlRnVuY3Rpb24xLFxuICDJtcm1cHVyZUZ1bmN0aW9uMixcbiAgybXJtXB1cmVGdW5jdGlvbjMsXG4gIMm1ybVwdXJlRnVuY3Rpb240LFxuICDJtcm1cHVyZUZ1bmN0aW9uNSxcbiAgybXJtXB1cmVGdW5jdGlvbjYsXG4gIMm1ybVwdXJlRnVuY3Rpb243LFxuICDJtcm1cHVyZUZ1bmN0aW9uOCxcbiAgybXJtXB1cmVGdW5jdGlvblYsXG4gIMm1ybVxdWVyeVJlZnJlc2gsXG4gIMm1ybVyZWZlcmVuY2UsXG4gIMm1ybVyZXNldFZpZXcsXG4gIMm1ybVyZXNvbHZlQm9keSxcbiAgybXJtXJlc29sdmVEb2N1bWVudCxcbiAgybXJtXJlc29sdmVXaW5kb3csXG4gIMm1ybVyZXN0b3JlVmlldyxcblxuICDJtcm1c2V0Q29tcG9uZW50U2NvcGUsXG4gIMm1ybVzZXROZ01vZHVsZVNjb3BlLFxuICDJtcm1Z2V0Q29tcG9uZW50RGVwc0ZhY3RvcnksXG4gIMm1ybVTdGFuZGFsb25lRmVhdHVyZSxcbiAgybXJtXN0eWxlTWFwLFxuICDJtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTEsXG4gIMm1ybVzdHlsZU1hcEludGVycG9sYXRlMixcbiAgybXJtXN0eWxlTWFwSW50ZXJwb2xhdGUzLFxuICDJtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTQsXG4gIMm1ybVzdHlsZU1hcEludGVycG9sYXRlNSxcbiAgybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU2LFxuICDJtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTcsXG4gIMm1ybVzdHlsZU1hcEludGVycG9sYXRlOCxcbiAgybXJtXN0eWxlTWFwSW50ZXJwb2xhdGVWLFxuICDJtcm1c3R5bGVQcm9wLFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGUxLFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGUyLFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGUzLFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU0LFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU1LFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU2LFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU3LFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU4LFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGVWLFxuICDJtcm1c3ludGhldGljSG9zdExpc3RlbmVyLFxuICDJtcm1c3ludGhldGljSG9zdFByb3BlcnR5LFxuICDJtcm1dGVtcGxhdGUsXG4gIMm1ybV0ZW1wbGF0ZVJlZkV4dHJhY3RvcixcbiAgybXJtWRlZmVyLFxuICDJtcm1ZGVmZXJXaGVuLFxuICDJtcm1ZGVmZXJPbklkbGUsXG4gIMm1ybVkZWZlck9uSW1tZWRpYXRlLFxuICDJtcm1ZGVmZXJPblRpbWVyLFxuICDJtcm1ZGVmZXJPbkhvdmVyLFxuICDJtcm1ZGVmZXJPbkludGVyYWN0aW9uLFxuICDJtcm1ZGVmZXJPblZpZXdwb3J0LFxuICDJtcm1ZGVmZXJQcmVmZXRjaFdoZW4sXG4gIMm1ybVkZWZlclByZWZldGNoT25JZGxlLFxuICDJtcm1ZGVmZXJQcmVmZXRjaE9uSW1tZWRpYXRlLFxuICDJtcm1ZGVmZXJQcmVmZXRjaE9uVGltZXIsXG4gIMm1ybVkZWZlclByZWZldGNoT25Ib3ZlcixcbiAgybXJtWRlZmVyUHJlZmV0Y2hPbkludGVyYWN0aW9uLFxuICDJtcm1ZGVmZXJQcmVmZXRjaE9uVmlld3BvcnQsXG4gIMm1ybV0ZXh0LFxuICDJtcm1dGV4dEludGVycG9sYXRlLFxuICDJtcm1dGV4dEludGVycG9sYXRlMSxcbiAgybXJtXRleHRJbnRlcnBvbGF0ZTIsXG4gIMm1ybV0ZXh0SW50ZXJwb2xhdGUzLFxuICDJtcm1dGV4dEludGVycG9sYXRlNCxcbiAgybXJtXRleHRJbnRlcnBvbGF0ZTUsXG4gIMm1ybV0ZXh0SW50ZXJwb2xhdGU2LFxuICDJtcm1dGV4dEludGVycG9sYXRlNyxcbiAgybXJtXRleHRJbnRlcnBvbGF0ZTgsXG4gIMm1ybV0ZXh0SW50ZXJwb2xhdGVWLFxuICDJtcm1dmlld1F1ZXJ5LFxuICDJtWdldFVua25vd25FbGVtZW50U3RyaWN0TW9kZSxcbiAgybVzZXRVbmtub3duRWxlbWVudFN0cmljdE1vZGUsXG4gIMm1Z2V0VW5rbm93blByb3BlcnR5U3RyaWN0TW9kZSxcbiAgybVzZXRVbmtub3duUHJvcGVydHlTdHJpY3RNb2RlXG59IGZyb20gJy4vcmVuZGVyMy9pbmRleCc7XG5leHBvcnQge1xuICBMQ29udGV4dCBhcyDJtUxDb250ZXh0LFxufSBmcm9tICcuL3JlbmRlcjMvaW50ZXJmYWNlcy9jb250ZXh0JztcbmV4cG9ydCB7XG4gIHNldERvY3VtZW50IGFzIMm1c2V0RG9jdW1lbnRcbn0gZnJvbSAnLi9yZW5kZXIzL2ludGVyZmFjZXMvZG9jdW1lbnQnO1xuZXhwb3J0IHtcbiAgY29tcGlsZUNvbXBvbmVudCBhcyDJtWNvbXBpbGVDb21wb25lbnQsXG4gIGNvbXBpbGVEaXJlY3RpdmUgYXMgybVjb21waWxlRGlyZWN0aXZlLFxufSBmcm9tICcuL3JlbmRlcjMvaml0L2RpcmVjdGl2ZSc7XG5leHBvcnQge1xuICByZXNldEppdE9wdGlvbnMgYXMgybVyZXNldEppdE9wdGlvbnMsXG59IGZyb20gJy4vcmVuZGVyMy9qaXQvaml0X29wdGlvbnMnO1xuZXhwb3J0IHtcbiAgY29tcGlsZU5nTW9kdWxlIGFzIMm1Y29tcGlsZU5nTW9kdWxlLFxuICBjb21waWxlTmdNb2R1bGVEZWZzIGFzIMm1Y29tcGlsZU5nTW9kdWxlRGVmcyxcbiAgZmx1c2hNb2R1bGVTY29waW5nUXVldWVBc011Y2hBc1Bvc3NpYmxlIGFzIMm1Zmx1c2hNb2R1bGVTY29waW5nUXVldWVBc011Y2hBc1Bvc3NpYmxlLFxuICBwYXRjaENvbXBvbmVudERlZldpdGhTY29wZSBhcyDJtXBhdGNoQ29tcG9uZW50RGVmV2l0aFNjb3BlLFxuICByZXNldENvbXBpbGVkQ29tcG9uZW50cyBhcyDJtXJlc2V0Q29tcGlsZWRDb21wb25lbnRzLFxuICB0cmFuc2l0aXZlU2NvcGVzRm9yIGFzIMm1dHJhbnNpdGl2ZVNjb3Blc0Zvcixcbn0gZnJvbSAnLi9yZW5kZXIzL2ppdC9tb2R1bGUnO1xuZXhwb3J0IHtcbiAgRmFjdG9yeVRhcmdldCBhcyDJtcm1RmFjdG9yeVRhcmdldCxcbiAgybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEsXG4gIMm1ybVuZ0RlY2xhcmVDb21wb25lbnQsXG4gIMm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUsXG4gIMm1ybVuZ0RlY2xhcmVGYWN0b3J5LFxuICDJtcm1bmdEZWNsYXJlSW5qZWN0YWJsZSxcbiAgybXJtW5nRGVjbGFyZUluamVjdG9yLFxuICDJtcm1bmdEZWNsYXJlTmdNb2R1bGUsXG4gIMm1ybVuZ0RlY2xhcmVQaXBlLFxufSBmcm9tICcuL3JlbmRlcjMvaml0L3BhcnRpYWwnO1xuZXhwb3J0IHtcbiAgY29tcGlsZVBpcGUgYXMgybVjb21waWxlUGlwZSxcbn0gZnJvbSAnLi9yZW5kZXIzL2ppdC9waXBlJztcbmV4cG9ydCB7XG4gIGlzTmdNb2R1bGUgYXMgybVpc05nTW9kdWxlXG59IGZyb20gJy4vcmVuZGVyMy9qaXQvdXRpbCc7XG5leHBvcnQgeyBQcm9maWxlciBhcyDJtVByb2ZpbGVyLCBQcm9maWxlckV2ZW50IGFzIMm1UHJvZmlsZXJFdmVudCB9IGZyb20gJy4vcmVuZGVyMy9wcm9maWxlcic7XG5leHBvcnQge1xuICBwdWJsaXNoRGVmYXVsdEdsb2JhbFV0aWxzIGFzIMm1cHVibGlzaERlZmF1bHRHbG9iYWxVdGlsc1xuLFxuICBwdWJsaXNoR2xvYmFsVXRpbCBhcyDJtXB1Ymxpc2hHbG9iYWxVdGlsfSBmcm9tICcuL3JlbmRlcjMvdXRpbC9nbG9iYWxfdXRpbHMnO1xuZXhwb3J0IHtWaWV3UmVmIGFzIMm1Vmlld1JlZn0gZnJvbSAnLi9yZW5kZXIzL3ZpZXdfcmVmJztcbmV4cG9ydCB7XG4gIGJ5cGFzc1Nhbml0aXphdGlvblRydXN0SHRtbCBhcyDJtWJ5cGFzc1Nhbml0aXphdGlvblRydXN0SHRtbCxcbiAgYnlwYXNzU2FuaXRpemF0aW9uVHJ1c3RSZXNvdXJjZVVybCBhcyDJtWJ5cGFzc1Nhbml0aXphdGlvblRydXN0UmVzb3VyY2VVcmwsXG4gIGJ5cGFzc1Nhbml0aXphdGlvblRydXN0U2NyaXB0IGFzIMm1YnlwYXNzU2FuaXRpemF0aW9uVHJ1c3RTY3JpcHQsXG4gIGJ5cGFzc1Nhbml0aXphdGlvblRydXN0U3R5bGUgYXMgybVieXBhc3NTYW5pdGl6YXRpb25UcnVzdFN0eWxlLFxuICBieXBhc3NTYW5pdGl6YXRpb25UcnVzdFVybCBhcyDJtWJ5cGFzc1Nhbml0aXphdGlvblRydXN0VXJsLFxufSBmcm9tICcuL3Nhbml0aXphdGlvbi9ieXBhc3MnO1xuZXhwb3J0IHtcbiAgybXJtXNhbml0aXplSHRtbCxcbiAgybXJtXNhbml0aXplUmVzb3VyY2VVcmwsXG4gIMm1ybVzYW5pdGl6ZVNjcmlwdCxcbiAgybXJtXNhbml0aXplU3R5bGUsXG4gIMm1ybVzYW5pdGl6ZVVybCxcbiAgybXJtXNhbml0aXplVXJsT3JSZXNvdXJjZVVybCxcbiAgybXJtXRydXN0Q29uc3RhbnRIdG1sLFxuICDJtcm1dHJ1c3RDb25zdGFudFJlc291cmNlVXJsLFxufSBmcm9tICcuL3Nhbml0aXphdGlvbi9zYW5pdGl6YXRpb24nO1xuZXhwb3J0IHtcbiAgybXJtXZhbGlkYXRlSWZyYW1lQXR0cmlidXRlLFxufSBmcm9tICcuL3Nhbml0aXphdGlvbi9pZnJhbWVfYXR0cnNfdmFsaWRhdGlvbic7XG5leHBvcnQge1xuICBub1NpZGVFZmZlY3RzIGFzIMm1bm9TaWRlRWZmZWN0cyxcbn0gZnJvbSAnLi91dGlsL2Nsb3N1cmUnO1xuZXhwb3J0IHsgQWZ0ZXJSZW5kZXJFdmVudE1hbmFnZXIgYXMgybVBZnRlclJlbmRlckV2ZW50TWFuYWdlciB9IGZyb20gJy4vcmVuZGVyMy9hZnRlcl9yZW5kZXJfaG9va3MnO1xuXG4vLyBjbGFuZy1mb3JtYXQgb25cbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZV9yZW5kZXIzX3ByaXZhdGVfZXhwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvY29yZV9yZW5kZXIzX3ByaXZhdGVfZXhwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILG1CQUFtQjtBQUNuQiw0RkFBNEY7QUFDNUYsc0RBQXNEO0FBQ3RELEVBQUU7QUFDRiw0RUFBNEU7QUFDNUUsT0FBTyxFQUNMLHNCQUFzQixJQUFJLHVCQUF1QixFQUNqRCxlQUFlLElBQUksZ0JBQWdCLEVBQ3BDLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUNMLHVCQUF1QixJQUFJLHdCQUF3QixHQUNwRCxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sRUFDTCxZQUFZLElBQUksYUFBYSxHQUM5QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFDTCxVQUFVLElBQUksV0FBVyxFQUN6QixXQUFXLElBQUksWUFBWSxFQUMzQixZQUFZLElBQUksYUFBYSxHQUM5QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxjQUFjLElBQUksZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkUsT0FBTyxFQUNMLG9CQUFvQixJQUFJLHNCQUFzQixFQUM5QyxtQ0FBbUMsSUFBSSxvQ0FBb0MsR0FDNUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUt6QyxPQUFPLEVBQ0wsV0FBVyxJQUFJLFlBQVksRUFDNUIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQ0wsV0FBVyxJQUFJLFlBQVksRUFDM0IsVUFBVSxJQUFJLFdBQVcsRUFDekIsYUFBYSxJQUFJLGNBQWMsRUFDL0IsVUFBVSxJQUFJLFdBQVcsRUFDekIsV0FBVyxJQUFJLFlBQVksR0FDNUIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBR0wsZ0JBQWdCLElBQUksd0JBQXdC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QUksc0NBQXNDLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNySCxPQUFPLEVBQUMscUJBQXFCLElBQUksc0JBQXNCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8gY2xhbmctZm9ybWF0IG9mZlxuLy8gd2UgcmVleHBvcnQgdGhlc2Ugc3ltYm9scyBqdXN0IHNvIHRoYXQgdGhleSBhcmUgcmV0YWluZWQgZHVyaW5nIHRoZSBkZWFkIGNvZGUgZWxpbWluYXRpb25cbi8vIHBlcmZvcm1lZCBieSByb2xsdXAgd2hpbGUgaXQncyBjcmVhdGluZyBmZXNtIGZpbGVzLlxuLy9cbi8vIG5vIGNvZGUgYWN0dWFsbHkgaW1wb3J0cyB0aGVzZSBzeW1ib2xzIGZyb20gdGhlIEBhbmd1bGFyL2NvcmUgZW50cnkgcG9pbnRcbmV4cG9ydCB7XG4gIGNvbXBpbGVOZ01vZHVsZUZhY3RvcnkgYXMgybVjb21waWxlTmdNb2R1bGVGYWN0b3J5LFxuICBpc0JvdW5kVG9Nb2R1bGUgYXMgybVpc0JvdW5kVG9Nb2R1bGVcbn0gZnJvbSAnLi9hcHBsaWNhdGlvbl9yZWYnO1xuZXhwb3J0IHtcbiAgaW5qZWN0Q2hhbmdlRGV0ZWN0b3JSZWYgYXMgybVpbmplY3RDaGFuZ2VEZXRlY3RvclJlZixcbn0gZnJvbSAnLi9jaGFuZ2VfZGV0ZWN0aW9uL2NoYW5nZV9kZXRlY3Rvcl9yZWYnO1xuZXhwb3J0IHtcbiAgZ2V0RGVidWdOb2RlIGFzIMm1Z2V0RGVidWdOb2RlLFxufSBmcm9tICcuL2RlYnVnL2RlYnVnX25vZGUnO1xuZXhwb3J0IHtcbiAgTkdfSU5KX0RFRiBhcyDJtU5HX0lOSl9ERUYsXG4gIE5HX1BST1ZfREVGIGFzIMm1TkdfUFJPVl9ERUYsXG4gIGlzSW5qZWN0YWJsZSBhcyDJtWlzSW5qZWN0YWJsZSxcbn0gZnJvbSAnLi9kaS9pbnRlcmZhY2UvZGVmcyc7XG5leHBvcnQge2NyZWF0ZUluamVjdG9yIGFzIMm1Y3JlYXRlSW5qZWN0b3J9IGZyb20gJy4vZGkvY3JlYXRlX2luamVjdG9yJztcbmV4cG9ydCB7XG4gIHJlZ2lzdGVyTmdNb2R1bGVUeXBlIGFzIMm1ybVyZWdpc3Rlck5nTW9kdWxlVHlwZSxcbiAgc2V0QWxsb3dEdXBsaWNhdGVOZ01vZHVsZUlkc0ZvclRlc3QgYXMgybVzZXRBbGxvd0R1cGxpY2F0ZU5nTW9kdWxlSWRzRm9yVGVzdCxcbn0gZnJvbSAnLi9saW5rZXIvbmdfbW9kdWxlX3JlZ2lzdHJhdGlvbic7XG5leHBvcnQge1xuICBOZ01vZHVsZURlZiBhcyDJtU5nTW9kdWxlRGVmLFxuICBOZ01vZHVsZVRyYW5zaXRpdmVTY29wZXMgYXMgybVOZ01vZHVsZVRyYW5zaXRpdmVTY29wZXMsXG59IGZyb20gJy4vbWV0YWRhdGEvbmdfbW9kdWxlX2RlZic7XG5leHBvcnQge1xuICBnZXRMQ29udGV4dCBhcyDJtWdldExDb250ZXh0XG59IGZyb20gJy4vcmVuZGVyMy9jb250ZXh0X2Rpc2NvdmVyeSc7XG5leHBvcnQge1xuICBOR19DT01QX0RFRiBhcyDJtU5HX0NPTVBfREVGLFxuICBOR19ESVJfREVGIGFzIMm1TkdfRElSX0RFRixcbiAgTkdfRUxFTUVOVF9JRCBhcyDJtU5HX0VMRU1FTlRfSUQsXG4gIE5HX01PRF9ERUYgYXMgybVOR19NT0RfREVGLFxuICBOR19QSVBFX0RFRiBhcyDJtU5HX1BJUEVfREVGLFxufSBmcm9tICcuL3JlbmRlcjMvZmllbGRzJztcbmV4cG9ydCB7XG4gIEF0dHJpYnV0ZU1hcmtlciBhcyDJtUF0dHJpYnV0ZU1hcmtlcixcbiAgQ29tcG9uZW50RGVmIGFzIMm1Q29tcG9uZW50RGVmLFxuICBDb21wb25lbnRGYWN0b3J5IGFzIMm1UmVuZGVyM0NvbXBvbmVudEZhY3RvcnksXG4gIENvbXBvbmVudFJlZiBhcyDJtVJlbmRlcjNDb21wb25lbnRSZWYsXG4gIENvbXBvbmVudFR5cGUgYXMgybVDb21wb25lbnRUeXBlLFxuICBDc3NTZWxlY3Rvckxpc3QgYXMgybVDc3NTZWxlY3Rvckxpc3QsXG4gIGRldGVjdENoYW5nZXMgYXMgybVkZXRlY3RDaGFuZ2VzLFxuICBEaXJlY3RpdmVEZWYgYXMgybVEaXJlY3RpdmVEZWYsXG4gIERpcmVjdGl2ZVR5cGUgYXMgybVEaXJlY3RpdmVUeXBlLFxuICBnZXREaXJlY3RpdmVzIGFzIMm1Z2V0RGlyZWN0aXZlcyxcbiAgZ2V0SG9zdEVsZW1lbnQgYXMgybVnZXRIb3N0RWxlbWVudCxcbiAgTGlmZWN5Y2xlSG9va3NGZWF0dXJlIGFzIMm1TGlmZWN5Y2xlSG9va3NGZWF0dXJlLFxuICBOZ01vZHVsZUZhY3RvcnkgYXMgybVOZ01vZHVsZUZhY3RvcnksXG4gIE5nTW9kdWxlUmVmIGFzIMm1UmVuZGVyM05nTW9kdWxlUmVmLFxuICBOZ01vZHVsZVR5cGUgYXMgybVOZ01vZHVsZVR5cGUsXG4gIE5PX0NIQU5HRSBhcyDJtU5PX0NIQU5HRSxcbiAgUGlwZURlZiBhcyDJtVBpcGVEZWYsXG4gIFJlbmRlckZsYWdzIGFzIMm1UmVuZGVyRmxhZ3MsXG4gIHNldENsYXNzTWV0YWRhdGEgYXMgybVzZXRDbGFzc01ldGFkYXRhLFxuICBzZXRDbGFzc01ldGFkYXRhQXN5bmMgYXMgybVzZXRDbGFzc01ldGFkYXRhQXN5bmMsXG4gIHNldExvY2FsZUlkIGFzIMm1c2V0TG9jYWxlSWQsXG4gIHN0b3JlIGFzIMm1c3RvcmUsXG4gIMm1RGVmZXJCbG9ja0RlcGVuZGVuY3lJbnRlcmNlcHRvcixcbiAgybVERUZFUl9CTE9DS19ERVBFTkRFTkNZX0lOVEVSQ0VQVE9SLFxuICDJtcm1YWR2YW5jZSxcbiAgybXJtWF0dHJpYnV0ZSxcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlMSxcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlMixcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlMyxcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNCxcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNSxcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNixcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNyxcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlOCxcbiAgybXJtWF0dHJpYnV0ZUludGVycG9sYXRlVixcbiAgybXJtWNsYXNzTWFwLFxuICDJtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZTEsXG4gIMm1ybVjbGFzc01hcEludGVycG9sYXRlMixcbiAgybXJtWNsYXNzTWFwSW50ZXJwb2xhdGUzLFxuICDJtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZTQsXG4gIMm1ybVjbGFzc01hcEludGVycG9sYXRlNSxcbiAgybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU2LFxuICDJtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZTcsXG4gIMm1ybVjbGFzc01hcEludGVycG9sYXRlOCxcbiAgybXJtWNsYXNzTWFwSW50ZXJwb2xhdGVWLFxuICDJtcm1Y2xhc3NQcm9wLFxuICDJtcm1Q29tcG9uZW50RGVjbGFyYXRpb24sXG4gIMm1ybVjb25kaXRpb25hbCxcbiAgybXJtWNvbnRlbnRRdWVyeSxcbiAgybXJtWNvbXBvbmVudEluc3RhbmNlLFxuICDJtcm1Q29weURlZmluaXRpb25GZWF0dXJlLFxuICDJtcm1ZGVmaW5lQ29tcG9uZW50LFxuICDJtcm1ZGVmaW5lRGlyZWN0aXZlLFxuICDJtcm1ZGVmaW5lTmdNb2R1bGUsXG4gIMm1ybVkZWZpbmVQaXBlLFxuICDJtcm1RGlyZWN0aXZlRGVjbGFyYXRpb24sXG4gIMm1ybVkaXJlY3RpdmVJbmplY3QsXG4gIMm1ybVkaXNhYmxlQmluZGluZ3MsXG4gIMm1ybVlbGVtZW50LFxuICDJtcm1ZWxlbWVudENvbnRhaW5lcixcbiAgybXJtWVsZW1lbnRDb250YWluZXJFbmQsXG4gIMm1ybVlbGVtZW50Q29udGFpbmVyU3RhcnQsXG4gIMm1ybVlbGVtZW50RW5kLFxuICDJtcm1ZWxlbWVudFN0YXJ0LFxuICDJtcm1ZW5hYmxlQmluZGluZ3MsXG4gIMm1ybVGYWN0b3J5RGVjbGFyYXRpb24sXG4gIMm1ybVnZXRDdXJyZW50VmlldyxcbiAgybXJtWdldEluaGVyaXRlZEZhY3RvcnksXG4gIMm1ybVob3N0UHJvcGVydHksXG4gIMm1ybVpMThuLFxuICDJtcm1aTE4bkFwcGx5LFxuICDJtcm1aTE4bkF0dHJpYnV0ZXMsXG4gIMm1ybVpMThuRW5kLFxuICDJtcm1aTE4bkV4cCxcbiAgybXJtWkxOG5Qb3N0cHJvY2VzcyxcbiAgybXJtWkxOG5TdGFydCxcbiAgybXJtUluaGVyaXREZWZpbml0aW9uRmVhdHVyZSxcbiAgybXJtUlucHV0VHJhbnNmb3Jtc0ZlYXR1cmUsXG4gIMm1ybVpbmplY3RBdHRyaWJ1dGUsXG4gIMm1ybVJbmplY3RvckRlY2xhcmF0aW9uLFxuICDJtcm1aW52YWxpZEZhY3RvcnksXG4gIMm1ybVsaXN0ZW5lcixcbiAgybXJtWxvYWRRdWVyeSxcbiAgybXJtW5hbWVzcGFjZUhUTUwsXG4gIMm1ybVuYW1lc3BhY2VNYXRoTUwsXG4gIMm1ybVuYW1lc3BhY2VTVkcsXG4gIMm1ybVuZXh0Q29udGV4dCxcbiAgybXJtU5nTW9kdWxlRGVjbGFyYXRpb24sXG4gIMm1ybVOZ09uQ2hhbmdlc0ZlYXR1cmUsXG4gIMm1ybVwaXBlLFxuICDJtcm1cGlwZUJpbmQxLFxuICDJtcm1cGlwZUJpbmQyLFxuICDJtcm1cGlwZUJpbmQzLFxuICDJtcm1cGlwZUJpbmQ0LFxuICDJtcm1cGlwZUJpbmRWLFxuICDJtcm1UGlwZURlY2xhcmF0aW9uLFxuICDJtcm1cHJvamVjdGlvbixcbiAgybXJtXByb2plY3Rpb25EZWYsXG4gIMm1ybVwcm9wZXJ0eSxcbiAgybXJtXByb3BlcnR5SW50ZXJwb2xhdGUsXG4gIMm1ybVwcm9wZXJ0eUludGVycG9sYXRlMSxcbiAgybXJtXByb3BlcnR5SW50ZXJwb2xhdGUyLFxuICDJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTMsXG4gIMm1ybVwcm9wZXJ0eUludGVycG9sYXRlNCxcbiAgybXJtXByb3BlcnR5SW50ZXJwb2xhdGU1LFxuICDJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTYsXG4gIMm1ybVwcm9wZXJ0eUludGVycG9sYXRlNyxcbiAgybXJtXByb3BlcnR5SW50ZXJwb2xhdGU4LFxuICDJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZVYsXG4gIMm1ybVQcm92aWRlcnNGZWF0dXJlLFxuICDJtcm1SG9zdERpcmVjdGl2ZXNGZWF0dXJlLFxuICDJtcm1cHVyZUZ1bmN0aW9uMCxcbiAgybXJtXB1cmVGdW5jdGlvbjEsXG4gIMm1ybVwdXJlRnVuY3Rpb24yLFxuICDJtcm1cHVyZUZ1bmN0aW9uMyxcbiAgybXJtXB1cmVGdW5jdGlvbjQsXG4gIMm1ybVwdXJlRnVuY3Rpb241LFxuICDJtcm1cHVyZUZ1bmN0aW9uNixcbiAgybXJtXB1cmVGdW5jdGlvbjcsXG4gIMm1ybVwdXJlRnVuY3Rpb244LFxuICDJtcm1cHVyZUZ1bmN0aW9uVixcbiAgybXJtXF1ZXJ5UmVmcmVzaCxcbiAgybXJtXJlZmVyZW5jZSxcbiAgybXJtXJlc2V0VmlldyxcbiAgybXJtXJlc29sdmVCb2R5LFxuICDJtcm1cmVzb2x2ZURvY3VtZW50LFxuICDJtcm1cmVzb2x2ZVdpbmRvdyxcbiAgybXJtXJlc3RvcmVWaWV3LFxuXG4gIMm1ybVyZXBlYXRlcixcbiAgybXJtXJlcGVhdGVyQ3JlYXRlLFxuICDJtcm1cmVwZWF0ZXJUcmFja0J5SWRlbnRpdHksXG4gIMm1ybVyZXBlYXRlclRyYWNrQnlJbmRleCxcblxuICDJtcm1c2V0Q29tcG9uZW50U2NvcGUsXG4gIMm1ybVzZXROZ01vZHVsZVNjb3BlLFxuICDJtcm1Z2V0Q29tcG9uZW50RGVwc0ZhY3RvcnksXG4gIMm1ybVTdGFuZGFsb25lRmVhdHVyZSxcbiAgybXJtXN0eWxlTWFwLFxuICDJtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTEsXG4gIMm1ybVzdHlsZU1hcEludGVycG9sYXRlMixcbiAgybXJtXN0eWxlTWFwSW50ZXJwb2xhdGUzLFxuICDJtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTQsXG4gIMm1ybVzdHlsZU1hcEludGVycG9sYXRlNSxcbiAgybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU2LFxuICDJtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTcsXG4gIMm1ybVzdHlsZU1hcEludGVycG9sYXRlOCxcbiAgybXJtXN0eWxlTWFwSW50ZXJwb2xhdGVWLFxuICDJtcm1c3R5bGVQcm9wLFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGUxLFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGUyLFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGUzLFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU0LFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU1LFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU2LFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU3LFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU4LFxuICDJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGVWLFxuICDJtcm1c3ludGhldGljSG9zdExpc3RlbmVyLFxuICDJtcm1c3ludGhldGljSG9zdFByb3BlcnR5LFxuICDJtcm1dGVtcGxhdGUsXG4gIMm1ybV0ZW1wbGF0ZVJlZkV4dHJhY3RvcixcbiAgybXJtWRlZmVyLFxuICDJtcm1ZGVmZXJXaGVuLFxuICDJtcm1ZGVmZXJPbklkbGUsXG4gIMm1ybVkZWZlck9uSW1tZWRpYXRlLFxuICDJtcm1ZGVmZXJPblRpbWVyLFxuICDJtcm1ZGVmZXJPbkhvdmVyLFxuICDJtcm1ZGVmZXJPbkludGVyYWN0aW9uLFxuICDJtcm1ZGVmZXJPblZpZXdwb3J0LFxuICDJtcm1ZGVmZXJQcmVmZXRjaFdoZW4sXG4gIMm1ybVkZWZlclByZWZldGNoT25JZGxlLFxuICDJtcm1ZGVmZXJQcmVmZXRjaE9uSW1tZWRpYXRlLFxuICDJtcm1ZGVmZXJQcmVmZXRjaE9uVGltZXIsXG4gIMm1ybVkZWZlclByZWZldGNoT25Ib3ZlcixcbiAgybXJtWRlZmVyUHJlZmV0Y2hPbkludGVyYWN0aW9uLFxuICDJtcm1ZGVmZXJQcmVmZXRjaE9uVmlld3BvcnQsXG4gIMm1ybV0ZXh0LFxuICDJtcm1dGV4dEludGVycG9sYXRlLFxuICDJtcm1dGV4dEludGVycG9sYXRlMSxcbiAgybXJtXRleHRJbnRlcnBvbGF0ZTIsXG4gIMm1ybV0ZXh0SW50ZXJwb2xhdGUzLFxuICDJtcm1dGV4dEludGVycG9sYXRlNCxcbiAgybXJtXRleHRJbnRlcnBvbGF0ZTUsXG4gIMm1ybV0ZXh0SW50ZXJwb2xhdGU2LFxuICDJtcm1dGV4dEludGVycG9sYXRlNyxcbiAgybXJtXRleHRJbnRlcnBvbGF0ZTgsXG4gIMm1ybV0ZXh0SW50ZXJwb2xhdGVWLFxuICDJtcm1dmlld1F1ZXJ5LFxuICDJtWdldFVua25vd25FbGVtZW50U3RyaWN0TW9kZSxcbiAgybVzZXRVbmtub3duRWxlbWVudFN0cmljdE1vZGUsXG4gIMm1Z2V0VW5rbm93blByb3BlcnR5U3RyaWN0TW9kZSxcbiAgybVzZXRVbmtub3duUHJvcGVydHlTdHJpY3RNb2RlXG59IGZyb20gJy4vcmVuZGVyMy9pbmRleCc7XG5leHBvcnQge1xuICBMQ29udGV4dCBhcyDJtUxDb250ZXh0LFxufSBmcm9tICcuL3JlbmRlcjMvaW50ZXJmYWNlcy9jb250ZXh0JztcbmV4cG9ydCB7XG4gIHNldERvY3VtZW50IGFzIMm1c2V0RG9jdW1lbnRcbn0gZnJvbSAnLi9yZW5kZXIzL2ludGVyZmFjZXMvZG9jdW1lbnQnO1xuZXhwb3J0IHtcbiAgY29tcGlsZUNvbXBvbmVudCBhcyDJtWNvbXBpbGVDb21wb25lbnQsXG4gIGNvbXBpbGVEaXJlY3RpdmUgYXMgybVjb21waWxlRGlyZWN0aXZlLFxufSBmcm9tICcuL3JlbmRlcjMvaml0L2RpcmVjdGl2ZSc7XG5leHBvcnQge1xuICByZXNldEppdE9wdGlvbnMgYXMgybVyZXNldEppdE9wdGlvbnMsXG59IGZyb20gJy4vcmVuZGVyMy9qaXQvaml0X29wdGlvbnMnO1xuZXhwb3J0IHtcbiAgY29tcGlsZU5nTW9kdWxlIGFzIMm1Y29tcGlsZU5nTW9kdWxlLFxuICBjb21waWxlTmdNb2R1bGVEZWZzIGFzIMm1Y29tcGlsZU5nTW9kdWxlRGVmcyxcbiAgZmx1c2hNb2R1bGVTY29waW5nUXVldWVBc011Y2hBc1Bvc3NpYmxlIGFzIMm1Zmx1c2hNb2R1bGVTY29waW5nUXVldWVBc011Y2hBc1Bvc3NpYmxlLFxuICBwYXRjaENvbXBvbmVudERlZldpdGhTY29wZSBhcyDJtXBhdGNoQ29tcG9uZW50RGVmV2l0aFNjb3BlLFxuICByZXNldENvbXBpbGVkQ29tcG9uZW50cyBhcyDJtXJlc2V0Q29tcGlsZWRDb21wb25lbnRzLFxuICB0cmFuc2l0aXZlU2NvcGVzRm9yIGFzIMm1dHJhbnNpdGl2ZVNjb3Blc0Zvcixcbn0gZnJvbSAnLi9yZW5kZXIzL2ppdC9tb2R1bGUnO1xuZXhwb3J0IHtcbiAgRmFjdG9yeVRhcmdldCBhcyDJtcm1RmFjdG9yeVRhcmdldCxcbiAgybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGEsXG4gIMm1ybVuZ0RlY2xhcmVDb21wb25lbnQsXG4gIMm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUsXG4gIMm1ybVuZ0RlY2xhcmVGYWN0b3J5LFxuICDJtcm1bmdEZWNsYXJlSW5qZWN0YWJsZSxcbiAgybXJtW5nRGVjbGFyZUluamVjdG9yLFxuICDJtcm1bmdEZWNsYXJlTmdNb2R1bGUsXG4gIMm1ybVuZ0RlY2xhcmVQaXBlLFxufSBmcm9tICcuL3JlbmRlcjMvaml0L3BhcnRpYWwnO1xuZXhwb3J0IHtcbiAgY29tcGlsZVBpcGUgYXMgybVjb21waWxlUGlwZSxcbn0gZnJvbSAnLi9yZW5kZXIzL2ppdC9waXBlJztcbmV4cG9ydCB7XG4gIGlzTmdNb2R1bGUgYXMgybVpc05nTW9kdWxlXG59IGZyb20gJy4vcmVuZGVyMy9qaXQvdXRpbCc7XG5leHBvcnQgeyBQcm9maWxlciBhcyDJtVByb2ZpbGVyLCBQcm9maWxlckV2ZW50IGFzIMm1UHJvZmlsZXJFdmVudCB9IGZyb20gJy4vcmVuZGVyMy9wcm9maWxlcic7XG5leHBvcnQge1xuICBwdWJsaXNoRGVmYXVsdEdsb2JhbFV0aWxzIGFzIMm1cHVibGlzaERlZmF1bHRHbG9iYWxVdGlsc1xuLFxuICBwdWJsaXNoR2xvYmFsVXRpbCBhcyDJtXB1Ymxpc2hHbG9iYWxVdGlsfSBmcm9tICcuL3JlbmRlcjMvdXRpbC9nbG9iYWxfdXRpbHMnO1xuZXhwb3J0IHtWaWV3UmVmIGFzIMm1Vmlld1JlZn0gZnJvbSAnLi9yZW5kZXIzL3ZpZXdfcmVmJztcbmV4cG9ydCB7XG4gIGJ5cGFzc1Nhbml0aXphdGlvblRydXN0SHRtbCBhcyDJtWJ5cGFzc1Nhbml0aXphdGlvblRydXN0SHRtbCxcbiAgYnlwYXNzU2FuaXRpemF0aW9uVHJ1c3RSZXNvdXJjZVVybCBhcyDJtWJ5cGFzc1Nhbml0aXphdGlvblRydXN0UmVzb3VyY2VVcmwsXG4gIGJ5cGFzc1Nhbml0aXphdGlvblRydXN0U2NyaXB0IGFzIMm1YnlwYXNzU2FuaXRpemF0aW9uVHJ1c3RTY3JpcHQsXG4gIGJ5cGFzc1Nhbml0aXphdGlvblRydXN0U3R5bGUgYXMgybVieXBhc3NTYW5pdGl6YXRpb25UcnVzdFN0eWxlLFxuICBieXBhc3NTYW5pdGl6YXRpb25UcnVzdFVybCBhcyDJtWJ5cGFzc1Nhbml0aXphdGlvblRydXN0VXJsLFxufSBmcm9tICcuL3Nhbml0aXphdGlvbi9ieXBhc3MnO1xuZXhwb3J0IHtcbiAgybXJtXNhbml0aXplSHRtbCxcbiAgybXJtXNhbml0aXplUmVzb3VyY2VVcmwsXG4gIMm1ybVzYW5pdGl6ZVNjcmlwdCxcbiAgybXJtXNhbml0aXplU3R5bGUsXG4gIMm1ybVzYW5pdGl6ZVVybCxcbiAgybXJtXNhbml0aXplVXJsT3JSZXNvdXJjZVVybCxcbiAgybXJtXRydXN0Q29uc3RhbnRIdG1sLFxuICDJtcm1dHJ1c3RDb25zdGFudFJlc291cmNlVXJsLFxufSBmcm9tICcuL3Nhbml0aXphdGlvbi9zYW5pdGl6YXRpb24nO1xuZXhwb3J0IHtcbiAgybXJtXZhbGlkYXRlSWZyYW1lQXR0cmlidXRlLFxufSBmcm9tICcuL3Nhbml0aXphdGlvbi9pZnJhbWVfYXR0cnNfdmFsaWRhdGlvbic7XG5leHBvcnQge1xuICBub1NpZGVFZmZlY3RzIGFzIMm1bm9TaWRlRWZmZWN0cyxcbn0gZnJvbSAnLi91dGlsL2Nsb3N1cmUnO1xuZXhwb3J0IHsgQWZ0ZXJSZW5kZXJFdmVudE1hbmFnZXIgYXMgybVBZnRlclJlbmRlckV2ZW50TWFuYWdlciB9IGZyb20gJy4vcmVuZGVyMy9hZnRlcl9yZW5kZXJfaG9va3MnO1xuZXhwb3J0IHtkZXBzVHJhY2tlciBhcyDJtWRlcHNUcmFja2VyLCBVU0VfUlVOVElNRV9ERVBTX1RSQUNLRVJfRk9SX0pJVCBhcyDJtVVTRV9SVU5USU1FX0RFUFNfVFJBQ0tFUl9GT1JfSklUfSBmcm9tICcuL3JlbmRlcjMvZGVwc190cmFja2VyL2RlcHNfdHJhY2tlcic7XG5leHBvcnQge2dlbmVyYXRlU3RhbmRhbG9uZUluRGVjbGFyYXRpb25zRXJyb3IgYXMgybVnZW5lcmF0ZVN0YW5kYWxvbmVJbkRlY2xhcmF0aW9uc0Vycm9yfSBmcm9tICcuL3JlbmRlcjMvaml0L21vZHVsZSc7XG5leHBvcnQge2dldEFzeW5jQ2xhc3NNZXRhZGF0YSBhcyDJtWdldEFzeW5jQ2xhc3NNZXRhZGF0YX0gZnJvbSAnLi9yZW5kZXIzL21ldGFkYXRhJztcblxuLy8gY2xhbmctZm9ybWF0IG9uXG4iXX0=
@@ -17,11 +17,17 @@ import { ɵɵdefineInjectable } from './interface/defs';
17
17
  * `InjectionToken` is parameterized on `T` which is the type of object which will be returned by
18
18
  * the `Injector`. This provides an additional level of type safety.
19
19
  *
20
- * ```
21
- * interface MyInterface {...}
22
- * const myInterface = injector.get(new InjectionToken<MyInterface>('SomeToken'));
23
- * // myInterface is inferred to be MyInterface.
24
- * ```
20
+ * <div class="alert is-helpful">
21
+ *
22
+ * **Important Note**: Ensure that you use the same instance of the `InjectionToken` in both the
23
+ * provider and the injection call. Creating a new instance of `InjectionToken` in different places,
24
+ * even with the same description, will be treated as different tokens by Angular's DI system,
25
+ * leading to a `NullInjectorError`.
26
+ *
27
+ * </div>
28
+ *
29
+ * <code-example format="typescript" language="typescript" path="injection-token/src/main.ts"
30
+ * region="InjectionToken"></code-example>
25
31
  *
26
32
  * When creating an `InjectionToken`, you can optionally specify a factory function which returns
27
33
  * (possibly by creating) a default value of the parameterized type `T`. This sets up the
@@ -48,7 +54,6 @@ import { ɵɵdefineInjectable } from './interface/defs';
48
54
  *
49
55
  * {@example core/di/ts/injector_spec.ts region='ShakableInjectionToken'}
50
56
  *
51
- *
52
57
  * @publicApi
53
58
  */
54
59
  export class InjectionToken {
@@ -88,4 +93,4 @@ export class InjectionToken {
88
93
  return `InjectionToken ${this._desc}`;
89
94
  }
90
95
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uX3Rva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvZGkvaW5qZWN0aW9uX3Rva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUdILE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJDRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBTXpCOzs7OztPQUtHO0lBQ0gsWUFBc0IsS0FBYSxFQUFFLE9BRXBDO1FBRnFCLFVBQUssR0FBTCxLQUFLLENBQVE7UUFYbkMsZ0JBQWdCO1FBQ1AsbUJBQWMsR0FBRyxnQkFBZ0IsQ0FBQztRQWF6QyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN2QixJQUFJLE9BQU8sT0FBTyxJQUFJLFFBQVEsRUFBRTtZQUM5QixDQUFDLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUM7Z0JBQzNDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLDBDQUEwQyxDQUFDLENBQUM7WUFDM0UsdUVBQXVFO1lBQ3ZFLHdCQUF3QjtZQUN2QixJQUFZLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDO1NBQzNDO2FBQU0sSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUM7Z0JBQzlCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxJQUFJLE1BQU07Z0JBQ3hDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTzthQUN6QixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksS0FBSztRQUNQLE9BQU8sSUFBZ0MsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sa0JBQWtCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtUeXBlfSBmcm9tICcuLi9pbnRlcmZhY2UvdHlwZSc7XG5pbXBvcnQge2Fzc2VydExlc3NUaGFufSBmcm9tICcuLi91dGlsL2Fzc2VydCc7XG5cbmltcG9ydCB7ybXJtWRlZmluZUluamVjdGFibGV9IGZyb20gJy4vaW50ZXJmYWNlL2RlZnMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIGluIGEgREkgUHJvdmlkZXIuXG4gKlxuICogVXNlIGFuIGBJbmplY3Rpb25Ub2tlbmAgd2hlbmV2ZXIgdGhlIHR5cGUgeW91IGFyZSBpbmplY3RpbmcgaXMgbm90IHJlaWZpZWQgKGRvZXMgbm90IGhhdmUgYVxuICogcnVudGltZSByZXByZXNlbnRhdGlvbikgc3VjaCBhcyB3aGVuIGluamVjdGluZyBhbiBpbnRlcmZhY2UsIGNhbGxhYmxlIHR5cGUsIGFycmF5IG9yXG4gKiBwYXJhbWV0ZXJpemVkIHR5cGUuXG4gKlxuICogYEluamVjdGlvblRva2VuYCBpcyBwYXJhbWV0ZXJpemVkIG9uIGBUYCB3aGljaCBpcyB0aGUgdHlwZSBvZiBvYmplY3Qgd2hpY2ggd2lsbCBiZSByZXR1cm5lZCBieVxuICogdGhlIGBJbmplY3RvcmAuIFRoaXMgcHJvdmlkZXMgYW4gYWRkaXRpb25hbCBsZXZlbCBvZiB0eXBlIHNhZmV0eS5cbiAqXG4gKiBgYGBcbiAqIGludGVyZmFjZSBNeUludGVyZmFjZSB7Li4ufVxuICogY29uc3QgbXlJbnRlcmZhY2UgPSBpbmplY3Rvci5nZXQobmV3IEluamVjdGlvblRva2VuPE15SW50ZXJmYWNlPignU29tZVRva2VuJykpO1xuICogLy8gbXlJbnRlcmZhY2UgaXMgaW5mZXJyZWQgdG8gYmUgTXlJbnRlcmZhY2UuXG4gKiBgYGBcbiAqXG4gKiBXaGVuIGNyZWF0aW5nIGFuIGBJbmplY3Rpb25Ub2tlbmAsIHlvdSBjYW4gb3B0aW9uYWxseSBzcGVjaWZ5IGEgZmFjdG9yeSBmdW5jdGlvbiB3aGljaCByZXR1cm5zXG4gKiAocG9zc2libHkgYnkgY3JlYXRpbmcpIGEgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgcGFyYW1ldGVyaXplZCB0eXBlIGBUYC4gVGhpcyBzZXRzIHVwIHRoZVxuICogYEluamVjdGlvblRva2VuYCB1c2luZyB0aGlzIGZhY3RvcnkgYXMgYSBwcm92aWRlciBhcyBpZiBpdCB3YXMgZGVmaW5lZCBleHBsaWNpdGx5IGluIHRoZVxuICogYXBwbGljYXRpb24ncyByb290IGluamVjdG9yLiBJZiB0aGUgZmFjdG9yeSBmdW5jdGlvbiwgd2hpY2ggdGFrZXMgemVybyBhcmd1bWVudHMsIG5lZWRzIHRvIGluamVjdFxuICogZGVwZW5kZW5jaWVzLCBpdCBjYW4gZG8gc28gdXNpbmcgdGhlIFtgaW5qZWN0YF0oYXBpL2NvcmUvaW5qZWN0KSBmdW5jdGlvbi5cbiAqIEFzIHlvdSBjYW4gc2VlIGluIHRoZSBUcmVlLXNoYWthYmxlIEluamVjdGlvblRva2VuIGV4YW1wbGUgYmVsb3cuXG4gKlxuICogQWRkaXRpb25hbGx5LCBpZiBhIGBmYWN0b3J5YCBpcyBzcGVjaWZpZWQgeW91IGNhbiBhbHNvIHNwZWNpZnkgdGhlIGBwcm92aWRlZEluYCBvcHRpb24sIHdoaWNoXG4gKiBvdmVycmlkZXMgdGhlIGFib3ZlIGJlaGF2aW9yIGFuZCBtYXJrcyB0aGUgdG9rZW4gYXMgYmVsb25naW5nIHRvIGEgcGFydGljdWxhciBgQE5nTW9kdWxlYCAobm90ZTpcbiAqIHRoaXMgb3B0aW9uIGlzIG5vdyBkZXByZWNhdGVkKS4gQXMgbWVudGlvbmVkIGFib3ZlLCBgJ3Jvb3QnYCBpcyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3JcbiAqIGBwcm92aWRlZEluYC5cbiAqXG4gKiBUaGUgYHByb3ZpZGVkSW46IE5nTW9kdWxlYCBhbmQgYHByb3ZpZGVkSW46ICdhbnknYCBvcHRpb25zIGFyZSBkZXByZWNhdGVkLlxuICpcbiAqIEB1c2FnZU5vdGVzXG4gKiAjIyMgQmFzaWMgRXhhbXBsZXNcbiAqXG4gKiAjIyMgUGxhaW4gSW5qZWN0aW9uVG9rZW5cbiAqXG4gKiB7QGV4YW1wbGUgY29yZS9kaS90cy9pbmplY3Rvcl9zcGVjLnRzIHJlZ2lvbj0nSW5qZWN0aW9uVG9rZW4nfVxuICpcbiAqICMjIyBUcmVlLXNoYWthYmxlIEluamVjdGlvblRva2VuXG4gKlxuICoge0BleGFtcGxlIGNvcmUvZGkvdHMvaW5qZWN0b3Jfc3BlYy50cyByZWdpb249J1NoYWthYmxlSW5qZWN0aW9uVG9rZW4nfVxuICpcbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmplY3Rpb25Ub2tlbjxUPiB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcmVhZG9ubHkgbmdNZXRhZGF0YU5hbWUgPSAnSW5qZWN0aW9uVG9rZW4nO1xuXG4gIHJlYWRvbmx5IMm1cHJvdjogdW5rbm93bjtcblxuICAvKipcbiAgICogQHBhcmFtIF9kZXNjICAgRGVzY3JpcHRpb24gZm9yIHRoZSB0b2tlbixcbiAgICogICAgICAgICAgICAgICAgdXNlZCBvbmx5IGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMsXG4gICAqICAgICAgICAgICAgICAgIGl0IHNob3VsZCBidXQgZG9lcyBub3QgbmVlZCB0byBiZSB1bmlxdWVcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHRva2VuJ3MgdXNhZ2UsIGFzIGRlc2NyaWJlZCBhYm92ZVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9kZXNjOiBzdHJpbmcsIG9wdGlvbnM/OiB7XG4gICAgcHJvdmlkZWRJbj86IFR5cGU8YW55Pnwncm9vdCd8J3BsYXRmb3JtJ3wnYW55J3xudWxsLCBmYWN0b3J5OiAoKSA9PiBUXG4gIH0pIHtcbiAgICB0aGlzLsm1cHJvdiA9IHVuZGVmaW5lZDtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT0gJ251bWJlcicpIHtcbiAgICAgICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpICYmXG4gICAgICAgICAgYXNzZXJ0TGVzc1RoYW4ob3B0aW9ucywgMCwgJ09ubHkgbmVnYXRpdmUgbnVtYmVycyBhcmUgc3VwcG9ydGVkIGhlcmUnKTtcbiAgICAgIC8vIFRoaXMgaXMgYSBzcGVjaWFsIGhhY2sgdG8gYXNzaWduIF9fTkdfRUxFTUVOVF9JRF9fIHRvIHRoaXMgaW5zdGFuY2UuXG4gICAgICAvLyBTZWUgYEluamVjdG9yTWFya2Vyc2BcbiAgICAgICh0aGlzIGFzIGFueSkuX19OR19FTEVNRU5UX0lEX18gPSBvcHRpb25zO1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLsm1cHJvdiA9IMm1ybVkZWZpbmVJbmplY3RhYmxlKHtcbiAgICAgICAgdG9rZW46IHRoaXMsXG4gICAgICAgIHByb3ZpZGVkSW46IG9wdGlvbnMucHJvdmlkZWRJbiB8fCAncm9vdCcsXG4gICAgICAgIGZhY3Rvcnk6IG9wdGlvbnMuZmFjdG9yeSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCBtdWx0aSgpOiBJbmplY3Rpb25Ub2tlbjxBcnJheTxUPj4ge1xuICAgIHJldHVybiB0aGlzIGFzIEluamVjdGlvblRva2VuPEFycmF5PFQ+PjtcbiAgfVxuXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBJbmplY3Rpb25Ub2tlbiAke3RoaXMuX2Rlc2N9YDtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluamVjdGFibGVEZWZUb2tlbjxUPiBleHRlbmRzIEluamVjdGlvblRva2VuPFQ+IHtcbiAgybVwcm92OiB1bmtub3duO1xufVxuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uX3Rva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvZGkvaW5qZWN0aW9uX3Rva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUdILE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0RHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFNekI7Ozs7O09BS0c7SUFDSCxZQUFzQixLQUFhLEVBQUUsT0FFcEM7UUFGcUIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQVhuQyxnQkFBZ0I7UUFDUCxtQkFBYyxHQUFHLGdCQUFnQixDQUFDO1FBYXpDLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLElBQUksT0FBTyxPQUFPLElBQUksUUFBUSxFQUFFO1lBQzlCLENBQUMsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQztnQkFDM0MsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsMENBQTBDLENBQUMsQ0FBQztZQUMzRSx1RUFBdUU7WUFDdkUsd0JBQXdCO1lBQ3ZCLElBQVksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUM7U0FDM0M7YUFBTSxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxrQkFBa0IsQ0FBQztnQkFDOUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksTUFBTTtnQkFDeEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2FBQ3pCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFnQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxrQkFBa0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1R5cGV9IGZyb20gJy4uL2ludGVyZmFjZS90eXBlJztcbmltcG9ydCB7YXNzZXJ0TGVzc1RoYW59IGZyb20gJy4uL3V0aWwvYXNzZXJ0JztcblxuaW1wb3J0IHvJtcm1ZGVmaW5lSW5qZWN0YWJsZX0gZnJvbSAnLi9pbnRlcmZhY2UvZGVmcyc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgaW4gYSBESSBQcm92aWRlci5cbiAqXG4gKiBVc2UgYW4gYEluamVjdGlvblRva2VuYCB3aGVuZXZlciB0aGUgdHlwZSB5b3UgYXJlIGluamVjdGluZyBpcyBub3QgcmVpZmllZCAoZG9lcyBub3QgaGF2ZSBhXG4gKiBydW50aW1lIHJlcHJlc2VudGF0aW9uKSBzdWNoIGFzIHdoZW4gaW5qZWN0aW5nIGFuIGludGVyZmFjZSwgY2FsbGFibGUgdHlwZSwgYXJyYXkgb3JcbiAqIHBhcmFtZXRlcml6ZWQgdHlwZS5cbiAqXG4gKiBgSW5qZWN0aW9uVG9rZW5gIGlzIHBhcmFtZXRlcml6ZWQgb24gYFRgIHdoaWNoIGlzIHRoZSB0eXBlIG9mIG9iamVjdCB3aGljaCB3aWxsIGJlIHJldHVybmVkIGJ5XG4gKiB0aGUgYEluamVjdG9yYC4gVGhpcyBwcm92aWRlcyBhbiBhZGRpdGlvbmFsIGxldmVsIG9mIHR5cGUgc2FmZXR5LlxuICpcbiAqIDxkaXYgY2xhc3M9XCJhbGVydCBpcy1oZWxwZnVsXCI+XG4gKlxuICogKipJbXBvcnRhbnQgTm90ZSoqOiBFbnN1cmUgdGhhdCB5b3UgdXNlIHRoZSBzYW1lIGluc3RhbmNlIG9mIHRoZSBgSW5qZWN0aW9uVG9rZW5gIGluIGJvdGggdGhlXG4gKiBwcm92aWRlciBhbmQgdGhlIGluamVjdGlvbiBjYWxsLiBDcmVhdGluZyBhIG5ldyBpbnN0YW5jZSBvZiBgSW5qZWN0aW9uVG9rZW5gIGluIGRpZmZlcmVudCBwbGFjZXMsXG4gKiBldmVuIHdpdGggdGhlIHNhbWUgZGVzY3JpcHRpb24sIHdpbGwgYmUgdHJlYXRlZCBhcyBkaWZmZXJlbnQgdG9rZW5zIGJ5IEFuZ3VsYXIncyBESSBzeXN0ZW0sXG4gKiBsZWFkaW5nIHRvIGEgYE51bGxJbmplY3RvckVycm9yYC5cbiAqXG4gKiA8L2Rpdj5cbiAqXG4gKiA8Y29kZS1leGFtcGxlIGZvcm1hdD1cInR5cGVzY3JpcHRcIiBsYW5ndWFnZT1cInR5cGVzY3JpcHRcIiBwYXRoPVwiaW5qZWN0aW9uLXRva2VuL3NyYy9tYWluLnRzXCJcbiAqIHJlZ2lvbj1cIkluamVjdGlvblRva2VuXCI+PC9jb2RlLWV4YW1wbGU+XG4gKlxuICogV2hlbiBjcmVhdGluZyBhbiBgSW5qZWN0aW9uVG9rZW5gLCB5b3UgY2FuIG9wdGlvbmFsbHkgc3BlY2lmeSBhIGZhY3RvcnkgZnVuY3Rpb24gd2hpY2ggcmV0dXJuc1xuICogKHBvc3NpYmx5IGJ5IGNyZWF0aW5nKSBhIGRlZmF1bHQgdmFsdWUgb2YgdGhlIHBhcmFtZXRlcml6ZWQgdHlwZSBgVGAuIFRoaXMgc2V0cyB1cCB0aGVcbiAqIGBJbmplY3Rpb25Ub2tlbmAgdXNpbmcgdGhpcyBmYWN0b3J5IGFzIGEgcHJvdmlkZXIgYXMgaWYgaXQgd2FzIGRlZmluZWQgZXhwbGljaXRseSBpbiB0aGVcbiAqIGFwcGxpY2F0aW9uJ3Mgcm9vdCBpbmplY3Rvci4gSWYgdGhlIGZhY3RvcnkgZnVuY3Rpb24sIHdoaWNoIHRha2VzIHplcm8gYXJndW1lbnRzLCBuZWVkcyB0byBpbmplY3RcbiAqIGRlcGVuZGVuY2llcywgaXQgY2FuIGRvIHNvIHVzaW5nIHRoZSBbYGluamVjdGBdKGFwaS9jb3JlL2luamVjdCkgZnVuY3Rpb24uXG4gKiBBcyB5b3UgY2FuIHNlZSBpbiB0aGUgVHJlZS1zaGFrYWJsZSBJbmplY3Rpb25Ub2tlbiBleGFtcGxlIGJlbG93LlxuICpcbiAqIEFkZGl0aW9uYWxseSwgaWYgYSBgZmFjdG9yeWAgaXMgc3BlY2lmaWVkIHlvdSBjYW4gYWxzbyBzcGVjaWZ5IHRoZSBgcHJvdmlkZWRJbmAgb3B0aW9uLCB3aGljaFxuICogb3ZlcnJpZGVzIHRoZSBhYm92ZSBiZWhhdmlvciBhbmQgbWFya3MgdGhlIHRva2VuIGFzIGJlbG9uZ2luZyB0byBhIHBhcnRpY3VsYXIgYEBOZ01vZHVsZWAgKG5vdGU6XG4gKiB0aGlzIG9wdGlvbiBpcyBub3cgZGVwcmVjYXRlZCkuIEFzIG1lbnRpb25lZCBhYm92ZSwgYCdyb290J2AgaXMgdGhlIGRlZmF1bHQgdmFsdWUgZm9yXG4gKiBgcHJvdmlkZWRJbmAuXG4gKlxuICogVGhlIGBwcm92aWRlZEluOiBOZ01vZHVsZWAgYW5kIGBwcm92aWRlZEluOiAnYW55J2Agb3B0aW9ucyBhcmUgZGVwcmVjYXRlZC5cbiAqXG4gKiBAdXNhZ2VOb3Rlc1xuICogIyMjIEJhc2ljIEV4YW1wbGVzXG4gKlxuICogIyMjIFBsYWluIEluamVjdGlvblRva2VuXG4gKlxuICoge0BleGFtcGxlIGNvcmUvZGkvdHMvaW5qZWN0b3Jfc3BlYy50cyByZWdpb249J0luamVjdGlvblRva2VuJ31cbiAqXG4gKiAjIyMgVHJlZS1zaGFrYWJsZSBJbmplY3Rpb25Ub2tlblxuICpcbiAqIHtAZXhhbXBsZSBjb3JlL2RpL3RzL2luamVjdG9yX3NwZWMudHMgcmVnaW9uPSdTaGFrYWJsZUluamVjdGlvblRva2VuJ31cbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmplY3Rpb25Ub2tlbjxUPiB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcmVhZG9ubHkgbmdNZXRhZGF0YU5hbWUgPSAnSW5qZWN0aW9uVG9rZW4nO1xuXG4gIHJlYWRvbmx5IMm1cHJvdjogdW5rbm93bjtcblxuICAvKipcbiAgICogQHBhcmFtIF9kZXNjICAgRGVzY3JpcHRpb24gZm9yIHRoZSB0b2tlbixcbiAgICogICAgICAgICAgICAgICAgdXNlZCBvbmx5IGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMsXG4gICAqICAgICAgICAgICAgICAgIGl0IHNob3VsZCBidXQgZG9lcyBub3QgbmVlZCB0byBiZSB1bmlxdWVcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHRva2VuJ3MgdXNhZ2UsIGFzIGRlc2NyaWJlZCBhYm92ZVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9kZXNjOiBzdHJpbmcsIG9wdGlvbnM/OiB7XG4gICAgcHJvdmlkZWRJbj86IFR5cGU8YW55Pnwncm9vdCd8J3BsYXRmb3JtJ3wnYW55J3xudWxsLCBmYWN0b3J5OiAoKSA9PiBUXG4gIH0pIHtcbiAgICB0aGlzLsm1cHJvdiA9IHVuZGVmaW5lZDtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT0gJ251bWJlcicpIHtcbiAgICAgICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpICYmXG4gICAgICAgICAgYXNzZXJ0TGVzc1RoYW4ob3B0aW9ucywgMCwgJ09ubHkgbmVnYXRpdmUgbnVtYmVycyBhcmUgc3VwcG9ydGVkIGhlcmUnKTtcbiAgICAgIC8vIFRoaXMgaXMgYSBzcGVjaWFsIGhhY2sgdG8gYXNzaWduIF9fTkdfRUxFTUVOVF9JRF9fIHRvIHRoaXMgaW5zdGFuY2UuXG4gICAgICAvLyBTZWUgYEluamVjdG9yTWFya2Vyc2BcbiAgICAgICh0aGlzIGFzIGFueSkuX19OR19FTEVNRU5UX0lEX18gPSBvcHRpb25zO1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLsm1cHJvdiA9IMm1ybVkZWZpbmVJbmplY3RhYmxlKHtcbiAgICAgICAgdG9rZW46IHRoaXMsXG4gICAgICAgIHByb3ZpZGVkSW46IG9wdGlvbnMucHJvdmlkZWRJbiB8fCAncm9vdCcsXG4gICAgICAgIGZhY3Rvcnk6IG9wdGlvbnMuZmFjdG9yeSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCBtdWx0aSgpOiBJbmplY3Rpb25Ub2tlbjxBcnJheTxUPj4ge1xuICAgIHJldHVybiB0aGlzIGFzIEluamVjdGlvblRva2VuPEFycmF5PFQ+PjtcbiAgfVxuXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBJbmplY3Rpb25Ub2tlbiAke3RoaXMuX2Rlc2N9YDtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluamVjdGFibGVEZWZUb2tlbjxUPiBleHRlbmRzIEluamVjdGlvblRva2VuPFQ+IHtcbiAgybVwcm92OiB1bmtub3duO1xufVxuIl19