@vcd/sdk 15.0.7 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/{esm2020 → esm2022}/client/client/api.result.service.mjs +4 -4
  2. package/esm2022/client/client/logging.interceptor.mjs +44 -0
  3. package/esm2022/client/client/request.headers.interceptor.mjs +100 -0
  4. package/esm2022/client/client/response.normalization.interceptor.mjs +59 -0
  5. package/esm2022/client/client/vcd.api.client.mjs +603 -0
  6. package/{esm2020 → esm2022}/client/client/vcd.http.client.mjs +6 -6
  7. package/esm2022/client/client/vcd.transfer.client.mjs +166 -0
  8. package/esm2022/client/query/filter.builder.mjs +195 -0
  9. package/esm2022/client/query/query.builder.mjs +79 -0
  10. package/esm2022/common/container-hooks.mjs +85 -0
  11. package/{esm2020 → esm2022}/main.mjs +7 -7
  12. package/{fesm2020 → fesm2022}/vcd-sdk.mjs +54 -54
  13. package/{fesm2020 → fesm2022}/vcd-sdk.mjs.map +1 -1
  14. package/open_source_license_vcd_ui_sdk_17.0.0_ga.txt +393 -0
  15. package/package.json +8 -14
  16. package/VMware-vcd_ui_sdk-15.0.7-ODP.tar.gz +0 -0
  17. package/esm2020/client/client/logging.interceptor.mjs +0 -44
  18. package/esm2020/client/client/request.headers.interceptor.mjs +0 -100
  19. package/esm2020/client/client/response.normalization.interceptor.mjs +0 -59
  20. package/esm2020/client/client/vcd.api.client.mjs +0 -603
  21. package/esm2020/client/client/vcd.transfer.client.mjs +0 -166
  22. package/esm2020/client/query/filter.builder.mjs +0 -195
  23. package/esm2020/client/query/query.builder.mjs +0 -79
  24. package/esm2020/common/container-hooks.mjs +0 -85
  25. package/fesm2015/vcd-sdk.mjs +0 -1505
  26. package/fesm2015/vcd-sdk.mjs.map +0 -1
  27. package/open_source_license_@vcdsdk_15.0.7_GA.txt +0 -22623
  28. /package/{esm2020 → esm2022}/client/client/constants.mjs +0 -0
  29. /package/{esm2020 → esm2022}/client/client/index.mjs +0 -0
  30. /package/{esm2020 → esm2022}/client/client/types.mjs +0 -0
  31. /package/{esm2020 → esm2022}/client/index.mjs +0 -0
  32. /package/{esm2020 → esm2022}/client/openapi.mjs +0 -0
  33. /package/{esm2020 → esm2022}/client/query/index.mjs +0 -0
  34. /package/{esm2020 → esm2022}/common/index.mjs +0 -0
  35. /package/{esm2020 → esm2022}/core/index.mjs +0 -0
  36. /package/{esm2020 → esm2022}/core/plugin.module.mjs +0 -0
  37. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  38. /package/{esm2020 → esm2022}/vcd-sdk.mjs +0 -0
