@angular/compiler-cli 10.1.0-rc.0 → 10.1.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 (84) hide show
  1. package/ngcc/src/execution/create_compile_function.js +6 -3
  2. package/ngcc/src/host/esm2015_host.d.ts +18 -0
  3. package/ngcc/src/host/esm2015_host.js +53 -31
  4. package/ngcc/src/main.js +9 -12
  5. package/ngcc/src/ngcc_options.d.ts +8 -7
  6. package/ngcc/src/ngcc_options.js +27 -3
  7. package/ngcc/src/packages/build_marker.d.ts +1 -1
  8. package/ngcc/src/packages/build_marker.js +1 -1
  9. package/ngcc/src/packages/entry_point_bundle.d.ts +12 -1
  10. package/ngcc/src/packages/entry_point_bundle.js +9 -6
  11. package/ngcc/src/packages/ngcc_compiler_host.d.ts +16 -1
  12. package/ngcc/src/packages/ngcc_compiler_host.js +35 -5
  13. package/ngcc/src/packages/source_file_cache.d.ts +97 -0
  14. package/ngcc/src/packages/source_file_cache.js +207 -0
  15. package/ngcc/src/rendering/renderer.js +9 -10
  16. package/package.json +2 -2
  17. package/src/ngtsc/annotations/src/component.d.ts +4 -1
  18. package/src/ngtsc/annotations/src/component.js +94 -122
  19. package/src/ngtsc/annotations/src/directive.d.ts +5 -1
  20. package/src/ngtsc/annotations/src/directive.js +21 -11
  21. package/src/ngtsc/annotations/src/typecheck_scopes.d.ts +56 -0
  22. package/src/ngtsc/annotations/src/typecheck_scopes.js +109 -0
  23. package/src/ngtsc/annotations/src/util.js +4 -2
  24. package/src/ngtsc/core/src/compiler.js +4 -3
  25. package/src/ngtsc/diagnostics/src/error_code.d.ts +4 -0
  26. package/src/ngtsc/diagnostics/src/error_code.js +5 -1
  27. package/src/ngtsc/file_system/src/invalid_file_system.d.ts +2 -2
  28. package/src/ngtsc/file_system/src/invalid_file_system.js +1 -1
  29. package/src/ngtsc/file_system/src/node_js_file_system.d.ts +2 -2
  30. package/src/ngtsc/file_system/src/node_js_file_system.js +1 -1
  31. package/src/ngtsc/file_system/src/types.d.ts +2 -2
  32. package/src/ngtsc/file_system/src/types.js +1 -1
  33. package/src/ngtsc/file_system/testing/src/mock_file_system.d.ts +3 -3
  34. package/src/ngtsc/file_system/testing/src/mock_file_system.js +2 -2
  35. package/src/ngtsc/indexer/src/template.js +10 -24
  36. package/src/ngtsc/metadata/index.d.ts +2 -0
  37. package/src/ngtsc/metadata/index.js +7 -3
  38. package/src/ngtsc/metadata/src/api.d.ts +13 -4
  39. package/src/ngtsc/metadata/src/api.js +1 -1
  40. package/src/ngtsc/metadata/src/dts.js +7 -4
  41. package/src/ngtsc/metadata/src/inheritance.d.ts +1 -1
  42. package/src/ngtsc/metadata/src/inheritance.js +10 -6
  43. package/src/ngtsc/metadata/src/property_mapping.d.ts +117 -0
  44. package/src/ngtsc/metadata/src/property_mapping.js +244 -0
  45. package/src/ngtsc/metadata/src/util.d.ts +2 -3
  46. package/src/ngtsc/metadata/src/util.js +9 -9
  47. package/src/ngtsc/modulewithproviders/src/scanner.js +2 -2
  48. package/src/ngtsc/reflection/src/host.d.ts +1 -1
  49. package/src/ngtsc/reflection/src/host.js +1 -1
  50. package/src/ngtsc/reflection/src/type_to_value.js +6 -2
  51. package/src/ngtsc/scope/src/local.d.ts +1 -0
  52. package/src/ngtsc/scope/src/local.js +2 -1
  53. package/src/ngtsc/translator/index.d.ts +1 -1
  54. package/src/ngtsc/translator/index.js +3 -2
  55. package/src/ngtsc/translator/src/translator.d.ts +8 -1
  56. package/src/ngtsc/translator/src/translator.js +185 -111
  57. package/src/ngtsc/typecheck/api/api.d.ts +3 -1
  58. package/src/ngtsc/typecheck/api/api.js +1 -1
  59. package/src/ngtsc/typecheck/diagnostics/index.d.ts +10 -0
  60. package/src/ngtsc/typecheck/diagnostics/index.js +23 -0
  61. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.d.ts +33 -0
  62. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.js +114 -0
  63. package/src/ngtsc/typecheck/diagnostics/src/id.d.ts +11 -0
  64. package/src/ngtsc/typecheck/diagnostics/src/id.js +37 -0
  65. package/src/ngtsc/typecheck/index.d.ts +0 -1
  66. package/src/ngtsc/typecheck/index.js +3 -5
  67. package/src/ngtsc/typecheck/src/checker.js +1 -1
  68. package/src/ngtsc/typecheck/src/context.d.ts +1 -1
  69. package/src/ngtsc/typecheck/src/context.js +3 -3
  70. package/src/ngtsc/typecheck/src/diagnostics.d.ts +1 -22
  71. package/src/ngtsc/typecheck/src/diagnostics.js +5 -96
  72. package/src/ngtsc/typecheck/src/dom.d.ts +2 -1
  73. package/src/ngtsc/typecheck/src/dom.js +3 -3
  74. package/src/ngtsc/typecheck/src/environment.js +4 -4
  75. package/src/ngtsc/typecheck/src/oob.d.ts +2 -1
  76. package/src/ngtsc/typecheck/src/oob.js +3 -3
  77. package/src/ngtsc/typecheck/src/source.js +5 -18
  78. package/src/ngtsc/typecheck/src/type_check_block.js +49 -95
  79. package/src/transformers/node_emitter.d.ts +2 -8
  80. package/src/transformers/node_emitter.js +54 -68
  81. package/src/transformers/node_emitter_transform.js +8 -8
  82. package/src/transformers/util.d.ts +6 -0
  83. package/src/transformers/util.js +11 -2
  84. package/src/version.js +1 -1
@@ -10,7 +10,7 @@ import { BoundTarget, DirectiveMeta, SchemaMetadata } from '@angular/compiler';
10
10
  import * as ts from 'typescript';
11
11
  import { AbsoluteFsPath } from '../../file_system';
12
12
  import { Reference } from '../../imports';
13
- import { DirectiveTypeCheckMeta } from '../../metadata';
13
+ import { ClassPropertyMapping, DirectiveTypeCheckMeta } from '../../metadata';
14
14
  import { ClassDeclaration } from '../../reflection';
15
15
  /**
16
16
  * Extension of `DirectiveMeta` that includes additional information required to type-check the
@@ -19,6 +19,8 @@ import { ClassDeclaration } from '../../reflection';
19
19
  export interface TypeCheckableDirectiveMeta extends DirectiveMeta, DirectiveTypeCheckMeta {
20
20
  ref: Reference<ClassDeclaration>;
21
21
  queries: string[];
22
+ inputs: ClassPropertyMapping;
23
+ outputs: ClassPropertyMapping;
22
24
  }
23
25
  export declare type TemplateId = string & {
24
26
  __brand: 'TemplateId';
@@ -32,4 +32,4 @@
32
32
  UpdateMode[UpdateMode["Incremental"] = 1] = "Incremental";
33
33
  })(UpdateMode = exports.UpdateMode || (exports.UpdateMode = {}));
34
34
  });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ3RzYy90eXBlY2hlY2svYXBpL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFtVUgsSUFBWSxVQWFYO0lBYkQsV0FBWSxVQUFVO1FBQ3BCOzs7O1dBSUc7UUFDSCxtREFBUSxDQUFBO1FBRVI7OztXQUdHO1FBQ0gseURBQVcsQ0FBQTtJQUNiLENBQUMsRUFiVyxVQUFVLEdBQVYsa0JBQVUsS0FBVixrQkFBVSxRQWFyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0JvdW5kVGFyZ2V0LCBEaXJlY3RpdmVNZXRhLCBTY2hlbWFNZXRhZGF0YX0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXInO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7QWJzb2x1dGVGc1BhdGh9IGZyb20gJy4uLy4uL2ZpbGVfc3lzdGVtJztcbmltcG9ydCB7UmVmZXJlbmNlfSBmcm9tICcuLi8uLi9pbXBvcnRzJztcbmltcG9ydCB7RGlyZWN0aXZlVHlwZUNoZWNrTWV0YX0gZnJvbSAnLi4vLi4vbWV0YWRhdGEnO1xuaW1wb3J0IHtDbGFzc0RlY2xhcmF0aW9ufSBmcm9tICcuLi8uLi9yZWZsZWN0aW9uJztcblxuXG4vKipcbiAqIEV4dGVuc2lvbiBvZiBgRGlyZWN0aXZlTWV0YWAgdGhhdCBpbmNsdWRlcyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIHR5cGUtY2hlY2sgdGhlXG4gKiB1c2FnZSBvZiBhIHBhcnRpY3VsYXIgZGlyZWN0aXZlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVDaGVja2FibGVEaXJlY3RpdmVNZXRhIGV4dGVuZHMgRGlyZWN0aXZlTWV0YSwgRGlyZWN0aXZlVHlwZUNoZWNrTWV0YSB7XG4gIHJlZjogUmVmZXJlbmNlPENsYXNzRGVjbGFyYXRpb24+O1xuICBxdWVyaWVzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IHR5cGUgVGVtcGxhdGVJZCA9IHN0cmluZyZ7X19icmFuZDogJ1RlbXBsYXRlSWQnfTtcblxuLyoqXG4gKiBNZXRhZGF0YSByZXF1aXJlZCBpbiBhZGRpdGlvbiB0byBhIGNvbXBvbmVudCBjbGFzcyBpbiBvcmRlciB0byBnZW5lcmF0ZSBhIHR5cGUgY2hlY2sgYmxvY2sgKFRDQilcbiAqIGZvciB0aGF0IGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlQ2hlY2tCbG9ja01ldGFkYXRhIHtcbiAgLyoqXG4gICAqIEEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjbGFzcyB3aGljaCBnYXZlIHJpc2UgdG8gdGhpcyBUQ0IuXG4gICAqXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gbWFwIGVycm9ycyBiYWNrIHRvIHRoZSBgdHMuQ2xhc3NEZWNsYXJhdGlvbmAgZm9yIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBpZDogVGVtcGxhdGVJZDtcblxuICAvKipcbiAgICogU2VtYW50aWMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRlbXBsYXRlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBib3VuZFRhcmdldDogQm91bmRUYXJnZXQ8VHlwZUNoZWNrYWJsZURpcmVjdGl2ZU1ldGE+O1xuXG4gIC8qXG4gICAqIFBpcGVzIHVzZWQgaW4gdGhlIHRlbXBsYXRlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwaXBlczogTWFwPHN0cmluZywgUmVmZXJlbmNlPENsYXNzRGVjbGFyYXRpb248dHMuQ2xhc3NEZWNsYXJhdGlvbj4+PjtcblxuICAvKipcbiAgICogU2NoZW1hcyB0aGF0IGFwcGx5IHRvIHRoaXMgdGVtcGxhdGUuXG4gICAqL1xuICBzY2hlbWFzOiBTY2hlbWFNZXRhZGF0YVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVDdG9yTWV0YWRhdGEge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlcXVlc3RlZCB0eXBlIGNvbnN0cnVjdG9yIGZ1bmN0aW9uLlxuICAgKi9cbiAgZm5OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZ2VuZXJhdGUgYSBib2R5IGZvciB0aGUgZnVuY3Rpb24gb3Igbm90LlxuICAgKi9cbiAgYm9keTogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5wdXQsIG91dHB1dCwgYW5kIHF1ZXJ5IGZpZWxkIG5hbWVzIGluIHRoZSB0eXBlIHdoaWNoIHNob3VsZCBiZSBpbmNsdWRlZCBhcyBjb25zdHJ1Y3RvciBpbnB1dC5cbiAgICovXG4gIGZpZWxkczoge2lucHV0czogc3RyaW5nW107IG91dHB1dHM6IHN0cmluZ1tdOyBxdWVyaWVzOiBzdHJpbmdbXTt9O1xuXG4gIC8qKlxuICAgKiBgU2V0YCBvZiBmaWVsZCBuYW1lcyB3aGljaCBoYXZlIHR5cGUgY29lcmNpb24gZW5hYmxlZC5cbiAgICovXG4gIGNvZXJjZWRJbnB1dEZpZWxkczogU2V0PHN0cmluZz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZUNoZWNraW5nQ29uZmlnIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY2hlY2sgdGhlIGxlZnQtaGFuZCBzaWRlIHR5cGUgb2YgYmluZGluZyBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSwgaWYgdGhpcyBpcyBgZmFsc2VgIHRoZW4gdGhlIGV4cHJlc3Npb24gYFtpbnB1dF09XCJleHByXCJgIHdpbGwgaGF2ZSBgZXhwcmAgdHlwZS1cbiAgICogY2hlY2tlZCwgYnV0IG5vdCB0aGUgYXNzaWdubWVudCBvZiB0aGUgcmVzdWx0aW5nIHR5cGUgdG8gdGhlIGBpbnB1dGAgcHJvcGVydHkgb2Ygd2hpY2hldmVyXG4gICAqIGRpcmVjdGl2ZSBvciBjb21wb25lbnQgaXMgcmVjZWl2aW5nIHRoZSBiaW5kaW5nLiBJZiBzZXQgdG8gYHRydWVgLCBib3RoIHNpZGVzIG9mIHRoZSBhc3NpZ25tZW50XG4gICAqIGFyZSBjaGVja2VkLlxuICAgKlxuICAgKiBUaGlzIGZsYWcgb25seSBhZmZlY3RzIGJpbmRpbmdzIHRvIGNvbXBvbmVudHMvZGlyZWN0aXZlcy4gQmluZGluZ3MgdG8gdGhlIERPTSBhcmUgY2hlY2tlZCBpZlxuICAgKiBgY2hlY2tUeXBlT2ZEb21CaW5kaW5nc2AgaXMgc2V0LlxuICAgKi9cbiAgY2hlY2tUeXBlT2ZJbnB1dEJpbmRpbmdzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGhvbm9yIHRoZSBhY2Nlc3MgbW9kaWZpZXJzIG9uIGlucHV0IGJpbmRpbmdzIGZvciB0aGUgY29tcG9uZW50L2RpcmVjdGl2ZS5cbiAgICpcbiAgICogSWYgYSB0ZW1wbGF0ZSBiaW5kaW5nIGF0dGVtcHRzIHRvIGFzc2lnbiB0byBhbiBpbnB1dCB0aGF0IGlzIHByaXZhdGUvcHJvdGVjdGVkL3JlYWRvbmx5LFxuICAgKiB0aGlzIHdpbGwgcHJvZHVjZSBlcnJvcnMgd2hlbiBlbmFibGVkIGJ1dCB3aWxsIG5vdCB3aGVuIGRpc2FibGVkLlxuICAgKi9cbiAgaG9ub3JBY2Nlc3NNb2RpZmllcnNGb3JJbnB1dEJpbmRpbmdzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVzZSBzdHJpY3QgbnVsbCB0eXBlcyBmb3IgaW5wdXQgYmluZGluZ3MgZm9yIGRpcmVjdGl2ZXMuXG4gICAqXG4gICAqIElmIHRoaXMgaXMgYHRydWVgLCBhcHBsaWNhdGlvbnMgdGhhdCBhcmUgY29tcGlsZWQgd2l0aCBUeXBlU2NyaXB0J3MgYHN0cmljdE51bGxDaGVja3NgIGVuYWJsZWRcbiAgICogd2lsbCBwcm9kdWNlIHR5cGUgZXJyb3JzIGZvciBiaW5kaW5ncyB3aGljaCBjYW4gZXZhbHVhdGUgdG8gYHVuZGVmaW5lZGAgb3IgYG51bGxgIHdoZXJlIHRoZVxuICAgKiBpbnB1dHMncyB0eXBlIGRvZXMgbm90IGluY2x1ZGUgYHVuZGVmaW5lZGAgb3IgYG51bGxgIGluIGl0cyB0eXBlLiBJZiBzZXQgdG8gYGZhbHNlYCwgYWxsXG4gICAqIGJpbmRpbmcgZXhwcmVzc2lvbnMgYXJlIHdyYXBwZWQgaW4gYSBub24tbnVsbCBhc3NlcnRpb24gb3BlcmF0b3IgdG8gZWZmZWN0aXZlbHkgZGlzYWJsZSBzdHJpY3RcbiAgICogbnVsbCBjaGVja3MuIFRoaXMgbWF5IGJlIHBhcnRpY3VsYXJseSB1c2VmdWwgd2hlbiB0aGUgZGlyZWN0aXZlIGlzIGZyb20gYSBsaWJyYXJ5IHRoYXQgaXMgbm90XG4gICAqIGNvbXBpbGVkIHdpdGggYHN0cmljdE51bGxDaGVja3NgIGVuYWJsZWQuXG4gICAqXG4gICAqIElmIGBjaGVja1R5cGVPZklucHV0QmluZGluZ3NgIGlzIHNldCB0byBgZmFsc2VgLCB0aGlzIGZsYWcgaGFzIG5vIGVmZmVjdC5cbiAgICovXG4gIHN0cmljdE51bGxJbnB1dEJpbmRpbmdzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNoZWNrIHRleHQgYXR0cmlidXRlcyB0aGF0IGhhcHBlbiB0byBiZSBjb25zdW1lZCBieSBhIGRpcmVjdGl2ZSBvciBjb21wb25lbnQuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBpbiBhIHRlbXBsYXRlIGNvbnRhaW5pbmcgYDxpbnB1dCBtYXRJbnB1dCBkaXNhYmxlZD5gIHRoZSBgZGlzYWJsZWRgIGF0dHJpYnV0ZSBlbmRzXG4gICAqIHVwIGJlaW5nIGNvbnN1bWVkIGFzIGFuIGlucHV0IHdpdGggdHlwZSBgYm9vbGVhbmAgYnkgdGhlIGBtYXRJbnB1dGAgZGlyZWN0aXZlLiBBdCBydW50aW1lLCB0aGVcbiAgICogaW5wdXQgd2lsbCBiZSBzZXQgdG8gdGhlIGF0dHJpYnV0ZSdzIHN0cmluZyB2YWx1ZSwgd2hpY2ggaXMgYW4gZW1wdHkgc3RyaW5nIGZvciBhdHRyaWJ1dGVzXG4gICAqIHdpdGhvdXQgYSB2YWx1ZSwgc28gd2l0aCB0aGlzIGZsYWcgc2V0IHRvIGB0cnVlYCwgYW4gZXJyb3Igd291bGQgYmUgcmVwb3J0ZWQuIElmIHNldCB0b1xuICAgKiBgZmFsc2VgLCB0ZXh0IGF0dHJpYnV0ZXMgd2lsbCBuZXZlciByZXBvcnQgYW4gZXJyb3IuXG4gICAqXG4gICAqIE5vdGUgdGhhdCBpZiBgY2hlY2tUeXBlT2ZJbnB1dEJpbmRpbmdzYCBpcyBzZXQgdG8gYGZhbHNlYCwgdGhpcyBmbGFnIGhhcyBubyBlZmZlY3QuXG4gICAqL1xuICBjaGVja1R5cGVPZkF0dHJpYnV0ZXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY2hlY2sgdGhlIGxlZnQtaGFuZCBzaWRlIHR5cGUgb2YgYmluZGluZyBvcGVyYXRpb25zIHRvIERPTSBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBBcyBgY2hlY2tUeXBlT2ZCaW5kaW5nc2AsIGJ1dCBvbmx5IGFwcGxpZXMgdG8gYmluZGluZ3MgdG8gRE9NIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIFRoaXMgZG9lcyBub3QgYWZmZWN0IHRoZSB1c2Ugb2YgdGhlIGBEb21TY2hlbWFDaGVja2VyYCB0byB2YWxpZGF0ZSB0aGUgdGVtcGxhdGUgYWdhaW5zdCB0aGUgRE9NXG4gICAqIHNjaGVtYS4gUmF0aGVyLCB0aGlzIGZsYWcgaXMgYW4gZXhwZXJpbWVudGFsLCBub3QgeWV0IGNvbXBsZXRlIGZlYXR1cmUgd2hpY2ggdXNlcyB0aGVcbiAgICogbGliLmRvbS5kLnRzIERPTSB0eXBpbmdzIGluIFR5cGVTY3JpcHQgdG8gdmFsaWRhdGUgdGhhdCBET00gYmluZGluZ3MgYXJlIG9mIHRoZSBjb3JyZWN0IHR5cGVcbiAgICogZm9yIGFzc2lnbmFiaWxpdHkgdG8gdGhlIHVuZGVybHlpbmcgRE9NIGVsZW1lbnQgcHJvcGVydGllcy5cbiAgICovXG4gIGNoZWNrVHlwZU9mRG9tQmluZGluZ3M6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaW5mZXIgdGhlIHR5cGUgb2YgdGhlIGAkZXZlbnRgIHZhcmlhYmxlIGluIGV2ZW50IGJpbmRpbmdzIGZvciBkaXJlY3RpdmUgb3V0cHV0cyBvclxuICAgKiBhbmltYXRpb24gZXZlbnRzLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIGB0cnVlYCwgdGhlIHR5cGUgb2YgYCRldmVudGAgd2lsbCBiZSBpbmZlcnJlZCBiYXNlZCBvbiB0aGUgZ2VuZXJpYyB0eXBlIG9mXG4gICAqIGBFdmVudEVtaXR0ZXJgL2BTdWJqZWN0YCBvZiB0aGUgb3V0cHV0LiBJZiBzZXQgdG8gYGZhbHNlYCwgdGhlIGAkZXZlbnRgIHZhcmlhYmxlIHdpbGwgYmUgb2ZcbiAgICogdHlwZSBgYW55YC5cbiAgICovXG4gIGNoZWNrVHlwZU9mT3V0cHV0RXZlbnRzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGluZmVyIHRoZSB0eXBlIG9mIHRoZSBgJGV2ZW50YCB2YXJpYWJsZSBpbiBldmVudCBiaW5kaW5ncyBmb3IgYW5pbWF0aW9ucy5cbiAgICpcbiAgICogSWYgdGhpcyBpcyBgdHJ1ZWAsIHRoZSB0eXBlIG9mIGAkZXZlbnRgIHdpbGwgYmUgYEFuaW1hdGlvbkV2ZW50YCBmcm9tIGBAYW5ndWxhci9hbmltYXRpb25zYC5cbiAgICogSWYgc2V0IHRvIGBmYWxzZWAsIHRoZSBgJGV2ZW50YCB2YXJpYWJsZSB3aWxsIGJlIG9mIHR5cGUgYGFueWAuXG4gICAqL1xuICBjaGVja1R5cGVPZkFuaW1hdGlvbkV2ZW50czogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBpbmZlciB0aGUgdHlwZSBvZiB0aGUgYCRldmVudGAgdmFyaWFibGUgaW4gZXZlbnQgYmluZGluZ3MgdG8gRE9NIGV2ZW50cy5cbiAgICpcbiAgICogSWYgdGhpcyBpcyBgdHJ1ZWAsIHRoZSB0eXBlIG9mIGAkZXZlbnRgIHdpbGwgYmUgaW5mZXJyZWQgYmFzZWQgb24gVHlwZVNjcmlwdCdzXG4gICAqIGBIVE1MRWxlbWVudEV2ZW50TWFwYCwgd2l0aCBhIGZhbGxiYWNrIHRvIHRoZSBuYXRpdmUgYEV2ZW50YCB0eXBlLiBJZiBzZXQgdG8gYGZhbHNlYCwgdGhlXG4gICAqIGAkZXZlbnRgIHZhcmlhYmxlIHdpbGwgYmUgb2YgdHlwZSBgYW55YC5cbiAgICovXG4gIGNoZWNrVHlwZU9mRG9tRXZlbnRzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGluZmVyIHRoZSB0eXBlIG9mIGxvY2FsIHJlZmVyZW5jZXMgdG8gRE9NIGVsZW1lbnRzLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIGB0cnVlYCwgdGhlIHR5cGUgb2YgYSBgI3JlZmAgdmFyaWFibGUgb24gYSBET00gbm9kZSBpbiB0aGUgdGVtcGxhdGUgd2lsbCBiZVxuICAgKiBkZXRlcm1pbmVkIGJ5IHRoZSB0eXBlIG9mIGBkb2N1bWVudC5jcmVhdGVFbGVtZW50YCBmb3IgdGhlIGdpdmVuIERPTSBub2RlIHR5cGUuIElmIHNldCB0b1xuICAgKiBgZmFsc2VgLCB0aGUgdHlwZSBvZiBgcmVmYCBmb3IgRE9NIG5vZGVzIHdpbGwgYmUgYGFueWAuXG4gICAqL1xuICBjaGVja1R5cGVPZkRvbVJlZmVyZW5jZXM6IGJvb2xlYW47XG5cblxuICAvKipcbiAgICogV2hldGhlciB0byBpbmZlciB0aGUgdHlwZSBvZiBsb2NhbCByZWZlcmVuY2VzLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIGB0cnVlYCwgdGhlIHR5cGUgb2YgYSBgI3JlZmAgdmFyaWFibGUgdGhhdCBwb2ludHMgdG8gYSBkaXJlY3RpdmUgb3IgYFRlbXBsYXRlUmVmYCBpblxuICAgKiB0aGUgdGVtcGxhdGUgd2lsbCBiZSBpbmZlcnJlZCBjb3JyZWN0bHkuIElmIHNldCB0byBgZmFsc2VgLCB0aGUgdHlwZSBvZiBgcmVmYCBmb3Igd2lsbCBiZVxuICAgKiBgYW55YC5cbiAgICovXG4gIGNoZWNrVHlwZU9mTm9uRG9tUmVmZXJlbmNlczogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBpbmNsdWRlIHR5cGUgaW5mb3JtYXRpb24gZnJvbSBwaXBlcyBpbiB0aGUgdHlwZS1jaGVja2luZyBvcGVyYXRpb24uXG4gICAqXG4gICAqIElmIHRoaXMgaXMgYHRydWVgLCB0aGVuIHRoZSBwaXBlJ3MgdHlwZSBzaWduYXR1cmUgZm9yIGB0cmFuc2Zvcm0oKWAgd2lsbCBiZSB1c2VkIHRvIGNoZWNrIHRoZVxuICAgKiB1c2FnZSBvZiB0aGUgcGlwZS4gSWYgdGhpcyBpcyBgZmFsc2VgLCB0aGVuIHRoZSByZXN1bHQgb2YgYXBwbHlpbmcgYSBwaXBlIHdpbGwgYmUgYGFueWAsIGFuZFxuICAgKiB0aGUgdHlwZXMgb2YgdGhlIHBpcGUncyB2YWx1ZSBhbmQgYXJndW1lbnRzIHdpbGwgbm90IGJlIG1hdGNoZWQgYWdhaW5zdCB0aGUgYHRyYW5zZm9ybSgpYFxuICAgKiBtZXRob2QuXG4gICAqL1xuICBjaGVja1R5cGVPZlBpcGVzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIG5hcnJvdyB0aGUgdHlwZXMgb2YgdGVtcGxhdGUgY29udGV4dHMuXG4gICAqL1xuICBhcHBseVRlbXBsYXRlQ29udGV4dEd1YXJkczogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1c2UgYSBzdHJpY3QgdHlwZSBmb3IgbnVsbC1zYWZlIG5hdmlnYXRpb24gb3BlcmF0aW9ucy5cbiAgICpcbiAgICogSWYgdGhpcyBpcyBgZmFsc2VgLCB0aGVuIHRoZSByZXR1cm4gdHlwZSBvZiBgYT8uYmAgb3IgYGE/KClgIHdpbGwgYmUgYGFueWAuIElmIHNldCB0byBgdHJ1ZWAsXG4gICAqIHRoZW4gdGhlIHJldHVybiB0eXBlIG9mIGBhPy5iYCBmb3IgZXhhbXBsZSB3aWxsIGJlIHRoZSBzYW1lIGFzIHRoZSB0eXBlIG9mIHRoZSB0ZXJuYXJ5XG4gICAqIGV4cHJlc3Npb24gYGEgIT0gbnVsbCA/IGEuYiA6IGFgLlxuICAgKi9cbiAgc3RyaWN0U2FmZU5hdmlnYXRpb25UeXBlczogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBkZXNjZW5kIGludG8gdGVtcGxhdGUgYm9kaWVzIGFuZCBjaGVjayBhbnkgYmluZGluZ3MgdGhlcmUuXG4gICAqL1xuICBjaGVja1RlbXBsYXRlQm9kaWVzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNoZWNrIHJlc29sdmFibGUgcXVlcmllcy5cbiAgICpcbiAgICogVGhpcyBpcyBjdXJyZW50bHkgYW4gdW5zdXBwb3J0ZWQgZmVhdHVyZS5cbiAgICovXG4gIGNoZWNrUXVlcmllczogZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gdXNlIGFueSBnZW5lcmljIHR5cGVzIG9mIHRoZSBjb250ZXh0IGNvbXBvbmVudC5cbiAgICpcbiAgICogSWYgdGhpcyBpcyBgdHJ1ZWAsIHRoZW4gaWYgdGhlIGNvbnRleHQgY29tcG9uZW50IGhhcyBnZW5lcmljIHR5cGVzLCB0aG9zZSB3aWxsIGJlIG1pcnJvcmVkIGluXG4gICAqIHRoZSB0ZW1wbGF0ZSB0eXBlLWNoZWNraW5nIGNvbnRleHQuIElmIGBmYWxzZWAsIGFueSBnZW5lcmljIHR5cGUgcGFyYW1ldGVycyBvZiB0aGUgY29udGV4dFxuICAgKiBjb21wb25lbnQgd2lsbCBiZSBzZXQgdG8gYGFueWAgZHVyaW5nIHR5cGUtY2hlY2tpbmcuXG4gICAqL1xuICB1c2VDb250ZXh0R2VuZXJpY1R5cGU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGluZmVyIHR5cGVzIGZvciBvYmplY3QgYW5kIGFycmF5IGxpdGVyYWxzIGluIHRoZSB0ZW1wbGF0ZS5cbiAgICpcbiAgICogSWYgdGhpcyBpcyBgdHJ1ZWAsIHRoZW4gdGhlIHR5cGUgb2YgYW4gb2JqZWN0IG9yIGFuIGFycmF5IGxpdGVyYWwgaW4gdGhlIHRlbXBsYXRlIHdpbGwgYmUgdGhlXG4gICAqIHNhbWUgdHlwZSB0aGF0IFR5cGVTY3JpcHQgd291bGQgaW5mZXIgaWYgdGhlIGxpdGVyYWwgYXBwZWFyZWQgaW4gY29kZS4gSWYgYGZhbHNlYCwgdGhlbiBzdWNoXG4gICAqIGxpdGVyYWxzIGFyZSBjYXN0IHRvIGBhbnlgIHdoZW4gZGVjbGFyZWQuXG4gICAqL1xuICBzdHJpY3RMaXRlcmFsVHlwZXM6IGJvb2xlYW47XG59XG5cblxuZXhwb3J0IHR5cGUgVGVtcGxhdGVTb3VyY2VNYXBwaW5nID1cbiAgICBEaXJlY3RUZW1wbGF0ZVNvdXJjZU1hcHBpbmd8SW5kaXJlY3RUZW1wbGF0ZVNvdXJjZU1hcHBpbmd8RXh0ZXJuYWxUZW1wbGF0ZVNvdXJjZU1hcHBpbmc7XG5cbi8qKlxuICogQSBtYXBwaW5nIHRvIGFuIGlubGluZSB0ZW1wbGF0ZSBpbiBhIFRTIGZpbGUuXG4gKlxuICogYFBhcnNlU291cmNlU3BhbmBzIGZvciB0aGlzIHRlbXBsYXRlIHNob3VsZCBiZSBhY2N1cmF0ZSBmb3IgZGlyZWN0IHJlcG9ydGluZyBpbiBhIFRTIGVycm9yXG4gKiBtZXNzYWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERpcmVjdFRlbXBsYXRlU291cmNlTWFwcGluZyB7XG4gIHR5cGU6ICdkaXJlY3QnO1xuICBub2RlOiB0cy5TdHJpbmdMaXRlcmFsfHRzLk5vU3Vic3RpdHV0aW9uVGVtcGxhdGVMaXRlcmFsO1xufVxuXG4vKipcbiAqIEEgbWFwcGluZyB0byBhIHRlbXBsYXRlIHdoaWNoIGlzIHN0aWxsIGluIGEgVFMgZmlsZSwgYnV0IHdoZXJlIHRoZSBub2RlIHBvc2l0aW9ucyBpbiBhbnlcbiAqIGBQYXJzZVNvdXJjZVNwYW5gcyBhcmUgbm90IGFjY3VyYXRlIGZvciBvbmUgcmVhc29uIG9yIGFub3RoZXIuXG4gKlxuICogVGhpcyBjYW4gb2NjdXIgaWYgdGhlIHRlbXBsYXRlIGV4cHJlc3Npb24gd2FzIGludGVycG9sYXRlZCBpbiBhIHdheSB3aGVyZSB0aGUgY29tcGlsZXIgY291bGQgbm90XG4gKiBjb25zdHJ1Y3QgYSBjb250aWd1b3VzIG1hcHBpbmcgZm9yIHRoZSB0ZW1wbGF0ZSBzdHJpbmcuIFRoZSBgbm9kZWAgcmVmZXJzIHRvIHRoZSBgdGVtcGxhdGVgXG4gKiBleHByZXNzaW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEluZGlyZWN0VGVtcGxhdGVTb3VyY2VNYXBwaW5nIHtcbiAgdHlwZTogJ2luZGlyZWN0JztcbiAgY29tcG9uZW50Q2xhc3M6IENsYXNzRGVjbGFyYXRpb247XG4gIG5vZGU6IHRzLkV4cHJlc3Npb247XG4gIHRlbXBsYXRlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBtYXBwaW5nIHRvIGEgdGVtcGxhdGUgZGVjbGFyZWQgaW4gYW4gZXh0ZXJuYWwgSFRNTCBmaWxlLCB3aGVyZSBub2RlIHBvc2l0aW9ucyBpblxuICogYFBhcnNlU291cmNlU3BhbmBzIHJlcHJlc2VudCBhY2N1cmF0ZSBvZmZzZXRzIGludG8gdGhlIGV4dGVybmFsIGZpbGUuXG4gKlxuICogSW4gdGhpcyBjYXNlLCB0aGUgZ2l2ZW4gYG5vZGVgIHJlZmVycyB0byB0aGUgYHRlbXBsYXRlVXJsYCBleHByZXNzaW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVybmFsVGVtcGxhdGVTb3VyY2VNYXBwaW5nIHtcbiAgdHlwZTogJ2V4dGVybmFsJztcbiAgY29tcG9uZW50Q2xhc3M6IENsYXNzRGVjbGFyYXRpb247XG4gIG5vZGU6IHRzLkV4cHJlc3Npb247XG4gIHRlbXBsYXRlOiBzdHJpbmc7XG4gIHRlbXBsYXRlVXJsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQWJzdHJhY3RzIHRoZSBvcGVyYXRpb24gb2YgZGV0ZXJtaW5pbmcgd2hpY2ggc2hpbSBmaWxlIHdpbGwgaG9zdCBhIHBhcnRpY3VsYXIgY29tcG9uZW50J3NcbiAqIHRlbXBsYXRlIHR5cGUtY2hlY2tpbmcgY29kZS5cbiAqXG4gKiBEaWZmZXJlbnQgY29uc3VtZXJzIG9mIHRoZSB0eXBlIGNoZWNraW5nIGluZnJhc3RydWN0dXJlIG1heSBjaG9vc2UgZGlmZmVyZW50IGFwcHJvYWNoZXMgdG9cbiAqIG9wdGltaXplIGZvciB0aGVpciBzcGVjaWZpYyB1c2UgY2FzZSAoZm9yIGV4YW1wbGUsIHRoZSBjb21tYW5kLWxpbmUgY29tcGlsZXIgb3B0aW1pemVzIGZvclxuICogZWZmaWNpZW50IGB0cy5Qcm9ncmFtYCByZXVzZSBpbiB3YXRjaCBtb2RlKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnRUb1NoaW1NYXBwaW5nU3RyYXRlZ3kge1xuICAvKipcbiAgICogR2l2ZW4gYSBjb21wb25lbnQsIGRldGVybWluZSBhIHBhdGggdG8gdGhlIHNoaW0gZmlsZSBpbnRvIHdoaWNoIHRoYXQgY29tcG9uZW50J3MgdHlwZSBjaGVja2luZ1xuICAgKiBjb2RlIHdpbGwgYmUgZ2VuZXJhdGVkLlxuICAgKlxuICAgKiBBIG1ham9yIGNvbnN0cmFpbnQgaXMgdGhhdCBjb21wb25lbnRzIGluIGRpZmZlcmVudCBpbnB1dCBmaWxlcyBtdXN0IG5vdCBzaGFyZSB0aGUgc2FtZSBzaGltXG4gICAqIGZpbGUuIFRoZSBiZWhhdmlvciBvZiB0aGUgdGVtcGxhdGUgdHlwZS1jaGVja2luZyBzeXN0ZW0gaXMgdW5kZWZpbmVkIGlmIHRoaXMgaXMgdmlvbGF0ZWQuXG4gICAqL1xuICBzaGltUGF0aEZvckNvbXBvbmVudChub2RlOiB0cy5DbGFzc0RlY2xhcmF0aW9uKTogQWJzb2x1dGVGc1BhdGg7XG59XG5cbi8qKlxuICogU3RyYXRlZ3kgdXNlZCB0byBtYW5hZ2UgYSBgdHMuUHJvZ3JhbWAgd2hpY2ggY29udGFpbnMgdGVtcGxhdGUgdHlwZS1jaGVja2luZyBjb2RlIGFuZCB1cGRhdGUgaXRcbiAqIG92ZXIgdGltZS5cbiAqXG4gKiBUaGlzIGFic3RyYWN0aW9uIGFsbG93cyBib3RoIHRoZSBBbmd1bGFyIGNvbXBpbGVyIGl0c2VsZiBhcyB3ZWxsIGFzIHRoZSBsYW5ndWFnZSBzZXJ2aWNlIHRvXG4gKiBpbXBsZW1lbnQgZWZmaWNpZW50IHRlbXBsYXRlIHR5cGUtY2hlY2tpbmcgdXNpbmcgY29tbW9uIGluZnJhc3RydWN0dXJlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVDaGVja2luZ1Byb2dyYW1TdHJhdGVneSBleHRlbmRzIENvbXBvbmVudFRvU2hpbU1hcHBpbmdTdHJhdGVneSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgc3RyYXRlZ3kgc3VwcG9ydHMgbW9kaWZ5aW5nIHVzZXIgZmlsZXMgKGlubGluZSBtb2RpZmljYXRpb25zKSBpbiBhZGRpdGlvbiB0b1xuICAgKiBtb2RpZnlpbmcgdHlwZS1jaGVja2luZyBzaGltcy5cbiAgICovXG4gIHJlYWRvbmx5IHN1cHBvcnRzSW5saW5lT3BlcmF0aW9uczogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBwcm9ncmFtLCBjb250YWluaW5nIGFsbCB0aGUgdXBkYXRlcyBtYWRlIHRodXMgZmFyLlxuICAgKi9cbiAgZ2V0UHJvZ3JhbSgpOiB0cy5Qcm9ncmFtO1xuXG4gIC8qKlxuICAgKiBJbmNvcnBvcmF0ZSBhIHNldCBvZiBjaGFuZ2VzIHRvIGVpdGhlciBhdWdtZW50IG9yIGNvbXBsZXRlbHkgcmVwbGFjZSB0aGUgdHlwZS1jaGVja2luZyBjb2RlXG4gICAqIGluY2x1ZGVkIGluIHRoZSB0eXBlLWNoZWNraW5nIHByb2dyYW0uXG4gICAqL1xuICB1cGRhdGVGaWxlcyhjb250ZW50czogTWFwPEFic29sdXRlRnNQYXRoLCBzdHJpbmc+LCB1cGRhdGVNb2RlOiBVcGRhdGVNb2RlKTogdm9pZDtcbn1cblxuZXhwb3J0IGVudW0gVXBkYXRlTW9kZSB7XG4gIC8qKlxuICAgKiBBIGNvbXBsZXRlIHVwZGF0ZSBjcmVhdGVzIGEgY29tcGxldGVseSBuZXcgb3ZlcmxheSBvZiB0eXBlLWNoZWNraW5nIGNvZGUgb24gdG9wIG9mIHRoZSB1c2VyJ3NcbiAgICogb3JpZ2luYWwgcHJvZ3JhbSwgd2hpY2ggZG9lc24ndCBpbmNsdWRlIHR5cGUtY2hlY2tpbmcgY29kZSBmcm9tIHByZXZpb3VzIGNhbGxzIHRvXG4gICAqIGB1cGRhdGVGaWxlc2AuXG4gICAqL1xuICBDb21wbGV0ZSxcblxuICAvKipcbiAgICogQW4gaW5jcmVtZW50YWwgdXBkYXRlIGNoYW5nZXMgdGhlIGNvbnRlbnRzIG9mIHNvbWUgZmlsZXMgaW4gdGhlIHR5cGUtY2hlY2tpbmcgcHJvZ3JhbSB3aXRob3V0XG4gICAqIHJldmVydGluZyBhbnkgcHJpb3IgY2hhbmdlcy5cbiAgICovXG4gIEluY3JlbWVudGFsLFxufVxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ3RzYy90eXBlY2hlY2svYXBpL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFxVUgsSUFBWSxVQWFYO0lBYkQsV0FBWSxVQUFVO1FBQ3BCOzs7O1dBSUc7UUFDSCxtREFBUSxDQUFBO1FBRVI7OztXQUdHO1FBQ0gseURBQVcsQ0FBQTtJQUNiLENBQUMsRUFiVyxVQUFVLEdBQVYsa0JBQVUsS0FBVixrQkFBVSxRQWFyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0JvdW5kVGFyZ2V0LCBEaXJlY3RpdmVNZXRhLCBTY2hlbWFNZXRhZGF0YX0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXInO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7QWJzb2x1dGVGc1BhdGh9IGZyb20gJy4uLy4uL2ZpbGVfc3lzdGVtJztcbmltcG9ydCB7UmVmZXJlbmNlfSBmcm9tICcuLi8uLi9pbXBvcnRzJztcbmltcG9ydCB7Q2xhc3NQcm9wZXJ0eU1hcHBpbmcsIERpcmVjdGl2ZVR5cGVDaGVja01ldGF9IGZyb20gJy4uLy4uL21ldGFkYXRhJztcbmltcG9ydCB7Q2xhc3NEZWNsYXJhdGlvbn0gZnJvbSAnLi4vLi4vcmVmbGVjdGlvbic7XG5cblxuLyoqXG4gKiBFeHRlbnNpb24gb2YgYERpcmVjdGl2ZU1ldGFgIHRoYXQgaW5jbHVkZXMgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byB0eXBlLWNoZWNrIHRoZVxuICogdXNhZ2Ugb2YgYSBwYXJ0aWN1bGFyIGRpcmVjdGl2ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlQ2hlY2thYmxlRGlyZWN0aXZlTWV0YSBleHRlbmRzIERpcmVjdGl2ZU1ldGEsIERpcmVjdGl2ZVR5cGVDaGVja01ldGEge1xuICByZWY6IFJlZmVyZW5jZTxDbGFzc0RlY2xhcmF0aW9uPjtcbiAgcXVlcmllczogc3RyaW5nW107XG4gIGlucHV0czogQ2xhc3NQcm9wZXJ0eU1hcHBpbmc7XG4gIG91dHB1dHM6IENsYXNzUHJvcGVydHlNYXBwaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUZW1wbGF0ZUlkID0gc3RyaW5nJntfX2JyYW5kOiAnVGVtcGxhdGVJZCd9O1xuXG4vKipcbiAqIE1ldGFkYXRhIHJlcXVpcmVkIGluIGFkZGl0aW9uIHRvIGEgY29tcG9uZW50IGNsYXNzIGluIG9yZGVyIHRvIGdlbmVyYXRlIGEgdHlwZSBjaGVjayBibG9jayAoVENCKVxuICogZm9yIHRoYXQgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVDaGVja0Jsb2NrTWV0YWRhdGEge1xuICAvKipcbiAgICogQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGNsYXNzIHdoaWNoIGdhdmUgcmlzZSB0byB0aGlzIFRDQi5cbiAgICpcbiAgICogVGhpcyBjYW4gYmUgdXNlZCB0byBtYXAgZXJyb3JzIGJhY2sgdG8gdGhlIGB0cy5DbGFzc0RlY2xhcmF0aW9uYCBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIGlkOiBUZW1wbGF0ZUlkO1xuXG4gIC8qKlxuICAgKiBTZW1hbnRpYyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGVtcGxhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIGJvdW5kVGFyZ2V0OiBCb3VuZFRhcmdldDxUeXBlQ2hlY2thYmxlRGlyZWN0aXZlTWV0YT47XG5cbiAgLypcbiAgICogUGlwZXMgdXNlZCBpbiB0aGUgdGVtcGxhdGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHBpcGVzOiBNYXA8c3RyaW5nLCBSZWZlcmVuY2U8Q2xhc3NEZWNsYXJhdGlvbjx0cy5DbGFzc0RlY2xhcmF0aW9uPj4+O1xuXG4gIC8qKlxuICAgKiBTY2hlbWFzIHRoYXQgYXBwbHkgdG8gdGhpcyB0ZW1wbGF0ZS5cbiAgICovXG4gIHNjaGVtYXM6IFNjaGVtYU1ldGFkYXRhW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZUN0b3JNZXRhZGF0YSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcmVxdWVzdGVkIHR5cGUgY29uc3RydWN0b3IgZnVuY3Rpb24uXG4gICAqL1xuICBmbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byBnZW5lcmF0ZSBhIGJvZHkgZm9yIHRoZSBmdW5jdGlvbiBvciBub3QuXG4gICAqL1xuICBib2R5OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbnB1dCwgb3V0cHV0LCBhbmQgcXVlcnkgZmllbGQgbmFtZXMgaW4gdGhlIHR5cGUgd2hpY2ggc2hvdWxkIGJlIGluY2x1ZGVkIGFzIGNvbnN0cnVjdG9yIGlucHV0LlxuICAgKi9cbiAgZmllbGRzOiB7aW5wdXRzOiBzdHJpbmdbXTsgb3V0cHV0czogc3RyaW5nW107IHF1ZXJpZXM6IHN0cmluZ1tdO307XG5cbiAgLyoqXG4gICAqIGBTZXRgIG9mIGZpZWxkIG5hbWVzIHdoaWNoIGhhdmUgdHlwZSBjb2VyY2lvbiBlbmFibGVkLlxuICAgKi9cbiAgY29lcmNlZElucHV0RmllbGRzOiBTZXQ8c3RyaW5nPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlQ2hlY2tpbmdDb25maWcge1xuICAvKipcbiAgICogV2hldGhlciB0byBjaGVjayB0aGUgbGVmdC1oYW5kIHNpZGUgdHlwZSBvZiBiaW5kaW5nIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBpZiB0aGlzIGlzIGBmYWxzZWAgdGhlbiB0aGUgZXhwcmVzc2lvbiBgW2lucHV0XT1cImV4cHJcImAgd2lsbCBoYXZlIGBleHByYCB0eXBlLVxuICAgKiBjaGVja2VkLCBidXQgbm90IHRoZSBhc3NpZ25tZW50IG9mIHRoZSByZXN1bHRpbmcgdHlwZSB0byB0aGUgYGlucHV0YCBwcm9wZXJ0eSBvZiB3aGljaGV2ZXJcbiAgICogZGlyZWN0aXZlIG9yIGNvbXBvbmVudCBpcyByZWNlaXZpbmcgdGhlIGJpbmRpbmcuIElmIHNldCB0byBgdHJ1ZWAsIGJvdGggc2lkZXMgb2YgdGhlIGFzc2lnbm1lbnRcbiAgICogYXJlIGNoZWNrZWQuXG4gICAqXG4gICAqIFRoaXMgZmxhZyBvbmx5IGFmZmVjdHMgYmluZGluZ3MgdG8gY29tcG9uZW50cy9kaXJlY3RpdmVzLiBCaW5kaW5ncyB0byB0aGUgRE9NIGFyZSBjaGVja2VkIGlmXG4gICAqIGBjaGVja1R5cGVPZkRvbUJpbmRpbmdzYCBpcyBzZXQuXG4gICAqL1xuICBjaGVja1R5cGVPZklucHV0QmluZGluZ3M6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaG9ub3IgdGhlIGFjY2VzcyBtb2RpZmllcnMgb24gaW5wdXQgYmluZGluZ3MgZm9yIHRoZSBjb21wb25lbnQvZGlyZWN0aXZlLlxuICAgKlxuICAgKiBJZiBhIHRlbXBsYXRlIGJpbmRpbmcgYXR0ZW1wdHMgdG8gYXNzaWduIHRvIGFuIGlucHV0IHRoYXQgaXMgcHJpdmF0ZS9wcm90ZWN0ZWQvcmVhZG9ubHksXG4gICAqIHRoaXMgd2lsbCBwcm9kdWNlIGVycm9ycyB3aGVuIGVuYWJsZWQgYnV0IHdpbGwgbm90IHdoZW4gZGlzYWJsZWQuXG4gICAqL1xuICBob25vckFjY2Vzc01vZGlmaWVyc0ZvcklucHV0QmluZGluZ3M6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gdXNlIHN0cmljdCBudWxsIHR5cGVzIGZvciBpbnB1dCBiaW5kaW5ncyBmb3IgZGlyZWN0aXZlcy5cbiAgICpcbiAgICogSWYgdGhpcyBpcyBgdHJ1ZWAsIGFwcGxpY2F0aW9ucyB0aGF0IGFyZSBjb21waWxlZCB3aXRoIFR5cGVTY3JpcHQncyBgc3RyaWN0TnVsbENoZWNrc2AgZW5hYmxlZFxuICAgKiB3aWxsIHByb2R1Y2UgdHlwZSBlcnJvcnMgZm9yIGJpbmRpbmdzIHdoaWNoIGNhbiBldmFsdWF0ZSB0byBgdW5kZWZpbmVkYCBvciBgbnVsbGAgd2hlcmUgdGhlXG4gICAqIGlucHV0cydzIHR5cGUgZG9lcyBub3QgaW5jbHVkZSBgdW5kZWZpbmVkYCBvciBgbnVsbGAgaW4gaXRzIHR5cGUuIElmIHNldCB0byBgZmFsc2VgLCBhbGxcbiAgICogYmluZGluZyBleHByZXNzaW9ucyBhcmUgd3JhcHBlZCBpbiBhIG5vbi1udWxsIGFzc2VydGlvbiBvcGVyYXRvciB0byBlZmZlY3RpdmVseSBkaXNhYmxlIHN0cmljdFxuICAgKiBudWxsIGNoZWNrcy4gVGhpcyBtYXkgYmUgcGFydGljdWxhcmx5IHVzZWZ1bCB3aGVuIHRoZSBkaXJlY3RpdmUgaXMgZnJvbSBhIGxpYnJhcnkgdGhhdCBpcyBub3RcbiAgICogY29tcGlsZWQgd2l0aCBgc3RyaWN0TnVsbENoZWNrc2AgZW5hYmxlZC5cbiAgICpcbiAgICogSWYgYGNoZWNrVHlwZU9mSW5wdXRCaW5kaW5nc2AgaXMgc2V0IHRvIGBmYWxzZWAsIHRoaXMgZmxhZyBoYXMgbm8gZWZmZWN0LlxuICAgKi9cbiAgc3RyaWN0TnVsbElucHV0QmluZGluZ3M6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY2hlY2sgdGV4dCBhdHRyaWJ1dGVzIHRoYXQgaGFwcGVuIHRvIGJlIGNvbnN1bWVkIGJ5IGEgZGlyZWN0aXZlIG9yIGNvbXBvbmVudC5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGluIGEgdGVtcGxhdGUgY29udGFpbmluZyBgPGlucHV0IG1hdElucHV0IGRpc2FibGVkPmAgdGhlIGBkaXNhYmxlZGAgYXR0cmlidXRlIGVuZHNcbiAgICogdXAgYmVpbmcgY29uc3VtZWQgYXMgYW4gaW5wdXQgd2l0aCB0eXBlIGBib29sZWFuYCBieSB0aGUgYG1hdElucHV0YCBkaXJlY3RpdmUuIEF0IHJ1bnRpbWUsIHRoZVxuICAgKiBpbnB1dCB3aWxsIGJlIHNldCB0byB0aGUgYXR0cmlidXRlJ3Mgc3RyaW5nIHZhbHVlLCB3aGljaCBpcyBhbiBlbXB0eSBzdHJpbmcgZm9yIGF0dHJpYnV0ZXNcbiAgICogd2l0aG91dCBhIHZhbHVlLCBzbyB3aXRoIHRoaXMgZmxhZyBzZXQgdG8gYHRydWVgLCBhbiBlcnJvciB3b3VsZCBiZSByZXBvcnRlZC4gSWYgc2V0IHRvXG4gICAqIGBmYWxzZWAsIHRleHQgYXR0cmlidXRlcyB3aWxsIG5ldmVyIHJlcG9ydCBhbiBlcnJvci5cbiAgICpcbiAgICogTm90ZSB0aGF0IGlmIGBjaGVja1R5cGVPZklucHV0QmluZGluZ3NgIGlzIHNldCB0byBgZmFsc2VgLCB0aGlzIGZsYWcgaGFzIG5vIGVmZmVjdC5cbiAgICovXG4gIGNoZWNrVHlwZU9mQXR0cmlidXRlczogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBjaGVjayB0aGUgbGVmdC1oYW5kIHNpZGUgdHlwZSBvZiBiaW5kaW5nIG9wZXJhdGlvbnMgdG8gRE9NIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEFzIGBjaGVja1R5cGVPZkJpbmRpbmdzYCwgYnV0IG9ubHkgYXBwbGllcyB0byBiaW5kaW5ncyB0byBET00gcHJvcGVydGllcy5cbiAgICpcbiAgICogVGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIHVzZSBvZiB0aGUgYERvbVNjaGVtYUNoZWNrZXJgIHRvIHZhbGlkYXRlIHRoZSB0ZW1wbGF0ZSBhZ2FpbnN0IHRoZSBET01cbiAgICogc2NoZW1hLiBSYXRoZXIsIHRoaXMgZmxhZyBpcyBhbiBleHBlcmltZW50YWwsIG5vdCB5ZXQgY29tcGxldGUgZmVhdHVyZSB3aGljaCB1c2VzIHRoZVxuICAgKiBsaWIuZG9tLmQudHMgRE9NIHR5cGluZ3MgaW4gVHlwZVNjcmlwdCB0byB2YWxpZGF0ZSB0aGF0IERPTSBiaW5kaW5ncyBhcmUgb2YgdGhlIGNvcnJlY3QgdHlwZVxuICAgKiBmb3IgYXNzaWduYWJpbGl0eSB0byB0aGUgdW5kZXJseWluZyBET00gZWxlbWVudCBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgY2hlY2tUeXBlT2ZEb21CaW5kaW5nczogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBpbmZlciB0aGUgdHlwZSBvZiB0aGUgYCRldmVudGAgdmFyaWFibGUgaW4gZXZlbnQgYmluZGluZ3MgZm9yIGRpcmVjdGl2ZSBvdXRwdXRzIG9yXG4gICAqIGFuaW1hdGlvbiBldmVudHMuXG4gICAqXG4gICAqIElmIHRoaXMgaXMgYHRydWVgLCB0aGUgdHlwZSBvZiBgJGV2ZW50YCB3aWxsIGJlIGluZmVycmVkIGJhc2VkIG9uIHRoZSBnZW5lcmljIHR5cGUgb2ZcbiAgICogYEV2ZW50RW1pdHRlcmAvYFN1YmplY3RgIG9mIHRoZSBvdXRwdXQuIElmIHNldCB0byBgZmFsc2VgLCB0aGUgYCRldmVudGAgdmFyaWFibGUgd2lsbCBiZSBvZlxuICAgKiB0eXBlIGBhbnlgLlxuICAgKi9cbiAgY2hlY2tUeXBlT2ZPdXRwdXRFdmVudHM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaW5mZXIgdGhlIHR5cGUgb2YgdGhlIGAkZXZlbnRgIHZhcmlhYmxlIGluIGV2ZW50IGJpbmRpbmdzIGZvciBhbmltYXRpb25zLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIGB0cnVlYCwgdGhlIHR5cGUgb2YgYCRldmVudGAgd2lsbCBiZSBgQW5pbWF0aW9uRXZlbnRgIGZyb20gYEBhbmd1bGFyL2FuaW1hdGlvbnNgLlxuICAgKiBJZiBzZXQgdG8gYGZhbHNlYCwgdGhlIGAkZXZlbnRgIHZhcmlhYmxlIHdpbGwgYmUgb2YgdHlwZSBgYW55YC5cbiAgICovXG4gIGNoZWNrVHlwZU9mQW5pbWF0aW9uRXZlbnRzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGluZmVyIHRoZSB0eXBlIG9mIHRoZSBgJGV2ZW50YCB2YXJpYWJsZSBpbiBldmVudCBiaW5kaW5ncyB0byBET00gZXZlbnRzLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIGB0cnVlYCwgdGhlIHR5cGUgb2YgYCRldmVudGAgd2lsbCBiZSBpbmZlcnJlZCBiYXNlZCBvbiBUeXBlU2NyaXB0J3NcbiAgICogYEhUTUxFbGVtZW50RXZlbnRNYXBgLCB3aXRoIGEgZmFsbGJhY2sgdG8gdGhlIG5hdGl2ZSBgRXZlbnRgIHR5cGUuIElmIHNldCB0byBgZmFsc2VgLCB0aGVcbiAgICogYCRldmVudGAgdmFyaWFibGUgd2lsbCBiZSBvZiB0eXBlIGBhbnlgLlxuICAgKi9cbiAgY2hlY2tUeXBlT2ZEb21FdmVudHM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaW5mZXIgdGhlIHR5cGUgb2YgbG9jYWwgcmVmZXJlbmNlcyB0byBET00gZWxlbWVudHMuXG4gICAqXG4gICAqIElmIHRoaXMgaXMgYHRydWVgLCB0aGUgdHlwZSBvZiBhIGAjcmVmYCB2YXJpYWJsZSBvbiBhIERPTSBub2RlIGluIHRoZSB0ZW1wbGF0ZSB3aWxsIGJlXG4gICAqIGRldGVybWluZWQgYnkgdGhlIHR5cGUgb2YgYGRvY3VtZW50LmNyZWF0ZUVsZW1lbnRgIGZvciB0aGUgZ2l2ZW4gRE9NIG5vZGUgdHlwZS4gSWYgc2V0IHRvXG4gICAqIGBmYWxzZWAsIHRoZSB0eXBlIG9mIGByZWZgIGZvciBET00gbm9kZXMgd2lsbCBiZSBgYW55YC5cbiAgICovXG4gIGNoZWNrVHlwZU9mRG9tUmVmZXJlbmNlczogYm9vbGVhbjtcblxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGluZmVyIHRoZSB0eXBlIG9mIGxvY2FsIHJlZmVyZW5jZXMuXG4gICAqXG4gICAqIElmIHRoaXMgaXMgYHRydWVgLCB0aGUgdHlwZSBvZiBhIGAjcmVmYCB2YXJpYWJsZSB0aGF0IHBvaW50cyB0byBhIGRpcmVjdGl2ZSBvciBgVGVtcGxhdGVSZWZgIGluXG4gICAqIHRoZSB0ZW1wbGF0ZSB3aWxsIGJlIGluZmVycmVkIGNvcnJlY3RseS4gSWYgc2V0IHRvIGBmYWxzZWAsIHRoZSB0eXBlIG9mIGByZWZgIGZvciB3aWxsIGJlXG4gICAqIGBhbnlgLlxuICAgKi9cbiAgY2hlY2tUeXBlT2ZOb25Eb21SZWZlcmVuY2VzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGluY2x1ZGUgdHlwZSBpbmZvcm1hdGlvbiBmcm9tIHBpcGVzIGluIHRoZSB0eXBlLWNoZWNraW5nIG9wZXJhdGlvbi5cbiAgICpcbiAgICogSWYgdGhpcyBpcyBgdHJ1ZWAsIHRoZW4gdGhlIHBpcGUncyB0eXBlIHNpZ25hdHVyZSBmb3IgYHRyYW5zZm9ybSgpYCB3aWxsIGJlIHVzZWQgdG8gY2hlY2sgdGhlXG4gICAqIHVzYWdlIG9mIHRoZSBwaXBlLiBJZiB0aGlzIGlzIGBmYWxzZWAsIHRoZW4gdGhlIHJlc3VsdCBvZiBhcHBseWluZyBhIHBpcGUgd2lsbCBiZSBgYW55YCwgYW5kXG4gICAqIHRoZSB0eXBlcyBvZiB0aGUgcGlwZSdzIHZhbHVlIGFuZCBhcmd1bWVudHMgd2lsbCBub3QgYmUgbWF0Y2hlZCBhZ2FpbnN0IHRoZSBgdHJhbnNmb3JtKClgXG4gICAqIG1ldGhvZC5cbiAgICovXG4gIGNoZWNrVHlwZU9mUGlwZXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gbmFycm93IHRoZSB0eXBlcyBvZiB0ZW1wbGF0ZSBjb250ZXh0cy5cbiAgICovXG4gIGFwcGx5VGVtcGxhdGVDb250ZXh0R3VhcmRzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVzZSBhIHN0cmljdCB0eXBlIGZvciBudWxsLXNhZmUgbmF2aWdhdGlvbiBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIGBmYWxzZWAsIHRoZW4gdGhlIHJldHVybiB0eXBlIG9mIGBhPy5iYCBvciBgYT8oKWAgd2lsbCBiZSBgYW55YC4gSWYgc2V0IHRvIGB0cnVlYCxcbiAgICogdGhlbiB0aGUgcmV0dXJuIHR5cGUgb2YgYGE/LmJgIGZvciBleGFtcGxlIHdpbGwgYmUgdGhlIHNhbWUgYXMgdGhlIHR5cGUgb2YgdGhlIHRlcm5hcnlcbiAgICogZXhwcmVzc2lvbiBgYSAhPSBudWxsID8gYS5iIDogYWAuXG4gICAqL1xuICBzdHJpY3RTYWZlTmF2aWdhdGlvblR5cGVzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRlc2NlbmQgaW50byB0ZW1wbGF0ZSBib2RpZXMgYW5kIGNoZWNrIGFueSBiaW5kaW5ncyB0aGVyZS5cbiAgICovXG4gIGNoZWNrVGVtcGxhdGVCb2RpZXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY2hlY2sgcmVzb2x2YWJsZSBxdWVyaWVzLlxuICAgKlxuICAgKiBUaGlzIGlzIGN1cnJlbnRseSBhbiB1bnN1cHBvcnRlZCBmZWF0dXJlLlxuICAgKi9cbiAgY2hlY2tRdWVyaWVzOiBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1c2UgYW55IGdlbmVyaWMgdHlwZXMgb2YgdGhlIGNvbnRleHQgY29tcG9uZW50LlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIGB0cnVlYCwgdGhlbiBpZiB0aGUgY29udGV4dCBjb21wb25lbnQgaGFzIGdlbmVyaWMgdHlwZXMsIHRob3NlIHdpbGwgYmUgbWlycm9yZWQgaW5cbiAgICogdGhlIHRlbXBsYXRlIHR5cGUtY2hlY2tpbmcgY29udGV4dC4gSWYgYGZhbHNlYCwgYW55IGdlbmVyaWMgdHlwZSBwYXJhbWV0ZXJzIG9mIHRoZSBjb250ZXh0XG4gICAqIGNvbXBvbmVudCB3aWxsIGJlIHNldCB0byBgYW55YCBkdXJpbmcgdHlwZS1jaGVja2luZy5cbiAgICovXG4gIHVzZUNvbnRleHRHZW5lcmljVHlwZTogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gaW5mZXIgdHlwZXMgZm9yIG9iamVjdCBhbmQgYXJyYXkgbGl0ZXJhbHMgaW4gdGhlIHRlbXBsYXRlLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIGB0cnVlYCwgdGhlbiB0aGUgdHlwZSBvZiBhbiBvYmplY3Qgb3IgYW4gYXJyYXkgbGl0ZXJhbCBpbiB0aGUgdGVtcGxhdGUgd2lsbCBiZSB0aGVcbiAgICogc2FtZSB0eXBlIHRoYXQgVHlwZVNjcmlwdCB3b3VsZCBpbmZlciBpZiB0aGUgbGl0ZXJhbCBhcHBlYXJlZCBpbiBjb2RlLiBJZiBgZmFsc2VgLCB0aGVuIHN1Y2hcbiAgICogbGl0ZXJhbHMgYXJlIGNhc3QgdG8gYGFueWAgd2hlbiBkZWNsYXJlZC5cbiAgICovXG4gIHN0cmljdExpdGVyYWxUeXBlczogYm9vbGVhbjtcbn1cblxuXG5leHBvcnQgdHlwZSBUZW1wbGF0ZVNvdXJjZU1hcHBpbmcgPVxuICAgIERpcmVjdFRlbXBsYXRlU291cmNlTWFwcGluZ3xJbmRpcmVjdFRlbXBsYXRlU291cmNlTWFwcGluZ3xFeHRlcm5hbFRlbXBsYXRlU291cmNlTWFwcGluZztcblxuLyoqXG4gKiBBIG1hcHBpbmcgdG8gYW4gaW5saW5lIHRlbXBsYXRlIGluIGEgVFMgZmlsZS5cbiAqXG4gKiBgUGFyc2VTb3VyY2VTcGFuYHMgZm9yIHRoaXMgdGVtcGxhdGUgc2hvdWxkIGJlIGFjY3VyYXRlIGZvciBkaXJlY3QgcmVwb3J0aW5nIGluIGEgVFMgZXJyb3JcbiAqIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlyZWN0VGVtcGxhdGVTb3VyY2VNYXBwaW5nIHtcbiAgdHlwZTogJ2RpcmVjdCc7XG4gIG5vZGU6IHRzLlN0cmluZ0xpdGVyYWx8dHMuTm9TdWJzdGl0dXRpb25UZW1wbGF0ZUxpdGVyYWw7XG59XG5cbi8qKlxuICogQSBtYXBwaW5nIHRvIGEgdGVtcGxhdGUgd2hpY2ggaXMgc3RpbGwgaW4gYSBUUyBmaWxlLCBidXQgd2hlcmUgdGhlIG5vZGUgcG9zaXRpb25zIGluIGFueVxuICogYFBhcnNlU291cmNlU3BhbmBzIGFyZSBub3QgYWNjdXJhdGUgZm9yIG9uZSByZWFzb24gb3IgYW5vdGhlci5cbiAqXG4gKiBUaGlzIGNhbiBvY2N1ciBpZiB0aGUgdGVtcGxhdGUgZXhwcmVzc2lvbiB3YXMgaW50ZXJwb2xhdGVkIGluIGEgd2F5IHdoZXJlIHRoZSBjb21waWxlciBjb3VsZCBub3RcbiAqIGNvbnN0cnVjdCBhIGNvbnRpZ3VvdXMgbWFwcGluZyBmb3IgdGhlIHRlbXBsYXRlIHN0cmluZy4gVGhlIGBub2RlYCByZWZlcnMgdG8gdGhlIGB0ZW1wbGF0ZWBcbiAqIGV4cHJlc3Npb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5kaXJlY3RUZW1wbGF0ZVNvdXJjZU1hcHBpbmcge1xuICB0eXBlOiAnaW5kaXJlY3QnO1xuICBjb21wb25lbnRDbGFzczogQ2xhc3NEZWNsYXJhdGlvbjtcbiAgbm9kZTogdHMuRXhwcmVzc2lvbjtcbiAgdGVtcGxhdGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIG1hcHBpbmcgdG8gYSB0ZW1wbGF0ZSBkZWNsYXJlZCBpbiBhbiBleHRlcm5hbCBIVE1MIGZpbGUsIHdoZXJlIG5vZGUgcG9zaXRpb25zIGluXG4gKiBgUGFyc2VTb3VyY2VTcGFuYHMgcmVwcmVzZW50IGFjY3VyYXRlIG9mZnNldHMgaW50byB0aGUgZXh0ZXJuYWwgZmlsZS5cbiAqXG4gKiBJbiB0aGlzIGNhc2UsIHRoZSBnaXZlbiBgbm9kZWAgcmVmZXJzIHRvIHRoZSBgdGVtcGxhdGVVcmxgIGV4cHJlc3Npb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZXJuYWxUZW1wbGF0ZVNvdXJjZU1hcHBpbmcge1xuICB0eXBlOiAnZXh0ZXJuYWwnO1xuICBjb21wb25lbnRDbGFzczogQ2xhc3NEZWNsYXJhdGlvbjtcbiAgbm9kZTogdHMuRXhwcmVzc2lvbjtcbiAgdGVtcGxhdGU6IHN0cmluZztcbiAgdGVtcGxhdGVVcmw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBYnN0cmFjdHMgdGhlIG9wZXJhdGlvbiBvZiBkZXRlcm1pbmluZyB3aGljaCBzaGltIGZpbGUgd2lsbCBob3N0IGEgcGFydGljdWxhciBjb21wb25lbnQnc1xuICogdGVtcGxhdGUgdHlwZS1jaGVja2luZyBjb2RlLlxuICpcbiAqIERpZmZlcmVudCBjb25zdW1lcnMgb2YgdGhlIHR5cGUgY2hlY2tpbmcgaW5mcmFzdHJ1Y3R1cmUgbWF5IGNob29zZSBkaWZmZXJlbnQgYXBwcm9hY2hlcyB0b1xuICogb3B0aW1pemUgZm9yIHRoZWlyIHNwZWNpZmljIHVzZSBjYXNlIChmb3IgZXhhbXBsZSwgdGhlIGNvbW1hbmQtbGluZSBjb21waWxlciBvcHRpbWl6ZXMgZm9yXG4gKiBlZmZpY2llbnQgYHRzLlByb2dyYW1gIHJldXNlIGluIHdhdGNoIG1vZGUpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudFRvU2hpbU1hcHBpbmdTdHJhdGVneSB7XG4gIC8qKlxuICAgKiBHaXZlbiBhIGNvbXBvbmVudCwgZGV0ZXJtaW5lIGEgcGF0aCB0byB0aGUgc2hpbSBmaWxlIGludG8gd2hpY2ggdGhhdCBjb21wb25lbnQncyB0eXBlIGNoZWNraW5nXG4gICAqIGNvZGUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAqXG4gICAqIEEgbWFqb3IgY29uc3RyYWludCBpcyB0aGF0IGNvbXBvbmVudHMgaW4gZGlmZmVyZW50IGlucHV0IGZpbGVzIG11c3Qgbm90IHNoYXJlIHRoZSBzYW1lIHNoaW1cbiAgICogZmlsZS4gVGhlIGJlaGF2aW9yIG9mIHRoZSB0ZW1wbGF0ZSB0eXBlLWNoZWNraW5nIHN5c3RlbSBpcyB1bmRlZmluZWQgaWYgdGhpcyBpcyB2aW9sYXRlZC5cbiAgICovXG4gIHNoaW1QYXRoRm9yQ29tcG9uZW50KG5vZGU6IHRzLkNsYXNzRGVjbGFyYXRpb24pOiBBYnNvbHV0ZUZzUGF0aDtcbn1cblxuLyoqXG4gKiBTdHJhdGVneSB1c2VkIHRvIG1hbmFnZSBhIGB0cy5Qcm9ncmFtYCB3aGljaCBjb250YWlucyB0ZW1wbGF0ZSB0eXBlLWNoZWNraW5nIGNvZGUgYW5kIHVwZGF0ZSBpdFxuICogb3ZlciB0aW1lLlxuICpcbiAqIFRoaXMgYWJzdHJhY3Rpb24gYWxsb3dzIGJvdGggdGhlIEFuZ3VsYXIgY29tcGlsZXIgaXRzZWxmIGFzIHdlbGwgYXMgdGhlIGxhbmd1YWdlIHNlcnZpY2UgdG9cbiAqIGltcGxlbWVudCBlZmZpY2llbnQgdGVtcGxhdGUgdHlwZS1jaGVja2luZyB1c2luZyBjb21tb24gaW5mcmFzdHJ1Y3R1cmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZUNoZWNraW5nUHJvZ3JhbVN0cmF0ZWd5IGV4dGVuZHMgQ29tcG9uZW50VG9TaGltTWFwcGluZ1N0cmF0ZWd5IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBzdHJhdGVneSBzdXBwb3J0cyBtb2RpZnlpbmcgdXNlciBmaWxlcyAoaW5saW5lIG1vZGlmaWNhdGlvbnMpIGluIGFkZGl0aW9uIHRvXG4gICAqIG1vZGlmeWluZyB0eXBlLWNoZWNraW5nIHNoaW1zLlxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcG9ydHNJbmxpbmVPcGVyYXRpb25zOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhlIHByb2dyYW0sIGNvbnRhaW5pbmcgYWxsIHRoZSB1cGRhdGVzIG1hZGUgdGh1cyBmYXIuXG4gICAqL1xuICBnZXRQcm9ncmFtKCk6IHRzLlByb2dyYW07XG5cbiAgLyoqXG4gICAqIEluY29ycG9yYXRlIGEgc2V0IG9mIGNoYW5nZXMgdG8gZWl0aGVyIGF1Z21lbnQgb3IgY29tcGxldGVseSByZXBsYWNlIHRoZSB0eXBlLWNoZWNraW5nIGNvZGVcbiAgICogaW5jbHVkZWQgaW4gdGhlIHR5cGUtY2hlY2tpbmcgcHJvZ3JhbS5cbiAgICovXG4gIHVwZGF0ZUZpbGVzKGNvbnRlbnRzOiBNYXA8QWJzb2x1dGVGc1BhdGgsIHN0cmluZz4sIHVwZGF0ZU1vZGU6IFVwZGF0ZU1vZGUpOiB2b2lkO1xufVxuXG5leHBvcnQgZW51bSBVcGRhdGVNb2RlIHtcbiAgLyoqXG4gICAqIEEgY29tcGxldGUgdXBkYXRlIGNyZWF0ZXMgYSBjb21wbGV0ZWx5IG5ldyBvdmVybGF5IG9mIHR5cGUtY2hlY2tpbmcgY29kZSBvbiB0b3Agb2YgdGhlIHVzZXInc1xuICAgKiBvcmlnaW5hbCBwcm9ncmFtLCB3aGljaCBkb2Vzbid0IGluY2x1ZGUgdHlwZS1jaGVja2luZyBjb2RlIGZyb20gcHJldmlvdXMgY2FsbHMgdG9cbiAgICogYHVwZGF0ZUZpbGVzYC5cbiAgICovXG4gIENvbXBsZXRlLFxuXG4gIC8qKlxuICAgKiBBbiBpbmNyZW1lbnRhbCB1cGRhdGUgY2hhbmdlcyB0aGUgY29udGVudHMgb2Ygc29tZSBmaWxlcyBpbiB0aGUgdHlwZS1jaGVja2luZyBwcm9ncmFtIHdpdGhvdXRcbiAgICogcmV2ZXJ0aW5nIGFueSBwcmlvciBjaGFuZ2VzLlxuICAgKi9cbiAgSW5jcmVtZW50YWwsXG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ /// <amd-module name="@angular/compiler-cli/src/ngtsc/typecheck/diagnostics" />
9
+ export * from './src/diagnostic';
10
+ export * from './src/id';
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ (function (factory) {
9
+ if (typeof module === "object" && typeof module.exports === "object") {
10
+ var v = factory(require, exports);
11
+ if (v !== undefined) module.exports = v;
12
+ }
13
+ else if (typeof define === "function" && define.amd) {
14
+ define("@angular/compiler-cli/src/ngtsc/typecheck/diagnostics", ["require", "exports", "tslib", "@angular/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic", "@angular/compiler-cli/src/ngtsc/typecheck/diagnostics/src/id"], factory);
15
+ }
16
+ })(function (require, exports) {
17
+ "use strict";
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ var tslib_1 = require("tslib");
20
+ tslib_1.__exportStar(require("@angular/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic"), exports);
21
+ tslib_1.__exportStar(require("@angular/compiler-cli/src/ngtsc/typecheck/diagnostics/src/id"), exports);
22
+ });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL3R5cGVjaGVjay9kaWFnbm9zdGljcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFFSCwrR0FBaUM7SUFDakMsdUdBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vc3JjL2RpYWdub3N0aWMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvaWQnO1xuIl19
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ /// <amd-module name="@angular/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic" />
9
+ import { ParseSourceSpan } from '@angular/compiler';
10
+ import * as ts from 'typescript';
11
+ import { TemplateId, TemplateSourceMapping } from '../../api';
12
+ /**
13
+ * A `ts.Diagnostic` with additional information about the diagnostic related to template
14
+ * type-checking.
15
+ */
16
+ export interface TemplateDiagnostic extends ts.Diagnostic {
17
+ /**
18
+ * The component with the template that resulted in this diagnostic.
19
+ */
20
+ componentFile: ts.SourceFile;
21
+ /**
22
+ * The template id of the component that resulted in this diagnostic.
23
+ */
24
+ templateId: TemplateId;
25
+ }
26
+ /**
27
+ * Constructs a `ts.Diagnostic` for a given `ParseSourceSpan` within a template.
28
+ */
29
+ export declare function makeTemplateDiagnostic(templateId: TemplateId, mapping: TemplateSourceMapping, span: ParseSourceSpan, category: ts.DiagnosticCategory, code: number, messageText: string | ts.DiagnosticMessageChain, relatedMessage?: {
30
+ text: string;
31
+ span: ParseSourceSpan;
32
+ }): TemplateDiagnostic;
33
+ export declare function isTemplateDiagnostic(diagnostic: ts.Diagnostic): diagnostic is TemplateDiagnostic;
@@ -0,0 +1,114 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ (function (factory) {
9
+ if (typeof module === "object" && typeof module.exports === "object") {
10
+ var v = factory(require, exports);
11
+ if (v !== undefined) module.exports = v;
12
+ }
13
+ else if (typeof define === "function" && define.amd) {
14
+ define("@angular/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic", ["require", "exports", "typescript"], factory);
15
+ }
16
+ })(function (require, exports) {
17
+ "use strict";
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.isTemplateDiagnostic = exports.makeTemplateDiagnostic = void 0;
20
+ var ts = require("typescript");
21
+ /**
22
+ * Constructs a `ts.Diagnostic` for a given `ParseSourceSpan` within a template.
23
+ */
24
+ function makeTemplateDiagnostic(templateId, mapping, span, category, code, messageText, relatedMessage) {
25
+ if (mapping.type === 'direct') {
26
+ var relatedInformation = undefined;
27
+ if (relatedMessage !== undefined) {
28
+ relatedInformation = [{
29
+ category: ts.DiagnosticCategory.Message,
30
+ code: 0,
31
+ file: mapping.node.getSourceFile(),
32
+ start: relatedMessage.span.start.offset,
33
+ length: relatedMessage.span.end.offset - relatedMessage.span.start.offset,
34
+ messageText: relatedMessage.text,
35
+ }];
36
+ }
37
+ // For direct mappings, the error is shown inline as ngtsc was able to pinpoint a string
38
+ // constant within the `@Component` decorator for the template. This allows us to map the error
39
+ // directly into the bytes of the source file.
40
+ return {
41
+ source: 'ngtsc',
42
+ code: code,
43
+ category: category,
44
+ messageText: messageText,
45
+ file: mapping.node.getSourceFile(),
46
+ componentFile: mapping.node.getSourceFile(),
47
+ templateId: templateId,
48
+ start: span.start.offset,
49
+ length: span.end.offset - span.start.offset,
50
+ relatedInformation: relatedInformation,
51
+ };
52
+ }
53
+ else if (mapping.type === 'indirect' || mapping.type === 'external') {
54
+ // For indirect mappings (template was declared inline, but ngtsc couldn't map it directly
55
+ // to a string constant in the decorator), the component's file name is given with a suffix
56
+ // indicating it's not the TS file being displayed, but a template.
57
+ // For external temoplates, the HTML filename is used.
58
+ var componentSf = mapping.componentClass.getSourceFile();
59
+ var componentName = mapping.componentClass.name.text;
60
+ // TODO(alxhub): remove cast when TS in g3 supports this narrowing.
61
+ var fileName = mapping.type === 'indirect' ?
62
+ componentSf.fileName + " (" + componentName + " template)" :
63
+ mapping.templateUrl;
64
+ // TODO(alxhub): investigate creating a fake `ts.SourceFile` here instead of invoking the TS
65
+ // parser against the template (HTML is just really syntactically invalid TypeScript code ;).
66
+ // Also investigate caching the file to avoid running the parser multiple times.
67
+ var sf = ts.createSourceFile(fileName, mapping.template, ts.ScriptTarget.Latest, false, ts.ScriptKind.JSX);
68
+ var relatedInformation = [];
69
+ if (relatedMessage !== undefined) {
70
+ relatedInformation.push({
71
+ category: ts.DiagnosticCategory.Message,
72
+ code: 0,
73
+ file: sf,
74
+ start: relatedMessage.span.start.offset,
75
+ length: relatedMessage.span.end.offset - relatedMessage.span.start.offset,
76
+ messageText: relatedMessage.text,
77
+ });
78
+ }
79
+ relatedInformation.push({
80
+ category: ts.DiagnosticCategory.Message,
81
+ code: 0,
82
+ file: componentSf,
83
+ // mapping.node represents either the 'template' or 'templateUrl' expression. getStart()
84
+ // and getEnd() are used because they don't include surrounding whitespace.
85
+ start: mapping.node.getStart(),
86
+ length: mapping.node.getEnd() - mapping.node.getStart(),
87
+ messageText: "Error occurs in the template of component " + componentName + ".",
88
+ });
89
+ return {
90
+ source: 'ngtsc',
91
+ category: category,
92
+ code: code,
93
+ messageText: messageText,
94
+ file: sf,
95
+ componentFile: componentSf,
96
+ templateId: templateId,
97
+ start: span.start.offset,
98
+ length: span.end.offset - span.start.offset,
99
+ // Show a secondary message indicating the component whose template contains the error.
100
+ relatedInformation: relatedInformation,
101
+ };
102
+ }
103
+ else {
104
+ throw new Error("Unexpected source mapping type: " + mapping.type);
105
+ }
106
+ }
107
+ exports.makeTemplateDiagnostic = makeTemplateDiagnostic;
108
+ function isTemplateDiagnostic(diagnostic) {
109
+ return diagnostic.hasOwnProperty('componentFile') &&
110
+ ts.isSourceFile(diagnostic.componentFile);
111
+ }
112
+ exports.isTemplateDiagnostic = isTemplateDiagnostic;
113
+ });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ25vc3RpYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9zcmMvbmd0c2MvdHlwZWNoZWNrL2RpYWdub3N0aWNzL3NyYy9kaWFnbm9zdGljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7OztJQUdILCtCQUFpQztJQW9CakM7O09BRUc7SUFDSCxTQUFnQixzQkFBc0IsQ0FDbEMsVUFBc0IsRUFBRSxPQUE4QixFQUFFLElBQXFCLEVBQzdFLFFBQStCLEVBQUUsSUFBWSxFQUFFLFdBQTZDLEVBQzVGLGNBR0M7UUFDSCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksa0JBQWtCLEdBQWdELFNBQVMsQ0FBQztZQUNoRixJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7Z0JBQ2hDLGtCQUFrQixHQUFHLENBQUM7d0JBQ3BCLFFBQVEsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsT0FBTzt3QkFDdkMsSUFBSSxFQUFFLENBQUM7d0JBQ1AsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO3dCQUNsQyxLQUFLLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTt3QkFDdkMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO3dCQUN6RSxXQUFXLEVBQUUsY0FBYyxDQUFDLElBQUk7cUJBQ2pDLENBQUMsQ0FBQzthQUNKO1lBQ0Qsd0ZBQXdGO1lBQ3hGLCtGQUErRjtZQUMvRiw4Q0FBOEM7WUFDOUMsT0FBTztnQkFDTCxNQUFNLEVBQUUsT0FBTztnQkFDZixJQUFJLE1BQUE7Z0JBQ0osUUFBUSxVQUFBO2dCQUNSLFdBQVcsYUFBQTtnQkFDWCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ2xDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDM0MsVUFBVSxZQUFBO2dCQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07Z0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07Z0JBQzNDLGtCQUFrQixvQkFBQTthQUNuQixDQUFDO1NBQ0g7YUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssVUFBVSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO1lBQ3JFLDBGQUEwRjtZQUMxRiwyRkFBMkY7WUFDM0YsbUVBQW1FO1lBQ25FLHNEQUFzRDtZQUN0RCxJQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNELElBQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN2RCxtRUFBbUU7WUFDbkUsSUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQztnQkFDdkMsV0FBVyxDQUFDLFFBQVEsVUFBSyxhQUFhLGVBQVksQ0FBQyxDQUFDO2dCQUN0RCxPQUF5QyxDQUFDLFdBQVcsQ0FBQztZQUMzRCw0RkFBNEY7WUFDNUYsNkZBQTZGO1lBQzdGLGdGQUFnRjtZQUNoRixJQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQzFCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRWxGLElBQUksa0JBQWtCLEdBQXNDLEVBQUUsQ0FBQztZQUMvRCxJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7Z0JBQ2hDLGtCQUFrQixDQUFDLElBQUksQ0FBQztvQkFDdEIsUUFBUSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPO29CQUN2QyxJQUFJLEVBQUUsQ0FBQztvQkFDUCxJQUFJLEVBQUUsRUFBRTtvQkFDUixLQUFLLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtvQkFDdkMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO29CQUN6RSxXQUFXLEVBQUUsY0FBYyxDQUFDLElBQUk7aUJBQ2pDLENBQUMsQ0FBQzthQUNKO1lBRUQsa0JBQWtCLENBQUMsSUFBSSxDQUFDO2dCQUN0QixRQUFRLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLE9BQU87Z0JBQ3ZDLElBQUksRUFBRSxDQUFDO2dCQUNQLElBQUksRUFBRSxXQUFXO2dCQUNqQix3RkFBd0Y7Z0JBQ3hGLDJFQUEyRTtnQkFDM0UsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUM5QixNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDdkQsV0FBVyxFQUFFLCtDQUE2QyxhQUFhLE1BQUc7YUFDM0UsQ0FBQyxDQUFDO1lBRUgsT0FBTztnQkFDTCxNQUFNLEVBQUUsT0FBTztnQkFDZixRQUFRLFVBQUE7Z0JBQ1IsSUFBSSxNQUFBO2dCQUNKLFdBQVcsYUFBQTtnQkFDWCxJQUFJLEVBQUUsRUFBRTtnQkFDUixhQUFhLEVBQUUsV0FBVztnQkFDMUIsVUFBVSxZQUFBO2dCQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07Z0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07Z0JBQzNDLHVGQUF1RjtnQkFDdkYsa0JBQWtCLG9CQUFBO2FBQ25CLENBQUM7U0FDSDthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBb0MsT0FBMEIsQ0FBQyxJQUFNLENBQUMsQ0FBQztTQUN4RjtJQUNILENBQUM7SUExRkQsd0RBMEZDO0lBRUQsU0FBZ0Isb0JBQW9CLENBQUMsVUFBeUI7UUFDNUQsT0FBTyxVQUFVLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQztZQUM3QyxFQUFFLENBQUMsWUFBWSxDQUFFLFVBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUhELG9EQUdDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7UGFyc2VTb3VyY2VTcGFufSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtFeHRlcm5hbFRlbXBsYXRlU291cmNlTWFwcGluZywgVGVtcGxhdGVJZCwgVGVtcGxhdGVTb3VyY2VNYXBwaW5nfSBmcm9tICcuLi8uLi9hcGknO1xuXG4vKipcbiAqIEEgYHRzLkRpYWdub3N0aWNgIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGlhZ25vc3RpYyByZWxhdGVkIHRvIHRlbXBsYXRlXG4gKiB0eXBlLWNoZWNraW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBsYXRlRGlhZ25vc3RpYyBleHRlbmRzIHRzLkRpYWdub3N0aWMge1xuICAvKipcbiAgICogVGhlIGNvbXBvbmVudCB3aXRoIHRoZSB0ZW1wbGF0ZSB0aGF0IHJlc3VsdGVkIGluIHRoaXMgZGlhZ25vc3RpYy5cbiAgICovXG4gIGNvbXBvbmVudEZpbGU6IHRzLlNvdXJjZUZpbGU7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZW1wbGF0ZSBpZCBvZiB0aGUgY29tcG9uZW50IHRoYXQgcmVzdWx0ZWQgaW4gdGhpcyBkaWFnbm9zdGljLlxuICAgKi9cbiAgdGVtcGxhdGVJZDogVGVtcGxhdGVJZDtcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3RzIGEgYHRzLkRpYWdub3N0aWNgIGZvciBhIGdpdmVuIGBQYXJzZVNvdXJjZVNwYW5gIHdpdGhpbiBhIHRlbXBsYXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZVRlbXBsYXRlRGlhZ25vc3RpYyhcbiAgICB0ZW1wbGF0ZUlkOiBUZW1wbGF0ZUlkLCBtYXBwaW5nOiBUZW1wbGF0ZVNvdXJjZU1hcHBpbmcsIHNwYW46IFBhcnNlU291cmNlU3BhbixcbiAgICBjYXRlZ29yeTogdHMuRGlhZ25vc3RpY0NhdGVnb3J5LCBjb2RlOiBudW1iZXIsIG1lc3NhZ2VUZXh0OiBzdHJpbmd8dHMuRGlhZ25vc3RpY01lc3NhZ2VDaGFpbixcbiAgICByZWxhdGVkTWVzc2FnZT86IHtcbiAgICAgIHRleHQ6IHN0cmluZyxcbiAgICAgIHNwYW46IFBhcnNlU291cmNlU3BhbixcbiAgICB9KTogVGVtcGxhdGVEaWFnbm9zdGljIHtcbiAgaWYgKG1hcHBpbmcudHlwZSA9PT0gJ2RpcmVjdCcpIHtcbiAgICBsZXQgcmVsYXRlZEluZm9ybWF0aW9uOiB0cy5EaWFnbm9zdGljUmVsYXRlZEluZm9ybWF0aW9uW118dW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChyZWxhdGVkTWVzc2FnZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZWxhdGVkSW5mb3JtYXRpb24gPSBbe1xuICAgICAgICBjYXRlZ29yeTogdHMuRGlhZ25vc3RpY0NhdGVnb3J5Lk1lc3NhZ2UsXG4gICAgICAgIGNvZGU6IDAsXG4gICAgICAgIGZpbGU6IG1hcHBpbmcubm9kZS5nZXRTb3VyY2VGaWxlKCksXG4gICAgICAgIHN0YXJ0OiByZWxhdGVkTWVzc2FnZS5zcGFuLnN0YXJ0Lm9mZnNldCxcbiAgICAgICAgbGVuZ3RoOiByZWxhdGVkTWVzc2FnZS5zcGFuLmVuZC5vZmZzZXQgLSByZWxhdGVkTWVzc2FnZS5zcGFuLnN0YXJ0Lm9mZnNldCxcbiAgICAgICAgbWVzc2FnZVRleHQ6IHJlbGF0ZWRNZXNzYWdlLnRleHQsXG4gICAgICB9XTtcbiAgICB9XG4gICAgLy8gRm9yIGRpcmVjdCBtYXBwaW5ncywgdGhlIGVycm9yIGlzIHNob3duIGlubGluZSBhcyBuZ3RzYyB3YXMgYWJsZSB0byBwaW5wb2ludCBhIHN0cmluZ1xuICAgIC8vIGNvbnN0YW50IHdpdGhpbiB0aGUgYEBDb21wb25lbnRgIGRlY29yYXRvciBmb3IgdGhlIHRlbXBsYXRlLiBUaGlzIGFsbG93cyB1cyB0byBtYXAgdGhlIGVycm9yXG4gICAgLy8gZGlyZWN0bHkgaW50byB0aGUgYnl0ZXMgb2YgdGhlIHNvdXJjZSBmaWxlLlxuICAgIHJldHVybiB7XG4gICAgICBzb3VyY2U6ICduZ3RzYycsXG4gICAgICBjb2RlLFxuICAgICAgY2F0ZWdvcnksXG4gICAgICBtZXNzYWdlVGV4dCxcbiAgICAgIGZpbGU6IG1hcHBpbmcubm9kZS5nZXRTb3VyY2VGaWxlKCksXG4gICAgICBjb21wb25lbnRGaWxlOiBtYXBwaW5nLm5vZGUuZ2V0U291cmNlRmlsZSgpLFxuICAgICAgdGVtcGxhdGVJZCxcbiAgICAgIHN0YXJ0OiBzcGFuLnN0YXJ0Lm9mZnNldCxcbiAgICAgIGxlbmd0aDogc3Bhbi5lbmQub2Zmc2V0IC0gc3Bhbi5zdGFydC5vZmZzZXQsXG4gICAgICByZWxhdGVkSW5mb3JtYXRpb24sXG4gICAgfTtcbiAgfSBlbHNlIGlmIChtYXBwaW5nLnR5cGUgPT09ICdpbmRpcmVjdCcgfHwgbWFwcGluZy50eXBlID09PSAnZXh0ZXJuYWwnKSB7XG4gICAgLy8gRm9yIGluZGlyZWN0IG1hcHBpbmdzICh0ZW1wbGF0ZSB3YXMgZGVjbGFyZWQgaW5saW5lLCBidXQgbmd0c2MgY291bGRuJ3QgbWFwIGl0IGRpcmVjdGx5XG4gICAgLy8gdG8gYSBzdHJpbmcgY29uc3RhbnQgaW4gdGhlIGRlY29yYXRvciksIHRoZSBjb21wb25lbnQncyBmaWxlIG5hbWUgaXMgZ2l2ZW4gd2l0aCBhIHN1ZmZpeFxuICAgIC8vIGluZGljYXRpbmcgaXQncyBub3QgdGhlIFRTIGZpbGUgYmVpbmcgZGlzcGxheWVkLCBidXQgYSB0ZW1wbGF0ZS5cbiAgICAvLyBGb3IgZXh0ZXJuYWwgdGVtb3BsYXRlcywgdGhlIEhUTUwgZmlsZW5hbWUgaXMgdXNlZC5cbiAgICBjb25zdCBjb21wb25lbnRTZiA9IG1hcHBpbmcuY29tcG9uZW50Q2xhc3MuZ2V0U291cmNlRmlsZSgpO1xuICAgIGNvbnN0IGNvbXBvbmVudE5hbWUgPSBtYXBwaW5nLmNvbXBvbmVudENsYXNzLm5hbWUudGV4dDtcbiAgICAvLyBUT0RPKGFseGh1Yik6IHJlbW92ZSBjYXN0IHdoZW4gVFMgaW4gZzMgc3VwcG9ydHMgdGhpcyBuYXJyb3dpbmcuXG4gICAgY29uc3QgZmlsZU5hbWUgPSBtYXBwaW5nLnR5cGUgPT09ICdpbmRpcmVjdCcgP1xuICAgICAgICBgJHtjb21wb25lbnRTZi5maWxlTmFtZX0gKCR7Y29tcG9uZW50TmFtZX0gdGVtcGxhdGUpYCA6XG4gICAgICAgIChtYXBwaW5nIGFzIEV4dGVybmFsVGVtcGxhdGVTb3VyY2VNYXBwaW5nKS50ZW1wbGF0ZVVybDtcbiAgICAvLyBUT0RPKGFseGh1Yik6IGludmVzdGlnYXRlIGNyZWF0aW5nIGEgZmFrZSBgdHMuU291cmNlRmlsZWAgaGVyZSBpbnN0ZWFkIG9mIGludm9raW5nIHRoZSBUU1xuICAgIC8vIHBhcnNlciBhZ2FpbnN0IHRoZSB0ZW1wbGF0ZSAoSFRNTCBpcyBqdXN0IHJlYWxseSBzeW50YWN0aWNhbGx5IGludmFsaWQgVHlwZVNjcmlwdCBjb2RlIDspLlxuICAgIC8vIEFsc28gaW52ZXN0aWdhdGUgY2FjaGluZyB0aGUgZmlsZSB0byBhdm9pZCBydW5uaW5nIHRoZSBwYXJzZXIgbXVsdGlwbGUgdGltZXMuXG4gICAgY29uc3Qgc2YgPSB0cy5jcmVhdGVTb3VyY2VGaWxlKFxuICAgICAgICBmaWxlTmFtZSwgbWFwcGluZy50ZW1wbGF0ZSwgdHMuU2NyaXB0VGFyZ2V0LkxhdGVzdCwgZmFsc2UsIHRzLlNjcmlwdEtpbmQuSlNYKTtcblxuICAgIGxldCByZWxhdGVkSW5mb3JtYXRpb246IHRzLkRpYWdub3N0aWNSZWxhdGVkSW5mb3JtYXRpb25bXSA9IFtdO1xuICAgIGlmIChyZWxhdGVkTWVzc2FnZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZWxhdGVkSW5mb3JtYXRpb24ucHVzaCh7XG4gICAgICAgIGNhdGVnb3J5OiB0cy5EaWFnbm9zdGljQ2F0ZWdvcnkuTWVzc2FnZSxcbiAgICAgICAgY29kZTogMCxcbiAgICAgICAgZmlsZTogc2YsXG4gICAgICAgIHN0YXJ0OiByZWxhdGVkTWVzc2FnZS5zcGFuLnN0YXJ0Lm9mZnNldCxcbiAgICAgICAgbGVuZ3RoOiByZWxhdGVkTWVzc2FnZS5zcGFuLmVuZC5vZmZzZXQgLSByZWxhdGVkTWVzc2FnZS5zcGFuLnN0YXJ0Lm9mZnNldCxcbiAgICAgICAgbWVzc2FnZVRleHQ6IHJlbGF0ZWRNZXNzYWdlLnRleHQsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZWxhdGVkSW5mb3JtYXRpb24ucHVzaCh7XG4gICAgICBjYXRlZ29yeTogdHMuRGlhZ25vc3RpY0NhdGVnb3J5Lk1lc3NhZ2UsXG4gICAgICBjb2RlOiAwLFxuICAgICAgZmlsZTogY29tcG9uZW50U2YsXG4gICAgICAvLyBtYXBwaW5nLm5vZGUgcmVwcmVzZW50cyBlaXRoZXIgdGhlICd0ZW1wbGF0ZScgb3IgJ3RlbXBsYXRlVXJsJyBleHByZXNzaW9uLiBnZXRTdGFydCgpXG4gICAgICAvLyBhbmQgZ2V0RW5kKCkgYXJlIHVzZWQgYmVjYXVzZSB0aGV5IGRvbid0IGluY2x1ZGUgc3Vycm91bmRpbmcgd2hpdGVzcGFjZS5cbiAgICAgIHN0YXJ0OiBtYXBwaW5nLm5vZGUuZ2V0U3RhcnQoKSxcbiAgICAgIGxlbmd0aDogbWFwcGluZy5ub2RlLmdldEVuZCgpIC0gbWFwcGluZy5ub2RlLmdldFN0YXJ0KCksXG4gICAgICBtZXNzYWdlVGV4dDogYEVycm9yIG9jY3VycyBpbiB0aGUgdGVtcGxhdGUgb2YgY29tcG9uZW50ICR7Y29tcG9uZW50TmFtZX0uYCxcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBzb3VyY2U6ICduZ3RzYycsXG4gICAgICBjYXRlZ29yeSxcbiAgICAgIGNvZGUsXG4gICAgICBtZXNzYWdlVGV4dCxcbiAgICAgIGZpbGU6IHNmLFxuICAgICAgY29tcG9uZW50RmlsZTogY29tcG9uZW50U2YsXG4gICAgICB0ZW1wbGF0ZUlkLFxuICAgICAgc3RhcnQ6IHNwYW4uc3RhcnQub2Zmc2V0LFxuICAgICAgbGVuZ3RoOiBzcGFuLmVuZC5vZmZzZXQgLSBzcGFuLnN0YXJ0Lm9mZnNldCxcbiAgICAgIC8vIFNob3cgYSBzZWNvbmRhcnkgbWVzc2FnZSBpbmRpY2F0aW5nIHRoZSBjb21wb25lbnQgd2hvc2UgdGVtcGxhdGUgY29udGFpbnMgdGhlIGVycm9yLlxuICAgICAgcmVsYXRlZEluZm9ybWF0aW9uLFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHNvdXJjZSBtYXBwaW5nIHR5cGU6ICR7KG1hcHBpbmcgYXMge3R5cGU6IHN0cmluZ30pLnR5cGV9YCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVGVtcGxhdGVEaWFnbm9zdGljKGRpYWdub3N0aWM6IHRzLkRpYWdub3N0aWMpOiBkaWFnbm9zdGljIGlzIFRlbXBsYXRlRGlhZ25vc3RpYyB7XG4gIHJldHVybiBkaWFnbm9zdGljLmhhc093blByb3BlcnR5KCdjb21wb25lbnRGaWxlJykgJiZcbiAgICAgIHRzLmlzU291cmNlRmlsZSgoZGlhZ25vc3RpYyBhcyBhbnkpLmNvbXBvbmVudEZpbGUpO1xufVxuIl19
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ /// <amd-module name="@angular/compiler-cli/src/ngtsc/typecheck/diagnostics/src/id" />
9
+ import * as ts from 'typescript';
10
+ import { TemplateId } from '../../api';
11
+ export declare function getTemplateId(clazz: ts.Declaration): TemplateId;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ (function (factory) {
9
+ if (typeof module === "object" && typeof module.exports === "object") {
10
+ var v = factory(require, exports);
11
+ if (v !== undefined) module.exports = v;
12
+ }
13
+ else if (typeof define === "function" && define.amd) {
14
+ define("@angular/compiler-cli/src/ngtsc/typecheck/diagnostics/src/id", ["require", "exports"], factory);
15
+ }
16
+ })(function (require, exports) {
17
+ "use strict";
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.getTemplateId = void 0;
20
+ var TEMPLATE_ID = Symbol('ngTemplateId');
21
+ var NEXT_TEMPLATE_ID = Symbol('ngNextTemplateId');
22
+ function getTemplateId(clazz) {
23
+ var node = clazz;
24
+ if (node[TEMPLATE_ID] === undefined) {
25
+ node[TEMPLATE_ID] = allocateTemplateId(node.getSourceFile());
26
+ }
27
+ return node[TEMPLATE_ID];
28
+ }
29
+ exports.getTemplateId = getTemplateId;
30
+ function allocateTemplateId(sf) {
31
+ if (sf[NEXT_TEMPLATE_ID] === undefined) {
32
+ sf[NEXT_TEMPLATE_ID] = 1;
33
+ }
34
+ return ("tcb" + sf[NEXT_TEMPLATE_ID]++);
35
+ }
36
+ });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL3R5cGVjaGVjay9kaWFnbm9zdGljcy9zcmMvaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7O0lBT0gsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzNDLElBQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFVcEQsU0FBZ0IsYUFBYSxDQUFDLEtBQXFCO1FBQ2pELElBQU0sSUFBSSxHQUFHLEtBQWdELENBQUM7UUFDOUQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztTQUM5RDtRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBRSxDQUFDO0lBQzVCLENBQUM7SUFORCxzQ0FNQztJQUVELFNBQVMsa0JBQWtCLENBQUMsRUFBNEM7UUFDdEUsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDdEMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxDQUFDLFFBQU0sRUFBRSxDQUFDLGdCQUFnQixDQUFFLEVBQUksQ0FBZSxDQUFDO0lBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7VGVtcGxhdGVJZH0gZnJvbSAnLi4vLi4vYXBpJztcblxuXG5jb25zdCBURU1QTEFURV9JRCA9IFN5bWJvbCgnbmdUZW1wbGF0ZUlkJyk7XG5jb25zdCBORVhUX1RFTVBMQVRFX0lEID0gU3ltYm9sKCduZ05leHRUZW1wbGF0ZUlkJyk7XG5cbmludGVyZmFjZSBIYXNUZW1wbGF0ZUlkIHtcbiAgW1RFTVBMQVRFX0lEXTogVGVtcGxhdGVJZDtcbn1cblxuaW50ZXJmYWNlIEhhc05leHRUZW1wbGF0ZUlkIHtcbiAgW05FWFRfVEVNUExBVEVfSURdOiBudW1iZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZW1wbGF0ZUlkKGNsYXp6OiB0cy5EZWNsYXJhdGlvbik6IFRlbXBsYXRlSWQge1xuICBjb25zdCBub2RlID0gY2xhenogYXMgdHMuRGVjbGFyYXRpb24gJiBQYXJ0aWFsPEhhc1RlbXBsYXRlSWQ+O1xuICBpZiAobm9kZVtURU1QTEFURV9JRF0gPT09IHVuZGVmaW5lZCkge1xuICAgIG5vZGVbVEVNUExBVEVfSURdID0gYWxsb2NhdGVUZW1wbGF0ZUlkKG5vZGUuZ2V0U291cmNlRmlsZSgpKTtcbiAgfVxuICByZXR1cm4gbm9kZVtURU1QTEFURV9JRF0hO1xufVxuXG5mdW5jdGlvbiBhbGxvY2F0ZVRlbXBsYXRlSWQoc2Y6IHRzLlNvdXJjZUZpbGUmUGFydGlhbDxIYXNOZXh0VGVtcGxhdGVJZD4pOiBUZW1wbGF0ZUlkIHtcbiAgaWYgKHNmW05FWFRfVEVNUExBVEVfSURdID09PSB1bmRlZmluZWQpIHtcbiAgICBzZltORVhUX1RFTVBMQVRFX0lEXSA9IDE7XG4gIH1cbiAgcmV0dXJuIChgdGNiJHtzZltORVhUX1RFTVBMQVRFX0lEXSErK31gKSBhcyBUZW1wbGF0ZUlkO1xufVxuIl19
@@ -9,7 +9,6 @@
9
9
  export { ReusedProgramStrategy } from './src/augmented_program';