@@ -1,85 +0,0 @@
1
- /**
2
- * This is the currently supported - albeit very minimal - public SDK.
3
- */
4
- import { InjectionToken } from '@angular/core';
5
- // Bind straight into the hooks provided by the container.
6
- if (!window.System || !window.System.registry || !window.System.registry.get) {
7
- throw new Error('SystemJS registry not found');
8
- }
9
- let containerHooks = window.System.registry.get('@vcd/common');
10
- if (!containerHooks) {
11
- containerHooks = window.System.registry.get('@vcd-ui/common');
12
- }
13
- if (!containerHooks) {
14
- throw new Error('VCD UI container hooks not present in SystemJS registry');
15
- }
16
- /**
17
- * Wire in as a string. Gives the root URL for API access (for example, the load balancer URL
18
- * or the single-cell URL).
19
- */
20
- export const API_ROOT_URL = containerHooks.API_ROOT_URL;
21
- /**
22
- * Wire in as a string. Gives the root URL for the legacy Flex application.
23
- */
24
- export const FLEX_APP_URL = containerHooks.API_ROOT_URL;
25
- /**
26
- * Wire in as a string. Gives the current scope of the VCD-UI. As of current, this will be
27
- * either 'tenant' for the tenant portal, or 'service-provider' for the service-provider portal.
28
- */
29
- export const SESSION_SCOPE = containerHooks.SESSION_SCOPE;
30
- /**
31
- * Wire in as a string. Gives the unique name (not the display name) of the current tenant
32
- * organization that the VCD-UI is being used for.
33
- */
34
- export const SESSION_ORGANIZATION = containerHooks.SESSION_ORGANIZATION;
35
- /**
36
- * Wire in as a string. Gives the UUID identifier of the current tenant
37
- * organization that the VCD-UI is being used for.
38
- */
39
- export const SESSION_ORG_ID = containerHooks.SESSION_ORG_ID ? containerHooks.SESSION_ORG_ID : '';
40
- /**
41
- * Wire in as a string. Gives the full root path for module assets (e.g. images, scripts, text files)
42
- *
43
- * ATTENTION!
44
- * Add || new InjectionToken to workaround the Angular security mechanics which prevent use of injection tokens
45
- * which potentially are not defiend. The same fix can be applied for the rest tokens if needed.
46
- */
47
- export const EXTENSION_ASSET_URL = containerHooks.EXTENSION_ASSET_URL || new InjectionToken('EXTENSION_ASSET_URL');
48
- /**
49
- * Wire in as a string. Gives the Angular 2 route that the module is registered under.
50
- */
51
- export const EXTENSION_ROUTE = containerHooks.EXTENSION_ROUTE;
52
- /**
53
- * Wire in as a boolean. True if running under the SDK, false if running in production.
54
- */
55
- export const SDK_MODE = containerHooks.SDK_MODE;
56
- export const ExtensionNavRegistrationAction = containerHooks.ExtensionNavRegistrationAction;
57
- export const AuthTokenHolderService = containerHooks.AuthTokenHolderService;
58
- /**
59
- * Every component referenced by an entity action extension point must inherit from this.
60
- */
61
- // tslint:disable-next-line:class-name
62
- export class _EntityActionExtensionComponent {
63
- }
64
- export const EntityActionExtensionComponent = containerHooks.EntityActionExtensionComponent;
65
- // tslint:disable-next-line:class-name
66
- export class _WizardExtensionComponent {
67
- }
68
- export const WizardExtensionComponent = containerHooks.WizardExtensionComponent;
69
- // tslint:disable-next-line:class-name
70
- export class _WizardExtensionWithValidationComponent extends _WizardExtensionComponent {
71
- }
72
- // tslint:disable-next-line:max-line-length
73
- export const WizardExtensionWithValidationComponent = containerHooks.WizardExtensionWithValidationComponent;
74
- /**
75
- * Every component-based Extension Point that is renderd in Cloud Director UI Entity Details
76
- * must extend that class to obtain context about the Entity.
77
- *
78
- * See comments of the methods of the abstract class for more information.
79
- */
80
- // tslint:disable-next-line:class-name
81
- export class _WizardExtensionWithContextComponent extends _WizardExtensionComponent {
82
- }
83
- // tslint:disable-next-line:max-line-length
84
- export const WizardExtensionWithContextComponent = containerHooks.WizardExtensionWithContextComponent;
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLWhvb2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmNkL3Nkay9zcmMvY29tbW9uL2NvbnRhaW5lci1ob29rcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHN0MsMERBQTBEO0FBQzFELElBQUksQ0FBRSxNQUFjLENBQUMsTUFBTSxJQUFJLENBQUUsTUFBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBRSxNQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7SUFDckcsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0NBQ2xEO0FBRUQsSUFBSSxjQUFjLEdBQVMsTUFBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzdFLElBQUksQ0FBQyxjQUFjLEVBQUU7SUFDakIsY0FBYyxHQUFJLE1BQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0NBQzFFO0FBRUQsSUFBSSxDQUFDLGNBQWMsRUFBRTtJQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7Q0FDOUU7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQTJCLGNBQWMsQ0FBQyxZQUFZLENBQUM7QUFFaEY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQTJCLGNBQWMsQ0FBQyxZQUFZLENBQUM7QUFFaEY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUEyQixjQUFjLENBQUMsYUFBYSxDQUFDO0FBRWxGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUEyQixjQUFjLENBQUMsb0JBQW9CLENBQUM7QUFFaEc7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUEyQixjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFFekg7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQTJCLGNBQWMsQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBRTNJOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUEyQixjQUFjLENBQUMsZUFBZSxDQUFDO0FBRXRGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUE0QixjQUFjLENBQUMsUUFBUSxDQUFDO0FBZ0N6RSxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBdUMsY0FBYyxDQUFDLDhCQUE4QixDQUFDO0FBaUJoSSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBb0IsY0FBYyxDQUFDLHNCQUFzQixDQUFDO0FBK0M3Rjs7R0FFRztBQUNILHNDQUFzQztBQUN0QyxNQUFNLE9BQWdCLCtCQUErQjtDQWlCcEQ7QUFDRCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBMkMsY0FBYyxDQUFDLDhCQUE4QixDQUFDO0FBRXBJLHNDQUFzQztBQUN0QyxNQUFNLE9BQWdCLHlCQUF5QjtDQVM5QztBQUVELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFxQyxjQUFjLENBQUMsd0JBQXdCLENBQUM7QUFNbEgsc0NBQXNDO0FBQ3RDLE1BQU0sT0FBZ0IsdUNBQWlELFNBQVEseUJBQWtDO0NBS2hIO0FBRUQsMkNBQTJDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFtRCxjQUFjLENBQUMsc0NBQXNDLENBQUM7QUFFNUo7Ozs7O0dBS0c7QUFDSCxzQ0FBc0M7QUFDdEMsTUFBTSxPQUFnQixvQ0FBOEMsU0FBUSx5QkFBa0M7Q0FRN0c7QUFFRCwyQ0FBMkM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQWdELGNBQWMsQ0FBQyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBpcyB0aGUgY3VycmVudGx5IHN1cHBvcnRlZCAtIGFsYmVpdCB2ZXJ5IG1pbmltYWwgLSBwdWJsaWMgU0RLLlxuICovXG5pbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbi8vIEJpbmQgc3RyYWlnaHQgaW50byB0aGUgaG9va3MgcHJvdmlkZWQgYnkgdGhlIGNvbnRhaW5lci5cbmlmICghKHdpbmRvdyBhcyBhbnkpLlN5c3RlbSB8fCAhKHdpbmRvdyBhcyBhbnkpLlN5c3RlbS5yZWdpc3RyeSB8fCAhKHdpbmRvdyBhcyBhbnkpLlN5c3RlbS5yZWdpc3RyeS5nZXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1N5c3RlbUpTIHJlZ2lzdHJ5IG5vdCBmb3VuZCcpO1xufVxuXG5sZXQgY29udGFpbmVySG9va3M6IGFueSA9ICh3aW5kb3cgYXMgYW55KS5TeXN0ZW0ucmVnaXN0cnkuZ2V0KCdAdmNkL2NvbW1vbicpO1xuaWYgKCFjb250YWluZXJIb29rcykge1xuICAgIGNvbnRhaW5lckhvb2tzID0gKHdpbmRvdyBhcyBhbnkpLlN5c3RlbS5yZWdpc3RyeS5nZXQoJ0B2Y2QtdWkvY29tbW9uJyk7XG59XG5cbmlmICghY29udGFpbmVySG9va3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZDRCBVSSBjb250YWluZXIgaG9va3Mgbm90IHByZXNlbnQgaW4gU3lzdGVtSlMgcmVnaXN0cnknKTtcbn1cblxuLyoqXG4gKiBXaXJlIGluIGFzIGEgc3RyaW5nLiAgR2l2ZXMgdGhlIHJvb3QgVVJMIGZvciBBUEkgYWNjZXNzIChmb3IgZXhhbXBsZSwgdGhlIGxvYWQgYmFsYW5jZXIgVVJMXG4gKiBvciB0aGUgc2luZ2xlLWNlbGwgVVJMKS5cbiAqL1xuZXhwb3J0IGNvbnN0IEFQSV9ST09UX1VSTDogSW5qZWN0aW9uVG9rZW48c3RyaW5nPiA9IGNvbnRhaW5lckhvb2tzLkFQSV9ST09UX1VSTDtcblxuLyoqXG4gKiBXaXJlIGluIGFzIGEgc3RyaW5nLiAgR2l2ZXMgdGhlIHJvb3QgVVJMIGZvciB0aGUgbGVnYWN5IEZsZXggYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBGTEVYX0FQUF9VUkw6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBjb250YWluZXJIb29rcy5BUElfUk9PVF9VUkw7XG5cbi8qKlxuICogV2lyZSBpbiBhcyBhIHN0cmluZy4gIEdpdmVzIHRoZSBjdXJyZW50IHNjb3BlIG9mIHRoZSBWQ0QtVUkuICBBcyBvZiBjdXJyZW50LCB0aGlzIHdpbGwgYmVcbiAqIGVpdGhlciAndGVuYW50JyBmb3IgdGhlIHRlbmFudCBwb3J0YWwsIG9yICdzZXJ2aWNlLXByb3ZpZGVyJyBmb3IgdGhlIHNlcnZpY2UtcHJvdmlkZXIgcG9ydGFsLlxuICovXG5leHBvcnQgY29uc3QgU0VTU0lPTl9TQ09QRTogSW5qZWN0aW9uVG9rZW48c3RyaW5nPiA9IGNvbnRhaW5lckhvb2tzLlNFU1NJT05fU0NPUEU7XG5cbi8qKlxuICogV2lyZSBpbiBhcyBhIHN0cmluZy4gIEdpdmVzIHRoZSB1bmlxdWUgbmFtZSAobm90IHRoZSBkaXNwbGF5IG5hbWUpIG9mIHRoZSBjdXJyZW50IHRlbmFudFxuICogb3JnYW5pemF0aW9uIHRoYXQgdGhlIFZDRC1VSSBpcyBiZWluZyB1c2VkIGZvci5cbiAqL1xuZXhwb3J0IGNvbnN0IFNFU1NJT05fT1JHQU5JWkFUSU9OOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+ID0gY29udGFpbmVySG9va3MuU0VTU0lPTl9PUkdBTklaQVRJT047XG5cbi8qKlxuICogV2lyZSBpbiBhcyBhIHN0cmluZy4gIEdpdmVzIHRoZSBVVUlEIGlkZW50aWZpZXIgb2YgdGhlIGN1cnJlbnQgdGVuYW50XG4gKiBvcmdhbml6YXRpb24gdGhhdCB0aGUgVkNELVVJIGlzIGJlaW5nIHVzZWQgZm9yLlxuICovXG5leHBvcnQgY29uc3QgU0VTU0lPTl9PUkdfSUQ6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBjb250YWluZXJIb29rcy5TRVNTSU9OX09SR19JRCA/IGNvbnRhaW5lckhvb2tzLlNFU1NJT05fT1JHX0lEIDogJyc7XG5cbi8qKlxuICogV2lyZSBpbiBhcyBhIHN0cmluZy4gIEdpdmVzIHRoZSBmdWxsIHJvb3QgcGF0aCBmb3IgbW9kdWxlIGFzc2V0cyAoZS5nLiBpbWFnZXMsIHNjcmlwdHMsIHRleHQgZmlsZXMpXG4gKlxuICogQVRURU5USU9OIVxuICogQWRkIHx8IG5ldyBJbmplY3Rpb25Ub2tlbiB0byB3b3JrYXJvdW5kIHRoZSBBbmd1bGFyIHNlY3VyaXR5IG1lY2hhbmljcyB3aGljaCBwcmV2ZW50IHVzZSBvZiBpbmplY3Rpb24gdG9rZW5zXG4gKiB3aGljaCBwb3RlbnRpYWxseSBhcmUgbm90IGRlZmllbmQuIFRoZSBzYW1lIGZpeCBjYW4gYmUgYXBwbGllZCBmb3IgdGhlIHJlc3QgdG9rZW5zIGlmIG5lZWRlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IEVYVEVOU0lPTl9BU1NFVF9VUkw6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBjb250YWluZXJIb29rcy5FWFRFTlNJT05fQVNTRVRfVVJMIHx8IG5ldyBJbmplY3Rpb25Ub2tlbignRVhURU5TSU9OX0FTU0VUX1VSTCcpO1xuXG4vKipcbiAqIFdpcmUgaW4gYXMgYSBzdHJpbmcuICBHaXZlcyB0aGUgQW5ndWxhciAyIHJvdXRlIHRoYXQgdGhlIG1vZHVsZSBpcyByZWdpc3RlcmVkIHVuZGVyLlxuICovXG5leHBvcnQgY29uc3QgRVhURU5TSU9OX1JPVVRFOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+ID0gY29udGFpbmVySG9va3MuRVhURU5TSU9OX1JPVVRFO1xuXG4vKipcbiAqIFdpcmUgaW4gYXMgYSBib29sZWFuLiAgVHJ1ZSBpZiBydW5uaW5nIHVuZGVyIHRoZSBTREssIGZhbHNlIGlmIHJ1bm5pbmcgaW4gcHJvZHVjdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IFNES19NT0RFOiBJbmplY3Rpb25Ub2tlbjxib29sZWFuPiA9IGNvbnRhaW5lckhvb2tzLlNES19NT0RFO1xuXG4vKipcbiAqIFBheWxvYWQgZm9yIHJlZ2lzdGVyaW5nIGEgbmF2aWdhdGlvbiBtZW51IGVudHJ5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbiB7XG4gICAgLyoqXG4gICAgICogVGhlIHJvdXRlciBwYXRoIHRvIG5hdmlnYXRlIHRvIHdoZW4gc2VsZWN0ZWQuXG4gICAgICovXG4gICAgcGF0aDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogaTE4IGtleSBmb3IgbmFtZSBvZiBleHRlbnNpb24sIHRvIGJlIHVzZWQgYXMgdGV4dCBmb3IgbGlua3NcbiAgICAgKi9cbiAgICBuYW1lQ29kZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogaTE4biBrZXkgZm9yIGRlc2NyaXB0aW9uIG9mIGV4dGVuc2lvbiwgdG8gYmUgdXNlZCBvbiBob3ZlciBmb3IgbGlua3NcbiAgICAgKi9cbiAgICBkZXNjcmlwdGlvbkNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEaXNwYXRjaCB0aGlzIHRvIHRoZSByZWR1eCBzdG9yZSB0byByZWdpc3RlciBhIG5hdmlnYXRpb24gbWVudS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHRlbnNpb25OYXZSZWdpc3RyYXRpb25BY3Rpb24ge1xuICAgIHBheWxvYWQ6IEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbjtcbiAgICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbkFjdGlvbkN0b3IgPSBuZXcocGF5bG9hZDogRXh0ZW5zaW9uTmF2UmVnaXN0cmF0aW9uKSA9PiBFeHRlbnNpb25OYXZSZWdpc3RyYXRpb25BY3Rpb247XG5cbmV4cG9ydCBjb25zdCBFeHRlbnNpb25OYXZSZWdpc3RyYXRpb25BY3Rpb246IEV4dGVuc2lvbk5hdlJlZ2lzdHJhdGlvbkFjdGlvbkN0b3IgPSBjb250YWluZXJIb29rcy5FeHRlbnNpb25OYXZSZWdpc3RyYXRpb25BY3Rpb247XG5cbi8qKlxuICogSW5qZWN0IHRoaXMgdG8gYWNjZXNzIHRoZSBhdXRoZW50aWNhdGlvbiB0b2tlbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRoVG9rZW5Ib2xkZXJTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgYXV0aGVudGljYXRpb24gdG9rZW4uXG4gICAgICovXG4gICAgdG9rZW46IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEpXVCB0b2tlblxuICAgICAqL1xuICAgIGp3dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IEF1dGhUb2tlbkhvbGRlclNlcnZpY2U6IHt0b2tlbjogc3RyaW5nfSA9IGNvbnRhaW5lckhvb2tzLkF1dGhUb2tlbkhvbGRlclNlcnZpY2U7XG5cbi8qKlxuICogVGhpcyByZXByZXNlbnRzIGEgbWVudSBpdGVtIHRoYXQgY2FuIGJlIGNsaWNrZWQgdG8gcGVyZm9ybSBhbiBhY3Rpb24gb24gYW4gZW50aXR5IChlLmcuIFZNKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51SXRlbSB7XG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBhIHVuaXF1ZSBVUk4gaWRlbnRpZnlpbmcgdGhlIGFjdGlvbi4gVGhpcyBpcyBzbyB0aGUgY29tcG9uZW50IGNhbiBiZSBub3RpZmllZCB3aGljaCBhY3Rpb24gd2FzIHJlcXVlc3RlZC5cbiAgICAgKi9cbiAgICB1cm46IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgdGhlIGxhYmVsIGZvciB0aGUgbWVudSBpdGVtLiBJdCBpcyBub3QgYXV0b21hdGljYWxseSB0cmFuc2xhdGVkLlxuICAgICAqL1xuICAgIHRleHQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgdGhlIGVuYWJsZWQgc3RhdGUgZm9yIHRoZSBtZW51IGl0ZW0uXG4gICAgICovXG4gICAgZW5hYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgdGhlIGJ1c3kgc3RhdGUgZm9yIHRoZSBtZW51IGl0ZW0uXG4gICAgICovXG4gICAgYnVzeTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGlzIHJlcHJlc2VudHMgYSBzdWItbWVudSB0aGF0IGNvbnRhaW5zIG90aGVyIHN1Yi1tZW51cyBvciBtZW51IGFjdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5QWN0aW9uRXh0ZW5zaW9uU3VibWVudSB7XG4gICAgLyoqXG4gICAgICogVGhpcyBpcyB0aGUgbGFiZWwgZm9yIHRoZSBzdWItbWVudS4gSXQgaXMgbm90IGF1dG9tYXRpY2FsbHkgdHJhbnNsYXRlZC5cbiAgICAgKi9cbiAgICB0ZXh0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIGFuIGFyYml0cmFyeSwgb3JkZXJlZCBsaXN0IG9mIEVudGl0eUFjdGlvbk1lbnVJdGVtLlxuICAgICAqL1xuICAgIGNoaWxkcmVuOiBFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51SXRlbVtdO1xufVxuXG4vKipcbiAqIFRoaXMgcmVwcmVzZW50cyBtZW51IGluZm9ybWF0aW9uIGZvciBhbiBlbnRpdHkgYWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51RW50cnkgPSBFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51SXRlbSB8IEVudGl0eUFjdGlvbkV4dGVuc2lvblN1Ym1lbnU7XG5cbi8qKlxuICogRXZlcnkgY29tcG9uZW50IHJlZmVyZW5jZWQgYnkgYW4gZW50aXR5IGFjdGlvbiBleHRlbnNpb24gcG9pbnQgbXVzdCBpbmhlcml0IGZyb20gdGhpcy5cbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNsYXNzLW5hbWVcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBfRW50aXR5QWN0aW9uRXh0ZW5zaW9uQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBUaGlzIHJldHVybnMgaXMgYW4gT2JzZXJ2YWJsZSB0aGF0IGRlZmluZXMgdGhlIG1lbnUgZW50cnkgZm9yIHRoaXMgY29tcG9uZW50LiBUaGlzIGlzIGFjdGl2ZWx5IGJvdW5kIC1cbiAgICAgKiB0aGUgY29tcG9uZW50IGlzIGFibGUgdG8gY2hhbmdlIGl0IGluIG9yZGVyIHRvIGhhdmUgdGhlIG1lbnUgY2hhbmdlIChmb3IgZXhhbXBsZSwgdG8gY2hhbmdlIGJ1c3lcbiAgICAgKiBvciBlbmFibGVkIHN0YXRlcykuXG4gICAgICovXG4gICAgYWJzdHJhY3QgZ2V0TWVudUVudHJ5KGVudGl0eVVybjogc3RyaW5nKTogT2JzZXJ2YWJsZTxFbnRpdHlBY3Rpb25FeHRlbnNpb25NZW51RW50cnk+O1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBmaWVsZCBpcyBhIG1ldGhvZCB0aGF0IGlzIGNhbGxlZCBpZiBhIG1lbnUgaXRlbSBpcyBjbGlja2VkIHdoaWxlIGVuYWJsZWQuIEl0IHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIG1lbnVcbiAgICAgKiBpdGVtJ3MgVVJOIGFuZCB0aGUgVVJOIG9mIHRoZSBlbnRpdHkgdGhhdCB0aGUgYWN0aW9uIGlzIGJlaW5nIGNhbGxlZCBmb3IgKGUuZy4gdGhlIFVSTiBvZiB0aGUgVk0gYmVpbmcgZWRpdGVkKS5cbiAgICAgKiBJdCBtdXN0IHJldHVybiBhIHNpbmdsZS1zaG90IChlLmcuIG9mLCBmcm9tUHJvbWlzZSBvciAuZmlyc3QpIE9ic2VydmFibGUgb24gY29tcGxldGlvbi4gVGhpcyBPYnNlcnZhYmxlIHJldHVybnNcbiAgICAgKiBhIHNpbmdsZSB2YWx1ZSwgcmVmcmVzaFJlcXVlc3RlZC4gSWYgdGhpcyBpcyB0cnVlLCB0aGUgZW50aXR5IGJlaW5nIGVkaXRlZCB3aWxsIGJlIGltbWVkaWF0ZWx5IHJlZnJlc2hlZC5cbiAgICAgKiBAcGFyYW0gbWVudUl0ZW1Vcm4gdGhlIFVSTiBvZiB0aGUgY2xpY2tlZCBtZW51IGl0ZW1cbiAgICAgKiBAcGFyYW0gZW50aXR5VXJuVGhlIFVSTiBvZiB0aGUgZW50aXR5IHRoYXQgdGhlIGFjdGlvbiBpcyBiZWluZyBjYWxsZWQgZm9yXG4gICAgICovXG4gICAgIGFic3RyYWN0IHBlcmZvcm1BY3Rpb24obWVudUl0ZW1Vcm46IHN0cmluZywgZW50aXR5VXJuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgcmVmcmVzaFJlcXVlc3RlZDogYm9vbGVhbiB9Pjtcbn1cbmV4cG9ydCBjb25zdCBFbnRpdHlBY3Rpb25FeHRlbnNpb25Db21wb25lbnQ6IHR5cGVvZiBfRW50aXR5QWN0aW9uRXh0ZW5zaW9uQ29tcG9uZW50ID0gY29udGFpbmVySG9va3MuRW50aXR5QWN0aW9uRXh0ZW5zaW9uQ29tcG9uZW50O1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y2xhc3MtbmFtZVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9XaXphcmRFeHRlbnNpb25Db21wb25lbnQ8UCwgUiwgRT4ge1xuICAgIC8qKlxuICAgICAqIERlZmluZSBtZXRob2Qgd2hpY2ggd2lsbCBiZSBleGVjdXRlZCBieSB0aGUgRXh0ZW5zaW9uIFBvaW50IE9yY2hlc3RyYXRvcixcbiAgICAgKiB3aGVuIGNlcnRhaW4gZXZlbnQgaXMgdHJpZ2dlcmVkLlxuICAgICAqIEBwYXJhbSBwYXlsb2FkIC0gdGhlIHBheWxvYWQgb2YgdGhlIHJlcXVlc3QgdHJpZ2dlcmVkIGJ5IHRoZSBDb3JlIFVJLlxuICAgICAqIEBwYXJhbSByZXNwb25zZSAtIHRoZSByZXNwb25zZSBmcm9tIHRoZSByZXF1ZXN0IHRyaWdnZXJlZCBieSB0aGUgQ29yZSBVSS5cbiAgICAgKiBAcGFyYW0gZXJyb3IgLSB0aGUgQ29yZSBVSSB3aWxsIHJlcHJvdCBhbnkgZXJyb3IgdGhhdCBtYXkgYXBwZWFyIGR1cmluZyBleGVjdXRpb24uXG4gICAgICovXG4gICAgYWJzdHJhY3QgcGVyZm9ybUFjdGlvbihwYXlsb2FkOiBQLCByZXNwb25zZTogUiwgZXJyb3I6IEUpOiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgV2l6YXJkRXh0ZW5zaW9uQ29tcG9uZW50OiB0eXBlb2YgX1dpemFyZEV4dGVuc2lvbkNvbXBvbmVudCA9IGNvbnRhaW5lckhvb2tzLldpemFyZEV4dGVuc2lvbkNvbXBvbmVudDtcblxuZXhwb3J0IGludGVyZmFjZSBXaXphcmRFeHRlbnNpb25TdGF0ZSB7XG4gICAgaXNWYWxpZDogYm9vbGVhbjtcbn1cblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNsYXNzLW5hbWVcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBfV2l6YXJkRXh0ZW5zaW9uV2l0aFZhbGlkYXRpb25Db21wb25lbnQ8UCwgUiwgRT4gZXh0ZW5kcyBfV2l6YXJkRXh0ZW5zaW9uQ29tcG9uZW50PFAsIFIsIEU+IHtcbiAgICAvKipcbiAgICAgKiBHZXQgZXh0ZW5zaW9uIHBvaW50IHN0YXRlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGdldFN0YXRlKCk6IE9ic2VydmFibGU8V2l6YXJkRXh0ZW5zaW9uU3RhdGU+O1xufVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bWF4LWxpbmUtbGVuZ3RoXG5leHBvcnQgY29uc3QgV2l6YXJkRXh0ZW5zaW9uV2l0aFZhbGlkYXRpb25Db21wb25lbnQ6IHR5cGVvZiBfV2l6YXJkRXh0ZW5zaW9uV2l0aFZhbGlkYXRpb25Db21wb25lbnQgPSBjb250YWluZXJIb29rcy5XaXphcmRFeHRlbnNpb25XaXRoVmFsaWRhdGlvbkNvbXBvbmVudDtcblxuLyoqXG4gKiBFdmVyeSBjb21wb25lbnQtYmFzZWQgRXh0ZW5zaW9uIFBvaW50IHRoYXQgaXMgcmVuZGVyZCBpbiBDbG91ZCBEaXJlY3RvciBVSSBFbnRpdHkgRGV0YWlsc1xuICogbXVzdCBleHRlbmQgdGhhdCBjbGFzcyB0byBvYnRhaW4gY29udGV4dCBhYm91dCB0aGUgRW50aXR5LlxuICogXG4gKiBTZWUgY29tbWVudHMgb2YgdGhlIG1ldGhvZHMgb2YgdGhlIGFic3RyYWN0IGNsYXNzIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICovXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y2xhc3MtbmFtZVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9XaXphcmRFeHRlbnNpb25XaXRoQ29udGV4dENvbXBvbmVudDxQLCBSLCBFPiBleHRlbmRzIF9XaXphcmRFeHRlbnNpb25Db21wb25lbnQ8UCwgUiwgRT4ge1xuICAgICAvKipcbiAgICAgKiBEZWZpbmUgbWV0aG9kIHdoaWNoIHdpbGwgYmUgZXhlY3V0ZWQgb24gaW5pdCBhbmQgaW5mb3JtYXRpb25cbiAgICAgKiBhYm91dCBjb250ZXh0IG9iamVjdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgRXh0ZW5zaW9uIFBvaW50LlxuICAgICAqIFxuICAgICAqIEBwYXJhbSBjb250ZXh0IHJlZmVyZW5jZSB0byB0aGUgY29udGV4dCBvYmplY3QuXG4gICAgICovXG4gICAgIGFic3RyYWN0IG9uQ29udGV4dChjb250ZXh0OiBzdHJpbmcpOiB2b2lkO1xufVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bWF4LWxpbmUtbGVuZ3RoXG5leHBvcnQgY29uc3QgV2l6YXJkRXh0ZW5zaW9uV2l0aENvbnRleHRDb21wb25lbnQ6IHR5cGVvZiBfV2l6YXJkRXh0ZW5zaW9uV2l0aENvbnRleHRDb21wb25lbnQgPSBjb250YWluZXJIb29rcy5XaXphcmRFeHRlbnNpb25XaXRoQ29udGV4dENvbXBvbmVudDtcbiJdfQ==