10
10
  export { FileTypeCheckingData, TemplateTypeCheckerImpl } from './src/checker';
11
11
  export { TypeCheckContextImpl } from './src/context';
12
- export { isTemplateDiagnostic, TemplateDiagnostic } from './src/diagnostics';
13
12
  export { TypeCheckProgramHost } from './src/host';
14
13
  export { TypeCheckShimGenerator } from './src/shim';
15
14
  export { typeCheckFilePath } from './src/type_check_file';
@@ -11,20 +11,18 @@
11
11
  if (v !== undefined) module.exports = v;
12
12
  }
13
13
  else if (typeof define === "function" && define.amd) {
14
- define("@angular/compiler-cli/src/ngtsc/typecheck", ["require", "exports", "@angular/compiler-cli/src/ngtsc/typecheck/src/augmented_program", "@angular/compiler-cli/src/ngtsc/typecheck/src/checker", "@angular/compiler-cli/src/ngtsc/typecheck/src/context", "@angular/compiler-cli/src/ngtsc/typecheck/src/diagnostics", "@angular/compiler-cli/src/ngtsc/typecheck/src/host", "@angular/compiler-cli/src/ngtsc/typecheck/src/shim", "@angular/compiler-cli/src/ngtsc/typecheck/src/type_check_file"], factory);
14
+ define("@angular/compiler-cli/src/ngtsc/typecheck", ["require", "exports", "@angular/compiler-cli/src/ngtsc/typecheck/src/augmented_program", "@angular/compiler-cli/src/ngtsc/typecheck/src/checker", "@angular/compiler-cli/src/ngtsc/typecheck/src/context", "@angular/compiler-cli/src/ngtsc/typecheck/src/host", "@angular/compiler-cli/src/ngtsc/typecheck/src/shim", "@angular/compiler-cli/src/ngtsc/typecheck/src/type_check_file"], factory);
15
15
  }
16
16
  })(function (require, exports) {
17
17
  "use strict";
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.typeCheckFilePath = exports.TypeCheckShimGenerator = exports.TypeCheckProgramHost = exports.isTemplateDiagnostic = exports.TypeCheckContextImpl = exports.TemplateTypeCheckerImpl = exports.ReusedProgramStrategy = void 0;
19
+ exports.typeCheckFilePath = exports.TypeCheckShimGenerator = exports.TypeCheckProgramHost = exports.TypeCheckContextImpl = exports.TemplateTypeCheckerImpl = exports.ReusedProgramStrategy = void 0;
20
20
  var augmented_program_1 = require("@angular/compiler-cli/src/ngtsc/typecheck/src/augmented_program");
21
21
  Object.defineProperty(exports, "ReusedProgramStrategy", { enumerable: true, get: function () { return augmented_program_1.ReusedProgramStrategy; } });
22
22
  var checker_1 = require("@angular/compiler-cli/src/ngtsc/typecheck/src/checker");
23
23
  Object.defineProperty(exports, "TemplateTypeCheckerImpl", { enumerable: true, get: function () { return checker_1.TemplateTypeCheckerImpl; } });
24
24
  var context_1 = require("@angular/compiler-cli/src/ngtsc/typecheck/src/context");
25
25
  Object.defineProperty(exports, "TypeCheckContextImpl", { enumerable: true, get: function () { return context_1.TypeCheckContextImpl; } });
26
- var diagnostics_1 = require("@angular/compiler-cli/src/ngtsc/typecheck/src/diagnostics");
27
- Object.defineProperty(exports, "isTemplateDiagnostic", { enumerable: true, get: function () { return diagnostics_1.isTemplateDiagnostic; } });
28
26
  var host_1 = require("@angular/compiler-cli/src/ngtsc/typecheck/src/host");
29
27
  Object.defineProperty(exports, "TypeCheckProgramHost", { enumerable: true, get: function () { return host_1.TypeCheckProgramHost; } });
30
28
  var shim_1 = require("@angular/compiler-cli/src/ngtsc/typecheck/src/shim");
@@ -32,4 +30,4 @@
32
30
  var type_check_file_1 = require("@angular/compiler-cli/src/ngtsc/typecheck/src/type_check_file");
33
31
  Object.defineProperty(exports, "typeCheckFilePath", { enumerable: true, get: function () { return type_check_file_1.typeCheckFilePath; } });
34
32
  });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL3R5cGVjaGVjay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFFSCxxR0FBOEQ7SUFBdEQsMEhBQUEscUJBQXFCLE9BQUE7SUFDN0IsaUZBQTRFO0lBQTlDLGtIQUFBLHVCQUF1QixPQUFBO0lBQ3JELGlGQUFtRDtJQUEzQywrR0FBQSxvQkFBb0IsT0FBQTtJQUM1Qix5RkFBMkU7SUFBbkUsbUhBQUEsb0JBQW9CLE9BQUE7SUFDNUIsMkVBQWdEO0lBQXhDLDRHQUFBLG9CQUFvQixPQUFBO0lBQzVCLDJFQUFrRDtJQUExQyw4R0FBQSxzQkFBc0IsT0FBQTtJQUM5QixpR0FBd0Q7SUFBaEQsb0hBQUEsaUJBQWlCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0IHtSZXVzZWRQcm9ncmFtU3RyYXRlZ3l9IGZyb20gJy4vc3JjL2F1Z21lbnRlZF9wcm9ncmFtJztcbmV4cG9ydCB7RmlsZVR5cGVDaGVja2luZ0RhdGEsIFRlbXBsYXRlVHlwZUNoZWNrZXJJbXBsfSBmcm9tICcuL3NyYy9jaGVja2VyJztcbmV4cG9ydCB7VHlwZUNoZWNrQ29udGV4dEltcGx9IGZyb20gJy4vc3JjL2NvbnRleHQnO1xuZXhwb3J0IHtpc1RlbXBsYXRlRGlhZ25vc3RpYywgVGVtcGxhdGVEaWFnbm9zdGljfSBmcm9tICcuL3NyYy9kaWFnbm9zdGljcyc7XG5leHBvcnQge1R5cGVDaGVja1Byb2dyYW1Ib3N0fSBmcm9tICcuL3NyYy9ob3N0JztcbmV4cG9ydCB7VHlwZUNoZWNrU2hpbUdlbmVyYXRvcn0gZnJvbSAnLi9zcmMvc2hpbSc7XG5leHBvcnQge3R5cGVDaGVja0ZpbGVQYXRofSBmcm9tICcuL3NyYy90eXBlX2NoZWNrX2ZpbGUnO1xuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL3R5cGVjaGVjay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFFSCxxR0FBOEQ7SUFBdEQsMEhBQUEscUJBQXFCLE9BQUE7SUFDN0IsaUZBQTRFO0lBQTlDLGtIQUFBLHVCQUF1QixPQUFBO0lBQ3JELGlGQUFtRDtJQUEzQywrR0FBQSxvQkFBb0IsT0FBQTtJQUM1QiwyRUFBZ0Q7SUFBeEMsNEdBQUEsb0JBQW9CLE9BQUE7SUFDNUIsMkVBQWtEO0lBQTFDLDhHQUFBLHNCQUFzQixPQUFBO0lBQzlCLGlHQUF3RDtJQUFoRCxvSEFBQSxpQkFBaUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQge1JldXNlZFByb2dyYW1TdHJhdGVneX0gZnJvbSAnLi9zcmMvYXVnbWVudGVkX3Byb2dyYW0nO1xuZXhwb3J0IHtGaWxlVHlwZUNoZWNraW5nRGF0YSwgVGVtcGxhdGVUeXBlQ2hlY2tlckltcGx9IGZyb20gJy4vc3JjL2NoZWNrZXInO1xuZXhwb3J0IHtUeXBlQ2hlY2tDb250ZXh0SW1wbH0gZnJvbSAnLi9zcmMvY29udGV4dCc7XG5leHBvcnQge1R5cGVDaGVja1Byb2dyYW1Ib3N0fSBmcm9tICcuL3NyYy9ob3N0JztcbmV4cG9ydCB7VHlwZUNoZWNrU2hpbUdlbmVyYXRvcn0gZnJvbSAnLi9zcmMvc2hpbSc7XG5leHBvcnQge3R5cGVDaGVja0ZpbGVQYXRofSBmcm9tICcuL3NyYy90eXBlX2NoZWNrX2ZpbGUnO1xuIl19